@benev/tact 0.4.0-7 → 0.4.0-9
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/README.md +22 -18
- package/package.json +6 -5
- package/s/lib/index.ts +1 -1
- package/s/lib/input/controller.ts +4 -1
- package/s/lib/input/data/intent/decode.ts +2 -2
- package/s/lib/input/data/intent/encode.ts +2 -2
- package/s/lib/input/data/intent/minihash.ts +5 -0
- package/s/lib/input/decoder.ts +2 -2
- package/s/lib/input/investigate/hash-bindings.ts +5 -3
- package/s/lib/input/investigate/investigate.ts +24 -9
- package/s/lib/input/test.ts +11 -0
- package/s/lib/input/testing/quickbind.ts +3 -3
- package/s/lib/ui/deck/hub.ts +4 -3
- package/s/lib/ui/deck/players.ts +73 -0
- package/s/lib/utils/hash.ts +47 -0
- package/x/demo/main.bundle.min.js +104 -104
- package/x/demo/main.bundle.min.js.map +4 -4
- package/x/gamepad/index.html +1 -1
- package/x/index.html +2 -2
- package/x/lib/index.d.ts +1 -1
- package/x/lib/index.js +1 -1
- package/x/lib/index.js.map +1 -1
- package/x/lib/input/controller.js +1 -1
- package/x/lib/input/controller.js.map +1 -1
- package/x/lib/input/data/intent/decode.d.ts +1 -1
- package/x/lib/input/data/intent/decode.js +2 -2
- package/x/lib/input/data/intent/decode.js.map +1 -1
- package/x/lib/input/data/intent/encode.d.ts +1 -1
- package/x/lib/input/data/intent/encode.js +2 -2
- package/x/lib/input/data/intent/encode.js.map +1 -1
- package/x/lib/input/data/intent/minihash.d.ts +1 -0
- package/x/lib/input/data/intent/minihash.js +4 -0
- package/x/lib/input/data/intent/minihash.js.map +1 -0
- package/x/lib/input/decoder.d.ts +1 -1
- package/x/lib/input/decoder.js +2 -2
- package/x/lib/input/decoder.js.map +1 -1
- package/x/lib/input/investigate/hash-bindings.d.ts +1 -1
- package/x/lib/input/investigate/hash-bindings.js +5 -3
- package/x/lib/input/investigate/hash-bindings.js.map +1 -1
- package/x/lib/input/investigate/investigate.d.ts +2 -1
- package/x/lib/input/investigate/investigate.js +14 -9
- package/x/lib/input/investigate/investigate.js.map +1 -1
- package/x/lib/input/test.d.ts +1 -0
- package/x/lib/input/test.js +10 -0
- package/x/lib/input/test.js.map +1 -1
- package/x/lib/input/testing/quickbind.d.ts +3 -2
- package/x/lib/input/testing/quickbind.js +3 -3
- package/x/lib/input/testing/quickbind.js.map +1 -1
- package/x/lib/ui/deck/hub.js +4 -3
- package/x/lib/ui/deck/hub.js.map +1 -1
- package/x/lib/ui/deck/players.d.ts +16 -0
- package/x/lib/ui/deck/players.js +56 -0
- package/x/lib/ui/deck/players.js.map +1 -0
- package/x/lib/utils/hash.d.ts +1 -0
- package/x/lib/utils/hash.js +47 -0
- package/x/lib/utils/hash.js.map +1 -0
- package/s/lib/ui/deck/collector.ts +0 -52
- package/x/lib/ui/deck/collector.d.ts +0 -13
- package/x/lib/ui/deck/collector.js +0 -35
- package/x/lib/ui/deck/collector.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
2
|
-
\f\r]`,
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),Ir=/'/g,Hr=/"/g,qr=/^(?:script|style|textarea|title)$/i,ur=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),h=ur(1),g=ur(2),Dn=ur(3),ot=Symbol.for("lit-noChange"),v=Symbol.for("lit-nothing"),Vr=new WeakMap,et=rt.createTreeWalker(rt,129);function Wr(r,t){if(!lr(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Rr!==void 0?Rr.createHTML(t):t}var Fr=(r,t)=>{let e=r.length-1,o=[],s,n=t===2?"<svg>":t===3?"<math>":"",i=jt;for(let a=0;a<e;a++){let c=r[a],l,p,u=-1,d=0;for(;d<c.length&&(i.lastIndex=d,p=i.exec(c),p!==null);)d=i.lastIndex,i===jt?p[1]==="!--"?i=Lr:p[1]!==void 0?i=Nr:p[2]!==void 0?(qr.test(p[2])&&(s=RegExp("</"+p[2],"g")),i=tt):p[3]!==void 0&&(i=tt):i===tt?p[0]===">"?(i=s??jt,u=-1):p[1]===void 0?u=-2:(u=i.lastIndex-p[2].length,l=p[1],i=p[3]===void 0?tt:p[3]==='"'?Hr:Ir):i===Hr||i===Ir?i=tt:i===Lr||i===Nr?i=jt:(i=tt,s=void 0);let f=i===tt&&r[a+1].startsWith("/>")?" ":"";n+=i===jt?c+Ns:u>=0?(o.push(l),c.slice(0,u)+ar+c.slice(u)+V+f):c+V+(u===-2?a:f)}return[Wr(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),o]},Nt=class r{constructor({strings:t,_$litType$:e},o){let s;this.parts=[];let n=0,i=0,a=t.length-1,c=this.parts,[l,p]=Fr(t,e);if(this.el=r.createElement(l,o),et.currentNode=this.el.content,e===2||e===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(s=et.nextNode())!==null&&c.length<a;){if(s.nodeType===1){if(s.hasAttributes())for(let u of s.getAttributeNames())if(u.endsWith(ar)){let d=p[i++],f=s.getAttribute(u).split(V),z=/([.?@])?(.*)/.exec(d);c.push({type:1,index:n,name:z[2],strings:f,ctor:z[1]==="."?ie:z[1]==="?"?ae:z[1]==="@"?ce:nt}),s.removeAttribute(u)}else u.startsWith(V)&&(c.push({type:6,index:n}),s.removeAttribute(u));if(qr.test(s.tagName)){let u=s.textContent.split(V),d=u.length-1;if(d>0){s.textContent=se?se.emptyScript:"";for(let f=0;f<d;f++)s.append(u[f],Rt()),et.nextNode(),c.push({type:2,index:++n});s.append(u[d],Rt())}}}else if(s.nodeType===8)if(s.data===cr)c.push({type:2,index:n});else{let u=-1;for(;(u=s.data.indexOf(V,u+1))!==-1;)c.push({type:7,index:n}),u+=V.length-1}n++}}static createElement(t,e){let o=rt.createElement("template");return o.innerHTML=t,o}};function st(r,t,e=r,o){if(t===ot)return t;let s=o!==void 0?e._$Co?.[o]:e._$Cl,n=Lt(t)?void 0:t._$litDirective$;return s?.constructor!==n&&(s?._$AO?.(!1),n===void 0?s=void 0:(s=new n(r),s._$AT(r,e,o)),o!==void 0?(e._$Co??=[])[o]=s:e._$Cl=s),s!==void 0&&(t=st(r,s._$AS(r,t.values),s,o)),t}var ne=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:o}=this._$AD,s=(t?.creationScope??rt).importNode(e,!0);et.currentNode=s;let n=et.nextNode(),i=0,a=0,c=o[0];for(;c!==void 0;){if(i===c.index){let l;c.type===2?l=new ht(n,n.nextSibling,this,t):c.type===1?l=new c.ctor(n,c.name,c.strings,this,t):c.type===6&&(l=new le(n,this,t)),this._$AV.push(l),c=o[++a]}i!==c?.index&&(n=et.nextNode(),i++)}return et.currentNode=rt,s}p(t){let e=0;for(let o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(t,o,e),e+=o.strings.length-2):o._$AI(t[e])),e++}},ht=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,o,s){this.type=2,this._$AH=v,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=o,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=st(this,t,e),Lt(t)?t===v||t==null||t===""?(this._$AH!==v&&this._$AR(),this._$AH=v):t!==this._$AH&&t!==ot&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ur(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==v&&Lt(this._$AH)?this._$AA.nextSibling.data=t:this.T(rt.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:o}=t,s=typeof o=="number"?this._$AC(t):(o.el===void 0&&(o.el=Nt.createElement(Wr(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===s)this._$AH.p(e);else{let n=new ne(s,this),i=n.u(this.options);n.p(e),this.T(i),this._$AH=n}}_$AC(t){let e=Vr.get(t.strings);return e===void 0&&Vr.set(t.strings,e=new Nt(t)),e}k(t){lr(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,o,s=0;for(let n of t)s===e.length?e.push(o=new r(this.O(Rt()),this.O(Rt()),this,this.options)):o=e[s],o._$AI(n),s++;s<e.length&&(this._$AR(o&&o._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let o=jr(t).nextSibling;jr(t).remove(),t=o}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},nt=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,o,s,n){this.type=1,this._$AH=v,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=v}_$AI(t,e=this,o,s){let n=this.strings,i=!1;if(n===void 0)t=st(this,t,e,0),i=!Lt(t)||t!==this._$AH&&t!==ot,i&&(this._$AH=t);else{let a=t,c,l;for(t=n[0],c=0;c<n.length-1;c++)l=st(this,a[o+c],e,c),l===ot&&(l=this._$AH[c]),i||=!Lt(l)||l!==this._$AH[c],l===v?t=v:t!==v&&(t+=(l??"")+n[c+1]),this._$AH[c]=l}i&&!s&&this.j(t)}j(t){t===v?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},ie=class extends nt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===v?void 0:t}},ae=class extends nt{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==v)}},ce=class extends nt{constructor(t,e,o,s,n){super(t,e,o,s,n),this.type=5}_$AI(t,e=this){if((t=st(this,t,e,0)??v)===ot)return;let o=this._$AH,s=t===v&&o!==v||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,n=t!==v&&(o===v||s);s&&this.element.removeEventListener(this.name,this,o),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},le=class{constructor(t,e,o){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(t){st(this,t)}},Kr={M:ar,P:V,A:cr,C:1,L:Fr,R:ne,D:Ur,V:st,I:ht,H:nt,N:ae,U:ce,B:ie,F:le},Is=ir.litHtmlPolyfillSupport;Is?.(Nt,ht),(ir.litHtmlVersions??=[]).push("3.3.3");var w=(r,t,e)=>{let o=e?.renderBefore??t,s=o._$litPart$;if(s===void 0){let n=e?.renderBefore??null;o._$litPart$=s=new ht(t.insertBefore(Rt(),n),n,void 0,e??{})}return s._$AI(r),s};var pr=globalThis,dt=class extends H{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=w(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return ot}};dt._$litElement$=!0,dt.finalized=!0,pr.litElementHydrateSupport?.({LitElement:dt});var Hs=pr.litElementPolyfillSupport;Hs?.({LitElement:dt});(pr.litElementVersions??=[]).push("4.2.2");var O={string:(r,t)=>r.getAttribute(t)??void 0,number:(r,t)=>{let e=r.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(r,t)=>r.getAttribute(t)!==null},k={string:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e),!0),number:(r,t,e)=>(e===void 0?r.removeAttribute(t):r.setAttribute(t,e.toString()),!0),boolean:(r,t,e)=>(e?r.setAttribute(t,""):r.removeAttribute(t),!0),any:(r,t,e)=>{e==null?r.removeAttribute(t):typeof e=="string"?r.setAttribute(t,e):typeof e=="number"?r.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?r.setAttribute(t,""):r.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)},entries:(r,t)=>{for(let[e,o]of t)k.any(r,e,o)},record:(r,t)=>k.entries(r,Object.entries(t))};function Gr(r,t={}){let e=document.createElement(r);return k.record(e,t),e}function Jr(r){let t=document.createDocumentFragment();return w(r,t),t.firstElementChild}function ue(r,t){let e=[];for(let[o,s]of Object.entries(t))if(typeof s=="function")r.addEventListener(o,s),e.push(()=>r.removeEventListener(o,s));else{let[n,i]=s;r.addEventListener(o,i,n),e.push(()=>r.removeEventListener(o,i))}return()=>e.forEach(o=>o())}function Zr(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var pe=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>O.string(this.element,e),set:(t,e,o)=>k.string(this.element,e,o)});numbers=new Proxy({},{get:(t,e)=>O.number(this.element,e),set:(t,e,o)=>k.number(this.element,e,o)});booleans=new Proxy({},{get:(t,e)=>O.boolean(this.element,e),set:(t,e,o)=>k.boolean(this.element,e,o)})};var Qr=(r,t,e={})=>new Proxy(t,{get:(o,s)=>{switch(t[s]){case String:return O.string(r,s);case Number:return O.number(r,s);case Boolean:return O.boolean(r,s);default:throw new Error(`invalid attribute type for "${s}"`)}},set:(o,s,n)=>{try{switch(e.beforeSet?.(s),t[s]){case String:return k.string(r,s,n);case Number:return k.number(r,s,n);case Boolean:return k.boolean(r,s,n);default:throw new Error(`invalid attribute type for "${s}"`)}}finally{e.afterSet?.(s)}}});function mt(r){let t=new pe(r);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>Zr(r,e),spec:(e,o={})=>Qr(r,e,o)}}mt.get=O;mt.set=k;function Xr(r){return new hr(r)}var hr=class{tagName;#t=new Map;#e=[];constructor(t){this.tagName=t}attr(t,e=!0){return this.#t.set(t,e),this}attrs(t){for(let[e,o]of Object.entries(t))this.attr(e,o);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return k.entries(t,this.#t),t.append(...this.#e),t}};function ft(r,t=document){let e=t.querySelector(r);if(!e)throw new Error(`element not found (${r})`);return e}function he(r,t=document){return t.querySelector(r)}function de(r,t=document){return Array.from(t.querySelectorAll(r))}var me=class r{element;#t;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?ft(t,this.element):t)}require(t){return ft(t,this.element)}maybe(t){return he(t,this.element)}all(t){return de(t,this.element)}render(...t){return w(t,this.element)}get attrs(){return this.#t??=mt(this.element)}events(t){return ue(this.element,t)}};function b(r,t=document){return ft(r,t)}b.in=(r,t=document)=>new me(t).in(r);b.need=ft;b.maybe=he;b.all=de;b.el=Gr;b.elmer=Xr;b.mk=Jr;b.events=ue;b.attrs=mt;b.register=Yt;b.render=(r,...t)=>w(t,r);var ye={};Ps(ye,{DragAndDrops:()=>xr,Drops:()=>wr,files:()=>Zs,hasFiles:()=>Js,outsideCurrentTarget:()=>qt});var Yr=Object.freeze({eq(r,t){if(r.length!==t.length)return!1;let e=0;for(let o=0;o<r.length;o++)e|=r[o]^t[o];return e===0},random(r){return crypto.getRandomValues(new Uint8Array(r))},concat(r){let t=0;for(let s of r)t+=s.byteLength;let e=new Uint8Array(t),o=0;for(let s of r)e.set(s,o),o+=s.byteLength;return e}});var $=class{lexicon;static lexicons=Object.freeze({base2:{characters:"01"},hex:{characters:"0123456789abcdef",caseInsensitive:!0},base36:{characters:"0123456789abcdefghijklmnopqrstuvwxyz"},base58:{characters:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},base62:{characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},base64url:{negativePrefix:"~",characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},base64:{characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",padding:{character:"=",size:4}}});lookup;negativePrefix;constructor(t){this.lexicon=t,this.lookup=Object.fromEntries([...t.characters].map((o,s)=>[o,s])),this.negativePrefix=t.negativePrefix??"-";let e=this.fromBytes.bind(this);return Object.setPrototypeOf(e,new.target.prototype),Object.assign(e,this),e}toBytes(t){this.lexicon.caseInsensitive&&(t=t.toLowerCase());let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let l=0,p=0,u=[];for(let d of t){if(d===this.lexicon.padding?.character)continue;let f=this.lookup[d];if(f===void 0)throw new Error(`Invalid character: ${d}`);for(l=l<<e|f,p+=e;p>=8;)p-=8,u.push(l>>p&255)}return new Uint8Array(u)}let o=0n,s=BigInt(this.lexicon.characters.length);t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length));let n=this.lexicon.characters[0],i=0;for(;t[i]===n;)i++;t=t.slice(i);for(let l of t){let p=this.lookup[l];if(p===void 0)throw new Error(`Invalid character: ${l}`);o=o*s+BigInt(p)}let a=new Uint8Array(i+(o===0n?0:this.countBytes(o))),c=a.length;for(;o>0n;)a[--c]=Number(o%256n),o=o/256n;return a}fromBytes(t){let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let c=0,l=0,p="";for(let u of t)for(c=c<<8|u,l+=8;l>=e;){l-=e;let d=c>>l&(1<<e)-1;p+=this.lexicon.characters[d]}if(l>0){let u=c<<e-l&(1<<e)-1;p+=this.lexicon.characters[u]}if(this.lexicon.padding)for(;p.length%this.lexicon.padding.size!==0;)p+=this.lexicon.padding.character;return p}if(t.length===0)return"";let o=this.lexicon.characters[0],s=0;for(;t[s]===0;)s++;let n=0n;for(let c of t.slice(s))n=(n<<8n)+BigInt(c);if(n===0n)return o.repeat(s);let i=BigInt(this.lexicon.characters.length),a="";for(;n>0n;)a=this.lexicon.characters[Number(n%i)]+a,n=n/i;return o.repeat(s)+a}toInteger(t){if(!t)return 0;let e=0n,o=!1,s=BigInt(this.lexicon.characters.length);t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length),o=!0);for(let n of t){let i=this.lookup[n];if(i===void 0)throw new Error(`Invalid character: ${n}`);e=e*s+BigInt(i)}return Number(o?-e:e)}fromInteger(t){t=Math.floor(t);let e=t<0,o=BigInt(e?-t:t);if(o===0n)return this.lexicon.characters[0];let s=BigInt(this.lexicon.characters.length),n="";for(;o>0n;)n=this.lexicon.characters[Number(o%s)]+n,o=o/s;return e?`${this.negativePrefix}${n}`:n}random(t=32){return this.fromBytes(Yr.random(t))}countBytes(t){let e=0;for(;t>0n;)e++,t=t/256n;return e}};var fe=new $($.lexicons.hex),Hi=new $($.lexicons.base2),Vi=new $($.lexicons.base36),Ui=new $($.lexicons.base58),qi=new $($.lexicons.base62),Wi=new $($.lexicons.base64),Fi=new $($.lexicons.base64url);function to(r,t){let e,o,s=[];function n(){e=[],o&&clearTimeout(o),o=void 0,s=[]}return n(),((...i)=>{e=i,o&&clearTimeout(o);let a=new Promise((c,l)=>{s.push({resolve:c,reject:l})});return o=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(c=>{for(let{resolve:l}of s)l(c);n()}).catch(c=>{for(let{reject:l}of s)l(c);n()})},r),a})}function it(){let r,t,e=new Promise((o,s)=>{r=o,t=s});return e.resolve=r,e.reject=t,e.promise=e,e.entangle=o=>(o.then(r,t),e),e}function gt(r){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:it()},queueMicrotask(()=>{let{params:o,deferred:s}=t;t=null,Promise.resolve(r(...o)).then(s.resolve).catch(s.reject)})),t.deferred.promise))}function T(r,t=new Set){if(t.has(r))throw new Error("cannot clone circular reference");let e;return typeof r=="function"||r!==null&&typeof r=="object"?(t.add(r),Array.isArray(r)?e=r.map(o=>T(o,new Set(t))):r.constructor===Object?e=Object.fromEntries(Object.entries(r).map(([o,s])=>[o,T(s,new Set(t))])):r instanceof Map?e=new Map(Array.from(r,([o,s])=>[o,T(s,new Set(t))])):r instanceof Set?e=new Set(Array.from(r,o=>T(o,new Set(t)))):r instanceof Date?e=new Date(r.getTime()):e=r,t.delete(r)):e=r,e}function E(r){return r!=null}var bt=r=>typeof r=="number",xt=r=>typeof r=="string";var It=r=>typeof r=="object"&&r!==null,ge=r=>Array.isArray(r);function Vs(r){return r!=null}function Us(r){return r==null}var Yi=Object.freeze({happy:Vs,sad:Us,boolean:r=>typeof r=="boolean",number:r=>typeof r=="number",string:r=>typeof r=="string",bigint:r=>typeof r=="bigint",object:r=>typeof r=="object"&&r!==null,array:r=>Array.isArray(r),fn:r=>typeof r=="function",symbol:r=>typeof r=="symbol"});var eo=(r,t)=>{function e(o,s,n){if(!It(o)||!It(s))return o===s;if(n.includes(o))throw new Error("forbidden circularity detected in deep equal comparison");let i=[...n,o];if(o instanceof Map&&s instanceof Map){if(o.size!==s.size)return!1;for(let[a,c]of o)if(!s.has(a)||!e(c,s.get(a),i))return!1}else if(o instanceof Set&&s instanceof Set){if(o.size!==s.size)return!1;for(let a of o)if(!Array.from(s).some(c=>e(a,c,i)))return!1}else{let a=Object.keys(o),c=Object.keys(s);if(a.length!==c.length)return!1;for(let l of a)if(!c.includes(l)||!e(o[l],s[l],i))return!1}return!0}return e(r,t,[])};function at(r){function t(e,o){if(!It(e)||o.includes(e))return e;let s=[...o,e];if(e instanceof Map)for(let n of e.entries())for(let i of n)t(i,s);else if(e instanceof Set)for(let n of e)t(n,s);else if(Array.isArray(e))for(let n of e)t(n,s);else for(let n of Object.values(e))t(n,s);return Object.freeze(e)}return t(r,[])}function ro(r){if(r.ok)return r.value;let{error:t}=r;throw t instanceof Error?t:typeof t=="string"?new Error(t):new Error("unknown")}function oo(r){if(r.ok)throw new Error("didn't get needed error");return r.error}var qs=new TextEncoder;function dr(r){return r=Math.imul(r^r>>>15,r|1),r^=r+Math.imul(r^r>>>7,r|61),r^=r>>>14,r>>>0}function Ws(r){let t=2166136261;for(let e of qs.encode(r))t^=e,t=Math.imul(t,16777619);return dr(t)}function so(...r){let t=2654435769;for(let e of r){let o=typeof e=="string"?Ws(e):e>>>0;t=t+1831565813>>>0,t^=dr(o),t=dr(t)}return t}function S(r,t="got failed"){if(r==null)throw new Error(t);return r}function wt(r,t,e){if(r.has(t))return r.get(t);{let o=e();return r.set(t,o),o}}function Ht(r,t){for(let[e,o]of t)r.set(e,o);return r}function no(r,t){return t<=0?[]:r.length>t?r.slice(-t):r}async function mr(r){let t=[];for await(let e of r)t.push(e);return t}function yt(r){let t,e=!1,o=()=>{e=!0,clearTimeout(t)},s=async()=>{e||(await r(o),!e&&(t=setTimeout(s,0)))};return s(),o}function M(){let r=[],t=()=>{let o=r;r=[];for(let s=o.length-1;s>=0;s--)o[s]()};function e(){t()}return e.dispose=t,e.schedule=(...o)=>(r.push(...o),e),e.own=(o,s)=>(r.push(()=>s(o)),o),e.disposable=o=>(r.push(()=>o.dispose()),o),e.disposables=e.disposable,e}function A(r,t){let e=Object.entries(t);for(let[o,s]of e)r.addEventListener(o,s);return()=>{for(let[o,s]of e)r.removeEventListener(o,s)}}var vt=class{count;constructor(t=0){this.count=t}next(){return this.count++}};var $t=(r=0)=>new Promise(t=>setTimeout(t,r));var fr=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,o])=>[e,t(o,e)])),Fs=(r,t)=>Object.fromEntries(Object.entries(r).filter(([e,o])=>t(o,e)));function Ks(r){return{map:t=>io(r,t),filter:t=>ao(r,t)}}Ks.pipe=Object.freeze({map:r=>(t=>io(t,r)),filter:r=>(t=>ao(t,r))});var io=fr,ao=Fs;function W(r){let t=Gs(),e=o=>t.on(o);return Object.assign(e,t),r&&t.on(r),e}function Gs(){let r=new Set,t,e=()=>t??=it(),o=a=>{let c=t;t=void 0,c?.resolve(a)};return{set:r,on:a=>(r.add(a),()=>{r.delete(a)}),publish:(...a)=>{o(a);for(let c of[...r])c(...a)},publishAsync:async(...a)=>{o(a),await Promise.all([...r].map(async c=>c(...a)))},next:e}}function F(r,...t){let e=r.length-1;return r.slice(0,e).reduce((o,s,n)=>o+s+t[n],"")+r[e]}function kt(r,t,e){return r?t():e?.()}function be(r,t,e){return E(r)?t(r):e?.()}var xe=class{#t=new Set;#e=[];#o=new WeakMap;#r=0;#s=new Set;read(t){this.#e.at(-1)?.add(t)}write(t){let e=this.#o.get(t);if(e){for(let o of e)this.#s.add(o);this.#r===0&&this.#n()}}observe(t){let e=new Set;this.#e.push(e);try{let o=t();return{seen:e,value:o}}finally{this.#e.pop()}}subscribe(t,e){let o=wt(this.#o,t,()=>new Set);return o.add(e),()=>{o.delete(e),o.size===0&&this.#o.delete(t)}}batch=t=>{this.#r++;try{return t()}finally{this.#r--,this.#r===0&&this.#n()}};#i(t){if(this.#t.has(t))throw new Error("circularity forbidden");this.#t.add(t);try{t()}finally{this.#t.delete(t)}}#n(){for(;this.#s.size>0;){let t=[...this.#s];this.#s.clear();for(let e of t)this.#i(e)}}};var m=globalThis[Symbol.for("e280.tracker.2")]??=new xe;function _(r){let t;function e(){return arguments.length===0?(m.read(e),r):(r=arguments[0],m.write(e),t?.publish(r),r)}return e.get=()=>e(),e.set=o=>e(o),e.on=o=>(t??=W())(o),e}var B=class extends Map{get size(){return m.read(this),super.size}[Symbol.iterator](){return m.read(this),super[Symbol.iterator]()}forEach(t){m.read(this);for(let[e,o]of this)t(o,e,this);return this}keys(){return m.read(this),super.keys()}values(){return m.read(this),super.values()}entries(){return m.read(this),super.entries()}has(t){return m.read(this),super.has(t)}get(t){return m.read(this),super.get(t)}set(t,e){return super.set(t,e),m.write(this),this}delete(t){let e=super.delete(t);return m.write(this),e}clear(){return super.clear(),m.write(this),this}};var Vt=class extends Set{get size(){return m.read(this),super.size}[Symbol.iterator](){return m.read(this),super[Symbol.iterator]()}forEach(t){m.read(this);for(let e of this)t(e,e,this);return this}values(){return m.read(this),super.values()}has(t){return m.read(this),super.has(t)}add(t){return super.add(t),m.write(this),this}delete(t){let e=super.delete(t);return m.write(this),e}clear(){return super.clear(),m.write(this),this}};var Ja=m.batch;function lo(r){return at(T(r))}var D=Symbol("optic");var Ut=class{calculate;#t=!1;#e;constructor(t){this.calculate=t,this.#e=t()}get(){return this.#t&&(this.#t=!1,this.#e=this.calculate()),this.#e}invalidate(){this.#t=!0}};var we=class r{[D];#t;#e;#o;#r=W();constructor(t){this[D]=t,this.#t=T(t.getState()),this.#e=new Ut(()=>T(t.getState())),this.#o=new Ut(()=>lo(t.getState()))}get on(){return this.#r.on}update(){let t=this[D].getState();!eo(t,this.#t)&&(this.#e.invalidate(),this.#o.invalidate(),this.#t=T(t),m.write(this),this.#r.set.size&&this.#r.publish(this.#e.get()))}get state(){return m.read(this),this.#e.get()}get frozen(){return m.read(this),this.#o.get()}mutate(t){return this[D].mutate(t)}lens(t){let e=new r({getState:()=>t(this[D].getState()),mutate:o=>this[D].mutate(s=>o(t(s))),registerLens:this[D].registerLens});return this[D].registerLens(e),e}};function uo(r){if(!r.done)throw new Error("wait not done");return ro(r)}function po(r){if(!r.done)throw new Error("wait not done");return oo(r)}var ho=r=>!r.done;var br=r=>r.done&&r.ok;function mo(r,t){let{pending:e=()=>{},ok:o=()=>{},err:s=()=>{}}=t;return ho(r)?e():br(r)?o(uo(r)):s(po(r))}function Js(r){return!!(r.dataTransfer&&r.dataTransfer.types.includes("Files"))}function Zs(r){return r.dataTransfer?Array.from(r.dataTransfer.files):[]}function qt(r){let t=r.currentTarget,e=r.relatedTarget;return!t||!e||!t.contains(e)}var xr=class{params;$draggy=_(void 0);$droppy=_(void 0);constructor(t){this.params=t}get dragging(){return this.$draggy()}get hovering(){return this.$droppy()}dragzone=t=>({draggable:"true",dragstart:e=>{this.$draggy(t())},dragend:e=>{this.$draggy(void 0),this.$droppy(void 0)}});dropzone=t=>({dragenter:e=>{},dragover:e=>{e.preventDefault(),this.$draggy()?this.$droppy(t()):this.params.backchannelDrops?.dragover(e)},dragleave:e=>{qt(e)&&this.$droppy(void 0),this.params.backchannelDrops?.dragleave(e)},drop:e=>{e.preventDefault();let{acceptDrop:o}=this.params,s=this.$draggy(),n=this.$droppy();try{s&&n?o(e,s,n):this.params.backchannelDrops?.drop(e)}finally{this.$draggy(void 0),this.$droppy(void 0)}}})};var wr=class{params;$indicator=_(!1);constructor(t){this.params=t}dragover=t=>{t.preventDefault(),this.$indicator(this.params.predicate(t))};dragleave=t=>{qt(t)&&this.$indicator(!1)};drop=t=>{t.preventDefault(),this.$indicator(!1),this.params.predicate(t)&&this.params.acceptDrop(t)}};var St=x`
|
|
1
|
+
var gm=Object.defineProperty;var bm=(o,t)=>{for(var e in t)gm(o,e,{get:t[e],enumerable:!0})};function dp(o){return o.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function wu(o,t={}){let{soft:e=!1,upgrade:s=!0}=t;for(let[r,n]of Object.entries(o)){let c=dp(r),i=customElements.get(c);e&&i||(customElements.define(c,n),s&&document.querySelectorAll(c).forEach(a=>{a.constructor===HTMLElement&&customElements.upgrade(a)}))}}var ku=globalThis,_u=ku.ShadowRoot&&(ku.ShadyCSS===void 0||ku.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,_d=Symbol(),pp=new WeakMap,eu=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==_d)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(_u&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=pp.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&pp.set(e,t))}return t}toString(){return this.cssText}},hp=o=>new eu(typeof o=="string"?o:o+"",void 0,_d),ee=(o,...t)=>{let e=o.length===1?o[0]:t.reduce((s,r,n)=>s+(c=>{if(c._$cssResult$===!0)return c.cssText;if(typeof c=="number")return c;throw Error("Value passed to 'css' function must be a 'css' function result: "+c+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(r)+o[n+1],o[0]);return new eu(e,o,_d)},Au=(o,t)=>{if(_u)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let s=document.createElement("style"),r=ku.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=e.cssText,o.appendChild(s)}},kf=_u?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return hp(e)})(o):o;var{is:ym,defineProperty:wm,getOwnPropertyDescriptor:km,getOwnPropertyNames:_m,getOwnPropertySymbols:Am,getPrototypeOf:Sm}=Object,Su=globalThis,mp=Su.trustedTypes,$m=mp?mp.emptyScript:"",Em=Su.reactiveElementPolyfillSupport,ou=(o,t)=>o,Ad={toAttribute(o,t){switch(t){case Boolean:o=o?$m:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},gp=(o,t)=>!ym(o,t),xp={attribute:!0,type:String,converter:Ad,reflect:!1,useDefault:!1,hasChanged:gp};Symbol.metadata??=Symbol("metadata"),Su.litPropertyMetadata??=new WeakMap;var l2=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=xp){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),r=this.getPropertyDescriptor(t,s,e);r!==void 0&&wm(this.prototype,t,r)}}static getPropertyDescriptor(t,e,s){let{get:r,set:n}=km(this.prototype,t)??{get(){return this[e]},set(c){this[e]=c}};return{get:r,set(c){let i=r?.call(this);n?.call(this,c),this.requestUpdate(t,i,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??xp}static _$Ei(){if(this.hasOwnProperty(ou("elementProperties")))return;let t=Sm(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ou("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ou("properties"))){let e=this.properties,s=[..._m(e),...Am(e)];for(let r of s)this.createProperty(r,e[r])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,r]of e)this.elementProperties.set(s,r)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let r=this._$Eu(e,s);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let r of s)e.unshift(kf(r))}else t!==void 0&&e.push(kf(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Au(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){let s=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,s);if(r!==void 0&&s.reflect===!0){let n=(s.converter?.toAttribute!==void 0?s.converter:Ad).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(t,e){let s=this.constructor,r=s._$Eh.get(t);if(r!==void 0&&this._$Em!==r){let n=s.getPropertyOptions(r),c=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:Ad;this._$Em=r;let i=c.fromAttribute(e,n.type);this[r]=i??this._$Ej?.get(r)??i,this._$Em=null}}requestUpdate(t,e,s,r=!1,n){if(t!==void 0){let c=this.constructor;if(r===!1&&(n=this[t]),s??=c.getPropertyOptions(t),!((s.hasChanged??gp)(n,e)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(c._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:r,wrapped:n},c){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,c??e??this[t]),n!==!0||c!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),r===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,n]of this._$Ep)this[r]=n;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[r,n]of s){let{wrapped:c}=n,i=this[r];c!==!0||this._$AL.has(r)||i===void 0||this.C(r,void 0,n,i)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};l2.elementStyles=[],l2.shadowRootOptions={mode:"open"},l2[ou("elementProperties")]=new Map,l2[ou("finalized")]=new Map,Em?.({ReactiveElement:l2}),(Su.reactiveElementVersions??=[]).push("2.1.2");var $d=globalThis,bp=o=>o,$u=$d.trustedTypes,yp=$u?$u.createPolicy("lit-html",{createHTML:o=>o}):void 0,Ed="$lit$",f2=`lit$${Math.random().toFixed(9).slice(2)}$`,Ld="?"+f2,Lm=`<${Ld}>`,lf=document,su=()=>lf.createComment(""),ru=o=>o===null||typeof o!="object"&&typeof o!="function",Md=Array.isArray,$p=o=>Md(o)||typeof o?.[Symbol.iterator]=="function",Sd=`[
|
|
2
|
+
\f\r]`,nu=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,wp=/-->/g,kp=/>/g,cf=RegExp(`>|${Sd}(?:([^\\s"'>=/]+)(${Sd}*=${Sd}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),_p=/'/g,Ap=/"/g,Ep=/^(?:script|style|textarea|title)$/i,Od=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),I=Od(1),mt=Od(2),P3=Od(3),ff=Symbol.for("lit-noChange"),ke=Symbol.for("lit-nothing"),Sp=new WeakMap,af=lf.createTreeWalker(lf,129);function Lp(o,t){if(!Md(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return yp!==void 0?yp.createHTML(t):t}var Mp=(o,t)=>{let e=o.length-1,s=[],r,n=t===2?"<svg>":t===3?"<math>":"",c=nu;for(let i=0;i<e;i++){let a=o[i],u,v,m=-1,$=0;for(;$<a.length&&(c.lastIndex=$,v=c.exec(a),v!==null);)$=c.lastIndex,c===nu?v[1]==="!--"?c=wp:v[1]!==void 0?c=kp:v[2]!==void 0?(Ep.test(v[2])&&(r=RegExp("</"+v[2],"g")),c=cf):v[3]!==void 0&&(c=cf):c===cf?v[0]===">"?(c=r??nu,m=-1):v[1]===void 0?m=-2:(m=c.lastIndex-v[2].length,u=v[1],c=v[3]===void 0?cf:v[3]==='"'?Ap:_p):c===Ap||c===_p?c=cf:c===wp||c===kp?c=nu:(c=cf,r=void 0);let H=c===cf&&o[i+1].startsWith("/>")?" ":"";n+=c===nu?a+Lm:m>=0?(s.push(u),a.slice(0,m)+Ed+a.slice(m)+f2+H):a+f2+(m===-2?i:H)}return[Lp(o,n+(o[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]},cu=class o{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let n=0,c=0,i=t.length-1,a=this.parts,[u,v]=Mp(t,e);if(this.el=o.createElement(u,s),af.currentNode=this.el.content,e===2||e===3){let m=this.el.content.firstChild;m.replaceWith(...m.childNodes)}for(;(r=af.nextNode())!==null&&a.length<i;){if(r.nodeType===1){if(r.hasAttributes())for(let m of r.getAttributeNames())if(m.endsWith(Ed)){let $=v[c++],H=r.getAttribute(m).split(f2),ht=/([.?@])?(.*)/.exec($);a.push({type:1,index:n,name:ht[2],strings:H,ctor:ht[1]==="."?Lu:ht[1]==="?"?Mu:ht[1]==="@"?Ou:vf}),r.removeAttribute(m)}else m.startsWith(f2)&&(a.push({type:6,index:n}),r.removeAttribute(m));if(Ep.test(r.tagName)){let m=r.textContent.split(f2),$=m.length-1;if($>0){r.textContent=$u?$u.emptyScript:"";for(let H=0;H<$;H++)r.append(m[H],su()),af.nextNode(),a.push({type:2,index:++n});r.append(m[$],su())}}}else if(r.nodeType===8)if(r.data===Ld)a.push({type:2,index:n});else{let m=-1;for(;(m=r.data.indexOf(f2,m+1))!==-1;)a.push({type:7,index:n}),m+=f2.length-1}n++}}static createElement(t,e){let s=lf.createElement("template");return s.innerHTML=t,s}};function uf(o,t,e=o,s){if(t===ff)return t;let r=s!==void 0?e._$Co?.[s]:e._$Cl,n=ru(t)?void 0:t._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),n===void 0?r=void 0:(r=new n(o),r._$AT(o,e,s)),s!==void 0?(e._$Co??=[])[s]=r:e._$Cl=r),r!==void 0&&(t=uf(o,r._$AS(o,t.values),r,s)),t}var Eu=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:e},parts:s}=this._$AD,r=(t?.creationScope??lf).importNode(e,!0);af.currentNode=r;let n=af.nextNode(),c=0,i=0,a=s[0];for(;a!==void 0;){if(c===a.index){let u;a.type===2?u=new _f(n,n.nextSibling,this,t):a.type===1?u=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(u=new Bu(n,this,t)),this._$AV.push(u),a=s[++i]}c!==a?.index&&(n=af.nextNode(),c++)}return af.currentNode=lf,r}p(t){let e=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}},_f=class o{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,r){this.type=2,this._$AH=ke,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=uf(this,t,e),ru(t)?t===ke||t==null||t===""?(this._$AH!==ke&&this._$AR(),this._$AH=ke):t!==this._$AH&&t!==ff&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):$p(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==ke&&ru(this._$AH)?this._$AA.nextSibling.data=t:this.T(lf.createTextNode(t)),this._$AH=t}$(t){let{values:e,_$litType$:s}=t,r=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=cu.createElement(Lp(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===r)this._$AH.p(e);else{let n=new Eu(r,this),c=n.u(this.options);n.p(e),this.T(c),this._$AH=n}}_$AC(t){let e=Sp.get(t.strings);return e===void 0&&Sp.set(t.strings,e=new cu(t)),e}k(t){Md(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,s,r=0;for(let n of t)r===e.length?e.push(s=new o(this.O(su()),this.O(su()),this,this.options)):s=e[r],s._$AI(n),r++;r<e.length&&(this._$AR(s&&s._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){let s=bp(t).nextSibling;bp(t).remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},vf=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,r,n){this.type=1,this._$AH=ke,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=ke}_$AI(t,e=this,s,r){let n=this.strings,c=!1;if(n===void 0)t=uf(this,t,e,0),c=!ru(t)||t!==this._$AH&&t!==ff,c&&(this._$AH=t);else{let i=t,a,u;for(t=n[0],a=0;a<n.length-1;a++)u=uf(this,i[s+a],e,a),u===ff&&(u=this._$AH[a]),c||=!ru(u)||u!==this._$AH[a],u===ke?t=ke:t!==ke&&(t+=(u??"")+n[a+1]),this._$AH[a]=u}c&&!r&&this.j(t)}j(t){t===ke?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Lu=class extends vf{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===ke?void 0:t}},Mu=class extends vf{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==ke)}},Ou=class extends vf{constructor(t,e,s,r,n){super(t,e,s,r,n),this.type=5}_$AI(t,e=this){if((t=uf(this,t,e,0)??ke)===ff)return;let s=this._$AH,r=t===ke&&s!==ke||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==ke&&(s===ke||r);r&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Bu=class{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){uf(this,t)}},Op={M:Ed,P:f2,A:Ld,C:1,L:Mp,R:Eu,D:$p,V:uf,I:_f,H:vf,N:Mu,U:Ou,B:Lu,F:Bu},Mm=$d.litHtmlPolyfillSupport;Mm?.(cu,_f),($d.litHtmlVersions??=[]).push("3.3.3");var oe=(o,t,e)=>{let s=e?.renderBefore??t,r=s._$litPart$;if(r===void 0){let n=e?.renderBefore??null;s._$litPart$=r=new _f(t.insertBefore(su(),n),n,void 0,e??{})}return r._$AI(o),r};var Bd=globalThis,Af=class extends l2{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=oe(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return ff}};Af._$litElement$=!0,Af.finalized=!0,Bd.litElementHydrateSupport?.({LitElement:Af});var Om=Bd.litElementPolyfillSupport;Om?.({LitElement:Af});(Bd.litElementVersions??=[]).push("4.2.2");var Qa={string:(o,t)=>o.getAttribute(t)??void 0,number:(o,t)=>{let e=o.getAttribute(t);return e===null||!e?void 0:Number(e)},boolean:(o,t)=>o.getAttribute(t)!==null},oo={string:(o,t,e)=>(e===void 0?o.removeAttribute(t):o.setAttribute(t,e),!0),number:(o,t,e)=>(e===void 0?o.removeAttribute(t):o.setAttribute(t,e.toString()),!0),boolean:(o,t,e)=>(e?o.setAttribute(t,""):o.removeAttribute(t),!0),any:(o,t,e)=>{e==null?o.removeAttribute(t):typeof e=="string"?o.setAttribute(t,e):typeof e=="number"?o.setAttribute(t,e.toString()):typeof e=="boolean"?e===!0?o.setAttribute(t,""):o.removeAttribute(t):console.warn(`invalid attribute "${t}" type is "${typeof e}"`)},entries:(o,t)=>{for(let[e,s]of t)oo.any(o,e,s)},record:(o,t)=>oo.entries(o,Object.entries(t))};function Bp(o,t={}){let e=document.createElement(o);return oo.record(e,t),e}function Pp(o){let t=document.createDocumentFragment();return oe(o,t),t.firstElementChild}function Pu(o,t){let e=[];for(let[s,r]of Object.entries(t))if(typeof r=="function")o.addEventListener(s,r),e.push(()=>o.removeEventListener(s,r));else{let[n,c]=r;o.addEventListener(s,c,n),e.push(()=>o.removeEventListener(s,c))}return()=>e.forEach(s=>s())}function Cp(o,t){let e=new MutationObserver(t);return e.observe(o,{attributes:!0}),()=>e.disconnect()}var Cu=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>Qa.string(this.element,e),set:(t,e,s)=>oo.string(this.element,e,s)});numbers=new Proxy({},{get:(t,e)=>Qa.number(this.element,e),set:(t,e,s)=>oo.number(this.element,e,s)});booleans=new Proxy({},{get:(t,e)=>Qa.boolean(this.element,e),set:(t,e,s)=>oo.boolean(this.element,e,s)})};var jp=(o,t,e={})=>new Proxy(t,{get:(s,r)=>{switch(t[r]){case String:return Qa.string(o,r);case Number:return Qa.number(o,r);case Boolean:return Qa.boolean(o,r);default:throw new Error(`invalid attribute type for "${r}"`)}},set:(s,r,n)=>{try{switch(e.beforeSet?.(r),t[r]){case String:return oo.string(o,r,n);case Number:return oo.number(o,r,n);case Boolean:return oo.boolean(o,r,n);default:throw new Error(`invalid attribute type for "${r}"`)}}finally{e.afterSet?.(r)}}});function Sf(o){let t=new Cu(o);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>Cp(o,e),spec:(e,s={})=>jp(o,e,s)}}Sf.get=Qa;Sf.set=oo;function Ip(o){return new Pd(o)}var Pd=class{tagName;#t=new Map;#e=[];constructor(t){this.tagName=t}attr(t,e=!0){return this.#t.set(t,e),this}attrs(t){for(let[e,s]of Object.entries(t))this.attr(e,s);return this}children(...t){return this.#e.push(...t),this}done(){let t=document.createElement(this.tagName);return oo.entries(t,this.#t),t.append(...this.#e),t}};function $f(o,t=document){let e=t.querySelector(o);if(!e)throw new Error(`element not found (${o})`);return e}function ju(o,t=document){return t.querySelector(o)}function Iu(o,t=document){return Array.from(t.querySelectorAll(o))}var zu=class o{element;#t;constructor(t){this.element=t}in(t){return new o(typeof t=="string"?$f(t,this.element):t)}require(t){return $f(t,this.element)}maybe(t){return ju(t,this.element)}all(t){return Iu(t,this.element)}render(...t){return oe(t,this.element)}get attrs(){return this.#t??=Sf(this.element)}events(t){return Pu(this.element,t)}};function xt(o,t=document){return $f(o,t)}xt.in=(o,t=document)=>new zu(t).in(o);xt.need=$f;xt.maybe=ju;xt.all=Iu;xt.el=Bp;xt.elmer=Ip;xt.mk=Pp;xt.events=Pu;xt.attrs=Sf;xt.register=wu;xt.render=(o,...t)=>oe(t,o);var Vu={};bm(Vu,{DragAndDrops:()=>Ud,Drops:()=>Rd,files:()=>Um,hasFiles:()=>Tm,outsideCurrentTarget:()=>uu});var zp=Object.freeze({eq(o,t){if(o.length!==t.length)return!1;let e=0;for(let s=0;s<o.length;s++)e|=o[s]^t[s];return e===0},random(o){return crypto.getRandomValues(new Uint8Array(o))},concat(o){let t=0;for(let r of o)t+=r.byteLength;let e=new Uint8Array(t),s=0;for(let r of o)e.set(r,s),s+=r.byteLength;return e}});var Oe=class{lexicon;static lexicons=Object.freeze({base2:{characters:"01"},hex:{characters:"0123456789abcdef",caseInsensitive:!0},base36:{characters:"0123456789abcdefghijklmnopqrstuvwxyz"},base58:{characters:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},base62:{characters:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"},base64url:{negativePrefix:"~",characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},base64:{characters:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",padding:{character:"=",size:4}}});lookup;negativePrefix;constructor(t){this.lexicon=t,this.lookup=Object.fromEntries([...t.characters].map((s,r)=>[s,r])),this.negativePrefix=t.negativePrefix??"-";let e=this.fromBytes.bind(this);return Object.setPrototypeOf(e,new.target.prototype),Object.assign(e,this),e}toBytes(t){this.lexicon.caseInsensitive&&(t=t.toLowerCase());let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let u=0,v=0,m=[];for(let $ of t){if($===this.lexicon.padding?.character)continue;let H=this.lookup[$];if(H===void 0)throw new Error(`Invalid character: ${$}`);for(u=u<<e|H,v+=e;v>=8;)v-=8,m.push(u>>v&255)}return new Uint8Array(m)}let s=0n,r=BigInt(this.lexicon.characters.length);t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length));let n=this.lexicon.characters[0],c=0;for(;t[c]===n;)c++;t=t.slice(c);for(let u of t){let v=this.lookup[u];if(v===void 0)throw new Error(`Invalid character: ${u}`);s=s*r+BigInt(v)}let i=new Uint8Array(c+(s===0n?0:this.countBytes(s))),a=i.length;for(;s>0n;)i[--a]=Number(s%256n),s=s/256n;return i}fromBytes(t){let e=Math.log2(this.lexicon.characters.length);if(Number.isInteger(e)){let a=0,u=0,v="";for(let m of t)for(a=a<<8|m,u+=8;u>=e;){u-=e;let $=a>>u&(1<<e)-1;v+=this.lexicon.characters[$]}if(u>0){let m=a<<e-u&(1<<e)-1;v+=this.lexicon.characters[m]}if(this.lexicon.padding)for(;v.length%this.lexicon.padding.size!==0;)v+=this.lexicon.padding.character;return v}if(t.length===0)return"";let s=this.lexicon.characters[0],r=0;for(;t[r]===0;)r++;let n=0n;for(let a of t.slice(r))n=(n<<8n)+BigInt(a);if(n===0n)return s.repeat(r);let c=BigInt(this.lexicon.characters.length),i="";for(;n>0n;)i=this.lexicon.characters[Number(n%c)]+i,n=n/c;return s.repeat(r)+i}toInteger(t){if(!t)return 0;let e=0n,s=!1,r=BigInt(this.lexicon.characters.length);t.startsWith(this.negativePrefix)&&(t=t.slice(this.negativePrefix.length),s=!0);for(let n of t){let c=this.lookup[n];if(c===void 0)throw new Error(`Invalid character: ${n}`);e=e*r+BigInt(c)}return Number(s?-e:e)}fromInteger(t){t=Math.floor(t);let e=t<0,s=BigInt(e?-t:t);if(s===0n)return this.lexicon.characters[0];let r=BigInt(this.lexicon.characters.length),n="";for(;s>0n;)n=this.lexicon.characters[Number(s%r)]+n,s=s/r;return e?`${this.negativePrefix}${n}`:n}random(t=32){return this.fromBytes(zp.random(t))}countBytes(t){let e=0;for(;t>0n;)e++,t=t/256n;return e}};var Ef=new Oe(Oe.lexicons.hex),U4=new Oe(Oe.lexicons.base2),R4=new Oe(Oe.lexicons.base36),D4=new Oe(Oe.lexicons.base58),H4=new Oe(Oe.lexicons.base62),V4=new Oe(Oe.lexicons.base64),N4=new Oe(Oe.lexicons.base64url);var Tp=o=>new TextDecoder().decode(o),Bm=o=>new TextEncoder().encode(o);function Tu(o){return Tp(o)}Tu.fromBytes=Tp;Tu.toBytes=Bm;function Up(o,t){let e,s,r=[];function n(){e=[],s&&clearTimeout(s),s=void 0,r=[]}return n(),((...c)=>{e=c,s&&clearTimeout(s);let i=new Promise((a,u)=>{r.push({resolve:a,reject:u})});return s=setTimeout(()=>{Promise.resolve().then(()=>t(...e)).then(a=>{for(let{resolve:u}of r)u(a);n()}).catch(a=>{for(let{reject:u}of r)u(a);n()})},o),i})}function df(){let o,t,e=new Promise((s,r)=>{o=s,t=r});return e.resolve=o,e.reject=t,e.promise=e,e.entangle=s=>(s.then(o,t),e),e}function Lf(o){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:df()},queueMicrotask(()=>{let{params:s,deferred:r}=t;t=null,Promise.resolve(o(...s)).then(r.resolve).catch(r.reject)})),t.deferred.promise))}function t2(o,t=new Set){if(t.has(o))throw new Error("cannot clone circular reference");let e;return typeof o=="function"||o!==null&&typeof o=="object"?(t.add(o),Array.isArray(o)?e=o.map(s=>t2(s,new Set(t))):o.constructor===Object?e=Object.fromEntries(Object.entries(o).map(([s,r])=>[s,t2(r,new Set(t))])):o instanceof Map?e=new Map(Array.from(o,([s,r])=>[s,t2(r,new Set(t))])):o instanceof Set?e=new Set(Array.from(o,s=>t2(s,new Set(t)))):o instanceof Date?e=new Date(o.getTime()):e=o,t.delete(o)):e=o,e}function k0(o){return o!=null}var Mf=o=>typeof o=="number",Of=o=>typeof o=="string";var iu=o=>typeof o=="object"&&o!==null,Uu=o=>Array.isArray(o);function Pm(o){return o!=null}function Cm(o){return o==null}var Y4=Object.freeze({happy:Pm,sad:Cm,boolean:o=>typeof o=="boolean",number:o=>typeof o=="number",string:o=>typeof o=="string",bigint:o=>typeof o=="bigint",object:o=>typeof o=="object"&&o!==null,array:o=>Array.isArray(o),fn:o=>typeof o=="function",symbol:o=>typeof o=="symbol"});var Rp=(o,t)=>{function e(s,r,n){if(!iu(s)||!iu(r))return s===r;if(n.includes(s))throw new Error("forbidden circularity detected in deep equal comparison");let c=[...n,s];if(s instanceof Map&&r instanceof Map){if(s.size!==r.size)return!1;for(let[i,a]of s)if(!r.has(i)||!e(a,r.get(i),c))return!1}else if(s instanceof Set&&r instanceof Set){if(s.size!==r.size)return!1;for(let i of s)if(!Array.from(r).some(a=>e(i,a,c)))return!1}else{let i=Object.keys(s),a=Object.keys(r);if(i.length!==a.length)return!1;for(let u of i)if(!a.includes(u)||!e(s[u],r[u],c))return!1}return!0}return e(o,t,[])};function pf(o){function t(e,s){if(!iu(e)||s.includes(e))return e;let r=[...s,e];if(e instanceof Map)for(let n of e.entries())for(let c of n)t(c,r);else if(e instanceof Set)for(let n of e)t(n,r);else if(Array.isArray(e))for(let n of e)t(n,r);else for(let n of Object.values(e))t(n,r);return Object.freeze(e)}return t(o,[])}function Dp(o){if(o.ok)return o.value;let{error:t}=o;throw t instanceof Error?t:typeof t=="string"?new Error(t):new Error("unknown")}function Hp(o){if(o.ok)throw new Error("didn't get needed error");return o.error}function tc(o,t="got failed"){if(o==null)throw new Error(t);return o}function Bf(o,t,e){if(o.has(t))return o.get(t);{let s=e();return o.set(t,s),s}}function au(o,t){for(let[e,s]of t)o.set(e,s);return o}function Vp(o,t){return t<=0?[]:o.length>t?o.slice(-t):o}async function Cd(o){let t=[];for await(let e of o)t.push(e);return t}function Pf(o){let t,e=!1,s=()=>{e=!0,clearTimeout(t)},r=async()=>{e||(await o(s),!e&&(t=setTimeout(r,0)))};return r(),s}function jd(o){return new DataView(o.buffer,o.byteOffset,o.byteLength)}function J0(){let o=[],t=()=>{let s=o;o=[];for(let r=s.length-1;r>=0;r--)s[r]()};function e(){t()}return e.dispose=t,e.schedule=(...s)=>(o.push(...s),e),e.own=(s,r)=>(o.push(()=>r(s)),s),e.disposable=s=>(o.push(()=>s.dispose()),s),e.disposables=e.disposable,e}function ec(o,t){let e=Object.entries(t);for(let[s,r]of e)o.addEventListener(s,r);return()=>{for(let[s,r]of e)o.removeEventListener(s,r)}}var Cf=class{count;constructor(t=0){this.count=t}next(){return this.count++}};var jf=(o=0)=>new Promise(t=>setTimeout(t,o));var Id=(o,t)=>Object.fromEntries(Object.entries(o).map(([e,s])=>[e,t(s,e)])),jm=(o,t)=>Object.fromEntries(Object.entries(o).filter(([e,s])=>t(s,e)));function Im(o){return{map:t=>Np(o,t),filter:t=>Fp(o,t)}}Im.pipe=Object.freeze({map:o=>(t=>Np(t,o)),filter:o=>(t=>Fp(t,o))});var Np=Id,Fp=jm;function d2(o){let t=zm(),e=s=>t.on(s);return Object.assign(e,t),o&&t.on(o),e}function zm(){let o=new Set,t,e=()=>t??=df(),s=i=>{let a=t;t=void 0,a?.resolve(i)};return{set:o,on:i=>(o.add(i),()=>{o.delete(i)}),publish:(...i)=>{s(i);for(let a of[...o])a(...i)},publishAsync:async(...i)=>{s(i),await Promise.all([...o].map(async a=>a(...i)))},next:e}}function p2(o,...t){let e=o.length-1;return o.slice(0,e).reduce((s,r,n)=>s+r+t[n],"")+o[e]}function If(o,t,e){return o?t():e?.()}function Ru(o,t,e){return k0(o)?t(o):e?.()}var Du=class{#t=new Set;#e=[];#n=new WeakMap;#o=0;#s=new Set;read(t){this.#e.at(-1)?.add(t)}write(t){let e=this.#n.get(t);if(e){for(let s of e)this.#s.add(s);this.#o===0&&this.#r()}}observe(t){let e=new Set;this.#e.push(e);try{let s=t();return{seen:e,value:s}}finally{this.#e.pop()}}subscribe(t,e){let s=Bf(this.#n,t,()=>new Set);return s.add(e),()=>{s.delete(e),s.size===0&&this.#n.delete(t)}}batch=t=>{this.#o++;try{return t()}finally{this.#o--,this.#o===0&&this.#r()}};#c(t){if(this.#t.has(t))throw new Error("circularity forbidden");this.#t.add(t);try{t()}finally{this.#t.delete(t)}}#r(){for(;this.#s.size>0;){let t=[...this.#s];this.#s.clear();for(let e of t)this.#c(e)}}};var q=globalThis[Symbol.for("e280.tracker.2")]??=new Du;function oc(o){let t;function e(){return arguments.length===0?(q.read(e),o):(o=arguments[0],q.write(e),t?.publish(o),o)}return e.get=()=>e(),e.set=s=>e(s),e.on=s=>(t??=d2())(s),e}var e2=class extends Map{get size(){return q.read(this),super.size}[Symbol.iterator](){return q.read(this),super[Symbol.iterator]()}forEach(t){q.read(this);for(let[e,s]of this)t(s,e,this);return this}keys(){return q.read(this),super.keys()}values(){return q.read(this),super.values()}entries(){return q.read(this),super.entries()}has(t){return q.read(this),super.has(t)}get(t){return q.read(this),super.get(t)}set(t,e){return super.set(t,e),q.write(this),this}delete(t){let e=super.delete(t);return q.write(this),e}clear(){return super.clear(),q.write(this),this}};var lu=class extends Set{get size(){return q.read(this),super.size}[Symbol.iterator](){return q.read(this),super[Symbol.iterator]()}forEach(t){q.read(this);for(let e of this)t(e,e,this);return this}values(){return q.read(this),super.values()}has(t){return q.read(this),super.has(t)}add(t){return super.add(t),q.write(this),this}delete(t){let e=super.delete(t);return q.write(this),e}clear(){return super.clear(),q.write(this),this}};var W6=q.batch;function Kp(o){return pf(t2(o))}var o2=Symbol("optic");var fu=class{calculate;#t=!1;#e;constructor(t){this.calculate=t,this.#e=t()}get(){return this.#t&&(this.#t=!1,this.#e=this.calculate()),this.#e}invalidate(){this.#t=!0}};var Hu=class o{[o2];#t;#e;#n;#o=d2();constructor(t){this[o2]=t,this.#t=t2(t.getState()),this.#e=new fu(()=>t2(t.getState())),this.#n=new fu(()=>Kp(t.getState()))}get on(){return this.#o.on}update(){let t=this[o2].getState();!Rp(t,this.#t)&&(this.#e.invalidate(),this.#n.invalidate(),this.#t=t2(t),q.write(this),this.#o.set.size&&this.#o.publish(this.#e.get()))}get state(){return q.read(this),this.#e.get()}get frozen(){return q.read(this),this.#n.get()}mutate(t){return this[o2].mutate(t)}lens(t){let e=new o({getState:()=>t(this[o2].getState()),mutate:s=>this[o2].mutate(r=>s(t(r))),registerLens:this[o2].registerLens});return this[o2].registerLens(e),e}};function Wp(o){if(!o.done)throw new Error("wait not done");return Dp(o)}function Gp(o){if(!o.done)throw new Error("wait not done");return Hp(o)}var Xp=o=>!o.done;var Td=o=>o.done&&o.ok;function Jp(o,t){let{pending:e=()=>{},ok:s=()=>{},err:r=()=>{}}=t;return Xp(o)?e():Td(o)?s(Wp(o)):r(Gp(o))}function Tm(o){return!!(o.dataTransfer&&o.dataTransfer.types.includes("Files"))}function Um(o){return o.dataTransfer?Array.from(o.dataTransfer.files):[]}function uu(o){let t=o.currentTarget,e=o.relatedTarget;return!t||!e||!t.contains(e)}var Ud=class{params;$draggy=oc(void 0);$droppy=oc(void 0);constructor(t){this.params=t}get dragging(){return this.$draggy()}get hovering(){return this.$droppy()}dragzone=t=>({draggable:"true",dragstart:e=>{this.$draggy(t())},dragend:e=>{this.$draggy(void 0),this.$droppy(void 0)}});dropzone=t=>({dragenter:e=>{},dragover:e=>{e.preventDefault(),this.$draggy()?this.$droppy(t()):this.params.backchannelDrops?.dragover(e)},dragleave:e=>{uu(e)&&this.$droppy(void 0),this.params.backchannelDrops?.dragleave(e)},drop:e=>{e.preventDefault();let{acceptDrop:s}=this.params,r=this.$draggy(),n=this.$droppy();try{r&&n?s(e,r,n):this.params.backchannelDrops?.drop(e)}finally{this.$draggy(void 0),this.$droppy(void 0)}}})};var Rd=class{params;$indicator=oc(!1);constructor(t){this.params=t}dragover=t=>{t.preventDefault(),this.$indicator(this.params.predicate(t))};dragleave=t=>{uu(t)&&this.$indicator(!1)};drop=t=>{t.preventDefault(),this.$indicator(!1),this.params.predicate(t)&&this.params.acceptDrop(t)}};var zf=ee`
|
|
4
4
|
* {
|
|
5
5
|
margin: 0;
|
|
6
6
|
padding: 0;
|
|
@@ -14,18 +14,18 @@ var Ms=Object.defineProperty;var Ps=(r,t)=>{for(var e in t)Ms(r,e,{get:t[e],enum
|
|
|
14
14
|
::-webkit-scrollbar-track { background: transparent; }
|
|
15
15
|
::-webkit-scrollbar-thumb { background: #888; border-radius: 1em; }
|
|
16
16
|
::-webkit-scrollbar-thumb:hover { background: #999; }
|
|
17
|
-
`;var
|
|
17
|
+
`;var Nu=class o extends HTMLElement{static register(){xt.register({SlyShadow:o},{soft:!0})}connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};var vu=class{render;count=0;rendered=df();constructor(t){this.render=t}doneRender(){this.count++,this.rendered.resolve(),this.rendered=df()}},h2=class extends vu{host;shadow;constructor(t,e,s){super(t),this.host=e,this.shadow=s}};var Dd=class{#t=[];get scope(){let t=this.#t.at(-1);if(!t)throw new Error("hooks must be called within a render fn");return t}increment(){let t=this.scope,e=t.position++;return{scope:t,position:e}}wrap(t,e){t.position=0,this.#t.push(t);try{return e()}finally{this.#t.pop()}}},Y0=globalThis[Symbol.for("e280.hooks")]??=new Dd;var m2=class{#t=[];clear(){this.#t.forEach(t=>t()),this.#t=[]}observe(t,e){let{seen:s,value:r}=q.observe(t);this.clear();for(let n of s){let c=q.subscribe(n,e);this.#t.push(c)}return r}};var Fu=class{#t=[];#e=[];mount(t){this.#t.push(t),this.#e.push(t())}unmountAll(){for(let t of this.#e)t();this.#e=[]}remountAll(){for(let t of this.#t)this.#e.push(t())}};var x2=class{cx;position=0;values=new Map;mounts=new Fu;constructor(t){this.cx=t}};var{I:og}=Op;var Yp=o=>o.strings===void 0;var Zp={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},du=o=>(...t)=>({_$litDirective$:o,values:t}),qu=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var pu=(o,t)=>{let e=o._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),pu(s,t);return!0},Ku=o=>{let t,e;do{if((t=o._$AM)===void 0)break;e=t._$AN,e.delete(o),o=t}while(e?.size===0)},Qp=o=>{for(let t;t=o._$AM;o=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(o))break;e.add(o),Nm(t)}};function Hm(o){this._$AN!==void 0?(Ku(this),this._$AM=o,Qp(this)):this._$AM=o}function Vm(o,t=!1,e=0){let s=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(t)if(Array.isArray(s))for(let n=e;n<s.length;n++)pu(s[n],!1),Ku(s[n]);else s!=null&&(pu(s,!1),Ku(s));else pu(this,o)}var Nm=o=>{o.type==Zp.CHILD&&(o._$AP??=Vm,o._$AQ??=Hm)},Tf=class extends qu{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),Qp(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(pu(this,t),Ku(this))}setValue(t){if(Yp(this._$Ct))this._$Ct._$AI(t,this);else{let e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};function Ei(o){return du(class extends Tf{#t;#e=new vu(Lf(()=>{if(!this.#t)throw new Error("cannot render before props");if(this.isConnected){let e=this.render(...this.#t);this.setValue(e),this.#e.doneRender()}}));#n=new x2(this.#e);#o=new m2;update(e,s){let r=super.update(e,s);return this.isConnected&&this.#e.doneRender(),r}render(...e){return this.#t=e,this.#o.observe(()=>Y0.wrap(this.#n,()=>o(...this.#t)),this.#e.render)}disconnected(){this.#n.mounts.unmountAll(),this.#o.clear()}reconnected(){this.#n.mounts.remountAll(),this.#e.render()}})}function th(o,t){for(let[e,s]of Object.entries(t))Fm(o,e,s)}function Fm(o,t,e){let s=o.getAttribute(t),r=qm(e);r!==s&&(r===null?o.removeAttribute(t):o.setAttribute(t,r))}function qm(o){return typeof o=="string"?o:typeof o=="number"?o.toString():o?"":null}function Km(){Nu.register();let o=document.createElement("sly-shadow"),t=o.attachShadow({mode:"open"});return{host:o,shadow:t}}function g2(o){return oh(Km,o)}g2.setup=o=>(t=>oh(o,t));var eh=g2;function oh(o,t){let e=du(class extends Tf{#t;#e;#n;#o=new m2;constructor(r){super(r);let{host:n,shadow:c}=o(),i=Lf(()=>{if(!this.#n)throw new Error("cannot render before props");if(!this.isConnected)return;let a=this.#s(this.#n);oe(a,this.#t.shadow),this.#t.doneRender()});this.#t=new h2(i,n,c),this.#e=new x2(this.#t)}#s(r){return this.#n=r,this.#o.observe(()=>Y0.wrap(this.#e,()=>t(...this.#n)),this.#t.render)}render({props:r,children:n,attrs:c}){let{host:i}=this.#t;return this.isConnected&&(c&&th(i,c),oe(n,this.#t.host),oe(this.#s(r),this.#t.shadow),this.#t.doneRender()),i}disconnected(){oe(null,this.#t.shadow),oe(null,this.#t.host),this.#e.mounts.unmountAll(),this.#o.clear()}reconnected(){this.#e.mounts.remountAll(),this.#t.render()}});function s(...r){return e({props:r})}return s.with=e,s}function nh(o){return class extends HTMLElement{#t;#e;#n=new m2;#o=this.attachShadow({mode:"open"});constructor(){super();let t=Lf(()=>{if(!this.isConnected)return;let e=this.#s();oe(e,this.#t.shadow),this.#t.doneRender()});this.#t=new h2(t,this,this.#o),this.#e=new x2(this.#t)}#s(){return this.#n.observe(()=>Y0.wrap(this.#e,()=>o()),this.#t.render)}render(){oe(this.#s(),this.#t.shadow),this.#t.doneRender()}connectedCallback(){this.#e.mounts.remountAll(),this.#t.render()}disconnectedCallback(){this.#e.mounts.unmountAll(),this.#n.clear()}}}function b2(o){return[g2(o),(...s)=>nh(()=>o(...s))]}function ne(o){let{scope:t,position:e}=Y0.increment();return Bf(t.values,e,o)}function hu(){return Y0.increment().scope.cx}function Wu(){let o=hu();if(!(o instanceof h2))throw new Error("this hook only works on shadow views (but was called in a light view)");return o}function mu(){return Wu().host}function hf(o){let{scope:t}=Y0.increment();return ne(()=>t.mounts.mount(o))}function rh(){return Wu().shadow}function ch(o,t){Au(o,Gm(t))}function Gm(o){let t=[];if(Array.isArray(o)){let e=new Set(o.flat(1/0).reverse());for(let s of e)t.unshift(kf(s))}else o!==void 0&&t.push(kf(o));return t}function n2(...o){let t=rh();ne(()=>ch(t,o))}function Uf(o=""){let t=mu();ne(()=>t.setAttribute("view",o))}function u2(o){return ne(()=>oc(o))}var Rf=n2;function ih(o){return hf(()=>o)}function s2(o,t){return()=>Jm({hz:o,frames:t})}var Jm=g2(({hz:o,frames:t})=>{Uf("loading"),Rf(zf,Ym);let e=u2(0);return hf(()=>Pf(async()=>{await jf(1e3/o);let s=e()+1;e(s>=t.length?0:s)})),t.at(e())}),Ym=ee`
|
|
18
18
|
:host {
|
|
19
19
|
font-family: monospace;
|
|
20
20
|
white-space: pre;
|
|
21
21
|
user-select: none;
|
|
22
22
|
}
|
|
23
|
-
`;var
|
|
23
|
+
`;var r2=g2(o=>(Uf("error"),Rf(zf,Zm),typeof o=="string"?o:o instanceof Error?I`<strong>${o.name}:</strong> <span>${o.message}</span>`:"error")),Zm=ee`
|
|
24
24
|
:host {
|
|
25
25
|
font-family: monospace;
|
|
26
26
|
color: red;
|
|
27
27
|
}
|
|
28
|
-
`;function N(r,t){return(e,o)=>mo(e,{pending:r,err:t,ok:o})}var ad=N(R(10,[" "," ",". ",".. ","..."," .."," ."]),L);var hd=N(R(3,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),L);var bd=N(R(10,["\u{1F312}","\u{1F313}","\u{1F314}","\u{1F315}","\u{1F316}","\u{1F317}","\u{1F318}","\u{1F311}","\u{1F311}","\u{1F311}"]),L);var $d=N(R(16,["|","/","-","\\"]),L);var Cd=N(R(20,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),L);var Co=r=>r;var Eo=r=>r,Mo=r=>r;var hn=Co({looking:{horizontal:["accumulate","pointer.x"],vertical:["accumulate","pointer.y"]},moving:{forward:"KeyW",backward:"KeyS",leftward:"KeyA",rightward:"KeyD"},interactions:{use:"KeyE"}}),Po=Mo({standard:{label:"\u2328\uFE0Fstandard",bindings:hn},gamer:{label:"\u{1F3AE}gamer",bindings:{looking:{horizontal:["*",["dt"],"gamepad.axis.3",100],vertical:["*",["dt"],"gamepad.axis.4",100]},moving:{forward:["remap",0,-1,0,1,"gamepad.axis.2"],backward:["remap",0,1,0,1,"gamepad.axis.2"],leftward:["remap",0,-1,0,1,"gamepad.axis.1"],rightward:["remap",0,1,0,1,"gamepad.axis.1"]},interactions:{use:"gamepad.1"}}},micro:{label:"\u{1F9A0}micro",bindings:{looking:{horizontal:["*",["dt"],["+","gamepad.1",["-","gamepad.4"]],100],vertical:["*",["dt"],["+","gamepad.2",["-","gamepad.3"]],100]},moving:{forward:["remap",0,-1,0,1,"gamepad.axis.2"],backward:["remap",0,1,0,1,"gamepad.axis.2"],leftward:["remap",0,-1,0,1,"gamepad.axis.1"],rightward:["remap",0,1,0,1,"gamepad.axis.1"]},interactions:{use:["*","gamepad.5","gamepad.6"]}}}});function zo(r){let e=r.reduce((a,{intents:c})=>a+8+c.byteLength,0),o=new ArrayBuffer(e),s=new DataView(o),n=new Uint8Array(o),i=0;for(let{playerId:a,intents:c}of r)s.setUint32(i,a,!1),i+=4,s.setUint32(i,c.byteLength,!1),i+=4,n.set(new Uint8Array(c),i),i+=c.byteLength;return o}function Ce(r,t){let e=4+t.length*6,o=new ArrayBuffer(e),s=new DataView(o),n=0;s.setUint32(n,r,!1),n+=4;for(let i of t)s.setUint16(n,i.id,!1),n+=2,s.setFloat32(n,i.value,!1),n+=4;return o}function lt(r){return!!(r===null||xt(r)||bt(r)||ge(r))}function q(r){let t=[];function e(o,s){if(lt(o))t.push(s.join("."));else for(let[n,i]of Object.entries(o))e(i,[...s,n])}return e(r,["b"]),so(...t)}var Ee=class{bindings;#t;#e=new vt;#o=new Vt;#r=new B;constructor(t){this.bindings=t,this.#t=q(t)}get playerIds(){return[...this.#r.keys()]}get controllers(){return{unassigned:[...this.#o],assigned:new Map([...this.#r].map(([t,e])=>[t,[...e.controllers]]))}}createPlayer(){let t=this.#e.next();return this.#r.set(t,{controllers:new Vt}),t}deletePlayer(t){return this.#r.get(t)?.controllers.forEach(e=>this.#o.add(e)),this.#r.delete(t),this}add(t){return this.unplug(t),this}remove(t){return this.unplug(t),this.#o.delete(t),this}unplug(t){this.#o.add(t);for(let e of this.#r.values())e.controllers.delete(t);return this}plug(t,e){return e??=this.playerIds.at(-1)??this.createPlayer(),this.unplug(t),S(this.#r.get(e)).controllers.add(t),this.#o.delete(t),this}encode(t,e=performance.now()){let o=new Map,{controllers:s}=S(this.#r.get(t));for(let i of s)for(let a of i.evaluate(e)){let c=o.get(a.id)??0;o.set(a.id,c+a.value)}let n=[...o].filter(([,i])=>i!==0).map(([i,a])=>({id:i,value:a}));return Ce(this.#t,n)}encodeAll(t=performance.now()){for(let o of this.#o)o.clear();let e=Array.from(this.#r.keys()).map(o=>({playerId:o,intents:this.encode(o,t)}));return zo(e)}};function Oo({start:r,end:t}){if(E(r)&&E(t))return IDBKeyRange.bound(r,t,!1,!0);if(E(r))return IDBKeyRange.lowerBound(r,!1);if(E(t))return IDBKeyRange.upperBound(t,!0)}async function To(r){return new Promise((t,e)=>{r.onsuccess=()=>t(r.result),r.onerror=()=>e(r.error)})}function Bo({db:r,storeName:t}){let e=o=>(async s=>{let n=r.transaction(t,o),i=n.objectStore(t),a=new Promise((c,l)=>{n.onabort=()=>l(n.error??new Error("transaction aborted")),n.oncomplete=()=>c(void 0)});try{let c=await s(i,To);return n.commit(),await a,c}catch(c){try{n.abort()}catch{}throw c}});return{readonly:e("readonly"),readwrite:e("readwrite")}}var Me=class{#t;constructor(t){this.#t=Bo(t)}async commit(t){return this.#t.readwrite(async e=>{for(let[o,s]of t)s===void 0?e.delete(o):e.put(s,o)})}async getMany(t){return this.#t.readonly((e,o)=>Promise.all(t.map(s=>o(e.get(s)))))}async*entries(t={}){t.limit!==0&&(yield*await this.#t.readonly(async(e,o)=>{let s=[],n=t.reverse?"prev":"next",i=e.openCursor(Oo(t),n),a=await o(i);for(;a&&(s.push([a.key,a.value]),!(t.limit!==void 0&&s.length>=t.limit));)a.continue(),a=await o(i);return s}))}};var Do=(r,t)=>r<t?-1:r>t?1:0;function jo(r,{start:t,end:e}){return!(t!==void 0&&r<t||e!==void 0&&r>=e)}function*vr(r,t){if(r.limit===0)return;let e=t.filter(([o,s])=>s!==void 0&&jo(o,r)).sort(([o],[s])=>Do(o,s));r.reverse&&e.reverse(),yield*e.slice(0,r.limit??1/0)}var Pe=class{#t=new Map;async commit(t){for(let[e,o]of t)o===void 0?this.#t.delete(e):this.#t.set(e,structuredClone(o))}async getMany(t){return t.map(e=>structuredClone(this.#t.get(e)))}async*entries(t={}){yield*vr(t,[...this.#t.entries()].map(([e,o])=>[e,structuredClone(o)]))}};async function Ro(r,t=r){return{db:await new Promise((o,s)=>{let n=indexedDB.open(r,1);n.onblocked=()=>s(new Error("idb blocked")),n.onerror=()=>s(n.error),n.onupgradeneeded=()=>n.result.createObjectStore(t),n.onsuccess=()=>o(n.result)}),storeName:t}}var ze=class{#t;#e;constructor(t,e){this.#t=t,this.#e=e}set(t){return this.#e.set(this.#t,t)}delete(){return this.#e.delete(this.#t)}};var Oe=class{kv;key;op;constructor(t,e){this.kv=t,this.key=e,this.op=new ze(e,t.op)}async set(t){return this.kv.set(this.key,t)}async get(){return this.kv.get(this.key)}async has(){return await this.get()!==void 0}async need(){return S(await this.get(),`key not found "${this.key}"`)}async delete(){return this.kv.set(this.key,void 0)}};var Et=at({divisor:".",delimiter:":",chunkSize:1024});function Zt(r){for(let t=r.length-1;t>=0;t--){let e=r.charCodeAt(t);if(e<65535)return r.slice(0,t)+String.fromCharCode(e+1)}}var Te=class{#t;#e=[{}];constructor(t,e){if(this.#t=t,e.length){let o=e.join(Et.divisor),s=o+".",n=o+":";this.#e=[{start:n,end:Zt(n)},{start:s,end:Zt(s)}]}}async count(){let t=0;for(let e of this.#e)for await(let o of this.#t.entries(e))t++;return t}async clear(){let t=[];for(let e of this.#e)for await(let[o]of this.#t.entries(e))t.push([o,void 0]),t.length>=1024&&(await this.#t.commit(t),t=[]);t.length&&await this.#t.commit(t)}};var Be=class{#t;constructor(t){this.#t=t}set(t,e){return[this.#t.prefix(t),e]}delete(t){return[this.#t.prefix(t),void 0]}};var{divisor:fn,delimiter:gn}=Et,De=class{#t;#e;constructor(t){let{scopes:e}=t;this.#t=e.join(fn)+gn,this.#e=Zt(this.#t)}prefix=t=>this.#t+t;unprefix=t=>t.slice(this.#t.length);scan=t=>{let{start:e,end:o,limit:s,reverse:n}=t;return{start:this.#t+(e??""),end:o===void 0?this.#e:this.#t+o,limit:s,reverse:n}}};function Lo(r){let t=r.limit;if(t!==void 0){if(!Number.isInteger(t))throw new Error("scan limit must be integer");if(t<0)throw new Error("scan limit must be positive")}return r}function Io(r){for(let t of r){if(t==="")throw new Error("invalid scope empty string");No(t,"."),No(t,":")}return r}function No(r,t){if(r.includes(t))throw new Error(`invalid scope "${r}" contains illegal "${t}"`)}var je=class r{op;subtree;#t;#e;#o;#r;constructor(t=new Pe,e={}){this.#t=t,this.#r={strict:!1,scopes:[],...e},Io(this.#r.scopes),this.#e=new De(this.#r),this.op=new Be(this.#e),this.subtree=new Te(this.#t,this.#r.scopes),this.#o=this.#r.strict?o=>JSON.parse(JSON.stringify(o)):o=>o}cell(t){return new Oe(this,t)}scope(...t){return new r(this.#t,{...this.#r,scopes:[...this.#r.scopes,...t]})}async commit(t){await this.#t.commit(t.map(([e,o])=>[e,o===void 0?void 0:this.#o(o)]))}async set(t,e){return this.commit([this.op.set(t,e)])}async setMany(t){return this.commit(t.map(([e,o])=>this.op.set(e,o)))}async delete(...t){return this.commit(t.map(e=>this.op.delete(e)))}async getMany(t){return t=t.map(e=>this.#e.prefix(e)),(await this.#t.getMany(t)).map(e=>e===void 0?void 0:e)}async get(t){let[e]=await this.getMany([t]);return e}async has(t){return await this.get(t)!==void 0}async need(t){return S(await this.get(t),`key not found "${t}"`)}async needMany(t){let e=await this.getMany(t);for(let[o,s]of t.entries())S(e[o],`key not found "${s}"`);return e}async*entries(t={}){t=Lo(this.#e.scan(t));for await(let[e,o]of this.#t.entries(t)){let s=this.#e.unprefix(e);o!==void 0&&(yield[s,o])}}[Symbol.asyncIterator](){return this.entries()}async*keys(t={}){for await(let[e]of this.entries(t))yield e}async*values(t={}){for await(let[,e]of this.entries(t))yield e}async count(t={}){let e=0;for await(let o of this.keys(t))e++;return e}async clear(t={}){let e=[];for await(let[o]of this.entries(t))e.push(this.op.delete(o)),e.length>=Et.chunkSize&&(await this.commit(e),e=[]);e.length&&await this.commit(e)}};async function Ho(r,t){let e=()=>{};if(!t){let o=await Ro(r,"kv"),s=new Me(o);t=new je(s),e=()=>o.db.close()}return{kv:t,dispose:e}}function $r(r,t){let{presets:e,customs:o,fallback:s}=r.profiles;return t===void 0?s.profile:o.get(t)??e.get(t)??S(e.get(s.key))}async function Re(r,t,e){let{kvs:o,controllers:s,assignments:n}=r;t.bindings=$r(r,e).bindings,n.set(t,e),await be(s.get(t)?.handle,async i=>{r.preferences.set(i,e),await o.preferences.set(i,e)})}function Vo(r,t){return q(r)===q(t)}var Le=class{#t;constructor(t){this.#t=t}#e(t){if(!Vo(t,this.#t.bindings))throw new Error("incompatible bindings")}get presets(){return[...this.#t.profiles.presets]}get customs(){return[...this.#t.profiles.customs]}isPreset(t){return this.#t.profiles.presets.has(t)}get(t){return $r(this.#t,t)}async create(t,e){let{kvs:o,profiles:s}=this.#t;this.#e(e.bindings),s.customs.set(t,e),await o.profiles.set(t,e),this.#t.subby.publish()}async clone(t,e){let{label:o,bindings:s}=this.get(e);await this.create(t,{basedOn:e,bindings:s,label:`${o} copy`})}async delete(t){let{kvs:e,assignments:o,profiles:{customs:s,fallback:n}}=this.#t;s.delete(t),await e.profiles.delete(t);for(let[i,a]of o)a===t&&await Re(this.#t,i,n.key);this.#t.subby.publish()}async update(t,e){let{kvs:o,assignments:s,profiles:{customs:n}}=this.#t;e.bindings&&this.#e(e.bindings);let i=this.get(t),a={...structuredClone(i),...e};n.set(t,a);for(let[c,l]of s)l===t&&(c.bindings=a.bindings);await o.profiles.set(t,a),this.#t.subby.publish()}};function Uo(r){let{presets:t}=r,e=S(Object.keys(t)[0],"missing presets"),o=S(t[e]),s=o.bindings,n=r.kv.scope(q(s).toString()),i={presets:new B,customs:new B,fallback:{key:e,profile:o}};return Ht(i.presets,Object.entries(t)),{subby:W(),kv:n,presets:t,bindings:s,idCounter:new vt,profiles:i,controllers:new B,assignments:new B,preferences:new B,kvs:{profiles:n.scope("profiles"),preferences:n.scope("preferences")}}}var Ne=class{#t;constructor(t){this.#t=t}async assign(t,e){await Re(this.#t,t,e),this.#t.subby.publish()}assignedProfileKeyOf(t){let{assignments:e}=this.#t;return e.get(t)??this.#t.profiles.fallback.key}};var Ie=class{#t;profiles;assignments;presets;constructor(t){this.#t=Uo(t),this.profiles=new Le(this.#t),this.assignments=new Ne(this.#t),this.presets=t.presets}get on(){return this.#t.subby.on}#e(t){let{preferences:e,assignments:o,controllers:s}=this.#t,n=S(s.get(t)),i=o.get(t)??e.get(n.handle)??n.defaultProfileKey;t.bindings=this.profiles.get(i).bindings,o.set(t,i)}async load(){let{kvs:t,controllers:e,preferences:o,profiles:{customs:s}}=this.#t;s.clear(),Ht(s,await mr(t.profiles)),o.clear(),Ht(o,await mr(t.preferences));for(let n of e.keys())this.#e(n)}get controllers(){return[...this.#t.controllers.keys()]}get fallbackProfileKey(){return this.#t.profiles.fallback.key}meta(t){return this.#t.controllers.get(t)}attach(t,e){let o=this.#t.idCounter.next();this.#t.controllers.set(t,{...e,id:o}),this.#e(t)}detach(t){this.#t.controllers.delete(t),this.#t.assignments.delete(t)}};function He(r){let[t,e]=Object.entries(r)[0];return{key:t,profile:e}}async function qo(r,t){let e=()=>{};if(!t){let o=new BroadcastChannel(r);t=o,e=()=>o.close()}return{broadcastChannel:t,dispose:e}}async function Wo(r){let{dispose:t,schedule:e,disposable:o}=M(),s=r.namespace?`tact_${r.namespace}`:"tact",{kv:n}=o(await Ho(s,r.kv)),{broadcastChannel:i}=o(await qo(s,r.broadcastChannel));try{let{maxPlayers:a}=r,{bindings:c}=He(r.presets).profile,l=new Ee(c),p=new Ie({...r,kv:n});return e(A(i,{message:()=>p.load()})),e(p.on(()=>i.postMessage({}))),await p.load(),Eo({hub:l,controls:p,maxPlayers:a,dispose:t})}catch(a){throw t(),a}}var kr=1024,Ve=class{dispose;#t;#e=[];constructor(t){this.#t=t,this.dispose=t.onSample(e=>{this.#e.push(e),this.#e.length>kr&&console.warn(`tact sampler exceeded limit ${kr}`),this.#e=no(this.#e,kr)})}take(){this.#t.poll?.();let t=this.#e;return this.#e=[],t}};var{min:bn,max:xn,abs:wn,sign:yn,floor:Qf,ceil:Xf,pow:Yf}=Math;function ut(r,t=0,e=1){return r=bn(r,e),r=xn(r,t),r}function vn(r,t,e,o){let n=(e-t)*r;return o!==void 0&&wn(n)>o&&(n=yn(n)*o),t+n}function $n(r,t,e){return(r-t)/(e-t)}function Fo(r,t,e,o=0,s=1,n=!1){let i=$n(r,t,e);return n&&(i=ut(i)),vn(i,o,s)}var Ue=class r{x;y;constructor(t=0,e=0){this.x=t,this.y=e}static new(t=0,e=0){return new this(t,e)}static zero(){return new this}static fill(t){return new this(t,t)}static from(t){return Array.isArray(t)?new this(...t):new this(t.x,t.y)}static magnitudeSquared(t,e){return t*t+e*e}static magnitude(t,e){return Math.sqrt(this.magnitudeSquared(t,e))}static average(...t){return new this().add(...t).divBy(t.length)}static min(...t){return new this(Math.min(...t.map(e=>e.x)),Math.min(...t.map(e=>e.y)))}static max(...t){return new this(Math.max(...t.map(e=>e.x)),Math.max(...t.map(e=>e.y)))}static rotation(t){return new this(Math.cos(t),Math.sin(t))}dup(){return new this.constructor(this.x,this.y)}*[Symbol.iterator](){yield this.x,yield this.y}array(){return[this.x,this.y]}toJSON(){return this.array()}toString(){return`(${this.constructor.name} x${this.x.toFixed(2)}, y${this.y.toFixed(2)})`}fill(t){return this.x=t,this.y=t,this}zero(){return this.fill(0)}set_(t,e){return this.x=t,this.y=e,this}set({x:t,y:e}){return this.x=t,this.y=e,this}from(t){if(Array.isArray(t)){let[e,o]=t;this.x=e,this.y=o}else{let{x:e,y:o}=t;this.x=e,this.y=o}return this}magnitudeSquared(){return r.magnitudeSquared(this.x,this.y)}magnitude(){return r.magnitude(this.x,this.y)}rotation(){return Math.atan2(this.y,this.x)}equals_(t,e){return this.x===t&&this.y===e}equals(...t){return t.every(({x:e,y:o})=>this.equals_(e,o))}near_(t,e,o=1e-6){return Math.abs(this.x-t)<=o&&Math.abs(this.y-e)<=o}near({x:t,y:e},o=1e-6){return this.near_(t,e,o)}dot_(t,e){return this.x*t+this.y*e}dot({x:t,y:e}){return this.dot_(t,e)}distanceSquared_(t,e){return t=this.x-t,e=this.y-e,t*t+e*e}distanceSquared({x:t,y:e}){return this.distanceSquared_(t,e)}distance_(t,e){return Math.sqrt(this.distanceSquared_(t,e))}distance({x:t,y:e}){return this.distance_(t,e)}angleBetween_(t,e){let o=this.dot_(t,e),s=this.magnitude()*r.magnitude(t,e);if(s===0)return 0;let n=ut(o/s,-1,1);return Math.acos(n)}angleBetween({x:t,y:e}){return this.angleBetween_(t,e)}normalize(){return this.divBy(this.magnitude())}half(){return this.divBy(2)}double(){return this.mulBy(2)}abs(){return this.map(t=>Math.abs(t))}rotate(t){let{x:e,y:o}=this;return this.x=e*Math.cos(t)-o*Math.sin(t),this.y=e*Math.sin(t)+o*Math.cos(t),this}perpendicular(){let{x:t,y:e}=this;return this.x=-e,this.y=t,this}clampMagnitude(t){return this.magnitude()>t&&this.normalize().mulBy(t),this}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}map(t){return this.x=t(this.x,0),this.y=t(this.y,1),this}morph(t){let e=t(this);return e&&e!==this&&this.set(e),this}clamp(t={x:0,y:0},e={x:1,y:1}){return this.x=ut(this.x,t.x,e.x),this.y=ut(this.y,t.y,e.y),this}clampBy(t=0,e=1){return this.x=ut(this.x,t,e),this.y=ut(this.y,t,e),this}negate(){return this.map(t=>t*-1)}addBy(t){return this.x+=t,this.y+=t,this}subBy(t){return this.x-=t,this.y-=t,this}mulBy(t){return this.x*=t,this.y*=t,this}scale(t){return this.x*=t,this.y*=t,this}divBy(t){return t===0?this:(this.x/=t,this.y/=t,this)}add_(t,e){return this.x+=t,this.y+=e,this}add(...t){for(let{x:e,y:o}of t)this.add_(e,o);return this}sub_(t,e){return this.x-=t,this.y-=e,this}sub(...t){for(let{x:e,y:o}of t)this.sub_(e,o);return this}mul_(t,e){return this.x*=t,this.y*=e,this}mul(...t){for(let{x:e,y:o}of t)this.mul_(e,o);return this}div_(t,e){return t!==0&&(this.x/=t),e!==0&&(this.y/=e),this}div(...t){for(let{x:e,y:o}of t)this.div_(e,o);return this}lerp_(t,e,o){return this.x+=(t-this.x)*o,this.y+=(e-this.y)*o,this}lerp(t,{x:e,y:o}){return this.lerp_(t,e,o)}reflect_(t,e){let o=2*this.dot_(t,e);return this.x-=o*t,this.y-=o*e,this}reflect({x:t,y:e}){return this.reflect_(t,e)}rotateAroundPoint_(t,e,o){let s=this.x-e,n=this.y-o,i=Math.cos(t),a=Math.sin(t);return this.x=i*s-a*n+e,this.y=a*s+i*n+o,this}rotateAroundPoint(t,{x:e,y:o}){return this.rotateAroundPoint_(t,e,o)}};function X(r){return r!==0}function Sr(r,t){let e=o=>Sr(r,o);if(t===null)return 0;if(bt(t))return t;if(xt(t)){let o=r.latestValues.get(t)??0;return r.recentSamples.filter(s=>s.code===t).reduce((s,n)=>Math.abs(n.value)>Math.abs(s)?n.value:s,o)}else switch(t[0]){case"accumulate":{let o=t[1],s=0;for(let n of r.recentSamples)n.code===o&&(s+=n.value);return s}case"up":{let o=t[1],s=0,n=r.previousValues.get(o)??0;for(let i of r.recentSamples)i.code===o&&(X(n)&&!X(i.value)&&s++,n=i.value);return s}case"down":{let o=t[1],s=0,n=r.previousValues.get(o)??0;for(let i of r.recentSamples)i.code===o&&(!X(n)&&X(i.value)&&s++,n=i.value);return s}case"was":{let o=t[1];return r.previousValues.get(o)??0}case"since":{let o=t[1],s=r.previousValues.get(o)??0;return(r.latestValues.get(o)??0)-s}case"if":{let[,o,s,n]=t;return e(o)?e(s):E(n)?e(n):0}case"min":return Math.min(...t.slice(1).map(e));case"max":return Math.max(...t.slice(1).map(e));case"+":return t.slice(1).map(e).reduce((o,s)=>o+s,0);case"*":return t.slice(1).map(e).reduce((o,s)=>o*s,1);case"==":return+(e(t[1])===e(t[2]));case"!=":return+(e(t[1])!==e(t[2]));case">":return+(e(t[1])>e(t[2]));case"<":return+(e(t[1])<e(t[2]));case">=":return+(e(t[1])>=e(t[2]));case"<=":return+(e(t[1])<=e(t[2]));case"!":return+(e(t[1])===0);case"!!":return+(e(t[1])!==0);case"-":{let[,o,...s]=t;if(s.length===0)return-e(o);let n=e(o);for(let i of s)n-=e(i);return n}case"clamp":{let[,o,s,n]=t,i=e(n);return Math.min(s===null?1/0:e(s),Math.max(o===null?-1/0:e(o),i))}case"remap":{let[o,s,n,i,a]=t.slice(1).map(e);return Fo(a,o,s,n,i)}case"dt":return r.dt;case"held":{let[,o,s]=t,n=X(e(s)),i=r.holding.get(t);return n&&!i&&(i={start:r.clock.time},r.holding.set(t,i)),!n&&i&&(i=void 0,r.holding.delete(t)),i&&r.clock.time-i.start>=o?1:0}case"taps":{let[,o,s,n]=t,i=X(e(n)),a=r.clock.time,c=wt(r.tapping,t,()=>({wasDown:!1,startedAt:null,count:0})),l=i&&!c.wasDown,p=!i&&c.wasDown;c.startedAt!==null&&a-c.startedAt>=s&&(c.startedAt=null,c.count=0);let u=0;return l&&c.startedAt===null&&(c.startedAt=a),p&&c.startedAt!==null&&(c.count++,c.count===o&&(u=1,c.count=0,c.startedAt=null)),c.wasDown=i,u}case"mod":{let[,...o]=t,s=l=>X(r.latestValues.get(l)??0),n=s("ShiftLeft")||s("ShiftRight"),i=s("ControlLeft")||s("ControlRight"),a=s("AltLeft")||s("AltRight"),c=s("MetaLeft")||s("MetaRight");return o.includes("shift")!==n||o.includes("ctrl")!==i||o.includes("alt")!==a||o.includes("meta")!==c?0:1}default:throw new Error("unknown expression")}}var qe=class{time;since=0;last;constructor(t=performance.now()){this.time=t}update(t=performance.now()){this.since=t-(this.time??t),this.last=this.time,this.time=t}};var We=class{dt=0;clock=new qe;recentSamples=[];latestValues=new Map;previousValues=new Map;holding=new Map;tapping=new Map};function Ko(){return{value:0,was:0,sum:0}}function Ar(r){let t=q(r),e=[],o=[];function s(i){if(lt(i)){let a=Ko();return e.push(a),o.push(i),a}else return fr(i,s)}let n=s(r);return{hash:t,inputs:n,inputList:e,rootList:o}}var Mt=class{#t;#e;#o;#r;constructor(t){this.#e=at(structuredClone(t.bindings)),this.#o=Ar(this.#e),this.#t=new Ve(t.source),this.#r=new We}get bindings(){return this.#e}set bindings(t){let e=at(structuredClone(t)),o=Ar(e),s=this.#o.hash;if(o.hash!==s)throw new Error("incompatible bindings");this.#e=e,this.#o.rootList=o.rootList}*evaluate(t=performance.now()){let e=this.#t.take();this.#r.clock.update(t),this.#r.recentSamples=e,this.#r.dt=this.#r.clock.since/1e3;for(let{code:o,value:s}of e)this.#r.latestValues.set(o,s);for(let[o,s]of this.#o.rootList.entries()){let n=Sr(this.#r,s);n!==0&&(yield{id:o,value:n})}for(let{code:o,value:s}of e)this.#r.previousValues.set(o,s)}encode(t=performance.now()){return Ce(this.#o.hash,[...this.evaluate(t)])}clear(){this.#t.take()}dispose(){return this.#t.dispose()}};var Fe=class{get;constructor(t){this.get=t}get gamepad(){return this.get()}};function Go(r,t){let e=r;return()=>{let o=t();return o!=null&&(e=o),e}}function Ke(r){let t=new Map;function e(){o(),s()}function o(){for(let i of navigator.getGamepads())if(i?.connected&&!t.has(i.index)){let a=()=>navigator.getGamepads()[i.index],c=new Fe(Go(i,a)),l=r(c);t.set(i.index,{pad:c,dispose:l})}}function s(){for(let[i,{pad:a,dispose:c}]of t)navigator.getGamepads()[a.gamepad.index]?.connected||(c(),t.delete(i))}e();let n=A(window,{gamepadconnected:e,gamepaddisconnected:e});return()=>{n();for(let{dispose:i}of t.values())i();t.clear()}}var I=class{onSample=W();dispose=M()};var Pt=class extends I{pad;#t=new Map;constructor(t){super(),this.pad=t}get gamepad(){return this.pad.gamepad}poll(){let t=this.gamepad;this.#o(t),this.#r(t)}#e(t,e){let o=this.#t.get(t)??0;e!==o&&(this.#t.set(t,e),this.onSample.publish({code:t,value:e}))}#o(t){let e=0;for(let[o,s]of t.buttons.entries()){let n=s.value;this.#e(`gamepad.${o+1}`,n),e=Math.max(e,n)}this.#e("gamepad.any",e>=.9?1:0)}#r(t){for(let[e,o]of t.axes.entries())this.#e(`gamepad.axis.${e+1}`,o)}};function Jo(r,t){return Ke(e=>{let o=new Pt(e),s=new Mt({source:o,bindings:r.bindings});r.plug(s);let n=t?.(s,o);return()=>{s.dispose(),r.remove(s),n?.()}})}function Zo(r,t){return r.length>t?r.slice(0,t)+"...":r}var Ge=class extends I{#t;constructor(...t){super(),this.#t=t;for(let e of t)this.dispose.schedule(e.onSample(o=>this.onSample.publish(o)))}poll(){for(let t of this.#t)t.poll?.()}};var Je=class{$hex=_("");clear=to(250,()=>{this.$hex.set("")});update(t){this.$hex(fe(new Uint8Array(t))),this.clear()}};function zt(r){return`pointer.${r+1}`}var Ze=class extends I{client=new Ue;constructor(t=window){super(),this.dispose.schedule(A(t,this.#t))}#t={pointerdown:t=>{this.onSample.publish({code:zt(t.button),value:1})},pointerup:t=>{this.onSample.publish({code:zt(t.button),value:0})},pointermove:({clientX:t,clientY:e,movementX:o,movementY:s})=>{this.client.set_(t,e),o&&this.onSample.publish({code:"pointer.x",value:o}),s&&this.onSample.publish({code:"pointer.y",value:s})},wheel:({deltaX:t,deltaY:e})=>{t&&this.onSample.publish({code:"pointer.wheel.x",value:t}),e&&this.onSample.publish({code:"pointer.wheel.y",value:e})}}};var Qe=class extends I{#t=new Set;constructor(t=window){super(),this.dispose.schedule(A(t,this.#e)),this.dispose.schedule(A(window,this.#o))}#e={keydown:t=>{t.repeat||(this.#t.size===0&&this.onSample.publish({code:"keyboard.any",value:1}),this.onSample.publish({code:t.code,value:1}),this.#t.add(t.code))},keyup:t=>{this.onSample.publish({code:t.code,value:0}),this.#t.delete(t.code),this.#t.size===0&&this.onSample.publish({code:"keyboard.any",value:0})}};#o={blur:()=>{for(let t of this.#t)this.onSample.publish({code:t,value:0});this.#t.size&&this.onSample.publish({code:"keyboard.any",value:0}),this.#t.clear()}}};var Qo=F`@layer core {
|
|
28
|
+
`;function c2(o,t){return(e,s)=>Jp(e,{pending:o,err:t,ok:s})}var r5=c2(s2(10,[" "," ",". ",".. ","..."," .."," ."]),r2);var f5=c2(s2(3,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),r2);var h5=c2(s2(10,["\u{1F312}","\u{1F313}","\u{1F314}","\u{1F315}","\u{1F316}","\u{1F317}","\u{1F318}","\u{1F311}","\u{1F311}","\u{1F311}"]),r2);var y5=c2(s2(16,["|","/","-","\\"]),r2);var S5=c2(s2(20,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),r2);var lh=o=>o;var fh=o=>o,uh=o=>o;var Qm=lh({looking:{horizontal:["accumulate","pointer.x"],vertical:["accumulate","pointer.y"]},moving:{forward:"KeyW",backward:"KeyS",leftward:"KeyA",rightward:"KeyD"},interactions:{use:"KeyE"}}),vh=uh({standard:{label:"\u2328\uFE0Fstandard",bindings:Qm},gamer:{label:"\u{1F3AE}gamer",bindings:{looking:{horizontal:["*",["dt"],"gamepad.axis.3",100],vertical:["*",["dt"],"gamepad.axis.4",100]},moving:{forward:["remap",0,-1,0,1,"gamepad.axis.2"],backward:["remap",0,1,0,1,"gamepad.axis.2"],leftward:["remap",0,-1,0,1,"gamepad.axis.1"],rightward:["remap",0,1,0,1,"gamepad.axis.1"]},interactions:{use:"gamepad.1"}}},micro:{label:"\u{1F9A0}micro",bindings:{looking:{horizontal:["*",["dt"],["+","gamepad.1",["-","gamepad.4"]],100],vertical:["*",["dt"],["+","gamepad.2",["-","gamepad.3"]],100]},moving:{forward:["remap",0,-1,0,1,"gamepad.axis.2"],backward:["remap",0,1,0,1,"gamepad.axis.2"],leftward:["remap",0,-1,0,1,"gamepad.axis.1"],rightward:["remap",0,1,0,1,"gamepad.axis.1"]},interactions:{use:["*","gamepad.5","gamepad.6"]}}}});function Gu(o){return Number.parseInt(o.slice(0,8),16)}function dh(o){let e=o.reduce((i,{intents:a})=>i+8+a.byteLength,0),s=new ArrayBuffer(e),r=new DataView(s),n=new Uint8Array(s),c=0;for(let{playerId:i,intents:a}of o)r.setUint32(c,i,!1),c+=4,r.setUint32(c,a.byteLength,!1),c+=4,n.set(new Uint8Array(a),c),c+=a.byteLength;return s}function Ju(o,t){let e=4+t.length*6,s=new ArrayBuffer(e),r=new DataView(s),n=0;r.setUint32(n,o,!1),n+=4;for(let c of t)r.setUint16(n,c.id,!1),n+=2,r.setFloat32(n,c.value,!1),n+=4;return s}var e3=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,o3=(o=e3)=>{if(!o)throw new Error("big-endian platforms are unsupported")};o3();function Df(o){return o instanceof Uint8Array||ArrayBuffer.isView(o)&&o.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in o&&o.BYTES_PER_ELEMENT===1}function Li(o,t=""){let e=t&&`"${t}" `;if(typeof o!="number")throw new TypeError(`${e}expected number, got ${typeof o}`);if(!Number.isSafeInteger(o)||o<0)throw new RangeError(`${e}expected integer >= 0, got ${o}`)}function Z0(o,t,e=""){let s=Df(o),r=o?.length,n=t!==void 0,c=e&&`"${e}" `;if(!s)throw new TypeError(c+"expected Uint8Array, got type="+typeof o);if(n&&r!==t)throw new RangeError(c+"expected Uint8Array of length "+t+", got length="+r);return o}function ph(o){return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function hh(o){return new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4))}function mh(...o){for(let t=0;t<o.length;t++)o[t].fill(0)}function gt(o,t,e,s,r){if(!(r<=0))if(r<=64)for(let n=0;n<r;n++)o[t+n]=e[s+n];else o.set(e.subarray(s,s+r),t)}function Yu(o){return Uint8Array.from(Z0(o))}function n3(o,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new TypeError("options must be object or undefined");return Object.assign(o,t)}function Zu(o){let t=o,e=r=>{let n=!1,c=-1,i=0,a=0,u,v=H=>{},m=H=>{},$=async()=>{};return{save:()=>{!r||!a||(u||(u=new Uint8Array(a)),v(u))},restore:()=>{!r||!u||m(u)},nextTick:()=>$(),onEnd:()=>{if(!(c<0)&&i!==c)throw new Error(`done (${i}) < progressTotal(${c})`)},setup:H=>{let ht=H;if(n)throw new Error("setup already called");if(n=!0,!r){Li(ht.total,"total"),c=ht.total;let R=ht.onProgress;if(R!==void 0&&typeof R!="function")throw new Error("onProgress must be a function");if(!R)return(N=1)=>(i+=N,!1);let U=Math.max(Math.floor(c/1e4),1);return(N=1)=>(i+=N,(!(i%U)||i===c)&&R(c?i/c:1),!1)}let bt={...ht};bt.asyncTick===void 0&&delete bt.asyncTick;let{asyncTick:a2,onProgress:vt,stateBytes:Q0,save:A,restore:y,nextTick:V,total:nt}=n3({asyncTick:10},bt);Li(a2,"asyncTick"),Li(nt,"total"),c=nt;for(let[R,U]of Object.entries({onProgress:vt,save:A,restore:y,nextTick:V}))if(U!==void 0&&typeof U!="function")throw new Error(`${R} must be a function`);if(Q0!==void 0&&Li(Q0,"stateBytes"),Q0!==void 0&&(a=Q0),(A!==void 0||y!==void 0)&&!a)throw new Error("stateBytes must be a positive integer when save/restore is used");A!==void 0&&(v=A),y!==void 0&&(m=y),V!==void 0&&($=V);let J=()=>!1;if(r){let R=Date.now();J=()=>{let U=Date.now()-R;return U>=0&&U<a2?!1:(R+=U,!0)}}let w=Math.max(Math.floor(c/1e4),1),k=(R=1)=>(i+=R,J());return vt&&(k=(R=1)=>(i+=R,vt&&(!(i%w)||i===nt)&&vt(nt?i/nt:1),J())),k}}},s=(...r)=>{let n=!1,c=-1,i=0,a=(m=>{let $=m;if(n)throw new Error("setup already called");n=!0,Li($.total,"total"),c=$.total;let H=$.onProgress;if(H!==void 0&&typeof H!="function")throw new Error("onProgress must be a function");if(!H)return(bt=1)=>(i+=bt,!1);let ht=Math.max(Math.floor(c/1e4),1);return(bt=1)=>(i+=bt,(!(i%ht)||i===c)&&H(c?i/c:1),!1)});a.isAsync=!1;let u=t(a,...r),v=u.next();for(;!v.done;)v=u.next();if(c>=0&&i!==c)throw new Error(`done (${i}) < progressTotal(${c})`);return v.value};return s.async=async(...r)=>{let{setup:n,save:c,restore:i,onEnd:a,nextTick:u}=e(!0),v=n;v.isAsync=!0;let m=t(v,...r),$=m.next();for(;!$.done;)c(),await u(),i(),$=m.next();return a(),$.value},s}var s3=(o,t,e,s)=>{let r=Df(o)?{}:o||{};r.dkLen!==void 0&&Li(r.dkLen,"opts.dkLen"),r.outPos!==void 0&&Li(r.outPos,"opts.outPos");let n=(r.dkLen===void 0?e:r.dkLen)|0;if(!s&&n>e)throw new RangeError(`"opts.dkLen" expected <= ${e}, got ${n}`);if(Array.isArray(r.out)){if(r.outPos!==void 0&&r.outPos!==0)throw new Error("outPos is not supported with output view arrays");if(r.out.length!==t)throw new RangeError("output array length must match messages length");for(let u=0;u<t;u++)Z0(r.out[u],n,"output");return{dkLen:n,out:r.out}}r.out!==void 0&&Z0(r.out,void 0,"output");let c=r.out||new Uint8Array(n*t),i=(r.outPos===void 0?0:r.outPos)|0;if(i<0||i+n*t>c.length)throw new RangeError("out/outPos too small");let a=[];for(let u=0;u<t;u++){let v=i+u*n;a.push(c.subarray(v,v+n))}return{dkLen:n,out:a}},r3=Symbol("hash_impl_brand"),c3=new WeakSet;function xh(o,t,e){let s=t,{outputLen:r,blockLen:n,suffix:c=0,init:i,canXOF:a,oid:u}=s,v=s.outputBlockLen?s.outputBlockLen:s.outputLen,m,$,H,ht,bt,a2,vt,Q0,A=!1;function y(){if(A)throw new Error("second lazyInit call");let w=o();A=!0;let{processBlocks:k,processOutBlocks:R,padding:U,reset:N}=w,j=w.segments.buffer,ct=w.segments.state_chunks[0],no=w.segments.state_chunks,st=w.segments.state_chunks.length,O=Math.floor(j.length/n),tt=O-2;if(tt<1)throw new Error("wrong chunks");let P=Math.floor(j.length/v),rt=new WeakSet;function K(p,f=0){let l=p;N(f,1,0,v,P);let d=0,h=r;if(l.dkLen!==void 0&&(Li(l.dkLen,"opts.dkLen"),h=l.dkLen|0,!a&&h>r))throw new RangeError(`"opts.dkLen" expected <= ${r}, got ${h}`);if(i){let x=i(f,O,w,V,l);x&&x.blocks!==void 0&&(d=x.blocks),x&&x.outputLen!==void 0&&(h=x.outputLen)}return{blocks:d,outputLen:h}}function D(p,f){if(f>0){if(p.length===0){let d=U(0,f*n,O,0,n,c);k(0,1,f+d,O,n,1,0,d);return}k(0,1,f,O,n,0,0,0)}let l=0;do{let d=Math.min(p.length-l,tt*n);gt(j,0,p,l,d);let h=l+d==p.length,x=Math.ceil(d/n),b=x*n-d,g=0;h&&(g=U(0,d,O,b,n,c),x+=g),k(0,1,x,O,n,h?1:0,b,g),l+=d}while(l<p.length)}function G(p,f,l){let d=tt*n|0,h=l?l.buf.length:0,x=h;for(let _=0;_<p.length;_++)x+=p[_].length;if(f>0){if(x===0){let _=U(0,f*n,O,0,n,c);k(0,1,f+_,O,n,1,0,_);return}k(0,1,f,O,n,0,0,0)}let b=0,g=0,L=0;for(;b<x;){let _=Math.min(x-b,d)|0,z=0;if(l&&b<h){let C=Math.min(_,h-b)|0;gt(j,z,l.buf,b,C),z+=C}for(;z<_;){let C=p[g],W=C.length-L|0,M=(_-z<W?_-z:W)|0;gt(j,z,C,L,M),z+=M,L+=M,L===C.length&&(g++,L=0)}let B=b+_===x,S=Math.ceil(_/n)|0,E=S*n-_|0,T=0;B&&(T=U(0,_,O,E,n,c)|0,S=S+T|0),k(0,1,S,O,n,B?1:0,E,T),b+=_}}function Y(p,f,l,d,h,x){let b=h-2;if(b<1)throw new Error("wrong chunks");let g=x?x.buf.length:0,L=p[f].length,_=g+L,z=(S,E,T,C)=>{let W=0;if(x&&T<g){let M=Math.min(C,g-T);gt(j,S,x.buf,T,M),W+=M}W<C&>(j,S+W,E,T+W-g,C-W)};if(d>0){if(_===0){let S=U(0,d*n,h,0,n,c);for(let E=0;E<l;E++)if(U(E,d*n,h,0,n,c)!==S)throw new Error("different padding across batch");k(0,l,d+S,h,n,1,0,S);return}k(0,l,d,h,n,0,0,0)}let B=0;do{let S=Math.min(_-B,b*n);for(let M=0;M<l;M++)z(M*h*n,p[f+M],B,S);let E=B+S==_,T=Math.ceil(S/n),C=T*n-S,W=0;if(E){W=U(0,S,h,C,n,c);for(let M=1;M<l;M++)if(U(M,S,h,C,n,c)!==W)throw new Error("parallel batch: different padding");T+=W}k(0,l,T,h,n,E?1:0,C,W),B+=S}while(B<_)}function et(p={},f,l=r){let d=p;d.dkLen!==void 0&&Li(d.dkLen,"opts.dkLen"),d.outPos!==void 0&&Li(d.outPos,"opts.outPos"),d.out!==void 0&&Z0(d.out,void 0,"output"),f!==void 0&&Li(f,"xof.bytes");let h=f!==void 0?f:(d.dkLen===void 0?l:d.dkLen)|0;if(!a&&h>r)throw new RangeError(`"opts.dkLen" expected <= ${r}, got ${h}`);let x=d.out||new Uint8Array(h),b=(d.outPos===void 0?0:d.outPos)|0;if(b<0||b+h>x.length)throw new RangeError("out/outPos too small");return{dkLen:h,out:x,outPos:b}}function it(p={},f=et(p)){let{dkLen:l,out:d,outPos:h}=f,x=tt|0,b=(l+v-1)/v|0,g=0,L=b,_=0;for(;L>0;){let z=L>x?x:L;R(0,1,z,P,v,L===z?1:0);let S=z*v,E=l-g,T=E<S?E:S;gt(d,h+g,j,0,T),_=Math.max(_,T,z*v),g+=T,L-=z}return{maxWritten:_,out:d}}function ut(p,f,l,d){let h=f,{dkLen:x,out:b}=l,g=0,L=h|0,_=(x+v-1)/v|0,z=0,B=_;for(;B>0;){let S=B>L?L:B;R(0,p,S,f,v,B===S?1:0);let T=S*v,C=x-z,W=C<T?C:T;for(let M=0;M<p;M++)gt(b[d+M],z,j,M*v*f,W),g=Math.max(g,W,T);z+=W,B-=S}return{out:b,maxWritten:g}}let F=p=>{if(!Df(p))throw new Error("prefixState is not from this hash");if(p.length<ct.length)throw new Error("prefixState is too short");if(p.length>=ct.length+n)throw new Error("prefixState is too long");if(!rt.has(p))throw new Error("prefixState is not from this hash");return p},Z=(p={})=>{let f=p;if(f.prefixState===void 0)return;let l=F(f.prefixState);return{state:l.subarray(0,ct.length),buf:l.subarray(ct.length)}};class Q{canXOF;blockLen;outputLen;buf;pos;state;finished;destroyed;constructor(f){if(f.streamBufLen%n||f.streamBufLen<n)throw new Error("wrong streamBufLen");if(this.finished=!1,this.destroyed=!1,this.buf=new Uint8Array(f.streamBufLen),this.pos=0,f.blocks!==void 0){if(f.blocks*n>this.buf.length)throw new Error("too much blocks");gt(this.buf,0,j,0,f.blocks*n),this.pos=f.blocks*n}this.canXOF=!!a,this.blockLen=n,this.outputLen=f.outputLen,this.state=Yu(ct),N(0,1,0,v,P)}restoreState(){gt(ct,0,this.state,0,ct.length)}saveState(){this.state=Yu(ct)}update(f){if(Z0(f),this.destroyed)throw new Error("Hash instance has been destroyed");if(this.finished)throw new Error("Hash#digest() has already been called");let l=0,d=Math.ceil((this.pos+f.length)/n)-1;if(d>0){this.restoreState();let x=Math.min(tt,d),b=x*n-this.pos;for(gt(j,0,this.buf,0,this.pos),gt(j,this.pos,f,l,b),this.pos=0,l+=b,k(0,1,x,O,n,0,0,0),d-=x;l<f.length&&d;){let g=Math.min(tt,d);gt(j,0,f,l,g*n),k(0,1,g,O,n,0,0,0),d-=g,l+=g*n}this.saveState(),N(0,1,0,v,P)}let h=f.length-l;return h&&(gt(this.buf,this.pos,f,l,h),this.pos+=h),this}finish(){if(this.finished)throw new Error("Hash#digest() has already been called");this.restoreState(),this.finished=!0;let f=!0,l=this.pos,d=Math.ceil(l/n);gt(j,0,this.buf,0,this.pos);let h=d*n-l,x=0;return f&&(x=U(0,l,O,h,n,c),d+=x),k(0,1,d,O,n,1,h,x),this.pos=v,d*n}digest(f={}){if(this.destroyed)throw new Error("Hash instance has been destroyed");let l=et(f,void 0,this.outputLen);this.finish();let{out:d,maxWritten:h}=it(f,l);return this.destroy(),N(0,1,h,v,P),d}destroy(){this.destroyed=!0,this.state.fill(0),this.buf.fill(0)}xof(f,l={}){if(!a)throw new Error("XOF is not possible for this instance");if(this.destroyed)throw new Error("Hash instance has been destroyed");let d=et(l,f);this.finished||(this.finish(),this.saveState()),this.restoreState();let{out:h,outPos:x}=d;for(let b=0;b<f;){this.pos>=v&&(R(0,1,1,P,v,0),gt(this.buf,0,j,0,v),this.pos=0);let g=(v-this.pos<f-b?v-this.pos:f-b)|0;gt(h,x+b|0,this.buf,this.pos,g),this.pos=this.pos+g|0,b=b+g|0}return this.saveState(),N(0,1,0,v,P),h}digestInto(f){if(Z0(f,void 0,"output"),f.length<this.outputLen)throw new RangeError("digestInto() expects output buffer of length at least "+this.outputLen);this.digest({out:f.subarray(0,this.outputLen),dkLen:this.outputLen})}xofInto(f){return this.xof(f.length,{out:f})}_cloneInto(f){if(this.destroyed)throw new Error("Hash instance has been destroyed");let l=f||new this.constructor({streamBufLen:this.buf.length});if(!(l instanceof Q))throw new Error("wrong instance");if(l.buf.length!==this.buf.length)throw new Error("wrong buffer length");return l.blockLen=this.blockLen,l.outputLen=this.outputLen,l.canXOF=this.canXOF,this.pos&>(l.buf,0,this.buf,0,this.pos),l.pos=this.pos|0,l.state=Yu(this.state),l.finished=!!this.finished,l.destroyed=!!this.destroyed,l}clone(){return this._cloneInto()}exportState(){if(this.destroyed)throw new Error("Hash instance has been destroyed");if(this.finished)throw new Error("Hash#digest() has already been called");this.pos===n&&(this.restoreState(),gt(j,0,this.buf,0,n),k(0,1,1,O,n,0,0,0),this.saveState(),this.pos=0,this.buf.fill(0),N(0,1,0,v,P));let f=new Uint8Array(this.state.length+this.pos);return f.set(this.state),this.pos&&f.set(this.buf.subarray(0,this.pos),this.state.length),rt.add(f),f}}let at=(p,f={})=>{Z0(p);let l=et(f),{blocks:d}=K(f);D(p,d);let{out:h,maxWritten:x}=it(f,l);return N(0,1,x,v,P),h},X=(p,f={})=>{if(!Array.isArray(p))throw new Error("expected array of messages");let l=0;for(let g of p)Z0(g),l+=g.length;let d=Z(f);if(d&&l===0)throw new Error("prefixState requires a non-empty message");let h=et(f);if(d)N(0,1,0,v,P),gt(ct,0,d.state,0,d.state.length),G(p,0,d);else{let{blocks:g}=K(f);G(p,g)}let{out:x,maxWritten:b}=it(f,h);return N(0,1,b,v,P),x},ot=(p,f={})=>{if(!Array.isArray(p))throw new Error("expected array of messages");let l=Z(f);if(l&&p.length===0)throw new Error("prefixState requires a non-empty message");let d=Math.floor(j.length/(n*3)),h=Math.floor(j.length/v);for(let b=0;b<p.length;b+=st){let g=Math.min(st,p.length-b,d,h);for(let L=0;L<g;L++)if(!Df(p[b+L]))throw new Error(`expected Uint8Array, got type=${typeof p[b+L]}`);if(l&&p[b].length===0)throw new Error("prefixState requires a non-empty message");for(let L=1;L<g;L++)if(p[b+L].length!==p[b].length)throw new Error("different sizes inside chunk")}let x=s3(f,p.length,r,a);for(let b=0;b<p.length;b+=st){let g=Math.min(st,p.length-b,d,h),L=Math.floor(j.length/(n*g)),_=Math.floor(j.length/(v*g)),z=0;if(l){N(0,g,0,v,_);for(let S=0;S<g;S++)gt(no[S],0,l.state,0,l.state.length)}else if(i){let S=i(0,L,w,V,f);S&&S.blocks!==void 0&&(z=S.blocks);for(let E=0;E<g;E++){let T=i(E,L,w,V,f);if((T&&T.blocks)!==(S&&S.blocks))throw new Error("inconsistent init blocks inside parallel group")}}Y(p,b,g,z,L,l);let{maxWritten:B}=ut(g,_,x,b);N(0,g,B,v,_)}return x.out},lt=(p,f,l)=>{let d=p,h=l;return d.isAsync?d({total:f,asyncTick:h?.asyncTick,onProgress:h?.onProgress,nextTick:h?.nextTick}):h?.onProgress?d({total:f,onProgress:h.onProgress}):(d({total:0}),x=>!1)},dt=Zu(function*(p,f,l={}){let d=p;if(!d.isAsync&&!l?.onProgress)return at(f,l);let h=lt(d,f.length,l),x=at(f,l);return(d.isAsync||l?.onProgress)&&h(f.length)&&(yield),x}),pt=Zu(function*(p,f,l={}){let d=p;if(!d.isAsync&&!l?.onProgress)return X(f,l);let h=0;for(let g of f)h+=g.length;let x=lt(d,h,l),b=X(f,l);return(d.isAsync||l?.onProgress)&&x(h)&&(yield),b}),_t=Zu(function*(p,f,l={}){let d=p;if(!d.isAsync&&!l?.onProgress)return ot(f,l);let h=0;for(let g of f)h+=g.length;let x=lt(d,h,l),b=ot(f,l);return(d.isAsync||l?.onProgress)&&x(h)&&(yield),b});m=(p,f={})=>at(p,f),$=async(p,f)=>{let l=f;return l?l.asyncTick!==void 0||l.onProgress!==void 0||l.nextTick!==void 0?dt.async(p,l):at(p,l):at(p,{})},H=(p,f={})=>X(p,f),ht=async(p,f)=>{let l=f;return l?l.asyncTick!==void 0||l.onProgress!==void 0||l.nextTick!==void 0?pt.async(p,l):X(p,l):X(p,{})},bt=(p,f={})=>ot(p,f),a2=async(p,f)=>{let l=f;return l?l.asyncTick!==void 0||l.onProgress!==void 0||l.nextTick!==void 0?_t.async(p,l):ot(p,l):ot(p,{})},vt=(p={})=>{let f=p;N(0,1,0,v,P);let{blocks:l,outputLen:d}=K(f);return new Q({...f,streamBufLen:n,blocks:l,outputLen:d})},Q0=p=>{let f=F(p);mh(f),rt.delete(f)}}m=(w,k)=>(y(),m(w,k)),$=(w,k)=>(y(),$(w,k)),H=(w,k)=>(y(),H(w,k)),ht=(w,k)=>(y(),ht(w,k)),bt=(w,k)=>(y(),bt(w,k)),a2=(w,k)=>(y(),a2(w,k)),vt=w=>(y(),vt(w)),Q0=w=>(y(),Q0(w));let V=((w,k={})=>m(w,k)),nt=(w,k={})=>H(w,k);Object.assign(nt,{async:(w,k)=>ht(w,k)});let J=(w,k={})=>bt(w,k);return Object.assign(J,{async:(w,k)=>a2(w,k)}),Object.assign(V,{async:(w,k)=>$(w,k),chunks:nt,parallel:J,create:(w={})=>vt(w),cleanState:w=>Q0(w),getPlatform:()=>e,getDefinition:()=>s,canXOF:!!a,outputLen:r,blockLen:n,oid:u}),Object.defineProperty(V,r3,{value:!0,enumerable:!1}),c3.add(V),Object.freeze(V)}var i3=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Qu={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},a3=i3.slice(),gh=ph(a3);var bh=Object.freeze({blockLen:64,outputBlockLen:64,outputLen:32,chunks:10*1024*16,canXOF:!0,init(o,t,e,s,r={}){let{key:n,context:c,_keyContext:i}=r;r.dkLen!==void 0&&Li(r.dkLen,"opts.dkLen");let a=0,u=gh;if(n!==void 0){if(Z0(n,32,"key"),c!==void 0||i!==void 0)throw new Error('Only "key" or "context" can be specified at same time');u=n,a=Qu.KEYED_HASH}else if(i!==void 0){if(c!==void 0||n!==void 0)throw new Error('Only "key" or "context" can be specified at same time');a=Qu.DERIVE_KEY_CONTEXT}else if(c!==void 0){if(Z0(c,void 0,"context"),i!==void 0||n!==void 0)throw new Error('Only "key" or "context" can be specified at same time');if(i!==void 0&&typeof i!="boolean")throw new Error("wrong type for _keyContext");u=s(c,{dkLen:32,_keyContext:!0}),a=Qu.DERIVE_KEY_MATERIAL}e.segments["state.iv_chunks"][o].set(u),e.segments["state.state_chunks"][o].set(u),hh(e.segments["state.flags_chunks"][o])[0]=a}});function f3(o={},t){let e={env:{}};o={...e,...o,env:{...e.env,...o.env}};let s=new ArrayBuffer(15730784);if(!(s instanceof ArrayBuffer))throw new Error("wrong buffer");let r=new Uint8Array(s),n=new Int32Array(s);function c(A,y,V){let nt=32+Math.imul(2144,A)|0,J=n[(nt>>>0)+0>>>2],w=4+nt|0,k=n[(w>>>0)+0>>>2],R=4+w|0,U=n[(R>>>0)+0>>>2],N=4+R|0,j=n[(N>>>0)+0>>>2],ct=4+N|0,no=n[(ct>>>0)+0>>>2],st=4+ct|0,O=n[(st>>>0)+0>>>2],tt=4+st|0,P=n[(tt>>>0)+0>>>2],rt=n[((4+tt|0)>>>0)+0>>>2],K=(96+(y<<5)|0)+Math.imul(2144,A)|0,D=n[(K>>>0)+0>>>2],G=4+K|0,Y=n[(G>>>0)+0>>>2],et=4+G|0,it=n[(et>>>0)+0>>>2],ut=4+et|0,F=n[(ut>>>0)+0>>>2],Z=4+ut|0,Q=n[(Z>>>0)+0>>>2],at=4+Z|0,X=n[(at>>>0)+0>>>2],ot=4+at|0,lt=n[(ot>>>0)+0>>>2],dt=n[((4+ot|0)>>>0)+0>>>2];n[(K>>>0)+0>>>2]=0;let pt=4+K|0;n[(pt>>>0)+0>>>2]=0;let _t=4+pt|0;n[(_t>>>0)+0>>>2]=0;let p=4+_t|0;n[(p>>>0)+0>>>2]=0;let f=4+p|0;n[(f>>>0)+0>>>2]=0;let l=4+f|0;n[(l>>>0)+0>>>2]=0;let d=4+l|0;n[(d>>>0)+0>>>2]=0,n[((4+d|0)>>>0)+0>>>2]=0;let h=(96+((1+y|0)<<5)|0)+Math.imul(2144,A)|0,x=n[(h>>>0)+0>>>2],b=4+h|0,g=n[(b>>>0)+0>>>2],L=4+b|0,_=n[(L>>>0)+0>>>2],z=4+L|0,B=n[(z>>>0)+0>>>2],S=4+z|0,E=n[(S>>>0)+0>>>2],T=4+S|0,C=n[(T>>>0)+0>>>2],W=4+T|0,M=n[(W>>>0)+0>>>2],ft=n[((4+W|0)>>>0)+0>>>2];n[(h>>>0)+0>>>2]=0;let At=4+h|0;n[(At>>>0)+0>>>2]=0;let nc=4+At|0;n[(nc>>>0)+0>>>2]=0;let Be=4+nc|0;n[(Be>>>0)+0>>>2]=0;let Pe=4+Be|0;n[(Pe>>>0)+0>>>2]=0;let Ce=4+Pe|0;n[(Ce>>>0)+0>>>2]=0;let St=4+Ce|0;n[(St>>>0)+0>>>2]=0,n[((4+St|0)>>>0)+0>>>2]=0;let _e=n[((16+Math.imul(2144,A)|0)>>>0)+0>>>2],se=(D+no|0)+J|0,yt=se>>>16|se<<16,$t=yt+1779033703|0,Et=($t^no)>>>12|($t^no)<<20,Lt=(Y+Et|0)+se|0,Mt=(Lt^yt)>>>8|(Lt^yt)<<24,je=Mt+$t|0,Ie=(je^Et)>>>7|(je^Et)<<25,sc=(it+O|0)+k|0,Mi=sc>>>16|sc<<16,Oi=Mi+-1150833019|0,rc=(Oi^O)>>>12|(Oi^O)<<20,Ae=(F+rc|0)+sc|0,so=(Ae^Mi)>>>8|(Ae^Mi)<<24,ze=so+Oi|0,Ot=(ze^rc)>>>7|(ze^rc)<<25,re=(Q+P|0)+U|0,Bt=(re^64)>>>16|(re^64)<<16,Pt=Bt+1013904242|0,Ct=(Pt^P)>>>12|(Pt^P)<<20,jt=(X+Ct|0)+re|0,Te=(jt^Bt)>>>8|(jt^Bt)<<24,Ue=Te+Pt|0,ce=(Ue^Ct)>>>7|(Ue^Ct)<<25,Re=(lt+rt|0)+j|0,ie=(Re^(4|_e))>>>16|(Re^(4|_e))<<16,_0=ie+-1521486534|0,cc=(_0^rt)>>>12|(_0^rt)<<20,ic=(dt+cc|0)+Re|0,A0=(ic^ie)>>>8|(ic^ie)<<24,S0=A0+_0|0,Bi=(S0^cc)>>>7|(S0^cc)<<25,Pi=(x+Ot|0)+Lt|0,Ci=(Pi^A0)>>>16|(Pi^A0)<<16,ji=Ci+Ue|0,Ii=(ji^Ot)>>>12|(ji^Ot)<<20,zi=(g+Ii|0)+Pi|0,ta=(zi^Ci)>>>8|(zi^Ci)<<24,ea=ta+ji|0,oa=(ea^Ii)>>>7|(ea^Ii)<<25,na=(_+ce|0)+Ae|0,sa=(na^Mt)>>>16|(na^Mt)<<16,ra=sa+S0|0,ca=(ra^ce)>>>12|(ra^ce)<<20,ac=(B+ca|0)+na|0,lc=(ac^sa)>>>8|(ac^sa)<<24,fc=lc+ra|0,uc=(fc^ca)>>>7|(fc^ca)<<25,vc=(E+Bi|0)+jt|0,dc=(vc^so)>>>16|(vc^so)<<16,pc=dc+je|0,hc=(pc^Bi)>>>12|(pc^Bi)<<20,mc=(C+hc|0)+vc|0,ia=(mc^dc)>>>8|(mc^dc)<<24,aa=ia+pc|0,la=(aa^hc)>>>7|(aa^hc)<<25,fa=(M+Ie|0)+ic|0,ua=(fa^Te)>>>16|(fa^Te)<<16,va=ua+ze|0,xc=(va^Ie)>>>12|(va^Ie)<<20,gc=(ft+xc|0)+fa|0,bc=(gc^ua)>>>8|(gc^ua)<<24,yc=bc+va|0,wc=(yc^xc)>>>7|(yc^xc)<<25,kc=(it+wc|0)+zi|0,_c=(kc^lc)>>>16|(kc^lc)<<16,Ac=_c+aa|0,Sc=(Ac^wc)>>>12|(Ac^wc)<<20,$c=(lt+Sc|0)+kc|0,Ec=($c^_c)>>>8|($c^_c)<<24,da=Ec+Ac|0,Ti=(da^Sc)>>>7|(da^Sc)<<25,Ui=(F+oa|0)+ac|0,Ri=(Ui^ia)>>>16|(Ui^ia)<<16,Di=Ri+yc|0,Hi=(Di^oa)>>>12|(Di^oa)<<20,Vi=(_+Hi|0)+Ui|0,Ni=(Vi^Ri)>>>8|(Vi^Ri)<<24,Fi=Ni+Di|0,qi=(Fi^Hi)>>>7|(Fi^Hi)<<25,pa=(dt+uc|0)+mc|0,$0=(pa^bc)>>>16|(pa^bc)<<16,E0=$0+ea|0,L0=(E0^uc)>>>12|(E0^uc)<<20,M0=(D+L0|0)+pa|0,O0=(M0^$0)>>>8|(M0^$0)<<24,B0=O0+E0|0,P0=(B0^L0)>>>7|(B0^L0)<<25,C0=(Q+la|0)+gc|0,Ki=(C0^ta)>>>16|(C0^ta)<<16,ae=Ki+fc|0,ha=(ae^la)>>>12|(ae^la)<<20,Wi=(C+ha|0)+C0|0,Gi=(Wi^Ki)>>>8|(Wi^Ki)<<24,Xi=Gi+ae|0,ro=(Xi^ha)>>>7|(Xi^ha)<<25,co=(Y+qi|0)+$c|0,io=(co^Gi)>>>16|(co^Gi)<<16,ao=io+B0|0,De=(ao^qi)>>>12|(ao^qi)<<20,It=(B+De|0)+co|0,Lc=(It^io)>>>8|(It^io)<<24,zt=Lc+ao|0,Mc=(zt^De)>>>7|(zt^De)<<25,le=(E+P0|0)+Vi|0,Ji=(le^Ec)>>>16|(le^Ec)<<16,fe=Ji+Xi|0,Yi=(fe^P0)>>>12|(fe^P0)<<20,ue=(X+Yi|0)+le|0,Zi=(ue^Ji)>>>8|(ue^Ji)<<24,ve=Zi+fe|0,Qi=(ve^Yi)>>>7|(ve^Yi)<<25,de=(g+ro|0)+M0|0,t0=(de^Ni)>>>16|(de^Ni)<<16,pe=t0+da|0,Se=(pe^ro)>>>12|(pe^ro)<<20,$e=(M+Se|0)+de|0,j0=($e^t0)>>>8|($e^t0)<<24,Ee=j0+pe|0,I0=(Ee^Se)>>>7|(Ee^Se)<<25,Le=(ft+Ti|0)+Wi|0,z0=(Le^O0)>>>16|(Le^O0)<<16,Me=z0+Fi|0,T0=(Me^Ti)>>>12|(Me^Ti)<<20,Tt=(x+T0|0)+Le|0,e0=(Tt^z0)>>>8|(Tt^z0)<<24,Ut=e0+Me|0,lo=(Ut^T0)>>>7|(Ut^T0)<<25,wt=(F+lo|0)+It|0,kt=(wt^Zi)>>>16|(wt^Zi)<<16,fo=kt+Ee|0,uo=(fo^lo)>>>12|(fo^lo)<<20,vo=(Q+uo|0)+wt|0,po=(vo^kt)>>>8|(vo^kt)<<24,ho=po+fo|0,U0=(ho^uo)>>>7|(ho^uo)<<25,R0=(_+Mc|0)+ue|0,D0=(R0^j0)>>>16|(R0^j0)<<16,H0=D0+Ut|0,V0=(H0^Mc)>>>12|(H0^Mc)<<20,N0=(E+V0|0)+R0|0,F0=(N0^D0)>>>8|(N0^D0)<<24,q0=F0+H0|0,o0=(q0^V0)>>>7|(q0^V0)<<25,mo=(C+Qi|0)+$e|0,xo=(mo^e0)>>>16|(mo^e0)<<16,go=xo+zt|0,bo=(go^Qi)>>>12|(go^Qi)<<20,yo=(it+bo|0)+mo|0,wo=(yo^xo)>>>8|(yo^xo)<<24,ko=wo+go|0,_o=(ko^bo)>>>7|(ko^bo)<<25,Ao=(dt+I0|0)+Tt|0,So=(Ao^Lc)>>>16|(Ao^Lc)<<16,Oc=So+ve|0,Bc=(Oc^I0)>>>12|(Oc^I0)<<20,Pc=(M+Bc|0)+Ao|0,Cc=(Pc^So)>>>8|(Pc^So)<<24,jc=Cc+Oc|0,Ic=(jc^Bc)>>>7|(jc^Bc)<<25,zc=(lt+o0|0)+vo|0,Tc=(zc^Cc)>>>16|(zc^Cc)<<16,Uc=Tc+ko|0,Rc=(Uc^o0)>>>12|(Uc^o0)<<20,n0=(X+Rc|0)+zc|0,He=(n0^Tc)>>>8|(n0^Tc)<<24,he=He+Uc|0,me=(he^Rc)>>>7|(he^Rc)<<25,xe=(g+_o|0)+N0|0,ge=(xe^po)>>>16|(xe^po)<<16,be=ge+jc|0,ye=(be^_o)>>>12|(be^_o)<<20,we=(D+ye|0)+xe|0,s0=(we^ge)>>>8|(we^ge)<<24,r0=s0+be|0,c0=(r0^ye)>>>7|(r0^ye)<<25,Ve=(B+Ic|0)+yo|0,Ne=(Ve^F0)>>>16|(Ve^F0)<<16,Fe=Ne+ho|0,qe=(Fe^Ic)>>>12|(Fe^Ic)<<20,Ke=(ft+qe|0)+Ve|0,We=(Ke^Ne)>>>8|(Ke^Ne)<<24,Ge=We+Fe|0,Xe=(Ge^qe)>>>7|(Ge^qe)<<25,Je=(x+U0|0)+Pc|0,Ye=(Je^wo)>>>16|(Je^wo)<<16,Ze=Ye+q0|0,i0=(Ze^U0)>>>12|(Ze^U0)<<20,a0=(Y+i0|0)+Je|0,l0=(a0^Ye)>>>8|(a0^Ye)<<24,f0=l0+Ze|0,u0=(f0^i0)>>>7|(f0^i0)<<25,v0=(_+u0|0)+n0|0,d0=(v0^s0)>>>16|(v0^s0)<<16,p0=d0+Ge|0,h0=(p0^u0)>>>12|(p0^u0)<<20,m0=(dt+h0|0)+v0|0,x0=(m0^d0)>>>8|(m0^d0)<<24,Dc=x0+p0|0,Hc=(Dc^h0)>>>7|(Dc^h0)<<25,g0=(E+me|0)+we|0,b0=(g0^We)>>>16|(g0^We)<<16,y0=b0+f0|0,w0=(y0^me)>>>12|(y0^me)<<20,$o=(g+w0|0)+g0|0,Eo=($o^b0)>>>8|($o^b0)<<24,Lo=Eo+y0|0,Mo=(Lo^w0)>>>7|(Lo^w0)<<25,Qe=(M+c0|0)+Ke|0,Oo=(Qe^l0)>>>16|(Qe^l0)<<16,Bo=Oo+he|0,Po=(Bo^c0)>>>12|(Bo^c0)<<20,to=(F+Po|0)+Qe|0,Rt=(to^Oo)>>>8|(to^Oo)<<24,Vc=Rt+Bo|0,Dt=(Vc^Po)>>>7|(Vc^Po)<<25,Nc=(C+Xe|0)+a0|0,Ht=(Nc^He)>>>16|(Nc^He)<<16,Fc=Ht+r0|0,Vt=(Fc^Xe)>>>12|(Fc^Xe)<<20,qc=(ft+Vt|0)+Nc|0,Nt=(qc^Ht)>>>8|(qc^Ht)<<24,Kc=Nt+Fc|0,Ft=(Kc^Vt)>>>7|(Kc^Vt)<<25,Wc=(Q+Mo|0)+m0|0,qt=(Wc^Nt)>>>16|(Wc^Nt)<<16,Gc=qt+Vc|0,Kt=(Gc^Mo)>>>12|(Gc^Mo)<<20,Xc=(D+Kt|0)+Wc|0,Wt=(Xc^qt)>>>8|(Xc^qt)<<24,Jc=Wt+Gc|0,Gt=(Jc^Kt)>>>7|(Jc^Kt)<<25,Yc=(B+Dt|0)+$o|0,Xt=(Yc^x0)>>>16|(Yc^x0)<<16,Zc=Xt+Kc|0,Jt=(Zc^Dt)>>>12|(Zc^Dt)<<20,Qc=(it+Jt|0)+Yc|0,Yt=(Qc^Xt)>>>8|(Qc^Xt)<<24,ti=Yt+Zc|0,Zt=(ti^Jt)>>>7|(ti^Jt)<<25,ei=(X+Ft|0)+to|0,Qt=(ei^Eo)>>>16|(ei^Eo)<<16,te=Qt+Dc|0,oi=(te^Ft)>>>12|(te^Ft)<<20,ni=(x+oi|0)+ei|0,si=(ni^Qt)>>>8|(ni^Qt)<<24,ri=si+te|0,ci=(ri^oi)>>>7|(ri^oi)<<25,ii=(Y+Hc|0)+qc|0,ai=(ii^Rt)>>>16|(ii^Rt)<<16,li=ai+Lo|0,fi=(li^Hc)>>>12|(li^Hc)<<20,ui=(lt+fi|0)+ii|0,vi=(ui^ai)>>>8|(ui^ai)<<24,di=vi+li|0,pi=(di^fi)>>>7|(di^fi)<<25,hi=(E+pi|0)+Xc|0,Co=(hi^Yt)>>>16|(hi^Yt)<<16,eo=Co+ri|0,jo=(eo^pi)>>>12|(eo^pi)<<20,Io=(C+jo|0)+hi|0,zo=(Io^Co)>>>8|(Io^Co)<<24,To=zo+eo|0,Uo=(To^jo)>>>7|(To^jo)<<25,Ro=(g+Gt|0)+Qc|0,Do=(Ro^si)>>>16|(Ro^si)<<16,Ho=Do+di|0,Vo=(Ho^Gt)>>>12|(Ho^Gt)<<20,No=(B+Vo|0)+Ro|0,Fo=(No^Do)>>>8|(No^Do)<<24,qo=Fo+Ho|0,Ko=(qo^Vo)>>>7|(qo^Vo)<<25,Wo=(ft+Zt|0)+ni|0,Go=(Wo^vi)>>>16|(Wo^vi)<<16,Xo=Go+Jc|0,Jo=(Xo^Zt)>>>12|(Xo^Zt)<<20,Yo=(_+Jo|0)+Wo|0,Zo=(Yo^Go)>>>8|(Yo^Go)<<24,Qo=Zo+Xo|0,tn=(Qo^Jo)>>>7|(Qo^Jo)<<25,en=(M+ci|0)+ui|0,on=(en^Wt)>>>16|(en^Wt)<<16,nn=on+ti|0,sn=(nn^ci)>>>12|(nn^ci)<<20,rn=(x+sn|0)+en|0,cn=(rn^on)>>>8|(rn^on)<<24,an=cn+nn|0,ln=(an^sn)>>>7|(an^sn)<<25,fn=(dt+Ko|0)+Io|0,un=(fn^cn)>>>16|(fn^cn)<<16,vn=un+Qo|0,dn=(vn^Ko)>>>12|(vn^Ko)<<20,pn=(it+dn|0)+fn|0,hn=(pn^un)>>>8|(pn^un)<<24,mn=hn+vn|0,xn=(mn^dn)>>>7|(mn^dn)<<25,gn=(X+tn|0)+No|0,bn=(gn^zo)>>>16|(gn^zo)<<16,yn=bn+an|0,wn=(yn^tn)>>>12|(yn^tn)<<20,kn=(F+wn|0)+gn|0,_n=(kn^bn)>>>8|(kn^bn)<<24,An=_n+yn|0,Sn=(An^wn)>>>7|(An^wn)<<25,$n=(D+ln|0)+Yo|0,En=($n^Fo)>>>16|($n^Fo)<<16,Ln=En+To|0,Mn=(Ln^ln)>>>12|(Ln^ln)<<20,On=(Y+Mn|0)+$n|0,Bn=(On^En)>>>8|(On^En)<<24,Pn=Bn+Ln|0,Cn=(Pn^Mn)>>>7|(Pn^Mn)<<25,jn=(lt+Uo|0)+rn|0,In=(jn^Zo)>>>16|(jn^Zo)<<16,zn=In+qo|0,Tn=(zn^Uo)>>>12|(zn^Uo)<<20,Un=(Q+Tn|0)+jn|0,Rn=(Un^In)>>>8|(Un^In)<<24,Dn=Rn+zn|0,Hn=(Dn^Tn)>>>7|(Dn^Tn)<<25,Vn=(g+Hn|0)+pn|0,Nn=(Vn^_n)>>>16|(Vn^_n)<<16,Fn=Nn+Pn|0,qn=(Fn^Hn)>>>12|(Fn^Hn)<<20,Kn=(M+qn|0)+Vn|0,Wn=(Kn^Nn)>>>8|(Kn^Nn)<<24,Gn=Wn+Fn|0,Xn=(Gn^qn)>>>7|(Gn^qn)<<25,Jn=(B+xn|0)+kn|0,Yn=(Jn^Bn)>>>16|(Jn^Bn)<<16,Zn=Yn+Dn|0,Qn=(Zn^xn)>>>12|(Zn^xn)<<20,ts=(X+Qn|0)+Jn|0,es=(ts^Yn)>>>8|(ts^Yn)<<24,os=es+Zn|0,ns=(os^Qn)>>>7|(os^Qn)<<25,ss=(x+Sn|0)+On|0,rs=(ss^Rn)>>>16|(ss^Rn)<<16,cs=rs+mn|0,is=(cs^Sn)>>>12|(cs^Sn)<<20,as=(E+is|0)+ss|0,ls=(as^rs)>>>8|(as^rs)<<24,fs=ls+cs|0,us=(fs^is)>>>7|(fs^is)<<25,vs=(ft+Cn|0)+Un|0,ds=(vs^hn)>>>16|(vs^hn)<<16,ps=ds+An|0,hs=(ps^Cn)>>>12|(ps^Cn)<<20,ms=(Y+hs|0)+vs|0,xs=(ms^ds)>>>8|(ms^ds)<<24,gs=xs+ps|0,bs=(gs^hs)>>>7|(gs^hs)<<25,ys=(C+ns|0)+Kn|0,ws=(ys^xs)>>>16|(ys^xs)<<16,ks=ws+fs|0,_s=(ks^ns)>>>12|(ks^ns)<<20,As=(F+_s|0)+ys|0,Ss=(As^ws)>>>8|(As^ws)<<24,$s=Ss+ks|0,Es=($s^_s)>>>7|($s^_s)<<25,Ls=(D+us|0)+ts|0,Ms=(Ls^Wn)>>>16|(Ls^Wn)<<16,Os=Ms+gs|0,Bs=(Os^us)>>>12|(Os^us)<<20,Ps=(_+Bs|0)+Ls|0,Cs=(Ps^Ms)>>>8|(Ps^Ms)<<24,js=Cs+Os|0,Is=(js^Bs)>>>7|(js^Bs)<<25,zs=(it+bs|0)+as|0,Ts=(zs^es)>>>16|(zs^es)<<16,Us=Ts+Gn|0,Rs=(Us^bs)>>>12|(Us^bs)<<20,Ds=(lt+Rs|0)+zs|0,Hs=(Ds^Ts)>>>8|(Ds^Ts)<<24,Vs=Hs+Us|0,Ns=(Vs^Rs)>>>7|(Vs^Rs)<<25,Fs=(Q+Xn|0)+ms|0,qs=(Fs^ls)>>>16|(Fs^ls)<<16,Ks=qs+os|0,Ws=(Ks^Xn)>>>12|(Ks^Xn)<<20,Gs=(dt+Ws|0)+Fs|0,Xs=(Gs^qs)>>>8|(Gs^qs)<<24,Js=Xs+Ks|0,Ys=(Js^Ws)>>>7|(Js^Ws)<<25,Zs=(B+Ys|0)+As|0,Qs=(Zs^Cs)>>>16|(Zs^Cs)<<16,tr=Qs+Vs|0,er=(tr^Ys)>>>12|(tr^Ys)<<20,or=(ft+er|0)+Zs|0,nr=(or^Qs)>>>8|(or^Qs)<<24,sr=nr+tr|0,rr=(sr^er)>>>7|(sr^er)<<25,cr=(X+Es|0)+Ps|0,ir=(cr^Hs)>>>16|(cr^Hs)<<16,ar=ir+Js|0,lr=(ar^Es)>>>12|(ar^Es)<<20,fr=(D+lr|0)+cr|0,ur=(fr^ir)>>>8|(fr^ir)<<24,vr=ur+ar|0,dr=(vr^lr)>>>7|(vr^lr)<<25,pr=(Y+Is|0)+Ds|0,hr=(pr^Xs)>>>16|(pr^Xs)<<16,mr=hr+$s|0,xr=(mr^Is)>>>12|(mr^Is)<<20,gr=(g+xr|0)+pr|0,br=(gr^hr)>>>8|(gr^hr)<<24,yr=br+mr|0,wr=(yr^xr)>>>7|(yr^xr)<<25,kr=(x+Ns|0)+Gs|0,_r=(kr^Ss)>>>16|(kr^Ss)<<16,Ar=_r+js|0,Sr=(Ar^Ns)>>>12|(Ar^Ns)<<20,$r=(lt+Sr|0)+kr|0,Er=($r^_r)>>>8|($r^_r)<<24,Lr=Er+Ar|0,Mr=(Lr^Sr)>>>7|(Lr^Sr)<<25,Or=(M+dr|0)+or|0,Br=(Or^Er)>>>16|(Or^Er)<<16,Pr=Br+yr|0,Cr=(Pr^dr)>>>12|(Pr^dr)<<20,jr=(_+Cr|0)+Or|0,mi=(jr^Br)>>>8|(jr^Br)<<24,Ir=mi+Pr|0,zr=(it+wr|0)+fr|0,Tr=(zr^nr)>>>16|(zr^nr)<<16,Ur=Tr+Lr|0,Rr=(Ur^wr)>>>12|(Ur^wr)<<20,Dr=(E+Rr|0)+zr|0,xi=(Dr^Tr)>>>8|(Dr^Tr)<<24,Hr=xi+Ur|0,Vr=(F+Mr|0)+gr|0,Nr=(Vr^ur)>>>16|(Vr^ur)<<16,Fr=Nr+sr|0,qr=(Fr^Mr)>>>12|(Fr^Mr)<<20,Kr=(Q+qr|0)+Vr|0,gi=(Kr^Nr)>>>8|(Kr^Nr)<<24,Wr=gi+Fr|0,Gr=(dt+rr|0)+$r|0,Xr=(Gr^br)>>>16|(Gr^br)<<16,Jr=Xr+vr|0,Yr=(Jr^rr)>>>12|(Jr^rr)<<20,Zr=(C+Yr|0)+Gr|0,bi=(Zr^Xr)>>>8|(Zr^Xr)<<24,Qr=bi+Jr|0,yi=(96+(V<<5)|0)+Math.imul(2144,A)|0;n[(yi>>>0)+0>>>2]=Wr^jr;let wi=4+yi|0;n[(wi>>>0)+0>>>2]=Qr^Dr;let ki=4+wi|0;n[(ki>>>0)+0>>>2]=Ir^Kr;let _i=4+ki|0;n[(_i>>>0)+0>>>2]=Hr^Zr;let Ai=4+_i|0;n[(Ai>>>0)+0>>>2]=xi^((Qr^Yr)>>>7|(Qr^Yr)<<25);let Si=4+Ai|0;n[(Si>>>0)+0>>>2]=gi^((Ir^Cr)>>>7|(Ir^Cr)<<25);let $i=4+Si|0;n[($i>>>0)+0>>>2]=bi^((Hr^Rr)>>>7|(Hr^Rr)<<25),n[((4+$i|0)>>>0)+0>>>2]=mi^((Wr^qr)>>>7|(Wr^qr)<<25)}function i(A,y){let V=Math.imul(2144,A),nt=n[((24+Math.imul(2144,A)|0)>>>0)+0>>>2],J=n[(V>>>0)+0>>>2],w=n[(V>>>0)+4>>>2],k=1+J|0,R=k,U=(((-1^k)&(1|J)|1&J)>>>31)+w|0,N=nt;e:{let P=R,rt=U,K=N;if((((1&P|0)===0|0|y)&((K|0)!==0|0)|0)===0|0){R=P,U=rt,N=K;break e}let D=P,G=rt,Y=K;s:{let F=D,Z=G,Q=Y,at=F,X=Z,ot=Q;t:for(;;){let _t=at,p=X,f=ot,l=_t,d=p,h=f;{let z=l,B=d,E=h-1|0;if(((E|0)===0|0)&y){D=z,G=B,Y=E;break s}c(A,E,E),l=z,d=B,h=E}let x=l,b=d,g=h,L=b<<31|x>>>1,_=b>>>1;if(((1&L|0)===0|0|y)&((g|0)!==0|0)){at=L,X=_,ot=g;continue t}at=L,X=_,ot=g;break t}let lt=at,dt=X,pt=ot;D=lt,G=dt,Y=pt}let et=D,it=G,ut=Y;R=et,U=it,N=ut}let j=N,ct=Math.imul(2144,A),no=Math.imul(2144,A),st=n[(ct>>>0)+0>>>2],O=n[(ct>>>0)+4>>>2],tt=1+st|0;n[(no>>>0)+0>>>2]=tt,n[(no>>>0)+4>>>2]=(((-1^tt)&(1|st)|1&st)>>>31)+O|0,n[((24+Math.imul(2144,A)|0)>>>0)+0>>>2]=1+j|0}function a(A,y,V,nt,J,w){return r.fill(0,((2144+y|0)+(Math.imul(V,A)<<6)|0)>>>0,(((2144+y|0)+(Math.imul(V,A)<<6)|0)>>>0)+(((y|0)===0|0?J:nt)>>>0)),0}function u(A,y,V,nt,J,w,k,R){let U=0;e:{let N=U;if((N>>>0<y>>>0|0|0)===0|0){U=N;break e}let j=N;{let st=j;t:for(;;){let P=st;{let D=P,G=D+A|0,Y=32+Math.imul(2144,G)|0,et=64+Math.imul(2144,G)|0,it=n[(Y>>>0)+0>>>2],ut=4+Y|0,F=n[(ut>>>0)+0>>>2],Z=4+ut|0,Q=n[(Z>>>0)+0>>>2],at=4+Z|0,X=n[(at>>>0)+0>>>2],ot=4+at|0,lt=n[(ot>>>0)+0>>>2],dt=4+ot|0,pt=n[(dt>>>0)+0>>>2],_t=4+dt|0,p=n[(_t>>>0)+0>>>2],f=n[((4+_t|0)>>>0)+0>>>2],l=n[((20+Math.imul(2144,G)|0)>>>0)+0>>>2],d=Math.imul(2144,G),h=n[((16+Math.imul(2144,G)|0)>>>0)+0>>>2],x=n[(et>>>0)+0>>>2],b=4+et|0,g=n[(b>>>0)+0>>>2],L=4+b|0,_=n[(L>>>0)+0>>>2],z=4+L|0,B=n[(z>>>0)+0>>>2],S=4+z|0,E=n[(S>>>0)+0>>>2],T=4+S|0,C=n[(T>>>0)+0>>>2],W=4+T|0,M=n[(W>>>0)+0>>>2],ft=n[((4+W|0)>>>0)+0>>>2],At=n[(d>>>0)+0>>>2],nc=n[(d>>>0)+4>>>2],Be=0,Pe=0,Ce=x,St=g,_e=_,se=B,yt=E,$t=C,Et=M,Lt=ft,Mt=l;n:{let Ot=Be,re=Pe,Bt=Ce,Pt=St,Ct=_e,jt=se,Te=yt,Ue=$t,ce=Et,Re=Lt,ie=Mt;if((Ot>>>0<V>>>0|0|0)===0|0){Be=Ot,Pe=re,Ce=Bt,St=Pt,_e=Ct,se=jt,yt=Te,$t=Ue,Et=ce,Lt=Re,Mt=ie;break n}let _0=Ot,cc=re,ic=Bt,A0=Pt,S0=Ct,Bi=jt,Pi=Te,Ci=Ue,ji=ce,Ii=Re,zi=ie;{let vc=_0,dc=cc,pc=ic,hc=A0,mc=S0,ia=Bi,aa=Pi,la=Ci,fa=ji,ua=Ii,va=zi,xc=vc,gc=dc,bc=pc,yc=hc,wc=mc,kc=ia,_c=aa,Ac=la,Sc=fa,$c=ua,Ec=va;c:for(;;){let $0=xc,E0=gc,L0=bc,M0=yc,O0=wc,B0=kc,P0=_c,C0=Ac,Ki=Sc,ae=$c,ha=Ec,Wi=$0,Gi=E0,Xi=L0,ro=M0,co=O0,io=B0,ao=P0,De=C0,It=Ki,Lc=ae,zt=ha;{let pe=Wi,Se=Gi,$e=Xi,j0=ro,Ee=co,I0=io,Le=ao,z0=De,Me=It,T0=Lc,Tt=zt,e0=V-pe|0,Ut=Math.min((16-Tt|0)>>>0,e0>>>0)|0,lo=$e,wt=j0,kt=Ee,fo=I0,uo=Le,vo=z0,po=Me,ho=T0;i:{let He=lo,he=wt,me=kt,xe=fo,ge=uo,be=vo,ye=po,we=ho;if(((Tt|0)===0|0|0)===0|0){lo=He,wt=he,kt=me,fo=xe,uo=ge,vo=be,po=ye,ho=we;break i}lo=it,wt=F,kt=Q,fo=X,uo=lt,vo=pt,po=p,ho=f}let U0=lo,R0=wt,D0=kt,H0=fo,V0=uo,N0=vo,F0=po,q0=ho,o0=0,mo=pe,xo=U0,go=R0,bo=D0,yo=H0,wo=V0,ko=N0,_o=F0,Ao=q0,So=Tt;{let He=o0,he=mo,me=xo,xe=go,ge=bo,be=yo,ye=wo,we=ko,s0=_o,r0=Ao,c0=So,Ve=He,Ne=he,Fe=me,qe=xe,Ke=ge,We=be,Ge=ye,Xe=we,Je=s0,Ye=r0,Ze=c0;a:for(;;){let Dc=Ve,Hc=Ne,g0=Fe,b0=qe,y0=Ke,w0=We,$o=Ge,Eo=Xe,Lo=Je,Mo=Ye,Qe=Ze,Oo=1+Dc|0,Bo=k&((Dc|0)===(Ut-1|0|0)|0)&((e0|0)===(Ut|0)|0),Po=Bo|((Qe|0)===15|0),to=(2144+((Hc+nt|0)<<6)|0)+(Math.imul(J,G)<<6)|0,Rt=n[(to>>>0)+0>>>2],Vc=4+to|0,Dt=n[(Vc>>>0)+0>>>2],Nc=4+Vc|0,Ht=n[(Nc>>>0)+0>>>2],Fc=4+Nc|0,Vt=n[(Fc>>>0)+0>>>2],qc=4+Fc|0,Nt=n[(qc>>>0)+0>>>2],Kc=4+qc|0,Ft=n[(Kc>>>0)+0>>>2],Wc=4+Kc|0,qt=n[(Wc>>>0)+0>>>2],Gc=4+Wc|0,Kt=n[(Gc>>>0)+0>>>2],Xc=4+Gc|0,Wt=n[(Xc>>>0)+0>>>2],Jc=4+Xc|0,Gt=n[(Jc>>>0)+0>>>2],Yc=4+Jc|0,Xt=n[(Yc>>>0)+0>>>2],Zc=4+Yc|0,Jt=n[(Zc>>>0)+0>>>2],Qc=4+Zc|0,Yt=n[(Qc>>>0)+0>>>2],ti=4+Qc|0,Zt=n[(ti>>>0)+0>>>2],ei=4+ti|0,Qt=n[(ei>>>0)+0>>>2],te=n[((4+ei|0)>>>0)+0>>>2];n[(to>>>0)+0>>>2]=0;let oi=4+to|0;n[(oi>>>0)+0>>>2]=0;let ni=4+oi|0;n[(ni>>>0)+0>>>2]=0;let si=4+ni|0;n[(si>>>0)+0>>>2]=0;let ri=4+si|0;n[(ri>>>0)+0>>>2]=0;let ci=4+ri|0;n[(ci>>>0)+0>>>2]=0;let ii=4+ci|0;n[(ii>>>0)+0>>>2]=0;let ai=4+ii|0;n[(ai>>>0)+0>>>2]=0;let li=4+ai|0;n[(li>>>0)+0>>>2]=0;let fi=4+li|0;n[(fi>>>0)+0>>>2]=0;let ui=4+fi|0;n[(ui>>>0)+0>>>2]=0;let vi=4+ui|0;n[(vi>>>0)+0>>>2]=0;let di=4+vi|0;n[(di>>>0)+0>>>2]=0;let pi=4+di|0;n[(pi>>>0)+0>>>2]=0;let hi=4+pi|0;n[(hi>>>0)+0>>>2]=0,n[((4+hi|0)>>>0)+0>>>2]=0;let Co=(Rt+$o|0)+g0|0,eo=Se+At|0,jo=(Co^eo)>>>16|(Co^eo)<<16,Io=jo+1779033703|0,zo=(Io^$o)>>>12|(Io^$o)<<20,To=(Dt+zo|0)+Co|0,Uo=(To^jo)>>>8|(To^jo)<<24,Ro=Uo+Io|0,Do=(Ro^zo)>>>7|(Ro^zo)<<25,Ho=(Ht+Eo|0)+b0|0,Vo=(Ho^((((-1^eo)&(Se|At)|Se&At)>>>31)+nc|0))>>>16|(Ho^((((-1^eo)&(Se|At)|Se&At)>>>31)+nc|0))<<16,No=Vo+-1150833019|0,Fo=(No^Eo)>>>12|(No^Eo)<<20,qo=(Vt+Fo|0)+Ho|0,Ko=(qo^Vo)>>>8|(qo^Vo)<<24,Wo=Ko+No|0,Go=(Wo^Fo)>>>7|(Wo^Fo)<<25,Xo=(Nt+Lo|0)+y0|0,Jo=(Xo^(Bo?w-R|0:w))>>>16|(Xo^(Bo?w-R|0:w))<<16,Yo=Jo+1013904242|0,Zo=(Yo^Lo)>>>12|(Yo^Lo)<<20,Qo=(Ft+Zo|0)+Xo|0,tn=(Qo^Jo)>>>8|(Qo^Jo)<<24,en=tn+Yo|0,on=(en^Zo)>>>7|(en^Zo)<<25,nn=(qt+Mo|0)+w0|0,sn=(nn^((Po?2:0)|((Qe|0)===0|0?1:0)|h))>>>16|(nn^((Po?2:0)|((Qe|0)===0|0?1:0)|h))<<16,rn=sn+-1521486534|0,cn=(rn^Mo)>>>12|(rn^Mo)<<20,an=(Kt+cn|0)+nn|0,ln=(an^sn)>>>8|(an^sn)<<24,fn=ln+rn|0,un=(fn^cn)>>>7|(fn^cn)<<25,vn=(Wt+Go|0)+To|0,dn=(vn^ln)>>>16|(vn^ln)<<16,pn=dn+en|0,hn=(pn^Go)>>>12|(pn^Go)<<20,mn=(Gt+hn|0)+vn|0,xn=(mn^dn)>>>8|(mn^dn)<<24,gn=xn+pn|0,bn=(gn^hn)>>>7|(gn^hn)<<25,yn=(Xt+on|0)+qo|0,wn=(yn^Uo)>>>16|(yn^Uo)<<16,kn=wn+fn|0,_n=(kn^on)>>>12|(kn^on)<<20,An=(Jt+_n|0)+yn|0,Sn=(An^wn)>>>8|(An^wn)<<24,$n=Sn+kn|0,En=($n^_n)>>>7|($n^_n)<<25,Ln=(Yt+un|0)+Qo|0,Mn=(Ln^Ko)>>>16|(Ln^Ko)<<16,On=Mn+Ro|0,Bn=(On^un)>>>12|(On^un)<<20,Pn=(Zt+Bn|0)+Ln|0,Cn=(Pn^Mn)>>>8|(Pn^Mn)<<24,jn=Cn+On|0,In=(jn^Bn)>>>7|(jn^Bn)<<25,zn=(Qt+Do|0)+an|0,Tn=(zn^tn)>>>16|(zn^tn)<<16,Un=Tn+Wo|0,Rn=(Un^Do)>>>12|(Un^Do)<<20,Dn=(te+Rn|0)+zn|0,Hn=(Dn^Tn)>>>8|(Dn^Tn)<<24,Vn=Hn+Un|0,Nn=(Vn^Rn)>>>7|(Vn^Rn)<<25,Fn=(Ht+Nn|0)+mn|0,qn=(Fn^Sn)>>>16|(Fn^Sn)<<16,Kn=qn+jn|0,Wn=(Kn^Nn)>>>12|(Kn^Nn)<<20,Gn=(qt+Wn|0)+Fn|0,Xn=(Gn^qn)>>>8|(Gn^qn)<<24,Jn=Xn+Kn|0,Yn=(Jn^Wn)>>>7|(Jn^Wn)<<25,Zn=(Vt+bn|0)+An|0,Qn=(Zn^Cn)>>>16|(Zn^Cn)<<16,ts=Qn+Vn|0,es=(ts^bn)>>>12|(ts^bn)<<20,os=(Xt+es|0)+Zn|0,ns=(os^Qn)>>>8|(os^Qn)<<24,ss=ns+ts|0,rs=(ss^es)>>>7|(ss^es)<<25,cs=(Kt+En|0)+Pn|0,is=(cs^Hn)>>>16|(cs^Hn)<<16,as=is+gn|0,ls=(as^En)>>>12|(as^En)<<20,fs=(Rt+ls|0)+cs|0,us=(fs^is)>>>8|(fs^is)<<24,vs=us+as|0,ds=(vs^ls)>>>7|(vs^ls)<<25,ps=(Nt+In|0)+Dn|0,hs=(ps^xn)>>>16|(ps^xn)<<16,ms=hs+$n|0,xs=(ms^In)>>>12|(ms^In)<<20,gs=(Zt+xs|0)+ps|0,bs=(gs^hs)>>>8|(gs^hs)<<24,ys=bs+ms|0,ws=(ys^xs)>>>7|(ys^xs)<<25,ks=(Dt+rs|0)+Gn|0,_s=(ks^bs)>>>16|(ks^bs)<<16,As=_s+vs|0,Ss=(As^rs)>>>12|(As^rs)<<20,$s=(Jt+Ss|0)+ks|0,Es=($s^_s)>>>8|($s^_s)<<24,Ls=Es+As|0,Ms=(Ls^Ss)>>>7|(Ls^Ss)<<25,Os=(Yt+ds|0)+os|0,Bs=(Os^Xn)>>>16|(Os^Xn)<<16,Ps=Bs+ys|0,Cs=(Ps^ds)>>>12|(Ps^ds)<<20,js=(Ft+Cs|0)+Os|0,Is=(js^Bs)>>>8|(js^Bs)<<24,zs=Is+Ps|0,Ts=(zs^Cs)>>>7|(zs^Cs)<<25,Us=(Gt+ws|0)+fs|0,Rs=(Us^ns)>>>16|(Us^ns)<<16,Ds=Rs+Jn|0,Hs=(Ds^ws)>>>12|(Ds^ws)<<20,Vs=(Qt+Hs|0)+Us|0,Ns=(Vs^Rs)>>>8|(Vs^Rs)<<24,Fs=Ns+Ds|0,qs=(Fs^Hs)>>>7|(Fs^Hs)<<25,Ks=(te+Yn|0)+gs|0,Ws=(Ks^us)>>>16|(Ks^us)<<16,Gs=Ws+ss|0,Xs=(Gs^Yn)>>>12|(Gs^Yn)<<20,Js=(Wt+Xs|0)+Ks|0,Ys=(Js^Ws)>>>8|(Js^Ws)<<24,Zs=Ys+Gs|0,Qs=(Zs^Xs)>>>7|(Zs^Xs)<<25,tr=(Vt+Qs|0)+$s|0,er=(tr^Is)>>>16|(tr^Is)<<16,or=er+Fs|0,nr=(or^Qs)>>>12|(or^Qs)<<20,sr=(Nt+nr|0)+tr|0,rr=(sr^er)>>>8|(sr^er)<<24,cr=rr+or|0,ir=(cr^nr)>>>7|(cr^nr)<<25,ar=(Xt+Ms|0)+js|0,lr=(ar^Ns)>>>16|(ar^Ns)<<16,fr=lr+Zs|0,ur=(fr^Ms)>>>12|(fr^Ms)<<20,vr=(Yt+ur|0)+ar|0,dr=(vr^lr)>>>8|(vr^lr)<<24,pr=dr+fr|0,hr=(pr^ur)>>>7|(pr^ur)<<25,mr=(Zt+Ts|0)+Vs|0,xr=(mr^Ys)>>>16|(mr^Ys)<<16,gr=xr+Ls|0,br=(gr^Ts)>>>12|(gr^Ts)<<20,yr=(Ht+br|0)+mr|0,wr=(yr^xr)>>>8|(yr^xr)<<24,kr=wr+gr|0,_r=(kr^br)>>>7|(kr^br)<<25,Ar=(Kt+qs|0)+Js|0,Sr=(Ar^Es)>>>16|(Ar^Es)<<16,$r=Sr+zs|0,Er=($r^qs)>>>12|($r^qs)<<20,Lr=(Qt+Er|0)+Ar|0,Mr=(Lr^Sr)>>>8|(Lr^Sr)<<24,Or=Mr+$r|0,Br=(Or^Er)>>>7|(Or^Er)<<25,Pr=(qt+hr|0)+sr|0,Cr=(Pr^Mr)>>>16|(Pr^Mr)<<16,jr=Cr+kr|0,mi=(jr^hr)>>>12|(jr^hr)<<20,Ir=(Ft+mi|0)+Pr|0,zr=(Ir^Cr)>>>8|(Ir^Cr)<<24,Tr=zr+jr|0,Ur=(Tr^mi)>>>7|(Tr^mi)<<25,Rr=(Gt+_r|0)+vr|0,Dr=(Rr^rr)>>>16|(Rr^rr)<<16,xi=Dr+Or|0,Hr=(xi^_r)>>>12|(xi^_r)<<20,Vr=(Rt+Hr|0)+Rr|0,Nr=(Vr^Dr)>>>8|(Vr^Dr)<<24,Fr=Nr+xi|0,qr=(Fr^Hr)>>>7|(Fr^Hr)<<25,Kr=(Jt+Br|0)+yr|0,gi=(Kr^dr)>>>16|(Kr^dr)<<16,Wr=gi+cr|0,Gr=(Wr^Br)>>>12|(Wr^Br)<<20,Xr=(te+Gr|0)+Kr|0,Jr=(Xr^gi)>>>8|(Xr^gi)<<24,Yr=Jr+Wr|0,Zr=(Yr^Gr)>>>7|(Yr^Gr)<<25,bi=(Wt+ir|0)+Lr|0,Qr=(bi^wr)>>>16|(bi^wr)<<16,yi=Qr+pr|0,wi=(yi^ir)>>>12|(yi^ir)<<20,ki=(Dt+wi|0)+bi|0,_i=(ki^Qr)>>>8|(ki^Qr)<<24,Ai=_i+yi|0,Si=(Ai^wi)>>>7|(Ai^wi)<<25,$i=(Xt+Si|0)+Ir|0,ma=($i^Nr)>>>16|($i^Nr)<<16,xa=ma+Yr|0,K0=(xa^Si)>>>12|(xa^Si)<<20,ga=(Kt+K0|0)+$i|0,ba=(ga^ma)>>>8|(ga^ma)<<24,ya=ba+xa|0,wa=(ya^K0)>>>7|(ya^K0)<<25,ka=(Yt+Ur|0)+Vr|0,_a=(ka^Jr)>>>16|(ka^Jr)<<16,W0=_a+Ai|0,Aa=(W0^Ur)>>>12|(W0^Ur)<<20,Sa=(Gt+Aa|0)+ka|0,$a=(Sa^_a)>>>8|(Sa^_a)<<24,Ea=$a+W0|0,La=(Ea^Aa)>>>7|(Ea^Aa)<<25,Ma=(Qt+qr|0)+Xr|0,G0=(Ma^_i)>>>16|(Ma^_i)<<16,Oa=G0+Tr|0,Ba=(Oa^qr)>>>12|(Oa^qr)<<20,Pa=(Vt+Ba|0)+Ma|0,Ca=(Pa^G0)>>>8|(Pa^G0)<<24,ja=Ca+Oa|0,Ia=(ja^Ba)>>>7|(ja^Ba)<<25,X0=(Zt+Zr|0)+ki|0,Ta=(X0^zr)>>>16|(X0^zr)<<16,Ua=Ta+Fr|0,Ra=(Ua^Zr)>>>12|(Ua^Zr)<<20,Da=(te+Ra|0)+X0|0,Ha=(Da^Ta)>>>8|(Da^Ta)<<24,Va=Ha+Ua|0,Na=(Va^Ra)>>>7|(Va^Ra)<<25,Fa=(Nt+La|0)+ga|0,qa=(Fa^Ha)>>>16|(Fa^Ha)<<16,Ka=qa+ja|0,Wa=(Ka^La)>>>12|(Ka^La)<<20,Ga=(Rt+Wa|0)+Fa|0,Xa=(Ga^qa)>>>8|(Ga^qa)<<24,Ja=Xa+Ka|0,Ya=(Ja^Wa)>>>7|(Ja^Wa)<<25,za=(Jt+Ia|0)+Sa|0,Za=(za^ba)>>>16|(za^ba)<<16,k2=Za+Va|0,_2=(k2^Ia)>>>12|(k2^Ia)<<20,A2=(Ht+_2|0)+za|0,S2=(A2^Za)>>>8|(A2^Za)<<24,$2=S2+k2|0,E2=($2^_2)>>>7|($2^_2)<<25,L2=(Ft+Na|0)+Pa|0,M2=(L2^$a)>>>16|(L2^$a)<<16,O2=M2+ya|0,B2=(O2^Na)>>>12|(O2^Na)<<20,P2=(Wt+B2|0)+L2|0,C2=(P2^M2)>>>8|(P2^M2)<<24,j2=C2+O2|0,I2=(j2^B2)>>>7|(j2^B2)<<25,z2=(Dt+wa|0)+Da|0,T2=(z2^Ca)>>>16|(z2^Ca)<<16,U2=T2+Ea|0,R2=(U2^wa)>>>12|(U2^wa)<<20,D2=(qt+R2|0)+z2|0,H2=(D2^T2)>>>8|(D2^T2)<<24,V2=H2+U2|0,N2=(V2^R2)>>>7|(V2^R2)<<25,F2=(Yt+N2|0)+Ga|0,q2=(F2^S2)>>>16|(F2^S2)<<16,K2=q2+j2|0,W2=(K2^N2)>>>12|(K2^N2)<<20,G2=(Zt+W2|0)+F2|0,X2=(G2^q2)>>>8|(G2^q2)<<24,J2=X2+K2|0,Y2=(J2^W2)>>>7|(J2^W2)<<25,Z2=(Gt+Ya|0)+A2|0,Q2=(Z2^C2)>>>16|(Z2^C2)<<16,tl=Q2+V2|0,el=(tl^Ya)>>>12|(tl^Ya)<<20,ol=(Jt+el|0)+Z2|0,nl=(ol^Q2)>>>8|(ol^Q2)<<24,sl=nl+tl|0,rl=(sl^el)>>>7|(sl^el)<<25,cl=(te+E2|0)+P2|0,il=(cl^H2)>>>16|(cl^H2)<<16,al=il+Ja|0,ll=(al^E2)>>>12|(al^E2)<<20,fl=(Xt+ll|0)+cl|0,ul=(fl^il)>>>8|(fl^il)<<24,vl=ul+al|0,dl=(vl^ll)>>>7|(vl^ll)<<25,pl=(Qt+I2|0)+D2|0,hl=(pl^Xa)>>>16|(pl^Xa)<<16,ml=hl+$2|0,xl=(ml^I2)>>>12|(ml^I2)<<20,gl=(Wt+xl|0)+pl|0,bl=(gl^hl)>>>8|(gl^hl)<<24,yl=bl+ml|0,wl=(yl^xl)>>>7|(yl^xl)<<25,kl=(Kt+rl|0)+G2|0,_l=(kl^bl)>>>16|(kl^bl)<<16,Al=_l+vl|0,Sl=(Al^rl)>>>12|(Al^rl)<<20,$l=(Ht+Sl|0)+kl|0,El=($l^_l)>>>8|($l^_l)<<24,Ll=El+Al|0,Ml=(Ll^Sl)>>>7|(Ll^Sl)<<25,Ol=(Ft+dl|0)+ol|0,Bl=(Ol^X2)>>>16|(Ol^X2)<<16,Pl=Bl+yl|0,Cl=(Pl^dl)>>>12|(Pl^dl)<<20,jl=(Vt+Cl|0)+Ol|0,Il=(jl^Bl)>>>8|(jl^Bl)<<24,zl=Il+Pl|0,Tl=(zl^Cl)>>>7|(zl^Cl)<<25,Ul=(Rt+wl|0)+fl|0,Rl=(Ul^nl)>>>16|(Ul^nl)<<16,Dl=Rl+J2|0,gf=(Dl^wl)>>>12|(Dl^wl)<<20,Hl=(Dt+gf|0)+Ul|0,Vl=(Hl^Rl)>>>8|(Hl^Rl)<<24,Nl=Vl+Dl|0,Fl=(Nl^gf)>>>7|(Nl^gf)<<25,ql=(qt+Y2|0)+gl|0,Kl=(ql^ul)>>>16|(ql^ul)<<16,bf=Kl+sl|0,Wl=(bf^Y2)>>>12|(bf^Y2)<<20,Gl=(Nt+Wl|0)+ql|0,Xl=(Gl^Kl)>>>8|(Gl^Kl)<<24,Jl=Xl+bf|0,Yl=(Jl^Wl)>>>7|(Jl^Wl)<<25,Zl=(Gt+Yl|0)+$l|0,yf=(Zl^Il)>>>16|(Zl^Il)<<16,Ql=yf+Nl|0,tf=(Ql^Yl)>>>12|(Ql^Yl)<<20,ef=(Qt+tf|0)+Zl|0,of=(ef^yf)>>>8|(ef^yf)<<24,nf=of+Ql|0,sf=(nf^tf)>>>7|(nf^tf)<<25,wf=(Jt+Ml|0)+jl|0,rf=(wf^Vl)>>>16|(wf^Vl)<<16,Wf=rf+Jl|0,Gf=(Wf^Ml)>>>12|(Wf^Ml)<<20,Xf=(Ft+Gf|0)+wf|0,Jf=(Xf^rf)>>>8|(Xf^rf)<<24,Yf=Jf+Wf|0,Zf=(Yf^Gf)>>>7|(Yf^Gf)<<25,Qf=(Wt+Tl|0)+Hl|0,tu=(Qf^Xl)>>>16|(Qf^Xl)<<16,M1=tu+Ll|0,O1=(M1^Tl)>>>12|(M1^Tl)<<20,B1=(Yt+O1|0)+Qf|0,P1=(B1^tu)>>>8|(B1^tu)<<24,C1=P1+M1|0,j1=(C1^O1)>>>7|(C1^O1)<<25,I1=(te+Fl|0)+Gl|0,z1=(I1^El)>>>16|(I1^El)<<16,T1=z1+zl|0,U1=(T1^Fl)>>>12|(T1^Fl)<<20,R1=(Dt+U1|0)+I1|0,D1=(R1^z1)>>>8|(R1^z1)<<24,H1=D1+T1|0,V1=(H1^U1)>>>7|(H1^U1)<<25,N1=(Zt+Zf|0)+ef|0,F1=(N1^D1)>>>16|(N1^D1)<<16,q1=F1+C1|0,K1=(q1^Zf)>>>12|(q1^Zf)<<20,W1=(Vt+K1|0)+N1|0,G1=(W1^F1)>>>8|(W1^F1)<<24,X1=G1+q1|0,J1=(X1^K1)>>>7|(X1^K1)<<25,Y1=(Rt+j1|0)+Xf|0,Z1=(Y1^of)>>>16|(Y1^of)<<16,Q1=Z1+H1|0,tv=(Q1^j1)>>>12|(Q1^j1)<<20,ev=(Xt+tv|0)+Y1|0,ov=(ev^Z1)>>>8|(ev^Z1)<<24,nv=ov+Q1|0,sv=(nv^tv)>>>7|(nv^tv)<<25,rv=(Ht+V1|0)+B1|0,cv=(rv^Jf)>>>16|(rv^Jf)<<16,iv=cv+nf|0,av=(iv^V1)>>>12|(iv^V1)<<20,lv=(qt+av|0)+rv|0,fv=(lv^cv)>>>8|(lv^cv)<<24,uv=fv+iv|0,vv=(uv^av)>>>7|(uv^av)<<25,dv=(Nt+sf|0)+R1|0,pv=(dv^P1)>>>16|(dv^P1)<<16,hv=pv+Yf|0,mv=(hv^sf)>>>12|(hv^sf)<<20,xv=(Kt+mv|0)+dv|0,gv=(xv^pv)>>>8|(xv^pv)<<24,bv=gv+hv|0,yv=(bv^mv)>>>7|(bv^mv)<<25,wv=(Jt+yv|0)+W1|0,kv=(wv^ov)>>>16|(wv^ov)<<16,_v=kv+uv|0,Av=(_v^yv)>>>12|(_v^yv)<<20,Sv=(te+Av|0)+wv|0,$v=(Sv^kv)>>>8|(Sv^kv)<<24,Ev=$v+_v|0,Lv=(Ev^Av)>>>7|(Ev^Av)<<25,Mv=(Ft+J1|0)+ev|0,Ov=(Mv^fv)>>>16|(Mv^fv)<<16,Bv=Ov+bv|0,Pv=(Bv^J1)>>>12|(Bv^J1)<<20,Cv=(Rt+Pv|0)+Mv|0,jv=(Cv^Ov)>>>8|(Cv^Ov)<<24,Iv=jv+Bv|0,zv=(Iv^Pv)>>>7|(Iv^Pv)<<25,Tv=(Dt+sv|0)+lv|0,Uv=(Tv^gv)>>>16|(Tv^gv)<<16,Rv=Uv+X1|0,Dv=(Rv^sv)>>>12|(Rv^sv)<<20,Hv=(Gt+Dv|0)+Tv|0,Vv=(Hv^Uv)>>>8|(Hv^Uv)<<24,Nv=Vv+Rv|0,Fv=(Nv^Dv)>>>7|(Nv^Dv)<<25,qv=(Wt+vv|0)+xv|0,Kv=(qv^G1)>>>16|(qv^G1)<<16,Wv=Kv+nv|0,Gv=(Wv^vv)>>>12|(Wv^vv)<<20,Xv=(qt+Gv|0)+qv|0,Jv=(Xv^Kv)>>>8|(Xv^Kv)<<24,Yv=Jv+Wv|0,Zv=(Yv^Gv)>>>7|(Yv^Gv)<<25,Qv=(Qt+zv|0)+Sv|0,td=(Qv^Jv)>>>16|(Qv^Jv)<<16,ed=td+Nv|0,od=(ed^zv)>>>12|(ed^zv)<<20,nd=(Xt+od|0)+Qv|0,Qd=(nd^td)>>>8|(nd^td)<<24,sd=Qd+ed|0,rd=(Ht+Fv|0)+Cv|0,cd=(rd^$v)>>>16|(rd^$v)<<16,id=cd+Yv|0,ad=(id^Fv)>>>12|(id^Fv)<<20,ld=(Yt+ad|0)+rd|0,tp=(ld^cd)>>>8|(ld^cd)<<24,fd=tp+id|0,ud=(Vt+Zv|0)+Hv|0,vd=(ud^jv)>>>16|(ud^jv)<<16,dd=vd+Ev|0,pd=(dd^Zv)>>>12|(dd^Zv)<<20,hd=(Nt+pd|0)+ud|0,ep=(hd^vd)>>>8|(hd^vd)<<24,md=ep+dd|0,xd=(Kt+Lv|0)+Xv|0,gd=(xd^Vv)>>>16|(xd^Vv)<<16,bd=gd+Iv|0,yd=(bd^Lv)>>>12|(bd^Lv)<<20,wd=(Zt+yd|0)+xd|0,op=(wd^gd)>>>8|(wd^gd)<<24,kd=op+bd|0,np=md^nd,sp=kd^ld,rp=sd^hd,cp=fd^wd,ip=tp^((kd^yd)>>>7|(kd^yd)<<25),ap=ep^((sd^od)>>>7|(sd^od)<<25),lp=op^((fd^ad)>>>7|(fd^ad)<<25),fp=Qd^((md^pd)>>>7|(md^pd)<<25),up=Po?0:1+Qe|0,vp=1+Hc|0;if(Oo>>>0<Ut>>>0|0){Ve=Oo,Ne=vp,Fe=np,qe=sp,Ke=rp,We=cp,Ge=ip,Xe=ap,Je=lp,Ye=fp,Ze=up;continue a}Ve=Oo,Ne=vp,Fe=np,qe=sp,Ke=rp,We=cp,Ge=ip,Xe=ap,Je=lp,Ye=fp,Ze=up;break a}let i0=Ve,a0=Ne,l0=Fe,f0=qe,u0=Ke,v0=We,d0=Ge,p0=Xe,h0=Je,m0=Ye,x0=Ze;o0=i0,mo=a0,xo=l0,go=f0,bo=u0,yo=v0,wo=d0,ko=p0,_o=h0,Ao=m0,So=x0}let Oc=mo,Bc=xo,Pc=go,Cc=bo,jc=yo,Ic=wo,zc=ko,Tc=_o,Uc=Ao,Rc=So;i:{if(((Rc|0)===0|0|0)===0|0)break i;let he=(96+(n[((24+Math.imul(2144,G)|0)>>>0)+0>>>2]<<5)|0)+Math.imul(2144,G)|0;n[(he>>>0)+0>>>2]=Bc;let me=4+he|0;n[(me>>>0)+0>>>2]=Pc;let xe=4+me|0;n[(xe>>>0)+0>>>2]=Cc;let ge=4+xe|0;n[(ge>>>0)+0>>>2]=jc;let be=4+ge|0;n[(be>>>0)+0>>>2]=Ic;let ye=4+be|0;n[(ye>>>0)+0>>>2]=zc;let we=4+ye|0;n[(we>>>0)+0>>>2]=Tc,n[((4+we|0)>>>0)+0>>>2]=Uc,i(G,((Oc|0)===(V|0)|0)&k)}let n0=1+Se|0;Wi=Oc,Gi=n0,Xi=Bc,ro=Pc,co=Cc,io=jc,ao=Ic,De=zc,It=Tc,Lc=Uc,zt=Rc}let Mc=Wi,le=Gi,Ji=Xi,fe=ro,Yi=co,ue=io,Zi=ao,ve=De,Qi=It,de=Lc,t0=zt;if(Mc>>>0<V>>>0|0){xc=Mc,gc=le,bc=Ji,yc=fe,wc=Yi,kc=ue,_c=Zi,Ac=ve,Sc=Qi,$c=de,Ec=t0;continue c}xc=Mc,gc=le,bc=Ji,yc=fe,wc=Yi,kc=ue,_c=Zi,Ac=ve,Sc=Qi,$c=de,Ec=t0;break c}let da=xc,Ti=gc,Ui=bc,Ri=yc,Di=wc,Hi=kc,Vi=_c,Ni=Ac,Fi=Sc,qi=$c,pa=Ec;_0=da,cc=Ti,ic=Ui,A0=Ri,S0=Di,Bi=Hi,Pi=Vi,Ci=Ni,ji=Fi,Ii=qi,zi=pa}let ta=_0,ea=cc,oa=ic,na=A0,sa=S0,ra=Bi,ca=Pi,ac=Ci,lc=ji,fc=Ii,uc=zi;Be=ta,Pe=ea,Ce=oa,St=na,_e=sa,se=ra,yt=ca,$t=ac,Et=lc,Lt=fc,Mt=uc}let je=Ce,Ie=St,sc=_e,Mi=se,Oi=yt,rc=$t,Ae=Et,so=Lt,ze=Mt;n[((20+Math.imul(2144,G)|0)>>>0)+0>>>2]=ze;n:{o:{if(((ze|0)!==0|0|0)===0|0)break o;n[(et>>>0)+0>>>2]=je;let Ot=4+et|0;n[(Ot>>>0)+0>>>2]=Ie;let re=4+Ot|0;n[(re>>>0)+0>>>2]=sc;let Bt=4+re|0;n[(Bt>>>0)+0>>>2]=Mi;let Pt=4+Bt|0;n[(Pt>>>0)+0>>>2]=Oi;let Ct=4+Pt|0;n[(Ct>>>0)+0>>>2]=rc;let jt=4+Ct|0;n[(jt>>>0)+0>>>2]=Ae,n[((4+jt|0)>>>0)+0>>>2]=so;break n}r.copyWithin((64+Math.imul(2144,G)|0)>>>0,(32+Math.imul(2144,G)|0)>>>0,((32+Math.imul(2144,G)|0)>>>0)+32)}P=D}let K=1+P|0;if(K>>>0<y>>>0|0){st=K;continue t}st=K;break t}j=st}U=j}}function v(A,y,V,nt,J,w,k,R,U){let N=0;e:{let j=N;if((j>>>0<y>>>0|0|0)===0|0){N=j;break e}let ct=j;{let O=ct;t:for(;;){let rt=O;{let G=rt,Y=G+A|0,et=32+Math.imul(2144,U)|0,it=Math.imul(2144,U),ut=n[((16+Math.imul(2144,U)|0)>>>0)+0>>>2],F=1|ut,Z=2|ut,Q=n[(et>>>0)+0>>>2],at=4+et|0,X=n[(at>>>0)+0>>>2],ot=4+at|0,lt=n[(ot>>>0)+0>>>2],dt=4+ot|0,pt=n[(dt>>>0)+0>>>2],_t=4+dt|0,p=n[(_t>>>0)+0>>>2],f=4+_t|0,l=n[(f>>>0)+0>>>2],d=4+f|0,h=n[(d>>>0)+0>>>2],x=n[((4+d|0)>>>0)+0>>>2],b=n[(it>>>0)+0>>>2],g=n[(it>>>0)+4>>>2],L=Y+b|0,_=(((-1^L)&(Y|b)|Y&b)>>>31)+g|0,z=0,B=Q,S=X,E=lt,T=pt,C=p,W=l,M=h,ft=x;n:{let sc=z,Mi=B,Oi=S,rc=E,Ae=T,so=C,ze=W,Ot=M,re=ft;if((sc>>>0<16|0|0)===0|0){z=sc,B=Mi,S=Oi,E=rc,T=Ae,C=so,W=ze,M=Ot,ft=re;break n}let Bt=sc,Pt=Mi,Ct=Oi,jt=rc,Te=Ae,Ue=so,ce=ze,Re=Ot,ie=re;{let Ii=Bt,zi=Pt,ta=Ct,ea=jt,oa=Te,na=Ue,sa=ce,ra=Re,ca=ie,ac=Ii,lc=zi,fc=ta,uc=ea,vc=oa,dc=na,pc=sa,hc=ra,mc=ca;c:for(;;){let yc=ac,wc=lc,kc=fc,_c=uc,Ac=vc,Sc=dc,$c=pc,Ec=hc,da=mc,Ti=yc,Ui=wc,Ri=kc,Di=_c,Hi=Ac,Vi=Sc,Ni=$c,Fi=Ec,qi=da;{let ae=Ti,ha=Ui,Wi=Ri,Gi=Di,Xi=Hi,ro=Vi,co=Ni,io=Fi,ao=qi,De=((2144+((nt+ae|0)<<6)|0)+(Y<<10)|0)+(Math.imul(R,U)<<6)|0,It=n[(De>>>0)+0>>>2],Lc=4+De|0,zt=n[(Lc>>>0)+0>>>2],Mc=4+Lc|0,le=n[(Mc>>>0)+0>>>2],Ji=4+Mc|0,fe=n[(Ji>>>0)+0>>>2],Yi=4+Ji|0,ue=n[(Yi>>>0)+0>>>2],Zi=4+Yi|0,ve=n[(Zi>>>0)+0>>>2],Qi=4+Zi|0,de=n[(Qi>>>0)+0>>>2],t0=4+Qi|0,pe=n[(t0>>>0)+0>>>2],Se=4+t0|0,$e=n[(Se>>>0)+0>>>2],j0=4+Se|0,Ee=n[(j0>>>0)+0>>>2],I0=4+j0|0,Le=n[(I0>>>0)+0>>>2],z0=4+I0|0,Me=n[(z0>>>0)+0>>>2],T0=4+z0|0,Tt=n[(T0>>>0)+0>>>2],e0=4+T0|0,Ut=n[(e0>>>0)+0>>>2],lo=4+e0|0,wt=n[(lo>>>0)+0>>>2],kt=n[((4+lo|0)>>>0)+0>>>2];n[(De>>>0)+0>>>2]=0;let fo=4+De|0;n[(fo>>>0)+0>>>2]=0;let uo=4+fo|0;n[(uo>>>0)+0>>>2]=0;let vo=4+uo|0;n[(vo>>>0)+0>>>2]=0;let po=4+vo|0;n[(po>>>0)+0>>>2]=0;let ho=4+po|0;n[(ho>>>0)+0>>>2]=0;let U0=4+ho|0;n[(U0>>>0)+0>>>2]=0;let R0=4+U0|0;n[(R0>>>0)+0>>>2]=0;let D0=4+R0|0;n[(D0>>>0)+0>>>2]=0;let H0=4+D0|0;n[(H0>>>0)+0>>>2]=0;let V0=4+H0|0;n[(V0>>>0)+0>>>2]=0;let N0=4+V0|0;n[(N0>>>0)+0>>>2]=0;let F0=4+N0|0;n[(F0>>>0)+0>>>2]=0;let q0=4+F0|0;n[(q0>>>0)+0>>>2]=0;let o0=4+q0|0;n[(o0>>>0)+0>>>2]=0,n[((4+o0|0)>>>0)+0>>>2]=0;let mo=(It+ro|0)+ha|0,xo=(mo^L)>>>16|(mo^L)<<16,go=xo+1779033703|0,bo=(go^ro)>>>12|(go^ro)<<20,yo=(zt+bo|0)+mo|0,wo=(yo^xo)>>>8|(yo^xo)<<24,ko=wo+go|0,_o=(ko^bo)>>>7|(ko^bo)<<25,Ao=(le+co|0)+Wi|0,So=(Ao^_)>>>16|(Ao^_)<<16,Oc=So+-1150833019|0,Bc=(Oc^co)>>>12|(Oc^co)<<20,Pc=(fe+Bc|0)+Ao|0,Cc=(Pc^So)>>>8|(Pc^So)<<24,jc=Cc+Oc|0,Ic=(jc^Bc)>>>7|(jc^Bc)<<25,zc=(ue+io|0)+Gi|0,Tc=(zc^(J-((Y|0)===(w|0)|0&&(ae|0)===15|0?k:0)|0))>>>16|(zc^(J-((Y|0)===(w|0)|0&&(ae|0)===15|0?k:0)|0))<<16,Uc=Tc+1013904242|0,Rc=(Uc^io)>>>12|(Uc^io)<<20,n0=(ve+Rc|0)+zc|0,He=(n0^Tc)>>>8|(n0^Tc)<<24,he=He+Uc|0,me=(he^Rc)>>>7|(he^Rc)<<25,xe=(de+ao|0)+Xi|0,ge=(xe^((ae|0)===0|0?F:(ae|0)===15|0?Z:ut))>>>16|(xe^((ae|0)===0|0?F:(ae|0)===15|0?Z:ut))<<16,be=ge+-1521486534|0,ye=(be^ao)>>>12|(be^ao)<<20,we=(pe+ye|0)+xe|0,s0=(we^ge)>>>8|(we^ge)<<24,r0=s0+be|0,c0=(r0^ye)>>>7|(r0^ye)<<25,Ve=($e+Ic|0)+yo|0,Ne=(Ve^s0)>>>16|(Ve^s0)<<16,Fe=Ne+he|0,qe=(Fe^Ic)>>>12|(Fe^Ic)<<20,Ke=(Ee+qe|0)+Ve|0,We=(Ke^Ne)>>>8|(Ke^Ne)<<24,Ge=We+Fe|0,Xe=(Ge^qe)>>>7|(Ge^qe)<<25,Je=(Le+me|0)+Pc|0,Ye=(Je^wo)>>>16|(Je^wo)<<16,Ze=Ye+r0|0,i0=(Ze^me)>>>12|(Ze^me)<<20,a0=(Me+i0|0)+Je|0,l0=(a0^Ye)>>>8|(a0^Ye)<<24,f0=l0+Ze|0,u0=(f0^i0)>>>7|(f0^i0)<<25,v0=(Tt+c0|0)+n0|0,d0=(v0^Cc)>>>16|(v0^Cc)<<16,p0=d0+ko|0,h0=(p0^c0)>>>12|(p0^c0)<<20,m0=(Ut+h0|0)+v0|0,x0=(m0^d0)>>>8|(m0^d0)<<24,Dc=x0+p0|0,Hc=(Dc^h0)>>>7|(Dc^h0)<<25,g0=(wt+_o|0)+we|0,b0=(g0^He)>>>16|(g0^He)<<16,y0=b0+jc|0,w0=(y0^_o)>>>12|(y0^_o)<<20,$o=(kt+w0|0)+g0|0,Eo=($o^b0)>>>8|($o^b0)<<24,Lo=Eo+y0|0,Mo=(Lo^w0)>>>7|(Lo^w0)<<25,Qe=(le+Mo|0)+Ke|0,Oo=(Qe^l0)>>>16|(Qe^l0)<<16,Bo=Oo+Dc|0,Po=(Bo^Mo)>>>12|(Bo^Mo)<<20,to=(de+Po|0)+Qe|0,Rt=(to^Oo)>>>8|(to^Oo)<<24,Vc=Rt+Bo|0,Dt=(Vc^Po)>>>7|(Vc^Po)<<25,Nc=(fe+Xe|0)+a0|0,Ht=(Nc^x0)>>>16|(Nc^x0)<<16,Fc=Ht+Lo|0,Vt=(Fc^Xe)>>>12|(Fc^Xe)<<20,qc=(Le+Vt|0)+Nc|0,Nt=(qc^Ht)>>>8|(qc^Ht)<<24,Kc=Nt+Fc|0,Ft=(Kc^Vt)>>>7|(Kc^Vt)<<25,Wc=(pe+u0|0)+m0|0,qt=(Wc^Eo)>>>16|(Wc^Eo)<<16,Gc=qt+Ge|0,Kt=(Gc^u0)>>>12|(Gc^u0)<<20,Xc=(It+Kt|0)+Wc|0,Wt=(Xc^qt)>>>8|(Xc^qt)<<24,Jc=Wt+Gc|0,Gt=(Jc^Kt)>>>7|(Jc^Kt)<<25,Yc=(ue+Hc|0)+$o|0,Xt=(Yc^We)>>>16|(Yc^We)<<16,Zc=Xt+f0|0,Jt=(Zc^Hc)>>>12|(Zc^Hc)<<20,Qc=(Ut+Jt|0)+Yc|0,Yt=(Qc^Xt)>>>8|(Qc^Xt)<<24,ti=Yt+Zc|0,Zt=(ti^Jt)>>>7|(ti^Jt)<<25,ei=(zt+Ft|0)+to|0,Qt=(ei^Yt)>>>16|(ei^Yt)<<16,te=Qt+Jc|0,oi=(te^Ft)>>>12|(te^Ft)<<20,ni=(Me+oi|0)+ei|0,si=(ni^Qt)>>>8|(ni^Qt)<<24,ri=si+te|0,ci=(ri^oi)>>>7|(ri^oi)<<25,ii=(Tt+Gt|0)+qc|0,ai=(ii^Rt)>>>16|(ii^Rt)<<16,li=ai+ti|0,fi=(li^Gt)>>>12|(li^Gt)<<20,ui=(ve+fi|0)+ii|0,vi=(ui^ai)>>>8|(ui^ai)<<24,di=vi+li|0,pi=(di^fi)>>>7|(di^fi)<<25,hi=(Ee+Zt|0)+Xc|0,Co=(hi^Nt)>>>16|(hi^Nt)<<16,eo=Co+Vc|0,jo=(eo^Zt)>>>12|(eo^Zt)<<20,Io=(wt+jo|0)+hi|0,zo=(Io^Co)>>>8|(Io^Co)<<24,To=zo+eo|0,Uo=(To^jo)>>>7|(To^jo)<<25,Ro=(kt+Dt|0)+Qc|0,Do=(Ro^Wt)>>>16|(Ro^Wt)<<16,Ho=Do+Kc|0,Vo=(Ho^Dt)>>>12|(Ho^Dt)<<20,No=($e+Vo|0)+Ro|0,Fo=(No^Do)>>>8|(No^Do)<<24,qo=Fo+Ho|0,Ko=(qo^Vo)>>>7|(qo^Vo)<<25,Wo=(fe+Ko|0)+ni|0,Go=(Wo^vi)>>>16|(Wo^vi)<<16,Xo=Go+To|0,Jo=(Xo^Ko)>>>12|(Xo^Ko)<<20,Yo=(ue+Jo|0)+Wo|0,Zo=(Yo^Go)>>>8|(Yo^Go)<<24,Qo=Zo+Xo|0,tn=(Qo^Jo)>>>7|(Qo^Jo)<<25,en=(Le+ci|0)+ui|0,on=(en^zo)>>>16|(en^zo)<<16,nn=on+qo|0,sn=(nn^ci)>>>12|(nn^ci)<<20,rn=(Tt+sn|0)+en|0,cn=(rn^on)>>>8|(rn^on)<<24,an=cn+nn|0,ln=(an^sn)>>>7|(an^sn)<<25,fn=(Ut+pi|0)+Io|0,un=(fn^Fo)>>>16|(fn^Fo)<<16,vn=un+ri|0,dn=(vn^pi)>>>12|(vn^pi)<<20,pn=(le+dn|0)+fn|0,hn=(pn^un)>>>8|(pn^un)<<24,mn=hn+vn|0,xn=(mn^dn)>>>7|(mn^dn)<<25,gn=(pe+Uo|0)+No|0,bn=(gn^si)>>>16|(gn^si)<<16,yn=bn+di|0,wn=(yn^Uo)>>>12|(yn^Uo)<<20,kn=(wt+wn|0)+gn|0,_n=(kn^bn)>>>8|(kn^bn)<<24,An=_n+yn|0,Sn=(An^wn)>>>7|(An^wn)<<25,$n=(de+ln|0)+Yo|0,En=($n^_n)>>>16|($n^_n)<<16,Ln=En+mn|0,Mn=(Ln^ln)>>>12|(Ln^ln)<<20,On=(ve+Mn|0)+$n|0,Bn=(On^En)>>>8|(On^En)<<24,Pn=Bn+Ln|0,Cn=(Pn^Mn)>>>7|(Pn^Mn)<<25,jn=(Ee+xn|0)+rn|0,In=(jn^Zo)>>>16|(jn^Zo)<<16,zn=In+An|0,Tn=(zn^xn)>>>12|(zn^xn)<<20,Un=(It+Tn|0)+jn|0,Rn=(Un^In)>>>8|(Un^In)<<24,Dn=Rn+zn|0,Hn=(Dn^Tn)>>>7|(Dn^Tn)<<25,Vn=(Me+Sn|0)+pn|0,Nn=(Vn^cn)>>>16|(Vn^cn)<<16,Fn=Nn+Qo|0,qn=(Fn^Sn)>>>12|(Fn^Sn)<<20,Kn=(kt+qn|0)+Vn|0,Wn=(Kn^Nn)>>>8|(Kn^Nn)<<24,Gn=Wn+Fn|0,Xn=(Gn^qn)>>>7|(Gn^qn)<<25,Jn=($e+tn|0)+kn|0,Yn=(Jn^hn)>>>16|(Jn^hn)<<16,Zn=Yn+an|0,Qn=(Zn^tn)>>>12|(Zn^tn)<<20,ts=(zt+Qn|0)+Jn|0,es=(ts^Yn)>>>8|(ts^Yn)<<24,os=es+Zn|0,ns=(os^Qn)>>>7|(os^Qn)<<25,ss=(Le+ns|0)+On|0,rs=(ss^Rn)>>>16|(ss^Rn)<<16,cs=rs+Gn|0,is=(cs^ns)>>>12|(cs^ns)<<20,as=(pe+is|0)+ss|0,ls=(as^rs)>>>8|(as^rs)<<24,fs=ls+cs|0,us=(fs^is)>>>7|(fs^is)<<25,vs=(Tt+Cn|0)+Un|0,ds=(vs^Wn)>>>16|(vs^Wn)<<16,ps=ds+os|0,hs=(ps^Cn)>>>12|(ps^Cn)<<20,ms=(Ee+hs|0)+vs|0,xs=(ms^ds)>>>8|(ms^ds)<<24,gs=xs+ps|0,bs=(gs^hs)>>>7|(gs^hs)<<25,ys=(wt+Hn|0)+Kn|0,ws=(ys^es)>>>16|(ys^es)<<16,ks=ws+Pn|0,_s=(ks^Hn)>>>12|(ks^Hn)<<20,As=(fe+_s|0)+ys|0,Ss=(As^ws)>>>8|(As^ws)<<24,$s=Ss+ks|0,Es=($s^_s)>>>7|($s^_s)<<25,Ls=(Ut+Xn|0)+ts|0,Ms=(Ls^Bn)>>>16|(Ls^Bn)<<16,Os=Ms+Dn|0,Bs=(Os^Xn)>>>12|(Os^Xn)<<20,Ps=(kt+Bs|0)+Ls|0,Cs=(Ps^Ms)>>>8|(Ps^Ms)<<24,js=Cs+Os|0,Is=(js^Bs)>>>7|(js^Bs)<<25,zs=(ue+bs|0)+as|0,Ts=(zs^Cs)>>>16|(zs^Cs)<<16,Us=Ts+$s|0,Rs=(Us^bs)>>>12|(Us^bs)<<20,Ds=(It+Rs|0)+zs|0,Hs=(Ds^Ts)>>>8|(Ds^Ts)<<24,Vs=Hs+Us|0,Ns=(Vs^Rs)>>>7|(Vs^Rs)<<25,Fs=(Me+Es|0)+ms|0,qs=(Fs^ls)>>>16|(Fs^ls)<<16,Ks=qs+js|0,Ws=(Ks^Es)>>>12|(Ks^Es)<<20,Gs=(le+Ws|0)+Fs|0,Xs=(Gs^qs)>>>8|(Gs^qs)<<24,Js=Xs+Ks|0,Ys=(Js^Ws)>>>7|(Js^Ws)<<25,Zs=(ve+Is|0)+As|0,Qs=(Zs^xs)>>>16|(Zs^xs)<<16,tr=Qs+fs|0,er=(tr^Is)>>>12|(tr^Is)<<20,or=($e+er|0)+Zs|0,nr=(or^Qs)>>>8|(or^Qs)<<24,sr=nr+tr|0,rr=(sr^er)>>>7|(sr^er)<<25,cr=(zt+us|0)+Ps|0,ir=(cr^Ss)>>>16|(cr^Ss)<<16,ar=ir+gs|0,lr=(ar^us)>>>12|(ar^us)<<20,fr=(de+lr|0)+cr|0,ur=(fr^ir)>>>8|(fr^ir)<<24,vr=ur+ar|0,dr=(vr^lr)>>>7|(vr^lr)<<25,pr=(Tt+dr|0)+Ds|0,hr=(pr^Xs)>>>16|(pr^Xs)<<16,mr=hr+sr|0,xr=(mr^dr)>>>12|(mr^dr)<<20,gr=(Ut+xr|0)+pr|0,br=(gr^hr)>>>8|(gr^hr)<<24,yr=br+mr|0,wr=(yr^xr)>>>7|(yr^xr)<<25,kr=(Ee+Ns|0)+Gs|0,_r=(kr^nr)>>>16|(kr^nr)<<16,Ar=_r+vr|0,Sr=(Ar^Ns)>>>12|(Ar^Ns)<<20,$r=(Me+Sr|0)+kr|0,Er=($r^_r)>>>8|($r^_r)<<24,Lr=Er+Ar|0,Mr=(Lr^Sr)>>>7|(Lr^Sr)<<25,Or=(kt+Ys|0)+or|0,Br=(Or^ur)>>>16|(Or^ur)<<16,Pr=Br+Vs|0,Cr=(Pr^Ys)>>>12|(Pr^Ys)<<20,jr=(Le+Cr|0)+Or|0,mi=(jr^Br)>>>8|(jr^Br)<<24,Ir=mi+Pr|0,zr=(Ir^Cr)>>>7|(Ir^Cr)<<25,Tr=(wt+rr|0)+fr|0,Ur=(Tr^Hs)>>>16|(Tr^Hs)<<16,Rr=Ur+Js|0,Dr=(Rr^rr)>>>12|(Rr^rr)<<20,xi=($e+Dr|0)+Tr|0,Hr=(xi^Ur)>>>8|(xi^Ur)<<24,Vr=Hr+Rr|0,Nr=(Vr^Dr)>>>7|(Vr^Dr)<<25,Fr=(pe+Mr|0)+gr|0,qr=(Fr^Hr)>>>16|(Fr^Hr)<<16,Kr=qr+Ir|0,gi=(Kr^Mr)>>>12|(Kr^Mr)<<20,Wr=(le+gi|0)+Fr|0,Gr=(Wr^qr)>>>8|(Wr^qr)<<24,Xr=Gr+Kr|0,Jr=(Xr^gi)>>>7|(Xr^gi)<<25,Yr=(ve+zr|0)+$r|0,Zr=(Yr^br)>>>16|(Yr^br)<<16,bi=Zr+Vr|0,Qr=(bi^zr)>>>12|(bi^zr)<<20,yi=(fe+Qr|0)+Yr|0,wi=(yi^Zr)>>>8|(yi^Zr)<<24,ki=wi+bi|0,_i=(ki^Qr)>>>7|(ki^Qr)<<25,Ai=(It+Nr|0)+jr|0,Si=(Ai^Er)>>>16|(Ai^Er)<<16,$i=Si+yr|0,ma=($i^Nr)>>>12|($i^Nr)<<20,xa=(zt+ma|0)+Ai|0,K0=(xa^Si)>>>8|(xa^Si)<<24,ga=K0+$i|0,ba=(ga^ma)>>>7|(ga^ma)<<25,ya=(de+wr|0)+xi|0,wa=(ya^mi)>>>16|(ya^mi)<<16,ka=wa+Lr|0,_a=(ka^wr)>>>12|(ka^wr)<<20,W0=(ue+_a|0)+ya|0,Aa=(W0^wa)>>>8|(W0^wa)<<24,Sa=Aa+ka|0,$a=(Sa^_a)>>>7|(Sa^_a)<<25,Ea=(Ee+$a|0)+Wr|0,La=(Ea^wi)>>>16|(Ea^wi)<<16,Ma=La+ga|0,G0=(Ma^$a)>>>12|(Ma^$a)<<20,Oa=(wt+G0|0)+Ea|0,Ba=(Oa^La)>>>8|(Oa^La)<<24,Pa=Ba+Ma|0,Ca=(Pa^G0)>>>7|(Pa^G0)<<25,ja=(Me+Jr|0)+yi|0,Ia=(ja^K0)>>>16|(ja^K0)<<16,X0=Ia+Sa|0,Ta=(X0^Jr)>>>12|(X0^Jr)<<20,Ua=(ve+Ta|0)+ja|0,Ra=(Ua^Ia)>>>8|(Ua^Ia)<<24,Da=Ra+X0|0,Ha=(Da^Ta)>>>7|(Da^Ta)<<25,Va=($e+_i|0)+xa|0,Na=(Va^Aa)>>>16|(Va^Aa)<<16,Fa=Na+Xr|0,qa=(Fa^_i)>>>12|(Fa^_i)<<20,Ka=(Tt+qa|0)+Va|0,Wa=(Ka^Na)>>>8|(Ka^Na)<<24,Ga=Wa+Fa|0,Xa=(Ga^qa)>>>7|(Ga^qa)<<25,Ja=(kt+ba|0)+W0|0,Ya=(Ja^Gr)>>>16|(Ja^Gr)<<16,za=Ya+ki|0,Za=(za^ba)>>>12|(za^ba)<<20,k2=(zt+Za|0)+Ja|0,_2=(k2^Ya)>>>8|(k2^Ya)<<24,A2=_2+za|0,S2=(A2^Za)>>>7|(A2^Za)<<25,$2=(Ut+Ha|0)+Oa|0,E2=($2^_2)>>>16|($2^_2)<<16,L2=E2+Ga|0,M2=(L2^Ha)>>>12|(L2^Ha)<<20,O2=(fe+M2|0)+$2|0,B2=(O2^E2)>>>8|(O2^E2)<<24,P2=B2+L2|0,C2=(P2^M2)>>>7|(P2^M2)<<25,j2=(It+Xa|0)+Ua|0,I2=(j2^Ba)>>>16|(j2^Ba)<<16,z2=I2+A2|0,T2=(z2^Xa)>>>12|(z2^Xa)<<20,U2=(Le+T2|0)+j2|0,R2=(U2^I2)>>>8|(U2^I2)<<24,D2=R2+z2|0,H2=(D2^T2)>>>7|(D2^T2)<<25,V2=(le+S2|0)+Ka|0,N2=(V2^Ra)>>>16|(V2^Ra)<<16,F2=N2+Pa|0,q2=(F2^S2)>>>12|(F2^S2)<<20,K2=(de+q2|0)+V2|0,W2=(K2^N2)>>>8|(K2^N2)<<24,G2=W2+F2|0,X2=(G2^q2)>>>7|(G2^q2)<<25,J2=(ue+Ca|0)+k2|0,Y2=(J2^Wa)>>>16|(J2^Wa)<<16,Z2=Y2+Da|0,Q2=(Z2^Ca)>>>12|(Z2^Ca)<<20,tl=(pe+Q2|0)+J2|0,el=(tl^Y2)>>>8|(tl^Y2)<<24,ol=el+Z2|0,nl=(ol^Q2)>>>7|(ol^Q2)<<25,sl=(Me+nl|0)+O2|0,rl=(sl^R2)>>>16|(sl^R2)<<16,cl=rl+G2|0,il=(cl^nl)>>>12|(cl^nl)<<20,al=(kt+il|0)+sl|0,ll=(al^rl)>>>8|(al^rl)<<24,fl=ll+cl|0,ul=(fl^il)>>>7|(fl^il)<<25,vl=(ve+C2|0)+U2|0,dl=(vl^W2)>>>16|(vl^W2)<<16,pl=dl+ol|0,hl=(pl^C2)>>>12|(pl^C2)<<20,ml=(It+hl|0)+vl|0,xl=(ml^dl)>>>8|(ml^dl)<<24,gl=xl+pl|0,bl=(gl^hl)>>>7|(gl^hl)<<25,yl=(zt+H2|0)+K2|0,wl=(yl^el)>>>16|(yl^el)<<16,kl=wl+P2|0,_l=(kl^H2)>>>12|(kl^H2)<<20,Al=(Ee+_l|0)+yl|0,Sl=(Al^wl)>>>8|(Al^wl)<<24,$l=Sl+kl|0,El=($l^_l)>>>7|($l^_l)<<25,Ll=($e+X2|0)+tl|0,Ml=(Ll^B2)>>>16|(Ll^B2)<<16,Ol=Ml+D2|0,Bl=(Ol^X2)>>>12|(Ol^X2)<<20,Pl=(de+Bl|0)+Ll|0,Cl=(Pl^Ml)>>>8|(Pl^Ml)<<24,jl=Cl+Ol|0,Il=(jl^Bl)>>>7|(jl^Bl)<<25,zl=(wt+bl|0)+al|0,Tl=(zl^Cl)>>>16|(zl^Cl)<<16,Ul=Tl+$l|0,Rl=(Ul^bl)>>>12|(Ul^bl)<<20,Dl=(Le+Rl|0)+zl|0,gf=(Dl^Tl)>>>8|(Dl^Tl)<<24,Hl=gf+Ul|0,Vl=(le+El|0)+ml|0,Nl=(Vl^ll)>>>16|(Vl^ll)<<16,Fl=Nl+jl|0,ql=(Fl^El)>>>12|(Fl^El)<<20,Kl=(Tt+ql|0)+Vl|0,bf=(Kl^Nl)>>>8|(Kl^Nl)<<24,Wl=bf+Fl|0,Gl=(fe+Il|0)+Al|0,Xl=(Gl^xl)>>>16|(Gl^xl)<<16,Jl=Xl+fl|0,Yl=(Jl^Il)>>>12|(Jl^Il)<<20,Zl=(ue+Yl|0)+Gl|0,yf=(Zl^Xl)>>>8|(Zl^Xl)<<24,Ql=yf+Jl|0,tf=(pe+ul|0)+Pl|0,ef=(tf^Sl)>>>16|(tf^Sl)<<16,of=ef+gl|0,nf=(of^ul)>>>12|(of^ul)<<20,sf=(Ut+nf|0)+tf|0,wf=(sf^ef)>>>8|(sf^ef)<<24,rf=wf+of|0,Wf=Ql^Dl,Gf=rf^Kl,Xf=Hl^Zl,Jf=Wl^sf,Yf=bf^((rf^nf)>>>7|(rf^nf)<<25),Zf=yf^((Hl^Rl)>>>7|(Hl^Rl)<<25),Qf=wf^((Wl^ql)>>>7|(Wl^ql)<<25),tu=gf^((Ql^Yl)>>>7|(Ql^Yl)<<25);Ti=ae,Ui=Wf,Ri=Gf,Di=Xf,Hi=Jf,Vi=Yf,Ni=Zf,Fi=Qf,qi=tu}let pa=Ti,$0=Ui,E0=Ri,L0=Di,M0=Hi,O0=Vi,B0=Ni,P0=Fi,C0=qi,Ki=1+pa|0;if(Ki>>>0<16|0){ac=Ki,lc=$0,fc=E0,uc=L0,vc=M0,dc=O0,pc=B0,hc=P0,mc=C0;continue c}ac=Ki,lc=$0,fc=E0,uc=L0,vc=M0,dc=O0,pc=B0,hc=P0,mc=C0;break c}let ia=ac,aa=lc,la=fc,fa=uc,ua=vc,va=dc,xc=pc,gc=hc,bc=mc;Bt=ia,Pt=aa,Ct=la,jt=fa,Te=ua,Ue=va,ce=xc,Re=gc,ie=bc}let _0=Bt,cc=Pt,ic=Ct,A0=jt,S0=Te,Bi=Ue,Pi=ce,Ci=Re,ji=ie;z=_0,B=cc,S=ic,E=A0,T=S0,C=Bi,W=Pi,M=Ci,ft=ji}let At=B,nc=S,Be=E,Pe=T,Ce=C,St=W,_e=M,se=ft,yt=10487904+(Y<<5)|0;n[(yt>>>0)+0>>>2]=At;let $t=4+yt|0;n[($t>>>0)+0>>>2]=nc;let Et=4+$t|0;n[(Et>>>0)+0>>>2]=Be;let Lt=4+Et|0;n[(Lt>>>0)+0>>>2]=Pe;let Mt=4+Lt|0;n[(Mt>>>0)+0>>>2]=Ce;let je=4+Mt|0;n[(je>>>0)+0>>>2]=St;let Ie=4+je|0;n[(Ie>>>0)+0>>>2]=_e,n[((4+Ie|0)>>>0)+0>>>2]=se,rt=G}let D=1+rt|0;if(D>>>0<y>>>0|0){O=D;continue t}O=D;break t}ct=O}N=ct}}function m(A,y,V,nt,J,w,k,R){let U=n[((20+Math.imul(2144,A)|0)>>>0)+0>>>2],N=n[((24+Math.imul(2144,A)|0)>>>0)+0>>>2],j=((U+V|0)>>>0<=16|0)&((N|0)===0|0)&((V|0)!==0|0)&w,ct=V-1|0,no=(V>>>0>=4096|0)&((y|0)===3|0|((y|0)===2|0)),st=j?V-1|0:V;e:{s:{if((no|0)===0|0)break s;let O=0;t:{let tt=O;if((tt>>>0<y>>>0|0|0)===0|0){O=tt;break t}let P=tt;{let D=P;n:for(;;){let et=D;{let F=et;m(F+A|0,1,V,nt,J,w,k,R),et=F}let ut=1+et|0;if(ut>>>0<y>>>0|0){D=ut;continue n}D=ut;break n}P=D}O=P}break e}s:{t:{if((y>>>0>1|0|0)===0|0||(st|0)===0|0)break t;u(A,y,st,0,nt,J,((j|0)===0|0)&w,k);break s}let O=Math.min((16-U|0)>>>0,st>>>0)|0,tt=((O|0)!==0|0)&((U|0)!==0|0);t:{if((tt|0)===0|0)break t;u(A,y,O,0,nt,J,((j|0)===0|0)&((O|0)===(st|0)|0)&w,k)}let P=tt?st-O|0:st,rt=(P>>>0)/16>>>0,K=P-(rt<<4)|0,D=tt?O:0;t:{let Y=D;if(((P|0)!==0|0|0)===0|0){D=Y;break t}let et=((K|0)===0|0)&w?rt-1|0:rt,it=Y;r:{let Z=it;if(((rt|0)!==0|0|0)===0|0){it=Z;break r}v(0,rt,16,Z,J,et,k,nt,A),it=(rt<<4)+Z|0}let ut=it,F=0;r:{let Z=F;if((Z>>>0<rt>>>0|0|0)===0|0){F=Z;break r}let Q=Z;{let ot=Q;o:for(;;){let pt=ot;{let f=pt,l=10487904+(f<<5)|0,d=n[(l>>>0)+0>>>2],h=4+l|0,x=n[(h>>>0)+0>>>2],b=4+h|0,g=n[(b>>>0)+0>>>2],L=4+b|0,_=n[(L>>>0)+0>>>2],z=4+L|0,B=n[(z>>>0)+0>>>2],S=4+z|0,E=n[(S>>>0)+0>>>2],T=4+S|0,C=n[(T>>>0)+0>>>2],W=n[((4+T|0)>>>0)+0>>>2];n[(l>>>0)+0>>>2]=0;let M=4+l|0;n[(M>>>0)+0>>>2]=0;let ft=4+M|0;n[(ft>>>0)+0>>>2]=0;let At=4+ft|0;n[(At>>>0)+0>>>2]=0;let nc=4+At|0;n[(nc>>>0)+0>>>2]=0;let Be=4+nc|0;n[(Be>>>0)+0>>>2]=0;let Pe=4+Be|0;n[(Pe>>>0)+0>>>2]=0,n[((4+Pe|0)>>>0)+0>>>2]=0;let St=(96+(n[((24+Math.imul(2144,A)|0)>>>0)+0>>>2]<<5)|0)+Math.imul(2144,A)|0;n[(St>>>0)+0>>>2]=d;let _e=4+St|0;n[(_e>>>0)+0>>>2]=x;let se=4+_e|0;n[(se>>>0)+0>>>2]=g;let yt=4+se|0;n[(yt>>>0)+0>>>2]=_;let $t=4+yt|0;n[($t>>>0)+0>>>2]=B;let Et=4+$t|0;n[(Et>>>0)+0>>>2]=E;let Lt=4+Et|0;n[(Lt>>>0)+0>>>2]=C,n[((4+Lt|0)>>>0)+0>>>2]=W,i(A,((f|0)===(et|0)|0)&w),pt=f}let p=1+pt|0;if(p>>>0<rt>>>0|0){ot=p;continue o}ot=p;break o}Q=ot}F=Q}D=ut}let G=D;t:{if(((K|0)!==0|0|0)===0|0)break t;u(A,y,K,G,nt,J,((j|0)===0|0)&w,k)}}}e:{if(((no|0)===0|0|0)===0|0)break e;let O=0;s:{let tt=O;if((tt>>>0<y>>>0|0|0)===0|0){O=tt;break s}let P=tt;{let D=P;r:for(;;){let et=D;{let F=et,Z=F+A|0,Q=n[((20+Math.imul(2144,Z)|0)>>>0)+0>>>2];o:{if(((Q|0)===0|0|0)===0|0)break o;r.copyWithin((64+Math.imul(2144,Z)|0)>>>0,(32+Math.imul(2144,Z)|0)>>>0,((32+Math.imul(2144,Z)|0)>>>0)+32)}o:{if((j|0)===0|0)break o;let at=(2144+(ct<<6)|0)+(Math.imul(nt,F+A|0)<<6)|0,X=n[(at>>>0)+0>>>2],ot=4+at|0,lt=n[(ot>>>0)+0>>>2],dt=4+ot|0,pt=n[(dt>>>0)+0>>>2],_t=4+dt|0,p=n[(_t>>>0)+0>>>2],f=4+_t|0,l=n[(f>>>0)+0>>>2],d=4+f|0,h=n[(d>>>0)+0>>>2],x=4+d|0,b=n[(x>>>0)+0>>>2],g=4+x|0,L=n[(g>>>0)+0>>>2],_=4+g|0,z=n[(_>>>0)+0>>>2],B=4+_|0,S=n[(B>>>0)+0>>>2],E=4+B|0,T=n[(E>>>0)+0>>>2],C=4+E|0,W=n[(C>>>0)+0>>>2],M=4+C|0,ft=n[(M>>>0)+0>>>2],At=4+M|0,nc=n[(At>>>0)+0>>>2],Be=4+At|0,Pe=n[(Be>>>0)+0>>>2],Ce=n[((4+Be|0)>>>0)+0>>>2];n[(at>>>0)+0>>>2]=0;let St=4+at|0;n[(St>>>0)+0>>>2]=0;let _e=4+St|0;n[(_e>>>0)+0>>>2]=0;let se=4+_e|0;n[(se>>>0)+0>>>2]=0;let yt=4+se|0;n[(yt>>>0)+0>>>2]=0;let $t=4+yt|0;n[($t>>>0)+0>>>2]=0;let Et=4+$t|0;n[(Et>>>0)+0>>>2]=0;let Lt=4+Et|0;n[(Lt>>>0)+0>>>2]=0;let Mt=4+Lt|0;n[(Mt>>>0)+0>>>2]=0;let je=4+Mt|0;n[(je>>>0)+0>>>2]=0;let Ie=4+je|0;n[(Ie>>>0)+0>>>2]=0;let sc=4+Ie|0;n[(sc>>>0)+0>>>2]=0;let Mi=4+sc|0;n[(Mi>>>0)+0>>>2]=0;let Oi=4+Mi|0;n[(Oi>>>0)+0>>>2]=0;let rc=4+Oi|0;n[(rc>>>0)+0>>>2]=0,n[((4+rc|0)>>>0)+0>>>2]=0;let Ae=96+Math.imul(2144,Z)|0;n[(Ae>>>0)+0>>>2]=X;let so=4+Ae|0;n[(so>>>0)+0>>>2]=lt;let ze=4+so|0;n[(ze>>>0)+0>>>2]=pt;let Ot=4+ze|0;n[(Ot>>>0)+0>>>2]=p;let re=4+Ot|0;n[(re>>>0)+0>>>2]=l;let Bt=4+re|0;n[(Bt>>>0)+0>>>2]=h;let Pt=4+Bt|0;n[(Pt>>>0)+0>>>2]=b,n[((4+Pt|0)>>>0)+0>>>2]=L;let Ct=128+Math.imul(2144,Z)|0;n[(Ct>>>0)+0>>>2]=z;let jt=4+Ct|0;n[(jt>>>0)+0>>>2]=S;let Te=4+jt|0;n[(Te>>>0)+0>>>2]=T;let Ue=4+Te|0;n[(Ue>>>0)+0>>>2]=W;let ce=4+Ue|0;n[(ce>>>0)+0>>>2]=ft;let Re=4+ce|0;n[(Re>>>0)+0>>>2]=nc;let ie=4+Re|0;n[(ie>>>0)+0>>>2]=Pe,n[((4+ie|0)>>>0)+0>>>2]=Ce,n[((28+Math.imul(2144,Z)|0)>>>0)+0>>>2]=J-k|0}et=F}let ut=1+et|0;if(ut>>>0<y>>>0|0){D=ut;continue r}D=ut;break r}P=D}O=P}}}function $(A,y,V,nt,J,w){let k=0;e:{let R=k;if((R>>>0<y>>>0|0|0)===0|0){k=R;break e}let U=R;{let ct=U;t:for(;;){let O=ct;{let rt=O,K=rt+A|0,D=64+Math.imul(2144,K)|0,G=n[((16+Math.imul(2144,K)|0)>>>0)+0>>>2],Y=n[((24+Math.imul(2144,K)|0)>>>0)+0>>>2],et=n[((20+Math.imul(2144,K)|0)>>>0)+0>>>2],it=8|((Y|0)===0|0?2|((et|0)===0|0?1:0):4)|G,ut=96+Math.imul(2144,K)|0,F=n[(ut>>>0)+0>>>2],Z=4+ut|0,Q=n[(Z>>>0)+0>>>2],at=4+Z|0,X=n[(at>>>0)+0>>>2],ot=4+at|0,lt=n[(ot>>>0)+0>>>2],dt=4+ot|0,pt=n[(dt>>>0)+0>>>2],_t=4+dt|0,p=n[(_t>>>0)+0>>>2],f=4+_t|0,l=n[(f>>>0)+0>>>2],d=n[((4+f|0)>>>0)+0>>>2],h=128+Math.imul(2144,K)|0,x=n[(h>>>0)+0>>>2],b=4+h|0,g=n[(b>>>0)+0>>>2],L=4+b|0,_=n[(L>>>0)+0>>>2],z=4+L|0,B=n[(z>>>0)+0>>>2],S=4+z|0,E=n[(S>>>0)+0>>>2],T=4+S|0,C=n[(T>>>0)+0>>>2],W=4+T|0,M=n[(W>>>0)+0>>>2],ft=n[((4+W|0)>>>0)+0>>>2],At=8+Math.imul(2144,K)|0,nc=n[(At>>>0)+0>>>2],Be=n[(At>>>0)+4>>>2],Pe=0,Ce=nc,St=Be;{let $t=Pe,Et=Ce,Lt=St,Mt=$t,je=Et,Ie=Lt;o:for(;;){let rc=Mt,Ae=je,so=Ie,ze=1+rc|0,Ot=n[(D>>>0)+0>>>2],re=4+D|0,Bt=n[(re>>>0)+0>>>2],Pt=4+re|0,Ct=n[(Pt>>>0)+0>>>2],jt=4+Pt|0,Te=n[(jt>>>0)+0>>>2],Ue=4+jt|0,ce=n[(Ue>>>0)+0>>>2],Re=4+Ue|0,ie=n[(Re>>>0)+0>>>2],_0=4+Re|0,cc=n[(_0>>>0)+0>>>2],ic=n[((4+_0|0)>>>0)+0>>>2],A0=n[((24+Math.imul(2144,K)|0)>>>0)+0>>>2],S0=n[((28+Math.imul(2144,K)|0)>>>0)+0>>>2],Bi=(F+ce|0)+Ot|0,Pi=(Bi^Ae)>>>16|(Bi^Ae)<<16,Ci=Pi+1779033703|0,ji=(Ci^ce)>>>12|(Ci^ce)<<20,Ii=(Q+ji|0)+Bi|0,zi=(Ii^Pi)>>>8|(Ii^Pi)<<24,ta=zi+Ci|0,ea=(ta^ji)>>>7|(ta^ji)<<25,oa=(X+ie|0)+Bt|0,na=(oa^so)>>>16|(oa^so)<<16,sa=na+-1150833019|0,ra=(sa^ie)>>>12|(sa^ie)<<20,ca=(lt+ra|0)+oa|0,ac=(ca^na)>>>8|(ca^na)<<24,lc=ac+sa|0,fc=(lc^ra)>>>7|(lc^ra)<<25,uc=(pt+cc|0)+Ct|0,vc=(uc^((A0|0)===0|0?S0:J))>>>16|(uc^((A0|0)===0|0?S0:J))<<16,dc=vc+1013904242|0,pc=(dc^cc)>>>12|(dc^cc)<<20,hc=(p+pc|0)+uc|0,mc=(hc^vc)>>>8|(hc^vc)<<24,ia=mc+dc|0,aa=(ia^pc)>>>7|(ia^pc)<<25,la=(l+ic|0)+Te|0,fa=(la^it)>>>16|(la^it)<<16,ua=fa+-1521486534|0,va=(ua^ic)>>>12|(ua^ic)<<20,xc=(d+va|0)+la|0,gc=(xc^fa)>>>8|(xc^fa)<<24,bc=gc+ua|0,yc=(bc^va)>>>7|(bc^va)<<25,wc=(x+fc|0)+Ii|0,kc=(wc^gc)>>>16|(wc^gc)<<16,_c=kc+ia|0,Ac=(_c^fc)>>>12|(_c^fc)<<20,Sc=(g+Ac|0)+wc|0,$c=(Sc^kc)>>>8|(Sc^kc)<<24,Ec=$c+_c|0,da=(Ec^Ac)>>>7|(Ec^Ac)<<25,Ti=(_+aa|0)+ca|0,Ui=(Ti^zi)>>>16|(Ti^zi)<<16,Ri=Ui+bc|0,Di=(Ri^aa)>>>12|(Ri^aa)<<20,Hi=(B+Di|0)+Ti|0,Vi=(Hi^Ui)>>>8|(Hi^Ui)<<24,Ni=Vi+Ri|0,Fi=(Ni^Di)>>>7|(Ni^Di)<<25,qi=(E+yc|0)+hc|0,pa=(qi^ac)>>>16|(qi^ac)<<16,$0=pa+ta|0,E0=($0^yc)>>>12|($0^yc)<<20,L0=(C+E0|0)+qi|0,M0=(L0^pa)>>>8|(L0^pa)<<24,O0=M0+$0|0,B0=(O0^E0)>>>7|(O0^E0)<<25,P0=(M+ea|0)+xc|0,C0=(P0^mc)>>>16|(P0^mc)<<16,Ki=C0+lc|0,ae=(Ki^ea)>>>12|(Ki^ea)<<20,ha=(ft+ae|0)+P0|0,Wi=(ha^C0)>>>8|(ha^C0)<<24,Gi=Wi+Ki|0,Xi=(Gi^ae)>>>7|(Gi^ae)<<25,ro=(X+Xi|0)+Sc|0,co=(ro^Vi)>>>16|(ro^Vi)<<16,io=co+O0|0,ao=(io^Xi)>>>12|(io^Xi)<<20,De=(l+ao|0)+ro|0,It=(De^co)>>>8|(De^co)<<24,Lc=It+io|0,zt=(Lc^ao)>>>7|(Lc^ao)<<25,Mc=(lt+da|0)+Hi|0,le=(Mc^M0)>>>16|(Mc^M0)<<16,Ji=le+Gi|0,fe=(Ji^da)>>>12|(Ji^da)<<20,Yi=(_+fe|0)+Mc|0,ue=(Yi^le)>>>8|(Yi^le)<<24,Zi=ue+Ji|0,ve=(Zi^fe)>>>7|(Zi^fe)<<25,Qi=(d+Fi|0)+L0|0,de=(Qi^Wi)>>>16|(Qi^Wi)<<16,t0=de+Ec|0,pe=(t0^Fi)>>>12|(t0^Fi)<<20,Se=(F+pe|0)+Qi|0,$e=(Se^de)>>>8|(Se^de)<<24,j0=$e+t0|0,Ee=(j0^pe)>>>7|(j0^pe)<<25,I0=(pt+B0|0)+ha|0,Le=(I0^$c)>>>16|(I0^$c)<<16,z0=Le+Ni|0,Me=(z0^B0)>>>12|(z0^B0)<<20,T0=(C+Me|0)+I0|0,Tt=(T0^Le)>>>8|(T0^Le)<<24,e0=Tt+z0|0,Ut=(e0^Me)>>>7|(e0^Me)<<25,lo=(Q+ve|0)+De|0,wt=(lo^Tt)>>>16|(lo^Tt)<<16,kt=wt+j0|0,fo=(kt^ve)>>>12|(kt^ve)<<20,uo=(B+fo|0)+lo|0,vo=(uo^wt)>>>8|(uo^wt)<<24,po=vo+kt|0,ho=(po^fo)>>>7|(po^fo)<<25,U0=(E+Ee|0)+Yi|0,R0=(U0^It)>>>16|(U0^It)<<16,D0=R0+e0|0,H0=(D0^Ee)>>>12|(D0^Ee)<<20,V0=(p+H0|0)+U0|0,N0=(V0^R0)>>>8|(V0^R0)<<24,F0=N0+D0|0,q0=(F0^H0)>>>7|(F0^H0)<<25,o0=(g+Ut|0)+Se|0,mo=(o0^ue)>>>16|(o0^ue)<<16,xo=mo+Lc|0,go=(xo^Ut)>>>12|(xo^Ut)<<20,bo=(M+go|0)+o0|0,yo=(bo^mo)>>>8|(bo^mo)<<24,wo=yo+xo|0,ko=(wo^go)>>>7|(wo^go)<<25,_o=(ft+zt|0)+T0|0,Ao=(_o^$e)>>>16|(_o^$e)<<16,So=Ao+Zi|0,Oc=(So^zt)>>>12|(So^zt)<<20,Bc=(x+Oc|0)+_o|0,Pc=(Bc^Ao)>>>8|(Bc^Ao)<<24,Cc=Pc+So|0,jc=(Cc^Oc)>>>7|(Cc^Oc)<<25,Ic=(lt+jc|0)+uo|0,zc=(Ic^N0)>>>16|(Ic^N0)<<16,Tc=zc+wo|0,Uc=(Tc^jc)>>>12|(Tc^jc)<<20,Rc=(pt+Uc|0)+Ic|0,n0=(Rc^zc)>>>8|(Rc^zc)<<24,He=n0+Tc|0,he=(He^Uc)>>>7|(He^Uc)<<25,me=(_+ho|0)+V0|0,xe=(me^yo)>>>16|(me^yo)<<16,ge=xe+Cc|0,be=(ge^ho)>>>12|(ge^ho)<<20,ye=(E+be|0)+me|0,we=(ye^xe)>>>8|(ye^xe)<<24,s0=we+ge|0,r0=(s0^be)>>>7|(s0^be)<<25,c0=(C+q0|0)+bo|0,Ve=(c0^Pc)>>>16|(c0^Pc)<<16,Ne=Ve+po|0,Fe=(Ne^q0)>>>12|(Ne^q0)<<20,qe=(X+Fe|0)+c0|0,Ke=(qe^Ve)>>>8|(qe^Ve)<<24,We=Ke+Ne|0,Ge=(We^Fe)>>>7|(We^Fe)<<25,Xe=(d+ko|0)+Bc|0,Je=(Xe^vo)>>>16|(Xe^vo)<<16,Ye=Je+F0|0,Ze=(Ye^ko)>>>12|(Ye^ko)<<20,i0=(M+Ze|0)+Xe|0,a0=(i0^Je)>>>8|(i0^Je)<<24,l0=a0+Ye|0,f0=(l0^Ze)>>>7|(l0^Ze)<<25,u0=(l+r0|0)+Rc|0,v0=(u0^a0)>>>16|(u0^a0)<<16,d0=v0+We|0,p0=(d0^r0)>>>12|(d0^r0)<<20,h0=(p+p0|0)+u0|0,m0=(h0^v0)>>>8|(h0^v0)<<24,x0=m0+d0|0,Dc=(x0^p0)>>>7|(x0^p0)<<25,Hc=(g+Ge|0)+ye|0,g0=(Hc^n0)>>>16|(Hc^n0)<<16,b0=g0+l0|0,y0=(b0^Ge)>>>12|(b0^Ge)<<20,w0=(F+y0|0)+Hc|0,$o=(w0^g0)>>>8|(w0^g0)<<24,Eo=$o+b0|0,Lo=(Eo^y0)>>>7|(Eo^y0)<<25,Mo=(B+f0|0)+qe|0,Qe=(Mo^we)>>>16|(Mo^we)<<16,Oo=Qe+He|0,Bo=(Oo^f0)>>>12|(Oo^f0)<<20,Po=(ft+Bo|0)+Mo|0,to=(Po^Qe)>>>8|(Po^Qe)<<24,Rt=to+Oo|0,Vc=(Rt^Bo)>>>7|(Rt^Bo)<<25,Dt=(x+he|0)+i0|0,Nc=(Dt^Ke)>>>16|(Dt^Ke)<<16,Ht=Nc+s0|0,Fc=(Ht^he)>>>12|(Ht^he)<<20,Vt=(Q+Fc|0)+Dt|0,qc=(Vt^Nc)>>>8|(Vt^Nc)<<24,Nt=qc+Ht|0,Kc=(Nt^Fc)>>>7|(Nt^Fc)<<25,Ft=(_+Kc|0)+h0|0,Wc=(Ft^$o)>>>16|(Ft^$o)<<16,qt=Wc+Rt|0,Gc=(qt^Kc)>>>12|(qt^Kc)<<20,Kt=(d+Gc|0)+Ft|0,Xc=(Kt^Wc)>>>8|(Kt^Wc)<<24,Wt=Xc+qt|0,Jc=(Wt^Gc)>>>7|(Wt^Gc)<<25,Gt=(E+Dc|0)+w0|0,Yc=(Gt^to)>>>16|(Gt^to)<<16,Xt=Yc+Nt|0,Zc=(Xt^Dc)>>>12|(Xt^Dc)<<20,Jt=(g+Zc|0)+Gt|0,Qc=(Jt^Yc)>>>8|(Jt^Yc)<<24,Yt=Qc+Xt|0,ti=(Yt^Zc)>>>7|(Yt^Zc)<<25,Zt=(M+Lo|0)+Po|0,ei=(Zt^qc)>>>16|(Zt^qc)<<16,Qt=ei+x0|0,te=(Qt^Lo)>>>12|(Qt^Lo)<<20,oi=(lt+te|0)+Zt|0,ni=(oi^ei)>>>8|(oi^ei)<<24,si=ni+Qt|0,ri=(si^te)>>>7|(si^te)<<25,ci=(C+Vc|0)+Vt|0,ii=(ci^m0)>>>16|(ci^m0)<<16,ai=ii+Eo|0,li=(ai^Vc)>>>12|(ai^Vc)<<20,fi=(ft+li|0)+ci|0,ui=(fi^ii)>>>8|(fi^ii)<<24,vi=ui+ai|0,di=(vi^li)>>>7|(vi^li)<<25,pi=(pt+ti|0)+Kt|0,hi=(pi^ui)>>>16|(pi^ui)<<16,Co=hi+si|0,eo=(Co^ti)>>>12|(Co^ti)<<20,jo=(F+eo|0)+pi|0,Io=(jo^hi)>>>8|(jo^hi)<<24,zo=Io+Co|0,To=(zo^eo)>>>7|(zo^eo)<<25,Uo=(B+ri|0)+Jt|0,Ro=(Uo^Xc)>>>16|(Uo^Xc)<<16,Do=Ro+vi|0,Ho=(Do^ri)>>>12|(Do^ri)<<20,Vo=(X+Ho|0)+Uo|0,No=(Vo^Ro)>>>8|(Vo^Ro)<<24,Fo=No+Do|0,qo=(Fo^Ho)>>>7|(Fo^Ho)<<25,Ko=(p+di|0)+oi|0,Wo=(Ko^Qc)>>>16|(Ko^Qc)<<16,Go=Wo+Wt|0,Xo=(Go^di)>>>12|(Go^di)<<20,Jo=(x+Xo|0)+Ko|0,Yo=(Jo^Wo)>>>8|(Jo^Wo)<<24,Zo=Yo+Go|0,Qo=(Zo^Xo)>>>7|(Zo^Xo)<<25,tn=(Q+Jc|0)+fi|0,en=(tn^ni)>>>16|(tn^ni)<<16,on=en+Yt|0,nn=(on^Jc)>>>12|(on^Jc)<<20,sn=(l+nn|0)+tn|0,rn=(sn^en)>>>8|(sn^en)<<24,cn=rn+on|0,an=(cn^nn)>>>7|(cn^nn)<<25,ln=(E+an|0)+jo|0,fn=(ln^No)>>>16|(ln^No)<<16,un=fn+Zo|0,vn=(un^an)>>>12|(un^an)<<20,dn=(C+vn|0)+ln|0,pn=(dn^fn)>>>8|(dn^fn)<<24,hn=pn+un|0,mn=(hn^vn)>>>7|(hn^vn)<<25,xn=(g+To|0)+Vo|0,gn=(xn^Yo)>>>16|(xn^Yo)<<16,bn=gn+cn|0,yn=(bn^To)>>>12|(bn^To)<<20,wn=(B+yn|0)+xn|0,kn=(wn^gn)>>>8|(wn^gn)<<24,_n=kn+bn|0,An=(_n^yn)>>>7|(_n^yn)<<25,Sn=(ft+qo|0)+Jo|0,$n=(Sn^rn)>>>16|(Sn^rn)<<16,En=$n+zo|0,Ln=(En^qo)>>>12|(En^qo)<<20,Mn=(_+Ln|0)+Sn|0,On=(Mn^$n)>>>8|(Mn^$n)<<24,Bn=On+En|0,Pn=(Bn^Ln)>>>7|(Bn^Ln)<<25,Cn=(M+Qo|0)+sn|0,jn=(Cn^Io)>>>16|(Cn^Io)<<16,In=jn+Fo|0,zn=(In^Qo)>>>12|(In^Qo)<<20,Tn=(x+zn|0)+Cn|0,Un=(Tn^jn)>>>8|(Tn^jn)<<24,Rn=Un+In|0,Dn=(Rn^zn)>>>7|(Rn^zn)<<25,Hn=(d+An|0)+dn|0,Vn=(Hn^Un)>>>16|(Hn^Un)<<16,Nn=Vn+Bn|0,Fn=(Nn^An)>>>12|(Nn^An)<<20,qn=(X+Fn|0)+Hn|0,Kn=(qn^Vn)>>>8|(qn^Vn)<<24,Wn=Kn+Nn|0,Gn=(Wn^Fn)>>>7|(Wn^Fn)<<25,Xn=(p+Pn|0)+wn|0,Jn=(Xn^pn)>>>16|(Xn^pn)<<16,Yn=Jn+Rn|0,Zn=(Yn^Pn)>>>12|(Yn^Pn)<<20,Qn=(lt+Zn|0)+Xn|0,ts=(Qn^Jn)>>>8|(Qn^Jn)<<24,es=ts+Yn|0,os=(es^Zn)>>>7|(es^Zn)<<25,ns=(F+Dn|0)+Mn|0,ss=(ns^kn)>>>16|(ns^kn)<<16,rs=ss+hn|0,cs=(rs^Dn)>>>12|(rs^Dn)<<20,is=(Q+cs|0)+ns|0,as=(is^ss)>>>8|(is^ss)<<24,ls=as+rs|0,fs=(ls^cs)>>>7|(ls^cs)<<25,us=(l+mn|0)+Tn|0,vs=(us^On)>>>16|(us^On)<<16,ds=vs+_n|0,ps=(ds^mn)>>>12|(ds^mn)<<20,hs=(pt+ps|0)+us|0,ms=(hs^vs)>>>8|(hs^vs)<<24,xs=ms+ds|0,gs=(xs^ps)>>>7|(xs^ps)<<25,bs=(g+gs|0)+qn|0,ys=(bs^ts)>>>16|(bs^ts)<<16,ws=ys+ls|0,ks=(ws^gs)>>>12|(ws^gs)<<20,_s=(M+ks|0)+bs|0,As=(_s^ys)>>>8|(_s^ys)<<24,Ss=As+ws|0,$s=(Ss^ks)>>>7|(Ss^ks)<<25,Es=(B+Gn|0)+Qn|0,Ls=(Es^as)>>>16|(Es^as)<<16,Ms=Ls+xs|0,Os=(Ms^Gn)>>>12|(Ms^Gn)<<20,Bs=(p+Os|0)+Es|0,Ps=(Bs^Ls)>>>8|(Bs^Ls)<<24,Cs=Ps+Ms|0,js=(Cs^Os)>>>7|(Cs^Os)<<25,Is=(x+os|0)+is|0,zs=(Is^ms)>>>16|(Is^ms)<<16,Ts=zs+Wn|0,Us=(Ts^os)>>>12|(Ts^os)<<20,Rs=(E+Us|0)+Is|0,Ds=(Rs^zs)>>>8|(Rs^zs)<<24,Hs=Ds+Ts|0,Vs=(Hs^Us)>>>7|(Hs^Us)<<25,Ns=(ft+fs|0)+hs|0,Fs=(Ns^Kn)>>>16|(Ns^Kn)<<16,qs=Fs+es|0,Ks=(qs^fs)>>>12|(qs^fs)<<20,Ws=(Q+Ks|0)+Ns|0,Gs=(Ws^Fs)>>>8|(Ws^Fs)<<24,Xs=Gs+qs|0,Js=(Xs^Ks)>>>7|(Xs^Ks)<<25,Ys=(C+js|0)+_s|0,Zs=(Ys^Gs)>>>16|(Ys^Gs)<<16,Qs=Zs+Hs|0,tr=(Qs^js)>>>12|(Qs^js)<<20,er=(lt+tr|0)+Ys|0,or=(er^Zs)>>>8|(er^Zs)<<24,nr=or+Qs|0,sr=(nr^tr)>>>7|(nr^tr)<<25,rr=(F+Vs|0)+Bs|0,cr=(rr^As)>>>16|(rr^As)<<16,ir=cr+Xs|0,ar=(ir^Vs)>>>12|(ir^Vs)<<20,lr=(_+ar|0)+rr|0,fr=(lr^cr)>>>8|(lr^cr)<<24,ur=fr+ir|0,vr=(ur^ar)>>>7|(ur^ar)<<25,dr=(X+Js|0)+Rs|0,pr=(dr^Ps)>>>16|(dr^Ps)<<16,hr=pr+Ss|0,mr=(hr^Js)>>>12|(hr^Js)<<20,xr=(l+mr|0)+dr|0,gr=(xr^pr)>>>8|(xr^pr)<<24,br=gr+hr|0,yr=(br^mr)>>>7|(br^mr)<<25,wr=(pt+$s|0)+Ws|0,kr=(wr^Ds)>>>16|(wr^Ds)<<16,_r=kr+Cs|0,Ar=(_r^$s)>>>12|(_r^$s)<<20,Sr=(d+Ar|0)+wr|0,$r=(Sr^kr)>>>8|(Sr^kr)<<24,Er=$r+_r|0,Lr=(Er^Ar)>>>7|(Er^Ar)<<25,Mr=(B+Lr|0)+er|0,Or=(Mr^fr)>>>16|(Mr^fr)<<16,Br=Or+br|0,Pr=(Br^Lr)>>>12|(Br^Lr)<<20,Cr=(ft+Pr|0)+Mr|0,jr=(Cr^Or)>>>8|(Cr^Or)<<24,mi=jr+Br|0,Ir=(mi^Pr)>>>7|(mi^Pr)<<25,zr=(p+sr|0)+lr|0,Tr=(zr^gr)>>>16|(zr^gr)<<16,Ur=Tr+Er|0,Rr=(Ur^sr)>>>12|(Ur^sr)<<20,Dr=(F+Rr|0)+zr|0,xi=(Dr^Tr)>>>8|(Dr^Tr)<<24,Hr=xi+Ur|0,Vr=(Hr^Rr)>>>7|(Hr^Rr)<<25,Nr=(Q+vr|0)+xr|0,Fr=(Nr^$r)>>>16|(Nr^$r)<<16,qr=Fr+nr|0,Kr=(qr^vr)>>>12|(qr^vr)<<20,gi=(g+Kr|0)+Nr|0,Wr=(gi^Fr)>>>8|(gi^Fr)<<24,Gr=Wr+qr|0,Xr=(Gr^Kr)>>>7|(Gr^Kr)<<25,Jr=(x+yr|0)+Sr|0,Yr=(Jr^or)>>>16|(Jr^or)<<16,Zr=Yr+ur|0,bi=(Zr^yr)>>>12|(Zr^yr)<<20,Qr=(l+bi|0)+Jr|0,yi=(Qr^Yr)>>>8|(Qr^Yr)<<24,wi=yi+Zr|0,ki=(wi^bi)>>>7|(wi^bi)<<25,_i=(M+Vr|0)+Cr|0,Ai=(_i^yi)>>>16|(_i^yi)<<16,Si=Ai+Gr|0,$i=(Si^Vr)>>>12|(Si^Vr)<<20,ma=(_+$i|0)+_i|0,xa=(ma^Ai)>>>8|(ma^Ai)<<24,K0=xa+Si|0,ga=(X+Xr|0)+Dr|0,ba=(ga^jr)>>>16|(ga^jr)<<16,ya=ba+wi|0,wa=(ya^Xr)>>>12|(ya^Xr)<<20,ka=(E+wa|0)+ga|0,_a=(ka^ba)>>>8|(ka^ba)<<24,W0=_a+ya|0,Aa=(lt+ki|0)+gi|0,Sa=(Aa^xi)>>>16|(Aa^xi)<<16,$a=Sa+mi|0,Ea=($a^ki)>>>12|($a^ki)<<20,La=(pt+Ea|0)+Aa|0,Ma=(La^Sa)>>>8|(La^Sa)<<24,G0=Ma+$a|0,Oa=(d+Ir|0)+Qr|0,Ba=(Oa^Wr)>>>16|(Oa^Wr)<<16,Pa=Ba+Hr|0,Ca=(Pa^Ir)>>>12|(Pa^Ir)<<20,ja=(C+Ca|0)+Oa|0,Ia=(ja^Ba)>>>8|(ja^Ba)<<24,X0=Ia+Pa|0,Ta=(2144+(rc<<6)|0)+(Math.imul(nt,K)<<6)|0;n[(Ta>>>0)+0>>>2]=G0^ma;let Ua=4+Ta|0;n[(Ua>>>0)+0>>>2]=X0^ka;let Ra=4+Ua|0;n[(Ra>>>0)+0>>>2]=K0^La;let Da=4+Ra|0;n[(Da>>>0)+0>>>2]=W0^ja;let Ha=4+Da|0;n[(Ha>>>0)+0>>>2]=_a^((X0^Ca)>>>7|(X0^Ca)<<25);let Va=4+Ha|0;n[(Va>>>0)+0>>>2]=Ma^((K0^$i)>>>7|(K0^$i)<<25);let Na=4+Va|0;n[(Na>>>0)+0>>>2]=Ia^((W0^wa)>>>7|(W0^wa)<<25);let Fa=4+Na|0;n[(Fa>>>0)+0>>>2]=xa^((G0^Ea)>>>7|(G0^Ea)<<25);let qa=4+Fa|0;n[(qa>>>0)+0>>>2]=G0^Ot;let Ka=4+qa|0;n[(Ka>>>0)+0>>>2]=X0^Bt;let Wa=4+Ka|0;n[(Wa>>>0)+0>>>2]=K0^Ct;let Ga=4+Wa|0;n[(Ga>>>0)+0>>>2]=W0^Te;let Xa=4+Ga|0;n[(Xa>>>0)+0>>>2]=_a^ce;let Ja=4+Xa|0;n[(Ja>>>0)+0>>>2]=Ma^ie;let Ya=4+Ja|0;n[(Ya>>>0)+0>>>2]=Ia^cc,n[((4+Ya|0)>>>0)+0>>>2]=xa^ic;let za=1+Ae|0,Za=(((-1^za)&(1|Ae)|1&Ae)>>>31)+so|0;if(ze>>>0<V>>>0|0){Mt=ze,je=za,Ie=Za;continue o}Mt=ze,je=za,Ie=Za;break o}let sc=Mt,Mi=je,Oi=Ie;Pe=sc,Ce=Mi,St=Oi}let _e=Ce,se=St,yt=8+Math.imul(2144,K)|0;n[(yt>>>0)+0>>>2]=_e,n[(yt>>>0)+4>>>2]=se,O=rt}let P=1+O|0;if(P>>>0<y>>>0|0){ct=P;continue t}ct=P;break t}U=ct}k=U}}function H(A,y,V,nt,J){r.fill(0,Math.imul(2144,A)>>>0,(Math.imul(2144,A)>>>0)+(Math.imul(y,2144)>>>0));let w=0;e:{let k=w;if((k>>>0<y>>>0|0|0)===0|0){w=k;break e}let R=k;{let j=R;t:for(;;){let st=j;{let P=st;r.fill(0,(2144+(Math.imul(J,P+A|0)<<6)|0)>>>0,((2144+(Math.imul(J,P+A|0)<<6)|0)>>>0)+(V>>>0)),st=P}let tt=1+st|0;if(tt>>>0<y>>>0|0){j=tt;continue t}j=tt;break t}R=j}w=R}}let bt={exports:{compressParents:c,compressParentsFull:i,padding:a,proccessChunksParallel:u,proccessChunksSequential:v,processBlocks:m,processOutBlocks:$,reset:H,memory:{buffer:s}}}.exports,a2=bt.memory?bt.memory.buffer:new ArrayBuffer(0),vt=new Uint8Array(a2,0,15730784),Q0=Object.freeze({state:new Uint8Array(vt.buffer,0,2144),state_chunks:Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,0+y*2144,2144))),"state.chunksDone_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,0+y*2144,8))),"state.chunkOut_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,8+y*2144,8))),"state.flags_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,16+y*2144,4))),"state.chunkPos_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,20+y*2144,4))),"state.stackPos_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,24+y*2144,4))),"state.lastBlockRem_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,28+y*2144,4))),"state.iv_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,32+y*2144,32))),"state.state_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,64+y*2144,32))),"state.stack_chunks":Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,96+y*2144,2048))),buffer:new Uint8Array(vt.buffer,2144,10485760),buffer_chunks:Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,2144+y*10485760,10485760))),stackBuffer:new Uint8Array(vt.buffer,10487904,5242880),stackBuffer_chunks:Object.freeze(Array.from({length:1},(A,y)=>new Uint8Array(vt.buffer,10487904+y*5242880,5242880)))});return Object.freeze({...bt,memory:vt,segments:Q0})}var Hd;function Vd(o={},t){return Hd||(Hd=f3(o,t))}var yh=xh(Vd,bh,"js");var t1=!1,xu;(function(o){o[o.String=0]="String",o[o.Number=1]="Number",o[o.Bytes=2]="Bytes"})(xu||(xu={}));function wh(...o){if(o.length===0)throw new RangeError("hash requires entropy");let t=yh.create(),e=new Uint8Array(1),s=new Uint8Array(4),r=jd(s);for(let n of o)if(typeof n=="string"){let c=Tu.toBytes(n);e[0]=xu.String,r.setUint32(0,c.byteLength,t1),t.update(e),t.update(s),t.update(c)}else if(typeof n=="number"){let c=new Uint8Array(8);jd(c).setFloat64(0,n,t1),e[0]=xu.Number,r.setUint32(0,c.byteLength,t1),t.update(e),t.update(s),t.update(c)}else if(n instanceof Uint8Array)e[0]=xu.Bytes,r.setUint32(0,n.byteLength,t1),t.update(e),t.update(s),t.update(n);else throw new Error("unknown part type");return t.digest()}function mf(o){return!!(o===null||Of(o)||Mf(o)||Uu(o))}function v2(o){let t=[];function e(s,r){if(mf(s))t.push(JSON.stringify(r));else for(let[n,c]of Object.entries(s))e(c,[...r,n])}return e(o,["b"]),t.sort(),Ef(wh("tact/bindings/v1",...t).slice(16))}var e1=class{bindings;#t;#e=new Cf;#n=new lu;#o=new e2;constructor(t){this.bindings=t,this.#t=Gu(v2(t))}get playerIds(){return[...this.#o.keys()]}get controllers(){return{unassigned:[...this.#n],assigned:new Map([...this.#o].map(([t,e])=>[t,[...e.controllers]]))}}createPlayer(){let t=this.#e.next();return this.#o.set(t,{controllers:new lu}),t}deletePlayer(t){return this.#o.get(t)?.controllers.forEach(e=>this.#n.add(e)),this.#o.delete(t),this}add(t){return this.unplug(t),this}remove(t){return this.unplug(t),this.#n.delete(t),this}unplug(t){this.#n.add(t);for(let e of this.#o.values())e.controllers.delete(t);return this}plug(t,e){return e??=this.playerIds.at(-1)??this.createPlayer(),this.unplug(t),tc(this.#o.get(e)).controllers.add(t),this.#n.delete(t),this}encode(t,e=performance.now()){let s=new Map,{controllers:r}=tc(this.#o.get(t));for(let c of r)for(let i of c.evaluate(e)){let a=s.get(i.id)??0;s.set(i.id,a+i.value)}let n=[...s].filter(([,c])=>c!==0).map(([c,i])=>({id:c,value:i}));return Ju(this.#t,n)}encodeAll(t=performance.now()){for(let s of this.#n)s.clear();let e=Array.from(this.#o.keys()).map(s=>({playerId:s,intents:this.encode(s,t)}));return dh(e)}};async function Nd(o){return new Promise((t,e)=>{o.onsuccess=()=>t(o.result),o.onerror=()=>e(o.error)})}async function kh(o,t=o){return{dbName:o,storeName:t,db:await new Promise((e,s)=>{let r=indexedDB.open(o,1);r.onblocked=()=>s(new Error("idb blocked")),r.onerror=()=>s(r.error),r.onupgradeneeded=()=>r.result.createObjectStore(t),r.onsuccess=()=>e(r.result)})}}function _h({start:o,end:t}){if(k0(o)&&k0(t))return IDBKeyRange.bound(o,t,!1,!0);if(k0(o))return IDBKeyRange.lowerBound(o,!1);if(k0(t))return IDBKeyRange.upperBound(t,!0)}function Ah({db:o,storeName:t}){let e=s=>(async r=>{let n=o.transaction(t,s),c=n.objectStore(t),i=new Promise((a,u)=>{n.onabort=()=>u(n.error??new Error("transaction aborted")),n.oncomplete=()=>a(void 0)});try{let a=await r(c,Nd);return n.commit(),await i,a}catch(a){try{n.abort()}catch{}throw a}});return{readonly:e("readonly"),readwrite:e("readwrite")}}var o1=class{#t;constructor(t){this.#t=Ah(t)}async commit(t){return this.#t.readwrite(async e=>{for(let[s,r]of t)r===void 0?e.delete(s):e.put(r,s)})}async getMany(t){return this.#t.readonly((e,s)=>Promise.all(t.map(r=>s(e.get(r)))))}async*entries(t={}){t.limit!==0&&(yield*await this.#t.readonly(async(e,s)=>{let r=[],n=t.reverse?"prev":"next",c=e.openCursor(_h(t),n),i=await s(c);for(;i&&(r.push([i.key,i.value]),!(t.limit!==void 0&&r.length>=t.limit));)i.continue(),i=await s(c);return r}))}};var Sh=(o,t)=>o<t?-1:o>t?1:0;function $h(o,{start:t,end:e}){return!(t!==void 0&&o<t||e!==void 0&&o>=e)}function*Fd(o,t){if(o.limit===0)return;let e=t.filter(([s,r])=>r!==void 0&&$h(s,o)).sort(([s],[r])=>Sh(s,r));o.reverse&&e.reverse(),yield*e.slice(0,o.limit??1/0)}var n1=class{#t=new Map;async commit(t){for(let[e,s]of t)s===void 0?this.#t.delete(e):this.#t.set(e,structuredClone(s))}async getMany(t){return t.map(e=>structuredClone(this.#t.get(e)))}async*entries(t={}){yield*Fd(t,[...this.#t.entries()].map(([e,s])=>[e,structuredClone(s)]))}};var s1=class{#t;#e;constructor(t,e){this.#t=t,this.#e=e}set(t){return this.#e.set(this.#t,t)}delete(){return this.#e.delete(this.#t)}};var r1=class{kv;key;op;constructor(t,e){this.kv=t,this.key=e,this.op=new s1(e,t.op)}async set(t){return this.kv.set(this.key,t)}async get(){return this.kv.get(this.key)}async has(){return await this.get()!==void 0}async need(){return tc(await this.get(),`key not found "${this.key}"`)}async delete(){return this.kv.set(this.key,void 0)}};var Hf=pf({divisor:".",delimiter:":",chunkSize:1024});function gu(o){for(let t=o.length-1;t>=0;t--){let e=o.charCodeAt(t);if(e<65535)return o.slice(0,t)+String.fromCharCode(e+1)}}var c1=class{#t;#e=[{}];constructor(t,e){if(this.#t=t,e.length){let s=e.join(Hf.divisor),r=s+".",n=s+":";this.#e=[{start:n,end:gu(n)},{start:r,end:gu(r)}]}}async count(){let t=0;for(let e of this.#e)for await(let s of this.#t.entries(e))t++;return t}async clear(){let t=[];for(let e of this.#e)for await(let[s]of this.#t.entries(e))t.push([s,void 0]),t.length>=1024&&(await this.#t.commit(t),t=[]);t.length&&await this.#t.commit(t)}};var i1=class{#t;constructor(t){this.#t=t}set(t,e){return[this.#t.prefix(t),e]}delete(t){return[this.#t.prefix(t),void 0]}};var{divisor:v3,delimiter:d3}=Hf,a1=class{#t;#e;constructor(t){let{scopes:e}=t;this.#t=e.join(v3)+d3,this.#e=gu(this.#t)}prefix=t=>this.#t+t;unprefix=t=>t.slice(this.#t.length);scan=t=>{let{start:e,end:s,limit:r,reverse:n}=t;return{start:this.#t+(e??""),end:s===void 0?this.#e:this.#t+s,limit:r,reverse:n}}};function Eh(o){let t=o.limit;if(t!==void 0){if(!Number.isInteger(t))throw new Error("scan limit must be integer");if(t<0)throw new Error("scan limit must be positive")}return o}function Mh(o){for(let t of o){if(t==="")throw new Error("invalid scope empty string");Lh(t,"."),Lh(t,":")}return o}function Lh(o,t){if(o.includes(t))throw new Error(`invalid scope "${o}" contains illegal "${t}"`)}var l1=class o{op;subtree;#t;#e;#n;#o;constructor(t=new n1,e={}){this.#t=t,this.#o={strict:!1,scopes:[],...e},Mh(this.#o.scopes),this.#e=new a1(this.#o),this.op=new i1(this.#e),this.subtree=new c1(this.#t,this.#o.scopes),this.#n=this.#o.strict?s=>JSON.parse(JSON.stringify(s)):s=>s}cell(t){return new r1(this,t)}scope(...t){return new o(this.#t,{...this.#o,scopes:[...this.#o.scopes,...t]})}async commit(t){await this.#t.commit(t.map(([e,s])=>[e,s===void 0?void 0:this.#n(s)]))}async set(t,e){return this.commit([this.op.set(t,e)])}async setMany(t){return this.commit(t.map(([e,s])=>this.op.set(e,s)))}async delete(...t){return this.commit(t.map(e=>this.op.delete(e)))}async getMany(t){return t=t.map(e=>this.#e.prefix(e)),(await this.#t.getMany(t)).map(e=>e===void 0?void 0:e)}async get(t){let[e]=await this.getMany([t]);return e}async has(t){return await this.get(t)!==void 0}async need(t){return tc(await this.get(t),`key not found "${t}"`)}async needMany(t){let e=await this.getMany(t);for(let[s,r]of t.entries())tc(e[s],`key not found "${r}"`);return e}async*entries(t={}){t=Eh(this.#e.scan(t));for await(let[e,s]of this.#t.entries(t)){let r=this.#e.unprefix(e);s!==void 0&&(yield[r,s])}}[Symbol.asyncIterator](){return this.entries()}async*keys(t={}){for await(let[e]of this.entries(t))yield e}async*values(t={}){for await(let[,e]of this.entries(t))yield e}async count(t={}){let e=0;for await(let s of this.keys(t))e++;return e}async clear(t={}){let e=[];for await(let[s]of this.entries(t))e.push(this.op.delete(s)),e.length>=Hf.chunkSize&&(await this.commit(e),e=[]);e.length&&await this.commit(e)}};async function Oh(o,t){let e=()=>{};if(!t){let s=await kh(o,"kv"),r=new o1(s);t=new l1(r),e=()=>s.db.close()}return{kv:t,dispose:e}}function qd(o,t){let{presets:e,customs:s,fallback:r}=o.profiles;return t===void 0?r.profile:s.get(t)??e.get(t)??tc(e.get(r.key))}async function f1(o,t,e){let{kvs:s,controllers:r,assignments:n}=o;t.bindings=qd(o,e).bindings,n.set(t,e),await Ru(r.get(t)?.handle,async c=>{o.preferences.set(c,e),await s.preferences.set(c,e)})}function Bh(o,t){return v2(o)===v2(t)}var u1=class{#t;constructor(t){this.#t=t}#e(t){if(!Bh(t,this.#t.bindings))throw new Error("incompatible bindings")}get presets(){return[...this.#t.profiles.presets]}get customs(){return[...this.#t.profiles.customs]}isPreset(t){return this.#t.profiles.presets.has(t)}get(t){return qd(this.#t,t)}async create(t,e){let{kvs:s,profiles:r}=this.#t;this.#e(e.bindings),r.customs.set(t,e),await s.profiles.set(t,e),this.#t.subby.publish()}async clone(t,e){let{label:s,bindings:r}=this.get(e);await this.create(t,{basedOn:e,bindings:r,label:`${s} copy`})}async delete(t){let{kvs:e,assignments:s,profiles:{customs:r,fallback:n}}=this.#t;r.delete(t),await e.profiles.delete(t);for(let[c,i]of s)i===t&&await f1(this.#t,c,n.key);this.#t.subby.publish()}async update(t,e){let{kvs:s,assignments:r,profiles:{customs:n}}=this.#t;e.bindings&&this.#e(e.bindings);let c=this.get(t),i={...structuredClone(c),...e};n.set(t,i);for(let[a,u]of r)u===t&&(a.bindings=i.bindings);await s.profiles.set(t,i),this.#t.subby.publish()}};function Ph(o){let{presets:t}=o,e=tc(Object.keys(t)[0],"missing presets"),s=tc(t[e]),r=s.bindings,n=o.kv.scope(v2(r).toString()),c={presets:new e2,customs:new e2,fallback:{key:e,profile:s}};return au(c.presets,Object.entries(t)),{subby:d2(),kv:n,presets:t,bindings:r,idCounter:new Cf,profiles:c,controllers:new e2,assignments:new e2,preferences:new e2,kvs:{profiles:n.scope("profiles"),preferences:n.scope("preferences")}}}var v1=class{#t;constructor(t){this.#t=t}async assign(t,e){await f1(this.#t,t,e),this.#t.subby.publish()}assignedProfileKeyOf(t){let{assignments:e}=this.#t;return e.get(t)??this.#t.profiles.fallback.key}};var d1=class{#t;profiles;assignments;presets;constructor(t){this.#t=Ph(t),this.profiles=new u1(this.#t),this.assignments=new v1(this.#t),this.presets=t.presets}get on(){return this.#t.subby.on}#e(t){let{preferences:e,assignments:s,controllers:r}=this.#t,n=tc(r.get(t)),c=s.get(t)??e.get(n.handle)??n.defaultProfileKey;t.bindings=this.profiles.get(c).bindings,s.set(t,c)}async load(){let{kvs:t,controllers:e,preferences:s,profiles:{customs:r}}=this.#t;r.clear(),au(r,await Cd(t.profiles)),s.clear(),au(s,await Cd(t.preferences));for(let n of e.keys())this.#e(n)}get controllers(){return[...this.#t.controllers.keys()]}get fallbackProfileKey(){return this.#t.profiles.fallback.key}meta(t){return this.#t.controllers.get(t)}attach(t,e){let s=this.#t.idCounter.next();this.#t.controllers.set(t,{...e,id:s}),this.#e(t)}detach(t){this.#t.controllers.delete(t),this.#t.assignments.delete(t)}};function p1(o){let[t,e]=Object.entries(o)[0];return{key:t,profile:e}}async function Ch(o,t){let e=()=>{};if(!t){let s=new BroadcastChannel(o);t=s,e=()=>s.close()}return{broadcastChannel:t,dispose:e}}async function jh(o){let{dispose:t,schedule:e,disposable:s}=J0(),r=o.namespace?`tact_${o.namespace}`:"tact",{kv:n}=s(await Oh(r,o.kv)),{broadcastChannel:c}=s(await Ch(r,o.broadcastChannel));try{let{maxPlayers:i}=o,{bindings:a}=p1(o.presets).profile,u=new e1(a),v=new d1({...o,kv:n});return e(ec(c,{message:()=>v.load()})),e(v.on(()=>c.postMessage({}))),await v.load(),fh({hub:u,controls:v,maxPlayers:i,dispose:t})}catch(i){throw t(),i}}var Kd=1024,h1=class{dispose;#t;#e=[];constructor(t){this.#t=t,this.dispose=t.onSample(e=>{this.#e.push(e),this.#e.length>Kd&&console.warn(`tact sampler exceeded limit ${Kd}`),this.#e=Vp(this.#e,Kd)})}take(){this.#t.poll?.();let t=this.#e;return this.#e=[],t}};var{min:p3,max:h3,abs:m3,sign:x3,floor:Ik,ceil:zk,pow:Tk}=Math;function xf(o,t=0,e=1){return o=p3(o,e),o=h3(o,t),o}function g3(o,t,e,s){let n=(e-t)*o;return s!==void 0&&m3(n)>s&&(n=x3(n)*s),t+n}function b3(o,t,e){return(o-t)/(e-t)}function Ih(o,t,e,s=0,r=1,n=!1){let c=b3(o,t,e);return n&&(c=xf(c)),g3(c,s,r)}var m1=class o{x;y;constructor(t=0,e=0){this.x=t,this.y=e}static new(t=0,e=0){return new this(t,e)}static zero(){return new this}static fill(t){return new this(t,t)}static from(t){return Array.isArray(t)?new this(...t):new this(t.x,t.y)}static magnitudeSquared(t,e){return t*t+e*e}static magnitude(t,e){return Math.sqrt(this.magnitudeSquared(t,e))}static average(...t){return new this().add(...t).divBy(t.length)}static min(...t){return new this(Math.min(...t.map(e=>e.x)),Math.min(...t.map(e=>e.y)))}static max(...t){return new this(Math.max(...t.map(e=>e.x)),Math.max(...t.map(e=>e.y)))}static rotation(t){return new this(Math.cos(t),Math.sin(t))}dup(){return new this.constructor(this.x,this.y)}*[Symbol.iterator](){yield this.x,yield this.y}array(){return[this.x,this.y]}toJSON(){return this.array()}toString(){return`(${this.constructor.name} x${this.x.toFixed(2)}, y${this.y.toFixed(2)})`}fill(t){return this.x=t,this.y=t,this}zero(){return this.fill(0)}set_(t,e){return this.x=t,this.y=e,this}set({x:t,y:e}){return this.x=t,this.y=e,this}from(t){if(Array.isArray(t)){let[e,s]=t;this.x=e,this.y=s}else{let{x:e,y:s}=t;this.x=e,this.y=s}return this}magnitudeSquared(){return o.magnitudeSquared(this.x,this.y)}magnitude(){return o.magnitude(this.x,this.y)}rotation(){return Math.atan2(this.y,this.x)}equals_(t,e){return this.x===t&&this.y===e}equals(...t){return t.every(({x:e,y:s})=>this.equals_(e,s))}near_(t,e,s=1e-6){return Math.abs(this.x-t)<=s&&Math.abs(this.y-e)<=s}near({x:t,y:e},s=1e-6){return this.near_(t,e,s)}dot_(t,e){return this.x*t+this.y*e}dot({x:t,y:e}){return this.dot_(t,e)}distanceSquared_(t,e){return t=this.x-t,e=this.y-e,t*t+e*e}distanceSquared({x:t,y:e}){return this.distanceSquared_(t,e)}distance_(t,e){return Math.sqrt(this.distanceSquared_(t,e))}distance({x:t,y:e}){return this.distance_(t,e)}angleBetween_(t,e){let s=this.dot_(t,e),r=this.magnitude()*o.magnitude(t,e);if(r===0)return 0;let n=xf(s/r,-1,1);return Math.acos(n)}angleBetween({x:t,y:e}){return this.angleBetween_(t,e)}normalize(){return this.divBy(this.magnitude())}half(){return this.divBy(2)}double(){return this.mulBy(2)}abs(){return this.map(t=>Math.abs(t))}rotate(t){let{x:e,y:s}=this;return this.x=e*Math.cos(t)-s*Math.sin(t),this.y=e*Math.sin(t)+s*Math.cos(t),this}perpendicular(){let{x:t,y:e}=this;return this.x=-e,this.y=t,this}clampMagnitude(t){return this.magnitude()>t&&this.normalize().mulBy(t),this}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}map(t){return this.x=t(this.x,0),this.y=t(this.y,1),this}morph(t){let e=t(this);return e&&e!==this&&this.set(e),this}clamp(t={x:0,y:0},e={x:1,y:1}){return this.x=xf(this.x,t.x,e.x),this.y=xf(this.y,t.y,e.y),this}clampBy(t=0,e=1){return this.x=xf(this.x,t,e),this.y=xf(this.y,t,e),this}negate(){return this.map(t=>t*-1)}addBy(t){return this.x+=t,this.y+=t,this}subBy(t){return this.x-=t,this.y-=t,this}mulBy(t){return this.x*=t,this.y*=t,this}scale(t){return this.x*=t,this.y*=t,this}divBy(t){return t===0?this:(this.x/=t,this.y/=t,this)}add_(t,e){return this.x+=t,this.y+=e,this}add(...t){for(let{x:e,y:s}of t)this.add_(e,s);return this}sub_(t,e){return this.x-=t,this.y-=e,this}sub(...t){for(let{x:e,y:s}of t)this.sub_(e,s);return this}mul_(t,e){return this.x*=t,this.y*=e,this}mul(...t){for(let{x:e,y:s}of t)this.mul_(e,s);return this}div_(t,e){return t!==0&&(this.x/=t),e!==0&&(this.y/=e),this}div(...t){for(let{x:e,y:s}of t)this.div_(e,s);return this}lerp_(t,e,s){return this.x+=(t-this.x)*s,this.y+=(e-this.y)*s,this}lerp(t,{x:e,y:s}){return this.lerp_(t,e,s)}reflect_(t,e){let s=2*this.dot_(t,e);return this.x-=s*t,this.y-=s*e,this}reflect({x:t,y:e}){return this.reflect_(t,e)}rotateAroundPoint_(t,e,s){let r=this.x-e,n=this.y-s,c=Math.cos(t),i=Math.sin(t);return this.x=c*r-i*n+e,this.y=i*r+c*n+s,this}rotateAroundPoint(t,{x:e,y:s}){return this.rotateAroundPoint_(t,e,s)}};function y2(o){return o!==0}function Wd(o,t){let e=s=>Wd(o,s);if(t===null)return 0;if(Mf(t))return t;if(Of(t)){let s=o.latestValues.get(t)??0;return o.recentSamples.filter(r=>r.code===t).reduce((r,n)=>Math.abs(n.value)>Math.abs(r)?n.value:r,s)}else switch(t[0]){case"accumulate":{let s=t[1],r=0;for(let n of o.recentSamples)n.code===s&&(r+=n.value);return r}case"up":{let s=t[1],r=0,n=o.previousValues.get(s)??0;for(let c of o.recentSamples)c.code===s&&(y2(n)&&!y2(c.value)&&r++,n=c.value);return r}case"down":{let s=t[1],r=0,n=o.previousValues.get(s)??0;for(let c of o.recentSamples)c.code===s&&(!y2(n)&&y2(c.value)&&r++,n=c.value);return r}case"was":{let s=t[1];return o.previousValues.get(s)??0}case"since":{let s=t[1],r=o.previousValues.get(s)??0;return(o.latestValues.get(s)??0)-r}case"if":{let[,s,r,n]=t;return e(s)?e(r):k0(n)?e(n):0}case"min":return Math.min(...t.slice(1).map(e));case"max":return Math.max(...t.slice(1).map(e));case"+":return t.slice(1).map(e).reduce((s,r)=>s+r,0);case"*":return t.slice(1).map(e).reduce((s,r)=>s*r,1);case"==":return+(e(t[1])===e(t[2]));case"!=":return+(e(t[1])!==e(t[2]));case">":return+(e(t[1])>e(t[2]));case"<":return+(e(t[1])<e(t[2]));case">=":return+(e(t[1])>=e(t[2]));case"<=":return+(e(t[1])<=e(t[2]));case"!":return+(e(t[1])===0);case"!!":return+(e(t[1])!==0);case"-":{let[,s,...r]=t;if(r.length===0)return-e(s);let n=e(s);for(let c of r)n-=e(c);return n}case"clamp":{let[,s,r,n]=t,c=e(n);return Math.min(r===null?1/0:e(r),Math.max(s===null?-1/0:e(s),c))}case"remap":{let[s,r,n,c,i]=t.slice(1).map(e);return Ih(i,s,r,n,c)}case"dt":return o.dt;case"held":{let[,s,r]=t,n=y2(e(r)),c=o.holding.get(t);return n&&!c&&(c={start:o.clock.time},o.holding.set(t,c)),!n&&c&&(c=void 0,o.holding.delete(t)),c&&o.clock.time-c.start>=s?1:0}case"taps":{let[,s,r,n]=t,c=y2(e(n)),i=o.clock.time,a=Bf(o.tapping,t,()=>({wasDown:!1,startedAt:null,count:0})),u=c&&!a.wasDown,v=!c&&a.wasDown;a.startedAt!==null&&i-a.startedAt>=r&&(a.startedAt=null,a.count=0);let m=0;return u&&a.startedAt===null&&(a.startedAt=i),v&&a.startedAt!==null&&(a.count++,a.count===s&&(m=1,a.count=0,a.startedAt=null)),a.wasDown=c,m}case"mod":{let[,...s]=t,r=u=>y2(o.latestValues.get(u)??0),n=r("ShiftLeft")||r("ShiftRight"),c=r("ControlLeft")||r("ControlRight"),i=r("AltLeft")||r("AltRight"),a=r("MetaLeft")||r("MetaRight");return s.includes("shift")!==n||s.includes("ctrl")!==c||s.includes("alt")!==i||s.includes("meta")!==a?0:1}default:throw new Error("unknown expression")}}var x1=class{time;since=0;last;constructor(t=performance.now()){this.time=t}update(t=performance.now()){this.since=t-(this.time??t),this.last=this.time,this.time=t}};var g1=class{dt=0;clock=new x1;recentSamples=[];latestValues=new Map;previousValues=new Map;holding=new Map;tapping=new Map};function zh(){return{value:0,was:0,sum:0}}function Gd(o){let t=v2(o),e=[];function s(n,c){if(mf(n)){let i=zh();return e.push({path:JSON.stringify(c),input:i,expression:n}),i}else return Id(n,(i,a)=>s(i,[...c,a]))}let r=s(o,["b"]);return e.sort((n,c)=>n.path<c.path?-1:n.path>c.path?1:0),{hash:t,minihash:Gu(t),inputs:r,inputList:e.map(n=>n.input),rootList:e.map(n=>n.expression)}}var Vf=class{#t;#e;#n;#o;constructor(t){this.#e=pf(structuredClone(t.bindings)),this.#n=Gd(this.#e),this.#t=new h1(t.source),this.#o=new g1}get bindings(){return this.#e}set bindings(t){let e=pf(structuredClone(t)),s=Gd(e),r=this.#n.hash;if(s.hash!==r)throw new Error("incompatible bindings");this.#e=e,this.#n.rootList=s.rootList}*evaluate(t=performance.now()){let e=this.#t.take();this.#o.clock.update(t),this.#o.recentSamples=e,this.#o.dt=this.#o.clock.since/1e3;for(let{code:s,value:r}of e)this.#o.latestValues.set(s,r);for(let[s,r]of this.#n.rootList.entries()){let n=Wd(this.#o,r);n!==0&&(yield{id:s,value:n})}for(let{code:s,value:r}of e)this.#o.previousValues.set(s,r)}encode(t=performance.now()){return Ju(this.#n.minihash,[...this.evaluate(t)])}clear(){this.#t.take()}dispose(){return this.#t.dispose()}};var b1=class{get;constructor(t){this.get=t}get gamepad(){return this.get()}};function Th(o,t){let e=o;return()=>{let s=t();return s!=null&&(e=s),e}}function y1(o){let t=new Map;function e(){s(),r()}function s(){for(let c of navigator.getGamepads())if(c?.connected&&!t.has(c.index)){let i=()=>navigator.getGamepads()[c.index],a=new b1(Th(c,i)),u=o(a);t.set(c.index,{pad:a,dispose:u})}}function r(){for(let[c,{pad:i,dispose:a}]of t)navigator.getGamepads()[i.gamepad.index]?.connected||(a(),t.delete(c))}e();let n=ec(window,{gamepadconnected:e,gamepaddisconnected:e});return()=>{n();for(let{dispose:c}of t.values())c();t.clear()}}var i2=class{onSample=d2();dispose=J0()};var Nf=class extends i2{pad;#t=new Map;constructor(t){super(),this.pad=t}get gamepad(){return this.pad.gamepad}poll(){let t=this.gamepad;this.#n(t),this.#o(t)}#e(t,e){let s=this.#t.get(t)??0;e!==s&&(this.#t.set(t,e),this.onSample.publish({code:t,value:e}))}#n(t){let e=0;for(let[s,r]of t.buttons.entries()){let n=r.value;this.#e(`gamepad.${s+1}`,n),e=Math.max(e,n)}this.#e("gamepad.any",e>=.9?1:0)}#o(t){for(let[e,s]of t.axes.entries())this.#e(`gamepad.axis.${e+1}`,s)}};function Uh(o,t){return y1(e=>{let s=new Nf(e),r=new Vf({source:s,bindings:o.bindings});o.plug(r);let n=t?.(r,s);return()=>{r.dispose(),o.remove(r),n?.()}})}function Rh(o,t){return o.length>t?o.slice(0,t)+"...":o}var w1=class extends i2{#t;constructor(...t){super(),this.#t=t;for(let e of t)this.dispose.schedule(e.onSample(s=>this.onSample.publish(s)))}poll(){for(let t of this.#t)t.poll?.()}};var k1=class{$hex=oc("");clear=Up(250,()=>{this.$hex.set("")});update(t){this.$hex(Ef(new Uint8Array(t))),this.clear()}};function Ff(o){return`pointer.${o+1}`}var _1=class extends i2{client=new m1;constructor(t=window){super(),this.dispose.schedule(ec(t,this.#t))}#t={pointerdown:t=>{this.onSample.publish({code:Ff(t.button),value:1})},pointerup:t=>{this.onSample.publish({code:Ff(t.button),value:0})},pointermove:({clientX:t,clientY:e,movementX:s,movementY:r})=>{this.client.set_(t,e),s&&this.onSample.publish({code:"pointer.x",value:s}),r&&this.onSample.publish({code:"pointer.y",value:r})},wheel:({deltaX:t,deltaY:e})=>{t&&this.onSample.publish({code:"pointer.wheel.x",value:t}),e&&this.onSample.publish({code:"pointer.wheel.y",value:e})}}};var A1=class extends i2{#t=new Set;constructor(t=window){super(),this.dispose.schedule(ec(t,this.#e)),this.dispose.schedule(ec(window,this.#n))}#e={keydown:t=>{t.repeat||(this.#t.size===0&&this.onSample.publish({code:"keyboard.any",value:1}),this.onSample.publish({code:t.code,value:1}),this.#t.add(t.code))},keyup:t=>{this.onSample.publish({code:t.code,value:0}),this.#t.delete(t.code),this.#t.size===0&&this.onSample.publish({code:"keyboard.any",value:0})}};#n={blur:()=>{for(let t of this.#t)this.onSample.publish({code:t,value:0});this.#t.size&&this.onSample.publish({code:"keyboard.any",value:0}),this.#t.clear()}}};var Dh=p2`@layer core {
|
|
29
29
|
|
|
30
30
|
::selection {
|
|
31
31
|
color: var(--selection);
|
|
@@ -55,14 +55,14 @@ a {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
}`;var
|
|
58
|
+
}`;var Hh=p2`@layer vars {
|
|
59
59
|
|
|
60
60
|
:is(:root, :host) {
|
|
61
|
-
${
|
|
61
|
+
${w3({bg:"#111",alpha:"#def",rounded:"0.5em",padding:"0.5em",prime:"#d068ff",code:"#3f1",link:"cyan",selection:"white","selection-bg":"#f70",lame:"#8888",angry:"#f50",zesty:"#cf0",happy:"#0fa",calm:"#0af",sad:"#74f",quirky:"#f49","inactive-opacity":"0.5","anim-duration":"150ms"})}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
}`;function
|
|
65
|
-
`)}var
|
|
64
|
+
}`;function y3([o,t]){return`--${o}: var(--shiny-${o}, ${t});`}function w3(o){return Object.entries(o).map(y3).join(`
|
|
65
|
+
`)}var Vh=p2`@layer reset {
|
|
66
66
|
|
|
67
67
|
* {
|
|
68
68
|
margin: 0;
|
|
@@ -78,15 +78,15 @@ a {
|
|
|
78
78
|
::-webkit-scrollbar-thumb { background: #888; border-radius: 1em; }
|
|
79
79
|
::-webkit-scrollbar-thumb:hover { background: #999; }
|
|
80
80
|
|
|
81
|
-
}`;var
|
|
81
|
+
}`;var Nh=p2`
|
|
82
82
|
|
|
83
83
|
@layer vars, reset, core, underlay, view, overlay;
|
|
84
84
|
|
|
85
|
-
${
|
|
86
|
-
${
|
|
87
|
-
${
|
|
85
|
+
${Hh}
|
|
86
|
+
${Vh}
|
|
87
|
+
${Dh}
|
|
88
88
|
|
|
89
|
-
`;var
|
|
89
|
+
`;var Xd=new CSSStyleSheet;Xd.replaceSync(Nh);var qf=class{length=1;$index=oc(0);constructor(t=0){this.$index(t)}clamp(t){return t=Math.min(t,this.length-1),t=Math.max(t,0),t}get index(){return this.clamp(this.$index())}async setIndex(t){return this.$index(t)}async shimmy(t){let e=this.clamp(this.index+t);return this.setIndex(e)}};var Fh=ee`@layer view {
|
|
90
90
|
|
|
91
91
|
:host {
|
|
92
92
|
display: inline-flex;
|
|
@@ -128,10 +128,10 @@ slot[part="tabs"][data-snug] {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
} `;var
|
|
132
|
-
<slot part=tabs ?data-snug="${
|
|
133
|
-
<slot part=panels name=panel @slotchange="${
|
|
134
|
-
`});var
|
|
131
|
+
} `;var qh=eh((o={})=>{Uf("shiny-tabs"),Rf(Xd,Fh);let t=mu(),e=ne(()=>xt.attrs(t).spec({index:Number})),s=ne(()=>o.control??new qf(e.index??0)),r=u2([]),n=u2([]);function c(u){let v=u.currentTarget;r(v.assignedElements())}function i(u){let v=u.currentTarget;n(v.assignedElements())}e.index=s.$index(),s.length=r().length;function a(u,v){let m=s.clamp(u+v);return m===u?!1:m===s.index}for(let[u,v]of r().entries()){let m=u===s.index,$=xt.attrs(v);$.booleans.disabled=m,$.booleans["data-snug"]=o.snug,$.booleans["data-tabbed"]=m,$.booleans["data-first"]=u===0,$.booleans["data-last"]=u===s.length-1,$.booleans["data-next-is-tabbed"]=a(u,1),$.booleans["data-previous-is-tabbed"]=a(u,-1),v.onclick=()=>s.setIndex(u)}for(let[u,v]of n().entries()){let m=u===s.index;xt.attrs(v).booleans["data-tabbed"]=m,xt.attrs(v).booleans.hidden=!m}return I`
|
|
132
|
+
<slot part=tabs ?data-snug="${o.snug}" @slotchange="${c}"></slot>
|
|
133
|
+
<slot part=panels name=panel @slotchange="${i}"></slot>
|
|
134
|
+
`});var Kh=ee`@layer view {
|
|
135
135
|
|
|
136
136
|
:host {
|
|
137
137
|
display: block;
|
|
@@ -196,11 +196,11 @@ slot[part="tabs"][data-snug] {
|
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
-
}`;var
|
|
199
|
+
}`;var w2=ee`
|
|
200
200
|
@layer theme, view;
|
|
201
201
|
@layer theme {
|
|
202
202
|
|
|
203
|
-
${
|
|
203
|
+
${zf}
|
|
204
204
|
|
|
205
205
|
:host {
|
|
206
206
|
--prime: var(--tact-prime, #fb0);
|
|
@@ -305,7 +305,7 @@ ${St}
|
|
|
305
305
|
box-shadow: inset 0 0 1em oklch(from var(--chill) l c h / 20%);
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
-
}`;var
|
|
308
|
+
}`;var Kf=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-GameController"><path d="M9 15l-2.968 2.968A2.362 2.362 0 0 1 2 16.298V15l1.357-6.784A4 4 0 0 1 7.279 5h9.442a4 4 0 0 1 3.922 3.216L22 15v1.297a2.362 2.362 0 0 1-4.032 1.67L15 15H9z"/><path d="M9 5l1 2h4l1-2"/></svg>`;var Wh=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-SettingsHorizontal"><path d="M3 5h4m14 0H11m-8 7h12m6 0h-2M3 19h2m16 0H9"/><circle cx="9" cy="5" r="2"/><circle cx="17" cy="12" r="2"/><circle cx="7" cy="19" r="2"/></svg>`;var Gh=ee`@layer view {
|
|
309
309
|
|
|
310
310
|
.plate {
|
|
311
311
|
user-select: none;
|
|
@@ -459,96 +459,96 @@ ${St}
|
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
|
|
462
|
-
}`;var
|
|
463
|
-
<div class="${
|
|
464
|
-
theme-card="${
|
|
462
|
+
}`;var Xh=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-PersonAdd"><circle cx="12" cy="7" r="5"/><path d="M17 22H5.266a2 2 0 0 1-1.985-2.248l.39-3.124A3 3 0 0 1 6.649 14H7"/><path d="M19 14v4"/><path d="M17 16h4"/></svg>`;var S1=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-XSmall"><path d="M17 17L7 7m10 0L7 17"/></svg>`;var bu=Ei(o=>{let{dnd:t}=o.context,e=t.dropzone(()=>({playerId:o.playerId}));return I`
|
|
463
|
+
<div class="${o.class}"
|
|
464
|
+
theme-card="${o.themeCard??""}"
|
|
465
465
|
data-drop-candidate
|
|
466
|
-
?data-dropping="${t.hovering?.playerId===
|
|
466
|
+
?data-dropping="${t.hovering?.playerId===o.playerId}"
|
|
467
467
|
@dragenter="${e.dragenter}"
|
|
468
468
|
@dragleave="${e.dragleave}"
|
|
469
469
|
@dragover="${e.dragover}"
|
|
470
470
|
@drop="${e.drop}">
|
|
471
471
|
|
|
472
|
-
${
|
|
472
|
+
${o.content}
|
|
473
473
|
</div>
|
|
474
|
-
`});var
|
|
474
|
+
`});var Jh=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="currentColor" stroke-width="2" class="ai ai-DragVerticalFill"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4z"/></svg>`;function Yh(o){return o*137.508}var $1=Ei((o,t,e)=>{let{profiles:s}=o.controls;function r(n){let c=n.currentTarget;e(c.value)}return I`
|
|
475
475
|
<select
|
|
476
476
|
part=select
|
|
477
477
|
theme-select
|
|
478
478
|
.value="${t}"
|
|
479
|
-
@change="${
|
|
479
|
+
@change="${r}">
|
|
480
480
|
|
|
481
|
-
${
|
|
481
|
+
${s.presets.map(([n,c])=>I`
|
|
482
482
|
<option
|
|
483
483
|
value="${n}"
|
|
484
484
|
?selected="${n===t}">
|
|
485
|
-
${
|
|
485
|
+
${c.label}
|
|
486
486
|
</option>
|
|
487
487
|
`)}
|
|
488
488
|
|
|
489
|
-
${
|
|
489
|
+
${s.customs.map(([n,c])=>I`
|
|
490
490
|
<option
|
|
491
491
|
value="${n}"
|
|
492
492
|
?selected="${n===t}">
|
|
493
|
-
${
|
|
493
|
+
${c.label}
|
|
494
494
|
</option>
|
|
495
495
|
`)}
|
|
496
496
|
</select>
|
|
497
|
-
`});var
|
|
497
|
+
`});var E1=Ei((o,t)=>{let{deck:e,dnd:s}=o,{controls:r}=e,n=s.dragzone(()=>({controller:t})),c=r.assignments.assignedProfileKeyOf(t),i=r.meta(t)??{id:0,icon:Kf,handle:"controller",name:"controller",tooltip:"",defaultProfileKey:r.fallbackProfileKey},a=`--hue: ${Yh(i?.id??0)};`;return I`
|
|
498
498
|
<div class=controller
|
|
499
|
-
style="${
|
|
499
|
+
style="${a}"
|
|
500
500
|
theme-card
|
|
501
|
-
?data-dragging="${
|
|
501
|
+
?data-dragging="${s.dragging?.controller===t}"
|
|
502
502
|
draggable="${n.draggable}"
|
|
503
503
|
@dragstart="${n.dragstart}"
|
|
504
504
|
@dragend="${n.dragend}">
|
|
505
505
|
|
|
506
506
|
<div class=griptape>
|
|
507
|
-
${
|
|
507
|
+
${Jh}
|
|
508
508
|
</div>
|
|
509
509
|
|
|
510
|
-
<h4 class=label title="${
|
|
511
|
-
<span class=icon>${
|
|
512
|
-
<span class=name>${
|
|
510
|
+
<h4 class=label title="${i.tooltip}">
|
|
511
|
+
<span class=icon>${i.icon}</span>
|
|
512
|
+
<span class=name>${i.name}</span>
|
|
513
513
|
</h4>
|
|
514
514
|
|
|
515
|
-
${
|
|
515
|
+
${$1(e,c,u=>{r.assignments.assign(t,u)})}
|
|
516
516
|
</div>
|
|
517
|
-
`});var
|
|
517
|
+
`});var Zh=Ei((o,t,e)=>{let{hub:s}=o.deck,r=()=>s.deletePlayer(t),n=s.controllers.assigned.get(t)??[];return bu({class:"player",playerId:t,context:o,content:I`
|
|
518
518
|
<h3>
|
|
519
519
|
<span>player ${e+1}</span>
|
|
520
520
|
|
|
521
|
-
${
|
|
522
|
-
<button theme-button="naked angry" @click=${
|
|
523
|
-
${
|
|
521
|
+
${If(s.playerIds.length>1,()=>I`
|
|
522
|
+
<button theme-button="naked angry" @click=${r}>
|
|
523
|
+
${S1}
|
|
524
524
|
</button>
|
|
525
525
|
`)}
|
|
526
526
|
</h3>
|
|
527
527
|
|
|
528
528
|
<div class=controllerlist>
|
|
529
|
-
${n.map(
|
|
529
|
+
${n.map(c=>E1(o,c))}
|
|
530
530
|
</div>
|
|
531
|
-
`})});var
|
|
531
|
+
`})});var Jd=Symbol("droppyNewPlayer");var[Qh,tm]=b2(o=>{n2(w2,Gh);let{hub:t}=o,e=t.controllers,s=()=>o.hub.createPlayer(),r=(c,i)=>Zh(n,c,i),n=ne(()=>({deck:o,dnd:new Vu.DragAndDrops({acceptDrop(c,i,a){a.playerId===Jd?t.plug(i.controller,t.createPlayer()):k0(a.playerId)?t.plug(i.controller,a.playerId):t.unplug(i.controller)}})}));return I`
|
|
532
532
|
<div class=plate ?data-drag-and-drop="${!!n.dnd.dragging}">
|
|
533
533
|
<div class=playerlist>
|
|
534
|
-
${t.playerIds.map(
|
|
534
|
+
${t.playerIds.map(r)}
|
|
535
535
|
|
|
536
|
-
${
|
|
537
|
-
<button theme-button=naked @click="${
|
|
538
|
-
${
|
|
536
|
+
${If(t.playerIds.length<o.maxPlayers,()=>bu({class:"player new",themeCard:"dull",playerId:Jd,context:n,content:I`
|
|
537
|
+
<button theme-button=naked @click="${s}">
|
|
538
|
+
${Xh}
|
|
539
539
|
<span>add player</span>
|
|
540
540
|
</button>
|
|
541
541
|
`}))}
|
|
542
542
|
|
|
543
|
-
${
|
|
543
|
+
${bu({class:"player unassigned",themeCard:"dull",playerId:null,context:n,content:I`
|
|
544
544
|
<h3>unassigned</h3>
|
|
545
545
|
<div class=controllerlist>
|
|
546
|
-
${e.unassigned.map(
|
|
546
|
+
${e.unassigned.map(c=>E1(n,c))}
|
|
547
547
|
</div>
|
|
548
548
|
`})}
|
|
549
549
|
</div>
|
|
550
550
|
</div>
|
|
551
|
-
`});var
|
|
551
|
+
`});var em=ee`@layer view {
|
|
552
552
|
|
|
553
553
|
.plate {
|
|
554
554
|
display: flex;
|
|
@@ -688,131 +688,131 @@ ${St}
|
|
|
688
688
|
}
|
|
689
689
|
}
|
|
690
690
|
|
|
691
|
-
}`;var
|
|
692
|
-
<div class=recorder ?data-recording="${!!
|
|
693
|
-
${
|
|
694
|
-
${
|
|
691
|
+
}`;var om=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-Copy"><path d="M8 4v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7.242a2 2 0 0 0-.602-1.43L16.083 2.57A2 2 0 0 0 14.685 2H10a2 2 0 0 0-2 2z"/><path d="M16 18v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2"/></svg>`;var nm=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-TrashCan"><path d="M4 6h16l-1.58 14.22A2 2 0 0 1 16.432 22H7.568a2 2 0 0 1-1.988-1.78L4 6z"/><path d="M7.345 3.147A2 2 0 0 1 9.154 2h5.692a2 2 0 0 1 1.81 1.147L18 6H6l1.345-2.853z"/><path d="M2 6h20"/><path d="M10 11v5"/><path d="M14 11v5"/></svg>`;function Yd(){return Ef.random(16)}var sm=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-KeyCap"><path d="M7 3s3 .5 5 .5 5-.5 5-.5l1 9s-3 1-6 1-6-1-6-1l1-9z"/><path d="M3.869 8.147l-.862 10.294c-.03.366.04.733.205 1.06l.197.393A2.01 2.01 0 0 0 5.206 21h13.588a2.01 2.01 0 0 0 1.797-1.106l.197-.392c.165-.328.236-.695.205-1.06l-.862-10.295a3.99 3.99 0 0 0-.79-2.068L17 3s-3 .5-5 .5S6.978 3 6.978 3l-2.32 3.08a3.99 3.99 0 0 0-.79 2.067z"/><path d="M6 12l-2.5 8M18 12l2.5 8"/></svg>`;var rm=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-Backspace"><path d="M17 15l-6-6m6 0l-6 6"/><path d="M7.4 4.8A2 2 0 0 1 9 4h11a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H9a2 2 0 0 1-1.6-.8l-4.5-6a2 2 0 0 1 0-2.4l4.5-6z"/></svg>`;var cm=mt`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="ai ai-Cross"><path d="M20 20L4 4m16 0L4 20"/></svg>`;function im(o,t){let e=new Set,s=new Set;function r(i){if(i==="ShiftLeft"||i==="ShiftRight")return"shift";if(i==="ControlLeft"||i==="ControlRight")return"ctrl";if(i==="MetaLeft"||i==="MetaRight")return"meta";if(i==="AltLeft"||i==="AltRight")return"alt"}let n=ec(window,{blur:()=>c(),keydown:i=>{if(i.preventDefault(),i.code==="Escape")return c();e.add(i.code),s.add(i.code)},keyup:i=>{if(i.preventDefault(),e.delete(i.code),e.size===0){let a=new Set,u=new Set;for(let v of s){let m=r(v);m?u.add(m):a.add(v)}s.size===0||(a.size===0?o(["*",...s]):u.size>0?o(["*",["mod",...u],...a]):s.size>1?o(["*",...s]):o([...s][0])),c()}}}),c=()=>{n(),t()};return c}function am(o,t){let{dispose:e,schedule:s}=J0();s(t);let r=new Set,n=new Set,c=new Set;return s(ec(window,{blur:()=>e()})),s(y1(i=>{let a=new Nf(i);return r.add(a),a.onSample(u=>{if(u.code!=="gamepad.any")if(u.value>.9)n.add(u.code),c.add(u.code);else{if(!n.delete(u.code))return;n.size===0&&(c.size===1?o([...c][0]):c.size>1&&o(["*",...c]),e())}}),()=>{a.dispose(),r.delete(a)}})),s(Pf(async()=>{for(let i of r)i.poll();await jf(16.67)})),e}function lm(o,t){let{dispose:e,schedule:s}=J0();s(t);let r=new Set,n=new Set,c=i=>i.composedPath().some(a=>a instanceof Element&&a.matches("button.record"));return s(ec(window,{blur:()=>e(),auxclick:i=>i.preventDefault(),mousedown:i=>{if(c(i))return;i.preventDefault();let a=Ff(i.button);r.add(a),n.add(a)},mouseup:i=>{let a=Ff(i.button);r.delete(a)&&(i.preventDefault(),r.size===0&&(n.size===1?o([...n][0]):n.size>1&&o(["*",...n]),e()))},contextmenu:i=>{i.preventDefault()}})),e}var fm=Ei((o,t,e,s)=>{let r=u2(null),n=()=>r(null),c=()=>{let{dispose:v,schedule:m}=J0();m(n),m(im(t,v)),m(am(t,v)),m(lm(t,v)),r(v)},i=()=>{r()?.(),n()};function a(){r()?i():c()}function u(){i(),e()}return ih(i),I`
|
|
692
|
+
<div class=recorder ?data-recording="${!!r()}">
|
|
693
|
+
${s}
|
|
694
|
+
${o?null:I`
|
|
695
695
|
<button
|
|
696
696
|
class=record
|
|
697
697
|
theme-button=naked
|
|
698
698
|
title="record a keypress"
|
|
699
|
-
@click=${
|
|
700
|
-
${
|
|
699
|
+
@click=${a}>
|
|
700
|
+
${r()?cm:sm}
|
|
701
701
|
</button>
|
|
702
702
|
|
|
703
703
|
<button
|
|
704
704
|
theme-button=naked
|
|
705
705
|
title="reset to default"
|
|
706
|
-
@click=${
|
|
707
|
-
${
|
|
706
|
+
@click=${u}>
|
|
707
|
+
${rm}
|
|
708
708
|
</button>
|
|
709
709
|
`}
|
|
710
710
|
</div>
|
|
711
|
-
`});var
|
|
711
|
+
`});var Zd=Ei((o,t,e)=>{if(!k0(t))return I`
|
|
712
712
|
<div class=null>unset</div>
|
|
713
|
-
`;if(
|
|
713
|
+
`;if(Mf(t))return I`
|
|
714
714
|
<div class=number>
|
|
715
715
|
<input
|
|
716
716
|
type=number
|
|
717
717
|
step=any
|
|
718
718
|
theme-input
|
|
719
719
|
.value="${t}"
|
|
720
|
-
?readonly="${
|
|
721
|
-
@change="${
|
|
720
|
+
?readonly="${o}"
|
|
721
|
+
@change="${s=>{let n=s.currentTarget.valueAsNumber;Number.isFinite(n)&&e(n)}}"
|
|
722
722
|
/>
|
|
723
723
|
</div>
|
|
724
|
-
`;if(
|
|
724
|
+
`;if(Of(t))return I`
|
|
725
725
|
<input
|
|
726
726
|
type=text
|
|
727
727
|
theme-input
|
|
728
728
|
.value="${t}"
|
|
729
|
-
?readonly="${
|
|
730
|
-
@change="${
|
|
731
|
-
`;if(
|
|
729
|
+
?readonly="${o}"
|
|
730
|
+
@change="${s=>{let n=s.currentTarget.value;e(n)}}"/>
|
|
731
|
+
`;if(Uu(t))return t[0]==="mod"?I`
|
|
732
732
|
<div class="bracket mod">
|
|
733
733
|
${t.slice(1).length===0?"unmodified":t.slice(1).join("+")}
|
|
734
734
|
|
|
735
|
-
${!
|
|
735
|
+
${!o&&t.slice(1).length>0?I`
|
|
736
736
|
<button
|
|
737
737
|
theme-button=naked
|
|
738
738
|
@click="${()=>e([t[0]])}">
|
|
739
|
-
${
|
|
739
|
+
${S1}
|
|
740
740
|
</button>
|
|
741
741
|
`:null}
|
|
742
742
|
</div>
|
|
743
|
-
`:
|
|
743
|
+
`:I`
|
|
744
744
|
<div class=bracket>
|
|
745
|
-
${t[0]==="*"?null:
|
|
745
|
+
${t[0]==="*"?null:I`
|
|
746
746
|
<strong>${t[0]}</strong>
|
|
747
747
|
`}
|
|
748
|
-
${t.slice(1).map((
|
|
748
|
+
${t.slice(1).map((s,r)=>Zd(o,s??null,n=>{let c=structuredClone(t);c[r+1]=n,e(c)}))}
|
|
749
749
|
</div>
|
|
750
|
-
`;throw new Error("unknown expression")});function
|
|
750
|
+
`;throw new Error("unknown expression")});function L1(o,t,e,s){return mf(t)?Zd(o,t,s):Object.entries(t).map(([r,n])=>mf(n)?_3(o,t,e,s,r):k3(o,t,e,s,r))}function k3(o,t,e,s,r){return I`
|
|
751
751
|
<details class=group open>
|
|
752
|
-
<summary>${
|
|
752
|
+
<summary>${r}</summary>
|
|
753
753
|
<div class=children>
|
|
754
|
-
${
|
|
754
|
+
${L1(o,t[r],e[r],n=>s({...t,[r]:n}))}
|
|
755
755
|
</div>
|
|
756
756
|
</details>
|
|
757
|
-
`}function
|
|
757
|
+
`}function _3(o,t,e,s,r){let n=i=>s({...t,[r]:i});return I`
|
|
758
758
|
<div class=expression>
|
|
759
|
-
<strong>${
|
|
760
|
-
${
|
|
759
|
+
<strong>${r}</strong>
|
|
760
|
+
${fm(o,n,()=>n(e[r]),L1(o,t[r],e[r],n))}
|
|
761
761
|
</div>
|
|
762
|
-
`}var[
|
|
762
|
+
`}var[um,vm]=b2(o=>{n2(w2,em);let{controls:t,controls:{profiles:e}}=o,s=u2(t.fallbackProfileKey),r=e.get(s()),n=e.isPreset(s()),c=r.basedOn?e.get(r.basedOn):r,i=async m=>{let $=s();if(e.isPreset($)){let H=$,ht=Yd();$=ht,await e.clone(ht,H)}await e.update($,{bindings:m}),s($)},a=(m,$)=>e.update(m,{label:$}),u=()=>{let m=Yd();e.clone(m,s()),s.set(m)},v=()=>{e.delete(s()),s(t.fallbackProfileKey)};return I`
|
|
763
763
|
<div class=plate theme-card>
|
|
764
764
|
<header class=topbar>
|
|
765
765
|
<div class=corner>
|
|
766
|
-
${
|
|
766
|
+
${$1(o,s(),s)}
|
|
767
767
|
|
|
768
|
-
<button title="copy this profile" theme-button=naked @click="${
|
|
769
|
-
${
|
|
768
|
+
<button title="copy this profile" theme-button=naked @click="${u}">
|
|
769
|
+
${om}
|
|
770
770
|
</button>
|
|
771
771
|
|
|
772
|
-
${n?null:
|
|
773
|
-
<button title="delete this profile" theme-button=naked @click="${
|
|
774
|
-
${
|
|
772
|
+
${n?null:I`
|
|
773
|
+
<button title="delete this profile" theme-button=naked @click="${v}">
|
|
774
|
+
${nm}
|
|
775
775
|
</button>
|
|
776
776
|
`}
|
|
777
777
|
|
|
778
|
-
${
|
|
779
|
-
${
|
|
778
|
+
${If(n,()=>I`<small>readonly</small>`)}
|
|
779
|
+
${Ru(r.basedOn,m=>I`<small>based on ${e.get(m).label}</small>`)}
|
|
780
780
|
</div>
|
|
781
781
|
|
|
782
782
|
<div class=tools>
|
|
783
|
-
${n?null:
|
|
783
|
+
${n?null:I`
|
|
784
784
|
<input
|
|
785
785
|
type=text
|
|
786
786
|
theme-input
|
|
787
|
-
.value="${
|
|
788
|
-
@change="${
|
|
787
|
+
.value="${r.label}"
|
|
788
|
+
@change="${m=>{let $=m.currentTarget;a(s(),$.value)}}"
|
|
789
789
|
/>
|
|
790
790
|
`}
|
|
791
791
|
</div>
|
|
792
792
|
</header>
|
|
793
793
|
|
|
794
794
|
<div class=bindings>
|
|
795
|
-
${
|
|
795
|
+
${L1(!1,r.bindings,c.bindings,i)}
|
|
796
796
|
</div>
|
|
797
797
|
</div>
|
|
798
|
-
`});var[
|
|
798
|
+
`});var[vS,dm]=b2(o=>{n2(w2,Kh);let t={slot:"panel"},e=ne(()=>new qf);return ne(()=>{window.location.hash.includes("bindings")&&e.setIndex(1)}),I`
|
|
799
799
|
<div class=deck theme-card>
|
|
800
|
-
${
|
|
800
|
+
${qh.with({props:[{control:e}],children:I`
|
|
801
801
|
<button theme-button>
|
|
802
|
-
${
|
|
802
|
+
${Kf}
|
|
803
803
|
<span>controllers</span>
|
|
804
804
|
</button>
|
|
805
805
|
|
|
806
806
|
<button theme-button>
|
|
807
|
-
${
|
|
807
|
+
${Wh}
|
|
808
808
|
<span>customize</span>
|
|
809
809
|
</button>
|
|
810
810
|
|
|
811
|
-
${
|
|
812
|
-
${
|
|
811
|
+
${Qh.with({attrs:t,props:[o]})}
|
|
812
|
+
${um.with({attrs:t,props:[o]})}
|
|
813
813
|
`})}
|
|
814
814
|
</div>
|
|
815
|
-
`});var
|
|
815
|
+
`});var pm=ee`@layer view {
|
|
816
816
|
|
|
817
817
|
:host {
|
|
818
818
|
display: block;
|
|
@@ -833,9 +833,9 @@ output {
|
|
|
833
833
|
text-overflow: ellipsis;
|
|
834
834
|
}
|
|
835
835
|
|
|
836
|
-
}`;var[
|
|
836
|
+
}`;var[yS,hm]=b2(o=>(n2(w2,pm),I`
|
|
837
837
|
<slot></slot>
|
|
838
|
-
<output class=viz>${
|
|
839
|
-
`));var
|
|
838
|
+
<output class=viz>${o.$hex()}</output>
|
|
839
|
+
`));var mm=mt`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-Devices"><path d="M10 15H4V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2"/><path d="M2 18h12"/><path d="M14 9.2c0-.663.597-1.2 1.333-1.2h5.334C21.403 8 22 8.537 22 9.2v9.6c0 .663-.597 1.2-1.333 1.2h-5.334C14.597 20 14 19.463 14 18.8V9.2z"/><path d="M18 17h.01"/></svg>`;async function xm(o){let{dispose:t,schedule:e,disposable:s}=J0(),r=s(await jh(o)),n=p1(r.controls.presets),c=new k1,i={TactDeck:dm(r),TactCustomize:vm(r),TactControllers:tm(r),TactVisualizer:hm(c)};function a(m){let $=Uh(r.hub,(H,ht)=>{let bt=`${ht.pad.gamepad.id} ${ht.pad.gamepad.index+1}`;return r.controls.attach(H,{icon:Kf,handle:bt,tooltip:bt,name:Rh(bt,32),defaultProfileKey:m??n.key}),()=>r.controls.detach(H)});return e($),$}function u(){let{key:m,profile:$}=n,H=s(new Vf({bindings:$.bindings,source:s(new w1(s(new A1),s(new _1)))}));return r.hub.plug(H),r.controls.attach(H,{icon:mm,handle:"standard",name:"mouse/keyboard",tooltip:"",defaultProfileKey:m}),e(()=>{r.hub.remove(H),r.controls.detach(H)}),H}function v(){wu(i)}return{deck:r,gamepads:a,mouseKeyboard:u,visualizer:c,elements:i,registerElements:v,encodeAll:r.hub.encodeAll.bind(r.hub),dispose:t}}var yu=await xm({presets:vh,maxPlayers:4});yu.mouseKeyboard();yu.gamepads("gamer");yu.registerElements();Pf(async()=>{let o=yu.deck.hub.encodeAll();yu.visualizer.update(o),await jf(1e3/60)});{let o=xt('input[type="color"]');o.value="#ffbb00",o.oninput=()=>document.body.style.setProperty("--tact-prime",o.value)}
|
|
840
840
|
/*! For license information please see main.bundle.min.js.LEGAL.txt */
|
|
841
841
|
//# sourceMappingURL=main.bundle.min.js.map
|