diff --git a/daemon/web-content/css/app.e914d2ee.css b/daemon/web-content/css/app.0f1e0b15.css similarity index 97% rename from daemon/web-content/css/app.e914d2ee.css rename to daemon/web-content/css/app.0f1e0b15.css index ad013406..60e856e9 100644 --- a/daemon/web-content/css/app.e914d2ee.css +++ b/daemon/web-content/css/app.0f1e0b15.css @@ -1 +1 @@ -[data-v-799f2278]{margin:0;padding:0}.container[data-v-799f2278]{display:flex;flex-direction:column;align-items:center;height:220px;width:200px;background-color:#353937}.title[data-v-799f2278]{width:100%;padding:10px 0;color:#fff;background-color:#3b413f;text-transform:uppercase;text-align:center}.scroll[data-v-4bf82814]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;margin-top:8px;margin-bottom:8px;padding:4px;box-sizing:border-box;width:100%;max-height:var(--7e7bc1ec);overflow-x:hidden;overflow-y:scroll}.scroll[data-v-4bf82814]::-webkit-scrollbar{height:6px;width:6px}.scroll[data-v-4bf82814]::-webkit-scrollbar-track{background-color:transparent}.scroll[data-v-4bf82814]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.wrapper[data-v-15d478d7]{display:flex;flex-direction:row}label[data-v-15d478d7]{display:block;box-sizing:border-box;width:calc(100% - 12px - var(--770f9a76));margin:auto 0 auto auto;background-color:var(--d3f367e8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--38aa3c1a);text-align:left;color:#fff}.right_side[data-v-15d478d7]{background-color:#3b413f;margin-right:auto;color:#fff}.right_side>[data-v-15d478d7-s]{color:#fff}.right_side.selected>[data-v-15d478d7-s]{color:#353937}.right_side.selected[data-v-15d478d7],label.selected[data-v-15d478d7]{background-color:#59b1b6;color:#353937}label[data-v-15d478d7]:not(.selected):focus-within{background-color:#49514e}label:not(.selected):hover+div[data-v-15d478d7],label[data-v-15d478d7]:not(.selected):hover{background-color:#49514e}label.disabled+div[data-v-15d478d7],label.disabled[data-v-15d478d7]{background-color:#383d3b;color:#959796}.context-menu[data-v-d3088ef8]{background-color:#252927;color:#fff;border:1px solid #6e7676;list-style:none;position:absolute;left:0;margin:0;padding:0;top:0;z-index:1000000}.context-menu .item[data-v-d3088ef8]{align-items:center;color:#fff;cursor:pointer;display:flex;padding:5px 15px}.context-menu .item[data-v-d3088ef8]:hover{background-color:#59b1b6!important;color:#fff}.context-menu .item[data-v-d3088ef8]:focus-within{background-color:#2d3230;color:#fff}.context-menu .item a[data-v-d3088ef8]:focus{outline:none}ul[data-v-d3088ef8]:first-child{margin-top:4px}ul[data-v-d3088ef8]:last-child{margin-bottom:4px}.list[data-v-bbcf45ca]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;box-sizing:border-box;width:100%}button[data-v-bbcf45ca]{background-color:transparent;border:0;padding:6px;margin:0;cursor:pointer}button[data-v-bbcf45ca]:focus{outline:none}[data-v-78b23cc5]{margin:0;padding:0}.container[data-v-78b23cc5]{display:flex;flex-direction:column;align-items:center;padding:8px var(--3d10d831) var(--3d10d831);background-color:#2d3230}.title[data-v-78b23cc5]{display:inline-block;width:calc(100% - var(--003ebe9a)*2);padding:16px 0 10px;margin-left:var(--003ebe9a);color:#fff;text-align:center;text-transform:uppercase}.content[data-v-78b23cc5]{display:flex;flex-direction:row;gap:6px;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.right[data-v-78b23cc5]{display:inline-block}.labelText[data-v-655a8462]{padding:10px 0;color:var(--4e4a6712);height:18px;font-size:10pt;text-transform:uppercase;text-align:center;font-stretch:condensed}.slider[data-v-68eec8f9]{background:linear-gradient(to right,var(--370af52c) 0,var(--370af52c) 50%,var(--7b3d63fa) 50%,var(--7b3d63fa) 100%);position:relative;border-radius:2px;height:3px;width:var(--43f25378);outline:none;transition:background .45s ease-in;-webkit-appearance:none;display:block;touch-action:none}input[type=range][data-v-68eec8f9]::-webkit-slider-thumb{width:16px;height:16px;border-radius:8px;background:var(--370af52c);-webkit-appearance:none}input[type=range][data-v-68eec8f9]::-moz-range-thumb{width:16px;height:16px;border-radius:7px;background:var(--370af52c);border:0}.rotation[data-v-68eec8f9]{transform:rotate(-90deg) translate(var(--8e2ce986));z-index:-1}.rotation-wrapper[data-v-68eec8f9]{height:var(--43f25378);width:90px}.sliderInput[data-v-309d2ca5]{position:relative}.sliderInput .suffix[data-v-309d2ca5]{position:absolute;left:0;top:0;color:var(--ff4513e2);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-sizing:border-box;text-align:center;padding:10px;width:100%}.sliderInput .suffix .filler[data-v-309d2ca5]{color:transparent}.sliderInput input[type=number][data-v-309d2ca5],.sliderInput input[type=text][data-v-309d2ca5]{font-family:LeagueMonoCondensed,sans-serif;background-color:var(--263a651d);color:var(--ff4513e2);padding:10px;box-sizing:border-box;text-align:center;width:100%;border:none;background-image:none;box-shadow:none;outline:none;-moz-appearance:textfield}.sliderInput input[type=number][data-v-309d2ca5]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sliderBox[data-v-3d12ab03]{width:90px;background-color:var(--060bb3e6)}#sliderBox[data-v-356eb5a3]{width:120px;background-color:#353937}.link[data-v-356eb5a3]{color:#fff;margin-top:5px;height:20px;line-height:20px;text-align:center}.centered[data-v-4ac8e0c2]{margin:auto;width:-moz-fit-content;width:fit-content;display:flex;flex-direction:row;gap:15px}.assignment[data-v-5a6d5e18]{display:flex;flex-direction:row;gap:5px}.button[data-v-5a6d5e18]{display:flex;flex-direction:row;text-align:left;padding:4px 6px;width:150px;height:34px;box-sizing:border-box;border:none;background-color:#3b413f;color:#fff;font-family:LeagueMonoCondensed,sans-serif}.button.highlight[data-v-5a6d5e18]{border:1px solid #59b1b6}.button .icon[data-v-5a6d5e18]{padding-right:6px;font-size:22px}.button .icon.faded[data-v-5a6d5e18]{color:#838584;box-sizing:border-box}.button .text[data-v-5a6d5e18]{padding-left:10px;padding-right:10px;width:96px;margin:auto;text-align:center;box-sizing:border-box}.box[data-v-5a6d5e18]{display:flex;background-color:#2a2d2c;flex-direction:row;padding:4px;border-radius:3px}.label[data-v-5a6d5e18]{color:#fff;padding:6px 16px;display:block;border-radius:3px}.selected[data-v-5a6d5e18]{color:#2a2d2c}.selected.MixA[data-v-5a6d5e18]{background-color:#59b1b6}.selected.MixB[data-v-5a6d5e18]{background-color:#cc7224}label[data-v-35c96192]{color:#fff}.tab{border-bottom:1px solid #59b1b6;text-align:left}.tab button{background-color:inherit;border:none;outline:none;cursor:pointer;padding:10px 20px;margin-bottom:-1px;width:150px;border-radius:5px 5px 0 0;color:#fff}.tab button:hover:not(.active){background-color:#2d3230}.tab button.active{border:1px solid #59b1b6;border-bottom:1px solid #252927;text-shadow:0 0 3px #59b1b6,0 0 5px #59b1b6}.tabs-details{border:1px solid #59b1b6;border-top:0;padding:0;margin:0;overflow:auto;vertical-align:middle}td[data-v-237530a4]{padding:0}div[data-v-237530a4]{text-align:center;font-size:18px;color:var(--3d5bbd7e);background-color:#3b413f;margin:0;position:relative;height:26px}div.disabled[data-v-237530a4],div.disabled[data-v-237530a4]:hover{background-color:#353b39}div svg[data-v-237530a4]{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;margin:auto;text-align:center}div[data-v-237530a4]:has(>input[type=checkbox]:focus){background-color:#49514e}div[data-v-237530a4]:hover{background-color:#49514e}.button[data-v-afeded80]{display:flex;flex-direction:row;padding:0;width:180px;height:26px;box-sizing:border-box;border:none;color:#fff;font-family:LeagueMonoCondensed,sans-serif}.button.highlight[data-v-afeded80]{border:1px solid #59b1b6}.button .icon[data-v-afeded80]{margin-left:5px;padding:2px 6px 2px 2px;font-size:20px}.button .icon.faded[data-v-afeded80]{color:#838584;box-sizing:border-box}.button .text[data-v-afeded80]{margin:auto;text-align:center;box-sizing:border-box;padding:6px}.button .highlight[data-v-afeded80]{margin:4px 5px 4px 4px;padding:3px 8px;border-radius:4px;color:#2a2d2c}.button .highlight.mixA[data-v-afeded80]{background-color:#59b1b6}.button .highlight.mixB[data-v-afeded80]{background-color:#cc7224}table[data-v-6dca3b08]{color:#fff;font-stretch:condensed;border-spacing:4px;border-collapse:separate}th[data-v-6dca3b08]{font-weight:400;padding:6px}thead th[data-v-6dca3b08]:not(.subHeader){background-color:#3b413f}thead .subHeader th[data-v-6dca3b08]{background-color:#353937;width:70px}tr th[data-v-6dca3b08]{background-color:#353937}.rotated[data-v-6dca3b08]{background-color:#3b413f;text-align:center;width:15px}.rotated span[data-v-6dca3b08]{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.hidden[data-v-6dca3b08]{background-color:transparent!important}.expander[data-v-086d4e0f]{flex-direction:column;flex-wrap:nowrap;color:#fff;vertical-align:middle;background-color:#3b413f;padding:15px;border:0;margin:0}.expander[data-v-086d4e0f]:hover{background-color:#49514e}.expando[data-v-2c0fc602]{display:flex;flex-direction:row}.rowContent[data-v-ea707ec6]{display:inline-flex;flex-direction:row;flex-wrap:nowrap}label[data-v-35cf325b]{color:#fff;font-size:10px;font-family:sans-serif}.reset[data-v-35cf325b]{border:0;margin:0 30px 0 0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;background-color:#3b413f}.reset[data-v-35cf325b]:hover{background-color:#535c59}.selectorList[data-v-31c48871]{background:transparent;height:calc(100% - 55px);overflow-y:scroll}.buttonHolder[data-v-31c48871]{margin-top:10px;box-sizing:border-box}.selectorList[data-v-31c48871]::-webkit-scrollbar{width:3px}.selectorList[data-v-31c48871]::-webkit-scrollbar-track{background-color:transparent}.selectorList[data-v-31c48871]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.button[data-v-30339110]{box-sizing:border-box;width:calc(100% - 16px);margin-left:8px;margin-right:8px;padding:var(--cb784eb2);text-align:left;color:#fff;cursor:default}.selected[data-v-30339110]{background-color:#2d3230;font-weight:700}.button[data-v-30339110]:first-child{margin-top:0}.button[data-v-30339110]:last-child{margin-bottom:0}.left_side[data-v-30339110]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - var(--038eaf79))}.modal-button[data-v-3d98c1d8]{background-color:#353937;color:#fff;padding:8px 30px;border:none;margin:8px;width:120px}.modal-button[data-v-3d98c1d8]:disabled{background-color:#2b2f2d}.modal-button[data-v-3d98c1d8]:not(:disabled):focus,.modal-button[data-v-3d98c1d8]:not(:disabled):hover{background-color:#737775}input[type=text][data-v-685e508a]{width:calc(100% - 10px);background-color:#2b2f2d;border:1px solid #3b413f;padding:5px;color:#fff}.modal-mask[data-v-67edad44]{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.2);display:table;transition:opacity .3s ease}.modal-wrapper[data-v-67edad44]{display:table-cell;vertical-align:middle}.modal-container[data-v-67edad44]{border:1px solid #000;width:var(--5b8d7e6d);margin:0 auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.33);transition:all .3s ease}.modal-header[data-v-67edad44]{text-transform:uppercase;font-family:LeagueMono,sans-serif;background-color:#3b413f;text-align:center;color:#fff;overflow:hidden}.modal-header div[data-v-67edad44]{padding:15px;float:left;display:block;clear:both}.modal-header button[data-v-67edad44]{padding:14px;float:right;cursor:pointer;background-color:transparent;color:#fff;border:0}.modal-body[data-v-67edad44]{background-color:#2d3230;color:#fff;padding:var(--560a5114)}.modal-footer[data-v-67edad44]{background-color:#2d3230;text-align:right;padding-right:10px;padding-bottom:10px}.modal-footer button[data-v-67edad44]{background-color:#353937;color:#fff;padding:8px 30px;border:none}.modal-footer button[data-v-67edad44]:hover{background-color:#737775}.buttonColumns[data-v-805d98da]{display:flex;flex-direction:row;height:35px;margin:10px 10px 0 10px}.actionButton[data-v-805d98da]{color:#a5a7a6;background-color:#353937;width:100%;margin-left:5px;margin-right:5px;text-align:center;line-height:40px}.actionButton.disabled[data-v-805d98da]:hover{background-color:#2b2f2d}.actionButton[data-v-805d98da]:first-child{margin-left:0}.actionButton[data-v-805d98da]:last-child{margin-right:0}.actionButton[data-v-805d98da]:hover{background-color:#49514e}.actionButton[data-v-805d98da]:disabled{background-color:#2b2f2d}.menu[data-v-805d98da]{padding-left:4px;padding-right:4px}.menu[data-v-805d98da]:hover{cursor:pointer}button[data-v-805d98da]{background-color:transparent;color:#fff;border:0;padding:0;margin:0}button[data-v-805d98da]:focus{background-color:#49514e;outline:none}.profile-border[data-v-23d8e2e6]{border:1px solid #59b1b6;width:240px}.title[data-v-23d8e2e6]{background-color:#2d3230;color:#fff;padding:20px;text-transform:uppercase;text-align:center}.openButton[data-v-23d8e2e6]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px;border:0;margin:0;background-color:transparent}.openButton[data-v-23d8e2e6]:hover{color:#fff}button.content[data-v-3c73aae0]{width:130px;height:170px;background:#252927;border:0;margin:0;padding:0}button .img-section[data-v-3c73aae0]{text-align:center;height:130px;font-size:80px;color:#8c8f8e;display:flex;justify-content:center;align-items:center;display:-webkit-flex;-webkit-align-items:center;-webkit-justify-content:center}button[data-v-3c73aae0]:hover{cursor:pointer}button:hover .img-section[data-v-3c73aae0]{color:#fff;background-color:#49514e}button .iconTitle[data-v-3c73aae0]{height:40px;line-height:40px;background-color:#353937;color:#fff;font-family:LeagueMonoCondensed,sans-serif;text-align:center}button:hover .iconTitle[data-v-3c73aae0]{background-color:#6e7170}[data-v-1577c4b6]{margin:0;padding:0}.container[data-v-1577c4b6]{display:flex;flex-direction:row;gap:15px;padding:40px;overflow-x:scroll;overflow-y:hidden}.container[data-v-1577c4b6]::-webkit-scrollbar{height:6px;width:6px}.container[data-v-1577c4b6]::-webkit-scrollbar-track{background-color:transparent}.container[data-v-1577c4b6]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.contentPadNoLeft[data-v-1577c4b6]{padding-left:0}.content[data-v-36f4d98c]:not(:first-child){margin-left:15px}.content[data-v-36f4d98c]{display:inline-flex;flex-direction:column;flex-wrap:nowrap;background-color:#2d3230;padding:20px}.contentTitle[data-v-36f4d98c]{color:#fff;margin-bottom:10px;text-transform:uppercase}.contentBody[data-v-36f4d98c]{display:inline-flex;flex-direction:row}.button[data-v-5ca998d7]{box-sizing:border-box;width:calc(100% - 16px);margin:8px;background-color:#3b413f;padding:var(--65ab5263);text-align:left;color:#fff;cursor:default}.button[data-v-5ca998d7]:hover:not(.active){background-color:#49514e}.button[data-v-5ca998d7]:first-child{margin-top:0}.button[data-v-5ca998d7]:last-child{margin-bottom:0}.left_side[data-v-5ca998d7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - var(--76eaeb35))}.active[data-v-5ca998d7]{background-color:#59b1b6;color:#353937}.disabled[data-v-5ca998d7]{background-color:#383d3b;color:#959796}button.openButton[data-v-9ed33290]{border:0;background-color:transparent;padding:0;margin:-4px}.openButton[data-v-9ed33290]{display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-9ed33290]:hover{color:#fff;cursor:pointer}.wrapper[data-v-c28daa12]{text-align:center;display:flex;justify-content:center;align-items:center}.buttonList[data-v-c28daa12]{height:220px;width:700px;margin:3px;background-color:#353937}.buttonList[data-v-c28daa12]:not(:last-child){margin-right:20px}.buttonHolder[data-v-c28daa12]{height:170px;width:700px;box-sizing:border-box;overflow-y:auto}.buttonHolder[data-v-c28daa12]::-webkit-scrollbar{width:3px}.buttonHolder[data-v-c28daa12]::-webkit-scrollbar-track{background-color:transparent}.buttonHolder[data-v-c28daa12]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.label[data-v-c28daa12]{width:680px;padding:10px;color:#fff;background-color:#3b413f;text-transform:uppercase;margin-bottom:8px}.no-device[data-v-c28daa12]{color:#fff}.buttons[data-v-70b58047]{display:flex;flex-direction:row;gap:15px}.openButton[data-v-c6b91898]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px;border:0;margin:0;background-color:transparent}.openButton[data-v-c6b91898]:hover{color:#fff}.openButton[data-v-766afc29]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px}.openButton[data-v-766afc29]:hover{color:#fff}button[data-v-9c3e5d78]{font-family:LeagueMonoCondensed,sans-serif;display:block;box-sizing:border-box;border:0;width:calc(100% - 12px);margin:auto;background-color:var(--96b96820);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--44fc8c8f);text-align:left;color:#fff}button[data-v-9c3e5d78]:focus{background-color:#49514e;outline:none}button[data-v-9c3e5d78]:not(.disabled):hover{background-color:#49514e}button.centered[data-v-9c3e5d78]{text-align:center}button.disabled[data-v-9c3e5d78]{background-color:#383d3b;color:#959796}.buttons[data-v-084fb062]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px}.openButton[data-v-54bef416]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px}.openButton[data-v-54bef416]:hover{color:#fff}button[data-v-90906b4e]{background-color:transparent;color:#fff;border:0;padding:0;margin:0}button[data-v-90906b4e]:focus{outline:none}.openButton[data-v-90906b4e]{border:0;background-color:transparent;padding:0;margin-left:5px;display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-90906b4e]:hover{color:#fff;cursor:pointer}[data-v-2c5807aa]{margin:0;padding:0}.spacer[data-v-2c5807aa]{height:14px}.controls[data-v-2c5807aa]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:35px;width:100%;background-color:#3b413f;color:#59b1b6}.colourPreview[data-v-2c5807aa]{height:100%;width:35px;background-color:var(--509898fb)}button[data-v-2c5807aa]{height:100%;width:35px;color:#fff;background-color:transparent;border:none;cursor:pointer}input[type=text][data-v-2c5807aa]{width:6em;color:#59b1b6;background-color:#3b413f;border:none;font-family:LeagueMonoCondensed,sans-serif;text-align:center;-moz-appearance:textfield}img[data-v-2c5807aa]{height:120px;width:120px;border-radius:50%}img[data-v-2c5807aa]:hover{cursor:none}.colourTarget[data-v-2c5807aa]{width:100%;text-align:center}input[type=checkbox][data-v-6622f41b]{opacity:0;width:0;border:0;height:0;margin:0}label[data-v-6622f41b]{display:block;box-sizing:border-box;width:calc(100% - 12px);margin:auto;background-color:#3b413f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--4fdea81c) var(--4fdea81c) var(--4fdea81c) calc(var(--4fdea81c) - 4px);text-align:left;color:#fff}label.selected[data-v-6622f41b]{background-color:#59b1b6;color:#353937}label[data-v-6622f41b]:not(.selected):focus-within{background-color:#49514e}label[data-v-6622f41b]:not(.selected):hover{background-color:#49514e}label.disabled[data-v-6622f41b]{background-color:#383d3b;color:#959796}input[type=text][data-v-368fca64]{font-family:LeagueMonoCondensed,sans-serif;background-color:#3b413f;color:#59b1b6;box-sizing:border-box;text-align:center;padding:10px;border:none;background-image:none;box-shadow:none;outline:none;-moz-appearance:textfield}button[data-v-368fca64]{border:0;background-color:transparent;padding:0;margin:-4px}button.applyToAll[data-v-368fca64]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button.applyToAll[data-v-368fca64]:hover{background-color:#535c59}.openButton[data-v-368fca64]{display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-368fca64]:hover{color:#fff;cursor:pointer}button[data-v-ba5c9fa4]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-ba5c9fa4]:hover{background-color:#535c59}button[data-v-2ce8bd60]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-2ce8bd60]:hover{background-color:#535c59}button[data-v-38842d38]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-38842d38]:hover{background-color:#535c59}button[data-v-16ae78bc]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-16ae78bc]:hover{background-color:#535c59}.title[data-v-37e34fe2]{margin-bottom:10px;margin-top:1px}.title.disabled[data-v-37e34fe2]{color:#818483}.modValue[data-v-37e34fe2]{margin-top:12px;margin-bottom:12px;color:#82cfd0}.modValue.disabled[data-v-37e34fe2]{color:#3c6061}.waterfall[data-v-37e34fe2]{cursor:pointer;display:inline-block;width:50%;font-size:40px}.waterfall.active[data-v-37e34fe2]{color:#59b1b6}.waterfall.active.disabled[data-v-37e34fe2]{cursor:auto;color:#427273}.waterfall[data-v-37e34fe2]:not(.active){color:#447475}.waterfall:not(.active).disabled[data-v-37e34fe2]{cursor:auto;color:#385352}.wf-button>button[data-v-37e34fe2]{border:none;width:100%;font-size:12px;background-color:#447475;color:#fff;font-family:LeagueMonoCondensed,sans-serif;padding:3px;cursor:pointer}.wf-button>button.active[data-v-37e34fe2]{background-color:#59b1b6}.wf-button>button[data-v-37e34fe2]:disabled{cursor:auto;background-color:#385352}.wf-button>button.active[data-v-37e34fe2]:disabled{cursor:auto;color:#427273}.sections>button[data-v-3106f994]:first-child{border-radius:5px 0 0 5px}.sections>button[data-v-3106f994]:last-child{border-radius:0 5px 5px 0}.sections[data-v-3106f994]{gap:2px}.button[data-v-3106f994]{min-width:100px;padding:6px 6px;width:-moz-fit-content;width:fit-content;margin-top:15px;color:#fff;background-color:#353937;border:none;cursor:pointer}.button[data-v-3106f994]:not(.active):hover{background-color:#49514e}.button.active[data-v-3106f994]{color:#2b2f2d;background-color:#59b1b6}.vertical_button[data-v-3c4eca05]{height:100%;width:30px;margin-left:6px;margin-right:6px;background-color:#3b413f;color:#fff;line-height:170px;padding-left:6px;padding-right:6px;border:0}.vertical_button[data-v-3c4eca05]:hover:not(:disabled){background-color:#49514e}.vertical_button[data-v-3c4eca05]:disabled{background-color:#2b2f2d}.drag_handle[data-v-3c4eca05]{position:absolute;height:100%;width:20px;background-color:#3b413f;color:#fff;line-height:170px;text-align:center;z-index:3}.drag_handle[data-v-3c4eca05]:not(.enabled){background-color:#2b2f2d}.drag_handle.left[data-v-3c4eca05]{left:var(--0d500520)}.drag_handle.right[data-v-3c4eca05]{left:var(--7030907e)}.drag_handle:hover.enabled[data-v-3c4eca05]{background-color:#49514e}.cover[data-v-3c4eca05]{position:absolute;background-color:rgba(45,50,48,.9);height:173px;z-index:3}.cover_left[data-v-3c4eca05]{left:0;width:var(--0d500520)}.cover_right[data-v-3c4eca05]{left:var(--25799128);width:var(--887ef9fe)}.waveform[data-v-3c4eca05]{margin-left:20px;margin-right:20px;color:#fff;height:173px;z-index:0;background-color:#252927}.content[data-v-3c4eca05]{height:100%;padding-top:6px;padding-bottom:6px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}button[data-v-c7dfae60]{border:0;background-color:transparent;padding:0;margin-left:5px}.openButton[data-v-c7dfae60]{display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-c7dfae60]:hover{color:#fff;cursor:pointer}.preview[data-v-57b3dd84]{height:408px}#GoXLR[data-v-57b3dd84]{width:100%;height:100%}#Logo[data-v-57b3dd84]{color:var(--6b5a746e)}@font-face{font-family:ropa-sans-regular;src:url(/fonts/RopaSans-Regular.6c9159d7.ttf) format("truetype");font-display:auto;font-style:normal;font-weight:400;font-stretch:normal}@keyframes sampler-sample-blink-animation-57b3dd84{0%,49%{color:var(--41b4fc64)}50%,to{color:var(--41b4fc26)}}@keyframes sampler-clear-blink-animation-57b3dd84{0%,49%{color:var(--7ebc8c06)}50%,to{color:var(--7ebc8bc8)}}@keyframes mute-blink-animation-57b3dd84{0%,49%{color:var(--6a2b6fd2)}50%,to{color:var(--3a4f3375)}}@keyframes fader1-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb5d9c)}50%,to{color:var(--74747156)}}@keyframes fader2-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb561a)}50%,to{color:var(--74747517)}}@keyframes fader3-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb4e98)}50%,to{color:var(--747478d8)}}@keyframes fader4-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb4716)}50%,to{color:var(--74747c99)}}.cough #Mute[data-v-57b3dd84]{color:var(--6a2b6fd2)}.cough #Mute.blink[data-v-57b3dd84]{animation:mute-blink-animation-57b3dd84 1s infinite}.cough #Bleep[data-v-57b3dd84]{color:var(--9eb8139a)}.selection[data-v-57b3dd84]{display:none}.effects .buttons #Megaphone[data-v-57b3dd84]{color:var(--1cf564a7)}.effects .buttons #Robot[data-v-57b3dd84]{color:var(--549e3067)}.effects .buttons #HardTune[data-v-57b3dd84]{color:var(--4b389738)}.effects .buttons #FX[data-v-57b3dd84]{color:var(--976c9fac)}.effects .presets #Preset1[data-v-57b3dd84]{color:var(--de22849c)}.effects .presets #Preset2[data-v-57b3dd84]{color:var(--de22845e)}.effects .presets #Preset3[data-v-57b3dd84]{color:var(--de228420)}.effects .presets #Preset4[data-v-57b3dd84]{color:var(--de2283e2)}.effects .presets #Preset5[data-v-57b3dd84]{color:var(--de2283a4)}.effects .presets #Preset6[data-v-57b3dd84]{color:var(--de228366)}.effects .encoders .reverb #Encoder[data-v-57b3dd84]{transform:var(--6c4c5b0a);color:var(--2060cde9)}.effects .encoders .reverb .level #Level1[data-v-57b3dd84]{color:var(--02a2e45e)}.effects .encoders .reverb .level #Level2[data-v-57b3dd84]{color:var(--02a2e47d)}.effects .encoders .reverb .level #Level3[data-v-57b3dd84]{color:var(--02a2e49c)}.effects .encoders .reverb .level #Level4[data-v-57b3dd84]{color:var(--02a2e4bb)}.effects .encoders .reverb .level #Level5[data-v-57b3dd84]{color:var(--02a2e4da)}.effects .encoders .reverb .level #Level6[data-v-57b3dd84]{color:var(--02a2e4f9)}.effects .encoders .reverb .level #Level7[data-v-57b3dd84]{color:var(--02a2e518)}.effects .encoders .reverb .level #Level8[data-v-57b3dd84]{color:var(--02a2e537)}.effects .encoders .reverb .level #Level9[data-v-57b3dd84]{color:var(--02a2e556)}.effects .encoders .reverb .level #Level10[data-v-57b3dd84]{color:var(--51b9a864)}.effects .encoders .reverb .level #Level11[data-v-57b3dd84]{color:var(--51b9a883)}.effects .encoders .reverb .level #Level12[data-v-57b3dd84]{color:var(--51b9a8a2)}.effects .encoders .reverb .level #Level13[data-v-57b3dd84]{color:var(--51b9a8c1)}.effects .encoders .pitch #Encoder[data-v-57b3dd84]{transform:var(--160524a3);color:var(--2a582137)}.effects .encoders .pitch .level #Level1[data-v-57b3dd84]{color:var(--634229cc)}.effects .encoders .pitch .level #Level2[data-v-57b3dd84]{color:var(--26fdbd0a)}.effects .encoders .pitch .level #Level3[data-v-57b3dd84]{color:var(--0aa357dc)}.effects .encoders .pitch .level #Level4[data-v-57b3dd84]{color:var(--28c58e3d)}.effects .encoders .pitch .level #Level5[data-v-57b3dd84]{color:var(--46e7c49e)}.effects .encoders .pitch .level #Level6[data-v-57b3dd84]{color:var(--6509faff)}.effects .encoders .pitch .level #Level7[data-v-57b3dd84]{color:var(--146adf92)}.effects .encoders .pitch .level #Level8[data-v-57b3dd84]{color:var(--50af4c54)}.effects .encoders .pitch .level #Level9[data-v-57b3dd84]{color:var(--8cf3b916)}.effects .encoders .pitch .level #Level10[data-v-57b3dd84]{color:var(--c93825d8)}.effects .encoders .pitch .level #Level11[data-v-57b3dd84]{color:var(--7d41b6b3)}.effects .encoders .pitch .level #Level12[data-v-57b3dd84]{color:var(--5f1f8052)}.effects .encoders .pitch .level #Level13[data-v-57b3dd84]{color:var(--40fd49f1)}.effects .encoders .echo #Encoder[data-v-57b3dd84]{transform:var(--47634ae4);color:var(--5999597c)}.effects .encoders .echo .level #Level1[data-v-57b3dd84]{color:var(--957ed210)}.effects .encoders .echo .level #Level2[data-v-57b3dd84]{color:var(--957ed1d2)}.effects .encoders .echo .level #Level3[data-v-57b3dd84]{color:var(--957ed194)}.effects .encoders .echo .level #Level4[data-v-57b3dd84]{color:var(--957ed156)}.effects .encoders .echo .level #Level5[data-v-57b3dd84]{color:var(--957ed118)}.effects .encoders .echo .level #Level6[data-v-57b3dd84]{color:var(--957ed0da)}.effects .encoders .echo .level #Level7[data-v-57b3dd84]{color:var(--957ed09c)}.effects .encoders .echo .level #Level8[data-v-57b3dd84]{color:var(--957ed05e)}.effects .encoders .echo .level #Level9[data-v-57b3dd84]{color:var(--957ed020)}.effects .encoders .echo .level #Level10[data-v-57b3dd84]{color:var(--1a5b6dec)}.effects .encoders .echo .level #Level11[data-v-57b3dd84]{color:var(--1a5b6dae)}.effects .encoders .echo .level #Level12[data-v-57b3dd84]{color:var(--1a5b6d70)}.effects .encoders .echo .level #Level13[data-v-57b3dd84]{color:var(--1a5b6d32)}.effects .encoders .gender #Encoder[data-v-57b3dd84]{transform:var(--886913b0);color:var(--c80d51d0)}.effects .encoders .gender .level #Level1[data-v-57b3dd84]{color:var(--bf995294)}.effects .encoders .gender .level #Level2[data-v-57b3dd84]{color:var(--385229d7)}.effects .encoders .gender .level #Level3[data-v-57b3dd84]{color:var(--5f1e0610)}.effects .encoders .gender .level #Level4[data-v-57b3dd84]{color:var(--688fd019)}.effects .encoders .gender .level #Level5[data-v-57b3dd84]{color:var(--00aea33a)}.effects .encoders .gender .level #Level6[data-v-57b3dd84]{color:var(--ce65134a)}.effects .encoders .gender .level #Level7[data-v-57b3dd84]{color:var(--34bb091f)}.effects .encoders .gender .level #Level8[data-v-57b3dd84]{color:var(--c6c79404)}.effects .encoders .gender .level #Level9[data-v-57b3dd84]{color:var(--047d62dd)}.effects .encoders .gender .level #Level10[data-v-57b3dd84]{color:var(--6c5e8fbc)}.effects .encoders .gender .level #Level11[data-v-57b3dd84]{color:var(--578086ca)}.effects .encoders .gender .level #Level12[data-v-57b3dd84]{color:var(--3c20e97a)}.effects .encoders .gender .level #Level13[data-v-57b3dd84]{color:var(--b7fbd34e)}.sampler #BankA[data-v-57b3dd84]{color:var(--4a688ad0)}.sampler #BankB[data-v-57b3dd84]{color:var(--4a688e91)}.sampler #BankC[data-v-57b3dd84]{color:var(--4a689252)}.sampler #Clear[data-v-57b3dd84]{color:var(--7ebc8bc8)}.sampler #Clear.blink[data-v-57b3dd84]{animation:sampler-clear-blink-animation-57b3dd84 1s infinite}.sampler #TopLeft[data-v-57b3dd84]{color:var(--32afa706)}.sampler #TopLeft.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}.sampler #TopRight[data-v-57b3dd84]{color:var(--329fff54)}.sampler #TopRight.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}.sampler #BottomLeft[data-v-57b3dd84]{color:var(--7e8dc21f)}.sampler #BottomLeft.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}.sampler #BottomRight[data-v-57b3dd84]{color:var(--d125c41c)}.sampler #BottomRight.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}#Channel1 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed88cc6)}#Channel2 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed89087)}#Channel3 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed89448)}#Channel4 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed89809)}#Channel1 #Mute[data-v-57b3dd84]{color:var(--aadb5d9c)}#Channel1 #Mute.blink[data-v-57b3dd84]{animation:fader1-mute-blink-animation-57b3dd84 1s infinite}#Channel2 #Mute[data-v-57b3dd84]{color:var(--aadb561a)}#Channel2 #Mute.blink[data-v-57b3dd84]{animation:fader2-mute-blink-animation-57b3dd84 1s infinite}#Channel3 #Mute[data-v-57b3dd84]{color:var(--aadb4e98)}#Channel3 #Mute.blink[data-v-57b3dd84]{animation:fader3-mute-blink-animation-57b3dd84 1s infinite}#Channel4 #Mute[data-v-57b3dd84]{color:var(--aadb4716)}#Channel4 #Mute.blink[data-v-57b3dd84]{animation:fader4-mute-blink-animation-57b3dd84 1s infinite}#Channel1 .display image[data-v-57b3dd84],#Channel1 .display text[data-v-57b3dd84]{display:none}#Channel1 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e9ae)}#Channel1 .level #Level1[data-v-57b3dd84]{color:var(--5be56080)}#Channel1 .level #Level2[data-v-57b3dd84]{color:var(--5be56042)}#Channel1 .level #Level3[data-v-57b3dd84]{color:var(--5be56004)}#Channel1 .level #Level4[data-v-57b3dd84]{color:var(--5be55fc6)}#Channel1 .level #Level5[data-v-57b3dd84]{color:var(--5be55f88)}#Channel1 .level #Level6[data-v-57b3dd84]{color:var(--5be55f4a)}#Channel1 .level #Level7[data-v-57b3dd84]{color:var(--5be55f0c)}#Channel1 .level #Level8[data-v-57b3dd84]{color:var(--5be55ece)}#Channel1 .level #Level9[data-v-57b3dd84]{color:var(--5be55e90)}#Channel1 .level #Level10[data-v-57b3dd84]{color:var(--6f9ca942)}#Channel1 .level #Level11[data-v-57b3dd84]{color:var(--6f9ca961)}#Channel1 .level #Level12[data-v-57b3dd84]{color:var(--6f9ca980)}#Channel1 .level #Level13[data-v-57b3dd84]{color:var(--6f9ca99f)}#Channel1 .level #Level14[data-v-57b3dd84]{color:var(--6f9ca9be)}#Channel1 .level #Level15[data-v-57b3dd84]{color:var(--6f9ca9dd)}#Channel2 .display image[data-v-57b3dd84],#Channel2 .display text[data-v-57b3dd84]{display:none}#Channel2 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e970)}#Channel2 .level #Level1[data-v-57b3dd84]{color:var(--587baf42)}#Channel2 .level #Level2[data-v-57b3dd84]{color:var(--587baf04)}#Channel2 .level #Level3[data-v-57b3dd84]{color:var(--587baec6)}#Channel2 .level #Level4[data-v-57b3dd84]{color:var(--587bae88)}#Channel2 .level #Level5[data-v-57b3dd84]{color:var(--587bae4a)}#Channel2 .level #Level6[data-v-57b3dd84]{color:var(--587bae0c)}#Channel2 .level #Level7[data-v-57b3dd84]{color:var(--587badce)}#Channel2 .level #Level8[data-v-57b3dd84]{color:var(--587bad90)}#Channel2 .level #Level9[data-v-57b3dd84]{color:var(--587bad52)}#Channel2 .level #Level10[data-v-57b3dd84]{color:var(--b6fa36fa)}#Channel2 .level #Level11[data-v-57b3dd84]{color:var(--b6fa36bc)}#Channel2 .level #Level12[data-v-57b3dd84]{color:var(--b6fa367e)}#Channel2 .level #Level13[data-v-57b3dd84]{color:var(--b6fa3640)}#Channel2 .level #Level14[data-v-57b3dd84]{color:var(--b6fa3602)}#Channel2 .level #Level15[data-v-57b3dd84]{color:var(--b6fa35c4)}#Channel3 .display image[data-v-57b3dd84],#Channel3 .display text[data-v-57b3dd84]{display:none}#Channel3 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e932)}#Channel3 .level #Level1[data-v-57b3dd84]{color:var(--5511fe04)}#Channel3 .level #Level2[data-v-57b3dd84]{color:var(--5511fdc6)}#Channel3 .level #Level3[data-v-57b3dd84]{color:var(--5511fd88)}#Channel3 .level #Level4[data-v-57b3dd84]{color:var(--5511fd4a)}#Channel3 .level #Level5[data-v-57b3dd84]{color:var(--5511fd0c)}#Channel3 .level #Level6[data-v-57b3dd84]{color:var(--5511fcce)}#Channel3 .level #Level7[data-v-57b3dd84]{color:var(--5511fc90)}#Channel3 .level #Level8[data-v-57b3dd84]{color:var(--5511fc52)}#Channel3 .level #Level9[data-v-57b3dd84]{color:var(--5511fc14)}#Channel3 .level #Level10[data-v-57b3dd84]{color:var(--4d2dc078)}#Channel3 .level #Level11[data-v-57b3dd84]{color:var(--4d2dc03a)}#Channel3 .level #Level12[data-v-57b3dd84]{color:var(--4d2dbffc)}#Channel3 .level #Level13[data-v-57b3dd84]{color:var(--4d2dbfbe)}#Channel3 .level #Level14[data-v-57b3dd84]{color:var(--4d2dbf80)}#Channel3 .level #Level15[data-v-57b3dd84]{color:var(--4d2dbf42)}#Channel4 .display image[data-v-57b3dd84],#Channel4 .display text[data-v-57b3dd84]{display:none}#Channel4 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e8f4)}#Channel4 .level #Level1[data-v-57b3dd84]{color:var(--51a84cc6)}#Channel4 .level #Level2[data-v-57b3dd84]{color:var(--51a84c88)}#Channel4 .level #Level3[data-v-57b3dd84]{color:var(--51a84c4a)}#Channel4 .level #Level4[data-v-57b3dd84]{color:var(--51a84c0c)}#Channel4 .level #Level5[data-v-57b3dd84]{color:var(--51a84bce)}#Channel4 .level #Level6[data-v-57b3dd84]{color:var(--51a84b90)}#Channel4 .level #Level7[data-v-57b3dd84]{color:var(--51a84b52)}#Channel4 .level #Level8[data-v-57b3dd84]{color:var(--51a84b14)}#Channel4 .level #Level9[data-v-57b3dd84]{color:var(--51a84ad6)}#Channel4 .level #Level10[data-v-57b3dd84]{color:var(--0e4f5b05)}#Channel4 .level #Level11[data-v-57b3dd84]{color:var(--0e4f5b24)}#Channel4 .level #Level12[data-v-57b3dd84]{color:var(--0e4f5b43)}#Channel4 .level #Level13[data-v-57b3dd84]{color:var(--0e4f5b62)}#Channel4 .level #Level14[data-v-57b3dd84]{color:var(--0e4f5b81)}#Channel4 .level #Level15[data-v-57b3dd84]{color:var(--0e4f5ba0)}.version[data-v-61c9c299]{font-family:sans-serif;text-align:center;color:#444;margin-bottom:8px;padding:3px}.version a[data-v-61c9c299]{color:#555}.screenreader-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#main{width:100%;font-size:10pt}body{background-color:#252927;padding:0;margin:0}@font-face{src:url(/fonts/LeagueMono-NarrowRegular.6ab33654.ttf);font-family:LeagueMonoCondensed;font-style:normal;font-stretch:1% 500%}@font-face{src:url(/fonts/LeagueMono.1e7b768a.ttf);font-family:LeagueMono;font-style:normal;font-stretch:1% 500%}#app{font-family:LeagueMonoCondensed,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin-top:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none} \ No newline at end of file +[data-v-799f2278]{margin:0;padding:0}.container[data-v-799f2278]{display:flex;flex-direction:column;align-items:center;height:220px;width:200px;background-color:#353937}.title[data-v-799f2278]{width:100%;padding:10px 0;color:#fff;background-color:#3b413f;text-transform:uppercase;text-align:center}.scroll[data-v-4bf82814]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;margin-top:8px;margin-bottom:8px;padding:4px;box-sizing:border-box;width:100%;max-height:var(--7e7bc1ec);overflow-x:hidden;overflow-y:scroll}.scroll[data-v-4bf82814]::-webkit-scrollbar{height:6px;width:6px}.scroll[data-v-4bf82814]::-webkit-scrollbar-track{background-color:transparent}.scroll[data-v-4bf82814]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.wrapper[data-v-15d478d7]{display:flex;flex-direction:row}label[data-v-15d478d7]{display:block;box-sizing:border-box;width:calc(100% - 12px - var(--770f9a76));margin:auto 0 auto auto;background-color:var(--d3f367e8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--38aa3c1a);text-align:left;color:#fff}.right_side[data-v-15d478d7]{background-color:#3b413f;margin-right:auto;color:#fff}.right_side>[data-v-15d478d7-s]{color:#fff}.right_side.selected>[data-v-15d478d7-s]{color:#353937}.right_side.selected[data-v-15d478d7],label.selected[data-v-15d478d7]{background-color:#59b1b6;color:#353937}label[data-v-15d478d7]:not(.selected):focus-within{background-color:#49514e}label:not(.selected):hover+div[data-v-15d478d7],label[data-v-15d478d7]:not(.selected):hover{background-color:#49514e}label.disabled+div[data-v-15d478d7],label.disabled[data-v-15d478d7]{background-color:#383d3b;color:#959796}.context-menu[data-v-d3088ef8]{background-color:#252927;color:#fff;border:1px solid #6e7676;list-style:none;position:absolute;left:0;margin:0;padding:0;top:0;z-index:1000000}.context-menu .item[data-v-d3088ef8]{align-items:center;color:#fff;cursor:pointer;display:flex;padding:5px 15px}.context-menu .item[data-v-d3088ef8]:hover{background-color:#59b1b6!important;color:#fff}.context-menu .item[data-v-d3088ef8]:focus-within{background-color:#2d3230;color:#fff}.context-menu .item a[data-v-d3088ef8]:focus{outline:none}ul[data-v-d3088ef8]:first-child{margin-top:4px}ul[data-v-d3088ef8]:last-child{margin-bottom:4px}.list[data-v-bbcf45ca]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;box-sizing:border-box;width:100%}button[data-v-bbcf45ca]{background-color:transparent;border:0;padding:6px;margin:0;cursor:pointer}button[data-v-bbcf45ca]:focus{outline:none}[data-v-78b23cc5]{margin:0;padding:0}.container[data-v-78b23cc5]{display:flex;flex-direction:column;align-items:center;padding:8px var(--3d10d831) var(--3d10d831);background-color:#2d3230}.title[data-v-78b23cc5]{display:inline-block;width:calc(100% - var(--003ebe9a)*2);padding:16px 0 10px;margin-left:var(--003ebe9a);color:#fff;text-align:center;text-transform:uppercase}.content[data-v-78b23cc5]{display:flex;flex-direction:row;gap:6px;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.right[data-v-78b23cc5]{display:inline-block}.labelText[data-v-655a8462]{padding:10px 0;color:var(--4e4a6712);height:18px;font-size:10pt;text-transform:uppercase;text-align:center;font-stretch:condensed}.slider[data-v-68eec8f9]{background:linear-gradient(to right,var(--370af52c) 0,var(--370af52c) 50%,var(--7b3d63fa) 50%,var(--7b3d63fa) 100%);position:relative;border-radius:2px;height:3px;width:var(--43f25378);outline:none;transition:background .45s ease-in;-webkit-appearance:none;display:block;touch-action:none}input[type=range][data-v-68eec8f9]::-webkit-slider-thumb{width:16px;height:16px;border-radius:8px;background:var(--370af52c);-webkit-appearance:none}input[type=range][data-v-68eec8f9]::-moz-range-thumb{width:16px;height:16px;border-radius:7px;background:var(--370af52c);border:0}.rotation[data-v-68eec8f9]{transform:rotate(-90deg) translate(var(--8e2ce986));z-index:-1}.rotation-wrapper[data-v-68eec8f9]{height:var(--43f25378);width:90px}.sliderInput[data-v-57646b72]{position:relative}.sliderInput .suffix[data-v-57646b72]{position:absolute;left:0;top:0;color:var(--5af509a9);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-sizing:border-box;text-align:center;padding:10px;width:100%}.sliderInput .suffix .filler[data-v-57646b72]{color:transparent}.sliderInput input[type=number][data-v-57646b72],.sliderInput input[type=text][data-v-57646b72]{font-family:LeagueMonoCondensed,sans-serif;background-color:var(--576c7f92);color:var(--5af509a9);padding:10px;box-sizing:border-box;text-align:center;width:100%;border:none;background-image:none;box-shadow:none;outline:none;-moz-appearance:textfield}.sliderInput input[type=number][data-v-57646b72]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sliderBox[data-v-058f83a0]{width:90px;background-color:var(--fb3d79a6)}#sliderBox[data-v-356eb5a3]{width:120px;background-color:#353937}.link[data-v-356eb5a3]{color:#fff;margin-top:5px;height:20px;line-height:20px;text-align:center}.centered[data-v-4ac8e0c2]{margin:auto;width:-moz-fit-content;width:fit-content;display:flex;flex-direction:row;gap:15px}.assignment[data-v-5a6d5e18]{display:flex;flex-direction:row;gap:5px}.button[data-v-5a6d5e18]{display:flex;flex-direction:row;text-align:left;padding:4px 6px;width:150px;height:34px;box-sizing:border-box;border:none;background-color:#3b413f;color:#fff;font-family:LeagueMonoCondensed,sans-serif}.button.highlight[data-v-5a6d5e18]{border:1px solid #59b1b6}.button .icon[data-v-5a6d5e18]{padding-right:6px;font-size:22px}.button .icon.faded[data-v-5a6d5e18]{color:#838584;box-sizing:border-box}.button .text[data-v-5a6d5e18]{padding-left:10px;padding-right:10px;width:96px;margin:auto;text-align:center;box-sizing:border-box}.box[data-v-5a6d5e18]{display:flex;background-color:#2a2d2c;flex-direction:row;padding:4px;border-radius:3px}.label[data-v-5a6d5e18]{color:#fff;padding:6px 16px;display:block;border-radius:3px}.selected[data-v-5a6d5e18]{color:#2a2d2c}.selected.MixA[data-v-5a6d5e18]{background-color:#59b1b6}.selected.MixB[data-v-5a6d5e18]{background-color:#cc7224}label[data-v-35c96192]{color:#fff}.tab{border-bottom:1px solid #59b1b6;text-align:left}.tab button{background-color:inherit;border:none;outline:none;cursor:pointer;padding:10px 20px;margin-bottom:-1px;width:150px;border-radius:5px 5px 0 0;color:#fff}.tab button:hover:not(.active){background-color:#2d3230}.tab button.active{border:1px solid #59b1b6;border-bottom:1px solid #252927;text-shadow:0 0 3px #59b1b6,0 0 5px #59b1b6}.tabs-details{border:1px solid #59b1b6;border-top:0;padding:0;margin:0;overflow:auto;vertical-align:middle}td[data-v-237530a4]{padding:0}div[data-v-237530a4]{text-align:center;font-size:18px;color:var(--3d5bbd7e);background-color:#3b413f;margin:0;position:relative;height:26px}div.disabled[data-v-237530a4],div.disabled[data-v-237530a4]:hover{background-color:#353b39}div svg[data-v-237530a4]{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;margin:auto;text-align:center}div[data-v-237530a4]:has(>input[type=checkbox]:focus){background-color:#49514e}div[data-v-237530a4]:hover{background-color:#49514e}.button[data-v-afeded80]{display:flex;flex-direction:row;padding:0;width:180px;height:26px;box-sizing:border-box;border:none;color:#fff;font-family:LeagueMonoCondensed,sans-serif}.button.highlight[data-v-afeded80]{border:1px solid #59b1b6}.button .icon[data-v-afeded80]{margin-left:5px;padding:2px 6px 2px 2px;font-size:20px}.button .icon.faded[data-v-afeded80]{color:#838584;box-sizing:border-box}.button .text[data-v-afeded80]{margin:auto;text-align:center;box-sizing:border-box;padding:6px}.button .highlight[data-v-afeded80]{margin:4px 5px 4px 4px;padding:3px 8px;border-radius:4px;color:#2a2d2c}.button .highlight.mixA[data-v-afeded80]{background-color:#59b1b6}.button .highlight.mixB[data-v-afeded80]{background-color:#cc7224}table[data-v-6dca3b08]{color:#fff;font-stretch:condensed;border-spacing:4px;border-collapse:separate}th[data-v-6dca3b08]{font-weight:400;padding:6px}thead th[data-v-6dca3b08]:not(.subHeader){background-color:#3b413f}thead .subHeader th[data-v-6dca3b08]{background-color:#353937;width:70px}tr th[data-v-6dca3b08]{background-color:#353937}.rotated[data-v-6dca3b08]{background-color:#3b413f;text-align:center;width:15px}.rotated span[data-v-6dca3b08]{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.hidden[data-v-6dca3b08]{background-color:transparent!important}.expander[data-v-086d4e0f]{flex-direction:column;flex-wrap:nowrap;color:#fff;vertical-align:middle;background-color:#3b413f;padding:15px;border:0;margin:0}.expander[data-v-086d4e0f]:hover{background-color:#49514e}.expando[data-v-2c0fc602]{display:flex;flex-direction:row}.rowContent[data-v-ea707ec6]{display:inline-flex;flex-direction:row;flex-wrap:nowrap}label[data-v-35cf325b]{color:#fff;font-size:10px;font-family:sans-serif}.reset[data-v-35cf325b]{border:0;margin:0 30px 0 0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;background-color:#3b413f}.reset[data-v-35cf325b]:hover{background-color:#535c59}.selectorList[data-v-31c48871]{background:transparent;height:calc(100% - 55px);overflow-y:scroll}.buttonHolder[data-v-31c48871]{margin-top:10px;box-sizing:border-box}.selectorList[data-v-31c48871]::-webkit-scrollbar{width:3px}.selectorList[data-v-31c48871]::-webkit-scrollbar-track{background-color:transparent}.selectorList[data-v-31c48871]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.button[data-v-30339110]{box-sizing:border-box;width:calc(100% - 16px);margin-left:8px;margin-right:8px;padding:var(--cb784eb2);text-align:left;color:#fff;cursor:default}.selected[data-v-30339110]{background-color:#2d3230;font-weight:700}.button[data-v-30339110]:first-child{margin-top:0}.button[data-v-30339110]:last-child{margin-bottom:0}.left_side[data-v-30339110]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - var(--038eaf79))}.modal-button[data-v-3d98c1d8]{background-color:#353937;color:#fff;padding:8px 30px;border:none;margin:8px;width:120px}.modal-button[data-v-3d98c1d8]:disabled{background-color:#2b2f2d}.modal-button[data-v-3d98c1d8]:not(:disabled):focus,.modal-button[data-v-3d98c1d8]:not(:disabled):hover{background-color:#737775}input[type=text][data-v-685e508a]{width:calc(100% - 10px);background-color:#2b2f2d;border:1px solid #3b413f;padding:5px;color:#fff}.modal-mask[data-v-67edad44]{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.2);display:table;transition:opacity .3s ease}.modal-wrapper[data-v-67edad44]{display:table-cell;vertical-align:middle}.modal-container[data-v-67edad44]{border:1px solid #000;width:var(--5b8d7e6d);margin:0 auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.33);transition:all .3s ease}.modal-header[data-v-67edad44]{text-transform:uppercase;font-family:LeagueMono,sans-serif;background-color:#3b413f;text-align:center;color:#fff;overflow:hidden}.modal-header div[data-v-67edad44]{padding:15px;float:left;display:block;clear:both}.modal-header button[data-v-67edad44]{padding:14px;float:right;cursor:pointer;background-color:transparent;color:#fff;border:0}.modal-body[data-v-67edad44]{background-color:#2d3230;color:#fff;padding:var(--560a5114)}.modal-footer[data-v-67edad44]{background-color:#2d3230;text-align:right;padding-right:10px;padding-bottom:10px}.modal-footer button[data-v-67edad44]{background-color:#353937;color:#fff;padding:8px 30px;border:none}.modal-footer button[data-v-67edad44]:hover{background-color:#737775}.buttonColumns[data-v-805d98da]{display:flex;flex-direction:row;height:35px;margin:10px 10px 0 10px}.actionButton[data-v-805d98da]{color:#a5a7a6;background-color:#353937;width:100%;margin-left:5px;margin-right:5px;text-align:center;line-height:40px}.actionButton.disabled[data-v-805d98da]:hover{background-color:#2b2f2d}.actionButton[data-v-805d98da]:first-child{margin-left:0}.actionButton[data-v-805d98da]:last-child{margin-right:0}.actionButton[data-v-805d98da]:hover{background-color:#49514e}.actionButton[data-v-805d98da]:disabled{background-color:#2b2f2d}.menu[data-v-805d98da]{padding-left:4px;padding-right:4px}.menu[data-v-805d98da]:hover{cursor:pointer}button[data-v-805d98da]{background-color:transparent;color:#fff;border:0;padding:0;margin:0}button[data-v-805d98da]:focus{background-color:#49514e;outline:none}.profile-border[data-v-23d8e2e6]{border:1px solid #59b1b6;width:240px}.title[data-v-23d8e2e6]{background-color:#2d3230;color:#fff;padding:20px;text-transform:uppercase;text-align:center}.openButton[data-v-23d8e2e6]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px;border:0;margin:0;background-color:transparent}.openButton[data-v-23d8e2e6]:hover{color:#fff}button.content[data-v-3c73aae0]{width:130px;height:170px;background:#252927;border:0;margin:0;padding:0}button .img-section[data-v-3c73aae0]{text-align:center;height:130px;font-size:80px;color:#8c8f8e;display:flex;justify-content:center;align-items:center;display:-webkit-flex;-webkit-align-items:center;-webkit-justify-content:center}button[data-v-3c73aae0]:hover{cursor:pointer}button:hover .img-section[data-v-3c73aae0]{color:#fff;background-color:#49514e}button .iconTitle[data-v-3c73aae0]{height:40px;line-height:40px;background-color:#353937;color:#fff;font-family:LeagueMonoCondensed,sans-serif;text-align:center}button:hover .iconTitle[data-v-3c73aae0]{background-color:#6e7170}[data-v-1577c4b6]{margin:0;padding:0}.container[data-v-1577c4b6]{display:flex;flex-direction:row;gap:15px;padding:40px;overflow-x:scroll;overflow-y:hidden}.container[data-v-1577c4b6]::-webkit-scrollbar{height:6px;width:6px}.container[data-v-1577c4b6]::-webkit-scrollbar-track{background-color:transparent}.container[data-v-1577c4b6]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.contentPadNoLeft[data-v-1577c4b6]{padding-left:0}.content[data-v-36f4d98c]:not(:first-child){margin-left:15px}.content[data-v-36f4d98c]{display:inline-flex;flex-direction:column;flex-wrap:nowrap;background-color:#2d3230;padding:20px}.contentTitle[data-v-36f4d98c]{color:#fff;margin-bottom:10px;text-transform:uppercase}.contentBody[data-v-36f4d98c]{display:inline-flex;flex-direction:row}.button[data-v-5ca998d7]{box-sizing:border-box;width:calc(100% - 16px);margin:8px;background-color:#3b413f;padding:var(--65ab5263);text-align:left;color:#fff;cursor:default}.button[data-v-5ca998d7]:hover:not(.active){background-color:#49514e}.button[data-v-5ca998d7]:first-child{margin-top:0}.button[data-v-5ca998d7]:last-child{margin-bottom:0}.left_side[data-v-5ca998d7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - var(--76eaeb35))}.active[data-v-5ca998d7]{background-color:#59b1b6;color:#353937}.disabled[data-v-5ca998d7]{background-color:#383d3b;color:#959796}button.openButton[data-v-9ed33290]{border:0;background-color:transparent;padding:0;margin:-4px}.openButton[data-v-9ed33290]{display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-9ed33290]:hover{color:#fff;cursor:pointer}.wrapper[data-v-c28daa12]{text-align:center;display:flex;justify-content:center;align-items:center}.buttonList[data-v-c28daa12]{height:220px;width:700px;margin:3px;background-color:#353937}.buttonList[data-v-c28daa12]:not(:last-child){margin-right:20px}.buttonHolder[data-v-c28daa12]{height:170px;width:700px;box-sizing:border-box;overflow-y:auto}.buttonHolder[data-v-c28daa12]::-webkit-scrollbar{width:3px}.buttonHolder[data-v-c28daa12]::-webkit-scrollbar-track{background-color:transparent}.buttonHolder[data-v-c28daa12]::-webkit-scrollbar-thumb{background-color:#dfdfdf;border-radius:3px}.label[data-v-c28daa12]{width:680px;padding:10px;color:#fff;background-color:#3b413f;text-transform:uppercase;margin-bottom:8px}.no-device[data-v-c28daa12]{color:#fff}.buttons[data-v-70b58047]{display:flex;flex-direction:row;gap:15px}.openButton[data-v-c6b91898]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px;border:0;margin:0;background-color:transparent}.openButton[data-v-c6b91898]:hover{color:#fff}.openButton[data-v-766afc29]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px}.openButton[data-v-766afc29]:hover{color:#fff}button[data-v-9c3e5d78]{font-family:LeagueMonoCondensed,sans-serif;display:block;box-sizing:border-box;border:0;width:calc(100% - 12px);margin:auto;background-color:var(--96b96820);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--44fc8c8f);text-align:left;color:#fff}button[data-v-9c3e5d78]:focus{background-color:#49514e;outline:none}button[data-v-9c3e5d78]:not(.disabled):hover{background-color:#49514e}button.centered[data-v-9c3e5d78]{text-align:center}button.disabled[data-v-9c3e5d78]{background-color:#383d3b;color:#959796}.buttons[data-v-084fb062]{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px}.openButton[data-v-54bef416]{display:inline-block;color:#a5a7a6;padding:10px;font-size:14px}.openButton[data-v-54bef416]:hover{color:#fff}button[data-v-90906b4e]{background-color:transparent;color:#fff;border:0;padding:0;margin:0}button[data-v-90906b4e]:focus{outline:none}.openButton[data-v-90906b4e]{border:0;background-color:transparent;padding:0;margin-left:5px;display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-90906b4e]:hover{color:#fff;cursor:pointer}[data-v-2c5807aa]{margin:0;padding:0}.spacer[data-v-2c5807aa]{height:14px}.controls[data-v-2c5807aa]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;height:35px;width:100%;background-color:#3b413f;color:#59b1b6}.colourPreview[data-v-2c5807aa]{height:100%;width:35px;background-color:var(--509898fb)}button[data-v-2c5807aa]{height:100%;width:35px;color:#fff;background-color:transparent;border:none;cursor:pointer}input[type=text][data-v-2c5807aa]{width:6em;color:#59b1b6;background-color:#3b413f;border:none;font-family:LeagueMonoCondensed,sans-serif;text-align:center;-moz-appearance:textfield}img[data-v-2c5807aa]{height:120px;width:120px;border-radius:50%}img[data-v-2c5807aa]:hover{cursor:none}.colourTarget[data-v-2c5807aa]{width:100%;text-align:center}input[type=checkbox][data-v-6622f41b]{opacity:0;width:0;border:0;height:0;margin:0}label[data-v-6622f41b]{display:block;box-sizing:border-box;width:calc(100% - 12px);margin:auto;background-color:#3b413f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--4fdea81c) var(--4fdea81c) var(--4fdea81c) calc(var(--4fdea81c) - 4px);text-align:left;color:#fff}label.selected[data-v-6622f41b]{background-color:#59b1b6;color:#353937}label[data-v-6622f41b]:not(.selected):focus-within{background-color:#49514e}label[data-v-6622f41b]:not(.selected):hover{background-color:#49514e}label.disabled[data-v-6622f41b]{background-color:#383d3b;color:#959796}input[type=text][data-v-368fca64]{font-family:LeagueMonoCondensed,sans-serif;background-color:#3b413f;color:#59b1b6;box-sizing:border-box;text-align:center;padding:10px;border:none;background-image:none;box-shadow:none;outline:none;-moz-appearance:textfield}button[data-v-368fca64]{border:0;background-color:transparent;padding:0;margin:-4px}button.applyToAll[data-v-368fca64]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button.applyToAll[data-v-368fca64]:hover{background-color:#535c59}.openButton[data-v-368fca64]{display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-368fca64]:hover{color:#fff;cursor:pointer}button[data-v-ba5c9fa4]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-ba5c9fa4]:hover{background-color:#535c59}button[data-v-2ce8bd60]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-2ce8bd60]:hover{background-color:#535c59}button[data-v-38842d38]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-38842d38]:hover{background-color:#535c59}button[data-v-16ae78bc]{border:0;margin:0;padding:5px 24px;color:#fff;font-family:LeagueMonoCondensed,sans-serif;font-size:12px;background-color:#3b413f}button[data-v-16ae78bc]:hover{background-color:#535c59}.title[data-v-37e34fe2]{margin-bottom:10px;margin-top:1px}.title.disabled[data-v-37e34fe2]{color:#818483}.modValue[data-v-37e34fe2]{margin-top:12px;margin-bottom:12px;color:#82cfd0}.modValue.disabled[data-v-37e34fe2]{color:#3c6061}.waterfall[data-v-37e34fe2]{cursor:pointer;display:inline-block;width:50%;font-size:40px}.waterfall.active[data-v-37e34fe2]{color:#59b1b6}.waterfall.active.disabled[data-v-37e34fe2]{cursor:auto;color:#427273}.waterfall[data-v-37e34fe2]:not(.active){color:#447475}.waterfall:not(.active).disabled[data-v-37e34fe2]{cursor:auto;color:#385352}.wf-button>button[data-v-37e34fe2]{border:none;width:100%;font-size:12px;background-color:#447475;color:#fff;font-family:LeagueMonoCondensed,sans-serif;padding:3px;cursor:pointer}.wf-button>button.active[data-v-37e34fe2]{background-color:#59b1b6}.wf-button>button[data-v-37e34fe2]:disabled{cursor:auto;background-color:#385352}.wf-button>button.active[data-v-37e34fe2]:disabled{cursor:auto;color:#427273}.sections>button[data-v-3106f994]:first-child{border-radius:5px 0 0 5px}.sections>button[data-v-3106f994]:last-child{border-radius:0 5px 5px 0}.sections[data-v-3106f994]{gap:2px}.button[data-v-3106f994]{min-width:100px;padding:6px 6px;width:-moz-fit-content;width:fit-content;margin-top:15px;color:#fff;background-color:#353937;border:none;cursor:pointer}.button[data-v-3106f994]:not(.active):hover{background-color:#49514e}.button.active[data-v-3106f994]{color:#2b2f2d;background-color:#59b1b6}.vertical_button[data-v-3c4eca05]{height:100%;width:30px;margin-left:6px;margin-right:6px;background-color:#3b413f;color:#fff;line-height:170px;padding-left:6px;padding-right:6px;border:0}.vertical_button[data-v-3c4eca05]:hover:not(:disabled){background-color:#49514e}.vertical_button[data-v-3c4eca05]:disabled{background-color:#2b2f2d}.drag_handle[data-v-3c4eca05]{position:absolute;height:100%;width:20px;background-color:#3b413f;color:#fff;line-height:170px;text-align:center;z-index:3}.drag_handle[data-v-3c4eca05]:not(.enabled){background-color:#2b2f2d}.drag_handle.left[data-v-3c4eca05]{left:var(--0d500520)}.drag_handle.right[data-v-3c4eca05]{left:var(--7030907e)}.drag_handle:hover.enabled[data-v-3c4eca05]{background-color:#49514e}.cover[data-v-3c4eca05]{position:absolute;background-color:rgba(45,50,48,.9);height:173px;z-index:3}.cover_left[data-v-3c4eca05]{left:0;width:var(--0d500520)}.cover_right[data-v-3c4eca05]{left:var(--25799128);width:var(--887ef9fe)}.waveform[data-v-3c4eca05]{margin-left:20px;margin-right:20px;color:#fff;height:173px;z-index:0;background-color:#252927}.content[data-v-3c4eca05]{height:100%;padding-top:6px;padding-bottom:6px;display:inline-flex;flex-direction:row;flex-wrap:nowrap}button[data-v-1e6b1056]{border:0;background-color:transparent;padding:0;margin-left:5px}.openButton[data-v-1e6b1056]{display:inline-block;color:#a5a7a6;font-size:14px}.openButton[data-v-1e6b1056]:hover{color:#fff;cursor:pointer}.preview[data-v-57b3dd84]{height:408px}#GoXLR[data-v-57b3dd84]{width:100%;height:100%}#Logo[data-v-57b3dd84]{color:var(--6b5a746e)}@font-face{font-family:ropa-sans-regular;src:url(/fonts/RopaSans-Regular.6c9159d7.ttf) format("truetype");font-display:auto;font-style:normal;font-weight:400;font-stretch:normal}@keyframes sampler-sample-blink-animation-57b3dd84{0%,49%{color:var(--41b4fc64)}50%,to{color:var(--41b4fc26)}}@keyframes sampler-clear-blink-animation-57b3dd84{0%,49%{color:var(--7ebc8c06)}50%,to{color:var(--7ebc8bc8)}}@keyframes mute-blink-animation-57b3dd84{0%,49%{color:var(--6a2b6fd2)}50%,to{color:var(--3a4f3375)}}@keyframes fader1-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb5d9c)}50%,to{color:var(--74747156)}}@keyframes fader2-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb561a)}50%,to{color:var(--74747517)}}@keyframes fader3-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb4e98)}50%,to{color:var(--747478d8)}}@keyframes fader4-mute-blink-animation-57b3dd84{0%,49%{color:var(--aadb4716)}50%,to{color:var(--74747c99)}}.cough #Mute[data-v-57b3dd84]{color:var(--6a2b6fd2)}.cough #Mute.blink[data-v-57b3dd84]{animation:mute-blink-animation-57b3dd84 1s infinite}.cough #Bleep[data-v-57b3dd84]{color:var(--9eb8139a)}.selection[data-v-57b3dd84]{display:none}.effects .buttons #Megaphone[data-v-57b3dd84]{color:var(--1cf564a7)}.effects .buttons #Robot[data-v-57b3dd84]{color:var(--549e3067)}.effects .buttons #HardTune[data-v-57b3dd84]{color:var(--4b389738)}.effects .buttons #FX[data-v-57b3dd84]{color:var(--976c9fac)}.effects .presets #Preset1[data-v-57b3dd84]{color:var(--de22849c)}.effects .presets #Preset2[data-v-57b3dd84]{color:var(--de22845e)}.effects .presets #Preset3[data-v-57b3dd84]{color:var(--de228420)}.effects .presets #Preset4[data-v-57b3dd84]{color:var(--de2283e2)}.effects .presets #Preset5[data-v-57b3dd84]{color:var(--de2283a4)}.effects .presets #Preset6[data-v-57b3dd84]{color:var(--de228366)}.effects .encoders .reverb #Encoder[data-v-57b3dd84]{transform:var(--6c4c5b0a);color:var(--2060cde9)}.effects .encoders .reverb .level #Level1[data-v-57b3dd84]{color:var(--02a2e45e)}.effects .encoders .reverb .level #Level2[data-v-57b3dd84]{color:var(--02a2e47d)}.effects .encoders .reverb .level #Level3[data-v-57b3dd84]{color:var(--02a2e49c)}.effects .encoders .reverb .level #Level4[data-v-57b3dd84]{color:var(--02a2e4bb)}.effects .encoders .reverb .level #Level5[data-v-57b3dd84]{color:var(--02a2e4da)}.effects .encoders .reverb .level #Level6[data-v-57b3dd84]{color:var(--02a2e4f9)}.effects .encoders .reverb .level #Level7[data-v-57b3dd84]{color:var(--02a2e518)}.effects .encoders .reverb .level #Level8[data-v-57b3dd84]{color:var(--02a2e537)}.effects .encoders .reverb .level #Level9[data-v-57b3dd84]{color:var(--02a2e556)}.effects .encoders .reverb .level #Level10[data-v-57b3dd84]{color:var(--51b9a864)}.effects .encoders .reverb .level #Level11[data-v-57b3dd84]{color:var(--51b9a883)}.effects .encoders .reverb .level #Level12[data-v-57b3dd84]{color:var(--51b9a8a2)}.effects .encoders .reverb .level #Level13[data-v-57b3dd84]{color:var(--51b9a8c1)}.effects .encoders .pitch #Encoder[data-v-57b3dd84]{transform:var(--160524a3);color:var(--2a582137)}.effects .encoders .pitch .level #Level1[data-v-57b3dd84]{color:var(--634229cc)}.effects .encoders .pitch .level #Level2[data-v-57b3dd84]{color:var(--26fdbd0a)}.effects .encoders .pitch .level #Level3[data-v-57b3dd84]{color:var(--0aa357dc)}.effects .encoders .pitch .level #Level4[data-v-57b3dd84]{color:var(--28c58e3d)}.effects .encoders .pitch .level #Level5[data-v-57b3dd84]{color:var(--46e7c49e)}.effects .encoders .pitch .level #Level6[data-v-57b3dd84]{color:var(--6509faff)}.effects .encoders .pitch .level #Level7[data-v-57b3dd84]{color:var(--146adf92)}.effects .encoders .pitch .level #Level8[data-v-57b3dd84]{color:var(--50af4c54)}.effects .encoders .pitch .level #Level9[data-v-57b3dd84]{color:var(--8cf3b916)}.effects .encoders .pitch .level #Level10[data-v-57b3dd84]{color:var(--c93825d8)}.effects .encoders .pitch .level #Level11[data-v-57b3dd84]{color:var(--7d41b6b3)}.effects .encoders .pitch .level #Level12[data-v-57b3dd84]{color:var(--5f1f8052)}.effects .encoders .pitch .level #Level13[data-v-57b3dd84]{color:var(--40fd49f1)}.effects .encoders .echo #Encoder[data-v-57b3dd84]{transform:var(--47634ae4);color:var(--5999597c)}.effects .encoders .echo .level #Level1[data-v-57b3dd84]{color:var(--957ed210)}.effects .encoders .echo .level #Level2[data-v-57b3dd84]{color:var(--957ed1d2)}.effects .encoders .echo .level #Level3[data-v-57b3dd84]{color:var(--957ed194)}.effects .encoders .echo .level #Level4[data-v-57b3dd84]{color:var(--957ed156)}.effects .encoders .echo .level #Level5[data-v-57b3dd84]{color:var(--957ed118)}.effects .encoders .echo .level #Level6[data-v-57b3dd84]{color:var(--957ed0da)}.effects .encoders .echo .level #Level7[data-v-57b3dd84]{color:var(--957ed09c)}.effects .encoders .echo .level #Level8[data-v-57b3dd84]{color:var(--957ed05e)}.effects .encoders .echo .level #Level9[data-v-57b3dd84]{color:var(--957ed020)}.effects .encoders .echo .level #Level10[data-v-57b3dd84]{color:var(--1a5b6dec)}.effects .encoders .echo .level #Level11[data-v-57b3dd84]{color:var(--1a5b6dae)}.effects .encoders .echo .level #Level12[data-v-57b3dd84]{color:var(--1a5b6d70)}.effects .encoders .echo .level #Level13[data-v-57b3dd84]{color:var(--1a5b6d32)}.effects .encoders .gender #Encoder[data-v-57b3dd84]{transform:var(--886913b0);color:var(--c80d51d0)}.effects .encoders .gender .level #Level1[data-v-57b3dd84]{color:var(--bf995294)}.effects .encoders .gender .level #Level2[data-v-57b3dd84]{color:var(--385229d7)}.effects .encoders .gender .level #Level3[data-v-57b3dd84]{color:var(--5f1e0610)}.effects .encoders .gender .level #Level4[data-v-57b3dd84]{color:var(--688fd019)}.effects .encoders .gender .level #Level5[data-v-57b3dd84]{color:var(--00aea33a)}.effects .encoders .gender .level #Level6[data-v-57b3dd84]{color:var(--ce65134a)}.effects .encoders .gender .level #Level7[data-v-57b3dd84]{color:var(--34bb091f)}.effects .encoders .gender .level #Level8[data-v-57b3dd84]{color:var(--c6c79404)}.effects .encoders .gender .level #Level9[data-v-57b3dd84]{color:var(--047d62dd)}.effects .encoders .gender .level #Level10[data-v-57b3dd84]{color:var(--6c5e8fbc)}.effects .encoders .gender .level #Level11[data-v-57b3dd84]{color:var(--578086ca)}.effects .encoders .gender .level #Level12[data-v-57b3dd84]{color:var(--3c20e97a)}.effects .encoders .gender .level #Level13[data-v-57b3dd84]{color:var(--b7fbd34e)}.sampler #BankA[data-v-57b3dd84]{color:var(--4a688ad0)}.sampler #BankB[data-v-57b3dd84]{color:var(--4a688e91)}.sampler #BankC[data-v-57b3dd84]{color:var(--4a689252)}.sampler #Clear[data-v-57b3dd84]{color:var(--7ebc8bc8)}.sampler #Clear.blink[data-v-57b3dd84]{animation:sampler-clear-blink-animation-57b3dd84 1s infinite}.sampler #TopLeft[data-v-57b3dd84]{color:var(--32afa706)}.sampler #TopLeft.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}.sampler #TopRight[data-v-57b3dd84]{color:var(--329fff54)}.sampler #TopRight.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}.sampler #BottomLeft[data-v-57b3dd84]{color:var(--7e8dc21f)}.sampler #BottomLeft.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}.sampler #BottomRight[data-v-57b3dd84]{color:var(--d125c41c)}.sampler #BottomRight.blink[data-v-57b3dd84]{animation:sampler-sample-blink-animation-57b3dd84 1s infinite}#Channel1 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed88cc6)}#Channel2 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed89087)}#Channel3 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed89448)}#Channel4 .rail #Fader[data-v-57b3dd84]{transform:var(--1ed89809)}#Channel1 #Mute[data-v-57b3dd84]{color:var(--aadb5d9c)}#Channel1 #Mute.blink[data-v-57b3dd84]{animation:fader1-mute-blink-animation-57b3dd84 1s infinite}#Channel2 #Mute[data-v-57b3dd84]{color:var(--aadb561a)}#Channel2 #Mute.blink[data-v-57b3dd84]{animation:fader2-mute-blink-animation-57b3dd84 1s infinite}#Channel3 #Mute[data-v-57b3dd84]{color:var(--aadb4e98)}#Channel3 #Mute.blink[data-v-57b3dd84]{animation:fader3-mute-blink-animation-57b3dd84 1s infinite}#Channel4 #Mute[data-v-57b3dd84]{color:var(--aadb4716)}#Channel4 #Mute.blink[data-v-57b3dd84]{animation:fader4-mute-blink-animation-57b3dd84 1s infinite}#Channel1 .display image[data-v-57b3dd84],#Channel1 .display text[data-v-57b3dd84]{display:none}#Channel1 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e9ae)}#Channel1 .level #Level1[data-v-57b3dd84]{color:var(--5be56080)}#Channel1 .level #Level2[data-v-57b3dd84]{color:var(--5be56042)}#Channel1 .level #Level3[data-v-57b3dd84]{color:var(--5be56004)}#Channel1 .level #Level4[data-v-57b3dd84]{color:var(--5be55fc6)}#Channel1 .level #Level5[data-v-57b3dd84]{color:var(--5be55f88)}#Channel1 .level #Level6[data-v-57b3dd84]{color:var(--5be55f4a)}#Channel1 .level #Level7[data-v-57b3dd84]{color:var(--5be55f0c)}#Channel1 .level #Level8[data-v-57b3dd84]{color:var(--5be55ece)}#Channel1 .level #Level9[data-v-57b3dd84]{color:var(--5be55e90)}#Channel1 .level #Level10[data-v-57b3dd84]{color:var(--6f9ca942)}#Channel1 .level #Level11[data-v-57b3dd84]{color:var(--6f9ca961)}#Channel1 .level #Level12[data-v-57b3dd84]{color:var(--6f9ca980)}#Channel1 .level #Level13[data-v-57b3dd84]{color:var(--6f9ca99f)}#Channel1 .level #Level14[data-v-57b3dd84]{color:var(--6f9ca9be)}#Channel1 .level #Level15[data-v-57b3dd84]{color:var(--6f9ca9dd)}#Channel2 .display image[data-v-57b3dd84],#Channel2 .display text[data-v-57b3dd84]{display:none}#Channel2 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e970)}#Channel2 .level #Level1[data-v-57b3dd84]{color:var(--587baf42)}#Channel2 .level #Level2[data-v-57b3dd84]{color:var(--587baf04)}#Channel2 .level #Level3[data-v-57b3dd84]{color:var(--587baec6)}#Channel2 .level #Level4[data-v-57b3dd84]{color:var(--587bae88)}#Channel2 .level #Level5[data-v-57b3dd84]{color:var(--587bae4a)}#Channel2 .level #Level6[data-v-57b3dd84]{color:var(--587bae0c)}#Channel2 .level #Level7[data-v-57b3dd84]{color:var(--587badce)}#Channel2 .level #Level8[data-v-57b3dd84]{color:var(--587bad90)}#Channel2 .level #Level9[data-v-57b3dd84]{color:var(--587bad52)}#Channel2 .level #Level10[data-v-57b3dd84]{color:var(--b6fa36fa)}#Channel2 .level #Level11[data-v-57b3dd84]{color:var(--b6fa36bc)}#Channel2 .level #Level12[data-v-57b3dd84]{color:var(--b6fa367e)}#Channel2 .level #Level13[data-v-57b3dd84]{color:var(--b6fa3640)}#Channel2 .level #Level14[data-v-57b3dd84]{color:var(--b6fa3602)}#Channel2 .level #Level15[data-v-57b3dd84]{color:var(--b6fa35c4)}#Channel3 .display image[data-v-57b3dd84],#Channel3 .display text[data-v-57b3dd84]{display:none}#Channel3 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e932)}#Channel3 .level #Level1[data-v-57b3dd84]{color:var(--5511fe04)}#Channel3 .level #Level2[data-v-57b3dd84]{color:var(--5511fdc6)}#Channel3 .level #Level3[data-v-57b3dd84]{color:var(--5511fd88)}#Channel3 .level #Level4[data-v-57b3dd84]{color:var(--5511fd4a)}#Channel3 .level #Level5[data-v-57b3dd84]{color:var(--5511fd0c)}#Channel3 .level #Level6[data-v-57b3dd84]{color:var(--5511fcce)}#Channel3 .level #Level7[data-v-57b3dd84]{color:var(--5511fc90)}#Channel3 .level #Level8[data-v-57b3dd84]{color:var(--5511fc52)}#Channel3 .level #Level9[data-v-57b3dd84]{color:var(--5511fc14)}#Channel3 .level #Level10[data-v-57b3dd84]{color:var(--4d2dc078)}#Channel3 .level #Level11[data-v-57b3dd84]{color:var(--4d2dc03a)}#Channel3 .level #Level12[data-v-57b3dd84]{color:var(--4d2dbffc)}#Channel3 .level #Level13[data-v-57b3dd84]{color:var(--4d2dbfbe)}#Channel3 .level #Level14[data-v-57b3dd84]{color:var(--4d2dbf80)}#Channel3 .level #Level15[data-v-57b3dd84]{color:var(--4d2dbf42)}#Channel4 .display image[data-v-57b3dd84],#Channel4 .display text[data-v-57b3dd84]{display:none}#Channel4 .display #Backlight[data-v-57b3dd84]{color:var(--95c2e8f4)}#Channel4 .level #Level1[data-v-57b3dd84]{color:var(--51a84cc6)}#Channel4 .level #Level2[data-v-57b3dd84]{color:var(--51a84c88)}#Channel4 .level #Level3[data-v-57b3dd84]{color:var(--51a84c4a)}#Channel4 .level #Level4[data-v-57b3dd84]{color:var(--51a84c0c)}#Channel4 .level #Level5[data-v-57b3dd84]{color:var(--51a84bce)}#Channel4 .level #Level6[data-v-57b3dd84]{color:var(--51a84b90)}#Channel4 .level #Level7[data-v-57b3dd84]{color:var(--51a84b52)}#Channel4 .level #Level8[data-v-57b3dd84]{color:var(--51a84b14)}#Channel4 .level #Level9[data-v-57b3dd84]{color:var(--51a84ad6)}#Channel4 .level #Level10[data-v-57b3dd84]{color:var(--0e4f5b05)}#Channel4 .level #Level11[data-v-57b3dd84]{color:var(--0e4f5b24)}#Channel4 .level #Level12[data-v-57b3dd84]{color:var(--0e4f5b43)}#Channel4 .level #Level13[data-v-57b3dd84]{color:var(--0e4f5b62)}#Channel4 .level #Level14[data-v-57b3dd84]{color:var(--0e4f5b81)}#Channel4 .level #Level15[data-v-57b3dd84]{color:var(--0e4f5ba0)}.version[data-v-61c9c299]{font-family:sans-serif;text-align:center;color:#444;margin-bottom:8px;padding:3px}.version a[data-v-61c9c299]{color:#555}.screenreader-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#main{width:100%;font-size:10pt}body{background-color:#252927;padding:0;margin:0}@font-face{src:url(/fonts/LeagueMono-NarrowRegular.6ab33654.ttf);font-family:LeagueMonoCondensed;font-style:normal;font-stretch:1% 500%}@font-face{src:url(/fonts/LeagueMono.1e7b768a.ttf);font-family:LeagueMono;font-style:normal;font-stretch:1% 500%}#app{font-family:LeagueMonoCondensed,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin-top:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none} \ No newline at end of file diff --git a/daemon/web-content/index.html b/daemon/web-content/index.html index 483a6de4..cb4c7b61 100644 --- a/daemon/web-content/index.html +++ b/daemon/web-content/index.html @@ -1,4 +1,4 @@ -GoXLR Utility
\n\n\n","\n\n\n\n\n","//this component is to show the notifications\n\n","import { reactive } from \"vue\";\nimport { applyOperation } from \"fast-json-patch\";\n\n\nexport const store = reactive({\n has_disconnected: false,\n have_device: false,\n active: true,\n activeSerial: \"\",\n\n pausedPaths: [],\n\n // Set a 'base' status struct..\n status: {\n \"mixers\": {},\n \"files\": {}\n },\n a11y: {\n notifications: {\n enabled: true,\n assertive: \"\",\n polite: \"\"\n }\n },\n\n socketDisconnected() {\n this.has_disconnected = true;\n this.activeSerial = \"\";\n this.status = {\n \"mixers\": {},\n \"files\": {}\n };\n\n this.has_disconnected = true;\n },\n\n daemonVersion() {\n if (this.status !== undefined) {\n if (this.status.config !== undefined) {\n return this.status.config.daemon_version;\n }\n return undefined;\n } else {\n return undefined;\n }\n },\n\n isConnected() {\n return !this.has_disconnected;\n },\n\n getConfig() {\n return this.status.config;\n },\n\n getVersion() {\n return this.status.config.daemon_version;\n },\n\n getDeviceCount() {\n return Object.keys(this.status.mixers).length;\n },\n\n setActiveSerial(serial) {\n this.activeSerial = serial;\n },\n\n getActiveDevice() {\n if (this.activeSerial === \"\") {\n return undefined;\n }\n return this.status.mixers[this.activeSerial];\n },\n\n hasActiveDevice() {\n return this.activeSerial !== \"\";\n },\n\n getActiveSerial() {\n return this.activeSerial;\n },\n\n getProfileFiles() {\n return this.status.files.profiles;\n },\n\n getMicProfileFiles() {\n return this.status.files.mic_profiles;\n },\n\n getPresetFiles() {\n return this.status.files.presets;\n },\n\n getSampleFiles() {\n return this.status.files.samples;\n },\n\n getIconFiles() {\n return this.status.files.icons;\n },\n\n replaceData(json) {\n if (this.active) {\n Object.assign(this.status, json.Status);\n this.have_device = true;\n this.validateActive();\n }\n },\n\n pausePatchPath(path) {\n if (path === undefined) {\n console.error(\"Attempted to Stop Patches for Undefined!\");\n return;\n }\n let paths = path.split(\";\");\n for (path of paths) {\n console.log(\"Pausing Path: \" + path);\n this.pausedPaths.push(path);\n }\n },\n\n resumePatchPath(path) {\n let paths = path.split(\";\");\n for (path of paths) {\n let index = this.pausedPaths.indexOf(path);\n if (index !== -1) {\n // We don't care about key organisation, just that the entry is gone!\n delete this.pausedPaths[index];\n }\n }\n },\n\n // eslint-disable-next-line no-unused-vars\n patchData(json) {\n if (this.have_device) {\n for (let patch of json.Patch) {\n if (this.pausedPaths.includes(patch.path)) {\n continue;\n }\n\n applyOperation(this.status, patch, true, true, false);\n }\n this.validateActive();\n }\n },\n\n validateActive() {\n if (this.status.mixers[this.activeSerial] === undefined) {\n // We've lost our device, stop being active.\n this.activeSerial = \"\";\n }\n },\n\n pause() {\n this.active = false;\n },\n\n resume() {\n this.active = true;\n },\n\n isPaused() {\n return !this.active;\n },\n getAccessibilityNotification(type) {\n if (this.a11y.notifications.enabled) {\n return this.a11y.notifications[type];\n }\n return \"\";\n },\n setAccessibilityNotification(type, message) {\n this.a11y.notifications[type] = message;\n }\n});\n","import { render } from \"./A11yNotifications.vue?vue&type=template&id=1a3be3b1\"\nimport script from \"./A11yNotifications.vue?vue&type=script&lang=js\"\nexport * from \"./A11yNotifications.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","/**\n * A class designed to help manage request and responses to the GoXLR Utility via Websockets and HTTP.\n *\n * A lot of commands do not require responses as they're 'fire and forget', the only response that could possibly\n * be returned is an error which means that something has likely gone *SERIOUSLY* wrong, and we should abandon\n * all hope. As such, the daemon doesn't provide a response for most requests, and will only send errors, and\n * responses to GetStatus up the pipe to us, which we simply handle here. If you absolutely require a response from\n * a request (eg, profile management), send it as a standard command, and not a websocket command.\n *\n * Commands are sent via JSON, and are handled by serde on the rear end, this class will include some\n * helper methods for sending commands but the command structure will need to be understood first.\n *\n * Commands are documented in ipc/src/lib.rs under the GoXLRCommand enum, as an example, the Command to\n * change a volume level is defined as:\n * SetVolume(ChannelName, u8)\n *\n * Following the ChannelName to types/src/lib.rs, we get a list of channel names in the enum. Unless otherwise\n * stated by a #[repr] macro (See CompressorRatio), Serde expects these to be sent as Strings. Values to a\n * command are expected to be sent as an array of values. Using the above, SetVolume can be represented in JSON as:\n * { \"SetVolume\": [\"Chat\", 145] }\n *\n * If there is only one parameter for a command, an array isn't required.\n *\n * Extra Technical Stuff (not needed for most people), Obviously a command requires a serial, and the actual message\n * sent to the Daemon is a Command object, in this case, the same rules as above apply. Command is defined as:\n * Command(String, GoXLRCommand)\n *\n * With String being the serial. So expanding out the above, you end up with JSON that looks like:\n * {\"Command\": [\"serial\", { \"SetVolume\": [\"Chat\", 145]}]}\n *\n * The websocket class will abstract away the need to build a complete message.\n */\nimport {store} from \"@/store\";\n\n// TODO: Error checking and handling!\nexport class Websocket {\n #connection_promise = [];\n #message_queue = []\n #websocket = undefined;\n #command_index = 0;\n\n connect() {\n this.#websocket = new WebSocket(getWebsocketAddress());\n\n let self = this;\n self.#websocket.addEventListener('message', function(event) {\n // A message can be one of two things, either a DaemonStatus, or an error..\n let json = JSON.parse(event.data);\n\n let message_id = json.id;\n let message_data = json.data;\n if (message_data[\"Status\"] !== undefined) {\n self.#fulfill_promise(message_id, message_data, true);\n } else if (message_data[\"Patch\"] !== undefined) {\n // Nothing ever requests patch data, so we can ignore this.\n store.patchData(message_data);\n } else if (message_data[\"MicLevel\"] !== undefined) {\n self.#fulfill_promise(message_id, message_data, true);\n } else if (message_data === \"Ok\") {\n self.#fulfill_promise(message_id, message_data, true);\n } else {\n self.#fulfill_promise(message_id, message_data, false);\n console.log(\"Received Error from Websocket: \" + event.data);\n }\n });\n\n self.#websocket.addEventListener('open', function() {\n self.#connection_promise[0]();\n self.#connection_promise[0] = undefined;\n });\n\n self.#websocket.addEventListener('close', function() {\n if (self.#connection_promise[0] !== undefined) {\n self.#connection_promise[0]();\n self.#connection_promise[0] = undefined;\n }\n store.socketDisconnected();\n });\n\n self.#websocket.addEventListener('error', function() {\n if (self.#connection_promise[0] !== undefined) {\n self.#connection_promise[0]();\n self.#connection_promise[0] = undefined;\n }\n store.socketDisconnected();\n });\n\n return new Promise((resolve, reject) => {\n self.#connection_promise[0] = resolve;\n self.#connection_promise[1] = reject;\n });\n }\n\n get_status() {\n return this.#sendRequest(\"GetStatus\");\n }\n\n open_path(type) {\n let request = {\n \"OpenPath\": type\n }\n\n return this.send_daemon_command(request);\n }\n\n send_daemon_command(command) {\n let request = {\n \"Daemon\":\n command\n\n }\n return this.#sendRequest(request);\n }\n\n send_command(serial, command) {\n let request = {\n \"Command\": [\n serial,\n command\n ]\n }\n return this.#sendRequest(request);\n }\n\n get_mic_level(serial) {\n let request = {\n \"GetMicLevel\": serial,\n }\n return this.#sendRequest(request);\n }\n\n #sendRequest(request) {\n let id = this.#command_index++;\n\n // Wrap this request with an ID\n let final_request = {\n id: id,\n data: request,\n }\n\n this.#websocket.send(JSON.stringify(final_request));\n\n // Create and return a response promise...\n let self = this;\n return new Promise((resolve, reject) => {\n self.#message_queue[id] = [];\n self.#message_queue[id][0] = resolve;\n self.#message_queue[id][1] = reject;\n });\n }\n\n #fulfill_promise(id, data, is_success) {\n if (this.#message_queue[id] !== undefined) {\n this.#message_queue[id][is_success ? 0 : 1](data);\n delete this.#message_queue[id];\n }\n }\n}\nexport const websocket = new Websocket();\n\n/*\n * This function simply sends a command via HTTP and returns a promise of a response.\n *\n * The GoXLR Daemon simply handles a DaemonRequest and returns a DaemonResponse, it doesn't do anything special for\n * errors, so we'll handle fulfill or reject here based on what comes back.\n */\nexport function sendHttpCommand(serial, command) {\n let request = {\n \"Command\": [\n serial,\n command\n ]\n }\n return executeHttpRequest(request);\n}\n\nfunction executeHttpRequest(request) {\n let cmd_resolve, cmd_reject;\n\n fetch(getHTTPAddress(), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(request)\n })\n .then(response => response.json())\n .then(data => {\n if (data[\"Error\"] !== undefined) {\n cmd_reject(data[\"Error\"]);\n }\n cmd_resolve();\n })\n .catch((error) => {\n cmd_reject(\"HTTP Error: \" + error);\n });\n\n return new Promise((resolve, reject) => {\n cmd_resolve = resolve;\n cmd_reject = reject;\n });\n}\n\n/*\nThis is here to calculate the address. The dev environment is always on a different port to the daemon, so\nwe need to bounce requests across to the default port of the daemon. If we're running in production, we need\nto convert the HTTP request to a websocket request on the same port (this can be changed), so work it out here.\n */\nfunction getWebsocketAddress() {\n if (process.env.NODE_ENV === \"development\") {\n return \"ws://localhost:14564/api/websocket\";\n }\n return \"ws://\" + window.location.host + \"/api/websocket\";\n}\n\n// Same as above, except for HTTP request...\nfunction getHTTPAddress() {\n return getBaseHTTPAddress() + \"api/command\";\n}\n\nexport function getBaseHTTPAddress() {\n if (process.env.NODE_ENV === \"development\") {\n return \"http://localhost:14564/\";\n }\n return \"/\";\n}\n","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./WidgetContainer.vue?vue&type=template&id=799f2278&scoped=true\"\nimport script from \"./WidgetContainer.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetContainer.vue?vue&type=script&lang=js\"\n\nimport \"./WidgetContainer.vue?vue&type=style&index=0&id=799f2278&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-799f2278\"]])\n\nexport default __exports__","\n\n\n","\n\n\n\n\n\n","import { render } from \"./VerticalScrollingContainer.vue?vue&type=template&id=4bf82814&scoped=true\"\nimport script from \"./VerticalScrollingContainer.vue?vue&type=script&lang=js\"\nexport * from \"./VerticalScrollingContainer.vue?vue&type=script&lang=js\"\n\nimport \"./VerticalScrollingContainer.vue?vue&type=style&index=0&id=4bf82814&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4bf82814\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./RadioItem.vue?vue&type=template&id=15d478d7&scoped=true\"\nimport script from \"./RadioItem.vue?vue&type=script&lang=js\"\nexport * from \"./RadioItem.vue?vue&type=script&lang=js\"\n\nimport \"./RadioItem.vue?vue&type=style&index=0&id=15d478d7&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-15d478d7\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./DropMenu.vue?vue&type=template&id=d3088ef8&scoped=true\"\nimport script from \"./DropMenu.vue?vue&type=script&lang=js\"\nexport * from \"./DropMenu.vue?vue&type=script&lang=js\"\n\nimport \"./DropMenu.vue?vue&type=style&index=0&id=d3088ef8&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d3088ef8\"]])\n\nexport default __exports__","import { render } from \"./RadioList.vue?vue&type=template&id=bbcf45ca&scoped=true\"\nimport script from \"./RadioList.vue?vue&type=script&lang=js\"\nexport * from \"./RadioList.vue?vue&type=script&lang=js\"\n\nimport \"./RadioList.vue?vue&type=style&index=0&id=bbcf45ca&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bbcf45ca\"]])\n\nexport default __exports__","import { render } from \"./ScrollingRadioList.vue?vue&type=template&id=737bb15c\"\nimport script from \"./ScrollingRadioList.vue?vue&type=script&lang=js\"\nexport * from \"./ScrollingRadioList.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./RadioSelection.vue?vue&type=template&id=e55c0876\"\nimport script from \"./RadioSelection.vue?vue&type=script&lang=js\"\nexport * from \"./RadioSelection.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./GroupContainer.vue?vue&type=template&id=78b23cc5&scoped=true\"\nimport script from \"./GroupContainer.vue?vue&type=script&lang=js\"\nexport * from \"./GroupContainer.vue?vue&type=script&lang=js\"\n\nimport \"./GroupContainer.vue?vue&type=style&index=0&id=78b23cc5&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-78b23cc5\"]])\n\nexport default __exports__","import { render } from \"./Faders.vue?vue&type=template&id=7ccb2986\"\nimport script from \"./Faders.vue?vue&type=script&lang=js\"\nexport * from \"./Faders.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./Label.vue?vue&type=template&id=655a8462&scoped=true\"\nimport script from \"./Label.vue?vue&type=script&lang=js\"\nexport * from \"./Label.vue?vue&type=script&lang=js\"\n\nimport \"./Label.vue?vue&type=style&index=0&id=655a8462&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-655a8462\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Range.vue?vue&type=template&id=68eec8f9&scoped=true\"\nimport script from \"./Range.vue?vue&type=script&lang=js\"\nexport * from \"./Range.vue?vue&type=script&lang=js\"\n\nimport \"./Range.vue?vue&type=style&index=0&id=68eec8f9&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68eec8f9\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Input.vue?vue&type=template&id=309d2ca5&scoped=true\"\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\nimport \"./Input.vue?vue&type=style&index=0&id=309d2ca5&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-309d2ca5\"]])\n\nexport default __exports__","import { render } from \"./Slider.vue?vue&type=template&id=3d12ab03&scoped=true\"\nimport script from \"./Slider.vue?vue&type=script&lang=js\"\nexport * from \"./Slider.vue?vue&type=script&lang=js\"\n\nimport \"./Slider.vue?vue&type=style&index=0&id=3d12ab03&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3d12ab03\"]])\n\nexport default __exports__","/**\n * This file primarily contains mappings from Utility Enums to Javascript representations, they're used for checking\n * values against the DaemonStatus, as well as sending updates, so order and naming is important! Some parts of the\n * code (such as faders and mixers) will directly reference array values, it's not ideal, but until some cleaner\n * representation can happen it's more efficient than constantly bouncing back and forward between array indexes.\n */\n\nexport const ScribbleNames = {\n \"A\": \"Scribble1\",\n \"B\": \"Scribble2\",\n \"C\": \"Scribble3\",\n \"D\": \"Scribble4\",\n}\n\nexport const MuteButtonNamesForFader = {\n \"A\": \"Fader1Mute\",\n \"B\": \"Fader2Mute\",\n \"C\": \"Fader3Mute\",\n \"D\": \"Fader4Mute\",\n}\n\nexport const InputDevice = {\n \"Microphone\": \"Microphone\",\n \"Chat\": \"Chat\",\n \"Music\": \"Music\",\n \"Game\": \"Game\",\n \"Console\": \"Console\",\n \"Line In\": \"LineIn\",\n \"System\": \"System\",\n \"Samples\": \"Samples\"\n}\n\nexport const OutputDevice = {\n \"Headphones\": \"Headphones\",\n \"Stream Mix\": \"BroadcastMix\",\n \"Line Out\": \"LineOut\",\n \"Chat Mic\": \"ChatMic\",\n \"Sampler\": \"Sampler\",\n}\n\nexport const ChannelName = [\n \"Mic\",\n \"LineIn\",\n \"Console\",\n \"System\",\n \"Game\",\n \"Chat\",\n \"Sample\",\n \"Music\",\n \"Headphones\",\n \"MicMonitor\",\n \"LineOut\",\n]\n\n/**\n * TODO: This might need to be handled in the Daemon, we've hit a situation where the the ChannelName and InputDevice\n * enums aren't synced correctly, despite almost representing the same thing, which can cause weirdness.\n * @param name\n * @returns {*|string}\n */\nexport function channelNameToInputDevice(name) {\n if (name === 'Mic') {\n return 'Microphone';\n }\n if (name === 'Sample') {\n return 'Samples';\n }\n return name;\n}\n\nexport const ChannelNameReadable = {\n \"Mic\": \"Mic\",\n \"LineIn\": \"Line In\",\n \"Console\": \"Console\",\n \"System\": \"System\",\n \"Game\": \"Game\",\n \"Chat\": \"Voice Chat\",\n \"Sample\": \"Sample\",\n \"Music\": \"Music\",\n \"Headphones\": \"Headphones\",\n \"MicMonitor\": \"Mic Monitor\",\n \"LineOut\": \"Line Out\",\n}\n\nexport const EffectPresets = [\n \"Preset1\",\n \"Preset2\",\n \"Preset3\",\n \"Preset4\",\n \"Preset5\",\n \"Preset6\",\n]\n\nexport const EffectLightingPresets = [\n \"EffectSelect1\",\n \"EffectSelect2\",\n \"EffectSelect3\",\n \"EffectSelect4\",\n \"EffectSelect5\",\n \"EffectSelect6\",\n]\n\nexport const EqMiniFreqs = [\n \"Equalizer90Hz\",\n \"Equalizer250Hz\",\n \"Equalizer500Hz\",\n \"Equalizer1KHz\",\n \"Equalizer3KHz\",\n \"Equalizer8KHz\",\n]\n\nexport const EqFreqs = [\n \"Equalizer31Hz\",\n \"Equalizer63Hz\",\n \"Equalizer125Hz\",\n \"Equalizer250Hz\",\n \"Equalizer500Hz\",\n \"Equalizer1KHz\",\n \"Equalizer2KHz\",\n \"Equalizer4KHz\",\n \"Equalizer8KHz\",\n \"Equalizer16KHz\",\n]\n\nexport let InputMixer = [\n \"Mic\",\n \"Chat\",\n \"Music\",\n \"Game\",\n \"Console\",\n \"LineIn\",\n \"System\",\n \"Sample\",\n]\n\n\nexport let OutputMixer = [\n \"LineOut\",\n \"Headphones\",\n \"MicMonitor\",\n]\n\n/* Items in here are hidden behind the 'Expand' button */\nexport let OutputMixerSubmixHidden = [\n \"MicMonitor\"\n]\n\nexport const LightingInactiveOptions = [\n {\n id: 'Dimmed',\n label: 'Dim Active Colour'\n },\n {\n id: 'Colour2',\n label: 'Inactive Colour'\n },\n {\n id: 'DimmedColour2',\n label: 'Dim Inactive Colour'\n }\n]\n","\n\n\n\n\n","import { render } from \"./SubmixSlider.vue?vue&type=template&id=356eb5a3&scoped=true\"\nimport script from \"./SubmixSlider.vue?vue&type=script&lang=js\"\nexport * from \"./SubmixSlider.vue?vue&type=script&lang=js\"\n\nimport \"./SubmixSlider.vue?vue&type=style&index=0&id=356eb5a3&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-356eb5a3\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./CenteredContainer.vue?vue&type=template&id=4ac8e0c2&scoped=true\"\nimport script from \"./CenteredContainer.vue?vue&type=script&lang=js\"\nexport * from \"./CenteredContainer.vue?vue&type=script&lang=js\"\n\nimport \"./CenteredContainer.vue?vue&type=style&index=0&id=4ac8e0c2&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ac8e0c2\"]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n","import { render } from \"./AssignmentEntry.vue?vue&type=template&id=5a6d5e18&scoped=true\"\nimport script from \"./AssignmentEntry.vue?vue&type=script&lang=js\"\nexport * from \"./AssignmentEntry.vue?vue&type=script&lang=js\"\n\nimport \"./AssignmentEntry.vue?vue&type=style&index=0&id=5a6d5e18&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5a6d5e18\"]])\n\nexport default __exports__","import { render } from \"./MixAssignment.vue?vue&type=template&id=4e6660be\"\nimport script from \"./MixAssignment.vue?vue&type=script&lang=js\"\nexport * from \"./MixAssignment.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./Mixer.vue?vue&type=template&id=35c96192&scoped=true\"\nimport script from \"./Mixer.vue?vue&type=script&lang=js\"\nexport * from \"./Mixer.vue?vue&type=script&lang=js\"\n\nimport \"./Mixer.vue?vue&type=style&index=0&id=35c96192&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35c96192\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Tabs.vue?vue&type=template&id=3e52d46c\"\nimport script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=3e52d46c&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Tab.vue?vue&type=template&id=0b2b7c4e\"\nimport script from \"./Tab.vue?vue&type=script&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./Cell.vue?vue&type=template&id=237530a4&scoped=true\"\nimport script from \"./Cell.vue?vue&type=script&lang=js\"\nexport * from \"./Cell.vue?vue&type=script&lang=js\"\n\nimport \"./Cell.vue?vue&type=style&index=0&id=237530a4&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-237530a4\"]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./SubmixButton.vue?vue&type=template&id=afeded80&scoped=true\"\nimport script from \"./SubmixButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmixButton.vue?vue&type=script&lang=js\"\n\nimport \"./SubmixButton.vue?vue&type=style&index=0&id=afeded80&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-afeded80\"]])\n\nexport default __exports__","import { render } from \"./Routing.vue?vue&type=template&id=6dca3b08&scoped=true\"\nimport script from \"./Routing.vue?vue&type=script&lang=js\"\nexport * from \"./Routing.vue?vue&type=script&lang=js\"\n\nimport \"./Routing.vue?vue&type=style&index=0&id=6dca3b08&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6dca3b08\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./ExpandoBox.vue?vue&type=template&id=086d4e0f&scoped=true\"\nimport script from \"./ExpandoBox.vue?vue&type=script&lang=js\"\nexport * from \"./ExpandoBox.vue?vue&type=script&lang=js\"\n\nimport \"./ExpandoBox.vue?vue&type=style&index=0&id=086d4e0f&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-086d4e0f\"]])\n\nexport default __exports__","import { render } from \"./ExpandoGroupContainer.vue?vue&type=template&id=2c0fc602&scoped=true\"\nimport script from \"./ExpandoGroupContainer.vue?vue&type=script&lang=js\"\nexport * from \"./ExpandoGroupContainer.vue?vue&type=script&lang=js\"\n\nimport \"./ExpandoGroupContainer.vue?vue&type=style&index=0&id=2c0fc602&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2c0fc602\"]])\n\nexport default __exports__","import { render } from \"./Gate.vue?vue&type=template&id=ea707ec6&scoped=true\"\nimport script from \"./Gate.vue?vue&type=script&lang=js\"\nexport * from \"./Gate.vue?vue&type=script&lang=js\"\n\nimport \"./Gate.vue?vue&type=style&index=0&id=ea707ec6&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ea707ec6\"]])\n\nexport default __exports__","\n\n\n\n\n","import {store} from \"@/store\";\n\nexport function isDeviceMini() {\n // Do this here, rather than on created() so it can update if the device changes\n return store.getActiveDevice().hardware.device_type === \"Mini\";\n}\n\nexport function roundToStep(value, step) {\n step || (step = 1.0);\n let inverse = 1.0 / step;\n return Math.round(value * inverse) / inverse;\n}\n","\n\n\n\n\n","import { render } from \"./FineTuneHeader.vue?vue&type=template&id=788e65be\"\nimport script from \"./FineTuneHeader.vue?vue&type=script&lang=js\"\nexport * from \"./FineTuneHeader.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./Equalizer.vue?vue&type=template&id=35cf325b&scoped=true\"\nimport script from \"./Equalizer.vue?vue&type=script&lang=js\"\nexport * from \"./Equalizer.vue?vue&type=script&lang=js\"\n\nimport \"./Equalizer.vue?vue&type=style&index=0&id=35cf325b&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35cf325b\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Compressor.vue?vue&type=template&id=d7e5afb8\"\nimport script from \"./Compressor.vue?vue&type=script&lang=js\"\nexport * from \"./Compressor.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./MicExtra.vue?vue&type=template&id=42958ce5\"\nimport script from \"./MicExtra.vue?vue&type=script&lang=js\"\nexport * from \"./MicExtra.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","import { render } from \"./ProfileButtonList.vue?vue&type=template&id=31c48871&scoped=true\"\nimport script from \"./ProfileButtonList.vue?vue&type=script&lang=js\"\nexport * from \"./ProfileButtonList.vue?vue&type=script&lang=js\"\n\nimport \"./ProfileButtonList.vue?vue&type=style&index=0&id=31c48871&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-31c48871\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ProfileButton.vue?vue&type=template&id=30339110&scoped=true\"\nimport script from \"./ProfileButton.vue?vue&type=script&lang=js\"\nexport * from \"./ProfileButton.vue?vue&type=script&lang=js\"\n\nimport \"./ProfileButton.vue?vue&type=style&index=0&id=30339110&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-30339110\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ModalButton.vue?vue&type=template&id=3d98c1d8&scoped=true\"\nimport script from \"./ModalButton.vue?vue&type=script&lang=js\"\nexport * from \"./ModalButton.vue?vue&type=script&lang=js\"\n\nimport \"./ModalButton.vue?vue&type=style&index=0&id=3d98c1d8&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3d98c1d8\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./ModalInput.vue?vue&type=template&id=685e508a&scoped=true\"\nimport script from \"./ModalInput.vue?vue&type=script&lang=js\"\nexport * from \"./ModalInput.vue?vue&type=script&lang=js\"\n\nimport \"./ModalInput.vue?vue&type=style&index=0&id=685e508a&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-685e508a\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./AccessibleModal.vue?vue&type=template&id=67edad44&scoped=true\"\nimport script from \"./AccessibleModal.vue?vue&type=script&lang=js\"\nexport * from \"./AccessibleModal.vue?vue&type=script&lang=js\"\n\nimport \"./AccessibleModal.vue?vue&type=style&index=0&id=67edad44&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-67edad44\"]])\n\nexport default __exports__","import { render } from \"./ProfileManager.vue?vue&type=template&id=805d98da&scoped=true\"\nimport script from \"./ProfileManager.vue?vue&type=script&lang=js\"\nexport * from \"./ProfileManager.vue?vue&type=script&lang=js\"\n\nimport \"./ProfileManager.vue?vue&type=style&index=0&id=805d98da&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-805d98da\"]])\n\nexport default __exports__","import { render } from \"./MicProfileHandler.vue?vue&type=template&id=23d8e2e6&scoped=true\"\nimport script from \"./MicProfileHandler.vue?vue&type=script&lang=js\"\nexport * from \"./MicProfileHandler.vue?vue&type=script&lang=js\"\n\nimport \"./MicProfileHandler.vue?vue&type=style&index=0&id=23d8e2e6&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-23d8e2e6\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./BigButton.vue?vue&type=template&id=3c73aae0&scoped=true\"\nimport script from \"./BigButton.vue?vue&type=script&lang=js\"\nexport * from \"./BigButton.vue?vue&type=script&lang=js\"\n\nimport \"./BigButton.vue?vue&type=style&index=0&id=3c73aae0&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c73aae0\"]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./ContentContainer.vue?vue&type=template&id=1577c4b6&scoped=true\"\nimport script from \"./ContentContainer.vue?vue&type=script&lang=js\"\nexport * from \"./ContentContainer.vue?vue&type=script&lang=js\"\n\nimport \"./ContentContainer.vue?vue&type=style&index=0&id=1577c4b6&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1577c4b6\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./vu-meter.vue?vue&type=template&id=5fa96e59\"\nimport script from \"./vu-meter.vue?vue&type=script&lang=js\"\nexport * from \"./vu-meter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./SetupModel.vue?vue&type=template&id=64eb68c3\"\nimport script from \"./SetupModel.vue?vue&type=script&lang=js\"\nexport * from \"./SetupModel.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./MicSetupButton.vue?vue&type=template&id=54496361\"\nimport script from \"./MicSetupButton.vue?vue&type=script&lang=js\"\nexport * from \"./MicSetupButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./ContentBox.vue?vue&type=template&id=36f4d98c&scoped=true\"\nimport script from \"./ContentBox.vue?vue&type=script&lang=js\"\nexport * from \"./ContentBox.vue?vue&type=script&lang=js\"\n\nimport \"./ContentBox.vue?vue&type=style&index=0&id=36f4d98c&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-36f4d98c\"]])\n\nexport default __exports__","import { render } from \"./Mic.vue?vue&type=template&id=b00ac9bc\"\nimport script from \"./Mic.vue?vue&type=script&lang=js\"\nexport * from \"./Mic.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./Button.vue?vue&type=template&id=5ca998d7&scoped=true\"\nimport script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\nimport \"./Button.vue?vue&type=style&index=0&id=5ca998d7&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5ca998d7\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./SettingsButton.vue?vue&type=template&id=9ed33290&scoped=true\"\nimport script from \"./SettingsButton.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsButton.vue?vue&type=script&lang=js\"\n\nimport \"./SettingsButton.vue?vue&type=style&index=0&id=9ed33290&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9ed33290\"]])\n\nexport default __exports__","import { render } from \"./DeviceSelector.vue?vue&type=template&id=c28daa12&scoped=true\"\nimport script from \"./DeviceSelector.vue?vue&type=script&lang=js\"\nexport * from \"./DeviceSelector.vue?vue&type=script&lang=js\"\n\nimport \"./DeviceSelector.vue?vue&type=style&index=0&id=c28daa12&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c28daa12\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./Cough.vue?vue&type=template&id=cfe0e206\"\nimport script from \"./Cough.vue?vue&type=script&lang=js\"\nexport * from \"./Cough.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n","import { render } from \"./LicenseButton.vue?vue&type=template&id=3ffabd79\"\nimport script from \"./LicenseButton.vue?vue&type=script&lang=js\"\nexport * from \"./LicenseButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./AboutButton.vue?vue&type=template&id=98398a20\"\nimport script from \"./AboutButton.vue?vue&type=script&lang=js\"\nexport * from \"./AboutButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./HelpButton.vue?vue&type=template&id=d0e8a456\"\nimport script from \"./HelpButton.vue?vue&type=script&lang=js\"\nexport * from \"./HelpButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n","import { render } from \"./PowerShutdown.vue?vue&type=template&id=57a80372\"\nimport script from \"./PowerShutdown.vue?vue&type=script&lang=js\"\nexport * from \"./PowerShutdown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./PowerWake.vue?vue&type=template&id=65b4db3b\"\nimport script from \"./PowerWake.vue?vue&type=script&lang=js\"\nexport * from \"./PowerWake.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./PowerButton.vue?vue&type=template&id=33cc4ef0\"\nimport script from \"./PowerButton.vue?vue&type=script&lang=js\"\nexport * from \"./PowerButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./SimpleNumberInput.vue?vue&type=template&id=8f3372e6\"\nimport script from \"./SimpleNumberInput.vue?vue&type=script&lang=js\"\nexport * from \"./SimpleNumberInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./DeviceSettingsButton.vue?vue&type=template&id=17994410\"\nimport script from \"./DeviceSettingsButton.vue?vue&type=script&lang=js\"\nexport * from \"./DeviceSettingsButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./SwitchDeviceButton.vue?vue&type=template&id=2b11cc3b\"\nimport script from \"./SwitchDeviceButton.vue?vue&type=script&lang=js\"\nexport * from \"./SwitchDeviceButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./System.vue?vue&type=template&id=70b58047&scoped=true\"\nimport script from \"./System.vue?vue&type=script&lang=js\"\nexport * from \"./System.vue?vue&type=script&lang=js\"\n\nimport \"./System.vue?vue&type=style&index=0&id=70b58047&scoped=true&lang=css\"\n\nimport exportComponent from \"/home/frostycoolslug/IdeaProjects/goxlr-ui/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-70b58047\"]])\n\nexport default __exports__","\n\n\n\n\n","