@nebularstreams/overlay-sdk 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/preview/bundle.min.js +1 -1
- package/preview/index.css +2 -2
- package/tool/cli.cjs +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nebularstreams/overlay-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Agent Friendly SDK for the Nebular Overlay Server",
|
|
5
5
|
"author": "Nebular Streams <software@nebular.tv>",
|
|
6
6
|
"contributors": [
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"nebular-overlay-sdk": "tool/cli.cjs"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@nebularstreams/libmui": "^
|
|
29
|
+
"@nebularstreams/libmui": "^4.0.4",
|
|
30
30
|
"@rollup/plugin-commonjs": "^25.0.0",
|
|
31
31
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
32
32
|
"@rollup/plugin-terser": "^0.4.4",
|
package/preview/bundle.min.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Nebular Streams
|
|
4
4
|
* All rights reserved.
|
|
5
5
|
*/
|
|
6
|
-
!function(){"use strict";var e,t;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function a(){if(t)return e;function n(e,t,n,a,r,i){return{tag:e,key:t,attrs:n,children:a,text:r,dom:i,is:void 0,domSize:void 0,state:void 0,events:void 0,instance:void 0}}return t=1,n.normalize=function(e){return Array.isArray(e)?n("[",void 0,void 0,n.normalizeChildren(e),void 0,void 0):null==e||"boolean"==typeof e?null:"object"==typeof e?e:n("#",void 0,void 0,String(e),void 0,void 0)},n.normalizeChildren=function(e){for(var t=new Array(e.length),a=0,r=0;r<e.length;r++)t[r]=n.normalize(e[r]),null!==t[r]&&null!=t[r].key&&a++;if(0!==a&&a!==e.length)throw new TypeError(t.includes(null)?"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.":"In fragments, vnodes must either all have keys or none have keys.");return t},e=n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var r,i,o=a(),l=function(e,t){return null==e||"object"==typeof e&&null==e.tag&&!Array.isArray(e)?1===t.length&&Array.isArray(t[0])&&(t=t[0]):(t=0===t.length&&Array.isArray(e)?e:[e,...t],e=void 0),o("",e&&e.key,e,t)};function s(){return i?r:(i=1,r={}.hasOwnProperty)}var c={},u=new Map([[c,!0]]),d=a(),f=l,h=s(),p=c,m=u,g=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,v=Object.create(null);function y(e){return"value"===e||"checked"===e||"selectedIndex"===e||"selected"===e}var b=function(e,t,...n){if(null==e||"string"!=typeof e&&"function"!=typeof e&&"function"!=typeof e.view)throw Error("The selector must be either a string or a component.");var a=f(t,n);return"string"==typeof e&&(a.children=d.normalizeChildren(a.children),"["!==e)?function(e,t){t.tag=e.tag;var n=t.attrs;if(null==n)return t.attrs=e.attrs,t.is=e.is,t;if(h.call(n,"class")&&(null!=n.class&&(n.className=n.class),n.class=null),e.attrs!==p){var a=n.className;n=Object.assign({},e.attrs,n),null!=e.attrs.className&&(n.className=null!=a?String(e.attrs.className)+" "+String(a):e.attrs.className)}return"input"===e.tag&&h.call(n,"type")&&(n=Object.assign({type:n.type},n)),t.is=n.is,t.attrs=n,t}(v[e]||function(e){for(var t,n="div",a=[],r={},i=!0;t=g.exec(e);){var o=t[1],l=t[2];if(""===o&&""!==l)n=l;else if("#"===o)r.id=l;else if("."===o)a.push(l);else if("["===t[3][0]){var s=t[6];s&&(s=s.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?a.push(s):(r[t[4]]=""===s?s:s||!0,y(t[4])&&(i=!1))}}return a.length>0&&(r.className=a.join(" ")),function(e){for(var t in e)if(h.call(e,t))return!1;return!0}(r)?r=p:m.set(r,i),v[e]={tag:n,attrs:r,is:r.is}}(e),a):(null==a.attrs&&(a.attrs={}),a.tag=e,a)},w=a(),x=a(),k=l,C=b;C.trust=function(e){return null==e&&(e=""),w("<",void 0,void 0,e,void 0,void 0)},C.fragment=function(e,...t){var n=k(e,t);return null==n.attrs&&(n.attrs={}),n.tag="[",n.children=x.normalizeChildren(n.children),n};var _,M,S,T,A,E,L,D,$=C;function O(){return M?_:(M=1,_=new WeakMap)}function I(){if(T)return S;T=1;var e=O();return S=function*(t){var n=t.dom,a=t.domSize,r=e.get(n);if(null!=n)do{var i=n.nextSibling;e.get(n)===r&&(yield n,a--),n=i}while(a)},S}function N(){if(E)return A;E=1;var e=a(),t=O(),n=I(),r=u;return A=function(){var a,i,o={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function l(e){return e.ownerDocument}function s(e){return e.attrs&&e.attrs.xmlns||o[e.tag]}function c(e,t){if(e.state!==t)throw new Error("'vnode.state' must not be modified.")}function u(e){var t=e.state;try{return this.apply(t,arguments)}finally{c(e,t)}}function d(e){try{return l(e).activeElement}catch(e){return null}}function f(e,t,n,a,r,i,o){for(var l=n;l<a;l++){var s=t[l];null!=s&&h(e,s,r,o,i)}}function h(t,n,a,r,i){var o=n.tag;if("string"==typeof o)switch(n.state={},null!=n.attrs&&P(n.attrs,n,a),o){case"#":!function(e,t,n){t.dom=l(e).createTextNode(t.children),C(e,t.dom,n)}(t,n,i);break;case"<":m(t,n,r,i);break;case"[":!function(e,t,n,a,r){var i=l(e).createDocumentFragment();if(null!=t.children){var o=t.children;f(i,o,0,o.length,n,null,a)}t.dom=i.firstChild,t.domSize=i.childNodes.length,C(e,i,r)}(t,n,a,r,i);break;default:!function(e,t,n,a,r){var i=t.tag,o=t.attrs,c=t.is,u=(a=s(t)||a)?c?l(e).createElementNS(a,i,{is:c}):l(e).createElementNS(a,i):c?l(e).createElement(i,{is:c}):l(e).createElement(i);if(t.dom=u,null!=o&&function(e,t,n){for(var a in t)D(e,a,null,t[a],n)}(t,o,a),C(e,u,r),!_(t)&&null!=t.children){var d=t.children;f(u,d,0,d.length,n,null,a),"select"===t.tag&&null!=o&&function(e,t){if("value"in t)if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;e.dom.value===n&&-1!==e.dom.selectedIndex||(e.dom.value=n)}"selectedIndex"in t&&D(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,o)}}(t,n,a,r,i)}else!function(t,n,a,r,i){(function(t,n){var a;if("function"==typeof t.tag.view){if(t.state=Object.create(t.tag),null!=(a=t.state.view).$$reentrantLock$$)return;a.$$reentrantLock$$=!0}else{if(t.state=void 0,null!=(a=t.tag).$$reentrantLock$$)return;a.$$reentrantLock$$=!0,t.state=null!=t.tag.prototype&&"function"==typeof t.tag.prototype.view?new t.tag(t):t.tag(t)}if(P(t.state,t,n),null!=t.attrs&&P(t.attrs,t,n),t.instance=e.normalize(u.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");a.$$reentrantLock$$=null})(n,a),null!=n.instance?(h(t,n.instance,a,r,i),n.dom=n.instance.dom,n.domSize=n.instance.domSize):n.domSize=0}(t,n,a,r,i)}var p={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function m(e,t,n,a){var r=t.children.match(/^\s*?<(\w+)/im)||[],i=l(e).createElement(p[r[1]]||"div");"http://www.w3.org/2000/svg"===n?(i.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",i=i.firstChild):i.innerHTML=t.children,t.dom=i.firstChild,t.domSize=i.childNodes.length;for(var o,s=l(e).createDocumentFragment();o=i.firstChild;)s.appendChild(o);C(e,s,a)}function g(e,t,n,a,r,i){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)f(e,n,0,n.length,a,r,i);else if(null==n||0===n.length)M(e,t,0,t.length);else{var o=null!=t[0]&&null!=t[0].key,l=null!=n[0]&&null!=n[0].key,s=0,c=0;if(!o)for(;c<t.length&&null==t[c];)c++;if(!l)for(;s<n.length&&null==n[s];)s++;if(o!==l)M(e,t,c,t.length),f(e,n,s,n.length,a,r,i);else if(l){for(var u,d,p,m,g,b=t.length-1,C=n.length-1;b>=c&&C>=s&&(p=t[b],m=n[C],p.key===m.key);)p!==m&&v(e,p,m,a,r,i),null!=m.dom&&(r=m.dom),b--,C--;for(;b>=c&&C>=s&&(u=t[c],d=n[s],u.key===d.key);)c++,s++,u!==d&&v(e,u,d,a,x(t,c,r),i);for(;b>=c&&C>=s&&s!==C&&u.key===m.key&&p.key===d.key;)k(e,p,g=x(t,c,r)),p!==d&&v(e,p,d,a,g,i),++s<=--C&&k(e,u,r),u!==m&&v(e,u,m,a,r,i),null!=m.dom&&(r=m.dom),c++,p=t[--b],m=n[C],u=t[c],d=n[s];for(;b>=c&&C>=s&&p.key===m.key;)p!==m&&v(e,p,m,a,r,i),null!=m.dom&&(r=m.dom),C--,p=t[--b],m=n[C];if(s>C)M(e,t,c,b+1);else if(c>b)f(e,n,s,C+1,a,r,i);else{var _,S,T=r,E=C-s+1,L=new Array(E),D=0,$=0,O=2147483647,I=0;for($=0;$<E;$++)L[$]=-1;for($=C;$>=s;$--){null==_&&(_=y(t,c,b+1));var N=_[(m=n[$]).key];null!=N&&(O=N<O?N:-1,L[$-s]=N,p=t[N],t[N]=null,p!==m&&v(e,p,m,a,r,i),null!=m.dom&&(r=m.dom),I++)}if(r=T,I!==b-c+1&&M(e,t,c,b+1),0===I)f(e,n,s,C+1,a,r,i);else if(-1===O)for(S=function(e){var t=[0],n=0,a=0,r=0,i=w.length=e.length;for(r=0;r<i;r++)w[r]=e[r];for(r=0;r<i;++r)if(-1!==e[r]){var o=t[t.length-1];if(e[o]<e[r])w[r]=o,t.push(r);else{for(n=0,a=t.length-1;n<a;){var l=(n>>>1)+(a>>>1)+(n&a&1);e[t[l]]<e[r]?n=l+1:a=l}e[r]<e[t[n]]&&(n>0&&(w[r]=t[n-1]),t[n]=r)}}for(a=t[(n=t.length)-1];n-- >0;)t[n]=a,a=w[a];return w.length=0,t}(L),D=S.length-1,$=C;$>=s;$--)d=n[$],-1===L[$-s]?h(e,d,a,i,r):S[D]===$-s?D--:k(e,d,r),null!=d.dom&&(r=n[$].dom);else for($=C;$>=s;$--)d=n[$],-1===L[$-s]&&h(e,d,a,i,r),null!=d.dom&&(r=n[$].dom)}}else{var j=t.length<n.length?t.length:n.length;for(s=s<c?s:c;s<j;s++)(u=t[s])===(d=n[s])||null==u&&null==d||(null==u?h(e,d,a,i,x(t,s+1,r)):null==d?A(e,u):v(e,u,d,a,x(t,s+1,r),i));t.length>j&&M(e,t,s,t.length),n.length>j&&f(e,n,s,n.length,a,r,i)}}}function v(t,n,a,i,o,l){var c=n.tag;if(c===a.tag&&n.is===a.is){if(a.state=n.state,a.events=n.events,function(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate&&void 0!==(n=u.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate&&void 0!==(n=u.call(e.state.onbeforeupdate,e,t))&&!n)break;return!1}while(0);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}(a,n))return;if("string"==typeof c)switch(null!=a.attrs&&Y(a.attrs,a,i),c){case"#":!function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}(n,a);break;case"<":!function(e,t,n,a,r){t.children!==n.children?(E(e,t),m(e,n,a,r)):(n.dom=t.dom,n.domSize=t.domSize)}(t,n,a,l,o);break;case"[":!function(e,t,n,a,r,i){g(e,t.children,n.children,a,r,i);var o=0,l=n.children;if(n.dom=null,null!=l)for(var s=0;s<l.length;s++){var c=l[s];null!=c&&null!=c.dom&&(null==n.dom&&(n.dom=c.dom),o+=c.domSize||1)}n.domSize=o}(t,n,a,i,o,l);break;default:!function(e,t,n,a){var i=t.dom=e.dom;a=s(t)||a,(e.attrs!=t.attrs||null!=t.attrs&&!r.get(t.attrs))&&function(e,t,n,a){var i;if(null!=t)for(var o in t!==n||r.has(n)||console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major"),t)null==(i=t[o])||null!=n&&null!=n[o]||$(e,o,i,a);if(null!=n)for(var o in n)D(e,o,t&&t[o],n[o],a)}(t,e.attrs,t.attrs,a),_(t)||g(i,e.children,t.children,n,null,a)}(n,a,i,l)}else!function(t,n,a,r,i,o){if(a.instance=e.normalize(u.call(a.state.view,a)),a.instance===a)throw Error("A view cannot return the vnode it received as argument");Y(a.state,a,r),null!=a.attrs&&Y(a.attrs,a,r),null!=a.instance?(null==n.instance?h(t,a.instance,r,o,i):v(t,n.instance,a.instance,r,i,o),a.dom=a.instance.dom,a.domSize=a.instance.domSize):(null!=n.instance&&A(t,n.instance),a.domSize=0)}(t,n,a,i,o,l)}else A(t,n),h(t,a,i,l,o)}function y(e,t,n){for(var a=Object.create(null);t<n;t++){var r=e[t];if(null!=r){var i=r.key;null!=i&&(a[i]=t)}}return a}var b,w=[];function x(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function k(e,t,a){if(null!=t.dom){var r;if(null==t.domSize||1===t.domSize)r=t.dom;else for(var i of(r=l(e).createDocumentFragment(),n(t)))r.appendChild(i);C(e,r,a)}}function C(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function _(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=t&&0!==t.length)throw new Error("Child node of a contenteditable must be trusted.");return!0}function M(e,t,n,a){for(var r=n;r<a;r++){var i=t[r];null!=i&&A(e,i)}}function S(e,a,r,o){var l=a.state,s=u.call(r.onbeforeremove,a);if(null!=s){var d=i;for(var f of n(a))t.set(f,d);o.v++,Promise.resolve(s).finally(function(){c(a,l),T(e,a,o)})}}function T(e,t,n){0===--n.v&&(L(t),E(e,t))}function A(e,t){var n={v:1};"string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&S(e,t,t.state,n),t.attrs&&"function"==typeof t.attrs.onbeforeremove&&S(e,t,t.attrs,n),T(e,t,n)}function E(e,t){if(null!=t.dom)if(null==t.domSize||1===t.domSize)e.removeChild(t.dom);else for(var a of n(t))e.removeChild(a)}function L(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&u.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&u.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&L(e.instance);else{null!=e.events&&(e.events._=null);var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var a=t[n];null!=a&&L(a)}}}function D(e,t,n,a,r){if("key"!==t&&null!=a&&!O(t)&&(n!==a||function(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&(e.dom===d(e.dom)||"option"===e.tag&&e.dom.parentNode===d(e.dom))}(e,t)||"object"==typeof a)){if("o"===t[0]&&"n"===t[1])return z(e,t,a);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),a);else if("style"===t)N(e.dom,n,a);else if(I(e,t,r)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+a)return;if("select"===e.tag&&null!==n&&e.dom.value===""+a)return;if("option"===e.tag&&null!==n&&e.dom.value===""+a)return;if("input"===e.tag&&"file"===e.attrs.type&&""+a!="")return void console.error("`value` is read-only on file inputs!")}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,a):e.dom[t]=a}else"boolean"==typeof a?a?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,a)}}function $(e,t,n,a){if("key"!==t&&null!=n&&!O(t))if("o"===t[0]&&"n"===t[1])z(e,t,void 0);else if("style"===t)N(e.dom,n,null);else if(!I(e,t,a)||"className"===t||"title"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===d(e.dom))||"input"===e.tag&&"type"===t){var r=t.indexOf(":");-1!==r&&(t=t.slice(r+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null}function O(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function I(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||e.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}function N(e,t,n){if(t===n);else if(null==n)e.style="";else if("object"!=typeof n)e.style=n;else if(null==t||"object"!=typeof t)for(var a in e.style="",n)null!=(r=n[a])&&(a.includes("-")?e.style.setProperty(a,String(r)):e.style[a]=String(r));else{for(var a in t)null!=t[a]&&null==n[a]&&(a.includes("-")?e.style.removeProperty(a):e.style[a]="");for(var a in n){var r;null!=(r=n[a])&&(r=String(r))!==String(t[a])&&(a.includes("-")?e.style.setProperty(a,r):e.style[a]=r)}}}function j(){this._=a}function z(e,t,n){if(null!=e.events){if(e.events._=a,e.events[t]===n)return;null==n||"function"!=typeof n&&"object"!=typeof n?(null!=e.events[t]&&e.dom.removeEventListener(t.slice(2),e.events,!1),e.events[t]=void 0):(null==e.events[t]&&e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}else null==n||"function"!=typeof n&&"object"!=typeof n||(e.events=new j,e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}function P(e,t,n){"function"==typeof e.oninit&&u.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(u.bind(e.oncreate,t))}function Y(e,t,n){"function"==typeof e.onupdate&&n.push(u.bind(e.onupdate,t))}return j.prototype=Object.create(null),j.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e);var a=this;null!=a._&&(!1!==e.redraw&&(0,a._)(),null!=t&&"function"==typeof t.then&&Promise.resolve(t).then(function(){null!=a._&&!1!==e.redraw&&(0,a._)()})),!1===t&&(e.preventDefault(),e.stopPropagation())},function(t,n,r){if(!t)throw new TypeError("DOM element being rendered to does not exist.");if(null!=b&&t.contains(b))throw new TypeError("Node is currently being rendered to and thus is locked.");var o=a,l=b,s=[],c=d(t),u=t.namespaceURI;b=t,a="function"==typeof r?r:void 0,i={};try{null==t.vnodes&&(t.textContent=""),n=e.normalizeChildren(Array.isArray(n)?n:[n]),g(t,t.vnodes,n,s,null,"http://www.w3.org/1999/xhtml"===u?void 0:u),t.vnodes=n,null!=c&&d(t)!==c&&"function"==typeof c.focus&&c.focus();for(var f=0;f<s.length;f++)s[f]()}finally{a=o,b=l}}},A}function j(){return D?L:(D=1,L=N()())}var z,P,Y,R,V=a(),H=function(e,t,n){var a=[],r=!1,i=-1;function o(){for(i=0;i<a.length;i+=2)try{e(a[i],V(a[i+1]),l)}catch(e){n.error(e)}i=-1}function l(){r||(r=!0,t(function(){r=!1,o()}))}return l.sync=o,{mount:function(t,n){if(null!=n&&null==n.view&&"function"!=typeof n)throw new TypeError("m.mount expects a component, not a vnode.");var r=a.indexOf(t);r>=0&&(a.splice(r,2),r<=i&&(i-=2),e(t,[])),null!=n&&(a.push(t,n),e(t,V(n),l))},redraw:l}}(j(),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null);function F(){return P?z:(P=1,z=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)a(n,e[n]);return t.join("&");function a(e,n){if(Array.isArray(n))for(var r=0;r<n.length;r++)a(e+"["+r+"]",n[r]);else if("[object Object]"===Object.prototype.toString.call(n))for(var r in n)a(e+"["+r+"]",n[r]);else t.push(encodeURIComponent(e)+(null!=n&&""!==n?"="+encodeURIComponent(n):""))}})}function K(){if(R)return Y;R=1;var e=F();return Y=function(t,n){if(/:([^\/\.-]+)(\.{3})?:/.test(t))throw new SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(null==n)return t;var a=t.indexOf("?"),r=t.indexOf("#"),i=r<0?t.length:r,o=a<0?i:a,l=t.slice(0,o),s={};Object.assign(s,n);var c=l.replace(/:([^\/\.-]+)(\.{3})?/g,function(e,t,a){return delete s[t],null==n[t]?e:a?n[t]:encodeURIComponent(String(n[t]))}),u=c.indexOf("?"),d=c.indexOf("#"),f=d<0?c.length:d,h=u<0?f:u,p=c.slice(0,h);a>=0&&(p+=t.slice(a,i)),u>=0&&(p+=(a<0?"?":"&")+c.slice(u,f));var m=e(s);return m&&(p+=(a<0&&u<0?"?":"&")+m),r>=0&&(p+=t.slice(r)),d>=0&&(p+=(r<0?"":"&")+c.slice(d)),p},Y}var B,U,W,q,J,G,X=K(),Z=s(),Q=function(e,t){function n(e){return new Promise(e)}function a(e,t){for(var n in e.headers)if(Z.call(e.headers,n)&&n.toLowerCase()===t)return!0;return!1}return n.prototype=Promise.prototype,n.__proto__=Promise,{request:function(r,i){"string"!=typeof r?(i=r,r=r.url):null==i&&(i={});var o=function(t,n){return new Promise(function(r,i){t=X(t,n.params);var o,l=null!=n.method?n.method.toUpperCase():"GET",s=n.body,c=(null==n.serialize||n.serialize===JSON.serialize)&&!(s instanceof e.FormData||s instanceof e.URLSearchParams),u=n.responseType||("function"==typeof n.extract?"":"json"),d=new e.XMLHttpRequest,f=!1,h=!1,p=d,m=d.abort;for(var g in d.abort=function(){f=!0,m.call(this)},d.open(l,t,!1!==n.async,"string"==typeof n.user?n.user:void 0,"string"==typeof n.password?n.password:void 0),c&&null!=s&&!a(n,"content-type")&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof n.deserialize||a(n,"accept")||d.setRequestHeader("Accept","application/json, text/*"),n.withCredentials&&(d.withCredentials=n.withCredentials),n.timeout&&(d.timeout=n.timeout),d.responseType=u,n.headers)Z.call(n.headers,g)&&d.setRequestHeader(g,n.headers[g]);d.onreadystatechange=function(e){if(!f&&4===e.target.readyState)try{var a,o=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),l=e.target.response;if("json"===u){if(!e.target.responseType&&"function"!=typeof n.extract)try{l=JSON.parse(e.target.responseText)}catch(e){l=null}}else u&&"text"!==u||null==l&&(l=e.target.responseText);if("function"==typeof n.extract?(l=n.extract(e.target,n),o=!0):"function"==typeof n.deserialize&&(l=n.deserialize(l)),o){if("function"==typeof n.type)if(Array.isArray(l))for(var s=0;s<l.length;s++)l[s]=new n.type(l[s]);else l=new n.type(l);r(l)}else{var c=function(){try{a=e.target.responseText}catch(e){a=l}var t=new Error(a);t.code=e.target.status,t.response=l,i(t)};0===d.status?setTimeout(function(){h||c()}):c()}}catch(e){i(e)}},d.ontimeout=function(e){h=!0;var t=new Error("Request timed out");t.code=e.target.status,i(t)},"function"==typeof n.config&&(d=n.config(d,n,t)||d)!==p&&(o=d.abort,d.abort=function(){f=!0,o.call(this)}),null==s?d.send():"function"==typeof n.serialize?d.send(n.serialize(s)):s instanceof e.FormData||s instanceof e.URLSearchParams?d.send(s):d.send(JSON.stringify(s))})}(r,i);if(!0===i.background)return o;var l=0;function s(){0===--l&&"function"==typeof t&&t()}return function e(t){var a=t.then;return t.constructor=n,t.then=function(){l++;var n=a.apply(t,arguments);return n.then(s,function(e){if(s(),0===l)throw e}),e(n)},t}(o)}}}("undefined"!=typeof window?window:null,H.redraw);function ee(){if(U)return B;U=1;var e=/%(?:[0-7]|(?!c[01]|e0%[89]|ed%[ab]|f0%8|f4%[9ab])(?:c|d|(?:e|f[0-4]%[89ab])[\da-f]%[89ab])[\da-f]%[89ab])[\da-f]/gi;return B=function(t){return String(t).replace(e,decodeURIComponent)}}function te(){if(q)return W;q=1;var e=ee();return W=function(t){if(""===t||null==t)return{};"?"===t.charAt(0)&&(t=t.slice(1));for(var n=t.split("&"),a={},r={},i=0;i<n.length;i++){var o=n[i].split("="),l=e(o[0]),s=2===o.length?e(o[1]):"";"true"===s?s=!0:"false"===s&&(s=!1);var c=l.split(/\]\[?|\[/),u=r;l.indexOf("[")>-1&&c.pop();for(var d=0;d<c.length;d++){var f=c[d],h=c[d+1],p=""==h||!isNaN(parseInt(h,10));if(""===f)null==a[l=c.slice(0,d).join()]&&(a[l]=Array.isArray(u)?u.length:0),f=a[l]++;else if("__proto__"===f)break;if(d===c.length-1)u[f]=s;else{var m=Object.getOwnPropertyDescriptor(u,f);null!=m&&(m=m.value),null==m&&(u[f]=m=p?[]:{}),u=m}}}return r},W}function ne(){if(G)return J;G=1;var e=te();return J=function(t){var n=t.indexOf("?"),a=t.indexOf("#"),r=a<0?t.length:a,i=n<0?r:n,o=t.slice(0,i).replace(/\/{2,}/g,"/");return o?"/"!==o[0]&&(o="/"+o):o="/",{path:o,params:n<0?{}:e(t.slice(n+1,r))}}}var ae,re,ie=ne();function oe(){if(re)return ae;re=1;var e=s(),t=/^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$/;return ae=function(n,a){var r={};if(null!=a)for(var i in n)e.call(n,i)&&!t.test(i)&&a.indexOf(i)<0&&(r[i]=n[i]);else for(var i in n)e.call(n,i)&&!t.test(i)&&(r[i]=n[i]);return r}}var le=a(),se=b,ce=ee(),ue=K(),de=ne(),fe=oe(),he=function(e,t){var n,a,r,i,o,l,s,c,u=Promise.resolve(),d=!1,f=!1,h=!1,p={onremove:function(){f=h=!1,e.removeEventListener("popstate",v,!1)},view:function(){var e=le(o,l.key,l);return i?i.render(e):[e]}},m=y.SKIP={};function g(){d=!1;var f=e.location.hash;"#"!==y.prefix[0]&&(f=e.location.search+f,"?"!==y.prefix[0]&&"/"!==(f=e.location.pathname+f)[0]&&(f="/"+f));var g=ce(f).slice(y.prefix.length),v=de(g);function b(e){console.error(e),y.set(r,null,{replace:!0})}Object.assign(v.params,e.history.state),function e(d){for(;d<a.length;d++)if(a[d].check(v)){var f=a[d].component,w=a[d].route,x=f,k=c=function(a){if(k===c){if(a===m)return e(d+1);o=null==a||"function"!=typeof a.view&&"function"!=typeof a?"div":a,l=v.params,s=g,c=null,i=f.render?f:null,h?t.redraw():(h=!0,t.mount(n,p))}};return void(f.view||"function"==typeof f?(f={},k(x)):f.onmatch?u.then(function(){return f.onmatch(v.params,g,w)}).then(k,g===r?null:b):k())}if(g===r)throw new Error("Could not resolve default route "+r+".");y.set(r,null,{replace:!0})}(0)}function v(){d||(d=!0,setTimeout(g))}function y(t,i,o){if(!t)throw new TypeError("DOM element being rendered to does not exist.");if(a=Object.keys(o).map(function(e){if("/"!==e[0])throw new SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:e,component:o[e],check:(t=e,n=ie(t),a=Object.keys(n.params),r=[],i=new RegExp("^"+n.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(e,t,n){return null==t?"\\"+e:(r.push({k:t,r:"..."===n}),"..."===n?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||""))})+"\\/?$"),function(e){for(var t=0;t<a.length;t++)if(n.params[a[t]]!==e.params[a[t]])return!1;if(!r.length)return i.test(e.path);var o=i.exec(e.path);if(null==o)return!1;for(t=0;t<r.length;t++)e.params[r[t].k]=r[t].r?o[t+1]:decodeURIComponent(o[t+1]);return!0})};var t,n,a,r,i}),r=i,null!=i){var l=de(i);if(!a.some(function(e){return e.check(l)}))throw new ReferenceError("Default route doesn't match any known routes.")}n=t,e.addEventListener("popstate",v,!1),f=!0,g()}return y.set=function(t,n,a){if(null!=c&&((a=a||{}).replace=!0),c=null,t=ue(t,n),f){v();var r=a?a.state:null,i=a?a.title:null;a&&a.replace?e.history.replaceState(r,i,y.prefix+t):e.history.pushState(r,i,y.prefix+t)}else e.location.href=y.prefix+t},y.get=function(){return s},y.prefix="#!",y.Link={view:function(e){var t,n,a,r=se(e.attrs.selector||"a",fe(e.attrs,["options","params","selector","onclick"]),e.children);return(r.attrs.disabled=Boolean(r.attrs.disabled))?(r.attrs.href=null,r.attrs["aria-disabled"]="true"):(t=e.attrs.options,n=e.attrs.onclick,a=ue(r.attrs.href,e.attrs.params),r.attrs.href=y.prefix+a,r.attrs.onclick=function(e){var r;"function"==typeof n?r=n.call(e.currentTarget,e):null==n||"object"!=typeof n||"function"==typeof n.handleEvent&&n.handleEvent(e),!1===r||e.defaultPrevented||0!==e.button&&0!==e.which&&1!==e.which||e.currentTarget.target&&"_self"!==e.currentTarget.target||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),e.redraw=!1,y.set(a,null,t))}),r}},y.param=function(e){return l&&null!=e?l[e]:l},y}("undefined"!=typeof window?window:null,H),pe=$,me=H,ge=Q,ve=he,ye=function(){return pe.apply(this,arguments)};ye.m=pe,ye.trust=pe.trust,ye.fragment=pe.fragment,ye.Fragment="[",ye.mount=me.mount,ye.route=ve,ye.render=j(),ye.redraw=me.redraw,ye.request=ge.request,ye.parseQueryString=te(),ye.buildQueryString=F(),ye.parsePathname=ne(),ye.buildPathname=K(),ye.vnode=a(),ye.censor=oe(),ye.domFor=I();var be=n(ye),we={exports:{}};we.exports=function(){var e=6e4,t=36e5,n="millisecond",a="second",r="minute",i="hour",o="day",l="week",s="month",c="quarter",u="year",d="date",f="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,p=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var a=String(e);return!a||a.length>=t?e:""+Array(t+1-a.length).join(n)+e},v={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),a=Math.floor(n/60),r=n%60;return(t<=0?"+":"-")+g(a,2,"0")+":"+g(r,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var a=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(a,s),i=n-r<0,o=t.clone().add(a+(i?-1:1),s);return+(-(a+(n-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:s,y:u,w:l,d:o,D:d,h:i,m:r,s:a,ms:n,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",b={};b[y]=m;var w="$isDayjsObject",x=function(e){return e instanceof M||!(!e||!e[w])},k=function e(t,n,a){var r;if(!t)return y;if("string"==typeof t){var i=t.toLowerCase();b[i]&&(r=i),n&&(b[i]=n,r=i);var o=t.split("-");if(!r&&o.length>1)return e(o[0])}else{var l=t.name;b[l]=t,r=l}return!a&&r&&(y=r),r||!a&&y},C=function(e,t){if(x(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new M(n)},_=v;_.l=k,_.i=x,_.w=function(e,t){return C(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var M=function(){function m(e){this.$L=k(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var g=m.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(_.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var a=t.match(h);if(a){var r=a[2]-1||0,i=(a[7]||"0").substring(0,3);return n?new Date(Date.UTC(a[1],r,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)):new Date(a[1],r,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return _},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(e,t){var n=C(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return C(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<C(e)},g.$g=function(e,t,n){return _.u(e)?this[t]:this.set(n,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var n=this,c=!!_.u(t)||t,f=_.p(e),h=function(e,t){var a=_.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return c?a:a.endOf(o)},p=function(e,t){return _.w(n.toDate()[e].apply(n.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},m=this.$W,g=this.$M,v=this.$D,y="set"+(this.$u?"UTC":"");switch(f){case u:return c?h(1,0):h(31,11);case s:return c?h(1,g):h(0,g+1);case l:var b=this.$locale().weekStart||0,w=(m<b?m+7:m)-b;return h(c?v-w:v+(6-w),g);case o:case d:return p(y+"Hours",0);case i:return p(y+"Minutes",1);case r:return p(y+"Seconds",2);case a:return p(y+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var l,c=_.p(e),f="set"+(this.$u?"UTC":""),h=(l={},l[o]=f+"Date",l[d]=f+"Date",l[s]=f+"Month",l[u]=f+"FullYear",l[i]=f+"Hours",l[r]=f+"Minutes",l[a]=f+"Seconds",l[n]=f+"Milliseconds",l)[c],p=c===o?this.$D+(t-this.$W):t;if(c===s||c===u){var m=this.clone().set(d,1);m.$d[h](p),m.init(),this.$d=m.set(d,Math.min(this.$D,m.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[_.p(e)]()},g.add=function(n,c){var d,f=this;n=Number(n);var h=_.p(c),p=function(e){var t=C(f);return _.w(t.date(t.date()+Math.round(e*n)),f)};if(h===s)return this.set(s,this.$M+n);if(h===u)return this.set(u,this.$y+n);if(h===o)return p(1);if(h===l)return p(7);var m=(d={},d[r]=e,d[i]=t,d[a]=1e3,d)[h]||1,g=this.$d.getTime()+n*m;return _.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||f;var a=e||"YYYY-MM-DDTHH:mm:ssZ",r=_.z(this),i=this.$H,o=this.$m,l=this.$M,s=n.weekdays,c=n.months,u=n.meridiem,d=function(e,n,r,i){return e&&(e[n]||e(t,a))||r[n].slice(0,i)},h=function(e){return _.s(i%12||12,e,"0")},m=u||function(e,t,n){var a=e<12?"AM":"PM";return n?a.toLowerCase():a};return a.replace(p,function(e,a){return a||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return _.s(t.$y,4,"0");case"M":return l+1;case"MM":return _.s(l+1,2,"0");case"MMM":return d(n.monthsShort,l,c,3);case"MMMM":return d(c,l);case"D":return t.$D;case"DD":return _.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return d(n.weekdaysMin,t.$W,s,2);case"ddd":return d(n.weekdaysShort,t.$W,s,3);case"dddd":return s[t.$W];case"H":return String(i);case"HH":return _.s(i,2,"0");case"h":return h(1);case"hh":return h(2);case"a":return m(i,o,!0);case"A":return m(i,o,!1);case"m":return String(o);case"mm":return _.s(o,2,"0");case"s":return String(t.$s);case"ss":return _.s(t.$s,2,"0");case"SSS":return _.s(t.$ms,3,"0");case"Z":return r}return null}(e)||r.replace(":","")})},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(n,d,f){var h,p=this,m=_.p(d),g=C(n),v=(g.utcOffset()-this.utcOffset())*e,y=this-g,b=function(){return _.m(p,g)};switch(m){case u:h=b()/12;break;case s:h=b();break;case c:h=b()/3;break;case l:h=(y-v)/6048e5;break;case o:h=(y-v)/864e5;break;case i:h=y/t;break;case r:h=y/e;break;case a:h=y/1e3;break;default:h=y}return f?h:_.a(h)},g.daysInMonth=function(){return this.endOf(s).$D},g.$locale=function(){return b[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),a=k(e,t,!0);return a&&(n.$L=a),n},g.clone=function(){return _.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},m}(),S=M.prototype;return C.prototype=S,[["$ms",n],["$s",a],["$m",r],["$H",i],["$W",o],["$M",s],["$y",u],["$D",d]].forEach(function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),C.extend=function(e,t){return e.$i||(e(t,M,C),e.$i=!0),C},C.locale=k,C.isDayjs=x,C.unix=function(e){return C(1e3*e)},C.en=b[y],C.Ls=b,C.p={},C}();var xe=we.exports,ke=n(xe),Ce={exports:{}};Ce.exports=function(e,t,n){e=e||{};var a=t.prototype,r={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(e,t,n,r){return a.fromToBase(e,t,n,r)}n.en.relativeTime=r,a.fromToBase=function(t,a,i,o,l){for(var s,c,u,d=i.$locale().relativeTime||r,f=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],h=f.length,p=0;p<h;p+=1){var m=f[p];m.d&&(s=o?n(t).diff(i,m.d,!0):i.diff(t,m.d,!0));var g=(e.rounding||Math.round)(Math.abs(s));if(u=s>0,g<=m.r||!m.r){g<=1&&p>0&&(m=f[p-1]);var v=d[m.l];l&&(g=l(""+g)),c="string"==typeof v?v.replace("%d",g):v(g,a,m.l,u);break}}if(a)return c;var y=u?d.future:d.past;return"function"==typeof y?y(c):y.replace("%s",c)},a.to=function(e,t){return i(e,t,this,!0)},a.from=function(e,t){return i(e,t,this)};var o=function(e){return e.$u?n.utc():n()};a.toNow=function(e){return this.to(o(this),e)},a.fromNow=function(e){return this.from(o(this),e)}};var _e=n(Ce.exports);function Me(e,t,n,a,r){return{...e&&{view:e},...t&&{oninit:t},...n,...r,...a}}const Se={view:({attrs:e})=>be(`i.icon.${e.pack||"fas"}.fa-${e.icon||"cog"}${e.size?".fa-"+e.size+"x":""}`,{title:e.icontitle||void 0,role:"presentation",onclick:e.onclick||null,...e.iconClass&&{class:e.iconClass}})},Te={view:({attrs:e,state:t,children:n})=>be(e.download||e.link?"a.button":"button",{...e.link&&{href:e.link},...e.download&&{download:e.download},...e.target&&{target:e.target},"aria-label":e["aria-label"]||e.title||e.text,title:e.title||e["aria-label"],class:(e.class||"")+(t.busy?" busy":""),...t.error&&{"data-error":t.error.message},...e.onclick&&{onclick:n=>{clearTimeout(t.debounce),t.debounce=setTimeout(()=>{const a=e.onclick(n,e);a&&a.then&&a.catch&&(t.busy=!0,be.redraw(),a.then(()=>{t.busy=!1,be.redraw()}).catch(e=>{t.busy=!1,t.error=e,be.redraw()}))},25)}}},[...e.icon&&!e.right?[be(Se,e)]:[],...e.text?[be("span.pad-1.pad-h",{class:e.textClass||null},e.text)]:[],...e.icon&&e.right?[be(Se,e)]:[],...n])},Ae={view:({attrs:e,state:t,children:n})=>be(e.download||e.link?"a.button":"button",{...e.link&&{href:e.link},...e.download&&{rel:"nofollow",download:e.download},...e.target&&{target:e.target},"aria-label":e["aria-label"]||e.title||e.text,title:e.title||e["aria-label"],class:(e.class||"")+(t.busy?" busy":""),...t.error&&{"data-error":t.error.message},...e.onClick&&{onclick:n=>{clearTimeout(t.debounce),t.debounce=setTimeout(()=>{const a=e.onClick(n,e);a&&a.then&&a.catch&&(t.busy=!0,be.redraw(),a.then(()=>{t.busy=!1,be.redraw()}).catch(e=>{t.busy=!1,t.error=e,be.redraw()}))},25)}}},[...e.icon&&!e.right?[be(Se,e)]:[],...e.text?[be("span.pad-1.pad-h",{class:e.textClass||null},e.text)]:[],...e.icon&&e.right?[be(Se,e)]:[],...n])},Ee={view:({attrs:e,children:t})=>be(".flexcol.flexcenter.al-center.grows.emptywidget",{...e.class&&{class:e.class},...e.key&&{key:e.key},role:"presentation"},[be(Se,e),...e.message?[be(".marg-2.marg-v",{role:"status",class:e.size>4?"font-150":"font-100","aria-label":e.message},e.message.split("\n").map((e,t,n)=>1===n.length?e:be("p.msg"+t,e)))]:[],...t?[be(".flexcol.additional",t)]:[]])},Le={info:"info",error:"exclamation-triangle",success:"check"},De=new function(e=5e3,t){let n,a=[];function r(){const i=t||document.getElementById("notification-container");if(a.length){const t=a.splice(0,1)[0];!function(e,t){be.render(e,be(Te,{class:"notification "+t.type,text:t.text,icon:Le[t.type]||"info",size:1,role:"status",onclick:r}))}(i,t),clearTimeout(n),n=setTimeout(r,t.timer||e)}else be.render(i,""),n=null}return{add:(e,t)=>{a.push({text:e,type:t}),n||r()},clear:()=>{a=[],r()}}},$e={},Oe=Me(({attrs:e,state:t,children:n})=>{const{nofold:a,cardid:r,size:i,title:o,action:l,collapsedAction:s,collapsedClass:c,expandedClass:u,cols:d,element:f,busy:h,expandedView:p,collapsedView:m,titleWidget:g,titleAttrs:v,titleClass:y,bodyClass:b,titleExpanded:w,titleCollapsed:x,foldIcon:k="fa-chevron-down"}=e,C=!a&&(r?!$e[r]:!!t.collapsed),_=C?m?m(e,t):[]:p?p(e,t):n||[],M=g?be(g,v||{}):o?be("span.ellipsis.ohidden.unfold",o):void 0,S=h?"fa-sync":`${k} ${C?"iscollapsed":"isexpanded"}`;return _.length||!e.skipEmpty?be(f||"ul",{class:"cardie ohidden "+(d?"flexcol ":"flexrow wrap ")+(e.class?" "+e.class:"")+(a?" expanded":" "+(C?"collapsed "+(c||""):"expanded "+(u||"")))+(i?" marg-"+i:"")+(g?" withwidget":"")+(h?" busycard":"")},[...M?[be(".title.grows.fabf.flexrow.pointer.unfold",a?{class:y||"pad-2"}:{class:`${y||"pad-2"} ${S||""}`,title:C?x||"Click to expand the options":w||x||"Click to collapse the options",onclick:n=>{n.target.classList.contains("unfold")&&(n.shiftKey&&e.onShiftOpen?e.onShiftOpen():e.cardid?function(e,t=0){if(e){const[n,a]=e.split("-");t&&n&&a&&Object.keys($e).forEach(e=>{e.startsWith(n+"-")&&($e[e]=0)}),$e[e]=t}}(r,C):t.collapsed=!t.collapsed,be.redraw())}},!l||!a&&C?s&&C?[be(Ae,s),M]:M:[be(Ae,l),M])]:[],..._.length?[be(".flexbreak"),be(".cardiebody.fadein-filter.grows",{class:(d?"flexcol ":"flexrow wrap")+" "+(b||"")},..._)]:[],...e.alwaysView?[e.alwaysView({attrs:e,state:t})]:[]]):[]},({attrs:e,state:t})=>{e.cardid||(t.collapsed=!e.nofold&&(e.cardid?!$e[e.cardid]:!!e.collapsed))},void 0,void 0,void 0);function Ie(e,t,n,a,r){return{...e&&{view:e},...t&&{oninit:t},...n&&{oncreate:n},...r&&{onupdate:r},...a&&{onremove:a}}}const Ne=Ie(({attrs:e,children:t})=>be(".separator",{class:e.class||"mini",...e.onClick&&{onclick:e.onClick}},[be("span.grows",e.text),...t||[]])),je=Me(({attrs:e})=>{const{value:t,field:n,toggle:a,element:r,emptyMessage:i,chooseKey:o,chooseDict:l}=e,s=!e.choose&&o&&l?l[o]:e.choose,c=s?s.map(e=>({value:e,caption:e})):e.choices||{},u=Object.keys(c),d=u.length,f=(e.class||"")+(e.subclass?" "+e.subclass:" scaff scaff-b1");return d||i?[...e.label?[be(Ne,{text:e.label,class:e.labelClass||""})]:[],be((r||"div")+".buttonchoice.flexrow.ohidden",{class:f+(e.icon?" withicon fa-"+e.icon:""),title:e.title},be(".flexrow.grows.ohidden.wrap"+(e.icon?" scaff-left":""),u.length?u.map(r=>{const i=c[r],o=e.raw&&n?i:i.value,l=(n?o[n]:o)===t;return be(Ae,{icon:i.icon||void 0,class:"grows scaff-b0 "+(e.buttonClass?e.buttonClass+" ":"rectbutton unitheightsmall ")+(i.class?i.class+" ":"")+(l?"accent":""),title:i.current?i.titleOn||i.title:i.titleOff||i.title,onClick:t=>{e.onchange(a&&l?void 0:i,r,t),be.redraw()}},e.render?e.render(i):i.caption||r)}):[be(".emptychoice.grows.al-center.align-self-center.unitheightsmall",e.emptyMessage)]))]:[]}),ze=(e,t,n=!1)=>{if(n||"number"===e.type){const n=e.float?Number.parseFloat(t):Number.parseInt(t,10);return Number.isNaN(n)?void 0:n}return t},Pe=(e,t,n)=>{const a=t.hasOwnProperty("value")?t.value:e.value;return ze(e,a,n)},Ye={view:e=>{const{attrs:t,state:n}=e;return n.attrs=t,be(".input-static.w-100.ellipsis",{class:(t.onDrag?"withdrag ":"")+(t.staticClass||"grows"),...t.staticTitle&&{title:t.staticTitle},...t.onDrag||{onclick:t.onClick},oncreate:({dom:n,state:a})=>{if(t.onDrag&&!t.readonly){const t=a.hammer=new Hammer.Manager(n,{touchAction:"pan-y"}),r=new Hammer.Pan({direction:Hammer.DIRECTION_VERTICAL}),i=new Hammer.Tap;t.add([r,i]),t.on("tap",()=>e.state.attrs.onClick()),t.on("panup",t=>e.state.attrs.onDrag(-1,t.srcEvent)),t.on("pandown",t=>e.state.attrs.onDrag(1,t.srcEvent)),t.on("panend pancancel",t=>e.state.attrs.onDrag(0,t.srcEvent))}t.focus&&n.focus()},onremove:({state:e})=>{e.hammer&&e.hammer.destroy()}},t.value)}},Re={view:({attrs:e,state:t})=>{const n=e=>{t.value&&t.showInput&&delete t.showInput,delete t.value,e&&be.redraw()},a=[...!e.multi||e.alwaysmulti||e.type&&"text"!==e.type?[]:[be(Ae,{icon:t.multi?"angle-double-up":"angle-double-down",class:"pad-2 transp inputaction",onClick:()=>{t.multi=!t.multi,be.redraw()}})],...e.actions?e.actions.map(e=>be(Ae,{...e,class:"inputaction transp pad-2"})):[],...e.action?[be(Ae,{...e.action,class:"inputaction transp pad-2"})]:[]];return be(".textfield.flexcol.relative",{class:(e.label?"witharia":"")+(e.containerClass?" "+e.containerClass:""),...e.label&&{"aria-label":e.label}},be(".textfieldinner.flexrow",[!e.staticField||!e.readonly&&t.showInput?!t.multi&&!e.alwaysmulti||e.type&&"text"!==e.type?be("input.w-100",{...e.id&&{id:e.id},type:e.type||"text",...void 0!==e.max&&{max:e.max},...void 0!==e.min&&{min:e.min},...e.step>0&&{step:e.step},...e.maxlength&&{maxlength:e.maxlength},class:(e.class||"")+(e.validator?t.isValid?" bg-ok":" bg-error":""),...e.title&&{title:e.title},value:Pe(e,t),placeholder:e.hint||"",...e.readonly?{readonly:"readonly"}:{oninput:n=>{t.value=ze(e,n.target.value),n.fromoninput=!0,e.validator&&(t.isValid=e.validator(t.value)),e.onchange&&(e.oninput||e.onchange)(t.value,n)},onchange:a=>{e.onchange&&(e.validator&&(t.isValid=e.validator(t.value)),a.enterPressed=t.enterPressed,delete t.enterPressed,e.onchange(ze(e,a.target.value),a),e.staticField?n(!0):delete t.value)},onblur:()=>{t.showInput&&n(!0)},onkeyup:a=>{t.showInput&&("Escape"===a.key?n(!0):"Enter"===a.key&&(t.value!==e.value&&t.value||(e.onchange(e.value,a),n(!0))))},onbeforeinput:t=>{"number"===e.subtype&&t.data&&!/^[0-9.\-]$/.test(t.data)&&t.preventDefault()},inputmode:"number"===e.subtype?"decimal":void 0,onkeypress:n=>{t.showInput||"Enter"!==n.key||e.onenter&&e.onenter(n.target.value,n)}}}):be("textarea.w-100",{class:e.class,value:Pe(e,t),...e.title&&{title:e.title},placeholder:e.hint||"",oninput:n=>{t.value=ze(e,n.target.value),e.validator&&(t.isValid=e.validator(t.value)),e.onchange&&(e.oninput||e.onchange)(t.value,n,!0)},onchange:a=>{if(e.onchange){e.validator&&(t.isValid=e.validator(t.value));const r=ze(e,a.target.value);n(!1),e.onchange(r,a,!0)}},onblur:()=>{t.showInput&&n(!0)},onkeyup:e=>{"Escape"===e.key&&t.showInput&&n(!1)}}):be(Ye,{readonly:e.readonly,staticClass:(t.dragging?"accent ":"")+(e.staticClass||""),staticTitle:e.staticTitle||e.draginc&&"Click then drag up and down to modify value, or just click to enter a custom value",value:e.displayTitle||Pe(e,t),focus:e.focus,...e.draginc&&!e.readonly&&{onDrag:(n,a)=>{if(n){t.dragging=!0;let r=Pe(e,t,!0);if(Number.isNaN(r)||void 0===r)return;r+=n*e.draginc,void 0!==e.max&&r>e.max&&(r=e.max),void 0!==e.min&&r<e.min&&(r=e.min),t.value="number"===e.type?r:String(r),e.onchange(t.value,a)}else delete t.dragging,delete t.value,be.redraw()}},...e.readonly||{onClick:()=>{t.showInput=!0,t.value=e.value,be.redraw()}}}),...a.length?[be(".span.actions",a)]:[]]))},oninit:({attrs:e,state:t})=>{if(e.staticField&&e.draginc){const n=Pe(e,t,!0);t.showInput=Number.isNaN(n)||null==n}}},Ve=Me(({attrs:e,children:t})=>t.length?be(".notice.cardie.flexcol.pad-3",{class:e.class||"marg-2 font-75"},be(".flexrow",[...e.icon?[be(Se,e)]:[],be(".pad-2.pad-h",e.text)]),...t):be(".notice.cardie.flexrow.pad-3",{class:e.class||"marg-2 font-75",onclick:e.onClick},[...e.icon?[be(Se,e)]:[],(e.texts||[e.text]).map(e=>be(".pad-2.pad-h",e))])),He={view:({attrs:e})=>e.items.map(({name:t},n)=>be("option",{...e.state.index===n+(e.offset||0)&&{selected:!0}},t))};let Fe;function Ke(e,t){if(e.groups){t.groups={},t.allItems=[],e.parsed=!0,Object.keys(e.groups).forEach(n=>{t.groups[n]={label:n,len:e.groups[n].length,items:e.groups[n]}});const n=Object.values(t.groups);n.forEach((a,r)=>{e.value&&(t.index=0),a.offset=r?n[r-1].offset+n[r-1].len:0,t.allItems=t.allItems.concat(a.items),e.value&&a.items.forEach((n,r)=>{const i=n.value;(e.parser?e.parser(i):i)===e.value&&(t.index=r+a.offset)})})}else if(e.items){t.index=0;for(let n=0,a=e.items.length;n<a;n++){const a=e.items[n].value;if((e.parser?e.parser(a):a)===e.value){t.index=n;break}}t.allItems=e.items}else t.allItems=[]}const Be={view:({attrs:e,state:t})=>{const{groups:n}=t;return be("select",{"aria-label":e.caption,class:e.class,oninput:n=>{Ke(e,t);const a=t.index=n.target.selectedIndex,r=a>=0?t.allItems[a]:null;e.onchange&&r&&e.onchange(r.value,r,a),be.redraw()}},n?Object.values(n).map(e=>be("optgroup",{label:e.label},be(He,{items:e.items,offset:e.offset,state:t}))):be(He,{items:null!=e.items?e.items:[],state:t}))},oninit:({attrs:e,state:t})=>{Object.assign(t,{index:e.index||0,initial:e.value}),Ke(e,t)},oncreate:()=>{},onupdate:({attrs:e,state:t})=>{const n=void 0!==e.value&&t.initial!==e.value;(!t.groups&&!t.allItems||n)&&(Ke(e,t),n&&(t.initial=e.value,clearTimeout(Fe),Fe=setTimeout(()=>be.redraw(),50)))}};let Ue;function We(e){"function"==typeof Ue&&(Ue(),Ue=void 0),qe.redraw&&(qe.redraw(!0),delete qe.redraw),e.style.display="none"}function qe(e,t=!1,n=".modal-content"){const a=document.getElementById("modal-container");if(a.classList.toggle("iscustom",".modal-content"!==n),t&&(Ue=t,a.onclick=e=>{"modal-container"===e.target.id&&We(a)}),!e)return qe.redraw&&(qe.redraw(!0),delete qe.redraw),void(null===e?a.style.display="none":We(a));a.style.display="flex",qe.redraw=t=>{be.render(a,be(n,{role:"alertdialog","aria-labelledby":"modaltitle","aria-modal":!0},t||!e?[]:["function"==typeof e?e():e]))},qe.redraw()}const Je=/[^0-9A-Z._\-]+/gi,Ge=/[^0-9A-Z_\-]+/gi;function Xe(e,t,n,a){return new Promise(r=>{function i(e){qe(null);try{r(e)}catch(e){}}const o=((e,t)=>{const n=[];if(t)for(const e of Object.keys(t))t[e]&&n.push("."+e);return".popup.flexcol"+n.join("")})(0,{".favlist":(a=a||{}).favlist,".isfav":e&&e.classList.contains("isfav"),".isplay":e&&e.classList.contains("selected")});qe(be({view:()=>be(o,{onclick:n=>{if("INPUT"===n.target.nodeName)return;const a=n.target.getAttribute("data-action");a?i({domItem:e,item:t,action:a}):qe(null)}},[...t.title?[be("h3",{id:"modaltitle"},t.title)]:[],...n.map(n=>"text"===n.type?be("input.action",{value:n.value||"",type:"text",placeholder:n.hint||"",oncreate:({dom:e})=>e.focus(),onkeyup:a=>{27===a.keyCode&&i({domItem:e,item:t,action:n})},onchange:a=>{a.target.blur(),i({domItem:e,item:t,action:n,value:a.target.value})}}):be(Te,{...n,onclick:()=>i({domItem:e,item:t,action:n})},n.caption))])}),!0)})}function Ze(e,t,n=void 0,a="YES",r="NO"){Qe(e,[r,a],n).then(e=>{e?t(e):n&&n()}).catch(()=>{n&&n()})}function Qe(e,t=["NO","YES"],n="cancelled"){return new Promise((a,r)=>{(function(e,t,n,a=!1){let r;return"function"==typeof a&&(r=a,a=!1),new Promise(e=>{const i=n.map((t,n)=>({caption:t,onclick:()=>e({idx:n,name:t})}));!function(e,t,n=["CANCEL","OK"],a={}){qe(be({view:()=>[...t?[be("h4",t)]:[],be(".container",n.map(e=>be("button",{onclick:()=>{document.getElementById("modal-container").style.display="none",e.onclick&&e.onclick(e.caption)}},e.caption||"OK")))]},{}),a.onCancel||!a.noCancel)}(0,t,i,{onCancel:r,noCancel:a})})})(0,e,t,()=>r(new Error(n))).then(({idx:e})=>{e>=0?a(e):r(new Error(n))})})}const et=Ie(({attrs:e,state:t})=>be((e.unit||"")+".flexrow"+(e.subline?" withsubline":""),{class:e.class,text:e.text,title:e.title||null,onclick:()=>{t.checked=!t.checked,e.onchange&&e.onchange(t.checked),be.redraw()}},e.right?[...e.text?[be("span.grows.caption",e.subline?{"data-subline":e.subline}:{},e.text)]:[],be(Se,{iconClass:"pad-2 pad-h",icon:t.checked?"toggle-on":"toggle-off"})]:[be(Se,{iconClass:"pad-2 pad-h",icon:t.checked?"toggle-on":"toggle-off"}),...e.text?[be("span.grows.caption",e.subline?{"data-subline":e.subline}:{},e.text)]:[]]),({attrs:e,state:t})=>{t.checked=t.original=e.checked},null,null,({attrs:e,state:t})=>{e.checked!==t.original&&(t.checked=t.original=e.checked,be.redraw())}),tt=window.structuredClone?window.structuredClone:e=>JSON.parse(JSON.stringify(e));function nt(e,t,n,a,r={}){setTimeout(()=>Xe(document.body,{title:e},[{type:"text",hint:n,value:t}]).then(({value:e})=>(r.refreshKey=String(Date.now()),a(e))),100)}const at=[["Lights and Fog",null,["amblight","l0","l1","l2","l3","fog"],0],["Face and Accessories",null,["facekit"],1],["Particle settings",null,["particles"],2],["Video Segmentation","common",["segcam","mask","green"],3,!0],["Video Effects",null,["fxconfig"],9],["Video Plane","val",["xvideo","yvideo","zvideo","rvideo","svideo","video"],4],["Main Camera","val",["ypos","xpos","zoom","yaw","pitch","roll","ai"],5],["Drone Camera","val",["free"],6],["Followed Agent","val",["track"],10],["Game Camera","val",["orbit","track","ocam"],7,void 0,!0],["Transition Speed","val",["spd"],8]],rt=Ie(({attrs:e})=>be("h2.marg-2.no-marg-bottom",e.title));Ie(({attrs:e})=>{const{type:t="changes",meta:n,onInput:a,title:r,options:i}=e,o=n.title?.trim().length&&n.description?.trim().length,l=i&&i.embedded;return be(".flexcol.grows.ohidden.fadein",[...e.title?[be(rt,{title:r})]:[],be(".flexrow.wrap.grows.pad-3.propsgroup.scrolly",[...e.notice?[be(Ve,{class:"marg-1 marg-v withbottommargin font-75 col-12",size:1,icon:"info-circle",text:e.notice})]:[],be(".witharia.col-12.pad-1.pad-v",{"aria-label":t+" name"},be(Re,{class:"pad-2 pad-xh "+(o?"valid":"invalid"),value:n.title,maxlength:64,onchange:e=>{n.title=e,be.redraw()}})),...l?[]:[be(".col-12.witharia.pad-1.pad-v",{"aria-label":"description"},be(Re,{class:"pad-2 pad-xh "+(n.description?"valid":"invalid"),value:n.description,maxlength:240,multi:!0,alwaysmulti:!0,onchange:e=>{n.description=e,be.redraw()}})),be(".col-8.witharia.pad-1.pad-v",{"aria-label":"tags"},be(Re,{class:"pad-2 pad-xh",value:n.tags,maxlength:128,onchange:e=>{n.tags=e.toLowerCase().split(" ").join(",").split(",").filter(e=>e.length).join(",")}})),be(".col-4.witharia.pad-1.pad-v",{"aria-label":"youtube video"},be(Re,{class:"pad-2 pad-xh",value:n.ytref||"",hint:"YouTube ID",maxlength:16,onchange:e=>{(e=e.trim())?-1===e.indexOf(" ")&&(n.ytref=e.trim()):delete n.ytref}}))],be(".col-4.witharia.pad-1.pad-v",{"aria-label":"content attribution"},be(Re,{class:"pad-2 pad-xh",value:n.author,hint:"author name",maxlength:128,onchange:e=>{n.author=e}})),be(".col-4.witharia.pad-1.pad-v",{"aria-label":"license or author link"},be(Re,{class:"pad-2 pad-xh",hint:"https://...",value:n.link,maxlength:128,onchange:e=>{n.link=e}})),be(".col-4.witharia.pad-1.pad-v",{"aria-label":"source domain"},be(Re,{class:"pad-2 pad-xh",value:n.source,hint:"example.com",maxlength:128,onchange:e=>{n.source=e}})),be(".col-12.al-right.marg-2.marg-v",be(Ae,{class:"noshrink accentbutton unitheightsmall col-4",text:"save "+t,onClick:()=>{n.title?.trim().length&&(l||n.description?.trim().length)?(qe(null),a(n)):De.add("Information is incomplete or invalid")}}))])])}),Ie(({attrs:e})=>{const{parameters:t,preset:n,presetComponents:a,types:r,globalData:i,fetcher:o}=e,l=[],s=[],c=r?at:at.filter(e=>{const[,a,r,o,c]=e,u=a?n[a]:n,d=c?i:t,f=a?d[a]:d;let h=!1;if(r.length){for(const e of r)u&&void 0!==u[e]&&(h=l[o]=!0),void 0!==f[e]&&(h=s[o]=!0);return h}return h=!0,s[o]=!!f,l[o]=!!u,h});return be("ul.flexrow.wrap.userdialog",c.length?c.map(c=>{const[u,d,f,h,p,m]=c,g=r?void 0:d?n[d]:n,v=p?i:t,y=r?void 0:d?v[d]:v,b=r||l[h],w=s[h];return[...a?[be(et,{title:`Include ${c[0]} in snapshots`,class:"grows unitheightsmall"+(a[h]?" accent":""),checked:!!a[h],onchange:t=>{a[h]=!a[h],be.redraw(),e.redraw&&e.redraw()}}),be(".grows",{class:b?"avail":"unavail"},u)]:[],...e.types?[]:[be(Ae,{class:"col-3"+(w?"avail":"unavail"),icon:"sync",title:`Copy ${u} from current state`,onClick:()=>{if(f.length){d&&!n[d]&&(n[d]={});const e=d?n[d]:n;for(const t of f)if(void 0!==y[t]){const n=m&&o?o(e[t],h):y[t];e[t]=tt(n)}}else if(0===f.length&&d&&void 0!==y){const e=m&&o?o(y,h):y;n[d]=tt(e)}e.redraw&&e.redraw(),De.add(`updated ${u} from current scene`)}}),be(Ae,{class:"col-3 "+(b?"":"disabled text-lo"),icon:"trash",title:`Delete ${u} in preset`,onClick:()=>b&&(()=>{if(f.length)for(const e of f)delete g[e];else 0===f.length&&d&&delete n[d];e.redraw&&e.redraw()})()})],be(".flexbreak")]}):be("h3","Preset is Empty"))});const it=Ie(({attrs:e})=>be(".flexcol.combocontainer.grows",{class:(e.outerClass||"")+" "+(e.label?"witharia":""),...e.label&&{"aria-label":e.label},title:e.hint},[be(".flexrow.combowidget.bg-inputs",{class:(e.value?"yesvalue ":"novalue ")+(e.class||"")},[be(Ae,{class:"transp combovalue grows flexrow "+(e.buttonClass||"")+(e.innerLabel?" witharia":""),textClass:"grows "+e.textClass,iconClass:"noshrink",...e.innerLabel&&{"aria-label":e.innerLabel},onClick:t=>{t.shiftKey?e.onchange(void 0,t):e.locked||function(e){const{title:t,items:n,itemsKey:a,itemsText:r,field:i,onchange:o,textNew:l,textHint:s,resolve:c,icon:u}=e,d="function"==typeof n?n():n;(function(e,t,n={}){const{title:a,field:r,icon:i,textNew:o,textHint:l,resolve:s}=n,c=Array.isArray(e)?e.map(e=>({icon:i,caption:r?e[r]:e,onClick:n=>t(e,n)})):Object.keys(e).map(n=>({icon:e[n].icon||i,caption:e[n].caption||n,onClick:a=>t(s&&void 0!==e[n].value?e[n].value:e[n],a)}));Array.isArray(e)&&!e.length?De.add("No items available"):Xe(document.body,{title:a},[...o&&!r?[{icon:"plus",caption:o,onClick:()=>nt(o,"",l,e=>{e&&e&&e.trim()&&(t(e),be.redraw())})}]:[],...c]).then(({action:e})=>e.onClick()).finally(()=>{})})(a?"function"==typeof a?a():d[a]||[]:d,o,{title:t,field:i,icon:u,textNew:l,textHint:s,resolve:c})}(e)},...e.value?{icon:e.value?.icon||e.icon,text:e.field||e.fieldTitle?e.value[e.fieldTitle||e.field]:e.itemsText&&e.itemsText[e.value]||e.value}:{icon:e.emptyIcon||(e.emptyText?"":"plus"),text:e.emptyText||""}}),e.value&&!e.nodelete?[be(Ae,{class:"clrcombo pad-2 pad-h transp "+(e.closeClass||"scaff-left"),onClick:t=>{const{field:n}=e;if(!e.confirm||t.shiftKey||t.metaKey||t.ctrlKey||t.altKey)e.onchange(n?void 0:"",t);else{const a="function"==typeof e.confirm?e.confirm():e.confirm;a?Ze(a,()=>{e.onchange(n?void 0:"",t)}):e.onchange(n?void 0:"",t)}be.redraw()},icon:e.removeIcon||"times",title:e.removeHint||"remove this item"})]:[]])])),ot=function(){function e(e,t){return e(t={exports:{}},t.exports),t.exports}"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var t=e(function(e,t){var n;e.exports=(n=function(){function e(e,t){e?(a(e,t,"touchstart","touchmove","touchend"),a(e,t,"mousedown","mousemove","mouseup")):console.warn("drag is missing elem!")}return e.xyslider=function(a){var r=n(a.class||"",a.parent),i=n("pointer",r);return n("shape shape1",i),n("shape shape2",i),n("bg bg1",r),n("bg bg2",r),e(r,t(a.cbs,i)),{background:r,pointer:i}},e.slider=function(a){var r=n(a.class,a.parent),i=n("pointer",r);return n("shape",i),n("bg",r),e(r,t(a.cbs,i)),{background:r,pointer:i}},e;function t(e,t){var n={};for(var a in e)n[a]=r(e[a]);function r(e){return function(n){n.pointer=t,e(n)}}return n}function n(e,t){return function(e,t,n){var a=document.createElement(e);return t&&(a.className=t),n.appendChild(a),a}("div",e,t)}function a(e,t,n,a,c){var u=(t=function(e){return e?{begin:e.begin||l,change:e.change||l,end:e.end||l}:{begin:function(e){t={x:e.elem.offsetLeft,y:e.elem.offsetTop},n=e.cursor},change:function(e){o(e.elem,"left",t.x+e.cursor.x-n.x+"px"),o(e.elem,"top",t.y+e.cursor.y-n.y+"px")},end:l};var t,n}(t)).begin,d=t.change,f=t.end;r(e,n,function(t){var n=function(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}(s,d,e);r(document,a,n),r(document,c,function r(){i(document,a,n),i(document,c,r),s(f,e,t)}),s(u,e,t)})}function r(e,t,n){var a=!1;try{var r=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("testPassive",null,r),window.removeEventListener("testPassive",null,r)}catch(e){}e.addEventListener(t,n,!!a&&{passive:!1})}function i(e,t,n){e.removeEventListener(t,n,!1)}function o(e,t,n){e.style[t]=n}function l(){}function s(e,t,n){n.preventDefault();var a,r,i=function(e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top}}(t),o=t.clientWidth*(window.SCALE||1),l=t.clientHeight*(window.SCALE||1),s={x:(a=n,r=a.touches?a.touches[a.touches.length-1]:a,Math.floor(r.clientX)),y:c(0,n)},u=(s.x-i.x)/o,d=(s.y-i.y)/l;e({x:isNaN(u)?0:u,y:isNaN(d)?0:d,cursor:s,elem:t,e:n})}function c(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientY)}}(),n)}),n=e(function(e,t){e.exports=function(){function e(t){if(Array.isArray(t)){if("string"==typeof t[0]&&"function"==typeof e[t[0]])return new e[t[0]](t.slice(1,t.length));if(4===t.length)return new e.RGB(t[0]/255,t[1]/255,t[2]/255,t[3]/255)}else if("string"==typeof t){var a=t.toLowerCase();e.namedColors[a]&&(t="#"+e.namedColors[a]),"transparent"===a&&(t="rgba(0,0,0,0)");var o=t.match(i);if(o){var l=o[1].toUpperCase(),s=n(o[8])?o[8]:parseFloat(o[8]),c="H"===l[0],u=o[3]?100:c?360:255,d=o[5]||c?100:255,f=o[7]||c?100:255;if(n(e[l]))throw new Error("color."+l+" is not installed.");return new e[l](parseFloat(o[2])/u,parseFloat(o[4])/d,parseFloat(o[6])/f,s)}t.length<6&&(t=t.replace(/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i,"$1$1$2$2$3$3"));var h=t.match(/^#?([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])$/i);if(h)return new e.RGB(parseInt(h[1],16)/255,parseInt(h[2],16)/255,parseInt(h[3],16)/255);if(e.CMYK){var p=t.match(new RegExp("^cmyk\\("+r.source+","+r.source+","+r.source+","+r.source+"\\)$","i"));if(p)return new e.CMYK(parseFloat(p[1])/100,parseFloat(p[2])/100,parseFloat(p[3])/100,parseFloat(p[4])/100)}}else if("object"==typeof t&&t.isColor)return t;return!1}var t=[],n=function(e){return void 0===e},a=/\s*(\.\d+|\d+(?:\.\d+)?)(%)?\s*/,r=/\s*(\.\d+|100|\d?\d(?:\.\d+)?)%\s*/,i=new RegExp("^(rgb|hsl|hsv)a?\\("+a.source+","+a.source+","+a.source+"(?:,"+/\s*(\.\d+|\d+(?:\.\d+)?)\s*/.source+")?\\)$","i");e.namedColors={},e.installColorSpace=function(a,r,i){function o(t,n){var a={};for(var r in a[n.toLowerCase()]=function(){return this.rgb()[n.toLowerCase()]()},e[n].propertyNames.forEach(function(e){var t="black"===e?"k":e.charAt(0);a[e]=a[t]=function(t,a){return this[n.toLowerCase()]()[e](t,a)}}),a)a.hasOwnProperty(r)&&void 0===e[t].prototype[r]&&(e[t].prototype[r]=a[r])}e[a]=function(e){var t=Array.isArray(e)?e:arguments;r.forEach(function(e,n){var i=t[n];if("alpha"===e)this._alpha=isNaN(i)||i>1?1:i<0?0:i;else{if(isNaN(i))throw new Error("["+a+"]: Invalid color: ("+r.join(",")+")");"hue"===e?this._hue=i<0?i-Math.floor(i):i%1:this["_"+e]=i<0?0:i>1?1:i}},this)},e[a].propertyNames=r;var l=e[a].prototype;for(var s in["valueOf","hex","hexa","css","cssa"].forEach(function(e){l[e]=l[e]||("RGB"===a?l.hex:function(){return this.rgb()[e]()})}),l.isColor=!0,l.equals=function(e,t){n(t)&&(t=1e-10),e=e[a.toLowerCase()]();for(var i=0;i<r.length;i+=1)if(Math.abs(this["_"+r[i]]-e["_"+r[i]])>t)return!1;return!0},l.toJSON=function(){return[a].concat(r.map(function(e){return this["_"+e]},this))},i)if(i.hasOwnProperty(s)){var c=s.match(/^from(.*)$/);c?e[c[1].toUpperCase()].prototype[a.toLowerCase()]=i[s]:l[s]=i[s]}return l[a.toLowerCase()]=function(){return this},l.toString=function(){return"["+a+" "+r.map(function(e){return this["_"+e]},this).join(", ")+"]"},r.forEach(function(e){var t="black"===e?"k":e.charAt(0);l[e]=l[t]=function(t,n){return void 0===t?this["_"+e]:n?new this.constructor(r.map(function(n){return this["_"+n]+(e===n?t:0)},this)):new this.constructor(r.map(function(n){return e===n?t:this["_"+n]},this))}}),t.forEach(function(e){o(a,e),o(e,a)}),t.push(a),e},e.pluginList=[],e.use=function(t){return-1===e.pluginList.indexOf(t)&&(this.pluginList.push(t),t(e)),e},e.installMethod=function(n,a){return t.forEach(function(t){e[t].prototype[n]=a}),this},e.installColorSpace("RGB",["red","green","blue","alpha"],{hex:function(){var e=(65536*Math.round(255*this._red)+256*Math.round(255*this._green)+Math.round(255*this._blue)).toString(16);return"#"+"00000".substr(0,6-e.length)+e},hexa:function(){var e=Math.round(255*this._alpha).toString(16);return"#"+"00".substr(0,2-e.length)+e+this.hex().substr(1,6)},css:function(){return"rgb("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+")"},cssa:function(){return"rgba("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+","+this._alpha+")"}});var o=function(e){e.installColorSpace("XYZ",["x","y","z","alpha"],{fromRgb:function(){var t=function(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92},n=t(this._red),a=t(this._green),r=t(this._blue);return new e.XYZ(.4124564*n+.3575761*a+.1804375*r,.2126729*n+.7151522*a+.072175*r,.0193339*n+.119192*a+.9503041*r,this._alpha)},rgb:function(){var t=this._x,n=this._y,a=this._z,r=function(e){return e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e};return new e.RGB(r(3.2404542*t+-1.5371385*n+-.4985314*a),r(-.969266*t+1.8760108*n+.041556*a),r(.0556434*t+-.2040259*n+1.0572252*a),this._alpha)},lab:function(){var t=function(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29},n=t(this._x/95.047),a=t(this._y/100),r=t(this._z/108.883);return new e.LAB(116*a-16,500*(n-a),200*(a-r),this._alpha)}})},l=function(e){e.installColorSpace("HSV",["hue","saturation","value","alpha"],{rgb:function(){var t,n,a,r=this._hue,i=this._saturation,o=this._value,l=Math.min(5,Math.floor(6*r)),s=6*r-l,c=o*(1-i),u=o*(1-s*i),d=o*(1-(1-s)*i);switch(l){case 0:t=o,n=d,a=c;break;case 1:t=u,n=o,a=c;break;case 2:t=c,n=o,a=d;break;case 3:t=c,n=u,a=o;break;case 4:t=d,n=c,a=o;break;case 5:t=o,n=c,a=u}return new e.RGB(t,n,a,this._alpha)},hsl:function(){var t,n=(2-this._saturation)*this._value,a=this._saturation*this._value,r=n<=1?n:2-n;return t=r<1e-9?0:a/r,new e.HSL(this._hue,t,n/2,this._alpha)},fromRgb:function(){var t,n=this._red,a=this._green,r=this._blue,i=Math.max(n,a,r),o=i-Math.min(n,a,r),l=0===i?0:o/i,s=i;if(0===o)t=0;else switch(i){case n:t=(a-r)/o/6+(a<r?1:0);break;case a:t=(r-n)/o/6+1/3;break;case r:t=(n-a)/o/6+2/3}return new e.HSV(t,l,s,this._alpha)}})},s=function(e){e.use(l),e.installColorSpace("HSL",["hue","saturation","lightness","alpha"],{hsv:function(){var t,n=2*this._lightness,a=this._saturation*(n<=1?n:2-n);return t=n+a<1e-9?0:2*a/(n+a),new e.HSV(this._hue,t,(n+a)/2,this._alpha)},rgb:function(){return this.hsv().rgb()},fromRgb:function(){return this.hsv().hsl()}})};return e.use(o).use(function(e){e.use(o),e.installColorSpace("LAB",["l","a","b","alpha"],{fromRgb:function(){return this.xyz().lab()},rgb:function(){return this.xyz().rgb()},xyz:function(){var t=function(e){var t=Math.pow(e,3);return t>.008856?t:(e-16/116)/7.87},n=(this._l+16)/116,a=this._a/500+n,r=n-this._b/200;return new e.XYZ(95.047*t(a),100*t(n),108.883*t(r),this._alpha)}})}).use(l).use(s).use(function(e){e.installColorSpace("CMYK",["cyan","magenta","yellow","black","alpha"],{rgb:function(){return new e.RGB(1-this._cyan*(1-this._black)-this._black,1-this._magenta*(1-this._black)-this._black,1-this._yellow*(1-this._black)-this._black,this._alpha)},fromRgb:function(){var t=this._red,n=this._green,a=this._blue,r=1-t,i=1-n,o=1-a,l=1;return t||n||a?(r=(r-(l=Math.min(r,Math.min(i,o))))/(1-l),i=(i-l)/(1-l),o=(o-l)/(1-l)):l=1,new e.CMYK(r,i,o,l,this._alpha)}})}).use(function(e){e.namedColors={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"}}).use(function(e){e.installMethod("clearer",function(e){return this.alpha(isNaN(e)?-.1:-e,!0)})}).use(function(e){e.use(s),e.installMethod("darken",function(e){return this.lightness(isNaN(e)?-.1:-e,!0)})}).use(function(e){e.use(s),e.installMethod("desaturate",function(e){return this.saturation(isNaN(e)?-.1:-e,!0)})}).use(function(e){function t(){var t=this.rgb(),n=.3*t._red+.59*t._green+.11*t._blue;return new e.RGB(n,n,n,t._alpha)}e.installMethod("greyscale",t).installMethod("grayscale",t)}).use(function(e){e.use(s),e.installMethod("lighten",function(e){return this.lightness(isNaN(e)?.1:e,!0)})}).use(function(e){e.installMethod("mix",function(t,n){t=e(t).rgb();var a=2*(n=1-(isNaN(n)?.5:n))-1,r=this._alpha-t._alpha,i=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,o=1-i,l=this.rgb();return new e.RGB(l._red*i+t._red*o,l._green*i+t._green*o,l._blue*i+t._blue*o,l._alpha*n+t._alpha*(1-n))})}).use(function(e){e.installMethod("negate",function(){var t=this.rgb();return new e.RGB(1-t._red,1-t._green,1-t._blue,this._alpha)})}).use(function(e){e.installMethod("opaquer",function(e){return this.alpha(isNaN(e)?.1:e,!0)})}).use(function(e){e.use(s),e.installMethod("rotate",function(e){return this.hue((e||0)/360,!0)})}).use(function(e){e.use(s),e.installMethod("saturate",function(e){return this.saturation(isNaN(e)?.1:e,!0)})}).use(function(e){e.installMethod("toAlpha",function(e){var t=this.rgb(),n=e(e).rgb(),a=new e.RGB(0,0,0,t._alpha),r=["_red","_green","_blue"];return r.forEach(function(e){t[e]<1e-10?a[e]=t[e]:t[e]>n[e]?a[e]=(t[e]-n[e])/(1-n[e]):t[e]>n[e]?a[e]=(n[e]-t[e])/n[e]:a[e]=0}),a._red>a._green?a._red>a._blue?t._alpha=a._red:t._alpha=a._blue:a._green>a._blue?t._alpha=a._green:t._alpha=a._blue,t._alpha<1e-10||(r.forEach(function(e){t[e]=(t[e]-n[e])/t._alpha+n[e]}),t._alpha*=a._alpha),t})})}()}),a=i(r,"div");function r(e,t,n){var a=document.createElement(e);return a.className=t,n.appendChild(a),a}function i(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}function o(e,t,n){return Math.min(Math.max(e,t),n)}var l={clamp:o,e:r,div:a,partial:i,labelInput:function(e,t,n,i){var o="colorPickerInput"+Math.floor(1001*Math.random()),l=a(e,n),s=function(e,t,n){var a=r("label","",t);return a.innerHTML=e,n&&a.setAttribute("for",n),a}(t,l,o),c=function(e,t,n,a){var i=r("input","",t);return i.type="text",n&&(i.maxLength=n),a&&i.setAttribute("id",a),n&&(i.maxLength=n),i}(0,l,i,o);return{label:s,input:c}},X:function(e,t){e.style.left=o(100*t,0,100)+"%"},Y:function(e,t){e.style.top=o(100*t,0,100)+"%"},BG:function(e,t){e.style.background=t}},s={currentColor:function(e){var t=l.div("currentColorContainer",e),n=l.div("currentColor",t);return{change:function(e){l.BG(n,e.cssa())}}},fields:function(e,t,n){var a=n.space,r=n.limit||255,i=n.fix>=0?n.fix:0,o=(""+r).length+i;o=i?o+1:o;var s=a.split(""),c="A"==a[a.length-1];if(a=c?a.slice(0,-1):a,["RGB","HSL","HSV","CMYK"].indexOf(a)<0)return console.warn("Invalid field names",a);var u=l.div("colorFields",e),d=s.map(function(e){e=e.toLowerCase();var t=l.labelInput("color "+e,e,u,o);return t.input.onblur=f,t.input.onkeydown=h,t.input.onkeyup=p,{name:e,e:t}});function f(){t.done()}function h(e){e.ctrlKey||e.altKey||!/^[a-zA-Z]$/.test(e.key)||e.preventDefault()}function p(){var e=[a];d.forEach(function(t){e.push(t.e.input.value/r)}),c||e.push(t.getAlpha()),t.set(e)}return{change:function(e){d.forEach(function(t){t.e.input.value=(e[t.name]()*r).toFixed(i)})}}},hex:function(e,t,n){var a=l.labelInput("hex",n.label||"",e,7);return a.input.value="#",a.input.onkeyup=function(e){var n=e.keyCode||e.which,a=e.target.value;a=function(e){for(var t=e,n=e.length;n<7;n++)t+="0";return t}(a="#"==a[0]?a:"#"+a),13==n&&t.set(a)},a.input.onblur=function(e){t.set(e.target.value),t.done()},{change:function(e){a.input.value="#"==a.input.value[0]?"#":"",a.input.value+=e.hex().slice(1)}}},alpha:function(e,n){var a=t.slider({parent:e,class:"oned alpha chequered",cbs:{begin:r,change:r,end:function(){n.done()}}});function r(e){var t=l.clamp(e.y,0,1);l.Y(e.pointer,t),n.setAlpha(1-t)}return{change:function(e){l.Y(a.pointer,1-e.alpha())}}},close:function(e,t,n){var a=l.e("a",n.class||"close",e);a.href="#",a.innerHTML=n.label||"Close",a.onclick=function(e){e.preventDefault(),t.hide()}}},c=function(e){return n=m,(a=[e.init,e.xy,e.z]).map(n).filter(g).length!=a.length?console.warn("colorjoe: missing cb"):function(n,a,r){return function(e){if(!e.e)return console.warn("colorjoe: missing element");var n=function(e){return"string"==typeof e}(e.e)?document.getElementById(e.e):e.e;n.className="colorPicker";var a=e.cbs,r=t.xyslider({parent:n,class:"twod",cbs:{begin:i,change:i,end:g}});function i(e){d=a.xy(d,{x:l.clamp(e.x,0,1),y:l.clamp(e.y,0,1)},r,o),m()}var o=t.slider({parent:n,class:"oned",cbs:{begin:s,change:s,end:g}});function s(e){d=a.z(d,l.clamp(e.y,0,1),r,o),m()}var u=f(e.color),d=a.init(u,r,o),p={change:[],done:[]};function m(e){e=h(e)?e:[];for(var t,n=p.change,a=0,r=n.length;a<r;a++)t=n[a],-1==e.indexOf(t.name)&&t.fn(d)}function g(){if(!u.equals(d)){for(var e=0,t=p.done.length;e<t;e++)p.done[e].fn(d);u=d}}var v={e:n,done:function(){return g(),this},update:function(e){return m(e),this},hide:function(){return n.style.display="none",this},show:function(){return n.style.display="",this},get:function(){return d},set:function(e){var t=this.get();return d=a.init(f(e),r,o),t.equals(d)||this.update(),this},getAlpha:function(){return d.alpha()},setAlpha:function(e){return d=d.alpha(e),this.update(),this},on:function(e,t,n){return"change"==e||"done"==e?p[e].push({name:n,fn:t}):console.warn('Passed invalid evt name "'+e+'" to colorjoe.on'),this},removeAllListeners:function(e){if(e)p[e]=[];else for(var t in p)p[t]=[];return this}};return function(e,t,n){if(n){var a,r,i,o=l.div("extras",e);n.forEach(function(e,n){h(e)?(r=e[0],i=e.length>1?e[1]:{}):(r=e,i={});var l=r in c.extras?c.extras[r]:null;if(l)for(var s in a=l(o,function(e,t){var n=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e);return n.update=function(){e.update([t])},n}(t,r+n),i),a)t.on(s,a[s],r)})}}(n,v,e.extras),m(),v}({e:n,color:a,cbs:e,extras:r})};var n,a};for(var u in c.rgb=c({init:function(e,t,a){var r=n(e).hsv();return this.xy(r,{x:r.saturation(),y:1-r.value()},t,a),this.z(r,r.hue(),t,a),r},xy:function(e,t,n){return l.X(n.pointer,t.x),l.Y(n.pointer,t.y),e.saturation(t.x).value(1-t.y)},z:function(e,t,n,a){return l.Y(a.pointer,t),d(n.background,t),e.hue(t)}}),c.hsl=c({init:function(e,t,a){var r=n(e).hsl();return this.xy(r,{x:r.hue(),y:1-r.saturation()},t,a),this.z(r,1-r.lightness(),t,a),r},xy:function(e,t,n,a){return l.X(n.pointer,t.x),l.Y(n.pointer,t.y),d(a.background,t.x),e.hue(t.x).saturation(1-t.y)},z:function(e,t,n,a){return l.Y(a.pointer,t),e.lightness(1-t)}}),c.extras={},c.registerExtra=function(e,t){e in c.extras&&console.warn('Extra "'+e+'"has been registered already!'),c.extras[e]=t},s)c.registerExtra(u,s[u]);function d(e,t){l.BG(e,new n.HSV(t,1,1).cssa())}function f(e){return p(e)?e.isColor?e:n(e)||(p(e)&&console.warn("Passed invalid color to colorjoe, using black instead"),n("#000")):n("#000")}function h(e){return"[object Array]"===Object.prototype.toString.call(e)}function p(e){return void 0!==e}function m(e){return"function"==typeof e}function g(e){return e}var v=c;return window.OneColor=n,v}(),lt=Ie(()=>be(".colorjoe-frame.absolute"),null,({attrs:e,dom:t})=>{window.SCALE=1,e.state.joe=(e.hsl?ot.hsl:ot.rgb)(t,e.color,e.noalpha?[]:["alpha"]),e.state.joe.on("change",t=>{e.onColor(e.noalpha?t.css():t.cssa(),t)}).update()}),st=[],ct=Ie(({attrs:e,state:t,children:n})=>be(".colorjoe-popper.flexcol",{class:e.noalpha?"no-alpha":""},[be(lt,{...e,state:t}),...n,be(".flexrow.extended.w-100.scaff-top.pad-2.wrap",[[0,1,2,3,4,5,6,7,8].map(n=>be("button.scaff.scaff-b1.marg-1.unitheightsmall.grows",{class:st[n]?"":"chequered",style:{...st[n]&&{backgroundColor:st[n]}},onclick:a=>{a.shiftKey?st[n]=t.joe.get().css():st[n]&&t.joe.set(st[n]),e.onRedraw?e.onRedraw():be.redraw()}})),be(".flexbreak"),...e.onRemove?[be("button.scaff.scaff-b1.unitheightsmall.marg-1.pad-2.pad-h.grows.fabf.transp.bg-accent.fa-trash",{onclick:()=>e.onRemove(t.joe.get())})]:[]])])),ut=Ie(e=>{const{attrs:t,state:n}=e;return[be(".colorjoe-cell.chequered",{class:(t.class||"")+(n.shown?" open":""),title:t.title,...t.style&&{style:t.style}},[be(".inset",{style:{backgroundColor:n.color},...t.caption&&{"data-caption":t.caption,class:"titled"},onclick:n=>{t.onshiftclick&&(n.shiftKey||n.ctrlKey)?t.onshiftclick():(e=>{qe(()=>be(ct,{noalpha:e.attrs.noalpha,color:e.state.color,hsl:e.attrs.hsl,onColor:(t,n)=>{e.state.color=t,e.attrs.onchange&&e.attrs.onchange(t,n),be.redraw()},onRemove:()=>{e.attrs.onchange&&e.attrs.onchange(null,null),qe(null)},onRedraw:()=>{qe.redraw(),be.redraw()}},e.children),()=>{},".modal-content-popper")})(e)}})])]},({attrs:e,state:t})=>{t.original=e.color,t.color=t.original||"rgba(0,0,0,0)"},null,null,({attrs:e,state:t})=>{t.original!==e.color&&(t.original=e.color,t.color=t.original||"rgba(0,0,0,0)",be.redraw())}),dt=[255,255,255,1];Me(({attrs:e})=>{const{colors:t=[],max:n=8}=e,a=t.length,r=(e=[0,0,0,0])=>"rgba("+e.map((e,t)=>t<3?Math.floor(255*e):e).join(",")+")",i=(e=[0,0,0,0])=>"rgba("+((e,t,n)=>{let a,r,i;if(0===t)a=r=i=n;else{const o=(e,t,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e),l=n<.5?n*(1+t):n+t-n*t,s=2*n-l;a=o(s,l,e+1/3),r=o(s,l,e),i=o(s,l,e-1/3)}return[Math.round(255*a),Math.round(255*r),Math.round(255*i)]})(e[0],e[1],e[2]).join(",")+","+e[3]+")";return be(".flexrow.wrap.gradient.grows",{class:e.class},[...t.map((n,a)=>be(ut,{class:"grows",color:e.hsl?i(t[a]):r(t[a]),title:"Click to edit, or Shift-click to remove this color from the collection",hsl:e.hsl,onchange:(n,r)=>{let i;if(e.hsl){const e=r.hsl();i=[e.hue(),e.saturation(),e.lightness(),r.a()]}else i=[r.r(),r.g(),r.b(),r.a()];t[a]=i,e.onchange&&e.onchange(t),be.redraw()},onshiftclick:()=>{t.splice(a,1),e.onchange&&e.onchange(t),be.redraw()}})),...a<n?[be(Ae,{icon:"plus",class:"unitheightsmall accent bg-window-lo "+(a?"mini":"grows"),title:"Add a new color to the collection, or SHIFT-CLICK to delete all colors",onClick:n=>{n.shiftKey?t.splice(0,t.length):t.push(dt),e.onchange&&e.onchange(t),be.redraw()}})]:[]])});const ft=Me(({attrs:e})=>be(".flexrow.wrap.grows",{...e.label&&{"aria-label":e.label},class:(e.label?"witharia":"")+" "+(e.class||""),title:e.title||""},[be(Ae,{icon:e.iconMinus??"minus",class:"unitsizesmall "+(e.buttonClass||"transp"),title:e.title?"decrease the "+e.title:"",onClick:()=>{const{step:t=1,min:n=0}=e;let a=e.value||0;Number.isNaN(a)&&(a=0),a-=t,void 0!==n&&a<n&&(a=n),e.onchange(a),be.redraw()}}),be(".currentvalue.al-center.grows.unitheightsmall",{title:e.title},e.parser?e.parser(e.value):String(e.value||0)),be(Ae,{icon:e.iconPlus??"plus",class:"unitsizesmall "+(e.buttonClass||"transp"),title:e.title?"increase the "+e.title:"",onClick:()=>{const{step:t=1,max:n=0}=e;let a=e.value||0;void 0!==n&&a===n||(a+=t,e.onchange(a),be.redraw())}})]));Me(({attrs:e,dom:t})=>be(".titlebar.noshrink.flexrow",{class:e.class?" "+e.class:"unitheight bg-window-hi pad-2 pad-h shadow-2 font-125",...e.onTitleClick&&{onclick:e.onTitleClick}},[...e.onClick?[be(Ae,{icon:"arrow-left",onClick:()=>e.onClick()})]:[],...e.logo?[be("img.title-logo",{src:e.logo})]:[],...e.editable&&e.onchange?[be(Re,{containerClass:"grows"+(e.onClick?"":" pad-2 pad-h"),hint:e.title,onchange:e.onchange,oninput:()=>{},value:e.value})]:[be("span.grows.ellipsis",{class:e.onClick?"":"pad-2 pad-h"},e.title)],...e.auxaction?[be(Ae,{icon:e.auxaction.icon,class:e.auxaction.class,title:e.auxaction.title,onClick:e.auxaction.onClick})]:[],...e.auxactions?e.auxactions.map(e=>be(Ae,{class:e.class,title:e.title,icon:e.icon,text:e.caption,onClick:e.onClick})):[],...e.action?[be(Ae,{icon:e.action.icon,class:e.action.class,title:e.action.title,onClick:e.action.onClick})]:[],...e.overflow?[be(Ae,{icon:e.overflow.icon||"ellipsis-v",class:e.overflow.class||"",onClick:()=>Xe(t,{title:e.title},e.overflow.items).then(({action:e})=>e.onClick())})]:[]]));const ht=!!navigator.userAgent.match(/iPhone|iPad|iPod/i);let pt,mt=!1;function gt(e,t,n){return Math.min(Math.max(e,t),n)}function vt(e,t,n,a){if(n-t<=0)return t;if(a<=0)return gt(e,t,n);const r=Math.ceil((n-t)/a);return gt(t+Math.round(r*(e-t)/(n-t))*a,t,n)}function yt(){let e,t,n,a,r,i,o,l,s,c=0,u=!1,d=!1,f=4,h=1,p=0,m=10,g=0,v=1,y="horizontal";function b(e,t){let n,a;"vertical"===y?(n=i.bottom-i.top,a=i.bottom-t):(n=i.right-i.left,a=e-i.left),a=gt(a,0,n);const r=vt(a/n*(m-p)+p,p,m,v);return $(r),r}function w(e,n,a){return d?function(e,n){u=o=!0,i=t.getBoundingClientRect();const a=b(e,n);a!==g&&(g=a,s&&!1!==s(g)&&be.redraw())}(e,n):(r=a,u=!0,o=!1,i=t.getBoundingClientRect(),void r.target.requestPointerLock());var r}function x(e,t,n){return o?b(e,t):function(e,t,n){const a=n.shiftKey?f:n.metaKey||n.ctrlKey?4*f:h;let r,i;r="vertical"===y?n.movementY||0:n.movementX||0;let o=v>0?v:(m-p)/100;if(r<0)i=Math.max(g+o*a*r,p);else{if(!(r>0))return g;i=Math.min(g+o*a*r,m)}return i=vt(i,p,m,v),$(i),i}(0,0,n)}function k(e){2!==c&&(c=1,0===e.button&&(window.addEventListener("mousemove",C),window.addEventListener("mouseup",_),w(e.clientX,e.clientY,e)))}function C(e){e.preventDefault(),E(e.clientX,e.clientY,e)}function _(e){window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_),L(e.clientX,e.clientY,e)}function M(t){if(1===c)return;e.addEventListener("touchmove",S),e.addEventListener("touchend",T);const n=t.changedTouches[0];w(n.clientX,n.clientY,t)}function S(e){e.preventDefault();const t=e.changedTouches[0];E(t.clientX,t.clientY,e)}function T(t){e.removeEventListener("touchmove",S),e.removeEventListener("touchend",T);const n=t.changedTouches[0];L(n.clientX,n.clientY,n)}function A(e){const t=e.keyCode;let n;if(33===t){e.preventDefault();let t=Math.max((m-p)/10,v);t<=0&&(t=1),n=vt(g+t,p,m,v)}else if(34===t){e.preventDefault();let t=Math.max((m-p)/10,v);t<=0&&(t=1),n=vt(g-t,p,m,v)}else if(35===t)e.preventDefault(),n=m;else if(36===t)e.preventDefault(),n=p;else if(37===t||40===t){e.preventDefault();let t=(v>0?v:(m-p)/10)*(e.shiftKey?.25:e.ctrlKey||e.metaKey?4:1);n=Math.max(g-t,p)}else if(38===t||39===t){e.preventDefault();let t=(v>0?v:(m-p)/10)*(e.shiftKey?.25:e.ctrlKey||e.metaKey?4:1);n=Math.min(g+t,m)}else 48===t&&(n=(m+p)/2);"number"==typeof n&&n!==g&&(g=n,$(g),l&&!1!==l(g)&&be.redraw())}function E(e,t,n){if(!u)return;const a=x(e,t,n);a!==g&&(g=a,s&&!1!==s(g)&&be.redraw())}function L(e,t,n){u&&(u=!1,g=x(e,t,n),l&&!1!==l(g)&&be.redraw(),o||document.exitPointerLock(),setTimeout(function(){u||(c=0)},350))}function D(e){let t=(e-p)/(m-p);return"vertical"===y&&(t=1-t),String(100*t)+"%"}function $(e){const t=D(e),i=D(m-e+p);"vertical"===y?(r.style.top=t,n.style.height=t,a.style.height=i):(r.style.left=t,n.style.width=i,a.style.width=t)}function O(e){p=e.min,m=e.max,v="number"!=typeof e.step||Number.isNaN(e.step)?1:gt(e.step,0,m-p),y="vertical"===e.orientation?"vertical":"horizontal",l=e.onchange,s=e.ondrag,"number"==typeof e.value&&(g=gt(e.value,p,m)),d=!e.relative,f=e.factor&&e.factor[0]||4,h=e.factor&&e.factor[1]||1}return{oncreate:({attrs:i,dom:o})=>{ht&&!mt&&(window.addEventListener("touchmove",function(){}),mt=!0),O(i),e=o,t=e.querySelector(".mithril-range-bar"),n=t.querySelector(".mithril-range-bar-0"),a=t.querySelector(".mithril-range-bar-1"),r=t.querySelector(".mithril-range-handle"),e.addEventListener("mousedown",k),e.addEventListener("touchstart",M),e.addEventListener("keydown",A)},onremove:function(){window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_),e.removeEventListener("mousedown",k),e.removeEventListener("touchstart",M),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",T),e.removeEventListener("keydown",A)},view:function({attrs:e,children:t}){const n=e.nokey?" nokey":"";O(e),g=vt(g,p,m,v);const a={class:"mithril-range "+n+(e.relative?" isrelative ":" ")+(0===g?"atzero":g<0?"belowzero":"overzero")+(null!=e.class?" "+e.class:""),tabIndex:"0",role:"slider","aria-valuemin":String(p),"aria-valuemax":String(m),"aria-valuenow":String(g),"aria-orientation":y};e.id&&(a.id=e.id),e.ariaLabelledby&&(a["aria-labelledby"]=e.ariaLabelledby),e.disabled&&(a.style={pointerEvents:"none"},a["aria-disabled"]="true");const r=D(g),i=D(m-g+p);let o,l,s;return"vertical"===y?(o={top:r},l={height:r},s={height:i}):(o={left:r},l={width:i},s={width:r}),be("div",a,be("div",{class:"mithril-range-bar"+n},be("div",{class:"mithril-range-bar-0"+n,style:l}),be("div",{class:"mithril-range-bar-1"+n,style:s}),be("div",{class:"mithril-range-handle"+n,style:o},t)),!!e.name&&be("input",{type:"hidden",name:e.name,value:String(g)}))}}}const bt=e=>{const t=e.value>e.curMax?Math.ceil(e.value/e.curMax):1,n=e.curMin<0&&e.value<e.curMin?Math.abs(Math.ceil(e.value/e.curMin)):1,a=Math.min(Math.max(n,t),e.maxMultiplier);e.curMultiplier!==a&&(e.curMultiplier=a,be.redraw())},wt=e=>e.value>=e.curMax*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1?(e.curMultiplier++,!0):e.curMin<0?xt(e):void 0,xt=e=>{if(e.value<=e.curMin*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1)return e.curMultiplier++,!0},kt={oninit:({attrs:e,state:t})=>{Object.assign(t,{value:e.value||0,initial:e.value||0,curMax:e.max,curMin:e.min,curMultiplier:1,maxMultiplier:e.multiplier||1,id:"I"+Date.now()}),t.maxMultiplier>1&&(t.value>e.max?t.curMultiplier=Math.ceil(t.value/e.max):e.min<0&&t.value<e.min&&(t.curMultiplier=Math.abs(Math.ceil(t.value/e.min))))},onupdate:({attrs:e,state:t})=>{const n=e.multiplier||1,a=e.value||0;t.curMax!==e.max||t.maxMultiplier!==n?(Object.assign(t,{curMax:e.max,curMin:e.min,maxMultiplier:n,value:e.value,initial:a}),wt(t)||(clearTimeout(t.timer),t.timer=setTimeout(bt,1e3,t)),be.redraw()):t.initial!==a&&(Object.assign(t,{value:a,initial:a}),clearTimeout(pt),pt=setTimeout(()=>be.redraw(),50))},view:({attrs:e,state:t})=>be(".range.flexcol.control.relative"+(e.multiplier>1?".withmultiplier":""),{...e.class&&{class:e.class},title:e.hint||"Click, then use arrows to finetune value if needed"},[...e.title?[be("label",{class:"rangelabel",htmlFor:t.id},e.title)]:[],be(yt,{onchange:n=>{t.value=n,!wt(t)&&t.curMultiplier>1&&(clearTimeout(t.timer),t.timer=setTimeout(bt,1e3,t)),e.onchange?e.onchange(n):be.redraw()},ondrag:n=>n!==t.value&&(t.value=n,e.ondrag&&e.ondrag(n),!0),value:t.value||0,min:(e.min||0)*t.curMultiplier,max:t.curMax*t.curMultiplier||100,step:e.step||1,relative:e.relative,factor:e.factor},[be(".currentval",e.parser?e.parser(t.value,e.step<1):t.value?e.step<1?t.value.toFixed(2):""+Math.floor(t.value):"")])])},Ct={view:({attrs:e,state:t})=>be(kt,{value:e.value||0,min:e.min||0,max:e.max||100,step:e.step||.1,class:(e.disabled?"disabled ":"")+(e.class||""),title:e.title,multiplier:e.multiplier,hint:e.hint,parser:e.parser,relative:e.relative,factor:e.factor,getLabel:e=>e?""+e:"default",ondrag:n=>(t.changed=!0,t.value=n,e.onchange&&e.onchange(n,!0),!0),onchange:n=>(e.auto0?n=0:e.autoValue&&(n=e.autoValue),t.changed=!0,t.value=n,e.onchange&&e.onchange(n,!1),!0)})},_t={setTransState:()=>{console.warn("MainState: Not Implemented setTransState")},WIDGETS:{}};function Mt(e){return"string"==typeof e?_t.WIDGETS[e]:e}const St=Me(({attrs:e})=>{const{icon:t,onchange:n,icons:a,state:r}=e;return be(Ae,{title:"Click to select icon or emoji for this marker",class:"chequered "+(e.class||"font-200"),icon:t&&t.icon,text:t&&t.glyph,onClick:()=>_t.setTransState("emoji",n,{icons:a})})}),Tt=Me(({attrs:e,children:t})=>be(".buttonchoice.withicon.flexrow.scaff.scaff-b1.fadein.ohidden.fa-"+(e.icon||"gear"),{class:e.containerClass||"col-11 grows marg-1",title:e.title},be((e.themeClass?e.themeClass:".flexrow.wrap")+".grows.col-11.ohidden.scaff-left.bg-inputs",{class:e.class},t))),At=Me(({attrs:e,children:t})=>{const{title:n,noUpdate:a,items:r=[],current:i,altIndex:o,onEdit:l,emptyText:s,onAdd:c,onSelect:u,onDelete:d,addText:f="Add New",unconfirm:h,buttonClass:p,themeIcon:m,themeTitle:g}=e,v=[...r.map((e,t)=>be("button.grows.marg-1.ellipsis.ohidden.hasShift",{class:(p||"unitheightsmall scaff-b1")+(t===i?" accent":"")+(t===o?" alt-accent":""),title:n,onclick:n=>{n.metaKey&&l?l(e):c&&n.shiftKey?h?(r.splice(t,1),d&&d(t),be.redraw()):((e,t,n,a,r,i)=>{const o=e[t];Qe("Choose an action for this preset",n&&i?["DELETE","RENAME","UPDATE","CANCEL"]:["DELETE","RENAME","CANCEL"]).then(r=>{0===r?(e.splice(t,1),a&&a(t),be.redraw()):1===r?setTimeout(()=>nt("Rename Preset",o.title||"","type a name for this preset",e=>{e&&(e=e.trim())&&(o.title=e.substring(0,24),be.redraw())}),10):n&&2===r&&n(!1,t)})})(r,t,c,d,0,!a):u&&u(e,t,n.metaKey,n.shiftKey)}},(e.title||e.name||e.text||String(1+t)).substring(0,32))),...!r.length&&s?[be(".grows.marg-1.ellipsis.ohidden.al-center",s)]:[],...c?[be(Ae,{tabIndex:-1,icon:e.icon||"plus",title:e.addTitle||"Add a new item",class:"pad-2 pad-h al-center unitheightsmall transp addbut scaff-left bg-window-lo grows"+(r.length?" some":" empty"),onClick:e=>c(e.ctrlKey||e.metaKey),text:r?.length?"":f})]:[],...!m&&e.currentWidget&&i>=0&&r[i]&&e.currentWidget(r[i],i)||[],...!m&&e.altCurrentWidget&&o>=0&&r[o]&&e.altCurrentWidget(r[o],i)||[],...t];return m?[be(Tt,{title:g,containerClass:e.containerClass,themeClass:e.themeClass,icon:m},v),...e.currentWidget&&i>=0&&r[i]&&e.currentWidget(r[i],i)||[],...e.altCurrentWidget&&o>=0&&r[o]&&e.altCurrentWidget(r[o],o)||[]]:v}),Et=Me(({attrs:e,children:t})=>{const{nocontainer:n,emptyText:a,title:r,addTitle:i,items:o,currentIndex:l,altIndex:s,onEdit:c,onDelta:u,onSelect:d,onAdd:f,addText:h,icon:p,buttonClass:m}=e,g=o&&o.length<=(e.max||15)||!u?be(At,{addTitle:i,emptyText:a,title:r,items:o,current:l,altIndex:s,onSelect:d,onAdd:f,onEdit:c,addText:h,icon:p,buttonClass:m},t):[be(Ae,{tabIndex:-1,icon:"caret-right",class:"unitheightsmall grows marg-1 no-marg-left",onClick:()=>u(-1)}),...o?[be(".scaff.unitheightsmall.value.al-center.bg-window-lo.grows.marg-1.no-marg-left ",1+l+" / "+o.length)]:[],be(Ae,{tabIndex:-1,icon:"caret-left",class:"unitheightsmall grows marg-1 marg-v",onClick:()=>u(1)}),...f?[be(Ae,{tabIndex:-1,icon:e.icon||"plus",class:"unitheightsmall marg-1 marg-v",onClick:()=>f()})]:[]];return n?g:o.length||!f?be(".flexrow.wrap.max.minusbar",{class:(e.dynclass?e.dynclass()+" ":"")+e.class},g):[]});Me(({attrs:e})=>{if(!e.layer.items)return[];const{global:t,layer:n,remoteFirst:a,isCue:r}=e,{storyWrapper:i}=t,{id:o,items:l}=n,s=i.getTickerIndex(o,a),c=a?i.getTickerIndex(o,!1):void 0;return be(Et,{title:e.title,onAdd:e.onAdd,class:"marg-1 marg-h grows",items:l,currentIndex:s,altIndex:c,current:l[s]||void 0,onDelta:e=>i.tickLayer(n,e,a,r),onSelect:(e,t,o)=>i.setTickerIndex(n,t,o,a,r)})}),Me(({attrs:e})=>be(Ee,{size:2,icon:e.icon,class:"pad-2"},[...e.texts.map(e=>be(".text",e)),...e.buttonText?[be(Ae,{class:"font-125 accentbutton unitheightsmall",icon:e.icon||"plus",text:e.buttonText,onClick:e.onClick})]:[],...e.buttonAlt?[be(Ae,{class:"font-125 accentbutton unitheightsmall",icon:e.iconAlt||"plus",text:e.buttonTextAlt,onClick:e.onClick})]:[]])),navigator.userAgent.indexOf("Windows NT"),Me(({attrs:e})=>be(Ae,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>_t.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(t,n)=>{const a=n?e.parse?e.parse(n):n:void 0;a&&(e.onImage(a),be.redraw())}})}));const Lt=Me(e=>{const{attrs:t}=e;return be("button.selectfile.relative",{...t.class&&{class:t.class}},[be(Se,{icon:t.icon||"upload",iconClass:t.iconClass}),...t.text?[be("span.text",{class:t.textClass},t.text)]:[],be("input",{class:"absolute w-100 h-100 ohidden",type:"file",accept:t.accept||null,title:t.title,onchange:e=>{e.target.files&&e.target.files.length&&(t.onFile(e.target.files[0]),e.target.value="")}})])}),Dt=Me(({attrs:e})=>be(Lt,{class:e.class,accept:e.accept||"image/*",icon:e.icon||"image",iconClass:e.iconClass,textClass:e.textClass,text:e.text,onFile:t=>e.onImageFiles([{type:"image",file:t}])}));Me(({attrs:e})=>be(Dt,{class:e.class,icon:e.icon,text:e.text,accept:e.accept,iconClass:e.iconClass,textClass:e.textClass,onImageFiles:t=>{var n;t.length&&(n=t[0].file,new Promise((e,t)=>{const a=new FileReader;a.onload=function(n){const a=n.target.result,r=new Image;r.onerror=function(e){n.target.value="",t(e)},r.onload=function(){e(r)},r.src=a},a.readAsDataURL(n)})).then(e.onImage).catch(t=>{e.onError&&e.onError(t)})}})),Me(({attrs:e})=>be(Dt,{class:e.class,icon:e.icon,text:e.text,accept:e.accept,iconClass:e.iconClass,textClass:e.textClass,onImageFiles:t=>{var n;t.length&&(n=t[0].file,new Promise((e,t)=>{const a=new FileReader;a.onload=function(a){const r=a.target.result;r?e({name:n.name,url:r}):t(new Error("no data"))},a.readAsDataURL(n)})).then(e.onImageUrl).catch(t=>{e.onError&&e.onError(t)})}}));const $t=Me(({attrs:e})=>{const{fontFamily:t,state:n,onchange:a}=e;return be(".flexrow.grows.fontgroup",{class:e.class},[...t&&!e.nodelete?[be(Ae,{class:"scaff-right unitsize",icon:"trash",onClick:()=>{a(void 0),_t.setTransState()}})]:[],be(Ae,{class:"grows transp font-125 ohidden",text:t||"default",icon:"font",onClick:()=>_t.setTransState("fontsel",e=>{a(e),_t.setTransState()})})])}),Ot={},It="needsUpdate",Nt="_rebuild_children",jt=Me(({children:e})=>[e]),zt=Me(({attrs:e})=>be(Ae,{text:e.text,icon:e.icon,title:e.hint,iconClass:e.iconClass,class:(e.checked?e.inverted?"":"accent ":e.inverted?"accent ":"")+(e.class||"")+(e.noclass||" tgbutton"),onClick:()=>e.onchange(!e.checked)}));Me(({attrs:e})=>be(Ct,{min:0,max:e.max||1,step:.1,...e.mul&&{multiplier:e.mul},class:"tgrange grows innerlabel",title:e.text,value:e.value??0,hint:e.hint,onchange:t=>e.onchange(t),parser:e=>e||"OFF"}));const Pt=Me(({attrs:e,children:t})=>be(".flexrow.wrap",{class:e.class},e.source?Object.keys(e.source).map(t=>be(Mt(e.widget)||zt,{text:t,icon:e.icon,checked:!!e.source[t],hint:e.hint,value:e.source[t],class:e.buttonClass,max:e.max,mul:e.mul,onchange:n=>{e.source[t]=n>=0?n:!!n,e.onchange(t)}})).concat(t):[])),Yt=Me(({attrs:e,state:t,children:n})=>[...e.keys.length>1?[be(".flexrow.wrap",{class:e.class},e.source?e.keys.map(n=>be(zt,{text:n,checked:t.current===n,class:e.selectorButtonClass||"transp",hint:e.hint,onchange:()=>{t.current=n,be.redraw()}})):[])]:[],...t.current?[be(Pt,{class:e.class,source:e.source[t.current],icon:e.icon,buttonClass:e.buttonClass,onchange:e.onchange,hint:e.hint,widget:e.nocustom!==t.current?Mt(e.widget):void 0,max:e.max,mul:e.mul},n)]:[]],({attrs:e,state:t})=>{t.current=e.keys[0]}),Rt=Me(({attrs:e,children:t})=>{const n=e.source&&Array.isArray(e.source),a=n?e.source.map((e,t)=>t):e.keys||e.source&&Object.keys(e.source),r=()=>a&&a.length||e.add?[...e.cardie||e.noseparator?[]:[be(Ne,{class:e.separatorClass,text:e.caption})],be(".flexrow.wrap",{class:e.class},(e.source?a.map(t=>be(Mt(e.widget.name),{keyName:t,class:e.widgetClass,...("function"==typeof e.widget.attrs?e.widget.attrs(e,t):e.widget.attrs)||{},value:e.source[t],parameters:e.targetParameters,onchange:(a,r)=>{!a&&e.add&&r.shiftKey?n?e.source.splice(t,1):delete e.source[t]:e.source[t]=a,e.onchange(t)}})):[]).concat(e.add&&!e.keys?[be(Ae,{icon:"plus",class:e.addButtonClass||"marg-1 transp leftbutton grows unitsizesmall",text:`add ${e.add}`,onClick:()=>{nt(`Enter new ${e.add} name`,"",`type ${e.add} name`,t=>{t&&(t=function(e,t=!0){return t=t&&!e?.endsWith("."),e?e.trim().toLowerCase().replace(t?Je:Ge,""):null}(t).toLowerCase()),t&&(n?e.source.push(""):e.source[t]||(e.source[t]="",be.redraw()))})}})]:[]).concat(t))]:e.empty?be(Ee,e.empty):[];return e.cardie?be(Oe,{nofold:!1,size:1,cols:!1,title:e.caption,cardid:e.cardie,class:"relative grows"+(e.cardieClass?" "+e.cardieClass:""),expandedView:r}):r()}),Vt=Me(({attrs:e})=>be(Ae,{text:e.states[Number.parseInt(e.checked,10)||0]||"---",icon:e.icon,hint:e.hint,class:"tgbutton "+(e.checked?e.inverted?"":"accent ":e.inverted?"accent ":"")+(e.class||""),onClick:()=>{let t=Number.parseInt(e.checked,10)||0;t++,t%=e.states.length,e.onchange(t)}})),Ht=Me(({attrs:e,state:t})=>{const n=e.template.presets.concat(t.files||[]);return be(".templatepresets.flexrow.wrap",{class:e.class},n.length?n.map(t=>be(e.template.render,{item:t,title:"Apply "+e.template.name+" to "+e.type,onClick:()=>e.onClick(t),layer:e.layer})):e.template.empty?be(Ve,e.template.empty):be(".emptybox","No presets available"))},({attrs:e,state:t})=>{e.template.files&&e.entity&&e.template.files(e.entity).then(e=>{t.files=e,be.redraw()}).catch(()=>{})}),Ft=Me(({attrs:e,state:t,children:n})=>{let a=0;const{meta:r,crit:i={},when:o={},sizes:l={},metaKeys:s=Object.keys(e.meta),global:c,parameters:u,auxParameters:d,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,name:v}=e,y=s.map(n=>{const s=r[n],v=s.when||(o?o[n]:void 0),y="object"==typeof s&&!s.length,b=y&&(s.auxTarget&&!s.target||e.auxTargetIsDefault)?d:u,w=y&&(s.target||s.forTarget)?b[s.target||b.forTarget]:b;if(!u||v&&!((e,t,n,a)=>"function"==typeof e?e(t,n):"string"==typeof e?!!a[e]:e.key?e.value?e.not?a[e.key]!==e.value:a[e.key]==e.value:e.not?!a[e.key]:!!a[e.key]:!!a[e.key])(v,u,d,w))return[];const x=y&&s.widget,k=!!y&&(s.update||i[n]),C=y&&s.key||n,_=y&&"group"===s.type,M=y&&"groupArray"===s.type,S="string"==typeof s||y&&"text"===s.type,T=y&&"json"===s.type,A="boolean"==typeof s||y&&"boolean"===s.type,E=y&&"number"===s.type,L=y&&!Number.isNaN(s.min),D=y&&"action"===s.type,$=y&&(s.choices||s.choose||s.chooseKey),O=y&&"keytoggle"===s.type,I=y&&"iterakey"===s.type,N=y&&(s.options||s.optionsKey),j=y&&s.items,z=y&&"color"===s.type,P=y&&"plusminus"===s.type,Y=y&&"separator"===s.type,R=y&&"static"===s.type,V=y&&"emoji"===s.type,H=y&&"font"===s.type,F=y&&"notice"===s.type,K=y&&"asset"===s.type,B=Y?"col-12":"col-"+(s.size||l[n]||4);if(!w)return[];const U=y&&s.altMeta&&r[s.altMeta],W=s.idx,q=W>=0,J=y&&s.get?s.get(w,d,u):q?w[C]?w[C][W]:0:w[C],G=U&&s.altMeta,X=U&&U.key,Z=y&&s.set?e=>s.set(w,e&&f&&"object"==typeof e?tt(e):e,d,u,W):(e,t,n)=>{const a=n||C,r=q?W:n||C;let i=q?w[a]:w;return W>=0&&!i&&(w[a]=i=[0,0,0]),i[r]=e&&f&&"object"==typeof e?tt(e):e},Q=e.onbeforechange?(t,a,r,i)=>!!e.onbeforechange(r||n,t,i||s)&&(Z(t,void 0,r),!0):Z;return a++,be(".grows.flexrow."+B,{class:"mk_"+n+(y&&s.type?" ptype_"+s.type:"")+(S?"witharia":"")+(s.itemClass||p?" "+(s.itemClass||p):""),"aria-label":n},M?Array.isArray(J)?J.map((t,n)=>s.small?be(Ft,{meta:s.items,crit:{},when:{},sizes:{},parameters:t,auxParameters:d,arrayInfo:{source:J,item:w,index:n},global:c,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,itemsDict:e.itemsDict,layer:e.layer,onAction:e.onAction,optionsDict:e.optionsDict,play:e.play,auxTargetIsDefault:!1,AssetButton:e.AssetButton,CodeMirror:e.CodeMirror}):be(Oe,{class:"relative grows "+(s.class||"pad-h emby w-max")+(s.dynClass?" "+s.dynClass(u,d,n):""),title:s.dynTitle?s.dynTitle(u,d,n):s.title+" "+(n+1)+(t.title?" - "+t.title:""),cardid:s.cardid+"-"+n,nofold:!1,size:s.margin||0,expandedView:()=>[be(Ft,{meta:s.items,crit:{},when:{},sizes:{},parameters:t,auxParameters:d,global:c,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,itemsDict:e.itemsDict,layer:e.layer,onAction:e.onAction,optionsDict:e.optionsDict,play:e.play,auxTargetIsDefault:!1,AssetButton:e.AssetButton,CodeMirror:e.CodeMirror})],titleExpended:s.titleExpanded||s.hint,titleCollapsed:s.titleCollapsed||s.hint})).concat(s.addAction?[be(Ae,{...s.addAction,onClick:e=>{s.addAction.onClick?s.addAction.onClick(e,u,d):s.addAction.template&&J.push(tt(s.addAction.template)),be.redraw()}})]:[]):[]:_?[be(Oe,{class:"relative grows "+(s.class||"emby w-max")+(s.dynClass?" "+s.dynClass(u,d):""),title:s.dynTitle?s.dynTitle(u,d):s.title,cardid:s.cardid,nofold:!1,size:s.margin||0,expandedView:()=>[be(Ft,{meta:s.items,crit:{},when:{},sizes:{},parameters:u,auxParameters:d,global:c,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,itemsDict:e.itemsDict,layer:e.layer,onAction:e.onAction,optionsDict:e.optionsDict,play:e.play,auxTargetIsDefault:e.auxTargetIsDefault,AssetButton:e.AssetButton,CodeMirror:e.CodeMirror}),...s.addAction?[be(Ae,{...s.addAction,onClick:e=>{s.addAction.onClick(e,u,d),be.redraw()}})]:[]],titleExpended:s.titleExpanded||s.hint,titleCollapsed:s.titleCollapsed||s.hint})]:Y?[be(Ne,{class:s.class||"mini",text:"string"==typeof s.title?s.title:s.label||n})]:R?s.icon?[be(Se,{icon:s.icon,class:s.iconClass}),be(".innertext",{class:s.class,title:s.hint},J)]:[be(".innertext",{class:s.class,title:s.hint},J)]:x?[be(Mt(s.widget),"function"==typeof s.attrs?s.attrs(J,t,(e,t)=>h(e||k,t?u:w,n,void 0,s),c,e,w):s.attrs,s.children?s.children(J,t,(e,t)=>{h(e||k,t?u:w,n,void 0,s)},c,e,w):[])]:P?[be(ft,{max:s.max,min:s.min,title:s.title,label:s.label,value:J,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:S||T&&!e.CodeMirror?[be(Re,{containerClass:"grows",class:s.inputClass,value:J,label:s.label,hint:y?s.hint:s,title:s.title,maxlength:y&&s.maxlength||256,...s.final&&{oninput:()=>{}},multi:T||s.multi,alwaysmulti:T||s.alwaysmulti,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:T?[be(jt,[be(e.CodeMirror,{key:u.id,doc:J,schema:s.schema,templates:s.templates,hint:s.dynamicHint?s.dynamicHint(w):s.hint,empty:s.empty,onSave:e=>{null!==e&&(Q(e||""),h(k,w,n,void 0,s),e||De.add(s.hint+" cleared"))}})])]:E?[be(Re,{containerClass:"grows",class:s.inputClass,value:s.step>0&&s.step<1||s.float?void 0!==J?(parseFloat(J)||0).toFixed(3):"":J,type:"text",label:s.label,hint:y?s.hint:s,title:s.title,subtype:"number",...s.final&&{oninput:()=>{}},onchange:e=>{let t=s.step>0&&s.step<1||s.float,{min:a,max:r}=s;if(void 0===e)Q(void 0);else{let n=t?parseFloat(e):parseInt(e,10);isNaN(n)?n=void 0:(n<a&&(n=a),n>r&&(n=r)),Q(n)}h(k,w,n,void 0,s)}})]:F?[be(Ve,s)]:K?e.AssetButton?[be(e.AssetButton,{global:c,value:J,confirm:s.confirm,class:"grows "+(s.containerClass||"scaff scaff-b1"),buttonClass:s.buttonClass||"unitheight scaff-left",readonly:s.readOnly,closeClass:s.closeClass,textClass:s.textClass||"",iconClass:s.iconClass||"",field:s.field,types:s.types,subtype:s.subtype,file:s.file,pack:s.pack,shiftUpdate:s.shiftUpdate,shiftIcon:s.shiftIcon,removeIcon:s.removeIcon,emptyValue:s.emptyText||"off",emptyText:s.emptyText||"off",emptyIcon:s.emptyIcon||s.icon,icon:s.icon,title:s.title,titleCollapsed:s.titleCollapsed,titleClass:"pad-2 pad-v no-pad-bottom",parameters:u,auxParameters:d,onchange:(t,a)=>{a&&a.shiftKey&&e.onShiftPress?e.onShiftPress(n,w,t):(void 0===t&&(t=s.nullValue||void 0),Q(t),h(k,w,n,void 0,s))}})]:[be(Ae,{icon:s.icon,title:s.title,class:"unitheight",text:"No Asset Module"})]:V?[be(St,{class:"grows "+(s.class||"scaff scaff-b1 unitheight font-200"),icon:{glyph:J},icons:!1,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:H?[be($t,{class:"grows "+(s.class||"scaff-right unitheight"),fontFamily:J,nodelete:s.nodelete,onchange:e=>{if(s.nodelete&&!e)return;Q(e);const t=s.target||s.forTarget?u[s.target||s.forTarget]:u;h(e?k:"delete",t,n,!e,s)}})]:z?[be(ut,{class:"grows "+(s.class||"unitheight")+(X?" withalt":""),color:J,caption:s.caption,noalpha:s.noalpha,remove:s.remove,onchange:(e,t)=>{let a=e;if(a)if(s.hsl){const e=t.hsl();a=[e.hue(),e.saturation(),e.lightness()]}else s.rgba&&(a=[t.r(),t.g(),t.b(),t.a()]);Q(a),h(k,w,n,void 0,s)},...X&&{style:{"--data-altval":((w[X]??U.min)-U.min)/(U.max-U.min)*100+"%"}}},U?[be(Ct,{auto0:U.auto0,min:U.min,max:U.max,step:U.step||.1,...U.mul&&{multiplier:U.mul},class:"col-11 grows innerlabel order-first",title:U.title,value:w[X]??U.min,onchange:e=>{Q(e,void 0,X,U),h(i[G],w,G,void 0,s)}})]:void 0)]:A?[be(y&&s.toggle?s.states?Vt:zt:et,{class:"grows "+(s.class||"unitheight"),text:y?s.title||s.label:n,icon:y?s.icon:void 0,noclass:s.noclass,subline:s.subline,checked:J,title:s.hint,hint:s.hint,inverted:y&&s.inverted,states:s.states,iconClass:s.iconClass,onchange:e=>{Q(s.states?e:!!e),h(k,w,n,void 0,s)}})]:D?[be(Ae,{class:"grows "+(s.class||"accentbutton unitheight"),text:""===s.label?null:s.parse?s.parse(w,d):s.label||s.text||n,icon:s.icon,title:s.title||s.hint,onClick:t=>{const a=()=>{s.onClick?s.onClick(n,t,w,d,c,e):e.onAction&&e.onAction(n,t,b,e.arrayInfo)};s.confirm?Ze(s.confirm,a):a()}})]:O?[be(s.keys?Yt:Pt,{class:"col-12 "+(s.toggle?"istoggler":""),icon:s.icon,buttonClass:s.buttonClass,selectorClass:s.selectorClass||"grows",selectorButtonClass:s.selectorButtonClass,keys:s.keys,hint:s.hint,nocustom:s.nocustom,source:J,onchange:()=>h(k,w,n,void 0,s),...s.customWidget||{}})]:I?[be(Rt,{class:"col-12"+(s.class?" "+s.class:""),buttonClass:s.widgetClass,cardie:s.cardie,cardieClass:s.cardieClass,addButtonClass:s.addButtonClass,caption:s.caption,separatorClass:s.separatorClass,noseparator:s.noseparator,source:J,onchange:()=>h(k,w,n,void 0,s),widget:s.keyWidget,keys:s.keys,add:s.add,targetParameters:w,auxParameters:d,empty:s.empty})]:$?[be(je,{class:"col-12 "+(s.toggle?"istoggler":""),subclass:s.class,buttonClass:s.buttonClass,choices:s.choices,choose:s.choose,chooseKey:s.chooseKey,chooseDict:e.chooseDict,label:s.label,field:s.field,icon:s.icon,value:J,title:s.title,onchange:e=>{let{value:t}=e;t||t>=0?(s.toggle&&t===J&&(t=!t),Q(t),h(k,w,n,void 0,s)):(Q(void 0),h(k,w,n,void 0,s))}})]:N?[be(it,{class:s.containerClass||"scaff scaff-b1",buttonClass:s.class||"unitheightsmall scaff-left",closeClass:s.buttonClass||void 0,textClass:s.textClass||"",locked:s.locked,value:J,field:s.field,fieldTitle:s.fieldTitle,emptyText:s.emptyText||"off",emptyIcon:s.emptyIcon||s.icon,confirm:s.confirm,icon:s.icon||e.icon,hint:s.hint,label:s.label,title:s.question,itemsKey:"function"==typeof s.optionsKey?()=>s.optionsKey(w):s.optionsKey,items:s.options||e.optionsDict,removeIcon:s.removeIcon,nodelete:s.nodelete,onchange:(e,t)=>{t?.shiftKey?s.shiftPress&&s.shiftPress(w,d):("string"==typeof e&&(e=e.trim()),e?(Q(s.values?s.values[e]:e,s.clone),h(k,w,n,!1,s)):(Q(s.nullValue||void 0),h(k,w,n,!0,s)))}})]:j?[be(Be,{class:"grows scaff scaff-b1 "+(s.class||"unitheight"),value:J,emptyText:s.emptyText||"off",icon:s.icon,title:s.title,items:s.items,textClass:s.textClass||"",onchange:e=>{"string"==typeof e&&(e=e.trim()),e?(Q(e),h(k,w,n,void 0,s)):(Q(void 0),h(k,w,n,void 0,s))}})]:L?[be(Ct,{auto0:s.auto0,relative:!s.auto0&&!s.absolute,factor:s.factor,min:s.min,max:s.max,step:s.step||.1,...s.mul?{multiplier:s.mul}:{},class:"col-11 grows innerlabel",title:s.label||s.title||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),hint:s.hint,value:parseFloat(J)??s??s.min,parser:s.parser,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:[be(Ct,{min:s[0],max:s[1],step:s[2]||.1,...s[3]?{multiplier:s[3]}:{},class:"col-11 grows innerlabel",title:s[4]||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),value:parseFloat(J)||s[0],onchange:e=>{Q(e),h(k,w,n,void 0,s)}})])});return a||n.length?m?m(y.concat(n)):y.concat(n):g&&!n.length?be(Ee,g):[]});Me(({attrs:e,children:t})=>{const{busy:n,parameters:a,auxParameters:r,cardid:i,size:o,index:l,titleWidget:s,parametersTitle:c,parametersBody:u,rootUpdate:d,global:f,layer:h,tableChildren:p,cols:m,onLayerReset:g,onAction:v,nofold:y,bodyClass:b,titleAction:w,AssetButton:x,CodeMirror:k,optionsDict:C}=e;return be(Oe,{busy:n,nofold:y,size:o,cols:m,title:u.titleCollapsed||u.title,titleCollapsed:u.titleCollapsed||u.title,titleExpanded:u.titleExpanded||u.title,action:w,expandedClass:e.expandedClass,onShiftOpen:()=>{},titleWidget:s||Ft,titleAttrs:{...c,onShiftPress:e.onShiftPress,confirm:e.confirmTitle,itemClass:"",parameters:a,auxParameters:r,clone:!0,global:f,layer:h,AssetButton:x,CodeMirror:k,optionsDict:C,onAction:v,onchange:(t,n,i,o,l)=>{const s=l.rootUpdate||d;if(l?.onchange)l.onchange(t,n,a);else if(t){if("none"===s)return;"both"===s&&r?n[It]=r[It]=t:"parent"===s&&r?(n[It]=t,r[It]=!0):"target"===s&&n!==a?(n[It]=t,a[It]=!0):2===s?a[It]=t:1===s?n&&(n[It]=t):"string"==typeof s&&"both"!==s&&"parent"!==s&&"target"!==s?a[s]?(a[s][It]=t,a[It]=!0):a[It]=Nt:-1!==s&&n&&(n[It]=t)}else g&&g();e.onTitleChange&&e.onTitleChange(t,n,i,o),be.redraw()}},cardid:i,class:"withbottommargin relative"+(e.class?" "+e.class:""),bodyClass:b,expandedView:()=>[...u.meta?[be(Ft,{...u,confirm:e.confirmBody,itemClass:"pad-1",parameters:a,auxParameters:r,clone:!0,global:f,layer:h,index:l,play:e.play,itemsDict:e.itemsDict,optionsDict:C,AssetButton:x,CodeMirror:k,onAction:v,onchange:(t,n,i,o,l,s)=>{const c=l.rootUpdate||d;if(l?.onchange)l.onchange(t,n,a);else if(t){if("none"===c)return;"both"===c&&r?n[It]=r[It]=t:"parent"===c&&r?(n[It]=t,r[It]=!0):"target"===c&&n!==a?(n[It]=t,a[It]=!0):2===c?a[It]=t:1===c?n&&(n[It]=t):"string"==typeof c&&"both"!==c&&"parent"!==c&&"target"!==c?a[c]?(a[c][It]=t,a[It]=!0):a[It]=Nt:-1!==c&&n&&(n[It]=t)}else g&&g();e.onChange&&e.onChange(t,i,n,r,o,l,s,e),be.redraw()}},p)]:u.emptyMeta?[be(Ee,u.emptyMeta)]:[],...t||[]],collapsedView:e.collapsedView})}),Me(({attrs:e,state:t,children:n})=>{const{layer:a,property:r,colorProperty:i}=e,o=Ot[r],l=a[r],s=null!=l,c=s&&"object"==typeof l&&null!==l,u=c&&l,d=u&&u.exp,[,f]=d||[],h=u&&f&&Object.keys(f),p=c&&l?l.title:l,m=h&&h.length,g=e.size&&c;return be("li.coord.witharia.relative.templatedinput",{"aria-label":e["aria-label"],class:(t.chooser&&o?e.chooserClass:e.containerClass)||"col-12"},[...e.docs?[be("a.extlink.absolute.to-right.to-top.font-75.pad-2.pointer",{target:"tool",onclick:()=>{NIPX.sys.open(e.docs.url)}},e.docs.caption||"docs")]:[],e.chooser?[be(".flexrow.grows.fontgroup",[be(Ae,{class:"grows unitheightsmall rectbutton ohidden",text:p||"--- NONE ---",icon:e.icon,onClick:e=>{!t.chooser&&e.shiftKey&&o.images?_t.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(e,t)=>{const n=t&&o.images(t);n&&(a[r]=tt(n),be.redraw())}}):(t.chooser=!t.chooser,be.redraw())}}),...a[r]?[be(Ae,{class:"clearfont unitheightsmall bg-accent",text:"X",onClick:()=>{delete a[r],be.redraw()}})]:o.images&&!p?[be(Ae,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>_t.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(e,t)=>{const n=t&&o.images(t);n&&(a[r]=tt(n),be.redraw())}})})]:[]])]:[be(Re,{class:"withicon-2"+(s?" has":"")+(e.class?" "+e.class:""),value:a[r]||"",hint:e.hint,title:e.title,maxlength:e.maxlength||2048,multi:e.multi,actions:[{icon:"plus",onClick:()=>{t.chooser=!t.chooser,be.redraw()}}],onchange:e=>{e=e.split("\n").join(" ").trim(),a[r]=e,be.redraw()}})],...m||g?[be(".flexrow.wrap.paramgroup",[...m?[be(Ft,{meta:f,metaKeys:h,parameters:u,onchange:()=>{delete l.calc,be.redraw()},AssetButton:e.AssetButton,CodeMirror:e.CodeMirror})]:[],...g?[be(".flexbreak"),be(Ct,{class:"col-6 grows innerlabel",title:"size x",min:0,max:100,step:.1,relative:!0,value:parseFloat(l.w)||0,onchange:e=>{l.w=e,be.redraw()}}),be(Ct,{class:"col-6 grows innerlabel",title:"size y",min:0,max:100,step:.1,relative:!0,value:parseFloat(l.h)||0,onchange:e=>{l.h=e,be.redraw()}})]:[]])]:[],...t.chooser&&o?[be(Ht,{entity:e.entity,template:o,type:a.type,layer:a,onClick:e=>{t.chooser=!1,a[r]="object"==typeof e.value?tt(e.value):e.value,e.color&&i&&(a[i]=e.color),be.redraw()}})]:[],...s?n:[]])});const Kt=Ie(({attrs:e,children:t})=>be("header.col-12.noselect",{id:"header","aria-label":"Overlay Studio Banner"},[be("nav.header-title",{"aria-label":"Main Toolbar"},[be("figure.app-logo",{"aria-label":"Nebular Overlay Studio Logo",onclick:e.logoClick}),...e.rootTitle?[be("h3.root-title",{onclick:e.rootTitleClick},e.rootTitle)]:[],...e.title?[be("h3.grows.apptitle",{onclick:e.titleClick},e.title)]:[be(".grows","")],...e.help?[be("a",{target:"help",href:"help"},"Help")]:[],...e.version?[be("span",{id:"version"},"version "+e.version)]:[],...t||[]])])),{localStorage:Bt}=window,Ut={},Wt="obst.skin";function qt(e,t){if(Ut[e]!==t){Ut[e]=t;try{Bt[Wt]=JSON.stringify(Ut)}catch(e){}}}function Jt(e,t){const n=Ut[e];return void 0===n?t:n}!function(){try{const e=Bt[Wt];if(e){const t=JSON.parse(e);Object.assign(Ut,t)}}catch(e){}}();const Gt={locale:"english",defaultRootService:"overlays",rootService:"overlays",defaultScreenRootTitle:"Overlay SDK"};var Xt={exports:{}};!function(e){e.exports=function(e){var t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),n={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function a(e,t,a){var r=n[a];return Array.isArray(r)&&(r=r[t?0:1]),r.replace("%d",e)}var r={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(e){return e+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a}};return t.default.locale(r,null,!0),r}(xe)}(Xt);var Zt=n(Xt.exports),Qt={exports:{}};!function(e){var t,n;e.exports=(t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(xe),n={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return e+(1===e?"er":"")}},t.default.locale(n,null,!0),n)}(Qt);var en=n(Qt.exports),tn={exports:{}};!function(e){var t,n;e.exports=(t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(xe),n={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(e){return e+"º"}},t.default.locale(n,null,!0),n)}(tn);var nn=n(tn.exports),an={exports:{}};!function(e){e.exports={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}}}(an);var rn=n(an.exports);function on(e,t=!0){switch(Gt.locale=e,qt("locale",Gt.locale),e){case"spanish":ke.locale(nn);break;case"french":ke.locale(en);break;case"german":ke.locale(Zt);break;default:ke.locale(rn)}t&&(document.dispatchEvent(new CustomEvent("locale",{detail:{locale:Gt.locale}})),be.redraw())}const ln={english:"🇬🇧",german:"🇩🇪",spanish:"🇪🇸",french:"🇫🇷"},sn=Ie(({children:e})=>be(".boxstuff-right.flexrow.status",[be(Ae,{"aria-label":"language",class:"localebutton",title:"Change application language",text:ln[Gt.locale||"english"],onClick:()=>Xe(document.body,{},Object.keys(ln).map(e=>({text:e}))).then(e=>{on(e.action.text)}).catch(e=>{})}),be(Ae,{"aria-label":"skin",class:"skinbutton",title:"Change application skin between dark mode, light mode or automatic",icon:"dark"===Gt.skin?"sun":"light"===Gt.skin?"moon":"umbrella",onClick:()=>{Gt.skin="dark"===Gt.skin?"light":"light"===Gt.skin?"auto":"dark",qt("skin",Gt.skin),document.body.classList.toggle("skin-dark","dark"===Gt.skin),document.body.classList.toggle("skin-light","light"===Gt.skin),be.redraw()}}),...e])),cn=Ie(({attrs:e})=>be(Kt,{...e.rootTitle&&{rootTitle:e.rootTitle,rootTitleClick:()=>be.route.set(`/${Gt.defaultRootService}`)},...e.title&&{title:e.title,titleClick:()=>be.route.set(`/${e.link}`)}},be(sn)),void 0,void 0,void 0,({attrs:e,state:t})=>{const n=`${e.title} - ${e.rootTitle}`;t.title!==n&&(document.title=t.title=n)});window.addEventListener("load",()=>{document.dispatchEvent(new CustomEvent("locale",{detail:{locale:Gt.locale}}))});let un={};const dn=Ie(({children:e})=>[e]),fn=Ie(({attrs:e,state:t})=>{const{defaultScreenTitle:n,defaultScreenRootTitle:a,rootService:r}=Gt;let i=r;return r&&!un[r]&&(i=Gt.defaultRootService),[be(cn,{title:e.serviceAttrs?.screenTitle||n,rootTitle:e.serviceAttrs?.screenRootTitle||a,link:`${e.service}/${e.section}`}),be(".flexcol.ohidden.grows.scrolly.outercontent",be(".flexcol.grows.noshrink.innercontent",t.loadingContent?[be(Ee,{icon:"sync.fa-spin",size:2,class:"pad-2"})]:[...Gt.rootService&&un[i]?[be(dn,be(un[i],{service:e.service,...e.serviceScreen&&{serviceAttrs:e.serviceAttrs,serviceScreen:e.serviceScreen},...e.section&&{section:e.section},...e.key&&{key:e.key},...e.panel&&{panel:e.panel}}))]:[be(Ee,{size:2,icon:"sad-tear",message:"Select a service to continue"})]]))]},({attrs:e})=>{document.body.classList.toggle("skin-dark","dark"===Gt.skin),document.body.classList.toggle("skin-light","light"===Gt.skin),Gt.rootService=e.service?e.service:e.serviceAttrs?.service?e.serviceAttrs.service:be.route.get().split("/")[1]}),hn={english:{list:"Templates",preview:"Preview",phasePlay:"Playing",buttonAck:"Acknowledge",confirmYes:"YES",confirmNo:"NO",confirmDelete:"Delete this item?",previewOf:"Preview of",noValues:"This template does not expose configurable values.",titleOverlayTemplates:"Overlay Templates",descriptionOverlayTemplates:"Browse the templates in this local repository and select one to preview and edit its parameters.",dragAndDropVideo:"Tip: Drop a video from your computer to preview it",defaultInstructions:"Adjust the template parameters and inspect the result in the live preview.",noTemplates:"No overlay templates are available"},german:{list:"Vorlagen",preview:"Vorschau",phasePlay:"Spielbetrieb",buttonAck:"Bestätigen",confirmYes:"JA",confirmNo:"NEIN",confirmDelete:"Dieses Element löschen?",previewOf:"Vorschau von",noValues:"Diese Vorlage stellt keine konfigurierbaren Werte bereit.",titleOverlayTemplates:"Overlay-Vorlagen",descriptionOverlayTemplates:"Durchsuchen Sie die Vorlagen in diesem lokalen Repository und wählen Sie eine aus, um sie in der Vorschau anzuzeigen und ihre Parameter zu bearbeiten.",dragAndDropVideo:"Tipp: Ziehen Sie ein Video von Ihrem Computer in den Vorschaubereich",defaultInstructions:"Passen Sie die Template-Parameter an und prüfen Sie das Ergebnis in der Live-Vorschau.",noTemplates:"Keine Overlay-Templates verfügbar"},spanish:{list:"Plantillas",preview:"Vista previa",phasePlay:"En juego",buttonAck:"Aceptar",confirmYes:"SÍ",confirmNo:"NO",confirmDelete:"¿Eliminar este elemento?",previewOf:"Vista previa de",noValues:"Esta plantilla no ofrece valores configurables.",titleOverlayTemplates:"Plantillas de overlay",descriptionOverlayTemplates:"Explora las plantillas de este repositorio local y selecciona una para previsualizarla y editar sus parámetros.",dragAndDropVideo:"Consejo: Arrastra un vídeo de tu ordenador para previsualizarlo",defaultInstructions:"Ajusta los parámetros de la plantilla y comprueba el resultado en la vista previa en directo.",noTemplates:"No hay plantillas de overlay disponibles"},french:{list:"Modèles",preview:"Aperçu",phasePlay:"En jeu",buttonAck:"Confirmer",confirmYes:"OUI",confirmNo:"NON",confirmDelete:"Supprimer cet élément ?",previewOf:"Aperçu de",noValues:"Ce modèle ne propose aucune valeur configurable.",titleOverlayTemplates:"Modèles d’overlay",descriptionOverlayTemplates:"Parcourez les modèles de ce dépôt local et sélectionnez-en un pour le prévisualiser et modifier ses paramètres.",dragAndDropVideo:"Astuce : Déposez une vidéo de votre ordinateur pour la prévisualiser",defaultInstructions:"Ajustez les paramètres du modèle et vérifiez le résultat dans l’aperçu en direct.",noTemplates:"Aucun modèle d’overlay n’est disponible"}};let pn=hn[Gt.locale]||hn.english;const mn={view:({attrs:e})=>be(fn,{...e,service:"overlays",serviceAttrs:{screenTitle:pn[e.section],section:e.section,link:`/overlays/${e.section}`}})};document.addEventListener("locale",e=>((e="english")=>{pn=hn[e]||hn.english})(e.detail.locale));const gn=Ie(({attrs:e})=>{const{value:t,field:n,element:a,emptyMessage:r,chooseKey:i,chooseDict:o}=e,l=!e.choose&&i&&o?o[i]:e.choose,s=l?l.map(e=>({value:e,caption:e})):e.choices||{},c=Array.isArray(t)?t:[],u=Object.keys(s),d=Math.max(1,Math.trunc(Number(e.rows)||1)),f=Math.max(1,Math.trunc(Number(e.cols)||Math.ceil(u.length/d)||1)),h=Boolean(e.responsive),p=e.minCellWidth||"3rem",m=h?`repeat(auto-fit, minmax(min(100%, max(${p}, ${100/f+"%"})), 1fr))`:`repeat(${f}, minmax(0, 1fr))`,g=(e.class||"")+(e.subclass?` ${e.subclass}`:" scaff scaff-b1");return u.length||r?be((a||"div")+".buttonchoice.flexrow.ohidden",{class:g+(e.icon?` withicon fa-${e.icon}`:""),title:e.title},be(".grows.ohidden"+(e.icon?".scaff-left":""),{style:{display:"grid",gridTemplateColumns:m}},u.length?u.map(t=>{const a=s[t],r=e.raw&&n?a:a.value,i=n?r[n]:r,o=c.includes(i);return be(Ae,{icon:a.icon||void 0,class:"grows scaff-b0 "+(e.buttonClass?`${e.buttonClass} `:"rectbutton unitheightsmall ")+(a.class?`${a.class} `:"")+(o?"accent":""),title:o?a.titleOn||a.title:a.titleOff||a.title,"aria-pressed":String(o),onClick:n=>{const r=o?c.filter(e=>e!==i):[...c,i];e.onchange?.(r,a,t,n),be.redraw()}},e.render?e.render(a):a.caption||t)}):[be(".emptychoice.grows.al-center.align-self-center.unitheightsmall",r)])):[]}),vn={set:[],selector:1,action:0,date:0},yn={set:"col-12",choose:"col-6",multi:"col-12",number:"col-3"};function bn(e,t){return String(t).split("/").reduce((e,t)=>e?.[t],e)}function wn(e){return String(e).split("/").pop()}function xn(e,t,n){const a=String(t).split("/");let r=e;a.forEach((e,t)=>{t===a.length-1?r[e]=n:r=r[e]||={}})}function kn(e,t={}){const n=structuredClone(t);return Object.entries(e).forEach(([e,t])=>{const a=t?.source||e;void 0===bn(n,a)&&xn(n,a,structuredClone(t?.default??vn[t.type]??""))}),n}const Cn=Ie(({attrs:e,state:t})=>{t.onChange=e.onChange,e.values===t.sourceValues&&e.meta===t.sourceMeta||t.refreshValues(e);const n=Object.entries(e.meta||{}).filter(([t,n])=>!n.phase||e.isPlaying&&"play"===n.phase||!e.isPlaying&&"edit"===n.phase).filter(([t,n])=>{return!(a=n.when)||!a.key||void 0===a.is||null===a.is||bn(e.values,a.key)===a.is;var a});return n.length?be(".overlay-values-fields",{class:e.class},n.map(([n,a])=>[be(".label.overlay-values-field",{class:a.size>0?`col-${a.size}`:yn[a.type]||a.container||""},[be("span",a.label||wn(a.source||n)),(En[a.type]||En.string)(a.source||n,a,t,e)]),...a?.break?[be(".flexbreak")]:[]])):be(".overlay-values-empty",e.emptyMessage)},({attrs:e,state:t})=>{Object.assign(t,{refreshValues:e=>{t.sourceValues=e.values,t.sourceMeta=e.meta,t.value=kn(e.meta,e.values)},change:(e,n)=>{xn(t.value,e,n),t.onChange?.(t.value,e)}}),t.onChange=e.onChange,t.refreshValues(e)}),_n=Ie(({attrs:e,state:t})=>be(".flexcol.big.gap-2.overlay-values-selector",{title:e.hint},[...e.items.length>0?[be(ft,{class:"plusminus",min:1,max:e.items.length,value:t.index,buttonClass:"unitsize transp",iconMinus:"caret-left",iconPlus:"caret-right",parser:t=>`${t} / ${e.items.length}`,onchange:n=>{t.index=n,t.item=e.items[t.index-1],e.onchange(n)}}),...e.fields?.length?e.fields.map(e=>be(".param-field",t.item[e]??"")):[]]:[]]),({attrs:e,state:t})=>{const n=Number(e.index);t.index=e.items?.length?n>=1&&n<=e.items.length?n:1:0,t.item=t.index>=1?e.items[t.index-1]:null}),Mn=Ie(({attrs:e,state:t})=>(Object.assign(t,{onChange:e.onChange,meta:e.meta}),e.items!==t.items&&t.refreshItems(e),be(".flexcol.big.gap-2.overlay-values-set",{title:e.hint},[...t.index>=0?[be(ft,{min:0,max:t.items.length-1,value:t.index,iconMinus:"caret-left",iconPlus:"caret-right",parser:e=>`${e+1} / ${t.items.length}`,onchange:e=>{t.setItem(e)}})]:[],...t.item?[be(Cn,{meta:e.meta,values:t.item,emptyMessage:t.emptyMessage,isPlaying:!!e.isPlaying,onChange:(n,a)=>{t.setItem(t.index,n),e.onChange?.(t.items)},STR:e.STR})]:[],be(".flexrow.lowerbar.gap-1",[...!e.max||t.items.length<e.max?[be(Ae,{class:"unitheightsmall grows button",icon:"plus",onClick:()=>t.addItem()})]:[],...t.items.length>0&&t.index>=0?[be(Ae,{class:"unitheightsmall grows button",icon:"trash",onClick:()=>Ze(e.STR.confirmDelete,()=>t.deleteItem(t.index),void 0,e.STR.confirmYes,e.STR.confirmNo)})]:[]])])),({attrs:e,state:t})=>{Object.assign(t,{setItem:(e,n)=>{t.index=0===t.items.length?-1:Math.min(Math.max(e,0),t.items.length-1),void 0!==n&&(t.items[t.index]=n),t.item=t.items[t.index],be.redraw()},deleteItem:e=>{e>=0&&e<t.items.length&&(t.items.splice(e,1),t.setItem(Math.min(e,t.items.length-1)),t.onChange?.(t.items))},addItem:()=>{t.items.push(kn(t.meta)),t.setItem(t.items.length-1),t.onChange?.(t.items)},refreshItems:e=>{t.items=e.items||[],t.index=t.items.length?Math.min(Math.max(e.index??t.index??0,0),t.items.length-1):-1,t.item=t.items[t.index]}}),t.onChange=e.onChange,t.meta=e.meta,t.refreshItems(e)}),Sn=e=>null!=e&&!isNaN(e),Tn=e=>{if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?"":new Date(t.getTime()-6e4*t.getTimezoneOffset()).toISOString().slice(0,19)},An=e=>{if(Array.isArray(e)&&e.length)return"string"==typeof e[0]?{choose:e}:e[0].value&&e[0].caption?{choices:e}:{choose:[]}},En={action:(e,t,n)=>be(Ae,{class:"button param-button"+(t.class?" "+t.class:""),icon:t.icon,text:t.text,title:t.hint,onClick:()=>n.change(e,Date.now(),!0)}),reset:(e,t,n)=>be(Ae,{class:"button param-button"+(t.class?" "+t.class:""),icon:t.icon,text:t.text,title:t.hint,onClick:()=>{for(const[e,a]of Object.entries(t.values))n.change(e,a);be.redraw()}}),set:(e,t,n,a)=>be(Mn,{class:"param-set"+(t.class?" "+t.class:""),meta:t.meta,max:t.max,hint:t.hint,isPlaying:a.isPlaying,items:bn(n.value,e)??[],onChange:t=>n.change(e,t),STR:a.STR}),selector:(e,t,n)=>be(_n,{items:bn(n.value,t.set)??[],index:bn(n.value,e)??0,fields:t.include,onchange:t=>n.change(e,t)}),string:(e,t,n)=>t.readonly?be("div.static",bn(n.value,e)??t.hint??""):be("input",{class:"param-input param-string"+(t.class?" "+t.class:""),type:"text",value:bn(n.value,e)??"",...t.hint&&{placeholder:t.hint},...t.maxLength>=1&&{maxLength:t.maxLength},onchange:t=>{n.change(e,t.target.value)}}),date:(e,t,n)=>t.readonly?be("div.static",new Date(bn(n.value,e)).toLocaleString()):be("input",{class:"param-input param-date"+(t.class?" "+t.class:""),type:"datetime-local",step:1,value:Tn(bn(n.value,e)),...t.hint&&{placeholder:t.hint},onchange:t=>{const a=t.target.value;a&&n.change(e,new Date(a).getTime())}}),number:(e,t,n)=>t.readonly?be("div.static",{class:"param-static"+(t.class?" "+t.class:"")},bn(n.value,e)??t.hint??""):be("input",{type:"number",class:"param-input param-number"+(t.class?" "+t.class:""),...Sn(t.min)&&{min:t.min},...Sn(t.max)&&{max:t.max},...t.hint&&{placeholder:t.hint},value:bn(n.value,e)??"",oninput:t=>n.change(e,t.target.value)}),range:(e,t,n)=>be(Ct,{min:Sn(t.min)?t.min:0,max:Sn(t.max)?t.max:100,step:Sn(t.step)&&t.step>0?t.step:1,class:"grows innerlabel param-range",value:bn(n.value,e)??(Sn(t.min)?t.min:0),hint:t.hint,onchange:t=>{n.change(e,t)}}),choose:(e,t,n)=>be(je,{class:"param-choose col-12",subclass:"param-choose",buttonClass:"unitheight",toggle:!1,icon:t.icon,...An(t.choose),title:t.hint,value:bn(n.value,e),onchange:t=>{const a=t&&t.value;n.change(e,a)}}),select:(e,t,n)=>be("select",{title:t.hint,value:bn(n.value,e),class:"param-select",onchange:t=>{const a=t.target.value;n.change(e,a)}},t.choose.map(e=>"object"==typeof e&&e.value?be("option",{value:e.value},e.caption||e.value):be("option",{value:e},String(e)))),multi:(e,t,n)=>be(gn,{cols:t.cols||5,rows:t.rows||void 0,subclass:"param-multi",responsive:!!t.responsive,minCellWidth:t.minCellWidth||"2.54rem",title:t.hint,icon:t.icon,choose:t.choose,value:bn(n.value||t.default,e),onchange:t=>{n.change(e,t)}}),color:(e,t,n)=>be(ut,{class:"grows "+(t.class||"unitheight"),color:bn(n.value||t.default,e),caption:t.caption,noalpha:!!t.noalpha,remove:!!t.remove,onchange:t=>{n.change(e,t)}})};async function Ln(e){const t=await fetch(e,{cache:"no-store"});if(!t.ok)throw new Error(await t.text()||`Request failed with status ${t.status}`);return t.json()}function Dn(e){const t=window.__NEBULAR_OVERLAY_PREVIEW__||{};if(!t.templateOrigin)throw new Error("The local template server is not configured");return`${t.templateOrigin}/templates/${function(e){return String(e).split("/").map(encodeURIComponent).join("/")}(e)}/`}let $n=hn[Gt.locale]||hn.english,On=null,In=null;const Nn="list",jn="preview";function zn(e){const t=String(e).indexOf("/");return t<0?"":String(e).slice(0,t)}function Pn(e,t){return wn(t?e.slice(t.length+1):e)}function Yn(e,t={}){const n=new URL(e.src,window.location.href).origin;e.contentWindow?.postMessage({type:"nebular-overlay:update",values:structuredClone(t)},n)}function Rn(e,t){e.error=t}function Vn(e,t){be.route.set(`/overlays/${e}`,t)}function Hn(e){return Array.from(e.dataTransfer?.types||[]).includes("Files")}document.addEventListener("dragover",e=>{Hn(e)&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")}),document.addEventListener("drop",e=>{var t;Hn(e)&&(e.preventDefault(),t=Array.from(e.dataTransfer.files).find(e=>e.type.startsWith("video/")),t?.type.startsWith("video/")&&(In&&URL.revokeObjectURL(In),In=URL.createObjectURL(t),be.redraw()))}),window.addEventListener("beforeunload",()=>{In&&URL.revokeObjectURL(In)});const Fn=Ie(({attrs:e})=>be(Ee,{icon:"layer-group",size:2,message:e.state?.error||e.message},e.action?be(Ae,{icon:"layer.group",class:"button marg-1",text:$n.buttonAck,onClick:e.action}):[])),Kn=Ie(()=>be(Ee,{icon:"sync.fa-spin",size:2})),Bn=Ie(()=>be(Ae,{"aria-label":"Go back to Templates",class:"button backbutton h-100",icon:"caret-left.fa-2x",onClick:()=>Vn(Nn)})),Un=Ie(({attrs:e,children:t})=>[...t,be(".overlay-preview",{oncreate:({dom:e,state:t})=>{t.cleanup=function(e){const t=new ResizeObserver(([t])=>{const n=Math.min(t.contentRect.width/1920,t.contentRect.height/1080);e.style.setProperty("--preview-scale",n)});return t.observe(e),()=>t.disconnect()}(e)},onremove:({state:e})=>e.cleanup?.()},[...e.backgroundUrl?[be("video.overlay-preview-background",{src:e.backgroundUrl,autoplay:!0,muted:!0,loop:!0,playsinline:!0})]:[],be("iframe",{src:Dn(e.template),title:`${$n.previewOf} ${e.template}`,sandbox:"allow-scripts allow-same-origin",onload:t=>{t.redraw=!1,Yn(t.target,e.values),e.onReady?.(t.target)},onremove:()=>e.onReady?.(null)})])]),Wn=Ie(({attrs:e,state:t})=>be("section.overlay-values-editor",{"aria-label":"Editor for Overlay Parameters"},[be(".flexrow.overlay-values-title.wrap",[be(".grows",[be(".flexrow",[be("h3.grows",e.title),be(et,{text:$n.phasePlay,onchange:e=>{t.isPlaying=Boolean(e)}})]),be("p",e.description)])]),be(Cn,{meta:e.meta,values:e.values,emptyMessage:$n.noValues,onChange:e.onChange,isPlaying:t.isPlaying,STR:$n})])),qn=Ie(({attrs:e})=>be("nav.flexcol.overlay-category-list.fadein",{"aria-label":"Template categories"},function(e){const t=new Map;for(const n of e){const e=zn(n);t.set(e,(t.get(e)||0)+1)}return[{id:null,name:"All",count:e.length,icon:"th-large"},...[...t.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({id:e,name:e?wn(e):"Uncategorized",count:t,icon:e?"folder":"file"}))]}(e.templates).map(e=>be("button.flexrow.overlay-category",{type:"button",class:On===e.id?"active":"",onclick:()=>{On=e.id},"aria-label":`Category ${e.name}, total ${e.count}`},[be(Se,{icon:e.icon,size:1}),be("span.grows",e.name),be("span.overlay-category-count",e.count)])))),Jn=Ie(({state:e})=>{return be("section.flexcol.grows.h-100.w-100.overlay-content",{"aria-label":"Template Selection Screen"},[be("header.flexrow.overlay-title",[be(".grows.flexcol",[be("h2",$n.titleOverlayTemplates),be("p",be.trust($n.descriptionOverlayTemplates))])]),e.error?be(Fn,{state:e}):e.loading?be(Kn):e.templates?.length?be(".overlay-template-browser",[be(qn,{templates:e.templates}),be(".overlay-template-grid",{"aria-label":"List of local templates"},(t=e.templates,n=On,null==n?t:t.filter(e=>zn(e)===n)).map(e=>be("article.overlay-template-card.fadein.clickable",{"aria-label":`Template ${e}`,title:"Open local preview",onclick:()=>Vn(jn,{template:e})},be(Un,{template:e},[be(".flexrow.overlay-template-copy",[be(".grows.ohidden",[be("h3",Pn(e,On)),be("code",e)])])]))))]):be(Ee,{icon:"layer-group",size:2,message:$n.noTemplates})]);var t,n},async({state:e})=>{e.loading=!0;try{e.templates=(t=await Ln("/api/templates"),Array.isArray(t?.templates)?t.templates:[]).sort(),null===On||e.templates.some(e=>zn(e)===On)||(On=null)}catch(t){Rn(e,t.message||"Unable to load overlay templates")}finally{e.loading=!1,be.redraw()}var t}),Gn=Ie(({attrs:e,state:t})=>be("section.flexcol.overlay-content.h-100.w-100.grows",[be("header.flexrow.overlay-title",[be(Bn),be(".grows.flexcol",[be("h2",wn(e.template)),be("code",e.template)])]),t.error?be(Fn,{state:t,action:()=>Vn(Nn)}):t.loading?be(Kn):be(".overlay-details-grid.fadein",[be(Wn,{title:wn(e.template),description:t.instructions||$n.defaultInstructions,meta:t.meta,values:t.templateValues,onChange:e=>{t.templateValues=e,t.previewIframe&&Yn(t.previewIframe,e)}}),be("article.overlay-template-card",{"aria-label":"Template Preview"},[be(Un,{template:e.template,values:t.templateValues,backgroundUrl:In,onReady:e=>{t.previewIframe=e,e&&Yn(e,t.templateValues)}}),be(".tip",$n.dragAndDropVideo)])])]),async({attrs:e,state:t})=>{t.loading=!0;try{!function(e,t){t.meta=e?.meta||{},t.instructions=e?.instructions||null}(await(n=e.template,Ln(`/api/manifest?id=${encodeURIComponent(n)}`)),t),t.templateValues=kn(t.meta)}catch(e){Rn(t,e?.message||"Unable to load template manifest")}finally{t.loading=!1,be.redraw()}var n}),Xn=Ie(({attrs:e})=>{if(e.section===jn){const e=be.route.param("template");return be(".flexrow.ohidden.maincontainer.grows.overlay-service",[e?be(Gn,{template:e}):be(Jn)])}if(e.section===Nn)return be(".flexrow.ohidden.maincontainer.grows.overlay-service",[be(Jn)]);Vn(Nn)});document.addEventListener("locale",e=>((e="english")=>{$n=hn[e]||hn.english})(e.detail.locale));const Zn={overlays:Xn};var Qn;be.route.prefix="?",ke.extend(_e),window.addEventListener("contextmenu",e=>e.preventDefault()),un=Zn,Gt.skin=Jt("skin"),on(Jt("locale")||"english",!1),Qn=function(){var e;document.body.classList.toggle("skin-dark","dark"===Gt.skin),document.body.classList.toggle("skin-light","light"===Gt.skin),e={default:"/",routes:{"/":mn,"/overlays/:section":mn,"/overlays/:section/:key":mn,"/overlays/:section/:key/:panel":mn,"/:service":fn}},be.route(document.getElementById("ui"),e.default||"/",e.routes)},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Qn):Qn()}();
|
|
6
|
+
!function(){"use strict";var e,t;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function a(){if(t)return e;function n(e,t,n,a,r,i){return{tag:e,key:t,attrs:n,children:a,text:r,dom:i,is:void 0,domSize:void 0,state:void 0,events:void 0,instance:void 0}}return t=1,n.normalize=function(e){return Array.isArray(e)?n("[",void 0,void 0,n.normalizeChildren(e),void 0,void 0):null==e||"boolean"==typeof e?null:"object"==typeof e?e:n("#",void 0,void 0,String(e),void 0,void 0)},n.normalizeChildren=function(e){for(var t=new Array(e.length),a=0,r=0;r<e.length;r++)t[r]=n.normalize(e[r]),null!==t[r]&&null!=t[r].key&&a++;if(0!==a&&a!==e.length)throw new TypeError(t.includes(null)?"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.":"In fragments, vnodes must either all have keys or none have keys.");return t},e=n}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var r,i,o=a(),l=function(e,t){return null==e||"object"==typeof e&&null==e.tag&&!Array.isArray(e)?1===t.length&&Array.isArray(t[0])&&(t=t[0]):(t=0===t.length&&Array.isArray(e)?e:[e,...t],e=void 0),o("",e&&e.key,e,t)};function s(){return i?r:(i=1,r={}.hasOwnProperty)}var c={},u=new Map([[c,!0]]),d=a(),f=l,h=s(),p=c,m=u,g=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,v=Object.create(null);function y(e){return"value"===e||"checked"===e||"selectedIndex"===e||"selected"===e}var b=function(e,t,...n){if(null==e||"string"!=typeof e&&"function"!=typeof e&&"function"!=typeof e.view)throw Error("The selector must be either a string or a component.");var a=f(t,n);return"string"==typeof e&&(a.children=d.normalizeChildren(a.children),"["!==e)?function(e,t){t.tag=e.tag;var n=t.attrs;if(null==n)return t.attrs=e.attrs,t.is=e.is,t;if(h.call(n,"class")&&(null!=n.class&&(n.className=n.class),n.class=null),e.attrs!==p){var a=n.className;n=Object.assign({},e.attrs,n),null!=e.attrs.className&&(n.className=null!=a?String(e.attrs.className)+" "+String(a):e.attrs.className)}return"input"===e.tag&&h.call(n,"type")&&(n=Object.assign({type:n.type},n)),t.is=n.is,t.attrs=n,t}(v[e]||function(e){for(var t,n="div",a=[],r={},i=!0;t=g.exec(e);){var o=t[1],l=t[2];if(""===o&&""!==l)n=l;else if("#"===o)r.id=l;else if("."===o)a.push(l);else if("["===t[3][0]){var s=t[6];s&&(s=s.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?a.push(s):(r[t[4]]=""===s?s:s||!0,y(t[4])&&(i=!1))}}return a.length>0&&(r.className=a.join(" ")),function(e){for(var t in e)if(h.call(e,t))return!1;return!0}(r)?r=p:m.set(r,i),v[e]={tag:n,attrs:r,is:r.is}}(e),a):(null==a.attrs&&(a.attrs={}),a.tag=e,a)},w=a(),x=a(),k=l,C=b;C.trust=function(e){return null==e&&(e=""),w("<",void 0,void 0,e,void 0,void 0)},C.fragment=function(e,...t){var n=k(e,t);return null==n.attrs&&(n.attrs={}),n.tag="[",n.children=x.normalizeChildren(n.children),n};var _,M,S,T,A,E,L,D,$=C;function O(){return M?_:(M=1,_=new WeakMap)}function I(){if(T)return S;T=1;var e=O();return S=function*(t){var n=t.dom,a=t.domSize,r=e.get(n);if(null!=n)do{var i=n.nextSibling;e.get(n)===r&&(yield n,a--),n=i}while(a)},S}function N(){if(E)return A;E=1;var e=a(),t=O(),n=I(),r=u;return A=function(){var a,i,o={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function l(e){return e.ownerDocument}function s(e){return e.attrs&&e.attrs.xmlns||o[e.tag]}function c(e,t){if(e.state!==t)throw new Error("'vnode.state' must not be modified.")}function u(e){var t=e.state;try{return this.apply(t,arguments)}finally{c(e,t)}}function d(e){try{return l(e).activeElement}catch(e){return null}}function f(e,t,n,a,r,i,o){for(var l=n;l<a;l++){var s=t[l];null!=s&&h(e,s,r,o,i)}}function h(t,n,a,r,i){var o=n.tag;if("string"==typeof o)switch(n.state={},null!=n.attrs&&P(n.attrs,n,a),o){case"#":!function(e,t,n){t.dom=l(e).createTextNode(t.children),C(e,t.dom,n)}(t,n,i);break;case"<":m(t,n,r,i);break;case"[":!function(e,t,n,a,r){var i=l(e).createDocumentFragment();if(null!=t.children){var o=t.children;f(i,o,0,o.length,n,null,a)}t.dom=i.firstChild,t.domSize=i.childNodes.length,C(e,i,r)}(t,n,a,r,i);break;default:!function(e,t,n,a,r){var i=t.tag,o=t.attrs,c=t.is,u=(a=s(t)||a)?c?l(e).createElementNS(a,i,{is:c}):l(e).createElementNS(a,i):c?l(e).createElement(i,{is:c}):l(e).createElement(i);if(t.dom=u,null!=o&&function(e,t,n){for(var a in t)D(e,a,null,t[a],n)}(t,o,a),C(e,u,r),!_(t)&&null!=t.children){var d=t.children;f(u,d,0,d.length,n,null,a),"select"===t.tag&&null!=o&&function(e,t){if("value"in t)if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;e.dom.value===n&&-1!==e.dom.selectedIndex||(e.dom.value=n)}"selectedIndex"in t&&D(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,o)}}(t,n,a,r,i)}else!function(t,n,a,r,i){(function(t,n){var a;if("function"==typeof t.tag.view){if(t.state=Object.create(t.tag),null!=(a=t.state.view).$$reentrantLock$$)return;a.$$reentrantLock$$=!0}else{if(t.state=void 0,null!=(a=t.tag).$$reentrantLock$$)return;a.$$reentrantLock$$=!0,t.state=null!=t.tag.prototype&&"function"==typeof t.tag.prototype.view?new t.tag(t):t.tag(t)}if(P(t.state,t,n),null!=t.attrs&&P(t.attrs,t,n),t.instance=e.normalize(u.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");a.$$reentrantLock$$=null})(n,a),null!=n.instance?(h(t,n.instance,a,r,i),n.dom=n.instance.dom,n.domSize=n.instance.domSize):n.domSize=0}(t,n,a,r,i)}var p={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function m(e,t,n,a){var r=t.children.match(/^\s*?<(\w+)/im)||[],i=l(e).createElement(p[r[1]]||"div");"http://www.w3.org/2000/svg"===n?(i.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",i=i.firstChild):i.innerHTML=t.children,t.dom=i.firstChild,t.domSize=i.childNodes.length;for(var o,s=l(e).createDocumentFragment();o=i.firstChild;)s.appendChild(o);C(e,s,a)}function g(e,t,n,a,r,i){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)f(e,n,0,n.length,a,r,i);else if(null==n||0===n.length)M(e,t,0,t.length);else{var o=null!=t[0]&&null!=t[0].key,l=null!=n[0]&&null!=n[0].key,s=0,c=0;if(!o)for(;c<t.length&&null==t[c];)c++;if(!l)for(;s<n.length&&null==n[s];)s++;if(o!==l)M(e,t,c,t.length),f(e,n,s,n.length,a,r,i);else if(l){for(var u,d,p,m,g,b=t.length-1,C=n.length-1;b>=c&&C>=s&&(p=t[b],m=n[C],p.key===m.key);)p!==m&&v(e,p,m,a,r,i),null!=m.dom&&(r=m.dom),b--,C--;for(;b>=c&&C>=s&&(u=t[c],d=n[s],u.key===d.key);)c++,s++,u!==d&&v(e,u,d,a,x(t,c,r),i);for(;b>=c&&C>=s&&s!==C&&u.key===m.key&&p.key===d.key;)k(e,p,g=x(t,c,r)),p!==d&&v(e,p,d,a,g,i),++s<=--C&&k(e,u,r),u!==m&&v(e,u,m,a,r,i),null!=m.dom&&(r=m.dom),c++,p=t[--b],m=n[C],u=t[c],d=n[s];for(;b>=c&&C>=s&&p.key===m.key;)p!==m&&v(e,p,m,a,r,i),null!=m.dom&&(r=m.dom),C--,p=t[--b],m=n[C];if(s>C)M(e,t,c,b+1);else if(c>b)f(e,n,s,C+1,a,r,i);else{var _,S,T=r,E=C-s+1,L=new Array(E),D=0,$=0,O=2147483647,I=0;for($=0;$<E;$++)L[$]=-1;for($=C;$>=s;$--){null==_&&(_=y(t,c,b+1));var N=_[(m=n[$]).key];null!=N&&(O=N<O?N:-1,L[$-s]=N,p=t[N],t[N]=null,p!==m&&v(e,p,m,a,r,i),null!=m.dom&&(r=m.dom),I++)}if(r=T,I!==b-c+1&&M(e,t,c,b+1),0===I)f(e,n,s,C+1,a,r,i);else if(-1===O)for(S=function(e){var t=[0],n=0,a=0,r=0,i=w.length=e.length;for(r=0;r<i;r++)w[r]=e[r];for(r=0;r<i;++r)if(-1!==e[r]){var o=t[t.length-1];if(e[o]<e[r])w[r]=o,t.push(r);else{for(n=0,a=t.length-1;n<a;){var l=(n>>>1)+(a>>>1)+(n&a&1);e[t[l]]<e[r]?n=l+1:a=l}e[r]<e[t[n]]&&(n>0&&(w[r]=t[n-1]),t[n]=r)}}for(a=t[(n=t.length)-1];n-- >0;)t[n]=a,a=w[a];return w.length=0,t}(L),D=S.length-1,$=C;$>=s;$--)d=n[$],-1===L[$-s]?h(e,d,a,i,r):S[D]===$-s?D--:k(e,d,r),null!=d.dom&&(r=n[$].dom);else for($=C;$>=s;$--)d=n[$],-1===L[$-s]&&h(e,d,a,i,r),null!=d.dom&&(r=n[$].dom)}}else{var j=t.length<n.length?t.length:n.length;for(s=s<c?s:c;s<j;s++)(u=t[s])===(d=n[s])||null==u&&null==d||(null==u?h(e,d,a,i,x(t,s+1,r)):null==d?A(e,u):v(e,u,d,a,x(t,s+1,r),i));t.length>j&&M(e,t,s,t.length),n.length>j&&f(e,n,s,n.length,a,r,i)}}}function v(t,n,a,i,o,l){var c=n.tag;if(c===a.tag&&n.is===a.is){if(a.state=n.state,a.events=n.events,function(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate&&void 0!==(n=u.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate&&void 0!==(n=u.call(e.state.onbeforeupdate,e,t))&&!n)break;return!1}while(0);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}(a,n))return;if("string"==typeof c)switch(null!=a.attrs&&Y(a.attrs,a,i),c){case"#":!function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}(n,a);break;case"<":!function(e,t,n,a,r){t.children!==n.children?(E(e,t),m(e,n,a,r)):(n.dom=t.dom,n.domSize=t.domSize)}(t,n,a,l,o);break;case"[":!function(e,t,n,a,r,i){g(e,t.children,n.children,a,r,i);var o=0,l=n.children;if(n.dom=null,null!=l)for(var s=0;s<l.length;s++){var c=l[s];null!=c&&null!=c.dom&&(null==n.dom&&(n.dom=c.dom),o+=c.domSize||1)}n.domSize=o}(t,n,a,i,o,l);break;default:!function(e,t,n,a){var i=t.dom=e.dom;a=s(t)||a,(e.attrs!=t.attrs||null!=t.attrs&&!r.get(t.attrs))&&function(e,t,n,a){var i;if(null!=t)for(var o in t!==n||r.has(n)||console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major"),t)null==(i=t[o])||null!=n&&null!=n[o]||$(e,o,i,a);if(null!=n)for(var o in n)D(e,o,t&&t[o],n[o],a)}(t,e.attrs,t.attrs,a),_(t)||g(i,e.children,t.children,n,null,a)}(n,a,i,l)}else!function(t,n,a,r,i,o){if(a.instance=e.normalize(u.call(a.state.view,a)),a.instance===a)throw Error("A view cannot return the vnode it received as argument");Y(a.state,a,r),null!=a.attrs&&Y(a.attrs,a,r),null!=a.instance?(null==n.instance?h(t,a.instance,r,o,i):v(t,n.instance,a.instance,r,i,o),a.dom=a.instance.dom,a.domSize=a.instance.domSize):(null!=n.instance&&A(t,n.instance),a.domSize=0)}(t,n,a,i,o,l)}else A(t,n),h(t,a,i,l,o)}function y(e,t,n){for(var a=Object.create(null);t<n;t++){var r=e[t];if(null!=r){var i=r.key;null!=i&&(a[i]=t)}}return a}var b,w=[];function x(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function k(e,t,a){if(null!=t.dom){var r;if(null==t.domSize||1===t.domSize)r=t.dom;else for(var i of(r=l(e).createDocumentFragment(),n(t)))r.appendChild(i);C(e,r,a)}}function C(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function _(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=t&&0!==t.length)throw new Error("Child node of a contenteditable must be trusted.");return!0}function M(e,t,n,a){for(var r=n;r<a;r++){var i=t[r];null!=i&&A(e,i)}}function S(e,a,r,o){var l=a.state,s=u.call(r.onbeforeremove,a);if(null!=s){var d=i;for(var f of n(a))t.set(f,d);o.v++,Promise.resolve(s).finally(function(){c(a,l),T(e,a,o)})}}function T(e,t,n){0===--n.v&&(L(t),E(e,t))}function A(e,t){var n={v:1};"string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&S(e,t,t.state,n),t.attrs&&"function"==typeof t.attrs.onbeforeremove&&S(e,t,t.attrs,n),T(e,t,n)}function E(e,t){if(null!=t.dom)if(null==t.domSize||1===t.domSize)e.removeChild(t.dom);else for(var a of n(t))e.removeChild(a)}function L(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&u.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&u.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&L(e.instance);else{null!=e.events&&(e.events._=null);var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var a=t[n];null!=a&&L(a)}}}function D(e,t,n,a,r){if("key"!==t&&null!=a&&!O(t)&&(n!==a||function(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&(e.dom===d(e.dom)||"option"===e.tag&&e.dom.parentNode===d(e.dom))}(e,t)||"object"==typeof a)){if("o"===t[0]&&"n"===t[1])return z(e,t,a);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),a);else if("style"===t)N(e.dom,n,a);else if(I(e,t,r)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+a)return;if("select"===e.tag&&null!==n&&e.dom.value===""+a)return;if("option"===e.tag&&null!==n&&e.dom.value===""+a)return;if("input"===e.tag&&"file"===e.attrs.type&&""+a!="")return void console.error("`value` is read-only on file inputs!")}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,a):e.dom[t]=a}else"boolean"==typeof a?a?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,a)}}function $(e,t,n,a){if("key"!==t&&null!=n&&!O(t))if("o"===t[0]&&"n"===t[1])z(e,t,void 0);else if("style"===t)N(e.dom,n,null);else if(!I(e,t,a)||"className"===t||"title"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===d(e.dom))||"input"===e.tag&&"type"===t){var r=t.indexOf(":");-1!==r&&(t=t.slice(r+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null}function O(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function I(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||e.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}function N(e,t,n){if(t===n);else if(null==n)e.style="";else if("object"!=typeof n)e.style=n;else if(null==t||"object"!=typeof t)for(var a in e.style="",n)null!=(r=n[a])&&(a.includes("-")?e.style.setProperty(a,String(r)):e.style[a]=String(r));else{for(var a in t)null!=t[a]&&null==n[a]&&(a.includes("-")?e.style.removeProperty(a):e.style[a]="");for(var a in n){var r;null!=(r=n[a])&&(r=String(r))!==String(t[a])&&(a.includes("-")?e.style.setProperty(a,r):e.style[a]=r)}}}function j(){this._=a}function z(e,t,n){if(null!=e.events){if(e.events._=a,e.events[t]===n)return;null==n||"function"!=typeof n&&"object"!=typeof n?(null!=e.events[t]&&e.dom.removeEventListener(t.slice(2),e.events,!1),e.events[t]=void 0):(null==e.events[t]&&e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}else null==n||"function"!=typeof n&&"object"!=typeof n||(e.events=new j,e.dom.addEventListener(t.slice(2),e.events,!1),e.events[t]=n)}function P(e,t,n){"function"==typeof e.oninit&&u.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(u.bind(e.oncreate,t))}function Y(e,t,n){"function"==typeof e.onupdate&&n.push(u.bind(e.onupdate,t))}return j.prototype=Object.create(null),j.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e);var a=this;null!=a._&&(!1!==e.redraw&&(0,a._)(),null!=t&&"function"==typeof t.then&&Promise.resolve(t).then(function(){null!=a._&&!1!==e.redraw&&(0,a._)()})),!1===t&&(e.preventDefault(),e.stopPropagation())},function(t,n,r){if(!t)throw new TypeError("DOM element being rendered to does not exist.");if(null!=b&&t.contains(b))throw new TypeError("Node is currently being rendered to and thus is locked.");var o=a,l=b,s=[],c=d(t),u=t.namespaceURI;b=t,a="function"==typeof r?r:void 0,i={};try{null==t.vnodes&&(t.textContent=""),n=e.normalizeChildren(Array.isArray(n)?n:[n]),g(t,t.vnodes,n,s,null,"http://www.w3.org/1999/xhtml"===u?void 0:u),t.vnodes=n,null!=c&&d(t)!==c&&"function"==typeof c.focus&&c.focus();for(var f=0;f<s.length;f++)s[f]()}finally{a=o,b=l}}},A}function j(){return D?L:(D=1,L=N()())}var z,P,Y,R,V=a(),H=function(e,t,n){var a=[],r=!1,i=-1;function o(){for(i=0;i<a.length;i+=2)try{e(a[i],V(a[i+1]),l)}catch(e){n.error(e)}i=-1}function l(){r||(r=!0,t(function(){r=!1,o()}))}return l.sync=o,{mount:function(t,n){if(null!=n&&null==n.view&&"function"!=typeof n)throw new TypeError("m.mount expects a component, not a vnode.");var r=a.indexOf(t);r>=0&&(a.splice(r,2),r<=i&&(i-=2),e(t,[])),null!=n&&(a.push(t,n),e(t,V(n),l))},redraw:l}}(j(),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null);function F(){return P||(P=1,z=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)a(n,e[n]);return t.join("&");function a(e,n){if(Array.isArray(n))for(var r=0;r<n.length;r++)a(e+"["+r+"]",n[r]);else if("[object Object]"===Object.prototype.toString.call(n))for(var r in n)a(e+"["+r+"]",n[r]);else t.push(encodeURIComponent(e)+(null!=n&&""!==n?"="+encodeURIComponent(n):""))}}),z}function K(){if(R)return Y;R=1;var e=F();return Y=function(t,n){if(/:([^\/\.-]+)(\.{3})?:/.test(t))throw new SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(null==n)return t;var a=t.indexOf("?"),r=t.indexOf("#"),i=r<0?t.length:r,o=a<0?i:a,l=t.slice(0,o),s={};Object.assign(s,n);var c=l.replace(/:([^\/\.-]+)(\.{3})?/g,function(e,t,a){return delete s[t],null==n[t]?e:a?n[t]:encodeURIComponent(String(n[t]))}),u=c.indexOf("?"),d=c.indexOf("#"),f=d<0?c.length:d,h=u<0?f:u,p=c.slice(0,h);a>=0&&(p+=t.slice(a,i)),u>=0&&(p+=(a<0?"?":"&")+c.slice(u,f));var m=e(s);return m&&(p+=(a<0&&u<0?"?":"&")+m),r>=0&&(p+=t.slice(r)),d>=0&&(p+=(r<0?"":"&")+c.slice(d)),p},Y}var B,U,W,q,J,G,X=K(),Z=s(),Q=function(e,t){function n(e){return new Promise(e)}function a(e,t){for(var n in e.headers)if(Z.call(e.headers,n)&&n.toLowerCase()===t)return!0;return!1}return n.prototype=Promise.prototype,n.__proto__=Promise,{request:function(r,i){"string"!=typeof r?(i=r,r=r.url):null==i&&(i={});var o=function(t,n){return new Promise(function(r,i){t=X(t,n.params);var o,l=null!=n.method?n.method.toUpperCase():"GET",s=n.body,c=(null==n.serialize||n.serialize===JSON.serialize)&&!(s instanceof e.FormData||s instanceof e.URLSearchParams),u=n.responseType||("function"==typeof n.extract?"":"json"),d=new e.XMLHttpRequest,f=!1,h=!1,p=d,m=d.abort;for(var g in d.abort=function(){f=!0,m.call(this)},d.open(l,t,!1!==n.async,"string"==typeof n.user?n.user:void 0,"string"==typeof n.password?n.password:void 0),c&&null!=s&&!a(n,"content-type")&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof n.deserialize||a(n,"accept")||d.setRequestHeader("Accept","application/json, text/*"),n.withCredentials&&(d.withCredentials=n.withCredentials),n.timeout&&(d.timeout=n.timeout),d.responseType=u,n.headers)Z.call(n.headers,g)&&d.setRequestHeader(g,n.headers[g]);d.onreadystatechange=function(e){if(!f&&4===e.target.readyState)try{var a,o=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),l=e.target.response;if("json"===u){if(!e.target.responseType&&"function"!=typeof n.extract)try{l=JSON.parse(e.target.responseText)}catch(e){l=null}}else u&&"text"!==u||null==l&&(l=e.target.responseText);if("function"==typeof n.extract?(l=n.extract(e.target,n),o=!0):"function"==typeof n.deserialize&&(l=n.deserialize(l)),o){if("function"==typeof n.type)if(Array.isArray(l))for(var s=0;s<l.length;s++)l[s]=new n.type(l[s]);else l=new n.type(l);r(l)}else{var c=function(){try{a=e.target.responseText}catch(e){a=l}var t=new Error(a);t.code=e.target.status,t.response=l,i(t)};0===d.status?setTimeout(function(){h||c()}):c()}}catch(e){i(e)}},d.ontimeout=function(e){h=!0;var t=new Error("Request timed out");t.code=e.target.status,i(t)},"function"==typeof n.config&&(d=n.config(d,n,t)||d)!==p&&(o=d.abort,d.abort=function(){f=!0,o.call(this)}),null==s?d.send():"function"==typeof n.serialize?d.send(n.serialize(s)):s instanceof e.FormData||s instanceof e.URLSearchParams?d.send(s):d.send(JSON.stringify(s))})}(r,i);if(!0===i.background)return o;var l=0;function s(){0===--l&&"function"==typeof t&&t()}return function e(t){var a=t.then;return t.constructor=n,t.then=function(){l++;var n=a.apply(t,arguments);return n.then(s,function(e){if(s(),0===l)throw e}),e(n)},t}(o)}}}("undefined"!=typeof window?window:null,H.redraw);function ee(){if(U)return B;U=1;var e=/%(?:[0-7]|(?!c[01]|e0%[89]|ed%[ab]|f0%8|f4%[9ab])(?:c|d|(?:e|f[0-4]%[89ab])[\da-f]%[89ab])[\da-f]%[89ab])[\da-f]/gi;return B=function(t){return String(t).replace(e,decodeURIComponent)}}function te(){if(q)return W;q=1;var e=ee();return W=function(t){if(""===t||null==t)return{};"?"===t.charAt(0)&&(t=t.slice(1));for(var n=t.split("&"),a={},r={},i=0;i<n.length;i++){var o=n[i].split("="),l=e(o[0]),s=2===o.length?e(o[1]):"";"true"===s?s=!0:"false"===s&&(s=!1);var c=l.split(/\]\[?|\[/),u=r;l.indexOf("[")>-1&&c.pop();for(var d=0;d<c.length;d++){var f=c[d],h=c[d+1],p=""==h||!isNaN(parseInt(h,10));if(""===f)null==a[l=c.slice(0,d).join()]&&(a[l]=Array.isArray(u)?u.length:0),f=a[l]++;else if("__proto__"===f)break;if(d===c.length-1)u[f]=s;else{var m=Object.getOwnPropertyDescriptor(u,f);null!=m&&(m=m.value),null==m&&(u[f]=m=p?[]:{}),u=m}}}return r},W}function ne(){if(G)return J;G=1;var e=te();return J=function(t){var n=t.indexOf("?"),a=t.indexOf("#"),r=a<0?t.length:a,i=n<0?r:n,o=t.slice(0,i).replace(/\/{2,}/g,"/");return o?"/"!==o[0]&&(o="/"+o):o="/",{path:o,params:n<0?{}:e(t.slice(n+1,r))}}}var ae,re,ie=ne();function oe(){if(re)return ae;re=1;var e=s(),t=/^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$/;return ae=function(n,a){var r={};if(null!=a)for(var i in n)e.call(n,i)&&!t.test(i)&&a.indexOf(i)<0&&(r[i]=n[i]);else for(var i in n)e.call(n,i)&&!t.test(i)&&(r[i]=n[i]);return r}}var le=a(),se=b,ce=ee(),ue=K(),de=ne(),fe=oe(),he=function(e,t){var n,a,r,i,o,l,s,c,u=Promise.resolve(),d=!1,f=!1,h=!1,p={onremove:function(){f=h=!1,e.removeEventListener("popstate",v,!1)},view:function(){var e=le(o,l.key,l);return i?i.render(e):[e]}},m=y.SKIP={};function g(){d=!1;var f=e.location.hash;"#"!==y.prefix[0]&&(f=e.location.search+f,"?"!==y.prefix[0]&&"/"!==(f=e.location.pathname+f)[0]&&(f="/"+f));var g=ce(f).slice(y.prefix.length),v=de(g);function b(e){console.error(e),y.set(r,null,{replace:!0})}Object.assign(v.params,e.history.state),function e(d){for(;d<a.length;d++)if(a[d].check(v)){var f=a[d].component,w=a[d].route,x=f,k=c=function(a){if(k===c){if(a===m)return e(d+1);o=null==a||"function"!=typeof a.view&&"function"!=typeof a?"div":a,l=v.params,s=g,c=null,i=f.render?f:null,h?t.redraw():(h=!0,t.mount(n,p))}};return void(f.view||"function"==typeof f?(f={},k(x)):f.onmatch?u.then(function(){return f.onmatch(v.params,g,w)}).then(k,g===r?null:b):k())}if(g===r)throw new Error("Could not resolve default route "+r+".");y.set(r,null,{replace:!0})}(0)}function v(){d||(d=!0,setTimeout(g))}function y(t,i,o){if(!t)throw new TypeError("DOM element being rendered to does not exist.");if(a=Object.keys(o).map(function(e){if("/"!==e[0])throw new SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:e,component:o[e],check:(t=e,n=ie(t),a=Object.keys(n.params),r=[],i=new RegExp("^"+n.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,function(e,t,n){return null==t?"\\"+e:(r.push({k:t,r:"..."===n}),"..."===n?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||""))})+"\\/?$"),function(e){for(var t=0;t<a.length;t++)if(n.params[a[t]]!==e.params[a[t]])return!1;if(!r.length)return i.test(e.path);var o=i.exec(e.path);if(null==o)return!1;for(t=0;t<r.length;t++)e.params[r[t].k]=r[t].r?o[t+1]:decodeURIComponent(o[t+1]);return!0})};var t,n,a,r,i}),r=i,null!=i){var l=de(i);if(!a.some(function(e){return e.check(l)}))throw new ReferenceError("Default route doesn't match any known routes.")}n=t,e.addEventListener("popstate",v,!1),f=!0,g()}return y.set=function(t,n,a){if(null!=c&&((a=a||{}).replace=!0),c=null,t=ue(t,n),f){v();var r=a?a.state:null,i=a?a.title:null;a&&a.replace?e.history.replaceState(r,i,y.prefix+t):e.history.pushState(r,i,y.prefix+t)}else e.location.href=y.prefix+t},y.get=function(){return s},y.prefix="#!",y.Link={view:function(e){var t,n,a,r=se(e.attrs.selector||"a",fe(e.attrs,["options","params","selector","onclick"]),e.children);return(r.attrs.disabled=Boolean(r.attrs.disabled))?(r.attrs.href=null,r.attrs["aria-disabled"]="true"):(t=e.attrs.options,n=e.attrs.onclick,a=ue(r.attrs.href,e.attrs.params),r.attrs.href=y.prefix+a,r.attrs.onclick=function(e){var r;"function"==typeof n?r=n.call(e.currentTarget,e):null==n||"object"!=typeof n||"function"==typeof n.handleEvent&&n.handleEvent(e),!1===r||e.defaultPrevented||0!==e.button&&0!==e.which&&1!==e.which||e.currentTarget.target&&"_self"!==e.currentTarget.target||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),e.redraw=!1,y.set(a,null,t))}),r}},y.param=function(e){return l&&null!=e?l[e]:l},y}("undefined"!=typeof window?window:null,H),pe=$,me=H,ge=Q,ve=he,ye=function(){return pe.apply(this,arguments)};ye.m=pe,ye.trust=pe.trust,ye.fragment=pe.fragment,ye.Fragment="[",ye.mount=me.mount,ye.route=ve,ye.render=j(),ye.redraw=me.redraw,ye.request=ge.request,ye.parseQueryString=te(),ye.buildQueryString=F(),ye.parsePathname=ne(),ye.buildPathname=K(),ye.vnode=a(),ye.censor=oe(),ye.domFor=I();var be=n(ye),we={exports:{}};we.exports=function(){var e=6e4,t=36e5,n="millisecond",a="second",r="minute",i="hour",o="day",l="week",s="month",c="quarter",u="year",d="date",f="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,p=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var a=String(e);return!a||a.length>=t?e:""+Array(t+1-a.length).join(n)+e},v={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),a=Math.floor(n/60),r=n%60;return(t<=0?"+":"-")+g(a,2,"0")+":"+g(r,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var a=12*(n.year()-t.year())+(n.month()-t.month()),r=t.clone().add(a,s),i=n-r<0,o=t.clone().add(a+(i?-1:1),s);return+(-(a+(n-r)/(i?r-o:o-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:s,y:u,w:l,d:o,D:d,h:i,m:r,s:a,ms:n,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",b={};b[y]=m;var w="$isDayjsObject",x=function(e){return e instanceof M||!(!e||!e[w])},k=function e(t,n,a){var r;if(!t)return y;if("string"==typeof t){var i=t.toLowerCase();b[i]&&(r=i),n&&(b[i]=n,r=i);var o=t.split("-");if(!r&&o.length>1)return e(o[0])}else{var l=t.name;b[l]=t,r=l}return!a&&r&&(y=r),r||!a&&y},C=function(e,t){if(x(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new M(n)},_=v;_.l=k,_.i=x,_.w=function(e,t){return C(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var M=function(){function m(e){this.$L=k(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var g=m.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(_.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var a=t.match(h);if(a){var r=a[2]-1||0,i=(a[7]||"0").substring(0,3);return n?new Date(Date.UTC(a[1],r,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)):new Date(a[1],r,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return _},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(e,t){var n=C(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return C(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<C(e)},g.$g=function(e,t,n){return _.u(e)?this[t]:this.set(n,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var n=this,c=!!_.u(t)||t,f=_.p(e),h=function(e,t){var a=_.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return c?a:a.endOf(o)},p=function(e,t){return _.w(n.toDate()[e].apply(n.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},m=this.$W,g=this.$M,v=this.$D,y="set"+(this.$u?"UTC":"");switch(f){case u:return c?h(1,0):h(31,11);case s:return c?h(1,g):h(0,g+1);case l:var b=this.$locale().weekStart||0,w=(m<b?m+7:m)-b;return h(c?v-w:v+(6-w),g);case o:case d:return p(y+"Hours",0);case i:return p(y+"Minutes",1);case r:return p(y+"Seconds",2);case a:return p(y+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var l,c=_.p(e),f="set"+(this.$u?"UTC":""),h=(l={},l[o]=f+"Date",l[d]=f+"Date",l[s]=f+"Month",l[u]=f+"FullYear",l[i]=f+"Hours",l[r]=f+"Minutes",l[a]=f+"Seconds",l[n]=f+"Milliseconds",l)[c],p=c===o?this.$D+(t-this.$W):t;if(c===s||c===u){var m=this.clone().set(d,1);m.$d[h](p),m.init(),this.$d=m.set(d,Math.min(this.$D,m.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[_.p(e)]()},g.add=function(n,c){var d,f=this;n=Number(n);var h=_.p(c),p=function(e){var t=C(f);return _.w(t.date(t.date()+Math.round(e*n)),f)};if(h===s)return this.set(s,this.$M+n);if(h===u)return this.set(u,this.$y+n);if(h===o)return p(1);if(h===l)return p(7);var m=(d={},d[r]=e,d[i]=t,d[a]=1e3,d)[h]||1,g=this.$d.getTime()+n*m;return _.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||f;var a=e||"YYYY-MM-DDTHH:mm:ssZ",r=_.z(this),i=this.$H,o=this.$m,l=this.$M,s=n.weekdays,c=n.months,u=n.meridiem,d=function(e,n,r,i){return e&&(e[n]||e(t,a))||r[n].slice(0,i)},h=function(e){return _.s(i%12||12,e,"0")},m=u||function(e,t,n){var a=e<12?"AM":"PM";return n?a.toLowerCase():a};return a.replace(p,function(e,a){return a||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return _.s(t.$y,4,"0");case"M":return l+1;case"MM":return _.s(l+1,2,"0");case"MMM":return d(n.monthsShort,l,c,3);case"MMMM":return d(c,l);case"D":return t.$D;case"DD":return _.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return d(n.weekdaysMin,t.$W,s,2);case"ddd":return d(n.weekdaysShort,t.$W,s,3);case"dddd":return s[t.$W];case"H":return String(i);case"HH":return _.s(i,2,"0");case"h":return h(1);case"hh":return h(2);case"a":return m(i,o,!0);case"A":return m(i,o,!1);case"m":return String(o);case"mm":return _.s(o,2,"0");case"s":return String(t.$s);case"ss":return _.s(t.$s,2,"0");case"SSS":return _.s(t.$ms,3,"0");case"Z":return r}return null}(e)||r.replace(":","")})},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(n,d,f){var h,p=this,m=_.p(d),g=C(n),v=(g.utcOffset()-this.utcOffset())*e,y=this-g,b=function(){return _.m(p,g)};switch(m){case u:h=b()/12;break;case s:h=b();break;case c:h=b()/3;break;case l:h=(y-v)/6048e5;break;case o:h=(y-v)/864e5;break;case i:h=y/t;break;case r:h=y/e;break;case a:h=y/1e3;break;default:h=y}return f?h:_.a(h)},g.daysInMonth=function(){return this.endOf(s).$D},g.$locale=function(){return b[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),a=k(e,t,!0);return a&&(n.$L=a),n},g.clone=function(){return _.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},m}(),S=M.prototype;return C.prototype=S,[["$ms",n],["$s",a],["$m",r],["$H",i],["$W",o],["$M",s],["$y",u],["$D",d]].forEach(function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),C.extend=function(e,t){return e.$i||(e(t,M,C),e.$i=!0),C},C.locale=k,C.isDayjs=x,C.unix=function(e){return C(1e3*e)},C.en=b[y],C.Ls=b,C.p={},C}();var xe=we.exports,ke=n(xe),Ce={exports:{}};Ce.exports=function(e,t,n){e=e||{};var a=t.prototype,r={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(e,t,n,r){return a.fromToBase(e,t,n,r)}n.en.relativeTime=r,a.fromToBase=function(t,a,i,o,l){for(var s,c,u,d=i.$locale().relativeTime||r,f=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],h=f.length,p=0;p<h;p+=1){var m=f[p];m.d&&(s=o?n(t).diff(i,m.d,!0):i.diff(t,m.d,!0));var g=(e.rounding||Math.round)(Math.abs(s));if(u=s>0,g<=m.r||!m.r){g<=1&&p>0&&(m=f[p-1]);var v=d[m.l];l&&(g=l(""+g)),c="string"==typeof v?v.replace("%d",g):v(g,a,m.l,u);break}}if(a)return c;var y=u?d.future:d.past;return"function"==typeof y?y(c):y.replace("%s",c)},a.to=function(e,t){return i(e,t,this,!0)},a.from=function(e,t){return i(e,t,this)};var o=function(e){return e.$u?n.utc():n()};a.toNow=function(e){return this.to(o(this),e)},a.fromNow=function(e){return this.from(o(this),e)}};var _e=n(Ce.exports);function Me(e,t,n,a,r){return{...e&&{view:e},...t&&{oninit:t},...n,...r,...a}}const Se={view:({attrs:e})=>be(`i.icon.${e.pack||"fas"}.fa-${e.icon||"cog"}${e.size?".fa-"+e.size+"x":""}`,{title:e.icontitle||void 0,role:"presentation",onclick:e.onclick||null,...e.iconClass&&{class:e.iconClass}})},Te={view:({attrs:e,state:t,children:n})=>be(e.download||e.link?"a.button":"button",{...e.link&&{href:e.link},...e.download&&{download:e.download},...e.target&&{target:e.target},"aria-label":e["aria-label"]||e.title||e.text,title:e.title||e["aria-label"],class:(e.class||"")+(t.busy?" busy":""),...t.error&&{"data-error":t.error.message},...e.onclick&&{onclick:n=>{clearTimeout(t.debounce),t.debounce=setTimeout(()=>{const a=e.onclick(n,e);a&&a.then&&a.catch&&(t.busy=!0,be.redraw(),a.then(()=>{t.busy=!1,be.redraw()}).catch(e=>{t.busy=!1,t.error=e,be.redraw()}))},25)}}},[...e.icon&&!e.right?[be(Se,e)]:[],...e.text?[be("span.pad-1.pad-h",{class:e.textClass||null},e.text)]:[],...e.icon&&e.right?[be(Se,e)]:[],...n])},Ae={view:({attrs:e,state:t,children:n})=>be(e.download||e.link?"a.button":"button",{...e.link&&{href:e.link},...e.download&&{rel:"nofollow",download:e.download},...e.target&&{target:e.target},"aria-label":e["aria-label"]||e.title||e.text,title:e.title||e["aria-label"],class:(e.class||"")+(t.busy?" busy":""),...t.error&&{"data-error":t.error.message},...e.onClick&&{onclick:n=>{clearTimeout(t.debounce),t.debounce=setTimeout(()=>{const a=e.onClick(n,e);a&&a.then&&a.catch&&(t.busy=!0,be.redraw(),a.then(()=>{t.busy=!1,be.redraw()}).catch(e=>{t.busy=!1,t.error=e,be.redraw()}))},25)}}},[...e.icon&&!e.right?[be(Se,e)]:[],...e.text?[be("span.pad-1.pad-h",{class:e.textClass||null},e.text)]:[],...e.icon&&e.right?[be(Se,e)]:[],...n])},Ee={view:({attrs:e,children:t})=>be(".flexcol.flexcenter.al-center.grows.emptywidget",{...e.class&&{class:e.class},...e.key&&{key:e.key},role:"presentation"},[be(Se,e),...e.message?[be(".marg-2.marg-v",{role:"status",class:e.size>4?"font-150":"font-100","aria-label":e.message},e.message.split("\n").map((e,t,n)=>1===n.length?e:be("p.msg"+t,e)))]:[],...t?[be(".flexcol.additional",t)]:[]])},Le={info:"info",error:"exclamation-triangle",success:"check"},De=new function(e=5e3,t){let n,a=[];function r(){const i=t||document.getElementById("notification-container");if(a.length){const t=a.splice(0,1)[0];!function(e,t){be.render(e,be(Te,{class:"notification "+t.type,text:t.text,icon:Le[t.type]||"info",size:1,role:"status",onclick:r}))}(i,t),clearTimeout(n),n=setTimeout(r,t.timer||e)}else be.render(i,""),n=null}return{add:(e,t)=>{a.push({text:e,type:t}),n||r()},clear:()=>{a=[],r()}}},$e={},Oe=Me(({attrs:e,state:t,children:n})=>{const{nofold:a,cardid:r,size:i,title:o,action:l,collapsedAction:s,collapsedClass:c,expandedClass:u,cols:d,element:f,busy:h,expandedView:p,collapsedView:m,titleWidget:g,titleAttrs:v,titleClass:y,bodyClass:b,titleExpanded:w,titleCollapsed:x,foldIcon:k="fa-chevron-down"}=e,C=!a&&(r?!$e[r]:!!t.collapsed),_=C?m?m(e,t):[]:p?p(e,t):n||[],M=g?be(g,v||{}):o?be("span.ellipsis.ohidden.unfold",o):void 0,S=h?"fa-sync":`${k} ${C?"iscollapsed":"isexpanded"}`;return _.length||!e.skipEmpty?be(f||"ul",{class:"cardie ohidden "+(d?"flexcol ":"flexrow wrap ")+(e.class?" "+e.class:"")+(a?" expanded":" "+(C?"collapsed "+(c||""):"expanded "+(u||"")))+(i?" marg-"+i:"")+(g?" withwidget":"")+(h?" busycard":"")},[...M?[be(".title.grows.fabf.flexrow.pointer.unfold",a?{class:y||"pad-2"}:{class:`${y||"pad-2"} ${S||""}`,title:C?x||"Click to expand the options":w||x||"Click to collapse the options",onclick:n=>{n.target.classList.contains("unfold")&&(n.shiftKey&&e.onShiftOpen?e.onShiftOpen():e.cardid?function(e,t=0){if(e){const[n,a]=e.split("-");t&&n&&a&&Object.keys($e).forEach(e=>{e.startsWith(n+"-")&&($e[e]=0)}),$e[e]=t}}(r,C):t.collapsed=!t.collapsed,be.redraw())}},!l||!a&&C?s&&C?[be(Ae,s),M]:M:[be(Ae,l),M])]:[],..._.length?[be(".flexbreak"),be(".cardiebody.fadein-filter.grows",{class:(d?"flexcol ":"flexrow wrap")+" "+(b||"")},..._)]:[],...e.alwaysView?[e.alwaysView({attrs:e,state:t})]:[]]):[]},({attrs:e,state:t})=>{e.cardid||(t.collapsed=!e.nofold&&(e.cardid?!$e[e.cardid]:!!e.collapsed))},void 0,void 0,void 0);function Ie(e,t,n,a,r){return{...e&&{view:e},...t&&{oninit:t},...n&&{oncreate:n},...r&&{onupdate:r},...a&&{onremove:a}}}const Ne=Ie(({attrs:e,children:t})=>be(".separator",{class:e.class||"mini",...e.onClick&&{onclick:e.onClick}},[be("span.grows",e.text),...t||[]])),je=Me(({attrs:e})=>{const{value:t,field:n,toggle:a,element:r,emptyMessage:i,chooseKey:o,chooseDict:l}=e,s=!e.choose&&o&&l?l[o]:e.choose,c=s?s.map(e=>({value:e,caption:e})):e.choices||{},u=Object.keys(c),d=u.length,f=(e.class||"")+(e.subclass?" "+e.subclass:" scaff scaff-b1");return d||i?[...e.label?[be(Ne,{text:e.label,class:e.labelClass||""})]:[],be((r||"div")+".buttonchoice.flexrow.ohidden",{class:f+(e.icon?" withicon fa-"+e.icon:""),title:e.title},be(".flexrow.grows.ohidden.wrap"+(e.icon?" scaff-left":""),u.length?u.map(r=>{const i=c[r],o=e.raw&&n?i:i.value,l=(n?o[n]:o)===t;return be(Ae,{icon:i.icon||void 0,class:"grows scaff-b0 "+(e.buttonClass?e.buttonClass+" ":"rectbutton unitheightsmall ")+(i.class?i.class+" ":"")+(l?"accent":""),title:i.current?i.titleOn||i.title:i.titleOff||i.title,onClick:t=>{e.onchange(a&&l?void 0:i,r,t),be.redraw()}},e.render?e.render(i):i.caption||r)}):[be(".emptychoice.grows.al-center.align-self-center.unitheightsmall",e.emptyMessage)]))]:[]}),ze=(e,t,n=!1)=>{if(n||"number"===e.type){const n=e.float?Number.parseFloat(t):Number.parseInt(t,10);return Number.isNaN(n)?void 0:n}return t},Pe=(e,t,n)=>{const a=t.hasOwnProperty("value")?t.value:e.value;return ze(e,a,n)},Ye={view:e=>{const{attrs:t,state:n}=e;return n.attrs=t,be(".input-static.w-100.ellipsis",{class:(t.onDrag?"withdrag ":"")+(t.staticClass||"grows"),...t.staticTitle&&{title:t.staticTitle},...t.onDrag||{onclick:t.onClick},oncreate:({dom:n,state:a})=>{if(t.onDrag&&!t.readonly){const t=a.hammer=new Hammer.Manager(n,{touchAction:"pan-y"}),r=new Hammer.Pan({direction:Hammer.DIRECTION_VERTICAL}),i=new Hammer.Tap;t.add([r,i]),t.on("tap",()=>e.state.attrs.onClick()),t.on("panup",t=>e.state.attrs.onDrag(-1,t.srcEvent)),t.on("pandown",t=>e.state.attrs.onDrag(1,t.srcEvent)),t.on("panend pancancel",t=>e.state.attrs.onDrag(0,t.srcEvent))}t.focus&&n.focus()},onremove:({state:e})=>{e.hammer&&e.hammer.destroy()}},t.value)}},Re={view:({attrs:e,state:t})=>{const n=e=>{t.value&&t.showInput&&delete t.showInput,delete t.value,e&&be.redraw()},a=[...!e.multi||e.alwaysmulti||e.type&&"text"!==e.type?[]:[be(Ae,{icon:t.multi?"angle-double-up":"angle-double-down",class:"pad-2 transp inputaction",onClick:()=>{t.multi=!t.multi,be.redraw()}})],...e.actions?e.actions.map(e=>be(Ae,{...e,class:"inputaction transp pad-2"})):[],...e.action?[be(Ae,{...e.action,class:"inputaction transp pad-2"})]:[]];return be(".textfield.flexcol.relative",{class:(e.label?"witharia":"")+(e.containerClass?" "+e.containerClass:""),...e.label&&{"aria-label":e.label}},be(".textfieldinner.flexrow",[!e.staticField||!e.readonly&&t.showInput?!t.multi&&!e.alwaysmulti||e.type&&"text"!==e.type?be("input.w-100",{...e.id&&{id:e.id},type:e.type||"text",...void 0!==e.max&&{max:e.max},...void 0!==e.min&&{min:e.min},...e.step>0&&{step:e.step},...e.maxlength&&{maxlength:e.maxlength},class:(e.class||"")+(e.validator?t.isValid?" bg-ok":" bg-error":""),...e.title&&{title:e.title},value:Pe(e,t),placeholder:e.hint||"",...e.readonly?{readonly:"readonly"}:{oninput:n=>{t.value=ze(e,n.target.value),n.fromoninput=!0,e.validator&&(t.isValid=e.validator(t.value)),e.onchange&&(e.oninput||e.onchange)(t.value,n)},onchange:a=>{e.onchange&&(e.validator&&(t.isValid=e.validator(t.value)),a.enterPressed=t.enterPressed,delete t.enterPressed,e.onchange(ze(e,a.target.value),a),e.staticField?n(!0):delete t.value)},onblur:()=>{t.showInput&&n(!0)},onkeyup:a=>{t.showInput&&("Escape"===a.key?n(!0):"Enter"===a.key&&(t.value!==e.value&&t.value||(e.onchange(e.value,a),n(!0))))},onbeforeinput:t=>{"number"===e.subtype&&t.data&&!/^[0-9.\-]$/.test(t.data)&&t.preventDefault()},inputmode:"number"===e.subtype?"decimal":void 0,onkeypress:n=>{t.showInput||"Enter"!==n.key||e.onenter&&e.onenter(n.target.value,n)}}}):be("textarea.w-100",{class:e.class,value:Pe(e,t),...e.title&&{title:e.title},placeholder:e.hint||"",oninput:n=>{t.value=ze(e,n.target.value),e.validator&&(t.isValid=e.validator(t.value)),e.onchange&&(e.oninput||e.onchange)(t.value,n,!0)},onchange:a=>{if(e.onchange){e.validator&&(t.isValid=e.validator(t.value));const r=ze(e,a.target.value);n(!1),e.onchange(r,a,!0)}},onblur:()=>{t.showInput&&n(!0)},onkeyup:e=>{"Escape"===e.key&&t.showInput&&n(!1)}}):be(Ye,{readonly:e.readonly,staticClass:(t.dragging?"accent ":"")+(e.staticClass||""),staticTitle:e.staticTitle||e.draginc&&"Click then drag up and down to modify value, or just click to enter a custom value",value:e.displayTitle||Pe(e,t),focus:e.focus,...e.draginc&&!e.readonly&&{onDrag:(n,a)=>{if(n){t.dragging=!0;let r=Pe(e,t,!0);if(Number.isNaN(r)||void 0===r)return;r+=n*e.draginc,void 0!==e.max&&r>e.max&&(r=e.max),void 0!==e.min&&r<e.min&&(r=e.min),t.value="number"===e.type?r:String(r),e.onchange(t.value,a)}else delete t.dragging,delete t.value,be.redraw()}},...e.readonly||{onClick:()=>{t.showInput=!0,t.value=e.value,be.redraw()}}}),...a.length?[be(".span.actions",a)]:[]]))},oninit:({attrs:e,state:t})=>{if(e.staticField&&e.draginc){const n=Pe(e,t,!0);t.showInput=Number.isNaN(n)||null==n}}},Ve=Me(({attrs:e,children:t})=>t.length?be(".notice.cardie.flexcol.pad-3",{class:e.class||"marg-2 font-75"},be(".flexrow",[...e.icon?[be(Se,e)]:[],be(".pad-2.pad-h",e.text)]),...t):be(".notice.cardie.flexrow.pad-3",{class:e.class||"marg-2 font-75",onclick:e.onClick},[...e.icon?[be(Se,e)]:[],(e.texts||[e.text]).map(e=>be(".pad-2.pad-h",e))])),He={view:({attrs:e})=>e.items.map(({name:t},n)=>be("option",{...e.state.index===n+(e.offset||0)&&{selected:!0}},t))};let Fe;function Ke(e,t){if(e.groups){t.groups={},t.allItems=[],e.parsed=!0,Object.keys(e.groups).forEach(n=>{t.groups[n]={label:n,len:e.groups[n].length,items:e.groups[n]}});const n=Object.values(t.groups);n.forEach((a,r)=>{e.value&&(t.index=0),a.offset=r?n[r-1].offset+n[r-1].len:0,t.allItems=t.allItems.concat(a.items),e.value&&a.items.forEach((n,r)=>{const i=n.value;(e.parser?e.parser(i):i)===e.value&&(t.index=r+a.offset)})})}else if(e.items){t.index=0;for(let n=0,a=e.items.length;n<a;n++){const a=e.items[n].value;if((e.parser?e.parser(a):a)===e.value){t.index=n;break}}t.allItems=e.items}else t.allItems=[]}const Be={view:({attrs:e,state:t})=>{const{groups:n}=t;return be("select",{"aria-label":e.caption,class:e.class,oninput:n=>{Ke(e,t);const a=t.index=n.target.selectedIndex,r=a>=0?t.allItems[a]:null;e.onchange&&r&&e.onchange(r.value,r,a),be.redraw()}},n?Object.values(n).map(e=>be("optgroup",{label:e.label},be(He,{items:e.items,offset:e.offset,state:t}))):be(He,{items:null!=e.items?e.items:[],state:t}))},oninit:({attrs:e,state:t})=>{Object.assign(t,{index:e.index||0,initial:e.value}),Ke(e,t)},oncreate:()=>{},onupdate:({attrs:e,state:t})=>{const n=void 0!==e.value&&t.initial!==e.value;(!t.groups&&!t.allItems||n)&&(Ke(e,t),n&&(t.initial=e.value,clearTimeout(Fe),Fe=setTimeout(()=>be.redraw(),50)))}};let Ue;function We(e){"function"==typeof Ue&&(Ue(),Ue=void 0),qe.redraw&&(qe.redraw(!0),delete qe.redraw),e.style.display="none"}function qe(e,t=!1,n=".modal-content"){const a=document.getElementById("modal-container");if(a.classList.toggle("iscustom",".modal-content"!==n),t&&(Ue=t,a.onclick=e=>{"modal-container"===e.target.id&&We(a)}),!e)return qe.redraw&&(qe.redraw(!0),delete qe.redraw),void(null===e?a.style.display="none":We(a));a.style.display="flex",qe.redraw=t=>{be.render(a,be(n,{role:"alertdialog","aria-labelledby":"modaltitle","aria-modal":!0},t||!e?[]:["function"==typeof e?e():e]))},qe.redraw()}const Je=/[^0-9A-Z._\-]+/gi,Ge=/[^0-9A-Z_\-]+/gi;function Xe(e,t,n,a){return new Promise(r=>{function i(e){qe(null);try{r(e)}catch(e){}}const o=((e,t)=>{const n=[];if(t)for(const e of Object.keys(t))t[e]&&n.push("."+e);return".popup.flexcol"+n.join("")})(0,{".favlist":(a=a||{}).favlist,".isfav":e&&e.classList.contains("isfav"),".isplay":e&&e.classList.contains("selected")});qe(be({view:()=>be(o,{onclick:n=>{if("INPUT"===n.target.nodeName)return;const a=n.target.getAttribute("data-action");a?i({domItem:e,item:t,action:a}):qe(null)}},[...t.title?[be("h3",{id:"modaltitle"},t.title)]:[],...n.map(n=>"text"===n.type?be("input.action",{value:n.value||"",type:"text",placeholder:n.hint||"",oncreate:({dom:e})=>e.focus(),onkeyup:a=>{27===a.keyCode&&i({domItem:e,item:t,action:n})},onchange:a=>{a.target.blur(),i({domItem:e,item:t,action:n,value:a.target.value})}}):be(Te,{...n,onclick:()=>i({domItem:e,item:t,action:n})},n.caption))])}),!0)})}function Ze(e,t,n=void 0,a="YES",r="NO"){Qe(e,[r,a],n).then(e=>{e?t(e):n&&n()}).catch(()=>{n&&n()})}function Qe(e,t=["NO","YES"],n="cancelled"){return new Promise((a,r)=>{(function(e,t,n,a=!1){let r;return"function"==typeof a&&(r=a,a=!1),new Promise(e=>{const i=n.map((t,n)=>({caption:t,onclick:()=>e({idx:n,name:t})}));!function(e,t,n=["CANCEL","OK"],a={}){qe(be({view:()=>[...t?[be("h4",t)]:[],be(".container",n.map(e=>be("button",{onclick:()=>{document.getElementById("modal-container").style.display="none",e.onclick&&e.onclick(e.caption)}},e.caption||"OK")))]},{}),a.onCancel||!a.noCancel)}(0,t,i,{onCancel:r,noCancel:a})})})(0,e,t,()=>r(new Error(n))).then(({idx:e})=>{e>=0?a(e):r(new Error(n))})})}const et=Ie(({attrs:e,state:t})=>be((e.unit||"")+".flexrow"+(e.subline?" withsubline":""),{class:e.class,text:e.text,title:e.title||null,onclick:()=>{t.checked=!t.checked,e.onchange&&e.onchange(t.checked),be.redraw()}},e.right?[...e.text?[be("span.grows.caption",e.subline?{"data-subline":e.subline}:{},e.text)]:[],be(Se,{iconClass:"pad-2 pad-h",icon:t.checked?"toggle-on":"toggle-off"})]:[be(Se,{iconClass:"pad-2 pad-h",icon:t.checked?"toggle-on":"toggle-off"}),...e.text?[be("span.grows.caption",e.subline?{"data-subline":e.subline}:{},e.text)]:[]]),({attrs:e,state:t})=>{t.checked=t.original=e.checked},null,null,({attrs:e,state:t})=>{e.checked!==t.original&&(t.checked=t.original=e.checked,be.redraw())}),tt=window.structuredClone?window.structuredClone:e=>JSON.parse(JSON.stringify(e));function nt(e,t,n={}){const{title:a,field:r,icon:i,textNew:o,textHint:l,resolve:s}=n,c=Array.isArray(e)?e.map(e=>({icon:i,caption:r?e[r]:e,onClick:n=>t(e,n)})):Object.keys(e).map(n=>({icon:e[n].icon||i,caption:e[n].caption||n,onClick:a=>t(s&&void 0!==e[n].value?e[n].value:e[n],a)}));Array.isArray(e)&&!e.length?De.add("No items available"):Xe(document.body,{title:a},[...o&&!r?[{icon:"plus",caption:o,onClick:()=>at(o,"",l,e=>{e&&e&&e.trim()&&(t(e),be.redraw())})}]:[],...c]).then(({action:e})=>e.onClick()).finally(()=>{})}function at(e,t,n,a,r={}){setTimeout(()=>Xe(document.body,{title:e},[{type:"text",hint:n,value:t}]).then(({value:e})=>(r.refreshKey=String(Date.now()),a(e))),100)}const rt=[["Lights and Fog",null,["amblight","l0","l1","l2","l3","fog"],0],["Face and Accessories",null,["facekit"],1],["Particle settings",null,["particles"],2],["Video Segmentation","common",["segcam","mask","green"],3,!0],["Video Effects",null,["fxconfig"],9],["Video Plane","val",["xvideo","yvideo","zvideo","rvideo","svideo","video"],4],["Main Camera","val",["ypos","xpos","zoom","yaw","pitch","roll","ai"],5],["Drone Camera","val",["free"],6],["Followed Agent","val",["track"],10],["Game Camera","val",["orbit","track","ocam"],7,void 0,!0],["Transition Speed","val",["spd"],8]],it=Ie(({attrs:e})=>be("h2.marg-2.no-marg-bottom",e.title));Ie(({attrs:e})=>{const{type:t="changes",meta:n,onInput:a,title:r,options:i}=e,o=n.title?.trim().length&&n.description?.trim().length,l=i&&i.embedded;return be(".flexcol.grows.ohidden.fadein",[...e.title?[be(it,{title:r})]:[],be(".flexrow.wrap.grows.pad-3.propsgroup.scrolly",[...e.notice?[be(Ve,{class:"marg-1 marg-v withbottommargin font-75 col-12",size:1,icon:"info-circle",text:e.notice})]:[],be(".witharia.col-12.pad-1.pad-v",{"aria-label":t+" name"},be(Re,{class:"pad-2 pad-xh "+(o?"valid":"invalid"),value:n.title,maxlength:64,onchange:e=>{n.title=e,be.redraw()}})),...l?[]:[be(".col-12.witharia.pad-1.pad-v",{"aria-label":"description"},be(Re,{class:"pad-2 pad-xh "+(n.description?"valid":"invalid"),value:n.description,maxlength:240,multi:!0,alwaysmulti:!0,onchange:e=>{n.description=e,be.redraw()}})),be(".col-8.witharia.pad-1.pad-v",{"aria-label":"tags"},be(Re,{class:"pad-2 pad-xh",value:n.tags,maxlength:128,onchange:e=>{n.tags=e.toLowerCase().split(" ").join(",").split(",").filter(e=>e.length).join(",")}})),be(".col-4.witharia.pad-1.pad-v",{"aria-label":"youtube video"},be(Re,{class:"pad-2 pad-xh",value:n.ytref||"",hint:"YouTube ID",maxlength:16,onchange:e=>{(e=e.trim())?-1===e.indexOf(" ")&&(n.ytref=e.trim()):delete n.ytref}}))],be(".col-4.witharia.pad-1.pad-v",{"aria-label":"content attribution"},be(Re,{class:"pad-2 pad-xh",value:n.author,hint:"author name",maxlength:128,onchange:e=>{n.author=e}})),be(".col-4.witharia.pad-1.pad-v",{"aria-label":"license or author link"},be(Re,{class:"pad-2 pad-xh",hint:"https://...",value:n.link,maxlength:128,onchange:e=>{n.link=e}})),be(".col-4.witharia.pad-1.pad-v",{"aria-label":"source domain"},be(Re,{class:"pad-2 pad-xh",value:n.source,hint:"example.com",maxlength:128,onchange:e=>{n.source=e}})),be(".col-12.al-right.marg-2.marg-v",be(Ae,{class:"noshrink accentbutton unitheightsmall col-4",text:"save "+t,onClick:()=>{n.title?.trim().length&&(l||n.description?.trim().length)?(qe(null),a(n)):De.add("Information is incomplete or invalid")}}))])])}),Ie(({attrs:e})=>{const{parameters:t,preset:n,presetComponents:a,types:r,globalData:i,fetcher:o}=e,l=[],s=[],c=r?rt:rt.filter(e=>{const[,a,r,o,c]=e,u=a?n[a]:n,d=c?i:t,f=a?d[a]:d;let h=!1;if(r.length){for(const e of r)u&&void 0!==u[e]&&(h=l[o]=!0),void 0!==f[e]&&(h=s[o]=!0);return h}return h=!0,s[o]=!!f,l[o]=!!u,h});return be("ul.flexrow.wrap.userdialog",c.length?c.map(c=>{const[u,d,f,h,p,m]=c,g=r?void 0:d?n[d]:n,v=p?i:t,y=r?void 0:d?v[d]:v,b=r||l[h],w=s[h];return[...a?[be(et,{title:`Include ${c[0]} in snapshots`,class:"grows unitheightsmall"+(a[h]?" accent":""),checked:!!a[h],onchange:t=>{a[h]=!a[h],be.redraw(),e.redraw&&e.redraw()}}),be(".grows",{class:b?"avail":"unavail"},u)]:[],...e.types?[]:[be(Ae,{class:"col-3"+(w?"avail":"unavail"),icon:"sync",title:`Copy ${u} from current state`,onClick:()=>{if(f.length){d&&!n[d]&&(n[d]={});const e=d?n[d]:n;for(const t of f)if(void 0!==y[t]){const n=m&&o?o(e[t],h):y[t];e[t]=tt(n)}}else if(0===f.length&&d&&void 0!==y){const e=m&&o?o(y,h):y;n[d]=tt(e)}e.redraw&&e.redraw(),De.add(`updated ${u} from current scene`)}}),be(Ae,{class:"col-3 "+(b?"":"disabled text-lo"),icon:"trash",title:`Delete ${u} in preset`,onClick:()=>b&&(()=>{if(f.length)for(const e of f)delete g[e];else 0===f.length&&d&&delete n[d];e.redraw&&e.redraw()})()})],be(".flexbreak")]}):be("h3","Preset is Empty"))});const ot=Ie(({attrs:e})=>be(".flexcol.combocontainer.grows",{class:(e.outerClass||"")+" "+(e.label?"witharia":""),...e.label&&{"aria-label":e.label},title:e.hint},[be(".flexrow.combowidget.bg-inputs",{class:(e.value?"yesvalue ":"novalue ")+(e.class||"")},[be(Ae,{class:"transp combovalue grows flexrow "+(e.buttonClass||"")+(e.innerLabel?" witharia":""),textClass:"grows "+e.textClass,iconClass:"noshrink",...e.innerLabel&&{"aria-label":e.innerLabel},onClick:t=>{t.shiftKey?e.onchange(void 0,t):e.locked||function(e){const{title:t,items:n,itemsKey:a,itemsText:r,field:i,onchange:o,textNew:l,textHint:s,resolve:c,icon:u}=e,d="function"==typeof n?n():n;nt(a?"function"==typeof a?a():d[a]||[]:d,o,{title:t,field:i,icon:u,textNew:l,textHint:s,resolve:c})}(e)},...e.value?{icon:e.value?.icon||e.icon,text:e.field||e.fieldTitle?e.value[e.fieldTitle||e.field]:e.itemsText&&e.itemsText[e.value]||e.value}:{icon:e.emptyIcon||(e.emptyText?"":"plus"),text:e.emptyText||""}}),e.value&&!e.nodelete?[be(Ae,{class:"clrcombo pad-2 pad-h transp "+(e.closeClass||"scaff-left"),onClick:t=>{const{field:n}=e;if(!e.confirm||t.shiftKey||t.metaKey||t.ctrlKey||t.altKey)e.onchange(n?void 0:"",t);else{const a="function"==typeof e.confirm?e.confirm():e.confirm;a?Ze(a,()=>{e.onchange(n?void 0:"",t)}):e.onchange(n?void 0:"",t)}be.redraw()},icon:e.removeIcon||"times",title:e.removeHint||"remove this item"})]:[]])])),lt=function(){function e(e,t){return e(t={exports:{}},t.exports),t.exports}var t=e(function(e,t){var n;e.exports=(n=function(){function e(e,t){e?(a(e,t,"touchstart","touchmove","touchend"),a(e,t,"mousedown","mousemove","mouseup")):console.warn("drag is missing elem!")}return e.xyslider=function(a){var r=n(a.class||"",a.parent),i=n("pointer",r);return n("shape shape1",i),n("shape shape2",i),n("bg bg1",r),n("bg bg2",r),e(r,t(a.cbs,i)),{background:r,pointer:i}},e.slider=function(a){var r=n(a.class,a.parent),i=n("pointer",r);return n("shape",i),n("bg",r),e(r,t(a.cbs,i)),{background:r,pointer:i}},e;function t(e,t){var n={};for(var a in e)n[a]=r(e[a]);function r(e){return function(n){n.pointer=t,e(n)}}return n}function n(e,t){return function(e,t,n){var a=document.createElement("div");return t&&(a.className=t),n.appendChild(a),a}(0,e,t)}function a(e,t,n,a,l){var s=(t=o(t)).begin,u=t.change,d=t.end;r(e,n,function(t){var n=function(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}(c,u,e);r(document,a,n),r(document,l,function r(){i(document,a,n),i(document,l,r),c(d,e,t)}),c(s,e,t)})}function r(e,t,n){var a=!1;try{var r=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("testPassive",null,r),window.removeEventListener("testPassive",null,r)}catch(e){}e.addEventListener(t,n,!!a&&{passive:!1})}function i(e,t,n){e.removeEventListener(t,n,!1)}function o(e){return e?{begin:e.begin||s,change:e.change||s,end:e.end||s}:{begin:function(e){t={x:e.elem.offsetLeft,y:e.elem.offsetTop},n=e.cursor},change:function(e){l(e.elem,"left",t.x+e.cursor.x-n.x+"px"),l(e.elem,"top",t.y+e.cursor.y-n.y+"px")},end:s};var t,n}function l(e,t,n){e.style[t]=n}function s(){}function c(e,t,n){n.preventDefault();var a=function(e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top}}(t),r=t.clientWidth*(window.SCALE||1),i=t.clientHeight*(window.SCALE||1),o={x:u(0,n),y:d(0,n)},l=(o.x-a.x)/r,s=(o.y-a.y)/i;e({x:isNaN(l)?0:l,y:isNaN(s)?0:s,cursor:o,elem:t,e:n})}function u(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientX)}function d(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientY)}}(),n)}),n=e(function(e,t){e.exports=function(){function e(t){if(Array.isArray(t)){if("string"==typeof t[0]&&"function"==typeof e[t[0]])return new e[t[0]](t.slice(1,t.length));if(4===t.length)return new e.RGB(t[0]/255,t[1]/255,t[2]/255,t[3]/255)}else if("string"==typeof t){var a=t.toLowerCase();e.namedColors[a]&&(t="#"+e.namedColors[a]),"transparent"===a&&(t="rgba(0,0,0,0)");var o=t.match(i);if(o){var l=o[1].toUpperCase(),s=n(o[8])?o[8]:parseFloat(o[8]),c="H"===l[0],u=o[3]?100:c?360:255,d=o[5]||c?100:255,f=o[7]||c?100:255;if(n(e[l]))throw new Error("color."+l+" is not installed.");return new e[l](parseFloat(o[2])/u,parseFloat(o[4])/d,parseFloat(o[6])/f,s)}t.length<6&&(t=t.replace(/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i,"$1$1$2$2$3$3"));var h=t.match(/^#?([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])$/i);if(h)return new e.RGB(parseInt(h[1],16)/255,parseInt(h[2],16)/255,parseInt(h[3],16)/255);if(e.CMYK){var p=t.match(new RegExp("^cmyk\\("+r.source+","+r.source+","+r.source+","+r.source+"\\)$","i"));if(p)return new e.CMYK(parseFloat(p[1])/100,parseFloat(p[2])/100,parseFloat(p[3])/100,parseFloat(p[4])/100)}}else if("object"==typeof t&&t.isColor)return t;return!1}var t=[],n=function(e){return void 0===e},a=/\s*(\.\d+|\d+(?:\.\d+)?)(%)?\s*/,r=/\s*(\.\d+|100|\d?\d(?:\.\d+)?)%\s*/,i=new RegExp("^(rgb|hsl|hsv)a?\\("+a.source+","+a.source+","+a.source+"(?:,"+/\s*(\.\d+|\d+(?:\.\d+)?)\s*/.source+")?\\)$","i");e.namedColors={},e.installColorSpace=function(a,r,i){function o(t,n){var a={};for(var r in a[n.toLowerCase()]=function(){return this.rgb()[n.toLowerCase()]()},e[n].propertyNames.forEach(function(e){var t="black"===e?"k":e.charAt(0);a[e]=a[t]=function(t,a){return this[n.toLowerCase()]()[e](t,a)}}),a)a.hasOwnProperty(r)&&void 0===e[t].prototype[r]&&(e[t].prototype[r]=a[r])}e[a]=function(e){var t=Array.isArray(e)?e:arguments;r.forEach(function(e,n){var i=t[n];if("alpha"===e)this._alpha=isNaN(i)||i>1?1:i<0?0:i;else{if(isNaN(i))throw new Error("["+a+"]: Invalid color: ("+r.join(",")+")");"hue"===e?this._hue=i<0?i-Math.floor(i):i%1:this["_"+e]=i<0?0:i>1?1:i}},this)},e[a].propertyNames=r;var l=e[a].prototype;for(var s in["valueOf","hex","hexa","css","cssa"].forEach(function(e){l[e]=l[e]||("RGB"===a?l.hex:function(){return this.rgb()[e]()})}),l.isColor=!0,l.equals=function(e,t){n(t)&&(t=1e-10),e=e[a.toLowerCase()]();for(var i=0;i<r.length;i+=1)if(Math.abs(this["_"+r[i]]-e["_"+r[i]])>t)return!1;return!0},l.toJSON=function(){return[a].concat(r.map(function(e){return this["_"+e]},this))},i)if(i.hasOwnProperty(s)){var c=s.match(/^from(.*)$/);c?e[c[1].toUpperCase()].prototype[a.toLowerCase()]=i[s]:l[s]=i[s]}return l[a.toLowerCase()]=function(){return this},l.toString=function(){return"["+a+" "+r.map(function(e){return this["_"+e]},this).join(", ")+"]"},r.forEach(function(e){var t="black"===e?"k":e.charAt(0);l[e]=l[t]=function(t,n){return void 0===t?this["_"+e]:n?new this.constructor(r.map(function(n){return this["_"+n]+(e===n?t:0)},this)):new this.constructor(r.map(function(n){return e===n?t:this["_"+n]},this))}}),t.forEach(function(e){o(a,e),o(e,a)}),t.push(a),e},e.pluginList=[],e.use=function(t){return-1===e.pluginList.indexOf(t)&&(this.pluginList.push(t),t(e)),e},e.installMethod=function(n,a){return t.forEach(function(t){e[t].prototype[n]=a}),this},e.installColorSpace("RGB",["red","green","blue","alpha"],{hex:function(){var e=(65536*Math.round(255*this._red)+256*Math.round(255*this._green)+Math.round(255*this._blue)).toString(16);return"#"+"00000".substr(0,6-e.length)+e},hexa:function(){var e=Math.round(255*this._alpha).toString(16);return"#"+"00".substr(0,2-e.length)+e+this.hex().substr(1,6)},css:function(){return"rgb("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+")"},cssa:function(){return"rgba("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+","+this._alpha+")"}});var o=function(e){e.installColorSpace("XYZ",["x","y","z","alpha"],{fromRgb:function(){var t=function(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92},n=t(this._red),a=t(this._green),r=t(this._blue);return new e.XYZ(.4124564*n+.3575761*a+.1804375*r,.2126729*n+.7151522*a+.072175*r,.0193339*n+.119192*a+.9503041*r,this._alpha)},rgb:function(){var t=this._x,n=this._y,a=this._z,r=function(e){return e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e};return new e.RGB(r(3.2404542*t+-1.5371385*n+-.4985314*a),r(-.969266*t+1.8760108*n+.041556*a),r(.0556434*t+-.2040259*n+1.0572252*a),this._alpha)},lab:function(){var t=function(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29},n=t(this._x/95.047),a=t(this._y/100),r=t(this._z/108.883);return new e.LAB(116*a-16,500*(n-a),200*(a-r),this._alpha)}})},l=function(e){e.installColorSpace("HSV",["hue","saturation","value","alpha"],{rgb:function(){var t,n,a,r=this._hue,i=this._saturation,o=this._value,l=Math.min(5,Math.floor(6*r)),s=6*r-l,c=o*(1-i),u=o*(1-s*i),d=o*(1-(1-s)*i);switch(l){case 0:t=o,n=d,a=c;break;case 1:t=u,n=o,a=c;break;case 2:t=c,n=o,a=d;break;case 3:t=c,n=u,a=o;break;case 4:t=d,n=c,a=o;break;case 5:t=o,n=c,a=u}return new e.RGB(t,n,a,this._alpha)},hsl:function(){var t,n=(2-this._saturation)*this._value,a=this._saturation*this._value,r=n<=1?n:2-n;return t=r<1e-9?0:a/r,new e.HSL(this._hue,t,n/2,this._alpha)},fromRgb:function(){var t,n=this._red,a=this._green,r=this._blue,i=Math.max(n,a,r),o=i-Math.min(n,a,r),l=0===i?0:o/i,s=i;if(0===o)t=0;else switch(i){case n:t=(a-r)/o/6+(a<r?1:0);break;case a:t=(r-n)/o/6+1/3;break;case r:t=(n-a)/o/6+2/3}return new e.HSV(t,l,s,this._alpha)}})},s=function(e){e.use(l),e.installColorSpace("HSL",["hue","saturation","lightness","alpha"],{hsv:function(){var t,n=2*this._lightness,a=this._saturation*(n<=1?n:2-n);return t=n+a<1e-9?0:2*a/(n+a),new e.HSV(this._hue,t,(n+a)/2,this._alpha)},rgb:function(){return this.hsv().rgb()},fromRgb:function(){return this.hsv().hsl()}})};return e.use(o).use(function(e){e.use(o),e.installColorSpace("LAB",["l","a","b","alpha"],{fromRgb:function(){return this.xyz().lab()},rgb:function(){return this.xyz().rgb()},xyz:function(){var t=function(e){var t=Math.pow(e,3);return t>.008856?t:(e-16/116)/7.87},n=(this._l+16)/116,a=this._a/500+n,r=n-this._b/200;return new e.XYZ(95.047*t(a),100*t(n),108.883*t(r),this._alpha)}})}).use(l).use(s).use(function(e){e.installColorSpace("CMYK",["cyan","magenta","yellow","black","alpha"],{rgb:function(){return new e.RGB(1-this._cyan*(1-this._black)-this._black,1-this._magenta*(1-this._black)-this._black,1-this._yellow*(1-this._black)-this._black,this._alpha)},fromRgb:function(){var t=this._red,n=this._green,a=this._blue,r=1-t,i=1-n,o=1-a,l=1;return t||n||a?(r=(r-(l=Math.min(r,Math.min(i,o))))/(1-l),i=(i-l)/(1-l),o=(o-l)/(1-l)):l=1,new e.CMYK(r,i,o,l,this._alpha)}})}).use(function(e){e.namedColors={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"}}).use(function(e){e.installMethod("clearer",function(e){return this.alpha(isNaN(e)?-.1:-e,!0)})}).use(function(e){e.use(s),e.installMethod("darken",function(e){return this.lightness(isNaN(e)?-.1:-e,!0)})}).use(function(e){e.use(s),e.installMethod("desaturate",function(e){return this.saturation(isNaN(e)?-.1:-e,!0)})}).use(function(e){function t(){var t=this.rgb(),n=.3*t._red+.59*t._green+.11*t._blue;return new e.RGB(n,n,n,t._alpha)}e.installMethod("greyscale",t).installMethod("grayscale",t)}).use(function(e){e.use(s),e.installMethod("lighten",function(e){return this.lightness(isNaN(e)?.1:e,!0)})}).use(function(e){e.installMethod("mix",function(t,n){t=e(t).rgb();var a=2*(n=1-(isNaN(n)?.5:n))-1,r=this._alpha-t._alpha,i=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,o=1-i,l=this.rgb();return new e.RGB(l._red*i+t._red*o,l._green*i+t._green*o,l._blue*i+t._blue*o,l._alpha*n+t._alpha*(1-n))})}).use(function(e){e.installMethod("negate",function(){var t=this.rgb();return new e.RGB(1-t._red,1-t._green,1-t._blue,this._alpha)})}).use(function(e){e.installMethod("opaquer",function(e){return this.alpha(isNaN(e)?.1:e,!0)})}).use(function(e){e.use(s),e.installMethod("rotate",function(e){return this.hue((e||0)/360,!0)})}).use(function(e){e.use(s),e.installMethod("saturate",function(e){return this.saturation(isNaN(e)?.1:e,!0)})}).use(function(e){e.installMethod("toAlpha",function(e){var t=this.rgb(),n=e(e).rgb(),a=new e.RGB(0,0,0,t._alpha),r=["_red","_green","_blue"];return r.forEach(function(e){t[e]<1e-10?a[e]=t[e]:t[e]>n[e]?a[e]=(t[e]-n[e])/(1-n[e]):t[e]>n[e]?a[e]=(n[e]-t[e])/n[e]:a[e]=0}),a._red>a._green?a._red>a._blue?t._alpha=a._red:t._alpha=a._blue:a._green>a._blue?t._alpha=a._green:t._alpha=a._blue,t._alpha<1e-10||(r.forEach(function(e){t[e]=(t[e]-n[e])/t._alpha+n[e]}),t._alpha*=a._alpha),t})})}()}),a=i(r,"div");function r(e,t,n){var a=document.createElement(e);return a.className=t,n.appendChild(a),a}function i(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}function o(e,t,n){return Math.min(Math.max(e,t),n)}var l={clamp:o,e:r,div:a,partial:i,labelInput:function(e,t,n,i){var o="colorPickerInput"+Math.floor(1001*Math.random()),l=a(e,n),s=function(e,t,n){var a=r("label","",t);return a.innerHTML=e,n&&a.setAttribute("for",n),a}(t,l,o),c=function(e,t,n,a){var i=r("input","",t);return i.type="text",n&&(i.maxLength=n),a&&i.setAttribute("id",a),n&&(i.maxLength=n),i}(0,l,i,o);return{label:s,input:c}},X:function(e,t){e.style.left=o(100*t,0,100)+"%"},Y:function(e,t){e.style.top=o(100*t,0,100)+"%"},BG:function(e,t){e.style.background=t}},s={currentColor:function(e){var t=l.div("currentColorContainer",e),n=l.div("currentColor",t);return{change:function(e){l.BG(n,e.cssa())}}},fields:function(e,t,n){var a=n.space,r=n.limit||255,i=n.fix>=0?n.fix:0,o=(""+r).length+i;o=i?o+1:o;var s=a.split(""),c="A"==a[a.length-1];if(a=c?a.slice(0,-1):a,["RGB","HSL","HSV","CMYK"].indexOf(a)<0)return console.warn("Invalid field names",a);var u=l.div("colorFields",e),d=s.map(function(e){e=e.toLowerCase();var t=l.labelInput("color "+e,e,u,o);return t.input.onblur=f,t.input.onkeydown=h,t.input.onkeyup=p,{name:e,e:t}});function f(){t.done()}function h(e){e.ctrlKey||e.altKey||!/^[a-zA-Z]$/.test(e.key)||e.preventDefault()}function p(){var e=[a];d.forEach(function(t){e.push(t.e.input.value/r)}),c||e.push(t.getAlpha()),t.set(e)}return{change:function(e){d.forEach(function(t){t.e.input.value=(e[t.name]()*r).toFixed(i)})}}},hex:function(e,t,n){var a=l.labelInput("hex",n.label||"",e,7);return a.input.value="#",a.input.onkeyup=function(e){var n=e.keyCode||e.which,a=e.target.value;a=function(e){for(var t=e,n=e.length;n<7;n++)t+="0";return t}(a="#"==a[0]?a:"#"+a),13==n&&t.set(a)},a.input.onblur=function(e){t.set(e.target.value),t.done()},{change:function(e){a.input.value="#"==a.input.value[0]?"#":"",a.input.value+=e.hex().slice(1)}}},alpha:function(e,n){var a=t.slider({parent:e,class:"oned alpha chequered",cbs:{begin:r,change:r,end:function(){n.done()}}});function r(e){var t=l.clamp(e.y,0,1);l.Y(e.pointer,t),n.setAlpha(1-t)}return{change:function(e){l.Y(a.pointer,1-e.alpha())}}},close:function(e,t,n){var a=l.e("a",n.class||"close",e);a.href="#",a.innerHTML=n.label||"Close",a.onclick=function(e){e.preventDefault(),t.hide()}}},c=function(e){return n=m,(a=[e.init,e.xy,e.z]).map(n).filter(g).length!=a.length?console.warn("colorjoe: missing cb"):function(n,a,r){return function(e){if(!e.e)return console.warn("colorjoe: missing element");var n=function(e){return"string"==typeof e}(e.e)?document.getElementById(e.e):e.e;n.className="colorPicker";var a=e.cbs,r=t.xyslider({parent:n,class:"twod",cbs:{begin:i,change:i,end:g}});function i(e){d=a.xy(d,{x:l.clamp(e.x,0,1),y:l.clamp(e.y,0,1)},r,o),m()}var o=t.slider({parent:n,class:"oned",cbs:{begin:s,change:s,end:g}});function s(e){d=a.z(d,l.clamp(e.y,0,1),r,o),m()}var u=f(e.color),d=a.init(u,r,o),p={change:[],done:[]};function m(e){e=h(e)?e:[];for(var t,n=p.change,a=0,r=n.length;a<r;a++)t=n[a],-1==e.indexOf(t.name)&&t.fn(d)}function g(){if(!u.equals(d)){for(var e=0,t=p.done.length;e<t;e++)p.done[e].fn(d);u=d}}var v={e:n,done:function(){return g(),this},update:function(e){return m(e),this},hide:function(){return n.style.display="none",this},show:function(){return n.style.display="",this},get:function(){return d},set:function(e){var t=this.get();return d=a.init(f(e),r,o),t.equals(d)||this.update(),this},getAlpha:function(){return d.alpha()},setAlpha:function(e){return d=d.alpha(e),this.update(),this},on:function(e,t,n){return"change"==e||"done"==e?p[e].push({name:n,fn:t}):console.warn('Passed invalid evt name "'+e+'" to colorjoe.on'),this},removeAllListeners:function(e){if(e)p[e]=[];else for(var t in p)p[t]=[];return this}};return function(e,t,n){if(n){var a,r,i,o=l.div("extras",e);n.forEach(function(e,n){h(e)?(r=e[0],i=e.length>1?e[1]:{}):(r=e,i={});var l=r in c.extras?c.extras[r]:null;if(l)for(var s in a=l(o,function(e,t){var n=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e);return n.update=function(){e.update([t])},n}(t,r+n),i),a)t.on(s,a[s],r)})}}(n,v,e.extras),m(),v}({e:n,color:a,cbs:e,extras:r})};var n,a};for(var u in c.rgb=c({init:function(e,t,a){var r=n(e).hsv();return this.xy(r,{x:r.saturation(),y:1-r.value()},t,a),this.z(r,r.hue(),t,a),r},xy:function(e,t,n){return l.X(n.pointer,t.x),l.Y(n.pointer,t.y),e.saturation(t.x).value(1-t.y)},z:function(e,t,n,a){return l.Y(a.pointer,t),d(n.background,t),e.hue(t)}}),c.hsl=c({init:function(e,t,a){var r=n(e).hsl();return this.xy(r,{x:r.hue(),y:1-r.saturation()},t,a),this.z(r,1-r.lightness(),t,a),r},xy:function(e,t,n,a){return l.X(n.pointer,t.x),l.Y(n.pointer,t.y),d(a.background,t.x),e.hue(t.x).saturation(1-t.y)},z:function(e,t,n,a){return l.Y(a.pointer,t),e.lightness(1-t)}}),c.extras={},c.registerExtra=function(e,t){e in c.extras&&console.warn('Extra "'+e+'"has been registered already!'),c.extras[e]=t},s)c.registerExtra(u,s[u]);function d(e,t){l.BG(e,new n.HSV(t,1,1).cssa())}function f(e){return p(e)?e.isColor?e:n(e)||(p(e)&&console.warn("Passed invalid color to colorjoe, using black instead"),n("#000")):n("#000")}function h(e){return"[object Array]"===Object.prototype.toString.call(e)}function p(e){return void 0!==e}function m(e){return"function"==typeof e}function g(e){return e}var v=c;return window.OneColor=n,v}(),st=Ie(()=>be(".colorjoe-frame.absolute"),null,({attrs:e,dom:t})=>{window.SCALE=1,e.state.joe=(e.hsl?lt.hsl:lt.rgb)(t,e.color,e.noalpha?[]:["alpha"]),e.state.joe.on("change",t=>{e.onColor(e.noalpha?t.css():t.cssa(),t)}).update()}),ct=[],ut=Ie(({attrs:e,state:t,children:n})=>be(".colorjoe-popper.flexcol",{class:e.noalpha?"no-alpha":""},[be(st,{...e,state:t}),...n,be(".flexrow.extended.w-100.scaff-top.pad-2.wrap",[[0,1,2,3,4,5,6,7,8].map(n=>be("button.scaff.scaff-b1.marg-1.unitheightsmall.grows",{class:ct[n]?"":"chequered",style:{...ct[n]&&{backgroundColor:ct[n]}},onclick:a=>{a.shiftKey?ct[n]=t.joe.get().css():ct[n]&&t.joe.set(ct[n]),e.onRedraw?e.onRedraw():be.redraw()}})),be(".flexbreak"),...e.onRemove?[be("button.scaff.scaff-b1.unitheightsmall.marg-1.pad-2.pad-h.grows.fabf.transp.bg-accent.fa-trash",{onclick:()=>e.onRemove(t.joe.get())})]:[]])])),dt=Ie(e=>{const{attrs:t,state:n}=e;return[be(".colorjoe-cell.chequered",{class:(t.class||"")+(n.shown?" open":""),title:t.title,...t.style&&{style:t.style}},[be(".inset",{style:{backgroundColor:n.color},...t.caption&&{"data-caption":t.caption,class:"titled"},onclick:n=>{t.onshiftclick&&(n.shiftKey||n.ctrlKey)?t.onshiftclick():(e=>{qe(()=>be(ut,{noalpha:e.attrs.noalpha,color:e.state.color,hsl:e.attrs.hsl,onColor:(t,n)=>{e.state.color=t,e.attrs.onchange&&e.attrs.onchange(t,n),be.redraw()},onRemove:()=>{e.attrs.onchange&&e.attrs.onchange(null,null),qe(null)},onRedraw:()=>{qe.redraw(),be.redraw()}},e.children),()=>{},".modal-content-popper")})(e)}})])]},({attrs:e,state:t})=>{t.original=e.color,t.color=t.original||"rgba(0,0,0,0)"},null,null,({attrs:e,state:t})=>{t.original!==e.color&&(t.original=e.color,t.color=t.original||"rgba(0,0,0,0)",be.redraw())}),ft=[255,255,255,1];Me(({attrs:e})=>{const{colors:t=[],max:n=8}=e,a=t.length,r=(e=[0,0,0,0])=>"rgba("+e.map((e,t)=>t<3?Math.floor(255*e):e).join(",")+")",i=(e=[0,0,0,0])=>"rgba("+((e,t,n)=>{let a,r,i;if(0===t)a=r=i=n;else{const o=(e,t,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e),l=n<.5?n*(1+t):n+t-n*t,s=2*n-l;a=o(s,l,e+1/3),r=o(s,l,e),i=o(s,l,e-1/3)}return[Math.round(255*a),Math.round(255*r),Math.round(255*i)]})(e[0],e[1],e[2]).join(",")+","+e[3]+")";return be(".flexrow.wrap.gradient.grows",{class:e.class},[...t.map((n,a)=>be(dt,{class:"grows",color:e.hsl?i(t[a]):r(t[a]),title:"Click to edit, or Shift-click to remove this color from the collection",hsl:e.hsl,onchange:(n,r)=>{let i;if(e.hsl){const e=r.hsl();i=[e.hue(),e.saturation(),e.lightness(),r.a()]}else i=[r.r(),r.g(),r.b(),r.a()];t[a]=i,e.onchange&&e.onchange(t),be.redraw()},onshiftclick:()=>{t.splice(a,1),e.onchange&&e.onchange(t),be.redraw()}})),...a<n?[be(Ae,{icon:"plus",class:"unitheightsmall accent bg-window-lo "+(a?"mini":"grows"),title:"Add a new color to the collection, or SHIFT-CLICK to delete all colors",onClick:n=>{n.shiftKey?t.splice(0,t.length):t.push(ft),e.onchange&&e.onchange(t),be.redraw()}})]:[]])});const ht=Me(({attrs:e})=>be(".flexrow.wrap.grows",{...e.label&&{"aria-label":e.label},class:(e.label?"witharia":"")+" "+(e.class||""),title:e.title||""},[be(Ae,{icon:e.iconMinus??"minus",class:"unitsizesmall "+(e.buttonClass||"transp"),title:e.title?"decrease the "+e.title:"",onClick:()=>{const{step:t=1,min:n=0}=e;let a=e.value||0;Number.isNaN(a)&&(a=0),a-=t,void 0!==n&&a<n&&(a=n),e.onchange(a),be.redraw()}}),be(".currentvalue.al-center.grows.unitheightsmall",{title:e.title},e.parser?e.parser(e.value):String(e.value||0)),be(Ae,{icon:e.iconPlus??"plus",class:"unitsizesmall "+(e.buttonClass||"transp"),title:e.title?"increase the "+e.title:"",onClick:()=>{const{step:t=1,max:n=0}=e;let a=e.value||0;void 0!==n&&a===n||(a+=t,e.onchange(a),be.redraw())}})]));Me(({attrs:e,dom:t})=>be(".titlebar.noshrink.flexrow",{class:e.class?" "+e.class:"unitheight bg-window-hi pad-2 pad-h shadow-2 font-125",...e.onTitleClick&&{onclick:e.onTitleClick}},[...e.onClick?[be(Ae,{icon:"arrow-left",onClick:()=>e.onClick()})]:[],...e.logo?[be("img.title-logo",{src:e.logo})]:[],...e.editable&&e.onchange?[be(Re,{containerClass:"grows"+(e.onClick?"":" pad-2 pad-h"),hint:e.title,onchange:e.onchange,oninput:()=>{},value:e.value})]:[be("span.grows.ellipsis",{class:e.onClick?"":"pad-2 pad-h"},e.title)],...e.auxaction?[be(Ae,{icon:e.auxaction.icon,class:e.auxaction.class,title:e.auxaction.title,onClick:e.auxaction.onClick})]:[],...e.auxactions?e.auxactions.map(e=>be(Ae,{class:e.class,title:e.title,icon:e.icon,text:e.caption,onClick:e.onClick})):[],...e.action?[be(Ae,{icon:e.action.icon,class:e.action.class,title:e.action.title,onClick:e.action.onClick})]:[],...e.overflow?[be(Ae,{icon:e.overflow.icon||"ellipsis-v",class:e.overflow.class||"",onClick:()=>Xe(t,{title:e.title},e.overflow.items).then(({action:e})=>e.onClick())})]:[]]));const pt=!!navigator.userAgent.match(/iPhone|iPad|iPod/i);let mt,gt=!1;function vt(e,t,n){return Math.min(Math.max(e,t),n)}function yt(e,t,n,a){if(n-t<=0)return t;if(a<=0)return vt(e,t,n);const r=Math.ceil((n-t)/a);return vt(t+Math.round(r*(e-t)/(n-t))*a,t,n)}function bt(){let e,t,n,a,r,i,o,l,s,c=0,u=!1,d=!1,f=4,h=1,p=0,m=10,g=0,v=1,y="horizontal";function b(e,t){let n,a;"vertical"===y?(n=i.bottom-i.top,a=i.bottom-t):(n=i.right-i.left,a=e-i.left),a=vt(a,0,n);const r=yt(a/n*(m-p)+p,p,m,v);return $(r),r}function w(e,n,a){return d?function(e,n){u=o=!0,i=t.getBoundingClientRect();const a=b(e,n);a!==g&&(g=a,s&&!1!==s(g)&&be.redraw())}(e,n):(r=a,u=!0,o=!1,i=t.getBoundingClientRect(),void r.target.requestPointerLock());var r}function x(e,t,n){return o?b(e,t):function(e,t,n){const a=n.shiftKey?f:n.metaKey||n.ctrlKey?4*f:h;let r,i;r="vertical"===y?n.movementY||0:n.movementX||0;let o=v>0?v:(m-p)/100;if(r<0)i=Math.max(g+o*a*r,p);else{if(!(r>0))return g;i=Math.min(g+o*a*r,m)}return i=yt(i,p,m,v),$(i),i}(0,0,n)}function k(e){2!==c&&(c=1,0===e.button&&(window.addEventListener("mousemove",C),window.addEventListener("mouseup",_),w(e.clientX,e.clientY,e)))}function C(e){e.preventDefault(),E(e.clientX,e.clientY,e)}function _(e){window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_),L(e.clientX,e.clientY,e)}function M(t){if(1===c)return;e.addEventListener("touchmove",S),e.addEventListener("touchend",T);const n=t.changedTouches[0];w(n.clientX,n.clientY,t)}function S(e){e.preventDefault();const t=e.changedTouches[0];E(t.clientX,t.clientY,e)}function T(t){e.removeEventListener("touchmove",S),e.removeEventListener("touchend",T);const n=t.changedTouches[0];L(n.clientX,n.clientY,n)}function A(e){const t=e.keyCode;let n;if(33===t){e.preventDefault();let t=Math.max((m-p)/10,v);t<=0&&(t=1),n=yt(g+t,p,m,v)}else if(34===t){e.preventDefault();let t=Math.max((m-p)/10,v);t<=0&&(t=1),n=yt(g-t,p,m,v)}else if(35===t)e.preventDefault(),n=m;else if(36===t)e.preventDefault(),n=p;else if(37===t||40===t){e.preventDefault();let t=(v>0?v:(m-p)/10)*(e.shiftKey?.25:e.ctrlKey||e.metaKey?4:1);n=Math.max(g-t,p)}else if(38===t||39===t){e.preventDefault();let t=(v>0?v:(m-p)/10)*(e.shiftKey?.25:e.ctrlKey||e.metaKey?4:1);n=Math.min(g+t,m)}else 48===t&&(n=(m+p)/2);"number"==typeof n&&n!==g&&(g=n,$(g),l&&!1!==l(g)&&be.redraw())}function E(e,t,n){if(!u)return;const a=x(e,t,n);a!==g&&(g=a,s&&!1!==s(g)&&be.redraw())}function L(e,t,n){u&&(u=!1,g=x(e,t,n),l&&!1!==l(g)&&be.redraw(),o||document.exitPointerLock(),setTimeout(function(){u||(c=0)},350))}function D(e){let t=(e-p)/(m-p);return"vertical"===y&&(t=1-t),String(100*t)+"%"}function $(e){const t=D(e),i=D(m-e+p);"vertical"===y?(r.style.top=t,n.style.height=t,a.style.height=i):(r.style.left=t,n.style.width=i,a.style.width=t)}function O(e){p=e.min,m=e.max,v="number"!=typeof e.step||Number.isNaN(e.step)?1:vt(e.step,0,m-p),y="vertical"===e.orientation?"vertical":"horizontal",l=e.onchange,s=e.ondrag,"number"==typeof e.value&&(g=vt(e.value,p,m)),d=!e.relative,f=e.factor&&e.factor[0]||4,h=e.factor&&e.factor[1]||1}return{oncreate:({attrs:i,dom:o})=>{pt&&!gt&&(window.addEventListener("touchmove",function(){}),gt=!0),O(i),e=o,t=e.querySelector(".mithril-range-bar"),n=t.querySelector(".mithril-range-bar-0"),a=t.querySelector(".mithril-range-bar-1"),r=t.querySelector(".mithril-range-handle"),e.addEventListener("mousedown",k),e.addEventListener("touchstart",M),e.addEventListener("keydown",A)},onremove:function(){window.removeEventListener("mousemove",C),window.removeEventListener("mouseup",_),e.removeEventListener("mousedown",k),e.removeEventListener("touchstart",M),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",T),e.removeEventListener("keydown",A)},view:function({attrs:e,children:t}){const n=e.nokey?" nokey":"";O(e),g=yt(g,p,m,v);const a={class:"mithril-range "+n+(e.relative?" isrelative ":" ")+(0===g?"atzero":g<0?"belowzero":"overzero")+(null!=e.class?" "+e.class:""),tabIndex:"0",role:"slider","aria-valuemin":String(p),"aria-valuemax":String(m),"aria-valuenow":String(g),"aria-orientation":y};e.id&&(a.id=e.id),e.ariaLabelledby&&(a["aria-labelledby"]=e.ariaLabelledby),e.disabled&&(a.style={pointerEvents:"none"},a["aria-disabled"]="true");const r=D(g),i=D(m-g+p);let o,l,s;return"vertical"===y?(o={top:r},l={height:r},s={height:i}):(o={left:r},l={width:i},s={width:r}),be("div",a,be("div",{class:"mithril-range-bar"+n},be("div",{class:"mithril-range-bar-0"+n,style:l}),be("div",{class:"mithril-range-bar-1"+n,style:s}),be("div",{class:"mithril-range-handle"+n,style:o},t)),!!e.name&&be("input",{type:"hidden",name:e.name,value:String(g)}))}}}const wt=e=>{const t=e.value>e.curMax?Math.ceil(e.value/e.curMax):1,n=e.curMin<0&&e.value<e.curMin?Math.abs(Math.ceil(e.value/e.curMin)):1,a=Math.min(Math.max(n,t),e.maxMultiplier);e.curMultiplier!==a&&(e.curMultiplier=a,be.redraw())},xt=e=>e.value>=e.curMax*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1?(e.curMultiplier++,!0):e.curMin<0?kt(e):void 0,kt=e=>{if(e.value<=e.curMin*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1)return e.curMultiplier++,!0},Ct={oninit:({attrs:e,state:t})=>{Object.assign(t,{value:e.value||0,initial:e.value||0,curMax:e.max,curMin:e.min,curMultiplier:1,maxMultiplier:e.multiplier||1,id:"I"+Date.now()}),t.maxMultiplier>1&&(t.value>e.max?t.curMultiplier=Math.ceil(t.value/e.max):e.min<0&&t.value<e.min&&(t.curMultiplier=Math.abs(Math.ceil(t.value/e.min))))},onupdate:({attrs:e,state:t})=>{const n=e.multiplier||1,a=e.value||0;t.curMax!==e.max||t.maxMultiplier!==n?(Object.assign(t,{curMax:e.max,curMin:e.min,maxMultiplier:n,value:e.value,initial:a}),xt(t)||(clearTimeout(t.timer),t.timer=setTimeout(wt,1e3,t)),be.redraw()):t.initial!==a&&(Object.assign(t,{value:a,initial:a}),clearTimeout(mt),mt=setTimeout(()=>be.redraw(),50))},view:({attrs:e,state:t})=>be(".range.flexcol.control.relative"+(e.multiplier>1?".withmultiplier":""),{...e.class&&{class:e.class},title:e.hint||"Click, then use arrows to finetune value if needed"},[...e.title?[be("label",{class:"rangelabel",htmlFor:t.id},e.title)]:[],be(bt,{onchange:n=>{t.value=n,!xt(t)&&t.curMultiplier>1&&(clearTimeout(t.timer),t.timer=setTimeout(wt,1e3,t)),e.onchange?e.onchange(n):be.redraw()},ondrag:n=>n!==t.value&&(t.value=n,e.ondrag&&e.ondrag(n),!0),value:t.value||0,min:(e.min||0)*t.curMultiplier,max:t.curMax*t.curMultiplier||100,step:e.step||1,relative:e.relative,factor:e.factor},[be(".currentval",e.parser?e.parser(t.value,e.step<1):t.value?e.step<1?t.value.toFixed(2):""+Math.floor(t.value):"")])])},_t={view:({attrs:e,state:t})=>be(Ct,{value:e.value||0,min:e.min||0,max:e.max||100,step:e.step||.1,class:(e.disabled?"disabled ":"")+(e.class||""),title:e.title,multiplier:e.multiplier,hint:e.hint,parser:e.parser,relative:e.relative,factor:e.factor,getLabel:e=>e?""+e:"default",ondrag:n=>(t.changed=!0,t.value=n,e.onchange&&e.onchange(n,!0),!0),onchange:n=>(e.auto0?n=0:e.autoValue&&(n=e.autoValue),t.changed=!0,t.value=n,e.onchange&&e.onchange(n,!1),!0)})},Mt={setTransState:()=>{console.warn("MainState: Not Implemented setTransState")},WIDGETS:{}};function St(e){return"string"==typeof e?Mt.WIDGETS[e]:e}const Tt=Me(({attrs:e})=>{const{icon:t,onchange:n,icons:a,state:r}=e;return be(Ae,{title:"Click to select icon or emoji for this marker",class:"chequered "+(e.class||"font-200"),icon:t&&t.icon,text:t&&t.glyph,onClick:()=>Mt.setTransState("emoji",n,{icons:a})})}),At=Me(({attrs:e,children:t})=>be(".buttonchoice.withicon.flexrow.scaff.scaff-b1.fadein.ohidden.fa-"+(e.icon||"gear"),{class:e.containerClass||"col-11 grows marg-1",title:e.title},be((e.themeClass?e.themeClass:".flexrow.wrap")+".grows.col-11.ohidden.scaff-left.bg-inputs",{class:e.class},t))),Et=Me(({attrs:e,children:t})=>{const{title:n,noUpdate:a,items:r=[],current:i,altIndex:o,onEdit:l,emptyText:s,onAdd:c,onSelect:u,onDelete:d,addText:f="Add New",unconfirm:h,buttonClass:p,themeIcon:m,themeTitle:g}=e,v=[...r.map((e,t)=>be("button.grows.marg-1.ellipsis.ohidden.hasShift",{class:(p||"unitheightsmall scaff-b1")+(t===i?" accent":"")+(t===o?" alt-accent":""),title:n,onclick:n=>{n.metaKey&&l?l(e):c&&n.shiftKey?h?(r.splice(t,1),d&&d(t),be.redraw()):((e,t,n,a,r,i)=>{const o=e[t];Qe("Choose an action for this preset",n&&i?["DELETE","RENAME","UPDATE","CANCEL"]:["DELETE","RENAME","CANCEL"]).then(r=>{0===r?(e.splice(t,1),a&&a(t),be.redraw()):1===r?setTimeout(()=>at("Rename Preset",o.title||"","type a name for this preset",e=>{e&&(e=e.trim())&&(o.title=e.substring(0,24),be.redraw())}),10):n&&2===r&&n(!1,t)})})(r,t,c,d,0,!a):u&&u(e,t,n.metaKey,n.shiftKey)}},(e.title||e.name||e.text||String(1+t)).substring(0,32))),...!r.length&&s?[be(".grows.marg-1.ellipsis.ohidden.al-center",s)]:[],...c?[be(Ae,{tabIndex:-1,icon:e.icon||"plus",title:e.addTitle||"Add a new item",class:"pad-2 pad-h al-center unitheightsmall transp addbut scaff-left bg-window-lo grows"+(r.length?" some":" empty"),onClick:e=>c(e.ctrlKey||e.metaKey),text:r?.length?"":f})]:[],...!m&&e.currentWidget&&i>=0&&r[i]&&e.currentWidget(r[i],i)||[],...!m&&e.altCurrentWidget&&o>=0&&r[o]&&e.altCurrentWidget(r[o],i)||[],...t];return m?[be(At,{title:g,containerClass:e.containerClass,themeClass:e.themeClass,icon:m},v),...e.currentWidget&&i>=0&&r[i]&&e.currentWidget(r[i],i)||[],...e.altCurrentWidget&&o>=0&&r[o]&&e.altCurrentWidget(r[o],o)||[]]:v}),Lt=Me(({attrs:e,children:t})=>{const{nocontainer:n,emptyText:a,title:r,addTitle:i,items:o,currentIndex:l,altIndex:s,onEdit:c,onDelta:u,onSelect:d,onAdd:f,addText:h,icon:p,buttonClass:m}=e,g=o&&o.length<=(e.max||15)||!u?be(Et,{addTitle:i,emptyText:a,title:r,items:o,current:l,altIndex:s,onSelect:d,onAdd:f,onEdit:c,addText:h,icon:p,buttonClass:m},t):[be(Ae,{tabIndex:-1,icon:"caret-right",class:"unitheightsmall grows marg-1 no-marg-left",onClick:()=>u(-1)}),...o?[be(".scaff.unitheightsmall.value.al-center.bg-window-lo.grows.marg-1.no-marg-left ",1+l+" / "+o.length)]:[],be(Ae,{tabIndex:-1,icon:"caret-left",class:"unitheightsmall grows marg-1 marg-v",onClick:()=>u(1)}),...f?[be(Ae,{tabIndex:-1,icon:e.icon||"plus",class:"unitheightsmall marg-1 marg-v",onClick:()=>f()})]:[]];return n?g:o.length||!f?be(".flexrow.wrap.max.minusbar",{class:(e.dynclass?e.dynclass()+" ":"")+e.class},g):[]});Me(({attrs:e})=>{if(!e.layer.items)return[];const{global:t,layer:n,remoteFirst:a,isCue:r}=e,{storyWrapper:i}=t,{id:o,items:l}=n,s=i.getTickerIndex(o,a),c=a?i.getTickerIndex(o,!1):void 0;return be(Lt,{title:e.title,onAdd:e.onAdd,class:"marg-1 marg-h grows",items:l,currentIndex:s,altIndex:c,current:l[s]||void 0,onDelta:e=>i.tickLayer(n,e,a,r),onSelect:(e,t,o)=>i.setTickerIndex(n,t,o,a,r)})}),Me(({attrs:e})=>be(Ee,{size:2,icon:e.icon,class:"pad-2"},[...e.texts.map(e=>be(".text",e)),...e.buttonText?[be(Ae,{class:"font-125 accentbutton unitheightsmall",icon:e.icon||"plus",text:e.buttonText,onClick:e.onClick})]:[],...e.buttonAlt?[be(Ae,{class:"font-125 accentbutton unitheightsmall",icon:e.iconAlt||"plus",text:e.buttonTextAlt,onClick:e.onClick})]:[]])),navigator.userAgent.indexOf("Windows NT"),Me(({attrs:e})=>be(Ae,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Mt.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(t,n)=>{const a=n?e.parse?e.parse(n):n:void 0;a&&(e.onImage(a),be.redraw())}})}));const Dt=Me(e=>{const{attrs:t}=e;return be("button.selectfile.relative",{...t.class&&{class:t.class}},[be(Se,{icon:t.icon||"upload",iconClass:t.iconClass}),...t.text?[be("span.text",{class:t.textClass},t.text)]:[],be("input",{class:"absolute w-100 h-100 ohidden",type:"file",accept:t.accept||null,title:t.title,onchange:e=>{e.target.files&&e.target.files.length&&(t.onFile(e.target.files[0]),e.target.value="")}})])}),$t=Me(({attrs:e})=>be(Dt,{class:e.class,accept:e.accept||"image/*",icon:e.icon||"image",iconClass:e.iconClass,textClass:e.textClass,text:e.text,onFile:t=>e.onImageFiles([{type:"image",file:t}])}));Me(({attrs:e})=>be($t,{class:e.class,icon:e.icon,text:e.text,accept:e.accept,iconClass:e.iconClass,textClass:e.textClass,onImageFiles:t=>{t.length&&function(e){return new Promise((t,n)=>{const a=new FileReader;a.onload=function(e){const a=e.target.result,r=new Image;r.onerror=function(t){e.target.value="",n(t)},r.onload=function(){t(r)},r.src=a},a.readAsDataURL(e)})}(t[0].file).then(e.onImage).catch(t=>{e.onError&&e.onError(t)})}})),Me(({attrs:e})=>be($t,{class:e.class,icon:e.icon,text:e.text,accept:e.accept,iconClass:e.iconClass,textClass:e.textClass,onImageFiles:t=>{var n;t.length&&(n=t[0].file,new Promise((e,t)=>{const a=new FileReader;a.onload=function(a){const r=a.target.result;r?e({name:n.name,url:r}):t(new Error("no data"))},a.readAsDataURL(n)})).then(e.onImageUrl).catch(t=>{e.onError&&e.onError(t)})}}));const Ot=Me(({attrs:e})=>{const{fontFamily:t,state:n,onchange:a}=e;return be(".flexrow.grows.fontgroup",{class:e.class},[...t&&!e.nodelete?[be(Ae,{class:"scaff-right unitsize",icon:"trash",onClick:()=>{a(void 0),Mt.setTransState()}})]:[],be(Ae,{class:"grows transp font-125 ohidden",text:t||"default",icon:"font",onClick:()=>Mt.setTransState("fontsel",e=>{a(e),Mt.setTransState()})})])}),It={},Nt="needsUpdate",jt="_rebuild_children",zt=Me(({children:e})=>[e]),Pt=Me(({attrs:e})=>be(Ae,{text:e.text,icon:e.icon,title:e.hint,iconClass:e.iconClass,class:(e.checked?e.inverted?"":"accent ":e.inverted?"accent ":"")+(e.class||"")+(e.noclass||" tgbutton"),onClick:()=>e.onchange(!e.checked)}));Me(({attrs:e})=>be(_t,{min:0,max:e.max||1,step:.1,...e.mul&&{multiplier:e.mul},class:"tgrange grows innerlabel",title:e.text,value:e.value??0,hint:e.hint,onchange:t=>e.onchange(t),parser:e=>e||"OFF"}));const Yt=Me(({attrs:e,children:t})=>be(".flexrow.wrap",{class:e.class},e.source?Object.keys(e.source).map(t=>be(St(e.widget)||Pt,{text:t,icon:e.icon,checked:!!e.source[t],hint:e.hint,value:e.source[t],class:e.buttonClass,max:e.max,mul:e.mul,onchange:n=>{e.source[t]=n>=0?n:!!n,e.onchange(t)}})).concat(t):[])),Rt=Me(({attrs:e,state:t,children:n})=>[...e.keys.length>1?[be(".flexrow.wrap",{class:e.class},e.source?e.keys.map(n=>be(Pt,{text:n,checked:t.current===n,class:e.selectorButtonClass||"transp",hint:e.hint,onchange:()=>{t.current=n,be.redraw()}})):[])]:[],...t.current?[be(Yt,{class:e.class,source:e.source[t.current],icon:e.icon,buttonClass:e.buttonClass,onchange:e.onchange,hint:e.hint,widget:e.nocustom!==t.current?St(e.widget):void 0,max:e.max,mul:e.mul},n)]:[]],({attrs:e,state:t})=>{t.current=e.keys[0]}),Vt=Me(({attrs:e,children:t})=>{const n=e.source&&Array.isArray(e.source),a=n?e.source.map((e,t)=>t):e.keys||e.source&&Object.keys(e.source),r=()=>a&&a.length||e.add?[...e.cardie||e.noseparator?[]:[be(Ne,{class:e.separatorClass,text:e.caption})],be(".flexrow.wrap",{class:e.class},(e.source?a.map(t=>be(St(e.widget.name),{keyName:t,class:e.widgetClass,...("function"==typeof e.widget.attrs?e.widget.attrs(e,t):e.widget.attrs)||{},value:e.source[t],parameters:e.targetParameters,onchange:(a,r)=>{!a&&e.add&&r.shiftKey?n?e.source.splice(t,1):delete e.source[t]:e.source[t]=a,e.onchange(t)}})):[]).concat(e.add&&!e.keys?[be(Ae,{icon:"plus",class:e.addButtonClass||"marg-1 transp leftbutton grows unitsizesmall",text:`add ${e.add}`,onClick:()=>{at(`Enter new ${e.add} name`,"",`type ${e.add} name`,t=>{t&&(t=function(e,t=!0){return t=t&&!e?.endsWith("."),e?e.trim().toLowerCase().replace(t?Je:Ge,""):null}(t).toLowerCase()),t&&(n?e.source.push(""):e.source[t]||(e.source[t]="",be.redraw()))})}})]:[]).concat(t))]:e.empty?be(Ee,e.empty):[];return e.cardie?be(Oe,{nofold:!1,size:1,cols:!1,title:e.caption,cardid:e.cardie,class:"relative grows"+(e.cardieClass?" "+e.cardieClass:""),expandedView:r}):r()}),Ht=Me(({attrs:e})=>be(Ae,{text:e.states[Number.parseInt(e.checked,10)||0]||"---",icon:e.icon,hint:e.hint,class:"tgbutton "+(e.checked?e.inverted?"":"accent ":e.inverted?"accent ":"")+(e.class||""),onClick:()=>{let t=Number.parseInt(e.checked,10)||0;t++,t%=e.states.length,e.onchange(t)}})),Ft=Me(({attrs:e,state:t})=>{const n=e.template.presets.concat(t.files||[]);return be(".templatepresets.flexrow.wrap",{class:e.class},n.length?n.map(t=>be(e.template.render,{item:t,title:"Apply "+e.template.name+" to "+e.type,onClick:()=>e.onClick(t),layer:e.layer})):e.template.empty?be(Ve,e.template.empty):be(".emptybox","No presets available"))},({attrs:e,state:t})=>{e.template.files&&e.entity&&e.template.files(e.entity).then(e=>{t.files=e,be.redraw()}).catch(()=>{})}),Kt=Me(({attrs:e,state:t,children:n})=>{let a=0;const{meta:r,crit:i={},when:o={},sizes:l={},metaKeys:s=Object.keys(e.meta),global:c,parameters:u,auxParameters:d,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,name:v}=e,y=s.map(n=>{const s=r[n],v=s.when||(o?o[n]:void 0),y="object"==typeof s&&!s.length,b=y&&(s.auxTarget&&!s.target||e.auxTargetIsDefault)?d:u,w=y&&(s.target||s.forTarget)?b[s.target||b.forTarget]:b;if(!u||v&&!((e,t,n,a)=>"function"==typeof e?e(t,n):"string"==typeof e?!!a[e]:e.key?e.value?e.not?a[e.key]!==e.value:a[e.key]==e.value:e.not?!a[e.key]:!!a[e.key]:!!a[e.key])(v,u,d,w))return[];const x=y&&s.widget,k=!!y&&(s.update||i[n]),C=y&&s.key||n,_=y&&"group"===s.type,M=y&&"groupArray"===s.type,S="string"==typeof s||y&&"text"===s.type,T=y&&"json"===s.type,A="boolean"==typeof s||y&&"boolean"===s.type,E=y&&"number"===s.type,L=y&&!Number.isNaN(s.min),D=y&&"action"===s.type,$=y&&(s.choices||s.choose||s.chooseKey),O=y&&"keytoggle"===s.type,I=y&&"iterakey"===s.type,N=y&&(s.options||s.optionsKey),j=y&&s.items,z=y&&"color"===s.type,P=y&&"plusminus"===s.type,Y=y&&"separator"===s.type,R=y&&"static"===s.type,V=y&&"emoji"===s.type,H=y&&"font"===s.type,F=y&&"notice"===s.type,K=y&&"asset"===s.type,B=Y?"col-12":"col-"+(s.size||l[n]||4);if(!w)return[];const U=y&&s.altMeta&&r[s.altMeta],W=s.idx,q=W>=0,J=y&&s.get?s.get(w,d,u):q?w[C]?w[C][W]:0:w[C],G=U&&s.altMeta,X=U&&U.key,Z=y&&s.set?e=>s.set(w,e&&f&&"object"==typeof e?tt(e):e,d,u,W):(e,t,n)=>{const a=n||C,r=q?W:n||C;let i=q?w[a]:w;return W>=0&&!i&&(w[a]=i=[0,0,0]),i[r]=e&&f&&"object"==typeof e?tt(e):e},Q=e.onbeforechange?(t,a,r,i)=>!!e.onbeforechange(r||n,t,i||s)&&(Z(t,void 0,r),!0):Z;return a++,be(".grows.flexrow."+B,{class:"mk_"+n+(y&&s.type?" ptype_"+s.type:"")+(S?"witharia":"")+(s.itemClass||p?" "+(s.itemClass||p):""),"aria-label":n},M?Array.isArray(J)?J.map((t,n)=>s.small?be(Kt,{meta:s.items,crit:{},when:{},sizes:{},parameters:t,auxParameters:d,arrayInfo:{source:J,item:w,index:n},global:c,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,itemsDict:e.itemsDict,layer:e.layer,onAction:e.onAction,optionsDict:e.optionsDict,play:e.play,auxTargetIsDefault:!1,AssetButton:e.AssetButton,CodeMirror:e.CodeMirror}):be(Oe,{class:"relative grows "+(s.class||"pad-h emby w-max")+(s.dynClass?" "+s.dynClass(u,d,n):""),title:s.dynTitle?s.dynTitle(u,d,n):s.title+" "+(n+1)+(t.title?" - "+t.title:""),cardid:s.cardid+"-"+n,nofold:!1,size:s.margin||0,expandedView:()=>[be(Kt,{meta:s.items,crit:{},when:{},sizes:{},parameters:t,auxParameters:d,global:c,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,itemsDict:e.itemsDict,layer:e.layer,onAction:e.onAction,optionsDict:e.optionsDict,play:e.play,auxTargetIsDefault:!1,AssetButton:e.AssetButton,CodeMirror:e.CodeMirror})],titleExpended:s.titleExpanded||s.hint,titleCollapsed:s.titleCollapsed||s.hint})).concat(s.addAction?[be(Ae,{...s.addAction,onClick:e=>{s.addAction.onClick?s.addAction.onClick(e,u,d):s.addAction.template&&J.push(tt(s.addAction.template)),be.redraw()}})]:[]):[]:_?[be(Oe,{class:"relative grows "+(s.class||"emby w-max")+(s.dynClass?" "+s.dynClass(u,d):""),title:s.dynTitle?s.dynTitle(u,d):s.title,cardid:s.cardid,nofold:!1,size:s.margin||0,expandedView:()=>[be(Kt,{meta:s.items,crit:{},when:{},sizes:{},parameters:u,auxParameters:d,global:c,clone:f,onchange:h,itemClass:p,wrapper:m,empty:g,itemsDict:e.itemsDict,layer:e.layer,onAction:e.onAction,optionsDict:e.optionsDict,play:e.play,auxTargetIsDefault:e.auxTargetIsDefault,AssetButton:e.AssetButton,CodeMirror:e.CodeMirror}),...s.addAction?[be(Ae,{...s.addAction,onClick:e=>{s.addAction.onClick(e,u,d),be.redraw()}})]:[]],titleExpended:s.titleExpanded||s.hint,titleCollapsed:s.titleCollapsed||s.hint})]:Y?[be(Ne,{class:s.class||"mini",text:"string"==typeof s.title?s.title:s.label||n})]:R?s.icon?[be(Se,{icon:s.icon,class:s.iconClass}),be(".innertext",{class:s.class,title:s.hint},J)]:[be(".innertext",{class:s.class,title:s.hint},J)]:x?[be(St(s.widget),"function"==typeof s.attrs?s.attrs(J,t,(e,t)=>h(e||k,t?u:w,n,void 0,s),c,e,w):s.attrs,s.children?s.children(J,t,(e,t)=>{h(e||k,t?u:w,n,void 0,s)},c,e,w):[])]:P?[be(ht,{max:s.max,min:s.min,title:s.title,label:s.label,value:J,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:S||T&&!e.CodeMirror?[be(Re,{containerClass:"grows",class:s.inputClass,value:J,label:s.label,hint:y?s.hint:s,title:s.title,maxlength:y&&s.maxlength||256,...s.final&&{oninput:()=>{}},multi:T||s.multi,alwaysmulti:T||s.alwaysmulti,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:T?[be(zt,[be(e.CodeMirror,{key:u.id,doc:J,schema:s.schema,templates:s.templates,hint:s.dynamicHint?s.dynamicHint(w):s.hint,empty:s.empty,onSave:e=>{null!==e&&(Q(e||""),h(k,w,n,void 0,s),e||De.add(s.hint+" cleared"))}})])]:E?[be(Re,{containerClass:"grows",class:s.inputClass,value:s.step>0&&s.step<1||s.float?void 0!==J?(parseFloat(J)||0).toFixed(3):"":J,type:"text",label:s.label,hint:y?s.hint:s,title:s.title,subtype:"number",...s.final&&{oninput:()=>{}},onchange:e=>{let t=s.step>0&&s.step<1||s.float,{min:a,max:r}=s;if(void 0===e)Q(void 0);else{let n=t?parseFloat(e):parseInt(e,10);isNaN(n)?n=void 0:(n<a&&(n=a),n>r&&(n=r)),Q(n)}h(k,w,n,void 0,s)}})]:F?[be(Ve,s)]:K?e.AssetButton?[be(e.AssetButton,{global:c,value:J,confirm:s.confirm,class:"grows "+(s.containerClass||"scaff scaff-b1"),buttonClass:s.buttonClass||"unitheight scaff-left",readonly:s.readOnly,closeClass:s.closeClass,textClass:s.textClass||"",iconClass:s.iconClass||"",field:s.field,types:s.types,subtype:s.subtype,file:s.file,pack:s.pack,shiftUpdate:s.shiftUpdate,shiftIcon:s.shiftIcon,removeIcon:s.removeIcon,emptyValue:s.emptyText||"off",emptyText:s.emptyText||"off",emptyIcon:s.emptyIcon||s.icon,icon:s.icon,title:s.title,titleCollapsed:s.titleCollapsed,titleClass:"pad-2 pad-v no-pad-bottom",parameters:u,auxParameters:d,onchange:(t,a)=>{a&&a.shiftKey&&e.onShiftPress?e.onShiftPress(n,w,t):(void 0===t&&(t=s.nullValue||void 0),Q(t),h(k,w,n,void 0,s))}})]:[be(Ae,{icon:s.icon,title:s.title,class:"unitheight",text:"No Asset Module"})]:V?[be(Tt,{class:"grows "+(s.class||"scaff scaff-b1 unitheight font-200"),icon:{glyph:J},icons:!1,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:H?[be(Ot,{class:"grows "+(s.class||"scaff-right unitheight"),fontFamily:J,nodelete:s.nodelete,onchange:e=>{if(s.nodelete&&!e)return;Q(e);const t=s.target||s.forTarget?u[s.target||s.forTarget]:u;h(e?k:"delete",t,n,!e,s)}})]:z?[be(dt,{class:"grows "+(s.class||"unitheight")+(X?" withalt":""),color:J,caption:s.caption,noalpha:s.noalpha,remove:s.remove,onchange:(e,t)=>{let a=e;if(a)if(s.hsl){const e=t.hsl();a=[e.hue(),e.saturation(),e.lightness()]}else s.rgba&&(a=[t.r(),t.g(),t.b(),t.a()]);Q(a),h(k,w,n,void 0,s)},...X&&{style:{"--data-altval":((w[X]??U.min)-U.min)/(U.max-U.min)*100+"%"}}},U?[be(_t,{auto0:U.auto0,min:U.min,max:U.max,step:U.step||.1,...U.mul&&{multiplier:U.mul},class:"col-11 grows innerlabel order-first",title:U.title,value:w[X]??U.min,onchange:e=>{Q(e,void 0,X,U),h(i[G],w,G,void 0,s)}})]:void 0)]:A?[be(y&&s.toggle?s.states?Ht:Pt:et,{class:"grows "+(s.class||"unitheight"),text:y?s.title||s.label:n,icon:y?s.icon:void 0,noclass:s.noclass,subline:s.subline,checked:J,title:s.hint,hint:s.hint,inverted:y&&s.inverted,states:s.states,iconClass:s.iconClass,onchange:e=>{Q(s.states?e:!!e),h(k,w,n,void 0,s)}})]:D?[be(Ae,{class:"grows "+(s.class||"accentbutton unitheight"),text:""===s.label?null:s.parse?s.parse(w,d):s.label||s.text||n,icon:s.icon,title:s.title||s.hint,onClick:t=>{const a=()=>{s.onClick?s.onClick(n,t,w,d,c,e):e.onAction&&e.onAction(n,t,b,e.arrayInfo)};s.confirm?Ze(s.confirm,a):a()}})]:O?[be(s.keys?Rt:Yt,{class:"col-12 "+(s.toggle?"istoggler":""),icon:s.icon,buttonClass:s.buttonClass,selectorClass:s.selectorClass||"grows",selectorButtonClass:s.selectorButtonClass,keys:s.keys,hint:s.hint,nocustom:s.nocustom,source:J,onchange:()=>h(k,w,n,void 0,s),...s.customWidget||{}})]:I?[be(Vt,{class:"col-12"+(s.class?" "+s.class:""),buttonClass:s.widgetClass,cardie:s.cardie,cardieClass:s.cardieClass,addButtonClass:s.addButtonClass,caption:s.caption,separatorClass:s.separatorClass,noseparator:s.noseparator,source:J,onchange:()=>h(k,w,n,void 0,s),widget:s.keyWidget,keys:s.keys,add:s.add,targetParameters:w,auxParameters:d,empty:s.empty})]:$?[be(je,{class:"col-12 "+(s.toggle?"istoggler":""),subclass:s.class,buttonClass:s.buttonClass,choices:s.choices,choose:s.choose,chooseKey:s.chooseKey,chooseDict:e.chooseDict,label:s.label,field:s.field,icon:s.icon,value:J,title:s.title,onchange:e=>{let{value:t}=e;t||t>=0?(s.toggle&&t===J&&(t=!t),Q(t),h(k,w,n,void 0,s)):(Q(void 0),h(k,w,n,void 0,s))}})]:N?[be(ot,{class:s.containerClass||"scaff scaff-b1",buttonClass:s.class||"unitheightsmall scaff-left",closeClass:s.buttonClass||void 0,textClass:s.textClass||"",locked:s.locked,value:J,field:s.field,fieldTitle:s.fieldTitle,emptyText:s.emptyText||"off",emptyIcon:s.emptyIcon||s.icon,confirm:s.confirm,icon:s.icon||e.icon,hint:s.hint,label:s.label,title:s.question,itemsKey:"function"==typeof s.optionsKey?()=>s.optionsKey(w):s.optionsKey,items:s.options||e.optionsDict,removeIcon:s.removeIcon,nodelete:s.nodelete,onchange:(e,t)=>{t?.shiftKey?s.shiftPress&&s.shiftPress(w,d):("string"==typeof e&&(e=e.trim()),e?(Q(s.values?s.values[e]:e,s.clone),h(k,w,n,!1,s)):(Q(s.nullValue||void 0),h(k,w,n,!0,s)))}})]:j?[be(Be,{class:"grows scaff scaff-b1 "+(s.class||"unitheight"),value:J,emptyText:s.emptyText||"off",icon:s.icon,title:s.title,items:s.items,textClass:s.textClass||"",onchange:e=>{"string"==typeof e&&(e=e.trim()),e?(Q(e),h(k,w,n,void 0,s)):(Q(void 0),h(k,w,n,void 0,s))}})]:L?[be(_t,{auto0:s.auto0,relative:!s.auto0&&!s.absolute,factor:s.factor,min:s.min,max:s.max,step:s.step||.1,...s.mul?{multiplier:s.mul}:{},class:"col-11 grows innerlabel",title:s.label||s.title||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),hint:s.hint,value:parseFloat(J)??s??s.min,parser:s.parser,onchange:e=>{Q(e),h(k,w,n,void 0,s)}})]:[be(_t,{min:s[0],max:s[1],step:s[2]||.1,...s[3]?{multiplier:s[3]}:{},class:"col-11 grows innerlabel",title:s[4]||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),value:parseFloat(J)||s[0],onchange:e=>{Q(e),h(k,w,n,void 0,s)}})])});return a||n.length?m?m(y.concat(n)):y.concat(n):g&&!n.length?be(Ee,g):[]});Me(({attrs:e,children:t})=>{const{busy:n,parameters:a,auxParameters:r,cardid:i,size:o,index:l,titleWidget:s,parametersTitle:c,parametersBody:u,rootUpdate:d,global:f,layer:h,tableChildren:p,cols:m,onLayerReset:g,onAction:v,nofold:y,bodyClass:b,titleAction:w,AssetButton:x,CodeMirror:k,optionsDict:C}=e;return be(Oe,{busy:n,nofold:y,size:o,cols:m,title:u.titleCollapsed||u.title,titleCollapsed:u.titleCollapsed||u.title,titleExpanded:u.titleExpanded||u.title,action:w,expandedClass:e.expandedClass,onShiftOpen:()=>{},titleWidget:s||Kt,titleAttrs:{...c,onShiftPress:e.onShiftPress,confirm:e.confirmTitle,itemClass:"",parameters:a,auxParameters:r,clone:!0,global:f,layer:h,AssetButton:x,CodeMirror:k,optionsDict:C,onAction:v,onchange:(t,n,i,o,l)=>{const s=l.rootUpdate||d;if(l?.onchange)l.onchange(t,n,a);else if(t){if("none"===s)return;"both"===s&&r?n[Nt]=r[Nt]=t:"parent"===s&&r?(n[Nt]=t,r[Nt]=!0):"target"===s&&n!==a?(n[Nt]=t,a[Nt]=!0):2===s?a[Nt]=t:1===s?n&&(n[Nt]=t):"string"==typeof s&&"both"!==s&&"parent"!==s&&"target"!==s?a[s]?(a[s][Nt]=t,a[Nt]=!0):a[Nt]=jt:-1!==s&&n&&(n[Nt]=t)}else g&&g();e.onTitleChange&&e.onTitleChange(t,n,i,o),be.redraw()}},cardid:i,class:"withbottommargin relative"+(e.class?" "+e.class:""),bodyClass:b,expandedView:()=>[...u.meta?[be(Kt,{...u,confirm:e.confirmBody,itemClass:"pad-1",parameters:a,auxParameters:r,clone:!0,global:f,layer:h,index:l,play:e.play,itemsDict:e.itemsDict,optionsDict:C,AssetButton:x,CodeMirror:k,onAction:v,onchange:(t,n,i,o,l,s)=>{const c=l.rootUpdate||d;if(l?.onchange)l.onchange(t,n,a);else if(t){if("none"===c)return;"both"===c&&r?n[Nt]=r[Nt]=t:"parent"===c&&r?(n[Nt]=t,r[Nt]=!0):"target"===c&&n!==a?(n[Nt]=t,a[Nt]=!0):2===c?a[Nt]=t:1===c?n&&(n[Nt]=t):"string"==typeof c&&"both"!==c&&"parent"!==c&&"target"!==c?a[c]?(a[c][Nt]=t,a[Nt]=!0):a[Nt]=jt:-1!==c&&n&&(n[Nt]=t)}else g&&g();e.onChange&&e.onChange(t,i,n,r,o,l,s,e),be.redraw()}},p)]:u.emptyMeta?[be(Ee,u.emptyMeta)]:[],...t||[]],collapsedView:e.collapsedView})}),Me(({attrs:e,state:t,children:n})=>{const{layer:a,property:r,colorProperty:i}=e,o=It[r],l=a[r],s=null!=l,c=s&&"object"==typeof l&&null!==l,u=c&&l,d=u&&u.exp,[,f]=d||[],h=u&&f&&Object.keys(f),p=c&&l?l.title:l,m=h&&h.length,g=e.size&&c;return be("li.coord.witharia.relative.templatedinput",{"aria-label":e["aria-label"],class:(t.chooser&&o?e.chooserClass:e.containerClass)||"col-12"},[...e.docs?[be("a.extlink.absolute.to-right.to-top.font-75.pad-2.pointer",{target:"tool",onclick:()=>{NIPX.sys.open(e.docs.url)}},e.docs.caption||"docs")]:[],e.chooser?[be(".flexrow.grows.fontgroup",[be(Ae,{class:"grows unitheightsmall rectbutton ohidden",text:p||"--- NONE ---",icon:e.icon,onClick:e=>{!t.chooser&&e.shiftKey&&o.images?Mt.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(e,t)=>{const n=t&&o.images(t);n&&(a[r]=tt(n),be.redraw())}}):(t.chooser=!t.chooser,be.redraw())}}),...a[r]?[be(Ae,{class:"clearfont unitheightsmall bg-accent",text:"X",onClick:()=>{delete a[r],be.redraw()}})]:o.images&&!p?[be(Ae,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Mt.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(e,t)=>{const n=t&&o.images(t);n&&(a[r]=tt(n),be.redraw())}})})]:[]])]:[be(Re,{class:"withicon-2"+(s?" has":"")+(e.class?" "+e.class:""),value:a[r]||"",hint:e.hint,title:e.title,maxlength:e.maxlength||2048,multi:e.multi,actions:[{icon:"plus",onClick:()=>{t.chooser=!t.chooser,be.redraw()}}],onchange:e=>{e=e.split("\n").join(" ").trim(),a[r]=e,be.redraw()}})],...m||g?[be(".flexrow.wrap.paramgroup",[...m?[be(Kt,{meta:f,metaKeys:h,parameters:u,onchange:()=>{delete l.calc,be.redraw()},AssetButton:e.AssetButton,CodeMirror:e.CodeMirror})]:[],...g?[be(".flexbreak"),be(_t,{class:"col-6 grows innerlabel",title:"size x",min:0,max:100,step:.1,relative:!0,value:parseFloat(l.w)||0,onchange:e=>{l.w=e,be.redraw()}}),be(_t,{class:"col-6 grows innerlabel",title:"size y",min:0,max:100,step:.1,relative:!0,value:parseFloat(l.h)||0,onchange:e=>{l.h=e,be.redraw()}})]:[]])]:[],...t.chooser&&o?[be(Ft,{entity:e.entity,template:o,type:a.type,layer:a,onClick:e=>{t.chooser=!1,a[r]="object"==typeof e.value?tt(e.value):e.value,e.color&&i&&(a[i]=e.color),be.redraw()}})]:[],...s?n:[]])});const Bt=Ie(({attrs:e,children:t})=>be("header.col-12.noselect",{id:"header","aria-label":"Overlay Studio Banner"},[be("nav.header-title",{"aria-label":"Main Toolbar"},[be("figure.app-logo",{"aria-label":"Nebular Overlay Studio Logo",onclick:e.logoClick}),...e.rootTitle?[be("h3.root-title",{onclick:e.rootTitleClick},e.rootTitle)]:[],...e.title?[be("h3.grows.apptitle",{onclick:e.titleClick},e.title)]:[be(".grows","")],...e.help?[be("a",{target:"help",href:"help"},"Help")]:[],...e.version?[be("span",{id:"version"},"version "+e.version)]:[],...t||[]])])),{localStorage:Ut}=window,Wt={},qt="obst.skin";function Jt(e,t){if(Wt[e]!==t){Wt[e]=t;try{Ut[qt]=JSON.stringify(Wt)}catch(e){}}}function Gt(e,t){const n=Wt[e];return void 0===n?t:n}!function(){try{const e=Ut[qt];if(e){const t=JSON.parse(e);Object.assign(Wt,t)}}catch(e){}}();const Xt={locale:"english",defaultRootService:"overlays",rootService:"overlays",defaultScreenRootTitle:"Overlay SDK"};var Zt={exports:{}};!function(e){e.exports=function(e){var t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),n={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function a(e,t,a){var r=n[a];return Array.isArray(r)&&(r=r[t?0:1]),r.replace("%d",e)}var r={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(e){return e+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a}};return t.default.locale(r,null,!0),r}(xe)}(Zt);var Qt=n(Zt.exports),en={exports:{}};!function(e){e.exports=function(e){var t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),n={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return e+(1===e?"er":"")}};return t.default.locale(n,null,!0),n}(xe)}(en);var tn=n(en.exports),nn={exports:{}};!function(e){e.exports=function(e){var t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),n={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:function(e){return e+"º"}};return t.default.locale(n,null,!0),n}(xe)}(nn);var an=n(nn.exports),rn={exports:{}};!function(e){e.exports={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}}}(rn);var on=n(rn.exports);function ln(e,t=!0){switch(Xt.locale=e,Jt("locale",Xt.locale),e){case"spanish":ke.locale(an);break;case"french":ke.locale(tn);break;case"german":ke.locale(Qt);break;default:ke.locale(on)}t&&(document.dispatchEvent(new CustomEvent("locale",{detail:{locale:Xt.locale}})),be.redraw())}const sn={english:"🇬🇧",german:"🇩🇪",spanish:"🇪🇸",french:"🇫🇷"},cn=Ie(({children:e})=>be(".boxstuff-right.flexrow.status",[be(Ae,{"aria-label":"language",class:"localebutton",title:"Change application language",text:sn[Xt.locale||"english"],onClick:()=>Xe(document.body,{},Object.keys(sn).map(e=>({text:e}))).then(e=>{ln(e.action.text)}).catch(e=>{})}),be(Ae,{"aria-label":"skin",class:"skinbutton",title:"Change application skin between dark mode, light mode or automatic",icon:"dark"===Xt.skin?"sun":"light"===Xt.skin?"moon":"umbrella",onClick:()=>{Xt.skin="dark"===Xt.skin?"light":"light"===Xt.skin?"auto":"dark",Jt("skin",Xt.skin),document.body.classList.toggle("skin-dark","dark"===Xt.skin),document.body.classList.toggle("skin-light","light"===Xt.skin),be.redraw()}}),...e])),un=Ie(({attrs:e})=>be(Bt,{...e.rootTitle&&{rootTitle:e.rootTitle,rootTitleClick:()=>be.route.set(`/${Xt.defaultRootService}`)},...e.title&&{title:e.title,titleClick:()=>be.route.set(`/${e.link}`)}},be(cn)),void 0,void 0,void 0,({attrs:e,state:t})=>{const n=`${e.title} - ${e.rootTitle}`;t.title!==n&&(document.title=t.title=n)});window.addEventListener("load",()=>{document.dispatchEvent(new CustomEvent("locale",{detail:{locale:Xt.locale}}))});let dn={};const fn=Ie(({children:e})=>[e]),hn=Ie(({attrs:e,state:t})=>{const{defaultScreenTitle:n,defaultScreenRootTitle:a,rootService:r}=Xt;let i=r;return r&&!dn[r]&&(i=Xt.defaultRootService),[be(un,{title:e.serviceAttrs?.screenTitle||n,rootTitle:e.serviceAttrs?.screenRootTitle||a,link:`${e.service}/${e.section}`}),be(".flexcol.ohidden.grows.scrolly.outercontent",be(".flexcol.grows.noshrink.innercontent",t.loadingContent?[be(Ee,{icon:"sync.fa-spin",size:2,class:"pad-2"})]:[...Xt.rootService&&dn[i]?[be(fn,be(dn[i],{service:e.service,...e.serviceScreen&&{serviceAttrs:e.serviceAttrs,serviceScreen:e.serviceScreen},...e.section&&{section:e.section},...e.key&&{key:e.key},...e.panel&&{panel:e.panel}}))]:[be(Ee,{size:2,icon:"sad-tear",message:"Select a service to continue"})]]))]},({attrs:e})=>{document.body.classList.toggle("skin-dark","dark"===Xt.skin),document.body.classList.toggle("skin-light","light"===Xt.skin),Xt.rootService=e.service?e.service:e.serviceAttrs?.service?e.serviceAttrs.service:be.route.get().split("/")[1]}),pn={english:{list:"Templates",preview:"Preview",phasePlay:"Playing",buttonAck:"Acknowledge",confirmYes:"YES",confirmNo:"NO",confirmDelete:"Delete this item?",previewOf:"Preview of",noValues:"This template does not expose configurable values.",titleOverlayTemplates:"Overlay Templates",descriptionOverlayTemplates:"Browse the templates in this local repository and select one to preview and edit its parameters.",dragAndDropVideo:"Tip: Drop a video from your computer to preview it",defaultInstructions:"Adjust the template parameters and inspect the result in the live preview.",noTemplates:"No overlay templates are available"},german:{list:"Vorlagen",preview:"Vorschau",phasePlay:"Spielbetrieb",buttonAck:"Bestätigen",confirmYes:"JA",confirmNo:"NEIN",confirmDelete:"Dieses Element löschen?",previewOf:"Vorschau von",noValues:"Diese Vorlage stellt keine konfigurierbaren Werte bereit.",titleOverlayTemplates:"Overlay-Vorlagen",descriptionOverlayTemplates:"Durchsuchen Sie die Vorlagen in diesem lokalen Repository und wählen Sie eine aus, um sie in der Vorschau anzuzeigen und ihre Parameter zu bearbeiten.",dragAndDropVideo:"Tipp: Ziehen Sie ein Video von Ihrem Computer in den Vorschaubereich",defaultInstructions:"Passen Sie die Template-Parameter an und prüfen Sie das Ergebnis in der Live-Vorschau.",noTemplates:"Keine Overlay-Templates verfügbar"},spanish:{list:"Plantillas",preview:"Vista previa",phasePlay:"En juego",buttonAck:"Aceptar",confirmYes:"SÍ",confirmNo:"NO",confirmDelete:"¿Eliminar este elemento?",previewOf:"Vista previa de",noValues:"Esta plantilla no ofrece valores configurables.",titleOverlayTemplates:"Plantillas de overlay",descriptionOverlayTemplates:"Explora las plantillas de este repositorio local y selecciona una para previsualizarla y editar sus parámetros.",dragAndDropVideo:"Consejo: Arrastra un vídeo de tu ordenador para previsualizarlo",defaultInstructions:"Ajusta los parámetros de la plantilla y comprueba el resultado en la vista previa en directo.",noTemplates:"No hay plantillas de overlay disponibles"},french:{list:"Modèles",preview:"Aperçu",phasePlay:"En jeu",buttonAck:"Confirmer",confirmYes:"OUI",confirmNo:"NON",confirmDelete:"Supprimer cet élément ?",previewOf:"Aperçu de",noValues:"Ce modèle ne propose aucune valeur configurable.",titleOverlayTemplates:"Modèles d’overlay",descriptionOverlayTemplates:"Parcourez les modèles de ce dépôt local et sélectionnez-en un pour le prévisualiser et modifier ses paramètres.",dragAndDropVideo:"Astuce : Déposez une vidéo de votre ordinateur pour la prévisualiser",defaultInstructions:"Ajustez les paramètres du modèle et vérifiez le résultat dans l’aperçu en direct.",noTemplates:"Aucun modèle d’overlay n’est disponible"}};let mn=pn[Xt.locale]||pn.english;const gn={view:({attrs:e})=>be(hn,{...e,service:"overlays",serviceAttrs:{screenTitle:mn[e.section],section:e.section,link:`/overlays/${e.section}`}})};document.addEventListener("locale",e=>((e="english")=>{mn=pn[e]||pn.english})(e.detail.locale));const vn=Ie(({attrs:e})=>{const{value:t,field:n,element:a,emptyMessage:r,chooseKey:i,chooseDict:o}=e,l=!e.choose&&i&&o?o[i]:e.choose,s=l?l.map(e=>({value:e,caption:e})):e.choices||{},c=Array.isArray(t)?t:[],u=Object.keys(s),d=Math.max(1,Math.trunc(Number(e.rows)||1)),f=Math.max(1,Math.trunc(Number(e.cols)||Math.ceil(u.length/d)||1)),h=Boolean(e.responsive),p=e.minCellWidth||"3rem",m=h?`repeat(auto-fit, minmax(min(100%, max(${p}, ${100/f+"%"})), 1fr))`:`repeat(${f}, minmax(0, 1fr))`,g=(e.class||"")+(e.subclass?` ${e.subclass}`:" scaff scaff-b1");return u.length||r?be((a||"div")+".buttonchoice.flexrow.ohidden",{class:g+(e.icon?` withicon fa-${e.icon}`:""),title:e.title},be(".grows.ohidden"+(e.icon?".scaff-left":""),{style:{display:"grid",gridTemplateColumns:m}},u.length?u.map(t=>{const a=s[t],r=e.raw&&n?a:a.value,i=n?r[n]:r,o=c.includes(i);return be(Ae,{icon:a.icon||void 0,class:"grows scaff-b0 "+(e.buttonClass?`${e.buttonClass} `:"rectbutton unitheightsmall ")+(a.class?`${a.class} `:"")+(o?"accent":""),title:o?a.titleOn||a.title:a.titleOff||a.title,"aria-pressed":String(o),onClick:n=>{const r=o?c.filter(e=>e!==i):[...c,i];e.onchange?.(r,a,t,n),be.redraw()}},e.render?e.render(a):a.caption||t)}):[be(".emptychoice.grows.al-center.align-self-center.unitheightsmall",r)])):[]}),yn={set:[],selector:1,action:0,date:0},bn={set:"col-12",choose:"col-6",multi:"col-12",number:"col-3"};function wn(e,t){return String(t).split("/").reduce((e,t)=>e?.[t],e)}function xn(e){return String(e).split("/").pop()}function kn(e,t,n){const a=String(t).split("/");let r=e;a.forEach((e,t)=>{t===a.length-1?r[e]=n:r=r[e]||={}})}function Cn(e,t={}){const n=structuredClone(t);return Object.entries(e).forEach(([e,t])=>{const a=t?.source||e;void 0===wn(n,a)&&kn(n,a,structuredClone(t?.default??yn[t.type]??""))}),n}const _n=Ie(({attrs:e,state:t})=>{t.onChange=e.onChange,e.values===t.sourceValues&&e.meta===t.sourceMeta||t.refreshValues(e);const n=Object.entries(e.meta||{}).filter(([t,n])=>!n.phase||e.isPlaying&&"play"===n.phase||!e.isPlaying&&"edit"===n.phase).filter(([t,n])=>{return!(a=n.when)||!a.key||void 0===a.is||null===a.is||wn(e.values,a.key)===a.is;var a});return n.length?be(".overlay-values-fields",{class:e.class},n.map(([n,a])=>[be(".label.overlay-values-field",{class:a.size>0?`col-${a.size}`:bn[a.type]||a.container||""},[be("span",a.label||xn(a.source||n)),(Ln[a.type]||Ln.string)(a.source||n,a,t,e)]),...a?.break?[be(".flexbreak")]:[]])):be(".overlay-values-empty",e.emptyMessage)},({attrs:e,state:t})=>{Object.assign(t,{refreshValues:e=>{t.sourceValues=e.values,t.sourceMeta=e.meta,t.value=Cn(e.meta,e.values)},change:(e,n)=>{kn(t.value,e,n),t.onChange?.(t.value,e)}}),t.onChange=e.onChange,t.refreshValues(e)}),Mn=Ie(({attrs:e,state:t})=>be(".flexcol.big.gap-2.overlay-values-selector",{title:e.hint},[...e.items.length>0?[be(ht,{class:"plusminus",min:1,max:e.items.length,value:t.index,buttonClass:"unitsize transp",iconMinus:"caret-left",iconPlus:"caret-right",parser:t=>`${t} / ${e.items.length}`,onchange:n=>{t.index=n,t.item=e.items[t.index-1],e.onchange(n)}}),...e.fields?.length?e.fields.map(e=>be(".param-field",t.item[e]??"")):[]]:[]]),({attrs:e,state:t})=>{const n=Number(e.index);t.index=e.items?.length?n>=1&&n<=e.items.length?n:1:0,t.item=t.index>=1?e.items[t.index-1]:null}),Sn=Ie(({attrs:e,state:t})=>(Object.assign(t,{onChange:e.onChange,meta:e.meta}),e.items!==t.items&&t.refreshItems(e),be(".flexcol.big.gap-2.overlay-values-set",{title:e.hint},[...t.index>=0?[be(ht,{min:0,max:t.items.length-1,value:t.index,iconMinus:"caret-left",iconPlus:"caret-right",parser:e=>`${e+1} / ${t.items.length}`,onchange:e=>{t.setItem(e)}})]:[],...t.item?[be(_n,{meta:e.meta,values:t.item,emptyMessage:t.emptyMessage,isPlaying:!!e.isPlaying,onChange:(n,a)=>{t.setItem(t.index,n),e.onChange?.(t.items)},STR:e.STR})]:[],be(".flexrow.lowerbar.gap-1",[...!e.max||t.items.length<e.max?[be(Ae,{class:"unitheightsmall grows button",icon:"plus",onClick:()=>t.addItem()})]:[],...t.items.length>0&&t.index>=0?[be(Ae,{class:"unitheightsmall grows button",icon:"trash",onClick:()=>Ze(e.STR.confirmDelete,()=>t.deleteItem(t.index),void 0,e.STR.confirmYes,e.STR.confirmNo)})]:[]])])),({attrs:e,state:t})=>{Object.assign(t,{setItem:(e,n)=>{t.index=0===t.items.length?-1:Math.min(Math.max(e,0),t.items.length-1),void 0!==n&&(t.items[t.index]=n),t.item=t.items[t.index],be.redraw()},deleteItem:e=>{e>=0&&e<t.items.length&&(t.items.splice(e,1),t.setItem(Math.min(e,t.items.length-1)),t.onChange?.(t.items))},addItem:()=>{t.items.push(Cn(t.meta)),t.setItem(t.items.length-1),t.onChange?.(t.items)},refreshItems:e=>{t.items=e.items||[],t.index=t.items.length?Math.min(Math.max(e.index??t.index??0,0),t.items.length-1):-1,t.item=t.items[t.index]}}),t.onChange=e.onChange,t.meta=e.meta,t.refreshItems(e)}),Tn=e=>null!=e&&!isNaN(e),An=e=>{if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?"":new Date(t.getTime()-6e4*t.getTimezoneOffset()).toISOString().slice(0,19)},En=e=>{if(Array.isArray(e)&&e.length)return"string"==typeof e[0]?{choose:e}:e[0].value&&e[0].caption?{choices:e}:{choose:[]}},Ln={action:(e,t,n)=>be(Ae,{class:"button param-button"+(t.class?" "+t.class:""),icon:t.icon,text:t.text,title:t.hint,onClick:()=>n.change(e,Date.now(),!0)}),reset:(e,t,n)=>be(Ae,{class:"button param-button"+(t.class?" "+t.class:""),icon:t.icon,text:t.text,title:t.hint,onClick:()=>{for(const[e,a]of Object.entries(t.values))n.change(e,a);be.redraw()}}),set:(e,t,n,a)=>be(Sn,{class:"param-set"+(t.class?" "+t.class:""),meta:t.meta,max:t.max,hint:t.hint,isPlaying:a.isPlaying,items:wn(n.value,e)??[],onChange:t=>n.change(e,t),STR:a.STR}),selector:(e,t,n)=>be(Mn,{items:wn(n.value,t.set)??[],index:wn(n.value,e)??0,fields:t.include,onchange:t=>n.change(e,t)}),string:(e,t,n)=>t.readonly?be("div.static",wn(n.value,e)??t.hint??""):be("input",{class:"param-input param-string"+(t.class?" "+t.class:""),type:"text",value:wn(n.value,e)??"",...t.hint&&{placeholder:t.hint},...t.maxLength>=1&&{maxLength:t.maxLength},onchange:t=>{n.change(e,t.target.value)}}),date:(e,t,n)=>t.readonly?be("div.static",new Date(wn(n.value,e)).toLocaleString()):be("input",{class:"param-input param-date"+(t.class?" "+t.class:""),type:"datetime-local",step:1,value:An(wn(n.value,e)),...t.hint&&{placeholder:t.hint},onchange:t=>{const a=t.target.value;a&&n.change(e,new Date(a).getTime())}}),number:(e,t,n)=>t.readonly?be("div.static",{class:"param-static"+(t.class?" "+t.class:"")},wn(n.value,e)??t.hint??""):be("input",{type:"number",class:"param-input param-number"+(t.class?" "+t.class:""),...Tn(t.min)&&{min:t.min},...Tn(t.max)&&{max:t.max},...t.hint&&{placeholder:t.hint},value:wn(n.value,e)??"",oninput:t=>n.change(e,t.target.value)}),range:(e,t,n)=>be(_t,{min:Tn(t.min)?t.min:0,max:Tn(t.max)?t.max:100,step:Tn(t.step)&&t.step>0?t.step:1,class:"grows innerlabel param-range",value:wn(n.value,e)??(Tn(t.min)?t.min:0),hint:t.hint,onchange:t=>{n.change(e,t)}}),choose:(e,t,n)=>be(je,{class:"param-choose col-12",subclass:"param-choose",buttonClass:"unitheight",toggle:!1,icon:t.icon,...En(t.choose),title:t.hint,value:wn(n.value,e),onchange:t=>{const a=t&&t.value;n.change(e,a)}}),select:(e,t,n)=>be("select",{title:t.hint,value:wn(n.value,e),class:"param-select",onchange:t=>{const a=t.target.value;n.change(e,a)}},t.choose.map(e=>"object"==typeof e&&e.value?be("option",{value:e.value},e.caption||e.value):be("option",{value:e},String(e)))),multi:(e,t,n)=>be(vn,{cols:t.cols||5,rows:t.rows||void 0,subclass:"param-multi",responsive:!!t.responsive,minCellWidth:t.minCellWidth||"2.54rem",title:t.hint,icon:t.icon,choose:t.choose,value:wn(n.value||t.default,e),onchange:t=>{n.change(e,t)}}),color:(e,t,n)=>be(dt,{class:"grows "+(t.class||"unitheight"),color:wn(n.value||t.default,e),caption:t.caption,noalpha:!!t.noalpha,remove:!!t.remove,onchange:t=>{n.change(e,t)}})};async function Dn(e){const t=await fetch(e,{cache:"no-store"});if(!t.ok)throw new Error(await t.text()||`Request failed with status ${t.status}`);return t.json()}function $n(e){const t=window.__NEBULAR_OVERLAY_PREVIEW__||{};if(!t.templateOrigin)throw new Error("The local template server is not configured");return`${t.templateOrigin}/templates/${function(e){return String(e).split("/").map(encodeURIComponent).join("/")}(e)}/`}let On=pn[Xt.locale]||pn.english,In=null,Nn=null;const jn="list",zn="preview";function Pn(e){const t=String(e).indexOf("/");return t<0?"":String(e).slice(0,t)}function Yn(e,t){return xn(t?e.slice(t.length+1):e)}function Rn(e,t={}){const n=new URL(e.src,window.location.href).origin;e.contentWindow?.postMessage({type:"nebular-overlay:update",values:structuredClone(t)},n)}function Vn(e,t){e.error=t}function Hn(e,t){be.route.set(`/overlays/${e}`,t)}function Fn(e){return Array.from(e.dataTransfer?.types||[]).includes("Files")}document.addEventListener("dragover",e=>{Fn(e)&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")}),document.addEventListener("drop",e=>{var t;Fn(e)&&(e.preventDefault(),t=Array.from(e.dataTransfer.files).find(e=>e.type.startsWith("video/")),t?.type.startsWith("video/")&&(Nn&&URL.revokeObjectURL(Nn),Nn=URL.createObjectURL(t),be.redraw()))}),window.addEventListener("beforeunload",()=>{Nn&&URL.revokeObjectURL(Nn)});const Kn=Ie(({attrs:e})=>be(Ee,{icon:"layer-group",size:2,message:e.state?.error||e.message},e.action?be(Ae,{icon:"layer.group",class:"button marg-1",text:On.buttonAck,onClick:e.action}):[])),Bn=Ie(()=>be(Ee,{icon:"sync.fa-spin",size:2})),Un=Ie(()=>be(Ae,{"aria-label":"Go back to Templates",class:"button backbutton h-100",icon:"caret-left.fa-2x",onClick:()=>Hn(jn)})),Wn=Ie(({attrs:e,children:t})=>[...t,be(".overlay-preview",{oncreate:({dom:e,state:t})=>{t.cleanup=function(e){const t=new ResizeObserver(([t])=>{const n=Math.min(t.contentRect.width/1920,t.contentRect.height/1080);e.style.setProperty("--preview-scale",n)});return t.observe(e),()=>t.disconnect()}(e)},onremove:({state:e})=>e.cleanup?.()},[...e.backgroundUrl?[be("video.overlay-preview-background",{src:e.backgroundUrl,autoplay:!0,muted:!0,loop:!0,playsinline:!0})]:[],be("iframe",{src:$n(e.template),title:`${On.previewOf} ${e.template}`,sandbox:"allow-scripts allow-same-origin",onload:t=>{t.redraw=!1,Rn(t.target,e.values),e.onReady?.(t.target)},onremove:()=>e.onReady?.(null)})])]),qn=Ie(({attrs:e,state:t})=>be("section.overlay-values-editor",{"aria-label":"Editor for Overlay Parameters"},[be(".flexrow.overlay-values-title.wrap",[be(".grows",[be(".flexrow",[be("h3.grows",e.title),be(et,{text:On.phasePlay,onchange:e=>{t.isPlaying=Boolean(e)}})]),be("p",e.description)])]),be(_n,{meta:e.meta,values:e.values,emptyMessage:On.noValues,onChange:e.onChange,isPlaying:t.isPlaying,STR:On})])),Jn=Ie(({attrs:e})=>be("nav.flexcol.overlay-category-list.fadein",{"aria-label":"Template categories"},function(e){const t=new Map;for(const n of e){const e=Pn(n);t.set(e,(t.get(e)||0)+1)}return[{id:null,name:"All",count:e.length,icon:"th-large"},...[...t.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({id:e,name:e?xn(e):"Uncategorized",count:t,icon:e?"folder":"file"}))]}(e.templates).map(e=>be("button.flexrow.overlay-category",{type:"button",class:In===e.id?"active":"",onclick:()=>{In=e.id},"aria-label":`Category ${e.name}, total ${e.count}`},[be(Se,{icon:e.icon,size:1}),be("span.grows",e.name),be("span.overlay-category-count",e.count)])))),Gn=Ie(({state:e})=>{return be("section.flexcol.grows.h-100.w-100.overlay-content",{"aria-label":"Template Selection Screen"},[be("header.flexrow.overlay-title",[be(".grows.flexcol",[be("h2",On.titleOverlayTemplates),be("p",be.trust(On.descriptionOverlayTemplates))])]),e.error?be(Kn,{state:e}):e.loading?be(Bn):e.templates?.length?be(".overlay-template-browser",[be(Jn,{templates:e.templates}),be(".overlay-template-grid",{"aria-label":"List of local templates"},(t=e.templates,n=In,null==n?t:t.filter(e=>Pn(e)===n)).map(e=>be("article.overlay-template-card.fadein.clickable",{"aria-label":`Template ${e}`,title:"Open local preview",onclick:()=>Hn(zn,{template:e})},be(Wn,{template:e},[be(".flexrow.overlay-template-copy",[be(".grows.ohidden",[be("h3",Yn(e,In)),be("code",e)])])]))))]):be(Ee,{icon:"layer-group",size:2,message:On.noTemplates})]);var t,n},async({state:e})=>{e.loading=!0;try{e.templates=(t=await Dn("/api/templates"),Array.isArray(t?.templates)?t.templates:[]).sort(),null===In||e.templates.some(e=>Pn(e)===In)||(In=null)}catch(t){Vn(e,t.message||"Unable to load overlay templates")}finally{e.loading=!1,be.redraw()}var t}),Xn=Ie(({attrs:e,state:t})=>be("section.flexcol.overlay-content.h-100.w-100.grows",[be("header.flexrow.overlay-title",[be(Un),be(".grows.flexcol",[be("h2",xn(e.template)),be("code",e.template)])]),t.error?be(Kn,{state:t,action:()=>Hn(jn)}):t.loading?be(Bn):be(".overlay-details-grid.fadein",[be(qn,{title:xn(e.template),description:t.instructions||On.defaultInstructions,meta:t.meta,values:t.templateValues,onChange:e=>{t.templateValues=e,t.previewIframe&&Rn(t.previewIframe,e)}}),be("article.overlay-template-card",{"aria-label":"Template Preview"},[be(Wn,{template:e.template,values:t.templateValues,backgroundUrl:Nn,onReady:e=>{t.previewIframe=e,e&&Rn(e,t.templateValues)}}),be(".tip",On.dragAndDropVideo)])])]),async({attrs:e,state:t})=>{t.loading=!0;try{!function(e,t){t.meta=e?.meta||{},t.instructions=e?.instructions||null}(await(n=e.template,Dn(`/api/manifest?id=${encodeURIComponent(n)}`)),t),t.templateValues=Cn(t.meta)}catch(e){Vn(t,e?.message||"Unable to load template manifest")}finally{t.loading=!1,be.redraw()}var n}),Zn=Ie(({attrs:e})=>{if(e.section===zn){const e=be.route.param("template");return be(".flexrow.ohidden.maincontainer.grows.overlay-service",[e?be(Xn,{template:e}):be(Gn)])}if(e.section===jn)return be(".flexrow.ohidden.maincontainer.grows.overlay-service",[be(Gn)]);Hn(jn)});document.addEventListener("locale",e=>((e="english")=>{On=pn[e]||pn.english})(e.detail.locale));const Qn={overlays:Zn};var ea;be.route.prefix="?",ke.extend(_e),window.addEventListener("contextmenu",e=>e.preventDefault()),dn=Qn,Xt.skin=Gt("skin"),ln(Gt("locale")||"english",!1),ea=function(){var e;document.body.classList.toggle("skin-dark","dark"===Xt.skin),document.body.classList.toggle("skin-light","light"===Xt.skin),e={default:"/",routes:{"/":gn,"/overlays/:section":gn,"/overlays/:section/:key":gn,"/overlays/:section/:key/:panel":gn,"/:service":hn}},be.route(document.getElementById("ui"),e.default||"/",e.routes)},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",ea):ea()}();
|
package/preview/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ptype_combo .combovalue span{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combowidget .icon{flex-shrink:0;margin:0;padding:0!important;width:var(--unitsize)}.combowidget button{padding:0}.combovalue,.combowidget{font-variant:all-small-caps;overflow:hidden}:root{--unitsize-mini:1.25rem;--unitsize-small:2rem;--unitsize:2.54rem}.bg-accent-light{background:var(--accent-light)!important}.bg-window-lo{background:var(--window-background-lo)!important}.bg-window-hi{background:var(--window-background-hi)!important}*{box-sizing:border-box}.pad-0{padding:0}.pad-1{padding:.25rem}.pad-3{padding:.75rem}.pad-4{padding:1rem}.pad-5{padding:1.25rem}.pad-6{padding:1.5rem}.pad-7{padding:1.75rem}.pad-8{padding:2rem}.pad-h{padding-bottom:0!important;padding-top:0!important}.pad-v{padding-left:0!important;padding-right:0!important}.marg-0{margin:0}.marg-1{margin:.25rem}.marg-2{margin:.5rem}.marg-3{margin:.75rem}.marg-4{margin:1rem}.marg-5{margin:1.25rem}.marg-6{margin:1.5rem}.marg-7{margin:1.75rem}.marg-8{margin:2rem}.marg-t{margin-bottom:0!important}.marg-b,.marg-t{margin-left:0!important;margin-right:0!important}.marg-b{margin-top:0!important}.marg-l{margin-right:0!important}.marg-l,.marg-r{margin-bottom:0!important;margin-top:0!important}.marg-r{margin-left:0!important}.marg-h{margin-bottom:0!important;margin-top:0!important}.marg-v{margin-left:0!important;margin-right:0!important}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}.al-right{text-align:right}.al-center{text-align:center}.no-marg-top{margin-top:0!important}.no-marg-bottom{margin-bottom:0!important}.no-marg-right{margin-right:0!important}.no-marg-left{margin-left:0!important}.no-pad-top{padding-top:0!important}.no-pad-bottom{padding-bottom:0!important}.no-pad-left{padding-left:0!important}.no-pad-right{padding-right:0!important}.order-first{order:-1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.to-top{bottom:auto!important;top:0}.to-bottom{bottom:0;top:auto!important}.to-left{left:0;right:auto!important}.to-right{left:auto!important;right:0}.absolute.right{right:0}.absolute.bottom{bottom:0}.scrollx::-webkit-scrollbar,.scrolly::-webkit-scrollbar{display:none}.scrollx{-
|
|
1
|
+
.ptype_combo .combovalue span{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combowidget .icon{flex-shrink:0;margin:0;padding:0!important;width:var(--unitsize)}.combowidget button{padding:0}.combovalue,.combowidget{font-variant:all-small-caps;overflow:hidden}:root{--unitsize-mini:1.25rem;--unitsize-small:2rem;--unitsize:2.54rem}.bg-accent-light{background:var(--accent-light)!important}.bg-window-lo{background:var(--window-background-lo)!important}.bg-window-hi{background:var(--window-background-hi)!important}*{box-sizing:border-box}.pad-0{padding:0}.pad-1{padding:.25rem}.pad-3{padding:.75rem}.pad-4{padding:1rem}.pad-5{padding:1.25rem}.pad-6{padding:1.5rem}.pad-7{padding:1.75rem}.pad-8{padding:2rem}.pad-h{padding-bottom:0!important;padding-top:0!important}.pad-v{padding-left:0!important;padding-right:0!important}.marg-0{margin:0}.marg-1{margin:.25rem}.marg-2{margin:.5rem}.marg-3{margin:.75rem}.marg-4{margin:1rem}.marg-5{margin:1.25rem}.marg-6{margin:1.5rem}.marg-7{margin:1.75rem}.marg-8{margin:2rem}.marg-t{margin-bottom:0!important}.marg-b,.marg-t{margin-left:0!important;margin-right:0!important}.marg-b{margin-top:0!important}.marg-l{margin-right:0!important}.marg-l,.marg-r{margin-bottom:0!important;margin-top:0!important}.marg-r{margin-left:0!important}.marg-h{margin-bottom:0!important;margin-top:0!important}.marg-v{margin-left:0!important;margin-right:0!important}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}.al-right{text-align:right}.al-center{text-align:center}.no-marg-top{margin-top:0!important}.no-marg-bottom{margin-bottom:0!important}.no-marg-right{margin-right:0!important}.no-marg-left{margin-left:0!important}.no-pad-top{padding-top:0!important}.no-pad-bottom{padding-bottom:0!important}.no-pad-left{padding-left:0!important}.no-pad-right{padding-right:0!important}.order-first{order:-1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.to-top{bottom:auto!important;top:0}.to-bottom{bottom:0;top:auto!important}.to-left{left:0;right:auto!important}.to-right{left:auto!important;right:0}.absolute.right{right:0}.absolute.bottom{bottom:0}.scrollx::-webkit-scrollbar,.scrolly::-webkit-scrollbar{display:none}.scrollx{-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:auto!important;overflow-y:hidden;scrollbar-width:none}.scroll,.scrollx{-webkit-overflow-scrolling:touch}.scroll{overflow:auto!important}.monospace{font-family:monospace;white-space:pre-wrap}.font-50{font-size:.5rem}.font-150{font-size:1.5rem}.font-100{font-size:1rem}.vcenter{vertical-align:middle}.shadow-1{box-shadow:0 0 1px var(--shadow-color);z-index:100}.shadow-2{box-shadow:0 0 2px var(--shadow-color);z-index:100}.shadow-3{box-shadow:0 0 3px var(--shadow-color);z-index:100}.shadow-4{box-shadow:0 0 4px var(--shadow-color);z-index:100}.pointer{cursor:pointer}.flexcenter{align-self:center;justify-content:center}.flexaround{justify-content:space-around}.flexeven{justify-content:space-evenly}.flexbreak{margin:0!important;padding:0!important}.scrolly{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;scrollbar-width:none}.ohidden{overflow:hidden}.flex-al-center{align-items:center}.flex-al-end{align-items:flex-end}.flex-sal-center{align-self:center}.flex-sal-end{align-self:flex-end}.wrap{flex-wrap:wrap}.growsheight{flex-grow:1;height:50%}.flexbreak{flex-basis:100%;height:0}.flexrow.rev{flex-direction:row-reverse}.flexcol.rev{flex-direction:column-reverse}.fullwidth{width:100%}.fullheight{height:100%}.halfwidth{width:50%}.halfheight{height:50%}.fitheight{height:fit-content}.fitwidth{width:fit-content}.w-max{width:-webkit-fill-available}.w-30{width:30%}.font-125{font-size:1.25rem}.font-75{font-size:.75rem}.unitheight{height:var(--unitsize);line-height:var(--unitsize)}.unitwidth{width:var(--unitsize)}.unitsize{line-height:var(--unitsize)!important;width:var(--unitsize)!important}.unitheight,.unitsize{height:var(--unitsize)!important}.unitheightsmall{height:var(--unitsize-small);line-height:var(--unitsize-small)}.unitsizesmall,.unitwidthsmall{width:var(--unitsize-small)}.unitsizesmall{height:var(--unitsize-small);line-height:var(--unitsize-small)}.w-100{width:100%}.w-75{width:75%}.w-50{width:50%}.w-60{width:60%}.w-40{width:40%}.w-66{width:66.66666%}.w-33{width:33.333333%}.h-100{height:100%}.h-75{height:75%}.h-50{height:50%}.cardiebody{align-items:self-start;display:flex;flex-direction:row}.flexcol{display:flex;flex-direction:column}.flexrow{display:flex;flex-direction:row}.grows{flex-grow:1}.noshrink{flex-shrink:0}.h-100{height:-webkit-fill-available}.w-100{width:-webkit-fill-available}.relative{position:relative}.absolute{position:absolute}.unitheight{height:2.54rem}.scaff-bottom{border-bottom:1px solid var(--border-color)}#modal-container button{background:transparent;border:none;color:var(--text-lo);flex-direction:row;font-size:1.5rem!important;font-variant:all-small-caps;height:2.54rem;position:relative}#modal-container button:active{color:var(--accent)}#modal-container button:hover{color:var(--text)}#modal-container button i{left:0;position:absolute;top:.5rem}#modal-container input{font-size:1.5rem;height:2.54rem;margin-top:.25rem}#modal-container input,.modal-content textarea{background:var(--inputs);border:1px solid var(--border-color)}.modal-content textarea{font-family:inherit;font-size:inherit;max-height:15rem;min-height:5rem;resize:vertical}#modal-container>.modal-content button{text-overflow:ellipsis;white-space:nowrap}#modal-container>.modal-content{background-color:var(--accent-light);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 0 .5rem var(--shadow-color);max-height:75%;max-width:50%;min-width:512px!important;overflow-y:auto;padding:1rem;width:auto!important}#modal-container.iscustom{backdrop-filter:none}.modal-content-popper{background:var(--window-background-hi);border-radius:1rem;box-shadow:0 0 2px var(--shadow-color);padding:2rem}.modal-content h4{margin:1rem}.modal-content .popup input{background:var(--inputs);border:1px solid var(--border-color);border-radius:1rem;color:var(--text);font-size:1.25rem;line-height:var(--unitsize-small);outline:none;padding:0 .75rem}#modaltitle{border-bottom:solid;font-size:1.5rem;font-variant:all-small-caps;margin-bottom:.5rem;margin-top:0;padding-bottom:.5rem;padding-top:0;text-align:center}#modal-container{--accent-light:#333;--text:#ddd;--text-lo:#aaa;align-items:center;bottom:0;color:var(--accent);display:none;font-size:1.25rem;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100000}#modal-container .container{padding:1rem;text-align:right}.witharia:before{color:var(--text-lo);content:attr(aria-label);display:block;font-size:.8em;font-variant:all-small-caps;line-height:100%;padding-bottom:.25rem}.witharia.max:before{width:100%}.witharia.minilabel:before{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);margin-bottom:.5rem;text-align:center;width:100%}.addbut.empty{width:100%}#notification-container{bottom:auto;left:50%;position:fixed;right:auto;top:2.2rem;transform:translateX(-50%);z-index:100000}#notification-container .notification{border-radius:10rem!important;color:var(--accent);font-size:1rem;padding:1rem}#notification-container .notification i{padding:0 1rem}
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
/*!
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
/*!
|
|
15
15
|
* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
|
|
16
16
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
17
|
-
*/@font-face{font-display:block;font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(webfonts/fa-brands-400.woff2) format("woff2")}.buttonchoice>.wrap>button{height:var(--unitsize-small);line-height:var(--unitsize-small);padding:0 .2rem}.buttonchoice.withicon{background:var(--window-background)}.buttonchoice.withicon:before{align-self:center;display:block;flex-grow:0;flex-shrink:0;font-family:Font Awesome\ 5 Free;text-align:center;width:var(--unitsize)}.hud .clrcombo{color:var(--text-lo);font-size:1rem}.combowidget.novalue button{color:var(--text-lo);opacity:.6}.hud .innercard .title .combowidget{background:transparent}.buttonchoice.withicon>.bg-inputs button.accent{background:var(--accent)!important;color:var(--text-over-accent)!important}.buttonchoice.withicon>.bg-inputs button.accent.alt-accent{background:var(--green)!important;color:var(--text-over-accent)!important}.buttonchoice button.alt-accent{background:var(--back-error)}.buttonchoice>div>button{border:0;font-size:1rem;font-variant:all-small-caps;min-width:2rem}.buttonchoice.istoggler>div>button.accent{border-bottom-color:var(--accent)!important}.buttonchoice.istoggler>div>button{border-bottom:solid var(--border-color);color:var(--text-lo);transition:all .25s ease-in-out}.hud .tgbutton.accent{border-bottom-color:var(--accent)!important}.hud .tgbutton.accent.important{border-bottom-color:red!important;color:red!important}.hud .tgbutton.accent.warning{border-bottom-color:orange!important;color:orange!important}.hud .tgbutton{border-bottom:solid var(--border-color);color:var(--text-lo);font-size:1rem;transition:all .25s ease-in-out}.choicer>div:before{flex-grow:1;font-family:Font Awesome\ 5 Free}.confhud .choicer:before,ul.sessionevents:before{background:rgba(0,0,0,.1);border-bottom:solid;content:attr(data-title);font-size:1em;font-variant:all-small-caps;font-weight:700;margin:0 0 1rem!important;padding:0;text-align:left}.choicer:before{margin:.25rem 0}.combowidget button{font-size:inherit}#hslaValue,#rgbValue{float:right}.cj-container{overflow:auto}#showPicker{float:left}.colorjoe-popper .colorprobe i{position:static!important}.colorjoe-wrapper{background:var(--window-background);border-radius:.5rem;box-shadow:0 0 3px var(--shadow-color);display:flex;left:3%;position:absolute;width:94%;z-index:100002}.colorPicker{--colorjoe-size:200px;display:flex;justify-content:space-evenly}.colorjoe-popper .colorPicker{--colorjoe-size:300px}.underlay{background:transparent;height:100%;left:0;position:fixed;right:0;top:0;z-index:100000}.colorPicker .extras{float:right}.colorPicker .extras .currentColorContainer{overflow:hidden}.colorPicker .extras .currentColor{border:1px solid #bbb;-moz-border-radius:.3em;border-radius:.3em;float:right;height:30px;width:65px}.colorPicker .extras .colorFields{margin-bottom:.5em;margin-top:.5em}.colorPicker .extras .color{text-align:right}.colorPicker .extras .colorFields input{margin-left:.5em;width:40px}.colorPicker .extras .hex{float:right}.colorPicker .extras .hex input{width:60px}.colorPicker .twod{float:left;margin:.5em}.colorPicker .twod,.colorPicker .twod .bg{height:var(--colorjoe-size);width:var(--colorjoe-size)}.colorPicker .oned,.colorPicker .oned .bg{height:var(--colorjoe-size)}.colorPicker .oned,.colorPicker .oned .bg,.colorPicker .oned .pointer .shape{width:20px}.colorPicker .twod .bg{position:absolute}.colorPicker .twod .pointer{position:relative;width:8px;z-index:2}.colorPicker .twod .pointer .shape{position:absolute}.colorPicker .twod .pointer .shape1{border:2px solid #000;-moz-border-radius:5px;border-radius:5px;height:10px;width:10px}.colorPicker .twod .pointer .shape1,.colorPicker .twod .pointer .shape2{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.colorPicker .twod .pointer .shape2{border:2px solid #fff;-moz-border-radius:4px;border-radius:4px;height:8px;width:8px}.colorPicker .oned{float:left;margin:.5em}.colorPicker .oned .bg{border:1px solid #bbb}.colorPicker .oned .pointer{position:relative;z-index:2}.colorPicker .oned .pointer .shape{border:2px solid #000;-moz-border-radius:5px;border-radius:5px;height:5px;margin-left:-1px;margin-top:-4px;position:absolute}.colorPicker .oned .bg{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 66%,#f0f 83%,red)}.colorPicker .twod .bg1{background:linear-gradient(90deg,#fff 0,hsla(0,0%,100%,0));z-index:0}.colorPicker .twod .bg2{background:linear-gradient(180deg,transparent 0,#000);z-index:1}#hslPicker .twod .bg1{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 66%,#f0f 83%,red)}#hslPicker .twod .bg2{background:linear-gradient(180deg,transparent 0,#7f7f7f)}#hslPicker .oned .bg{background:linear-gradient(180deg,#fff 0,transparent 50%,#000);z-index:1}#hslPicker .extras{width:100px}#hslPicker .oned.alpha{margin:0}#hslPicker .oned.alpha .bg,.colorPicker .oned.alpha .bg{background:linear-gradient(180deg,#fff 0,transparent)}.hud .colorjoe-wrapper{background:var(--window-background);box-shadow:none;display:flex;justify-content:space-evenly;left:.25rem;margin:.5rem 0;padding:.6rem 0;position:absolute;right:.25rem;width:auto;z-index:100002}.hud .colorjoe-cell,.hud .colorjoe-wrapper{border:1px solid var(--border-color);border-radius:.25rem}.hud .colorjoe-cell{overflow:hidden}.hud .gradient .colorjoe-cell>.inset{height:-webkit-fill-available;min-width:unset;position:relative}.hud .colorjoe-cell>.inset.titled:before{color:#fff;content:attr(data-caption);display:inline-block;font-size:.75rem;font-variant:all-small-caps;text-align:center;text-shadow:0 0 4px #000;width:100%}.hud .colorjoe-cell.withalt>.inset:after{background:var(--accent);bottom:2px;content:"";height:4px;left:0;position:absolute;width:var(--data-altval)}.hud .colorjoe-cell>.inset{cursor:pointer;height:-webkit-fill-available;min-width:2.54rem}.hud .gradient{border:1px solid var(--border-color);border-radius:.25rem;height:auto}.hud .gradient button{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.hud .gradient button.leftmost{border-radius:.25rem 0 0 .25rem}.hud .gradient>.colorjoe-cell+.colorjoe-cell{border-radius:0}.hud .gradient .colorjoe-cell{border:0;border-radius:0}.hud .underlay{background:transparent;height:100%;left:0;position:fixed;right:0;top:0;z-index:100}.hud .colorjoe-cell.chequered.open{margin-bottom:360px;min-width:300px}.hud .innercard .colorjoe-cell.chequered.open{min-width:260px}.ptype_color{position:relative}.hud .selectfile>input{cursor:pointer;left:0;opacity:0;top:0;z-index:2}.hud .toolz .textfield input{padding-left:2rem}.textfield{position:relative}.textfield input{background:var(--inputs);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text);height:2rem;outline:none!important;padding:0 .2rem}.textfield input.withicon{padding-right:3.5rem}.textfield input.withicon-2{padding-right:3rem}.input-static.withdrag{border:1px solid var(--border-color);cursor:ns-resize;padding:.25rem}.selector.withbodytitle>.bodytitle{border-bottom:solid var(--accent);line-height:var(--unitsize);text-align:center}.mithril-range{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;font-size:1rem;outline:none!important;padding:.7rem .5rem;position:relative;user-select:none;width:100%}.mithril-range:focus .mithril-range-handle{background:var(--accent-alt)!important}.mithril-range-bar{box-sizing:border-box;height:1.2rem;position:relative;width:100%}.mithril-range-bar-0,.mithril-range-bar-1{box-sizing:border-box;height:.5rem;position:absolute;top:.3rem}.mithril-range-bar-1{background-color:var(--accent);border-bottom-left-radius:1rem;border-top-left-radius:1rem;left:0;width:100%;z-index:13}.mithril-range-bar-0{background:var(--mithril-range-scale);border-bottom-right-radius:1rem;border-top-right-radius:1rem;right:0;width:0}.mithril-range-handle{background-color:#fff;border-bottom:0;border-top:0;box-shadow:0 0 4px var(--shadow-color);box-sizing:border-box;display:inline-block;height:.8rem;left:0;margin-top:.05rem;position:absolute;top:.1rem;width:2px}.hud .progstrip{background:var(--window-background-lo);border:1px solid var(--border-color);border-radius:.25rem;cursor:crosshair;height:1.25rem;line-height:1.25rem;margin-bottom:0;margin-top:.5rem}.videocollapsed.ispaused .progstrip>.inner{background:#ff0}.hud .progstrip .cuein,.hud .progstrip .cueout{background:red;width:2px}.hud .progstrip:after{color:#fff;content:attr(data-time) " / " attr(data-total);font-size:.75rem;font-weight:700;mix-blend-mode:difference;position:absolute;text-align:center;width:100%}.withmultiplier .mithril-range-bar-0,.withmultiplier .mithril-range-bar-1,.withmultiplier .mithril-range-handle{transition:.1s linear}.withmultiplier .mithril-range:active *{transition:none!important}.range.disabled{cursor:not-allowed}.range.disabled>.mithril-range .mithril-range-bar-1.nokey{background-color:var(--window-background)}.range.disabled>.mithril-range{opacity:.8;pointer-events:none}.plussep:before{font-family:Font Awesome\ 5 Free;left:1rem;position:absolute}.plussep.contracted:before{color:var(--accent)}.plussep{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);cursor:pointer;padding:.25rem 0;position:relative}.flexcol>.separator{flex-grow:0!important}.hud .smileyswidget{height:100vh}.smileyswidget icons{overflow-x:hidden}.smileyswidget .categories{cursor:pointer;font-size:.75em;padding:0 .5rem;width:20%}.smileyswidget .smiley{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;font-size:3rem;justify-content:center;margin:1px;overflow:hidden;padding:0 .5rem;text-align:center}.font-200{font-size:2rem}.smileyswidget .smiley:active{transform:scale(.9)}.smileyswidget .categories>div{background:var(--window-background);border-radius:.5rem;font-size:.75rem;font-variant:all-small-caps;line-height:1rem;margin:.25rem;padding:.25rem;text-align:center}.smileyswidget .categories.flexrow{border-bottom:1px solid var(--border-color);flex-wrap:wrap;font-size:1rem;justify-content:space-between;padding:.25rem;width:auto}.smileyswidget .textfield{justify-content:center;padding-left:.5rem}.smileyswidget .categories.flexrow>div.isfav{color:#ff0;padding-left:.25rem;padding-right:.35rem;padding-top:.25rem}.hud input.transparent{background:transparent;border:0!important;border-radius:0}.hud .order-end{order:100}.smileyswidget .smiley.fa{padding:.5rem}.hud .templatedinput .paramgroup{background:var(--window-background);border:1px solid var(--border-color);border-radius:.5rem;margin-top:.5rem;overflow:hidden;padding:.5rem .25rem}.hud .templatedinput .paramgroup>div{margin-bottom:.25rem}.hud .separator{flex-grow:1;font-variant:all-small-caps;opacity:.75}.hud .ptype_separator.flexbreak>*{display:none}.hud .ptype_iterakey .separator{margin:.25rem!important}.hud .separator.inlier{background:var(--window-background-lo);text-align:center}.hud .separator.mini{border-bottom:1px solid;margin:.15rem 0}.separator.mini.abark{border-bottom:1px solid var(--border-color);color:var(--accent);font-size:.75rem;font-weight:700;margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem}.hud .separator.outlier{margin-left:-.75rem;margin-right:-.75rem}.hud .separator.outlier-1{margin-left:-.25rem;margin-right:-.25rem}.propsdeck.tab-inter-1{overflow-y:auto}.hud .propsdeck .mk_face.workshop,.hud .propsdeck .mk_workshop{border-bottom:1px solid var(--border-color);padding-bottom:0;padding-top:0}.titlebar{box-shadow:0 0 1px var(--black);font-variant:all-small-caps;margin:0!important;padding-left:0;padding-right:.15rem;z-index:100000}.titlebar span{font-weight:lighter}.titlebar button{background:transparent;border:0;text-align:center;width:2.54rem}.titlebar .title-logo{flex-shrink:0;height:100%;min-width:2.54rem;padding:.25rem;width:auto}.titlebar button.first{margin-right:-.5rem;order:-1}.titlebar .textfield{padding:0}.titlebar .textfield input{background:transparent;border:0;color:var(--text);font-size:inherit;height:100%}.uploadfile input{opacity:0;z-index:100}body{background:var(--background);color:var(--foreground);display:flex;flex-direction:column;font-family:sans-serif;height:100%;margin:0;overflow:hidden;padding:0;position:absolute;width:100%}.flexcol>.flexbreak{display:none}iframe{aspect-ratio:16/9;border:0;width:100%}.align-items-end{align-items:flex-end}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectfile{white-space:normal}.selectfile>input{cursor:pointer;left:0;opacity:0;position:absolute;top:0;z-index:2}.maincontainer{align-items:flex-start}img{-webkit-user-drag:none}video{aspect-ratio:16/9}.modal-content{background-color:#000!important}#notification-container{display:flex;justify-content:center;width:100%}#notification-container .notification{max-width:90%;white-space:normal}@keyframes fadein-filter{0%{filter:opacity(0)}to{filter:opacity(100%)}}.fadein,.fadein-filter{animation:fadein-filter .5s;animation-fill-mode:forwards}video{height:100%;object-fit:contain;width:100%}.scrolly{overflow-y:auto!important}.notice.link{background:var(--background);flex-grow:1;font-family:monospace;margin-bottom:.5rem;padding:.75rem;width:100%;word-break:break-all}h1{color:var(--accent)}h4{font-weight:400;margin-bottom:0;margin-top:0}.mainbusy{opacity:.3;pointer-events:none!important}.cardie.firstlevel{border-left:0!important;border-radius:0!important;border-right:0!important;border-top:0!important;padding:1rem!important}input.invalid{background:#400}input.valid{background:#040}.notice.cardie.help{background:var(--shadow-color);border:0;border-radius:.25rem;padding:1rem}.place-content-center{place-content:center}.gap-4{gap:1rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}ul{margin:0;padding:0}.pad-2{padding:.5rem}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.25);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.4)}.part-left{flex-shrink:0;height:100%;padding:.5rem;width:10rem}.centercontainer,.outercontent{height:100%;height:-webkit-fill-available;width:100%;width:-webkit-fill-available}.centercontainer{background:var(--background-lo);border-left:1px solid var(--border-color)}.part-right{flex-grow:1;padding:0 .5rem;width:50%}.part-mid{flex-shrink:0;min-width:20rem;width:50%}.part-left,.part-right{gap:.5rem}.scaff{border:1px solid var(--border-color)!important}.scaff-b1{border-radius:.25rem}.newnotice{background:var(--background-mid);border:1px solid var(--border-color)!important;border-radius:.5rem;margin-bottom:.5rem}.newnotice i{padding-right:.5rem}a,button{color:var(--text)}button{border:none;cursor:pointer;flex-shrink:0;overflow:hidden;white-space:nowrap}.button{background:var(--buttons);border-radius:.25rem;color:var(--text-over-accent);font-size:.8rem;font-weight:700;min-height:2rem;opacity:.8;text-shadow:0 0 2px #000;transition:all .25s ease-in-out}.button:hover{opacity:1}button.accentbutton-inverse{background:transparent;border:2px solid;border-radius:.5rem;color:var(--accent);line-height:2rem}.button:active{transform:scale(.95)}.buttonchoice>div{border:1px solid var(--border-color);border-radius:.25rem}.buttonchoice button{background:var(--background-lo);color:var(--text)}button.orangebutton{background:var(--accent-grad)!important}button.orangebutton,button.redbutton{color:var(--text-over-accent)!important}button.redbutton{background:var(--red-grad)}button.yellowbutton{background:var(--yellow-grad)}button.greenbutton,button.yellowbutton{color:var(--text-over-accent)!important}button.greenbutton{background:var(--green-grad)}.buttonchoice button.accent{background:var(--accent-grad);color:var(--text-over-accent)}.accentbutton{background:var(--accent-grad);border:0;border-radius:.25rem;color:var(--text-over-accent)!important}button.localebutton{border:0;padding:0}button.localebutton,button.transp{background:transparent}.cardie{align-content:flex-start;background:var(--background-lo);border:1px solid var(--border-color);border-radius:.5rem;flex-shrink:0;padding:0;transition:all .25s linear}.cardie.flexcol>.title{flex-grow:0}.cardie.expanded>.title{border-bottom:1px solid var(--border-color)}.emptywidget{padding:2rem 1rem}.cardie.status{background:none;border-left:0;border-radius:0;border-right:0;border-top:0}.cardie>.title.isexpanded{color:var(--accent)}.cardie>.title.isexpanded:before{color:var(--accent);padding-top:2px;transform:rotate(0deg)}.cardie>.title:before{padding:0 .5rem 0 .25rem;transform:rotate(-90deg);transition:all .25s ease-in-out}.cardie>.title{font-weight:700;transition:color .5s ease-in-out;user-select:none}.launchcell{align-items:center;cursor:pointer;display:flex;height:var(--unitsize-small);white-space:nowrap;width:10rem}.launchcell i{padding:0 .5rem}.launchcell.active{color:var(--accent)}
|
|
17
|
+
*/@font-face{font-display:block;font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(webfonts/fa-brands-400.woff2) format("woff2")}.buttonchoice>.wrap>button{height:var(--unitsize-small);line-height:var(--unitsize-small);padding:0 .2rem}.buttonchoice.withicon{background:var(--window-background)}.buttonchoice.withicon:before{align-self:center;display:block;flex-grow:0;flex-shrink:0;font-family:Font Awesome\ 5 Free;text-align:center;width:var(--unitsize)}.hud .clrcombo{color:var(--text-lo);font-size:1rem}.combowidget.novalue button{color:var(--text-lo);opacity:.6}.hud .innercard .title .combowidget{background:transparent}.buttonchoice.withicon>.bg-inputs button.accent{background:var(--accent)!important;color:var(--text-over-accent)!important}.buttonchoice.withicon>.bg-inputs button.accent.alt-accent{background:var(--green)!important;color:var(--text-over-accent)!important}.buttonchoice button.alt-accent{background:var(--back-error)}.buttonchoice>div>button{border:0;font-size:1rem;font-variant:all-small-caps;min-width:2rem}.buttonchoice.istoggler>div>button.accent{border-bottom-color:var(--accent)!important}.buttonchoice.istoggler>div>button{border-bottom:solid var(--border-color);color:var(--text-lo);transition:all .25s ease-in-out}.hud .tgbutton.accent{border-bottom-color:var(--accent)!important}.hud .tgbutton.accent.important{border-bottom-color:red!important;color:red!important}.hud .tgbutton.accent.warning{border-bottom-color:orange!important;color:orange!important}.hud .tgbutton{border-bottom:solid var(--border-color);color:var(--text-lo);font-size:1rem;transition:all .25s ease-in-out}.choicer>div:before{flex-grow:1;font-family:Font Awesome\ 5 Free}.confhud .choicer:before,ul.sessionevents:before{background:rgba(0,0,0,.1);border-bottom:solid;content:attr(data-title);font-size:1em;font-variant:all-small-caps;font-weight:700;margin:0 0 1rem!important;padding:0;text-align:left}.choicer:before{margin:.25rem 0}.combowidget button{font-size:inherit}#hslaValue,#rgbValue{float:right}.cj-container{overflow:auto}#showPicker{float:left}.colorjoe-popper .colorprobe i{position:static!important}.colorjoe-wrapper{background:var(--window-background);border-radius:.5rem;box-shadow:0 0 3px var(--shadow-color);display:flex;left:3%;position:absolute;width:94%;z-index:100002}.colorPicker{--colorjoe-size:200px;display:flex;justify-content:space-evenly}.colorjoe-popper .colorPicker{--colorjoe-size:300px}.underlay{background:transparent;height:100%;left:0;position:fixed;right:0;top:0;z-index:100000}.colorPicker .extras{float:right}.colorPicker .extras .currentColorContainer{overflow:hidden}.colorPicker .extras .currentColor{border:1px solid #bbb;-moz-border-radius:.3em;border-radius:.3em;float:right;height:30px;width:65px}.colorPicker .extras .colorFields{margin-bottom:.5em;margin-top:.5em}.colorPicker .extras .color{text-align:right}.colorPicker .extras .colorFields input{margin-left:.5em;width:40px}.colorPicker .extras .hex{float:right}.colorPicker .extras .hex input{width:60px}.colorPicker .twod{float:left;margin:.5em}.colorPicker .twod,.colorPicker .twod .bg{height:var(--colorjoe-size);width:var(--colorjoe-size)}.colorPicker .oned,.colorPicker .oned .bg{height:var(--colorjoe-size)}.colorPicker .oned,.colorPicker .oned .bg,.colorPicker .oned .pointer .shape{width:20px}.colorPicker .twod .bg{position:absolute}.colorPicker .twod .pointer{position:relative;width:8px;z-index:2}.colorPicker .twod .pointer .shape{position:absolute}.colorPicker .twod .pointer .shape1{border:2px solid #000;-moz-border-radius:5px;border-radius:5px;height:10px;width:10px}.colorPicker .twod .pointer .shape1,.colorPicker .twod .pointer .shape2{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.colorPicker .twod .pointer .shape2{border:2px solid #fff;-moz-border-radius:4px;border-radius:4px;height:8px;width:8px}.colorPicker .oned{float:left;margin:.5em}.colorPicker .oned .bg{border:1px solid #bbb}.colorPicker .oned .pointer{position:relative;z-index:2}.colorPicker .oned .pointer .shape{border:2px solid #000;-moz-border-radius:5px;border-radius:5px;height:5px;margin-left:-1px;margin-top:-4px;position:absolute}.colorPicker .oned .bg{background:linear-gradient(180deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 66%,#f0f 83%,red)}.colorPicker .twod .bg1{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0));z-index:0}.colorPicker .twod .bg2{background:linear-gradient(180deg,transparent,#000);z-index:1}#hslPicker .twod .bg1{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 66%,#f0f 83%,red)}#hslPicker .twod .bg2{background:linear-gradient(180deg,transparent,#7f7f7f)}#hslPicker .oned .bg{background:linear-gradient(180deg,#fff,transparent 50%,#000);z-index:1}#hslPicker .extras{width:100px}#hslPicker .oned.alpha{margin:0}#hslPicker .oned.alpha .bg,.colorPicker .oned.alpha .bg{background:linear-gradient(180deg,#fff,transparent)}.hud .colorjoe-wrapper{background:var(--window-background);box-shadow:none;display:flex;justify-content:space-evenly;left:.25rem;margin:.5rem 0;padding:.6rem 0;position:absolute;right:.25rem;width:auto;z-index:100002}.hud .colorjoe-cell,.hud .colorjoe-wrapper{border:1px solid var(--border-color);border-radius:.25rem}.hud .colorjoe-cell{overflow:hidden}.hud .gradient .colorjoe-cell>.inset{height:-webkit-fill-available;min-width:unset;position:relative}.hud .colorjoe-cell>.inset.titled:before{color:#fff;content:attr(data-caption);display:inline-block;font-size:.75rem;font-variant:all-small-caps;text-align:center;text-shadow:0 0 4px #000;width:100%}.hud .colorjoe-cell.withalt>.inset:after{background:var(--accent);bottom:2px;content:"";height:4px;left:0;position:absolute;width:var(--data-altval)}.hud .colorjoe-cell>.inset{cursor:pointer;height:-webkit-fill-available;min-width:2.54rem}.hud .gradient{border:1px solid var(--border-color);border-radius:.25rem;height:auto}.hud .gradient button{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.hud .gradient button.leftmost{border-radius:.25rem 0 0 .25rem}.hud .gradient>.colorjoe-cell+.colorjoe-cell{border-radius:0}.hud .gradient .colorjoe-cell{border:0;border-radius:0}.hud .underlay{background:transparent;height:100%;left:0;position:fixed;right:0;top:0;z-index:100}.hud .colorjoe-cell.chequered.open{margin-bottom:360px;min-width:300px}.hud .innercard .colorjoe-cell.chequered.open{min-width:260px}.ptype_color{position:relative}.hud .selectfile>input{cursor:pointer;left:0;opacity:0;top:0;z-index:2}.hud .toolz .textfield input{padding-left:2rem}.textfield{position:relative}.textfield input{background:var(--inputs);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text);height:2rem;outline:none!important;padding:0 .2rem}.textfield input.withicon{padding-right:3.5rem}.textfield input.withicon-2{padding-right:3rem}.input-static.withdrag{border:1px solid var(--border-color);cursor:ns-resize;padding:.25rem}.selector.withbodytitle>.bodytitle{border-bottom:solid var(--accent);line-height:var(--unitsize);text-align:center}.mithril-range{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box;cursor:pointer;font-size:1rem;outline:none!important;padding:.7rem .5rem;position:relative;user-select:none;width:100%}.mithril-range:focus .mithril-range-handle{background:var(--accent-alt)!important}.mithril-range-bar{box-sizing:border-box;height:1.2rem;position:relative;width:100%}.mithril-range-bar-0,.mithril-range-bar-1{box-sizing:border-box;height:.5rem;position:absolute;top:.3rem}.mithril-range-bar-1{background-color:var(--accent);border-bottom-left-radius:1rem;border-top-left-radius:1rem;left:0;width:100%;z-index:13}.mithril-range-bar-0{background:var(--mithril-range-scale);border-bottom-right-radius:1rem;border-top-right-radius:1rem;right:0;width:0}.mithril-range-handle{background-color:#fff;border-bottom:0;border-top:0;box-shadow:0 0 4px var(--shadow-color);box-sizing:border-box;display:inline-block;height:.8rem;left:0;margin-top:.05rem;position:absolute;top:.1rem;width:2px}.hud .progstrip{background:var(--window-background-lo);border:1px solid var(--border-color);border-radius:.25rem;cursor:crosshair;height:1.25rem;line-height:1.25rem;margin-bottom:0;margin-top:.5rem}.videocollapsed.ispaused .progstrip>.inner{background:#ff0}.hud .progstrip .cuein,.hud .progstrip .cueout{background:red;width:2px}.hud .progstrip:after{color:#fff;content:attr(data-time) " / " attr(data-total);font-size:.75rem;font-weight:700;mix-blend-mode:difference;position:absolute;text-align:center;width:100%}.withmultiplier .mithril-range-bar-0,.withmultiplier .mithril-range-bar-1,.withmultiplier .mithril-range-handle{transition:.1s linear}.withmultiplier .mithril-range:active *{transition:none!important}.range.disabled{cursor:not-allowed}.range.disabled>.mithril-range .mithril-range-bar-1.nokey{background-color:var(--window-background)}.range.disabled>.mithril-range{opacity:.8;pointer-events:none}.plussep:before{font-family:Font Awesome\ 5 Free;left:1rem;position:absolute}.plussep.contracted:before{color:var(--accent)}.plussep{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);cursor:pointer;padding:.25rem 0;position:relative}.flexcol>.separator{flex-grow:0!important}.hud .smileyswidget{height:100vh}.smileyswidget icons{overflow-x:hidden}.smileyswidget .categories{cursor:pointer;font-size:.75em;padding:0 .5rem;width:20%}.smileyswidget .smiley{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;font-size:3rem;justify-content:center;margin:1px;overflow:hidden;padding:0 .5rem;text-align:center}.font-200{font-size:2rem}.smileyswidget .smiley:active{transform:scale(.9)}.smileyswidget .categories>div{background:var(--window-background);border-radius:.5rem;font-size:.75rem;font-variant:all-small-caps;line-height:1rem;margin:.25rem;padding:.25rem;text-align:center}.smileyswidget .categories.flexrow{border-bottom:1px solid var(--border-color);flex-wrap:wrap;font-size:1rem;justify-content:space-between;padding:.25rem;width:auto}.smileyswidget .textfield{justify-content:center;padding-left:.5rem}.smileyswidget .categories.flexrow>div.isfav{color:#ff0;padding-left:.25rem;padding-right:.35rem;padding-top:.25rem}.hud input.transparent{background:transparent;border:0!important;border-radius:0}.hud .order-end{order:100}.smileyswidget .smiley.fa{padding:.5rem}.hud .templatedinput .paramgroup{background:var(--window-background);border:1px solid var(--border-color);border-radius:.5rem;margin-top:.5rem;overflow:hidden;padding:.5rem .25rem}.hud .templatedinput .paramgroup>div{margin-bottom:.25rem}.hud .separator{flex-grow:1;font-variant:all-small-caps;opacity:.75}.hud .ptype_separator.flexbreak>*{display:none}.hud .ptype_iterakey .separator{margin:.25rem!important}.hud .separator.inlier{background:var(--window-background-lo);text-align:center}.hud .separator.mini{border-bottom:1px solid;margin:.15rem 0}.separator.mini.abark{border-bottom:1px solid var(--border-color);color:var(--accent);font-size:.75rem;font-weight:700;margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem}.hud .separator.outlier{margin-left:-.75rem;margin-right:-.75rem}.hud .separator.outlier-1{margin-left:-.25rem;margin-right:-.25rem}.propsdeck.tab-inter-1{overflow-y:auto}.hud .propsdeck .mk_face.workshop,.hud .propsdeck .mk_workshop{border-bottom:1px solid var(--border-color);padding-bottom:0;padding-top:0}.titlebar{box-shadow:0 0 1px var(--black);font-variant:all-small-caps;margin:0!important;padding-left:0;padding-right:.15rem;z-index:100000}.titlebar span{font-weight:lighter}.titlebar button{background:transparent;border:0;text-align:center;width:2.54rem}.titlebar .title-logo{flex-shrink:0;height:100%;min-width:2.54rem;padding:.25rem;width:auto}.titlebar button.first{margin-right:-.5rem;order:-1}.titlebar .textfield{padding:0}.titlebar .textfield input{background:transparent;border:0;color:var(--text);font-size:inherit;height:100%}.uploadfile input{opacity:0;z-index:100}body{background:var(--background);color:var(--foreground);display:flex;flex-direction:column;font-family:sans-serif;height:100%;margin:0;overflow:hidden;padding:0;position:absolute;width:100%}.flexcol>.flexbreak{display:none}iframe{aspect-ratio:16/9;border:0;width:100%}.align-items-end{align-items:flex-end}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectfile{white-space:normal}.selectfile>input{cursor:pointer;left:0;opacity:0;position:absolute;top:0;z-index:2}.maincontainer{align-items:flex-start}img{-webkit-user-drag:none}video{aspect-ratio:16/9}.modal-content{background-color:#000!important}#notification-container{display:flex;justify-content:center;width:100%}#notification-container .notification{max-width:90%;white-space:normal}@keyframes fadein-filter{0%{filter:opacity(0)}to{filter:opacity(100%)}}.fadein,.fadein-filter{animation:fadein-filter .5s;animation-fill-mode:forwards}video{height:100%;object-fit:contain;width:100%}.scrolly{overflow-y:auto!important}.notice.link{background:var(--background);flex-grow:1;font-family:monospace;margin-bottom:.5rem;padding:.75rem;width:100%;word-break:break-all}h1{color:var(--accent)}h4{font-weight:400;margin-bottom:0;margin-top:0}.mainbusy{opacity:.3;pointer-events:none!important}.cardie.firstlevel{border-left:0!important;border-radius:0!important;border-right:0!important;border-top:0!important;padding:1rem!important}input.invalid{background:#400}input.valid{background:#040}.notice.cardie.help{background:var(--shadow-color);border:0;border-radius:.25rem;padding:1rem}.place-content-center{place-content:center}.gap-4{gap:1rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}ul{margin:0;padding:0}.pad-2{padding:.5rem}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.25);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.4)}.part-left{flex-shrink:0;height:100%;padding:.5rem;width:10rem}.centercontainer,.outercontent{height:100%;height:-webkit-fill-available;width:100%;width:-webkit-fill-available}.centercontainer{background:var(--background-lo);border-left:1px solid var(--border-color)}.part-right{flex-grow:1;padding:0 .5rem;width:50%}.part-mid{flex-shrink:0;min-width:20rem;width:50%}.part-left,.part-right{gap:.5rem}.scaff{border:1px solid var(--border-color)!important}.scaff-b1{border-radius:.25rem}.newnotice{background:var(--background-mid);border:1px solid var(--border-color)!important;border-radius:.5rem;margin-bottom:.5rem}.newnotice i{padding-right:.5rem}a,button{color:var(--text)}button{border:none;cursor:pointer;flex-shrink:0;overflow:hidden;white-space:nowrap}.button{background:var(--buttons);border-radius:.25rem;color:var(--text-over-accent);font-size:.8rem;font-weight:700;min-height:2rem;opacity:.8;text-shadow:0 0 2px #000;transition:all .25s ease-in-out}.button:hover{opacity:1}button.accentbutton-inverse{background:transparent;border:2px solid;border-radius:.5rem;color:var(--accent);line-height:2rem}.button:active{transform:scale(.95)}.buttonchoice>div{border:1px solid var(--border-color);border-radius:.25rem}.buttonchoice button{background:var(--background-lo);color:var(--text)}button.orangebutton{background:var(--accent-grad)!important}button.orangebutton,button.redbutton{color:var(--text-over-accent)!important}button.redbutton{background:var(--red-grad)}button.yellowbutton{background:var(--yellow-grad)}button.greenbutton,button.yellowbutton{color:var(--text-over-accent)!important}button.greenbutton{background:var(--green-grad)}.buttonchoice button.accent{background:var(--accent-grad);color:var(--text-over-accent)}.accentbutton{background:var(--accent-grad);border:0;border-radius:.25rem;color:var(--text-over-accent)!important}button.localebutton{border:0;padding:0}button.localebutton,button.transp{background:transparent}.cardie{align-content:flex-start;background:var(--background-lo);border:1px solid var(--border-color);border-radius:.5rem;flex-shrink:0;padding:0;transition:all .25s linear}.cardie.flexcol>.title{flex-grow:0}.cardie.expanded>.title{border-bottom:1px solid var(--border-color)}.emptywidget{padding:2rem 1rem}.cardie.status{background:none;border-left:0;border-radius:0;border-right:0;border-top:0}.cardie>.title.isexpanded{color:var(--accent)}.cardie>.title.isexpanded:before{color:var(--accent);padding-top:2px;transform:rotate(0deg)}.cardie>.title:before{padding:0 .5rem 0 .25rem;transform:rotate(-90deg);transition:all .25s ease-in-out}.cardie>.title{font-weight:700;transition:color .5s ease-in-out;user-select:none}.launchcell{align-items:center;cursor:pointer;display:flex;height:var(--unitsize-small);white-space:nowrap;width:10rem}.launchcell i{padding:0 .5rem}.launchcell.active{color:var(--accent)}
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
/*!
|
package/tool/cli.cjs
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* Copyright (c) 2026 Nebular Streams
|
|
5
5
|
* All rights reserved.
|
|
6
6
|
*/
|
|
7
|
-
"use strict";var e=require("node:fs"),t=require("node:os"),n=require("node:path"),o=require("node:child_process"),r=require("node:http");const i=o,s=e,a=r,c=n,l="127.0.0.1",p=/^[A-Za-z0-9_-]+$/,f=/^[A-Za-z0-9_.-]+$/,u=new Set([".css",".jpg",".jpeg",".png",".webp",".otf",".ttf",".woff",".woff2"]),d={".css":"text/css; charset=utf-8",".html":"text/html; charset=utf-8",".jpg":"image/jpeg",".jpeg":"image/jpeg",".json":"application/json; charset=utf-8",".png":"image/png",".webp":"image/webp",".otf":"font/otf",".ttf":"font/ttf",".woff":"font/woff",".woff2":"font/woff2",".js":"text/javascript; charset=utf-8"};function h(e,t){const n=new Error(t);return n.status=e,n}function m(e,t){const n=c.relative(e,t);return""===n||!n.startsWith("..")&&!c.isAbsolute(n)}function w(e,t=""){const n=c.join(e,t);return s.existsSync(c.join(n,"index.html"))?t?[t.split(c.sep).join("/")]:[]:s.readdirSync(n,{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(".")&&"node_modules"!==e.name).flatMap(n=>w(e,c.join(t,n.name)))}function y(e,t,n){const o=JSON.stringify(n);e.writeHead(t,{"Content-Type":d[".json"],"Content-Length":Buffer.byteLength(o),"Cache-Control":"no-store","X-Content-Type-Options":"nosniff"}),e.end(o)}function v(e,t,n){e.writeHead(t,{"Content-Type":"text/plain; charset=utf-8","Content-Length":Buffer.byteLength(n),"Cache-Control":"no-store","X-Content-Type-Options":"nosniff"}),e.end(n)}function g(e,t,n,o,r={}){t.writeHead(200,{"Content-Type":d[o]||"application/octet-stream","Content-Length":n.length,"Cache-Control":"no-store","X-Content-Type-Options":"nosniff",...r}),"HEAD"===e.method?t.end():t.end(n)}function $(e){let t;try{t=s.statSync(e)}catch(e){if("ENOENT"===e.code)throw h(404,"File not found");throw e}if(!t.isFile())throw h(404,"File not found");if(t.size>5242880)throw h(413,"File exceeds 5 MiB");return s.readFileSync(e)}function S(e){try{return e.split("/").filter(Boolean).map(decodeURIComponent)}catch{throw h(400,"Invalid URL path")}}function x(e){return e.length>0&&e.every(e=>f.test(e)&&!e.startsWith("."))}function j(e,t){const n=e.toLowerCase().lastIndexOf("</body>");return n>=0?`${e.slice(0,n)}${t}${e.slice(n)}`:`${e}${t}`}function C(e,t){return new Promise((n,o)=>{e.once("error",o),e.listen(t,l,()=>{e.removeListener("error",o),n()})})}const b=e,E=t,k=n,O=async function(e=".",t=[]){const n=c.resolve(e);if(!s.existsSync(n)||!s.statSync(n).isDirectory())throw new Error(`Template directory does not exist: ${e}`);const{port:o,shouldOpen:r}=function(e){let t=4173,n=!0;for(let o=0;o<e.length;o++){const r=e[o];if("--no-open"===r)n=!1;else if("--port"===r)t=Number(e[++o]);else{if(!r.startsWith("--port="))throw new Error(`Unknown preview option: ${r}`);t=Number(r.slice(7))}}if(!Number.isInteger(t)||t<1||t>65534)throw new Error("Preview port must be an integer between 1 and 65534");return{port:t,shouldOpen:n}}(t),f=o+1,d=`http://${l}:${o}`,b=`http://${l}:${f}`,E=c.resolve(__dirname,"..","preview"),k=function(e,t){return a.createServer((n,o)=>{try{if(!["GET","HEAD"].includes(n.method))throw h(405,"Method not allowed");const r=new URL(n.url,"http://preview.invalid");if(!r.pathname.startsWith("/templates/"))throw h(404,"Not found");const i=S(r.pathname.slice(10)),s=w(e).sort((e,t)=>t.length-e.length).find(e=>e.split("/").every((e,t)=>i[t]===e));if(!s)throw h(404,"Template not found");const a=s.split("/");let l=i.slice(a.length);if(0===l.length&&(l=["index.html"]),!x(l))throw h(400,"Invalid template resource path");const p=c.extname(l.at(-1)).toLowerCase(),f=1===l.length&&"index.html"===l[0];if(!f&&!u.has(p))throw h(404,"Unsupported template resource");const d=c.join(e,...a),y=c.resolve(d,...l);if(!m(d,y))throw h(400,"Invalid template resource path");let v=$(y);f&&(v=Buffer.from(j(v.toString("utf8"),function(e){return`<script>\n\t\t(() => {\n\t\t const previewOrigin = ${JSON.stringify(e)};\n\t\t window.addEventListener("message", (event) => {\n\t\t\tif (event.source !== window.parent || event.origin !== previewOrigin) return;\n\t\t\tif (event.data?.type !== "nebular-overlay:update") return;\n\t\t\twindow.dispatchEvent(new CustomEvent("nebular-overlay:update", {detail: event.data.values || {}}));\n\t\t });\n\t\t})();\n\t<\/script>`}(t)))),g(n,o,v,p,{"Content-Security-Policy":["default-src 'none'","script-src 'unsafe-inline'","style-src 'self' 'unsafe-inline'","img-src 'self' data:","font-src 'self'","connect-src 'none'","frame-src 'none'","media-src 'none'","object-src 'none'","worker-src 'none'","base-uri 'none'","form-action 'none'"].join("; "),"Permissions-Policy":"camera=(), microphone=(), geolocation=(), display-capture=(), usb=(), serial=(), hid=(), clipboard-read=()","Referrer-Policy":"no-referrer"})}catch(e){v(o,e.status||500,e.status?e.message:"Preview server error")}})}(n,d),O=function(e,t,n){return a.createServer((o,r)=>{try{if(!["GET","HEAD"].includes(o.method))throw h(405,"Method not allowed");const i=new URL(o.url,"http://preview.invalid");if("/api/templates"===i.pathname)return y(r,200,{templates:w(e).sort()});if("/api/manifest"===i.pathname){const t=i.searchParams.get("id");if(!function(e){return"string"==typeof e&&e.length>0&&e.split("/").every(e=>p.test(e))}(t))throw h(400,"Invalid template id");const n=c.resolve(e,...t.split("/"));if(!m(e,n)||!s.existsSync(c.join(n,"index.html")))throw h(404,"Template not found");return y(r,200,JSON.parse($(c.join(n,"manifest.json")).toString("utf8")))}const a="/"===i.pathname?"index.html":i.pathname.slice(1),l=S(a);if(!x(l))throw h(400,"Invalid application resource path");const f=c.resolve(t,...l);if(!m(t,f))throw h(400,"Invalid application resource path");const u=c.extname(f).toLowerCase();let d=$(f);if("index.html"===a){const e=`<script>window.__NEBULAR_OVERLAY_PREVIEW__=${JSON.stringify({templateOrigin:n})};<\/script>`;d=Buffer.from(j(d.toString("utf8"),e))}g(o,r,d,u)}catch(e){if(e instanceof SyntaxError)return v(r,422,`Invalid template manifest: ${e.message}`);v(r,e.status||500,e.status?e.message:"Preview server error")}})}(n,E,b);try{await C(k,f),await C(O,o)}catch(e){throw k.close(),O.close(),e}console.log(`Previewing ${n}`),console.log(`Application: ${d}`),console.log("Press Ctrl-C to stop."),r&&function(e){let t,n;"darwin"===process.platform?[t,n]=["open",[e]]:"win32"===process.platform?[t,n]=["cmd",["/c","start","",e]]:[t,n]=["xdg-open",[e]];const o=i.spawn(t,n,{detached:!0,stdio:"ignore"});o.on("error",()=>{}),o.unref()}(d),await new Promise(e=>{let t=!1;const n=()=>{if(t)return;t=!0;let n=2;const o=()=>{n-=1,0===n&&e()};O.close(o),k.close(o)};process.once("SIGINT",n),process.once("SIGTERM",n)})},I="nebular-overlay-sdk",L="nebular-overlay",T="studio.nebular.tv",_=k.resolve(__dirname,".."),D=new Set(["init","preview","skill"]);function N(){return`Usage:\n ${I} init <destination> <template>\n ${I} preview [directory] [--port <port>] [--no-open]\n ${I} skill install [--force]\n\t\nInstructions: \n - Using the SDK: https://${T}/doc/sdk/\n - Creating templates: https://${T}/doc/sdk/templates\n`}function P(e,t=1){const n=new Error(e);throw n.exitCode=t,n}function U(){return b.readdirSync(k.join(_,"templates"),{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name).sort()}function R(e,t){e&&t||P(`Usage: ${I} init <destination> <template>\nAvailable templates: ${U().join(", ")}`);const n=k.resolve(e),o=k.join(_,"templates",t);b.existsSync(n)&&P(`Destination already exists: ${e}`),b.existsSync(o)&&b.statSync(o).isDirectory()||P(`Unknown template: ${t}\nAvailable templates: ${U().join(", ")}`),b.cpSync(o,n,{recursive:!0,errorOnExist:!0}),console.log(`Initialized ${t} template in ${n}`)}async function A(e=".",...t){e.startsWith("--")&&(t.unshift(e),e="."),console.log("-----------------------------------\nNebular Overlay SDK v1.0.
|
|
7
|
+
"use strict";var e=require("node:fs"),t=require("node:os"),n=require("node:path"),o=require("node:child_process"),r=require("node:http");const i=o,s=e,a=r,c=n,l="127.0.0.1",p=/^[A-Za-z0-9_-]+$/,f=/^[A-Za-z0-9_.-]+$/,u=new Set([".css",".jpg",".jpeg",".png",".webp",".otf",".ttf",".woff",".woff2"]),d={".css":"text/css; charset=utf-8",".html":"text/html; charset=utf-8",".jpg":"image/jpeg",".jpeg":"image/jpeg",".json":"application/json; charset=utf-8",".png":"image/png",".webp":"image/webp",".otf":"font/otf",".ttf":"font/ttf",".woff":"font/woff",".woff2":"font/woff2",".js":"text/javascript; charset=utf-8"};function h(e,t){const n=new Error(t);return n.status=e,n}function m(e,t){const n=c.relative(e,t);return""===n||!n.startsWith("..")&&!c.isAbsolute(n)}function w(e,t=""){const n=c.join(e,t);return s.existsSync(c.join(n,"index.html"))?t?[t.split(c.sep).join("/")]:[]:s.readdirSync(n,{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(".")&&"node_modules"!==e.name).flatMap(n=>w(e,c.join(t,n.name)))}function y(e,t,n){const o=JSON.stringify(n);e.writeHead(t,{"Content-Type":d[".json"],"Content-Length":Buffer.byteLength(o),"Cache-Control":"no-store","X-Content-Type-Options":"nosniff"}),e.end(o)}function v(e,t,n){e.writeHead(t,{"Content-Type":"text/plain; charset=utf-8","Content-Length":Buffer.byteLength(n),"Cache-Control":"no-store","X-Content-Type-Options":"nosniff"}),e.end(n)}function g(e,t,n,o,r={}){t.writeHead(200,{"Content-Type":d[o]||"application/octet-stream","Content-Length":n.length,"Cache-Control":"no-store","X-Content-Type-Options":"nosniff",...r}),"HEAD"===e.method?t.end():t.end(n)}function $(e){let t;try{t=s.statSync(e)}catch(e){if("ENOENT"===e.code)throw h(404,"File not found");throw e}if(!t.isFile())throw h(404,"File not found");if(t.size>5242880)throw h(413,"File exceeds 5 MiB");return s.readFileSync(e)}function S(e){try{return e.split("/").filter(Boolean).map(decodeURIComponent)}catch{throw h(400,"Invalid URL path")}}function x(e){return e.length>0&&e.every(e=>f.test(e)&&!e.startsWith("."))}function j(e,t){const n=e.toLowerCase().lastIndexOf("</body>");return n>=0?`${e.slice(0,n)}${t}${e.slice(n)}`:`${e}${t}`}function C(e,t){return new Promise((n,o)=>{e.once("error",o),e.listen(t,l,()=>{e.removeListener("error",o),n()})})}const b=e,E=t,k=n,O=async function(e=".",t=[]){const n=c.resolve(e);if(!s.existsSync(n)||!s.statSync(n).isDirectory())throw new Error(`Template directory does not exist: ${e}`);const{port:o,shouldOpen:r}=function(e){let t=4173,n=!0;for(let o=0;o<e.length;o++){const r=e[o];if("--no-open"===r)n=!1;else if("--port"===r)t=Number(e[++o]);else{if(!r.startsWith("--port="))throw new Error(`Unknown preview option: ${r}`);t=Number(r.slice(7))}}if(!Number.isInteger(t)||t<1||t>65534)throw new Error("Preview port must be an integer between 1 and 65534");return{port:t,shouldOpen:n}}(t),f=o+1,d=`http://${l}:${o}`,b=`http://${l}:${f}`,E=c.resolve(__dirname,"..","preview"),k=function(e,t){return a.createServer((n,o)=>{try{if(!["GET","HEAD"].includes(n.method))throw h(405,"Method not allowed");const r=new URL(n.url,"http://preview.invalid");if(!r.pathname.startsWith("/templates/"))throw h(404,"Not found");const i=S(r.pathname.slice(10)),s=w(e).sort((e,t)=>t.length-e.length).find(e=>e.split("/").every((e,t)=>i[t]===e));if(!s)throw h(404,"Template not found");const a=s.split("/");let l=i.slice(a.length);if(0===l.length&&(l=["index.html"]),!x(l))throw h(400,"Invalid template resource path");const p=c.extname(l.at(-1)).toLowerCase(),f=1===l.length&&"index.html"===l[0];if(!f&&!u.has(p))throw h(404,"Unsupported template resource");const d=c.join(e,...a),y=c.resolve(d,...l);if(!m(d,y))throw h(400,"Invalid template resource path");let v=$(y);f&&(v=Buffer.from(j(v.toString("utf8"),function(e){return`<script>\n\t\t(() => {\n\t\t const previewOrigin = ${JSON.stringify(e)};\n\t\t window.addEventListener("message", (event) => {\n\t\t\tif (event.source !== window.parent || event.origin !== previewOrigin) return;\n\t\t\tif (event.data?.type !== "nebular-overlay:update") return;\n\t\t\twindow.dispatchEvent(new CustomEvent("nebular-overlay:update", {detail: event.data.values || {}}));\n\t\t });\n\t\t})();\n\t<\/script>`}(t)))),g(n,o,v,p,{"Content-Security-Policy":["default-src 'none'","script-src 'unsafe-inline'","style-src 'self' 'unsafe-inline'","img-src 'self' data:","font-src 'self'","connect-src 'none'","frame-src 'none'","media-src 'none'","object-src 'none'","worker-src 'none'","base-uri 'none'","form-action 'none'"].join("; "),"Permissions-Policy":"camera=(), microphone=(), geolocation=(), display-capture=(), usb=(), serial=(), hid=(), clipboard-read=()","Referrer-Policy":"no-referrer"})}catch(e){v(o,e.status||500,e.status?e.message:"Preview server error")}})}(n,d),O=function(e,t,n){return a.createServer((o,r)=>{try{if(!["GET","HEAD"].includes(o.method))throw h(405,"Method not allowed");const i=new URL(o.url,"http://preview.invalid");if("/api/templates"===i.pathname)return y(r,200,{templates:w(e).sort()});if("/api/manifest"===i.pathname){const t=i.searchParams.get("id");if(!function(e){return"string"==typeof e&&e.length>0&&e.split("/").every(e=>p.test(e))}(t))throw h(400,"Invalid template id");const n=c.resolve(e,...t.split("/"));if(!m(e,n)||!s.existsSync(c.join(n,"index.html")))throw h(404,"Template not found");return y(r,200,JSON.parse($(c.join(n,"manifest.json")).toString("utf8")))}const a="/"===i.pathname?"index.html":i.pathname.slice(1),l=S(a);if(!x(l))throw h(400,"Invalid application resource path");const f=c.resolve(t,...l);if(!m(t,f))throw h(400,"Invalid application resource path");const u=c.extname(f).toLowerCase();let d=$(f);if("index.html"===a){const e=`<script>window.__NEBULAR_OVERLAY_PREVIEW__=${JSON.stringify({templateOrigin:n})};<\/script>`;d=Buffer.from(j(d.toString("utf8"),e))}g(o,r,d,u)}catch(e){if(e instanceof SyntaxError)return v(r,422,`Invalid template manifest: ${e.message}`);v(r,e.status||500,e.status?e.message:"Preview server error")}})}(n,E,b);try{await C(k,f),await C(O,o)}catch(e){throw k.close(),O.close(),e}console.log(`Previewing ${n}`),console.log(`Application: ${d}`),console.log("Press Ctrl-C to stop."),r&&function(e){let t,n;"darwin"===process.platform?[t,n]=["open",[e]]:"win32"===process.platform?[t,n]=["cmd",["/c","start","",e]]:[t,n]=["xdg-open",[e]];const o=i.spawn(t,n,{detached:!0,stdio:"ignore"});o.on("error",()=>{}),o.unref()}(d),await new Promise(e=>{let t=!1;const n=()=>{if(t)return;t=!0;let n=2;const o=()=>{n-=1,0===n&&e()};O.close(o),k.close(o)};process.once("SIGINT",n),process.once("SIGTERM",n)})},I="nebular-overlay-sdk",L="nebular-overlay",T="studio.nebular.tv",_=k.resolve(__dirname,".."),D=new Set(["init","preview","skill"]);function N(){return`Usage:\n ${I} init <destination> <template>\n ${I} preview [directory] [--port <port>] [--no-open]\n ${I} skill install [--force]\n\t\nInstructions: \n - Using the SDK: https://${T}/doc/sdk/\n - Creating templates: https://${T}/doc/sdk/templates\n`}function P(e,t=1){const n=new Error(e);throw n.exitCode=t,n}function U(){return b.readdirSync(k.join(_,"templates"),{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name).sort()}function R(e,t){e&&t||P(`Usage: ${I} init <destination> <template>\nAvailable templates: ${U().join(", ")}`);const n=k.resolve(e),o=k.join(_,"templates",t);b.existsSync(n)&&P(`Destination already exists: ${e}`),b.existsSync(o)&&b.statSync(o).isDirectory()||P(`Unknown template: ${t}\nAvailable templates: ${U().join(", ")}`),b.cpSync(o,n,{recursive:!0,errorOnExist:!0}),console.log(`Initialized ${t} template in ${n}`)}async function A(e=".",...t){e.startsWith("--")&&(t.unshift(e),e="."),console.log("-----------------------------------\nNebular Overlay SDK v1.0.3\n(c) 2026 Nebular Streams <software@nebular.tv>\nAll Rights Reserved\n-----------------------------------"),await O(e,t)}function H(e,...t){"install"!==e&&P(`Usage: ${I} skill install [--force]`),function(e){const t=e.filter(e=>"--force"!==e);t.length&&P(`Unknown skill install option: ${t[0]}`);const n=e.includes("--force"),o=k.join(_,"skill",L),r=process.env.CODEX_HOME?k.resolve(process.env.CODEX_HOME):k.join(E.homedir(),".codex"),i=k.join(r,"skills"),s=k.join(i,L);b.existsSync(k.join(o,"SKILL.md"))||P(`Packaged skill is missing: ${o}`),b.existsSync(s)&&!n&&P(`Skill is already installed at ${s}\nRun again with --force to replace it.`),b.mkdirSync(i,{recursive:!0});const a=k.join(i,`.${L}-install-${process.pid}-${Date.now()}`);if(b.cpSync(o,a,{recursive:!0,errorOnExist:!0}),b.existsSync(s)){const e=k.join(i,`.${L}-backup-${process.pid}-${Date.now()}`);b.renameSync(s,e);try{b.renameSync(a,s),b.rmSync(e,{recursive:!0,force:!0})}catch(t){throw b.existsSync(a)&&b.rmSync(a,{recursive:!0,force:!0}),b.existsSync(s)||b.renameSync(e,s),t}}else b.renameSync(a,s);console.log(`Installed ${L} skill in ${s}`),console.log("Restart or refresh Codex, then invoke it with $nebular-overlay.")}(t)}(async function(e){if(e.includes("--help")||e.includes("-h")||0===e.length)return void console.log(N());const[t,n]=function(e){if(D.has(e[0]))return[e[0],e.slice(1)];P(`Unknown command: ${e[0]}\n\n${N()}`)}(e);await{init:R,preview:A,skill:H}[t](...n)})(process.argv.slice(2)).catch(e=>{console.error(`nebular-overlay: ${e.message}`),process.exitCode=e.exitCode||1}),module.exports={};
|