@benev/tact 0.4.0-6 → 0.4.0-8

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.
Files changed (82) hide show
  1. package/README.md +95 -26
  2. package/package.json +3 -2
  3. package/s/lib/input/controller.ts +4 -1
  4. package/s/lib/input/data/intent/decode.ts +2 -2
  5. package/s/lib/input/data/intent/encode.ts +2 -2
  6. package/s/lib/input/data/intent/minihash.ts +5 -0
  7. package/s/lib/input/decoder.ts +2 -2
  8. package/s/lib/input/evaluate/context.ts +5 -1
  9. package/s/lib/input/evaluate/evaluate.ts +27 -14
  10. package/s/lib/input/investigate/hash-bindings.ts +5 -3
  11. package/s/lib/input/investigate/investigate.ts +24 -9
  12. package/s/lib/input/test.ts +52 -30
  13. package/s/lib/input/testing/quickbind.ts +3 -3
  14. package/s/lib/ui/deck/auto-gamepads.ts +1 -0
  15. package/s/lib/ui/deck/collector.ts +3 -3
  16. package/s/lib/ui/deck/hub.ts +4 -3
  17. package/s/lib/ui/deck/setup/deck.ts +33 -20
  18. package/s/lib/ui/deck/setup/tact.ts +20 -11
  19. package/s/lib/ui/deck/setup/types.ts +1 -0
  20. package/s/lib/ui/deck/setup/utils/broadcast-channel.ts +17 -0
  21. package/s/lib/ui/deck/setup/utils/kv.ts +20 -0
  22. package/s/lib/ui/deck/types.ts +1 -1
  23. package/s/lib/ui/views/customize/view.ts +3 -3
  24. package/s/lib/utils/hash.ts +47 -0
  25. package/x/demo/main.bundle.min.js +104 -104
  26. package/x/demo/main.bundle.min.js.map +4 -4
  27. package/x/gamepad/index.html +1 -1
  28. package/x/index.html +2 -2
  29. package/x/lib/input/controller.js +1 -1
  30. package/x/lib/input/controller.js.map +1 -1
  31. package/x/lib/input/data/intent/decode.d.ts +1 -1
  32. package/x/lib/input/data/intent/decode.js +2 -2
  33. package/x/lib/input/data/intent/decode.js.map +1 -1
  34. package/x/lib/input/data/intent/encode.d.ts +1 -1
  35. package/x/lib/input/data/intent/encode.js +2 -2
  36. package/x/lib/input/data/intent/encode.js.map +1 -1
  37. package/x/lib/input/data/intent/minihash.d.ts +1 -0
  38. package/x/lib/input/data/intent/minihash.js +4 -0
  39. package/x/lib/input/data/intent/minihash.js.map +1 -0
  40. package/x/lib/input/decoder.d.ts +1 -1
  41. package/x/lib/input/decoder.js +2 -2
  42. package/x/lib/input/decoder.js.map +1 -1
  43. package/x/lib/input/evaluate/context.d.ts +3 -1
  44. package/x/lib/input/evaluate/context.js.map +1 -1
  45. package/x/lib/input/evaluate/evaluate.js +24 -11
  46. package/x/lib/input/evaluate/evaluate.js.map +1 -1
  47. package/x/lib/input/investigate/hash-bindings.d.ts +1 -1
  48. package/x/lib/input/investigate/hash-bindings.js +5 -3
  49. package/x/lib/input/investigate/hash-bindings.js.map +1 -1
  50. package/x/lib/input/investigate/investigate.d.ts +2 -1
  51. package/x/lib/input/investigate/investigate.js +14 -9
  52. package/x/lib/input/investigate/investigate.js.map +1 -1
  53. package/x/lib/input/test.d.ts +4 -2
  54. package/x/lib/input/test.js +49 -22
  55. package/x/lib/input/test.js.map +1 -1
  56. package/x/lib/input/testing/quickbind.d.ts +3 -2
  57. package/x/lib/input/testing/quickbind.js +3 -3
  58. package/x/lib/input/testing/quickbind.js.map +1 -1
  59. package/x/lib/ui/deck/auto-gamepads.js +1 -0
  60. package/x/lib/ui/deck/auto-gamepads.js.map +1 -1
  61. package/x/lib/ui/deck/collector.js +2 -2
  62. package/x/lib/ui/deck/collector.js.map +1 -1
  63. package/x/lib/ui/deck/hub.js +4 -3
  64. package/x/lib/ui/deck/hub.js.map +1 -1
  65. package/x/lib/ui/deck/setup/deck.js +23 -13
  66. package/x/lib/ui/deck/setup/deck.js.map +1 -1
  67. package/x/lib/ui/deck/setup/tact.d.ts +2 -2
  68. package/x/lib/ui/deck/setup/tact.js +15 -8
  69. package/x/lib/ui/deck/setup/tact.js.map +1 -1
  70. package/x/lib/ui/deck/setup/types.d.ts +1 -0
  71. package/x/lib/ui/deck/setup/utils/broadcast-channel.d.ts +4 -0
  72. package/x/lib/ui/deck/setup/utils/broadcast-channel.js +10 -0
  73. package/x/lib/ui/deck/setup/utils/broadcast-channel.js.map +1 -0
  74. package/x/lib/ui/deck/setup/utils/kv.d.ts +5 -0
  75. package/x/lib/ui/deck/setup/utils/kv.js +12 -0
  76. package/x/lib/ui/deck/setup/utils/kv.js.map +1 -0
  77. package/x/lib/ui/deck/types.d.ts +1 -0
  78. package/x/lib/ui/views/customize/view.js +3 -3
  79. package/x/lib/ui/views/customize/view.js.map +1 -1
  80. package/x/lib/utils/hash.d.ts +1 -0
  81. package/x/lib/utils/hash.js +47 -0
  82. package/x/lib/utils/hash.js.map +1 -0
@@ -1,6 +1,6 @@
1
- var zs=Object.defineProperty;var Os=(r,t)=>{for(var e in t)zs(r,e,{get:t[e],enumerable:!0})};function Or(r){return r.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase()}function ee(r,t={}){let{soft:e=!1,upgrade:o=!0}=t;for(let[s,n]of Object.entries(r)){let i=Or(s),a=customElements.get(i);e&&a||(customElements.define(i,n),o&&document.querySelectorAll(i).forEach(c=>{c.constructor===HTMLElement&&customElements.upgrade(c)}))}}var re=globalThis,oe=re.ShadowRoot&&(re.ShadyCSS===void 0||re.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ir=Symbol(),Tr=new WeakMap,Dt=class{constructor(t,e,o){if(this._$cssResult$=!0,o!==ir)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(oe&&t===void 0){let o=e!==void 0&&e.length===1;o&&(t=Tr.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),o&&Tr.set(e,t))}return t}toString(){return this.cssText}},Br=r=>new Dt(typeof r=="string"?r:r+"",void 0,ir),b=(r,...t)=>{let e=r.length===1?r[0]:t.reduce((o,s,n)=>o+(i=>{if(i._$cssResult$===!0)return i.cssText;if(typeof i=="number")return i;throw Error("Value passed to 'css' function must be a 'css' function result: "+i+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+r[n+1],r[0]);return new Dt(e,r,ir)},se=(r,t)=>{if(oe)r.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let o=document.createElement("style"),s=re.litNonce;s!==void 0&&o.setAttribute("nonce",s),o.textContent=e.cssText,r.appendChild(o)}},dt=oe?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(let o of t.cssRules)e+=o.cssText;return Br(e)})(r):r;var{is:Ts,defineProperty:Bs,getOwnPropertyDescriptor:Ds,getOwnPropertyNames:Is,getOwnPropertySymbols:Ls,getPrototypeOf:js}=Object,ne=globalThis,Dr=ne.trustedTypes,Rs=Dr?Dr.emptyScript:"",Hs=ne.reactiveElementPolyfillSupport,It=(r,t)=>r,ar={toAttribute(r,t){switch(t){case Boolean:r=r?Rs:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},Lr=(r,t)=>!Ts(r,t),Ir={attribute:!0,type:String,converter:ar,reflect:!1,useDefault:!1,hasChanged:Lr};Symbol.metadata??=Symbol("metadata"),ne.litPropertyMetadata??=new WeakMap;var R=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=Ir){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 o=Symbol(),s=this.getPropertyDescriptor(t,o,e);s!==void 0&&Bs(this.prototype,t,s)}}static getPropertyDescriptor(t,e,o){let{get:s,set:n}=Ds(this.prototype,t)??{get(){return this[e]},set(i){this[e]=i}};return{get:s,set(i){let a=s?.call(this);n?.call(this,i),this.requestUpdate(t,a,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Ir}static _$Ei(){if(this.hasOwnProperty(It("elementProperties")))return;let t=js(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(It("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(It("properties"))){let e=this.properties,o=[...Is(e),...Ls(e)];for(let s of o)this.createProperty(s,e[s])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[o,s]of e)this.elementProperties.set(o,s)}this._$Eh=new Map;for(let[e,o]of this.elementProperties){let s=this._$Eu(e,o);s!==void 0&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let o=new Set(t.flat(1/0).reverse());for(let s of o)e.unshift(dt(s))}else t!==void 0&&e.push(dt(t));return e}static _$Eu(t,e){let o=e.attribute;return o===!1?void 0:typeof o=="string"?o: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 o of e.keys())this.hasOwnProperty(o)&&(t.set(o,this[o]),delete this[o]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return se(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,o){this._$AK(t,o)}_$ET(t,e){let o=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,o);if(s!==void 0&&o.reflect===!0){let n=(o.converter?.toAttribute!==void 0?o.converter:ar).toAttribute(e,o.type);this._$Em=t,n==null?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){let o=this.constructor,s=o._$Eh.get(t);if(s!==void 0&&this._$Em!==s){let n=o.getPropertyOptions(s),i=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:ar;this._$Em=s;let a=i.fromAttribute(e,n.type);this[s]=a??this._$Ej?.get(s)??a,this._$Em=null}}requestUpdate(t,e,o,s=!1,n){if(t!==void 0){let i=this.constructor;if(s===!1&&(n=this[t]),o??=i.getPropertyOptions(t),!((o.hasChanged??Lr)(n,e)||o.useDefault&&o.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,o))))return;this.C(t,e,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:o,reflect:s,wrapped:n},i){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,i??e??this[t]),n!==!0||i!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(e=void 0),this._$AL.set(t,e)),s===!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[s,n]of this._$Ep)this[s]=n;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[s,n]of o){let{wrapped:i}=n,a=this[s];i!==!0||this._$AL.has(s)||a===void 0||this.C(s,void 0,n,a)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(e)):this._$EM()}catch(o){throw t=!1,this._$EM(),o}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){}};R.elementStyles=[],R.shadowRootOptions={mode:"open"},R[It("elementProperties")]=new Map,R[It("finalized")]=new Map,Hs?.({ReactiveElement:R}),(ne.reactiveElementVersions??=[]).push("2.1.2");var lr=globalThis,jr=r=>r,ie=lr.trustedTypes,Rr=ie?ie.createPolicy("lit-html",{createHTML:r=>r}):void 0,ur="$lit$",H=`lit$${Math.random().toFixed(9).slice(2)}$`,pr="?"+H,Ns=`<${pr}>`,ot=document,jt=()=>ot.createComment(""),Rt=r=>r===null||typeof r!="object"&&typeof r!="function",hr=Array.isArray,Wr=r=>hr(r)||typeof r?.[Symbol.iterator]=="function",cr=`[
2
- \f\r]`,Lt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Hr=/-->/g,Nr=/>/g,et=RegExp(`>|${cr}(?:([^\\s"'>=/]+)(${cr}*=${cr}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Vr=/'/g,Ur=/"/g,Fr=/^(?:script|style|textarea|title)$/i,dr=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),h=dr(1),f=dr(2),jn=dr(3),st=Symbol.for("lit-noChange"),y=Symbol.for("lit-nothing"),qr=new WeakMap,rt=ot.createTreeWalker(ot,129);function Gr(r,t){if(!hr(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return Rr!==void 0?Rr.createHTML(t):t}var Kr=(r,t)=>{let e=r.length-1,o=[],s,n=t===2?"<svg>":t===3?"<math>":"",i=Lt;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===Lt?p[1]==="!--"?i=Hr:p[1]!==void 0?i=Nr:p[2]!==void 0?(Fr.test(p[2])&&(s=RegExp("</"+p[2],"g")),i=et):p[3]!==void 0&&(i=et):i===et?p[0]===">"?(i=s??Lt,u=-1):p[1]===void 0?u=-2:(u=i.lastIndex-p[2].length,l=p[1],i=p[3]===void 0?et:p[3]==='"'?Ur:Vr):i===Ur||i===Vr?i=et:i===Hr||i===Nr?i=Lt:(i=et,s=void 0);let _=i===et&&r[a+1].startsWith("/>")?" ":"";n+=i===Lt?c+Ns:u>=0?(o.push(l),c.slice(0,u)+ur+c.slice(u)+H+_):c+H+(u===-2?a:_)}return[Gr(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),o]},Ht=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]=Kr(t,e);if(this.el=r.createElement(l,o),rt.currentNode=this.el.content,e===2||e===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(s=rt.nextNode())!==null&&c.length<a;){if(s.nodeType===1){if(s.hasAttributes())for(let u of s.getAttributeNames())if(u.endsWith(ur)){let d=p[i++],_=s.getAttribute(u).split(H),tt=/([.?@])?(.*)/.exec(d);c.push({type:1,index:n,name:tt[2],strings:_,ctor:tt[1]==="."?ce:tt[1]==="?"?le:tt[1]==="@"?ue:it}),s.removeAttribute(u)}else u.startsWith(H)&&(c.push({type:6,index:n}),s.removeAttribute(u));if(Fr.test(s.tagName)){let u=s.textContent.split(H),d=u.length-1;if(d>0){s.textContent=ie?ie.emptyScript:"";for(let _=0;_<d;_++)s.append(u[_],jt()),rt.nextNode(),c.push({type:2,index:++n});s.append(u[d],jt())}}}else if(s.nodeType===8)if(s.data===pr)c.push({type:2,index:n});else{let u=-1;for(;(u=s.data.indexOf(H,u+1))!==-1;)c.push({type:7,index:n}),u+=H.length-1}n++}}static createElement(t,e){let o=ot.createElement("template");return o.innerHTML=t,o}};function nt(r,t,e=r,o){if(t===st)return t;let s=o!==void 0?e._$Co?.[o]:e._$Cl,n=Rt(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=nt(r,s._$AS(r,t.values),s,o)),t}var ae=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??ot).importNode(e,!0);rt.currentNode=s;let n=rt.nextNode(),i=0,a=0,c=o[0];for(;c!==void 0;){if(i===c.index){let l;c.type===2?l=new mt(n,n.nextSibling,this,t):c.type===1?l=new c.ctor(n,c.name,c.strings,this,t):c.type===6&&(l=new pe(n,this,t)),this._$AV.push(l),c=o[++a]}i!==c?.index&&(n=rt.nextNode(),i++)}return rt.currentNode=ot,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++}},mt=class r{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,o,s){this.type=2,this._$AH=y,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=nt(this,t,e),Rt(t)?t===y||t==null||t===""?(this._$AH!==y&&this._$AR(),this._$AH=y):t!==this._$AH&&t!==st&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Wr(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!==y&&Rt(this._$AH)?this._$AA.nextSibling.data=t:this.T(ot.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=Ht.createElement(Gr(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===s)this._$AH.p(e);else{let n=new ae(s,this),i=n.u(this.options);n.p(e),this.T(i),this._$AH=n}}_$AC(t){let e=qr.get(t.strings);return e===void 0&&qr.set(t.strings,e=new Ht(t)),e}k(t){hr(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(jt()),this.O(jt()),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))}},it=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,o,s,n){this.type=1,this._$AH=y,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=y}_$AI(t,e=this,o,s){let n=this.strings,i=!1;if(n===void 0)t=nt(this,t,e,0),i=!Rt(t)||t!==this._$AH&&t!==st,i&&(this._$AH=t);else{let a=t,c,l;for(t=n[0],c=0;c<n.length-1;c++)l=nt(this,a[o+c],e,c),l===st&&(l=this._$AH[c]),i||=!Rt(l)||l!==this._$AH[c],l===y?t=y:t!==y&&(t+=(l??"")+n[c+1]),this._$AH[c]=l}i&&!s&&this.j(t)}j(t){t===y?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},ce=class extends it{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===y?void 0:t}},le=class extends it{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==y)}},ue=class extends it{constructor(t,e,o,s,n){super(t,e,o,s,n),this.type=5}_$AI(t,e=this){if((t=nt(this,t,e,0)??y)===st)return;let o=this._$AH,s=t===y&&o!==y||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,n=t!==y&&(o===y||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)}},pe=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){nt(this,t)}},Jr={M:ur,P:H,A:pr,C:1,L:Kr,R:ae,D:Wr,V:nt,I:mt,H:it,N:le,U:ue,B:ce,F:pe},Vs=lr.litHtmlPolyfillSupport;Vs?.(Ht,mt),(lr.litHtmlVersions??=[]).push("3.3.3");var x=(r,t,e)=>{let o=e?.renderBefore??t,s=o._$litPart$;if(s===void 0){let n=e?.renderBefore??null;o._$litPart$=s=new mt(t.insertBefore(jt(),n),n,void 0,e??{})}return s._$AI(r),s};var mr=globalThis,ft=class extends R{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=x(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return st}};ft._$litElement$=!0,ft.finalized=!0,mr.litElementHydrateSupport?.({LitElement:ft});var Us=mr.litElementPolyfillSupport;Us?.({LitElement:ft});(mr.litElementVersions??=[]).push("4.2.2");var z={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},$={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)$.any(r,e,o)},record:(r,t)=>$.entries(r,Object.entries(t))};function Zr(r,t={}){let e=document.createElement(r);return $.record(e,t),e}function Qr(r){let t=document.createDocumentFragment();return x(r,t),t.firstElementChild}function he(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 Xr(r,t){let e=new MutationObserver(t);return e.observe(r,{attributes:!0}),()=>e.disconnect()}var de=class{element;constructor(t){this.element=t}strings=new Proxy({},{get:(t,e)=>z.string(this.element,e),set:(t,e,o)=>$.string(this.element,e,o)});numbers=new Proxy({},{get:(t,e)=>z.number(this.element,e),set:(t,e,o)=>$.number(this.element,e,o)});booleans=new Proxy({},{get:(t,e)=>z.boolean(this.element,e),set:(t,e,o)=>$.boolean(this.element,e,o)})};var Yr=(r,t,e={})=>new Proxy(t,{get:(o,s)=>{switch(t[s]){case String:return z.string(r,s);case Number:return z.number(r,s);case Boolean:return z.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 $.string(r,s,n);case Number:return $.number(r,s,n);case Boolean:return $.boolean(r,s,n);default:throw new Error(`invalid attribute type for "${s}"`)}}finally{e.afterSet?.(s)}}});function gt(r){let t=new de(r);return{strings:t.strings,numbers:t.numbers,booleans:t.booleans,on:e=>Xr(r,e),spec:(e,o={})=>Yr(r,e,o)}}gt.get=z;gt.set=$;function to(r){return new fr(r)}var fr=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 $.entries(t,this.#t),t.append(...this.#e),t}};function bt(r,t=document){let e=t.querySelector(r);if(!e)throw new Error(`element not found (${r})`);return e}function me(r,t=document){return t.querySelector(r)}function fe(r,t=document){return Array.from(t.querySelectorAll(r))}var ge=class r{element;#t;constructor(t){this.element=t}in(t){return new r(typeof t=="string"?bt(t,this.element):t)}require(t){return bt(t,this.element)}maybe(t){return me(t,this.element)}all(t){return fe(t,this.element)}render(...t){return x(t,this.element)}get attrs(){return this.#t??=gt(this.element)}events(t){return he(this.element,t)}};function g(r,t=document){return bt(r,t)}g.in=(r,t=document)=>new ge(t).in(r);g.need=bt;g.maybe=me;g.all=fe;g.el=Zr;g.elmer=to;g.mk=Qr;g.events=he;g.attrs=gt;g.register=ee;g.render=(r,...t)=>x(t,r);var ke={};Os(ke,{DragAndDrops:()=>vr,Drops:()=>$r,files:()=>Xs,hasFiles:()=>Qs,outsideCurrentTarget:()=>Wt});var eo=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 v=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 _=this.lookup[d];if(_===void 0)throw new Error(`Invalid character: ${d}`);for(l=l<<e|_,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(eo.random(t))}countBytes(t){let e=0;for(;t>0n;)e++,t=t/256n;return e}};var be=new v(v.lexicons.hex),qi=new v(v.lexicons.base2),Wi=new v(v.lexicons.base36),Fi=new v(v.lexicons.base58),Gi=new v(v.lexicons.base62),Ki=new v(v.lexicons.base64),Ji=new v(v.lexicons.base64url);function ro(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 at(){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 xt(r){let t=null;return((...e)=>(t?t.params=e:(t={params:e,deferred:at()},queueMicrotask(()=>{let{params:o,deferred:s}=t;t=null,Promise.resolve(r(...o)).then(s.resolve).catch(s.reject)})),t.deferred.promise))}function O(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=>O(o,new Set(t))):r.constructor===Object?e=Object.fromEntries(Object.entries(r).map(([o,s])=>[o,O(s,new Set(t))])):r instanceof Map?e=new Map(Array.from(r,([o,s])=>[o,O(s,new Set(t))])):r instanceof Set?e=new Set(Array.from(r,o=>O(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 wt=r=>typeof r=="number",yt=r=>typeof r=="string";var Nt=r=>typeof r=="object"&&r!==null,xe=r=>Array.isArray(r);function qs(r){return r!=null}function Ws(r){return r==null}var ra=Object.freeze({happy:qs,sad:Ws,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 oo=(r,t)=>{function e(o,s,n){if(!Nt(o)||!Nt(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 ct(r){function t(e,o){if(!Nt(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 so(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 no(r){if(r.ok)throw new Error("didn't get needed error");return r.error}var Fs=new TextEncoder;function gr(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 Gs(r){let t=2166136261;for(let e of Fs.encode(r))t^=e,t=Math.imul(t,16777619);return gr(t)}function io(...r){let t=2654435769;for(let e of r){let o=typeof e=="string"?Gs(e):e>>>0;t=t+1831565813>>>0,t^=gr(o),t=gr(t)}return t}function k(r,t="got failed"){if(r==null)throw new Error(t);return r}function N(r,t,e){if(r.has(t))return r.get(t);{let o=e();return r.set(t,o),o}}function Vt(r,t){for(let[e,o]of t)r.set(e,o);return r}function we(r,t){return t<=0?[]:r.length>t?r.slice(-t):r}async function br(r){let t=[];for await(let e of r)t.push(e);return t}function vt(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 W(){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 C(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 $t=class{count;constructor(t=0){this.count=t}next(){return this.count++}};var kt=(r=0)=>new Promise(t=>setTimeout(t,r));var xr=(r,t)=>Object.fromEntries(Object.entries(r).map(([e,o])=>[e,t(o,e)])),Ks=(r,t)=>Object.fromEntries(Object.entries(r).filter(([e,o])=>t(o,e)));function Js(r){return{map:t=>ao(r,t),filter:t=>co(r,t)}}Js.pipe=Object.freeze({map:r=>(t=>ao(t,r)),filter:r=>(t=>co(t,r))});var ao=xr,co=Ks;function F(r){let t=Zs(),e=o=>t.on(o);return Object.assign(e,t),r&&t.on(r),e}function Zs(){let r=new Set,t,e=()=>t??=at(),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 G(r,...t){let e=r.length-1;return r.slice(0,e).reduce((o,s,n)=>o+s+t[n],"")+r[e]}function St(r,t,e){return r?t():e?.()}function ye(r,t,e){return E(r)?t(r):e?.()}var ve=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=N(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 ve;function S(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??=F())(o),e}var M=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 Ut=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 Xa=m.batch;function uo(r){return ct(O(r))}var T=Symbol("optic");var qt=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 $e=class r{[T];#t;#e;#o;#r=F();constructor(t){this[T]=t,this.#t=O(t.getState()),this.#e=new qt(()=>O(t.getState())),this.#o=new qt(()=>uo(t.getState()))}get on(){return this.#r.on}update(){let t=this[T].getState();!oo(t,this.#t)&&(this.#e.invalidate(),this.#o.invalidate(),this.#t=O(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[T].mutate(t)}lens(t){let e=new r({getState:()=>t(this[T].getState()),mutate:o=>this[T].mutate(s=>o(t(s))),registerLens:this[T].registerLens});return this[T].registerLens(e),e}};function po(r){if(!r.done)throw new Error("wait not done");return so(r)}function ho(r){if(!r.done)throw new Error("wait not done");return no(r)}var mo=r=>!r.done;var yr=r=>r.done&&r.ok;function fo(r,t){let{pending:e=()=>{},ok:o=()=>{},err:s=()=>{}}=t;return mo(r)?e():yr(r)?o(po(r)):s(ho(r))}function Qs(r){return!!(r.dataTransfer&&r.dataTransfer.types.includes("Files"))}function Xs(r){return r.dataTransfer?Array.from(r.dataTransfer.files):[]}function Wt(r){let t=r.currentTarget,e=r.relatedTarget;return!t||!e||!t.contains(e)}var vr=class{params;$draggy=S(void 0);$droppy=S(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=>{Wt(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 $r=class{params;$indicator=S(!1);constructor(t){this.params=t}dragover=t=>{t.preventDefault(),this.$indicator(this.params.predicate(t))};dragleave=t=>{Wt(t)&&this.$indicator(!1)};drop=t=>{t.preventDefault(),this.$indicator(!1),this.params.predicate(t)&&this.params.acceptDrop(t)}};var At=b`
1
+ var gm=Object.defineProperty;var bm=(o,t)=>{for(var e in t)gm(o,e,{get:t[e],enumerable:!0})};function vh(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=vh(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(),dh=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=dh.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&dh.set(e,t))}return t}toString(){return this.cssText}},hh=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 hh(e)})(o):o;var{is:ym,defineProperty:wm,getOwnPropertyDescriptor:km,getOwnPropertyNames:_m,getOwnPropertySymbols:Am,getPrototypeOf:Sm}=Object,Su=globalThis,ph=Su.trustedTypes,$m=ph?ph.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}},xh=(o,t)=>!ym(o,t),mh={attribute:!0,type:String,converter:Ad,reflect:!1,useDefault:!1,hasChanged:xh};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=mh){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)??mh}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??xh)(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,gh=o=>o,$u=$d.trustedTypes,bh=$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,Sh=o=>Md(o)||typeof o?.[Symbol.iterator]=="function",Sd=`[
2
+ \f\r]`,nu=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,yh=/-->/g,wh=/>/g,cf=RegExp(`>|${Sd}(?:([^\\s"'>=/]+)(${Sd}*=${Sd}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),kh=/'/g,_h=/"/g,$h=/^(?: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"),Ah=new WeakMap,af=lf.createTreeWalker(lf,129);function Eh(o,t){if(!Md(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return bh!==void 0?bh.createHTML(t):t}var Lh=(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=yh:v[1]!==void 0?c=wh:v[2]!==void 0?($h.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]==='"'?_h:kh):c===_h||c===kh?c=cf:c===yh||c===wh?c=nu:(c=cf,r=void 0);let D=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+D):a+f2+(m===-2?i:D)}return[Eh(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]=Lh(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++],D=r.getAttribute(m).split(f2),pt=/([.?@])?(.*)/.exec($);a.push({type:1,index:n,name:pt[2],strings:D,ctor:pt[1]==="."?Lu:pt[1]==="?"?Mu:pt[1]==="@"?Ou:vf}),r.removeAttribute(m)}else m.startsWith(f2)&&(a.push({type:6,index:n}),r.removeAttribute(m));if($h.test(r.tagName)){let m=r.textContent.split(f2),$=m.length-1;if($>0){r.textContent=$u?$u.emptyScript:"";for(let D=0;D<$;D++)r.append(m[D],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):Sh(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(Eh(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=Ah.get(t.strings);return e===void 0&&Ah.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=gh(t).nextSibling;gh(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)}},Mh={M:Ed,P:f2,A:Ld,C:1,L:Lh,R:Eu,D:Sh,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 Oh(o,t={}){let e=document.createElement(o);return oo.record(e,t),e}function Bh(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 Ph(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 Ch=(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=>Ph(o,e),spec:(e,s={})=>Ch(o,e,s)}}Sf.get=Qa;Sf.set=oo;function jh(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=Oh;xt.elmer=jh;xt.mk=Bh;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 Ih=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 D=this.lookup[$];if(D===void 0)throw new Error(`Invalid character: ${$}`);for(u=u<<e|D,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(Ih.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),H4=new Oe(Oe.lexicons.base58),D4=new Oe(Oe.lexicons.base62),V4=new Oe(Oe.lexicons.base64),N4=new Oe(Oe.lexicons.base64url);var zh=o=>new TextDecoder().decode(o),Bm=o=>new TextEncoder().encode(o);function Tu(o){return zh(o)}Tu.fromBytes=zh;Tu.toBytes=Bm;function Th(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 Uh=(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 hf(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 Rh(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 Hh(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 Dh(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=>Vh(o,t),filter:t=>Nh(o,t)}}Im.pipe=Object.freeze({map:o=>(t=>Vh(t,o)),filter:o=>(t=>Nh(t,o))});var Vh=Id,Nh=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 h2(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 Hu=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 Hu;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 qh(o){return hf(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 Du=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(()=>qh(t.getState()))}get on(){return this.#o.on}update(){let t=this[o2].getState();!Uh(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 Kh(o){if(!o.done)throw new Error("wait not done");return Rh(o)}function Wh(o){if(!o.done)throw new Error("wait not done");return Hh(o)}var Gh=o=>!o.done;var Td=o=>o.done&&o.ok;function Xh(o,t){let{pending:e=()=>{},ok:s=()=>{},err:r=()=>{}}=t;return Gh(o)?e():Td(o)?s(Kh(o)):r(Wh(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 zs=Object.defineProperty;var Os=(r,t)=>{for(var e in t)zs(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 Se=class r extends HTMLElement{static register(){g.register({SlyShadow:r},{soft:!0})}connectedCallback(){this.hasAttribute("view")||this.setAttribute("view","")}};var Ft=class{render;count=0;rendered=at();constructor(t){this.render=t}doneRender(){this.count++,this.rendered.resolve(),this.rendered=at()}},K=class extends Ft{host;shadow;constructor(t,e,o){super(t),this.host=e,this.shadow=o}};var kr=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()}}},P=globalThis[Symbol.for("e280.hooks")]??=new kr;var J=class{#t=[];clear(){this.#t.forEach(t=>t()),this.#t=[]}observe(t,e){let{seen:o,value:s}=m.observe(t);this.clear();for(let n of o){let i=m.subscribe(n,e);this.#t.push(i)}return s}};var Ae=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 Z=class{cx;position=0;values=new Map;mounts=new Ae;constructor(t){this.cx=t}};var{I:au}=Jr;var go=r=>r.strings===void 0;var bo={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Gt=r=>(...t)=>({_$litDirective$:r,values:t}),_e=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,o){this._$Ct=t,this._$AM=e,this._$Ci=o}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var Kt=(r,t)=>{let e=r._$AN;if(e===void 0)return!1;for(let o of e)o._$AO?.(t,!1),Kt(o,t);return!0},Ee=r=>{let t,e;do{if((t=r._$AM)===void 0)break;e=t._$AN,e.delete(r),r=t}while(e?.size===0)},xo=r=>{for(let t;t=r._$AM;r=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(r))break;e.add(r),on(t)}};function en(r){this._$AN!==void 0?(Ee(this),this._$AM=r,xo(this)):this._$AM=r}function rn(r,t=!1,e=0){let o=this._$AH,s=this._$AN;if(s!==void 0&&s.size!==0)if(t)if(Array.isArray(o))for(let n=e;n<o.length;n++)Kt(o[n],!1),Ee(o[n]);else o!=null&&(Kt(o,!1),Ee(o));else Kt(this,r)}var on=r=>{r.type==bo.CHILD&&(r._$AP??=rn,r._$AQ??=en)},_t=class extends _e{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,o){super._$AT(t,e,o),xo(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(Kt(this,t),Ee(this))}setValue(t){if(go(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 A(r){return Gt(class extends _t{#t;#e=new Ft(xt(()=>{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()}}));#o=new Z(this.#e);#r=new J;update(e,o){let s=super.update(e,o);return this.isConnected&&this.#e.doneRender(),s}render(...e){return this.#t=e,this.#r.observe(()=>P.wrap(this.#o,()=>r(...this.#t)),this.#e.render)}disconnected(){this.#o.mounts.unmountAll(),this.#r.clear()}reconnected(){this.#o.mounts.remountAll(),this.#e.render()}})}function wo(r,t){for(let[e,o]of Object.entries(t))sn(r,e,o)}function sn(r,t,e){let o=r.getAttribute(t),s=nn(e);s!==o&&(s===null?r.removeAttribute(t):r.setAttribute(t,s))}function nn(r){return typeof r=="string"?r:typeof r=="number"?r.toString():r?"":null}function an(){Se.register();let r=document.createElement("sly-shadow"),t=r.attachShadow({mode:"open"});return{host:r,shadow:t}}function Q(r){return vo(an,r)}Q.setup=r=>(t=>vo(r,t));var yo=Q;function vo(r,t){let e=Gt(class extends _t{#t;#e;#o;#r=new J;constructor(s){super(s);let{host:n,shadow:i}=r(),a=xt(()=>{if(!this.#o)throw new Error("cannot render before props");if(!this.isConnected)return;let c=this.#s(this.#o);x(c,this.#t.shadow),this.#t.doneRender()});this.#t=new K(a,n,i),this.#e=new Z(this.#t)}#s(s){return this.#o=s,this.#r.observe(()=>P.wrap(this.#e,()=>t(...this.#o)),this.#t.render)}render({props:s,children:n,attrs:i}){let{host:a}=this.#t;return this.isConnected&&(i&&wo(a,i),x(n,this.#t.host),x(this.#s(s),this.#t.shadow),this.#t.doneRender()),a}disconnected(){x(null,this.#t.shadow),x(null,this.#t.host),this.#e.mounts.unmountAll(),this.#r.clear()}reconnected(){this.#e.mounts.remountAll(),this.#t.render()}});function o(...s){return e({props:s})}return o.with=e,o}function $o(r){return class extends HTMLElement{#t;#e;#o=new J;#r=this.attachShadow({mode:"open"});constructor(){super();let t=xt(()=>{if(!this.isConnected)return;let e=this.#s();x(e,this.#t.shadow),this.#t.doneRender()});this.#t=new K(t,this,this.#r),this.#e=new Z(this.#t)}#s(){return this.#o.observe(()=>P.wrap(this.#e,()=>r()),this.#t.render)}render(){x(this.#s(),this.#t.shadow),this.#t.doneRender()}connectedCallback(){this.#e.mounts.remountAll(),this.#t.render()}disconnectedCallback(){this.#e.mounts.unmountAll(),this.#o.clear()}}}function X(r){return[Q(r),(...o)=>$o(()=>r(...o))]}function w(r){let{scope:t,position:e}=P.increment();return N(t.values,e,r)}function Jt(){return P.increment().scope.cx}function Ce(){let r=Jt();if(!(r instanceof K))throw new Error("this hook only works on shadow views (but was called in a light view)");return r}function Zt(){return Ce().host}function lt(r){let{scope:t}=P.increment();return w(()=>t.mounts.mount(r))}function So(){return Ce().shadow}function Ao(r,t){se(r,ln(t))}function ln(r){let t=[];if(Array.isArray(r)){let e=new Set(r.flat(1/0).reverse());for(let o of e)t.unshift(dt(o))}else r!==void 0&&t.push(dt(r));return t}function B(...r){let t=So();w(()=>Ao(t,r))}function Et(r=""){let t=Zt();w(()=>t.setAttribute("view",r))}function V(r){return w(()=>S(r))}var Ct=B;function _o(r){return lt(()=>r)}function D(r,t){return()=>pn({hz:r,frames:t})}var pn=Q(({hz:r,frames:t})=>{Et("loading"),Ct(At,hn);let e=V(0);return lt(()=>vt(async()=>{await kt(1e3/r);let o=e()+1;e(o>=t.length?0:o)})),t.at(e())}),hn=b`
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()}},p2=class extends vu{host;shadow;constructor(t,e,s){super(t),this.host=e,this.shadow=s}};var Hd=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 Hd;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}=Mh;var Jh=o=>o.strings===void 0;var Yh={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 hu=(o,t)=>{let e=o._$AN;if(e===void 0)return!1;for(let s of e)s._$AO?.(t,!1),hu(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)},Zh=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 Dm(o){this._$AN!==void 0?(Ku(this),this._$AM=o,Zh(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++)hu(s[n],!1),Ku(s[n]);else s!=null&&(hu(s,!1),Ku(s));else hu(this,o)}var Nm=o=>{o.type==Yh.CHILD&&(o._$AP??=Vm,o._$AQ??=Dm)},Tf=class extends qu{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,s){super._$AT(t,e,s),Zh(this),this.isConnected=t._$AU}_$AO(t,e=!0){t!==this.isConnected&&(this.isConnected=t,t?this.reconnected?.():this.disconnected?.()),e&&(hu(this,t),Ku(this))}setValue(t){if(Jh(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 Qh(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 ep(Km,o)}g2.setup=o=>(t=>ep(o,t));var tp=g2;function ep(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 p2(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&&Qh(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 op(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 p2(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)=>op(()=>o(...s))]}function ne(o){let{scope:t,position:e}=Y0.increment();return Bf(t.values,e,o)}function pu(){return Y0.increment().scope.cx}function Wu(){let o=pu();if(!(o instanceof p2))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 pf(o){let{scope:t}=Y0.increment();return ne(()=>t.mounts.mount(o))}function sp(){return Wu().shadow}function rp(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=sp();ne(()=>rp(t,o))}function Uf(o=""){let t=mu();ne(()=>t.setAttribute("view",o))}function u2(o){return ne(()=>oc(o))}var Rf=n2;function cp(o){return pf(()=>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 pf(()=>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 I=Q(r=>(Et("error"),Ct(At,dn),typeof r=="string"?r:r instanceof Error?h`<strong>${r.name}:</strong> <span>${r.message}</span>`:"error")),dn=b`
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 L(r,t){return(e,o)=>fo(e,{pending:r,err:t,ok:o})}var ud=L(D(10,[" "," ",". ",".. ","..."," .."," ."]),I);var fd=L(D(3,["\u{1F30E}","\u{1F30F}","\u{1F30D}"]),I);var yd=L(D(10,["\u{1F312}","\u{1F313}","\u{1F314}","\u{1F315}","\u{1F316}","\u{1F317}","\u{1F318}","\u{1F311}","\u{1F311}","\u{1F311}"]),I);var Ad=L(D(16,["|","/","-","\\"]),I);var Pd=L(D(20,[":....",":....","::...",".::..","..::.","...::","....:","....:","...::","..::.",".::..","::..."]),I);var Co=r=>r;var Mo=r=>r,Po=r=>r;var mn=Co({looking:{horizontal:["accumulate","pointer.x"],vertical:["accumulate","pointer.y"]},moving:{forward:"KeyW",backward:"KeyS",leftward:"KeyA",rightward:"KeyD"},interactions:{use:"KeyE"}}),zo=Po({standard:{label:"\u2328\uFE0Fstandard",bindings:mn},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 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 Io(r,{start:t,end:e}){return!(t!==void 0&&r<t||e!==void 0&&r>=e)}function*Sr(r,t){if(r.limit===0)return;let e=t.filter(([o,s])=>s!==void 0&&Io(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*Sr(t,[...this.#t.entries()].map(([e,o])=>[e,structuredClone(o)]))}};async function Lo(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 k(await this.get(),`key not found "${this.key}"`)}async delete(){return this.kv.set(this.key,void 0)}};var Mt=ct({divisor:".",delimiter:":",chunkSize:1024});function Qt(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(Mt.divisor),s=o+".",n=o+":";this.#e=[{start:n,end:Qt(n)},{start:s,end:Qt(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:gn,delimiter:bn}=Mt,De=class{#t;#e;constructor(t){let{scopes:e}=t;this.#t=e.join(gn)+bn,this.#e=Qt(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 jo(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 Ho(r){for(let t of r){if(t==="")throw new Error("invalid scope empty string");Ro(t,"."),Ro(t,":")}return r}function Ro(r,t){if(r.includes(t))throw new Error(`invalid scope "${r}" contains illegal "${t}"`)}var Ie=class r{op;subtree;#t;#e;#o;#r;constructor(t=new Pe,e={}){this.#t=t,this.#r={strict:!1,scopes:[],...e},Ho(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 k(await this.get(t),`key not found "${t}"`)}async needMany(t){let e=await this.getMany(t);for(let[o,s]of t.entries())k(e[o],`key not found "${s}"`);return e}async*entries(t={}){t=jo(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>=Mt.chunkSize&&(await this.commit(e),e=[]);e.length&&await this.commit(e)}};function No(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 Le(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 ut(r){return!!(r===null||yt(r)||wt(r)||xe(r))}function q(r){let t=[];function e(o,s){if(ut(o))t.push(s.join("."));else for(let[n,i]of Object.entries(o))e(i,[...s,n])}return e(r,["b"]),io(...t)}var je=class{bindings;#t;#e=new $t;#o=new Ut;#r=new M;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 Ut}),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),k(this.#r.get(e)).controllers.add(t),this.#o.delete(t),this}encode(t,e=performance.now()){let o=new Map,{controllers:s}=k(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 Le(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 No(e)}};function Ar(r,t){let{presets:e,customs:o,fallback:s}=r.profiles;return t===void 0?s.profile:o.get(t)??e.get(t)??k(e.get(s.key))}async function Re(r,t,e){let{kvs:o,controllers:s,assignments:n}=r;t.bindings=Ar(r,e).bindings,n.set(t,e),await ye(s.get(t)?.handle,async i=>{r.preferences.set(i,e),await o.preferences.set(i,e)})}function Uo(r,t){return q(r)===q(t)}var He=class{#t;constructor(t){this.#t=t}#e(t){if(!Uo(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 Ar(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 qo(r){let{presets:t}=r,e=k(Object.keys(t)[0],"missing presets"),o=k(t[e]),s=o.bindings,n=r.kv.scope(q(s).toString()),i={presets:new M,customs:new M,fallback:{key:e,profile:o}};return Vt(i.presets,Object.entries(t)),{subby:F(),kv:n,presets:t,bindings:s,idCounter:new $t,profiles:i,controllers:new M,assignments:new M,preferences:new M,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 Ve=class{#t;profiles;assignments;presets;constructor(t){this.#t=qo(t),this.profiles=new He(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=k(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(),Vt(s,await br(t.profiles)),o.clear(),Vt(o,await br(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 Ue(r){let[t,e]=Object.entries(r)[0];return{key:t,profile:e}}async function Wo(r){let t=r.kv??new Ie(new Me(await Lo("tact","kv"))),e=r.broadcastChannel??new BroadcastChannel("tact"),{maxPlayers:o}=r,{bindings:s}=Ue(r.presets).profile,n=new je(s),i=new Ve({...r,kv:t});return await i.load(),e.onmessage=()=>i.load(),i.on(()=>e.postMessage({})),Mo({hub:n,controls:i,maxPlayers:o})}function Fo(r){let t=[],e=new DataView(r),o=0,s=e.getUint32(o,!1);for(o+=4;o<r.byteLength;){let n=e.getUint16(o,!1);o+=2;let i=e.getFloat32(o,!1);o+=4,t.push({id:n,value:i})}return{hash:s,intents:t}}function Go(){return{value:0,was:0,sum:0}}function Xt(r){let t=q(r),e=[],o=[];function s(i){if(ut(i)){let a=Go();return e.push(a),o.push(i),a}else return xr(i,s)}let n=s(r);return{hash:t,inputs:n,inputList:e,rootList:o}}var qe=class{#t;constructor(t){this.#t=Xt(t)}get inputs(){return this.#t.inputs}decode(...t){let e=this.#t.inputList;for(let o of e)o.was=o.value,o.sum=0;for(let o of t){let s=Fo(o);if(s.hash!==this.#t.hash)throw new Error("intent bindings hash mismatch");for(let n of e)n.value=0;for(let{id:n,value:i}of s.intents){let a=e[n];a.value=i}for(let n of e)n.sum+=n.value}return this.inputs}};function Ko(r){let t=new DataView(r),e=[],o=0;for(;o<r.byteLength;){if(r.byteLength-o<8)throw new Error("truncated header");let s=t.getUint32(o,!1);o+=4;let n=t.getUint32(o,!1);if(o+=4,n>r.byteLength-o)throw new Error("truncated data");let i=r.slice(o,o+n);o+=n,e.push({playerId:s,intents:i})}return e}var We=class{#t;#e=new M;constructor(t){this.#t=t}get players(){return[...this.#e].map(([t,e])=>({playerId:t,inputs:e.inputs}))}#o(t){return N(this.#e,t,()=>new qe(this.#t))}decodeAll(...t){let e=new Map;for(let o of t)for(let{playerId:s,intents:n}of Ko(o))N(e,s,()=>[]).push(n);for(let[o,s]of e)this.#o(o).decode(...s);for(let o of this.#e.keys())e.has(o)||this.#e.delete(o);return this.players}};var _r=1024,Fe=class{dispose;#t;#e=[];constructor(t){this.#t=t,this.dispose=t.onSample(e=>{this.#e.push(e),this.#e.length>_r&&console.warn(`tact sampler exceeded limit ${_r}`),this.#e=we(this.#e,_r)})}take(){this.#t.poll?.();let t=this.#e;return this.#e=[],t}};var{min:yn,max:vn,abs:$n,sign:kn,floor:hg,ceil:dg,pow:mg}=Math;function pt(r,t=0,e=1){return r=yn(r,e),r=vn(r,t),r}function Sn(r,t,e,o){let n=(e-t)*r;return o!==void 0&&$n(n)>o&&(n=kn(n)*o),t+n}function An(r,t,e){return(r-t)/(e-t)}function Jo(r,t,e,o=0,s=1,n=!1){let i=An(r,t,e);return n&&(i=pt(i)),Sn(i,o,s)}var Ge=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=pt(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=pt(this.x,t.x,e.x),this.y=pt(this.y,t.y,e.y),this}clampBy(t=0,e=1){return this.x=pt(this.x,t,e),this.y=pt(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 ht(r){return r!==0}function Er(r,t){let e=o=>Er(r,o);if(t===null)return 0;if(wt(t))return t;if(yt(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&&(ht(n)&&!ht(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&&(!ht(n)&&ht(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 Jo(a,o,s,n,i)}case"dt":return r.dt;case"held":{let[,o,s]=t,n=ht(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=e(n),a=r.clock.time,c=N(r.tapping,t,()=>({events:[]}));for(let l=0;l<i;l++)c.events.push(a);return c.events=we(c.events.filter(l=>l>=a-s),128),c.events.length>=o?(c.events=[],1):0}case"mod":{let[,...o]=t,s=l=>ht(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 Ke=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 Je=class{dt=0;clock=new Ke;recentSamples=[];latestValues=new Map;previousValues=new Map;holding=new Map;tapping=new Map};var Pt=class{#t;#e;#o;#r;constructor(t){this.#e=ct(structuredClone(t.bindings)),this.#o=Xt(this.#e),this.#t=new Fe(t.source),this.#r=new Je}get bindings(){return this.#e}set bindings(t){let e=ct(structuredClone(t)),o=Xt(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=Er(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 Le(this.#o.hash,[...this.evaluate(t)])}clear(){this.#t.take()}dispose(){return this.#t.dispose()}};var Ze=class{get;constructor(t){this.get=t}get gamepad(){return this.get()}};function Zo(r,t){let e=r;return()=>{let o=t();return o!=null&&(e=o),e}}function Qe(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 Ze(Zo(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=C(window,{gamepadconnected:e,gamepaddisconnected:e});return()=>{n();for(let{dispose:i}of t.values())i();t.clear()}}var j=class{onSample=F();dispose=W()};var zt=class extends j{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 Qo(r,t){return Qe(e=>{let o=new zt(e),s=new Pt({source:o,bindings:r.bindings});r.plug(s);let n=t?.(s,o);return()=>{r.remove(s),n?.()}})}function Xo(r,t){return r.length>t?r.slice(0,t)+"...":r}var Xe=class extends j{#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 Ye=class{$hex=S("");clear=ro(250,()=>{this.$hex.set("")});update(t){this.$hex(be(new Uint8Array(t))),this.clear()}};function Ot(r){return`pointer.${r+1}`}var tr=class extends j{client=new Ge;constructor(t=window){super(),this.dispose.schedule(C(t,this.#t))}#t={pointerdown:t=>{this.onSample.publish({code:Ot(t.button),value:1})},pointerup:t=>{this.onSample.publish({code:Ot(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 er=class extends j{#t=new Set;constructor(t=window){super(),this.dispose.schedule(C(t,this.#e)),this.dispose.schedule(C(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 Yo=G`@layer core {
28
+ `;function c2(o,t){return(e,s)=>Xh(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 p5=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 ap=o=>o;var lp=o=>o,fp=o=>o;var Qm=ap({looking:{horizontal:["accumulate","pointer.x"],vertical:["accumulate","pointer.y"]},moving:{forward:"KeyW",backward:"KeyS",leftward:"KeyA",rightward:"KeyD"},interactions:{use:"KeyE"}}),up=fp({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 vp(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 Hf(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=Hf(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 dp(o){return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function hp(o){return new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4))}function pp(...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=D=>{},m=D=>{},$=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:D=>{let pt=D;if(n)throw new Error("setup already called");if(n=!0,!r){Li(pt.total,"total"),c=pt.total;let R=pt.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={...pt};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 D=$.onProgress;if(D!==void 0&&typeof D!="function")throw new Error("onProgress must be a function");if(!D)return(bt=1)=>(i+=bt,!1);let pt=Math.max(Math.floor(c/1e4),1);return(bt=1)=>(i+=bt,(!(i%pt)||i===c)&&D(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=Hf(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 mp(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,$,D,pt,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(h,f=0){let l=h;N(f,1,0,v,P);let d=0,p=r;if(l.dkLen!==void 0&&(Li(l.dkLen,"opts.dkLen"),p=l.dkLen|0,!a&&p>r))throw new RangeError(`"opts.dkLen" expected <= ${r}, got ${p}`);if(i){let x=i(f,O,w,V,l);x&&x.blocks!==void 0&&(d=x.blocks),x&&x.outputLen!==void 0&&(p=x.outputLen)}return{blocks:d,outputLen:p}}function H(h,f){if(f>0){if(h.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(h.length-l,tt*n);gt(j,0,h,l,d);let p=l+d==h.length,x=Math.ceil(d/n),b=x*n-d,g=0;p&&(g=U(0,d,O,b,n,c),x+=g),k(0,1,x,O,n,p?1:0,b,g),l+=d}while(l<h.length)}function G(h,f,l){let d=tt*n|0,p=l?l.buf.length:0,x=p;for(let _=0;_<h.length;_++)x+=h[_].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<p){let C=Math.min(_,p-b)|0;gt(j,z,l.buf,b,C),z+=C}for(;z<_;){let C=h[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(h,f,l,d,p,x){let b=p-2;if(b<1)throw new Error("wrong chunks");let g=x?x.buf.length:0,L=h[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&&gt(j,S+W,E,T+W-g,C-W)};if(d>0){if(_===0){let S=U(0,d*n,p,0,n,c);for(let E=0;E<l;E++)if(U(E,d*n,p,0,n,c)!==S)throw new Error("different padding across batch");k(0,l,d+S,p,n,1,0,S);return}k(0,l,d,p,n,0,0,0)}let B=0;do{let S=Math.min(_-B,b*n);for(let M=0;M<l;M++)z(M*p*n,h[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,p,C,n,c);for(let M=1;M<l;M++)if(U(M,S,p,C,n,c)!==W)throw new Error("parallel batch: different padding");T+=W}k(0,l,T,p,n,E?1:0,C,W),B+=S}while(B<_)}function et(h={},f,l=r){let d=h;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 p=f!==void 0?f:(d.dkLen===void 0?l:d.dkLen)|0;if(!a&&p>r)throw new RangeError(`"opts.dkLen" expected <= ${r}, got ${p}`);let x=d.out||new Uint8Array(p),b=(d.outPos===void 0?0:d.outPos)|0;if(b<0||b+p>x.length)throw new RangeError("out/outPos too small");return{dkLen:p,out:x,outPos:b}}function it(h={},f=et(h)){let{dkLen:l,out:d,outPos:p}=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,p+g,j,0,T),_=Math.max(_,T,z*v),g+=T,L-=z}return{maxWritten:_,out:d}}function ut(h,f,l,d){let p=f,{dkLen:x,out:b}=l,g=0,L=p|0,_=(x+v-1)/v|0,z=0,B=_;for(;B>0;){let S=B>L?L:B;R(0,h,S,f,v,B===S?1:0);let T=S*v,C=x-z,W=C<T?C:T;for(let M=0;M<h;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=h=>{if(!Hf(h))throw new Error("prefixState is not from this hash");if(h.length<ct.length)throw new Error("prefixState is too short");if(h.length>=ct.length+n)throw new Error("prefixState is too long");if(!rt.has(h))throw new Error("prefixState is not from this hash");return h},Z=(h={})=>{let f=h;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 p=f.length-l;return p&&(gt(this.buf,this.pos,f,l,p),this.pos+=p),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 p=d*n-l,x=0;return f&&(x=U(0,l,O,p,n,c),d+=x),k(0,1,d,O,n,1,p,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:p}=it(f,l);return this.destroy(),N(0,1,p,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:p,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(p,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),p}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&&gt(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=(h,f={})=>{Z0(h);let l=et(f),{blocks:d}=K(f);H(h,d);let{out:p,maxWritten:x}=it(f,l);return N(0,1,x,v,P),p},X=(h,f={})=>{if(!Array.isArray(h))throw new Error("expected array of messages");let l=0;for(let g of h)Z0(g),l+=g.length;let d=Z(f);if(d&&l===0)throw new Error("prefixState requires a non-empty message");let p=et(f);if(d)N(0,1,0,v,P),gt(ct,0,d.state,0,d.state.length),G(h,0,d);else{let{blocks:g}=K(f);G(h,g)}let{out:x,maxWritten:b}=it(f,p);return N(0,1,b,v,P),x},ot=(h,f={})=>{if(!Array.isArray(h))throw new Error("expected array of messages");let l=Z(f);if(l&&h.length===0)throw new Error("prefixState requires a non-empty message");let d=Math.floor(j.length/(n*3)),p=Math.floor(j.length/v);for(let b=0;b<h.length;b+=st){let g=Math.min(st,h.length-b,d,p);for(let L=0;L<g;L++)if(!Hf(h[b+L]))throw new Error(`expected Uint8Array, got type=${typeof h[b+L]}`);if(l&&h[b].length===0)throw new Error("prefixState requires a non-empty message");for(let L=1;L<g;L++)if(h[b+L].length!==h[b].length)throw new Error("different sizes inside chunk")}let x=s3(f,h.length,r,a);for(let b=0;b<h.length;b+=st){let g=Math.min(st,h.length-b,d,p),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(h,b,g,z,L,l);let{maxWritten:B}=ut(g,_,x,b);N(0,g,B,v,_)}return x.out},lt=(h,f,l)=>{let d=h,p=l;return d.isAsync?d({total:f,asyncTick:p?.asyncTick,onProgress:p?.onProgress,nextTick:p?.nextTick}):p?.onProgress?d({total:f,onProgress:p.onProgress}):(d({total:0}),x=>!1)},dt=Zu(function*(h,f,l={}){let d=h;if(!d.isAsync&&!l?.onProgress)return at(f,l);let p=lt(d,f.length,l),x=at(f,l);return(d.isAsync||l?.onProgress)&&p(f.length)&&(yield),x}),ht=Zu(function*(h,f,l={}){let d=h;if(!d.isAsync&&!l?.onProgress)return X(f,l);let p=0;for(let g of f)p+=g.length;let x=lt(d,p,l),b=X(f,l);return(d.isAsync||l?.onProgress)&&x(p)&&(yield),b}),_t=Zu(function*(h,f,l={}){let d=h;if(!d.isAsync&&!l?.onProgress)return ot(f,l);let p=0;for(let g of f)p+=g.length;let x=lt(d,p,l),b=ot(f,l);return(d.isAsync||l?.onProgress)&&x(p)&&(yield),b});m=(h,f={})=>at(h,f),$=async(h,f)=>{let l=f;return l?l.asyncTick!==void 0||l.onProgress!==void 0||l.nextTick!==void 0?dt.async(h,l):at(h,l):at(h,{})},D=(h,f={})=>X(h,f),pt=async(h,f)=>{let l=f;return l?l.asyncTick!==void 0||l.onProgress!==void 0||l.nextTick!==void 0?ht.async(h,l):X(h,l):X(h,{})},bt=(h,f={})=>ot(h,f),a2=async(h,f)=>{let l=f;return l?l.asyncTick!==void 0||l.onProgress!==void 0||l.nextTick!==void 0?_t.async(h,l):ot(h,l):ot(h,{})},vt=(h={})=>{let f=h;N(0,1,0,v,P);let{blocks:l,outputLen:d}=K(f);return new Q({...f,streamBufLen:n,blocks:l,outputLen:d})},Q0=h=>{let f=F(h);pp(f),rt.delete(f)}}m=(w,k)=>(y(),m(w,k)),$=(w,k)=>(y(),$(w,k)),D=(w,k)=>(y(),D(w,k)),pt=(w,k)=>(y(),pt(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={})=>D(w,k);Object.assign(nt,{async:(w,k)=>pt(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(),xp=dp(a3);var gp=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=xp;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),hp(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,H=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 ht=4+K|0;n[(ht>>>0)+0>>>2]=0;let _t=4+ht|0;n[(_t>>>0)+0>>>2]=0;let h=4+_t|0;n[(h>>>0)+0>>>2]=0;let f=4+h|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 p=(96+((1+y|0)<<5)|0)+Math.imul(2144,A)|0,x=n[(p>>>0)+0>>>2],b=4+p|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[(p>>>0)+0>>>2]=0;let At=4+p|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=(H+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,hc=dc+je|0,pc=(hc^Bi)>>>12|(hc^Bi)<<20,mc=(C+pc|0)+vc|0,ia=(mc^dc)>>>8|(mc^dc)<<24,aa=ia+hc|0,la=(aa^pc)>>>7|(aa^pc)<<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,Hi=Ri+yc|0,Di=(Hi^oa)>>>12|(Hi^oa)<<20,Vi=(_+Di|0)+Ui|0,Ni=(Vi^Ri)>>>8|(Vi^Ri)<<24,Fi=Ni+Hi|0,qi=(Fi^Di)>>>7|(Fi^Di)<<25,ha=(dt+uc|0)+mc|0,$0=(ha^bc)>>>16|(ha^bc)<<16,E0=$0+ea|0,L0=(E0^uc)>>>12|(E0^uc)<<20,M0=(H+L0|0)+ha|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,pa=(ae^la)>>>12|(ae^la)<<20,Wi=(C+pa|0)+C0|0,Gi=(Wi^Ki)>>>8|(Wi^Ki)<<24,Xi=Gi+ae|0,ro=(Xi^pa)>>>7|(Xi^pa)<<25,co=(Y+qi|0)+$c|0,io=(co^Gi)>>>16|(co^Gi)<<16,ao=io+B0|0,He=(ao^qi)>>>12|(ao^qi)<<20,It=(B+He|0)+co|0,Lc=(It^io)>>>8|(It^io)<<24,zt=Lc+ao|0,Mc=(zt^He)>>>7|(zt^He)<<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,he=t0+da|0,Se=(he^ro)>>>12|(he^ro)<<20,$e=(M+Se|0)+de|0,j0=($e^t0)>>>8|($e^t0)<<24,Ee=j0+he|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,ho=(vo^kt)>>>8|(vo^kt)<<24,po=ho+fo|0,U0=(po^uo)>>>7|(po^uo)<<25,R0=(_+Mc|0)+ue|0,H0=(R0^j0)>>>16|(R0^j0)<<16,D0=H0+Ut|0,V0=(D0^Mc)>>>12|(D0^Mc)<<20,N0=(E+V0|0)+R0|0,F0=(N0^H0)>>>8|(N0^H0)<<24,q0=F0+D0|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,De=(n0^Tc)>>>8|(n0^Tc)<<24,pe=De+Uc|0,me=(pe^Rc)>>>7|(pe^Rc)<<25,xe=(g+_o|0)+N0|0,ge=(xe^ho)>>>16|(xe^ho)<<16,be=ge+jc|0,ye=(be^_o)>>>12|(be^_o)<<20,we=(H+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+po|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,h0=d0+Ge|0,p0=(h0^u0)>>>12|(h0^u0)<<20,m0=(dt+p0|0)+v0|0,x0=(m0^d0)>>>8|(m0^d0)<<24,Hc=x0+h0|0,Dc=(Hc^p0)>>>7|(Hc^p0)<<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+pe|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,Ht=(Vc^Po)>>>7|(Vc^Po)<<25,Nc=(C+Xe|0)+a0|0,Dt=(Nc^De)>>>16|(Nc^De)<<16,Fc=Dt+r0|0,Vt=(Fc^Xe)>>>12|(Fc^Xe)<<20,qc=(ft+Vt|0)+Nc|0,Nt=(qc^Dt)>>>8|(qc^Dt)<<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=(H+Kt|0)+Wc|0,Wt=(Xc^qt)>>>8|(Xc^qt)<<24,Jc=Wt+Gc|0,Gt=(Jc^Kt)>>>7|(Jc^Kt)<<25,Yc=(B+Ht|0)+$o|0,Xt=(Yc^x0)>>>16|(Yc^x0)<<16,Zc=Xt+Kc|0,Jt=(Zc^Ht)>>>12|(Zc^Ht)<<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+Hc|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+Dc|0)+qc|0,ai=(ii^Rt)>>>16|(ii^Rt)<<16,li=ai+Lo|0,fi=(li^Dc)>>>12|(li^Dc)<<20,ui=(lt+fi|0)+ii|0,vi=(ui^ai)>>>8|(ui^ai)<<24,di=vi+li|0,hi=(di^fi)>>>7|(di^fi)<<25,pi=(E+hi|0)+Xc|0,Co=(pi^Yt)>>>16|(pi^Yt)<<16,eo=Co+ri|0,jo=(eo^hi)>>>12|(eo^hi)<<20,Io=(C+jo|0)+pi|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,Ho=(Ro^si)>>>16|(Ro^si)<<16,Do=Ho+di|0,Vo=(Do^Gt)>>>12|(Do^Gt)<<20,No=(B+Vo|0)+Ro|0,Fo=(No^Ho)>>>8|(No^Ho)<<24,qo=Fo+Do|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,hn=(it+dn|0)+fn|0,pn=(hn^un)>>>8|(hn^un)<<24,mn=pn+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=(H+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,Hn=Rn+zn|0,Dn=(Hn^Tn)>>>7|(Hn^Tn)<<25,Vn=(g+Dn|0)+hn|0,Nn=(Vn^_n)>>>16|(Vn^_n)<<16,Fn=Nn+Pn|0,qn=(Fn^Dn)>>>12|(Fn^Dn)<<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+Hn|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^pn)>>>16|(vs^pn)<<16,hs=ds+An|0,ps=(hs^Cn)>>>12|(hs^Cn)<<20,ms=(Y+ps|0)+vs|0,xs=(ms^ds)>>>8|(ms^ds)<<24,gs=xs+hs|0,bs=(gs^ps)>>>7|(gs^ps)<<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=(H+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,Hs=(lt+Rs|0)+zs|0,Ds=(Hs^Ts)>>>8|(Hs^Ts)<<24,Vs=Ds+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^Ds)>>>16|(cr^Ds)<<16,ar=ir+Js|0,lr=(ar^Es)>>>12|(ar^Es)<<20,fr=(H+lr|0)+cr|0,ur=(fr^ir)>>>8|(fr^ir)<<24,vr=ur+ar|0,dr=(vr^lr)>>>7|(vr^lr)<<25,hr=(Y+Is|0)+Hs|0,pr=(hr^Xs)>>>16|(hr^Xs)<<16,mr=pr+$s|0,xr=(mr^Is)>>>12|(mr^Is)<<20,gr=(g+xr|0)+hr|0,br=(gr^pr)>>>8|(gr^pr)<<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,Hr=(E+Rr|0)+zr|0,xi=(Hr^Tr)>>>8|(Hr^Tr)<<24,Dr=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^Hr;let ki=4+wi|0;n[(ki>>>0)+0>>>2]=Ir^Kr;let _i=4+ki|0;n[(_i>>>0)+0>>>2]=Dr^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^((Dr^Rr)>>>7|(Dr^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 H=P,G=rt,Y=K;s:{let F=H,Z=G,Q=Y,at=F,X=Z,ot=Q;t:for(;;){let _t=at,h=X,f=ot,l=_t,d=h,p=f;{let z=l,B=d,E=p-1|0;if(((E|0)===0|0)&y){H=z,G=B,Y=E;break s}c(A,E,E),l=z,d=B,p=E}let x=l,b=d,g=p,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,ht=ot;H=lt,G=dt,Y=ht}let et=H,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 H=P,G=H+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,ht=n[(dt>>>0)+0>>>2],_t=4+dt|0,h=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),p=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,hc=ic,pc=A0,mc=S0,ia=Bi,aa=Pi,la=Ci,fa=ji,ua=Ii,va=zi,xc=vc,gc=dc,bc=hc,yc=pc,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,pa=Ec,Wi=$0,Gi=E0,Xi=L0,ro=M0,co=O0,io=B0,ao=P0,He=C0,It=Ki,Lc=ae,zt=pa;{let he=Wi,Se=Gi,$e=Xi,j0=ro,Ee=co,I0=io,Le=ao,z0=He,Me=It,T0=Lc,Tt=zt,e0=V-he|0,Ut=Math.min((16-Tt|0)>>>0,e0>>>0)|0,lo=$e,wt=j0,kt=Ee,fo=I0,uo=Le,vo=z0,ho=Me,po=T0;i:{let De=lo,pe=wt,me=kt,xe=fo,ge=uo,be=vo,ye=ho,we=po;if(((Tt|0)===0|0|0)===0|0){lo=De,wt=pe,kt=me,fo=xe,uo=ge,vo=be,ho=ye,po=we;break i}lo=it,wt=F,kt=Q,fo=X,uo=lt,vo=ht,ho=h,po=f}let U0=lo,R0=wt,H0=kt,D0=fo,V0=uo,N0=vo,F0=ho,q0=po,o0=0,mo=he,xo=U0,go=R0,bo=H0,yo=D0,wo=V0,ko=N0,_o=F0,Ao=q0,So=Tt;{let De=o0,pe=mo,me=xo,xe=go,ge=bo,be=yo,ye=wo,we=ko,s0=_o,r0=Ao,c0=So,Ve=De,Ne=pe,Fe=me,qe=xe,Ke=ge,We=be,Ge=ye,Xe=we,Je=s0,Ye=r0,Ze=c0;a:for(;;){let Hc=Ve,Dc=Ne,g0=Fe,b0=qe,y0=Ke,w0=We,$o=Ge,Eo=Xe,Lo=Je,Mo=Ye,Qe=Ze,Oo=1+Hc|0,Bo=k&((Hc|0)===(Ut-1|0|0)|0)&((e0|0)===(Ut|0)|0),Po=Bo|((Qe|0)===15|0),to=(2144+((Dc+nt|0)<<6)|0)+(Math.imul(J,G)<<6)|0,Rt=n[(to>>>0)+0>>>2],Vc=4+to|0,Ht=n[(Vc>>>0)+0>>>2],Nc=4+Vc|0,Dt=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 hi=4+di|0;n[(hi>>>0)+0>>>2]=0;let pi=4+hi|0;n[(pi>>>0)+0>>>2]=0,n[((4+pi|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=(Ht+zo|0)+Co|0,Uo=(To^jo)>>>8|(To^jo)<<24,Ro=Uo+Io|0,Ho=(Ro^zo)>>>7|(Ro^zo)<<25,Do=(Dt+Eo|0)+b0|0,Vo=(Do^((((-1^eo)&(Se|At)|Se&At)>>>31)+nc|0))>>>16|(Do^((((-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)+Do|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)|p))>>>16|(nn^((Po?2:0)|((Qe|0)===0|0?1:0)|p))<<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,hn=dn+en|0,pn=(hn^Go)>>>12|(hn^Go)<<20,mn=(Gt+pn|0)+vn|0,xn=(mn^dn)>>>8|(mn^dn)<<24,gn=xn+hn|0,bn=(gn^pn)>>>7|(gn^pn)<<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+Ho|0)+an|0,Tn=(zn^tn)>>>16|(zn^tn)<<16,Un=Tn+Wo|0,Rn=(Un^Ho)>>>12|(Un^Ho)<<20,Hn=(te+Rn|0)+zn|0,Dn=(Hn^Tn)>>>8|(Hn^Tn)<<24,Vn=Dn+Un|0,Nn=(Vn^Rn)>>>7|(Vn^Rn)<<25,Fn=(Dt+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^Dn)>>>16|(cs^Dn)<<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,hs=(Nt+In|0)+Hn|0,ps=(hs^xn)>>>16|(hs^xn)<<16,ms=ps+$n|0,xs=(ms^In)>>>12|(ms^In)<<20,gs=(Zt+xs|0)+hs|0,bs=(gs^ps)>>>8|(gs^ps)<<24,ys=bs+ms|0,ws=(ys^xs)>>>7|(ys^xs)<<25,ks=(Ht+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,Hs=Rs+Jn|0,Ds=(Hs^ws)>>>12|(Hs^ws)<<20,Vs=(Qt+Ds|0)+Us|0,Ns=(Vs^Rs)>>>8|(Vs^Rs)<<24,Fs=Ns+Hs|0,qs=(Fs^Ds)>>>7|(Fs^Ds)<<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,hr=dr+fr|0,pr=(hr^ur)>>>7|(hr^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=(Dt+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+pr|0)+sr|0,Cr=(Pr^Mr)>>>16|(Pr^Mr)<<16,jr=Cr+kr|0,mi=(jr^pr)>>>12|(jr^pr)<<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,Hr=(Rr^rr)>>>16|(Rr^rr)<<16,xi=Hr+Or|0,Dr=(xi^_r)>>>12|(xi^_r)<<20,Vr=(Rt+Dr|0)+Rr|0,Nr=(Vr^Hr)>>>8|(Vr^Hr)<<24,Fr=Nr+xi|0,qr=(Fr^Dr)>>>7|(Fr^Dr)<<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+hr|0,wi=(yi^ir)>>>12|(yi^ir)<<20,ki=(Ht+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,Ha=(te+Ra|0)+X0|0,Da=(Ha^Ta)>>>8|(Ha^Ta)<<24,Va=Da+Ua|0,Na=(Va^Ra)>>>7|(Va^Ra)<<25,Fa=(Nt+La|0)+ga|0,qa=(Fa^Da)>>>16|(Fa^Da)<<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=(Dt+_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=(Ht+wa|0)+Ha|0,T2=(z2^Ca)>>>16|(z2^Ca)<<16,U2=T2+Ea|0,R2=(U2^wa)>>>12|(U2^wa)<<20,H2=(qt+R2|0)+z2|0,D2=(H2^T2)>>>8|(H2^T2)<<24,V2=D2+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^D2)>>>16|(cl^D2)<<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,hl=(Qt+I2|0)+H2|0,pl=(hl^Xa)>>>16|(hl^Xa)<<16,ml=pl+$2|0,xl=(ml^I2)>>>12|(ml^I2)<<20,gl=(Wt+xl|0)+hl|0,bl=(gl^pl)>>>8|(gl^pl)<<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=(Dt+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,Hl=Rl+J2|0,gf=(Hl^wl)>>>12|(Hl^wl)<<20,Dl=(Ht+gf|0)+Ul|0,Vl=(Dl^Rl)>>>8|(Dl^Rl)<<24,Nl=Vl+Hl|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)+Dl|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=(Ht+U1|0)+I1|0,H1=(R1^z1)>>>8|(R1^z1)<<24,D1=H1+T1|0,V1=(D1^U1)>>>7|(D1^U1)<<25,N1=(Zt+Zf|0)+ef|0,F1=(N1^H1)>>>16|(N1^H1)<<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+D1|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=(Dt+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,hv=(dv^P1)>>>16|(dv^P1)<<16,pv=hv+Yf|0,mv=(pv^sf)>>>12|(pv^sf)<<20,xv=(Kt+mv|0)+dv|0,gv=(xv^hv)>>>8|(xv^hv)<<24,bv=gv+pv|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=(Ht+sv|0)+lv|0,Uv=(Tv^gv)>>>16|(Tv^gv)<<16,Rv=Uv+X1|0,Hv=(Rv^sv)>>>12|(Rv^sv)<<20,Dv=(Gt+Hv|0)+Tv|0,Vv=(Dv^Uv)>>>8|(Dv^Uv)<<24,Nv=Vv+Rv|0,Fv=(Nv^Hv)>>>7|(Nv^Hv)<<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,Zd=(nd^td)>>>8|(nd^td)<<24,sd=Zd+ed|0,rd=(Dt+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,Qd=(ld^cd)>>>8|(ld^cd)<<24,fd=Qd+id|0,ud=(Vt+Zv|0)+Dv|0,vd=(ud^jv)>>>16|(ud^jv)<<16,dd=vd+Ev|0,hd=(dd^Zv)>>>12|(dd^Zv)<<20,pd=(Nt+hd|0)+ud|0,th=(pd^vd)>>>8|(pd^vd)<<24,md=th+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,eh=(wd^gd)>>>8|(wd^gd)<<24,kd=eh+bd|0,oh=md^nd,nh=kd^ld,sh=sd^pd,rh=fd^wd,ch=Qd^((kd^yd)>>>7|(kd^yd)<<25),ih=th^((sd^od)>>>7|(sd^od)<<25),ah=eh^((fd^ad)>>>7|(fd^ad)<<25),lh=Zd^((md^hd)>>>7|(md^hd)<<25),fh=Po?0:1+Qe|0,uh=1+Dc|0;if(Oo>>>0<Ut>>>0|0){Ve=Oo,Ne=uh,Fe=oh,qe=nh,Ke=sh,We=rh,Ge=ch,Xe=ih,Je=ah,Ye=lh,Ze=fh;continue a}Ve=Oo,Ne=uh,Fe=oh,qe=nh,Ke=sh,We=rh,Ge=ch,Xe=ih,Je=ah,Ye=lh,Ze=fh;break a}let i0=Ve,a0=Ne,l0=Fe,f0=qe,u0=Ke,v0=We,d0=Ge,h0=Xe,p0=Je,m0=Ye,x0=Ze;o0=i0,mo=a0,xo=l0,go=f0,bo=u0,yo=v0,wo=d0,ko=h0,_o=p0,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 pe=(96+(n[((24+Math.imul(2144,G)|0)>>>0)+0>>>2]<<5)|0)+Math.imul(2144,G)|0;n[(pe>>>0)+0>>>2]=Bc;let me=4+pe|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,He=zc,It=Tc,Lc=Uc,zt=Rc}let Mc=Wi,le=Gi,Ji=Xi,fe=ro,Yi=co,ue=io,Zi=ao,ve=He,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,Hi=wc,Di=kc,Vi=_c,Ni=Ac,Fi=Sc,qi=$c,ha=Ec;_0=da,cc=Ti,ic=Ui,A0=Ri,S0=Hi,Bi=Di,Pi=Vi,Ci=Ni,ji=Fi,Ii=qi,zi=ha}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=H}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,ht=n[(dt>>>0)+0>>>2],_t=4+dt|0,h=n[(_t>>>0)+0>>>2],f=4+_t|0,l=n[(f>>>0)+0>>>2],d=4+f|0,p=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=ht,C=h,W=l,M=p,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,hc=sa,pc=ra,mc=ca;c:for(;;){let yc=ac,wc=lc,kc=fc,_c=uc,Ac=vc,Sc=dc,$c=hc,Ec=pc,da=mc,Ti=yc,Ui=wc,Ri=kc,Hi=_c,Di=Ac,Vi=Sc,Ni=$c,Fi=Ec,qi=da;{let ae=Ti,pa=Ui,Wi=Ri,Gi=Hi,Xi=Di,ro=Vi,co=Ni,io=Fi,ao=qi,He=((2144+((nt+ae|0)<<6)|0)+(Y<<10)|0)+(Math.imul(R,U)<<6)|0,It=n[(He>>>0)+0>>>2],Lc=4+He|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,he=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[(He>>>0)+0>>>2]=0;let fo=4+He|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 ho=4+vo|0;n[(ho>>>0)+0>>>2]=0;let po=4+ho|0;n[(po>>>0)+0>>>2]=0;let U0=4+po|0;n[(U0>>>0)+0>>>2]=0;let R0=4+U0|0;n[(R0>>>0)+0>>>2]=0;let H0=4+R0|0;n[(H0>>>0)+0>>>2]=0;let D0=4+H0|0;n[(D0>>>0)+0>>>2]=0;let V0=4+D0|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)+pa|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,De=(n0^Tc)>>>8|(n0^Tc)<<24,pe=De+Uc|0,me=(pe^Rc)>>>7|(pe^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=(he+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+pe|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,h0=d0+ko|0,p0=(h0^c0)>>>12|(h0^c0)<<20,m0=(Ut+p0|0)+v0|0,x0=(m0^d0)>>>8|(m0^d0)<<24,Hc=x0+h0|0,Dc=(Hc^p0)>>>7|(Hc^p0)<<25,g0=(wt+_o|0)+we|0,b0=(g0^De)>>>16|(g0^De)<<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+Hc|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,Ht=(Vc^Po)>>>7|(Vc^Po)<<25,Nc=(fe+Xe|0)+a0|0,Dt=(Nc^x0)>>>16|(Nc^x0)<<16,Fc=Dt+Lo|0,Vt=(Fc^Xe)>>>12|(Fc^Xe)<<20,qc=(Le+Vt|0)+Nc|0,Nt=(qc^Dt)>>>8|(qc^Dt)<<24,Kc=Nt+Fc|0,Ft=(Kc^Vt)>>>7|(Kc^Vt)<<25,Wc=(he+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+Dc|0)+$o|0,Xt=(Yc^We)>>>16|(Yc^We)<<16,Zc=Xt+f0|0,Jt=(Zc^Dc)>>>12|(Zc^Dc)<<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,hi=(di^fi)>>>7|(di^fi)<<25,pi=(Ee+Zt|0)+Xc|0,Co=(pi^Nt)>>>16|(pi^Nt)<<16,eo=Co+Vc|0,jo=(eo^Zt)>>>12|(eo^Zt)<<20,Io=(wt+jo|0)+pi|0,zo=(Io^Co)>>>8|(Io^Co)<<24,To=zo+eo|0,Uo=(To^jo)>>>7|(To^jo)<<25,Ro=(kt+Ht|0)+Qc|0,Ho=(Ro^Wt)>>>16|(Ro^Wt)<<16,Do=Ho+Kc|0,Vo=(Do^Ht)>>>12|(Do^Ht)<<20,No=($e+Vo|0)+Ro|0,Fo=(No^Ho)>>>8|(No^Ho)<<24,qo=Fo+Do|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+hi|0)+Io|0,un=(fn^Fo)>>>16|(fn^Fo)<<16,vn=un+ri|0,dn=(vn^hi)>>>12|(vn^hi)<<20,hn=(le+dn|0)+fn|0,pn=(hn^un)>>>8|(hn^un)<<24,mn=pn+vn|0,xn=(mn^dn)>>>7|(mn^dn)<<25,gn=(he+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,Hn=Rn+zn|0,Dn=(Hn^Tn)>>>7|(Hn^Tn)<<25,Vn=(Me+Sn|0)+hn|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^pn)>>>16|(Jn^pn)<<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=(he+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,hs=ds+os|0,ps=(hs^Cn)>>>12|(hs^Cn)<<20,ms=(Ee+ps|0)+vs|0,xs=(ms^ds)>>>8|(ms^ds)<<24,gs=xs+hs|0,bs=(gs^ps)>>>7|(gs^ps)<<25,ys=(wt+Dn|0)+Kn|0,ws=(ys^es)>>>16|(ys^es)<<16,ks=ws+Pn|0,_s=(ks^Dn)>>>12|(ks^Dn)<<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+Hn|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,Hs=(It+Rs|0)+zs|0,Ds=(Hs^Ts)>>>8|(Hs^Ts)<<24,Vs=Ds+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,hr=(Tt+dr|0)+Hs|0,pr=(hr^Xs)>>>16|(hr^Xs)<<16,mr=pr+sr|0,xr=(mr^dr)>>>12|(mr^dr)<<20,gr=(Ut+xr|0)+hr|0,br=(gr^pr)>>>8|(gr^pr)<<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^Ds)>>>16|(Tr^Ds)<<16,Rr=Ur+Js|0,Hr=(Rr^rr)>>>12|(Rr^rr)<<20,xi=($e+Hr|0)+Tr|0,Dr=(xi^Ur)>>>8|(xi^Ur)<<24,Vr=Dr+Rr|0,Nr=(Vr^Hr)>>>7|(Vr^Hr)<<25,Fr=(he+Mr|0)+gr|0,qr=(Fr^Dr)>>>16|(Fr^Dr)<<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,Ha=Ra+X0|0,Da=(Ha^Ta)>>>7|(Ha^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+Da|0)+Oa|0,E2=($2^_2)>>>16|($2^_2)<<16,L2=E2+Ga|0,M2=(L2^Da)>>>12|(L2^Da)<<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,H2=R2+z2|0,D2=(H2^T2)>>>7|(H2^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+Ha|0,Q2=(Z2^Ca)>>>12|(Z2^Ca)<<20,tl=(he+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,hl=dl+ol|0,pl=(hl^C2)>>>12|(hl^C2)<<20,ml=(It+pl|0)+vl|0,xl=(ml^dl)>>>8|(ml^dl)<<24,gl=xl+hl|0,bl=(gl^pl)>>>7|(gl^pl)<<25,yl=(zt+D2|0)+K2|0,wl=(yl^el)>>>16|(yl^el)<<16,kl=wl+P2|0,_l=(kl^D2)>>>12|(kl^D2)<<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+H2|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,Hl=(Le+Rl|0)+zl|0,gf=(Hl^Tl)>>>8|(Hl^Tl)<<24,Dl=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=(he+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^Hl,Gf=rf^Kl,Xf=Dl^Zl,Jf=Wl^sf,Yf=bf^((rf^nf)>>>7|(rf^nf)<<25),Zf=yf^((Dl^Rl)>>>7|(Dl^Rl)<<25),Qf=wf^((Wl^ql)>>>7|(Wl^ql)<<25),tu=gf^((Ql^Yl)>>>7|(Ql^Yl)<<25);Ti=ae,Ui=Wf,Ri=Gf,Hi=Xf,Di=Jf,Vi=Yf,Ni=Zf,Fi=Qf,qi=tu}let ha=Ti,$0=Ui,E0=Ri,L0=Hi,M0=Di,O0=Vi,B0=Ni,P0=Fi,C0=qi,Ki=1+ha|0;if(Ki>>>0<16|0){ac=Ki,lc=$0,fc=E0,uc=L0,vc=M0,dc=O0,hc=B0,pc=P0,mc=C0;continue c}ac=Ki,lc=$0,fc=E0,uc=L0,vc=M0,dc=O0,hc=B0,pc=P0,mc=C0;break c}let ia=ac,aa=lc,la=fc,fa=uc,ua=vc,va=dc,xc=hc,gc=pc,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 H=1+rt|0;if(H>>>0<y>>>0|0){O=H;continue t}O=H;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 H=P;n:for(;;){let et=H;{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){H=ut;continue n}H=ut;break n}P=H}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,H=tt?O:0;t:{let Y=H;if(((P|0)!==0|0|0)===0|0){H=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 ht=ot;{let f=ht,l=10487904+(f<<5)|0,d=n[(l>>>0)+0>>>2],p=4+l|0,x=n[(p>>>0)+0>>>2],b=4+p|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),ht=f}let h=1+ht|0;if(h>>>0<rt>>>0|0){ot=h;continue o}ot=h;break o}Q=ot}F=Q}H=ut}let G=H;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 H=P;r:for(;;){let et=H;{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,ht=n[(dt>>>0)+0>>>2],_t=4+dt|0,h=n[(_t>>>0)+0>>>2],f=4+_t|0,l=n[(f>>>0)+0>>>2],d=4+f|0,p=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]=ht;let Ot=4+ze|0;n[(Ot>>>0)+0>>>2]=h;let re=4+Ot|0;n[(re>>>0)+0>>>2]=l;let Bt=4+re|0;n[(Bt>>>0)+0>>>2]=p;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){H=ut;continue r}H=ut;break r}P=H}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,H=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,ht=n[(dt>>>0)+0>>>2],_t=4+dt|0,h=n[(_t>>>0)+0>>>2],f=4+_t|0,l=n[(f>>>0)+0>>>2],d=n[((4+f|0)>>>0)+0>>>2],p=128+Math.imul(2144,K)|0,x=n[(p>>>0)+0>>>2],b=4+p|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[(H>>>0)+0>>>2],re=4+H|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=(ht+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,hc=(dc^cc)>>>12|(dc^cc)<<20,pc=(h+hc|0)+uc|0,mc=(pc^vc)>>>8|(pc^vc)<<24,ia=mc+dc|0,aa=(ia^hc)>>>7|(ia^hc)<<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,Hi=(Ri^aa)>>>12|(Ri^aa)<<20,Di=(B+Hi|0)+Ti|0,Vi=(Di^Ui)>>>8|(Di^Ui)<<24,Ni=Vi+Ri|0,Fi=(Ni^Hi)>>>7|(Ni^Hi)<<25,qi=(E+yc|0)+pc|0,ha=(qi^ac)>>>16|(qi^ac)<<16,$0=ha+ta|0,E0=($0^yc)>>>12|($0^yc)<<20,L0=(C+E0|0)+qi|0,M0=(L0^ha)>>>8|(L0^ha)<<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,pa=(ft+ae|0)+P0|0,Wi=(pa^C0)>>>8|(pa^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,He=(l+ao|0)+ro|0,It=(He^co)>>>8|(He^co)<<24,Lc=It+io|0,zt=(Lc^ao)>>>7|(Lc^ao)<<25,Mc=(lt+da|0)+Di|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,he=(t0^Fi)>>>12|(t0^Fi)<<20,Se=(F+he|0)+Qi|0,$e=(Se^de)>>>8|(Se^de)<<24,j0=$e+t0|0,Ee=(j0^he)>>>7|(j0^he)<<25,I0=(ht+B0|0)+pa|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)+He|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,ho=vo+kt|0,po=(ho^fo)>>>7|(ho^fo)<<25,U0=(E+Ee|0)+Yi|0,R0=(U0^It)>>>16|(U0^It)<<16,H0=R0+e0|0,D0=(H0^Ee)>>>12|(H0^Ee)<<20,V0=(h+D0|0)+U0|0,N0=(V0^R0)>>>8|(V0^R0)<<24,F0=N0+H0|0,q0=(F0^D0)>>>7|(F0^D0)<<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=(ht+Uc|0)+Ic|0,n0=(Rc^zc)>>>8|(Rc^zc)<<24,De=n0+Tc|0,pe=(De^Uc)>>>7|(De^Uc)<<25,me=(_+po|0)+V0|0,xe=(me^yo)>>>16|(me^yo)<<16,ge=xe+Cc|0,be=(ge^po)>>>12|(ge^po)<<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+ho|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,h0=(d0^r0)>>>12|(d0^r0)<<20,p0=(h+h0|0)+u0|0,m0=(p0^v0)>>>8|(p0^v0)<<24,x0=m0+d0|0,Hc=(x0^h0)>>>7|(x0^h0)<<25,Dc=(g+Ge|0)+ye|0,g0=(Dc^n0)>>>16|(Dc^n0)<<16,b0=g0+l0|0,y0=(b0^Ge)>>>12|(b0^Ge)<<20,w0=(F+y0|0)+Dc|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+De|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,Ht=(x+pe|0)+i0|0,Nc=(Ht^Ke)>>>16|(Ht^Ke)<<16,Dt=Nc+s0|0,Fc=(Dt^pe)>>>12|(Dt^pe)<<20,Vt=(Q+Fc|0)+Ht|0,qc=(Vt^Nc)>>>8|(Vt^Nc)<<24,Nt=qc+Dt|0,Kc=(Nt^Fc)>>>7|(Nt^Fc)<<25,Ft=(_+Kc|0)+p0|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+Hc|0)+w0|0,Yc=(Gt^to)>>>16|(Gt^to)<<16,Xt=Yc+Nt|0,Zc=(Xt^Hc)>>>12|(Xt^Hc)<<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,hi=(ht+ti|0)+Kt|0,pi=(hi^ui)>>>16|(hi^ui)<<16,Co=pi+si|0,eo=(Co^ti)>>>12|(Co^ti)<<20,jo=(F+eo|0)+hi|0,Io=(jo^pi)>>>8|(jo^pi)<<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,Ho=Ro+vi|0,Do=(Ho^ri)>>>12|(Ho^ri)<<20,Vo=(X+Do|0)+Uo|0,No=(Vo^Ro)>>>8|(Vo^Ro)<<24,Fo=No+Ho|0,qo=(Fo^Do)>>>7|(Fo^Do)<<25,Ko=(h+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,hn=(dn^fn)>>>8|(dn^fn)<<24,pn=hn+un|0,mn=(pn^vn)>>>7|(pn^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,Hn=(Rn^zn)>>>7|(Rn^zn)<<25,Dn=(d+An|0)+dn|0,Vn=(Dn^Un)>>>16|(Dn^Un)<<16,Nn=Vn+Bn|0,Fn=(Nn^An)>>>12|(Nn^An)<<20,qn=(X+Fn|0)+Dn|0,Kn=(qn^Vn)>>>8|(qn^Vn)<<24,Wn=Kn+Nn|0,Gn=(Wn^Fn)>>>7|(Wn^Fn)<<25,Xn=(h+Pn|0)+wn|0,Jn=(Xn^hn)>>>16|(Xn^hn)<<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+Hn|0)+Mn|0,ss=(ns^kn)>>>16|(ns^kn)<<16,rs=ss+pn|0,cs=(rs^Hn)>>>12|(rs^Hn)<<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,hs=(ds^mn)>>>12|(ds^mn)<<20,ps=(ht+hs|0)+us|0,ms=(ps^vs)>>>8|(ps^vs)<<24,xs=ms+ds|0,gs=(xs^hs)>>>7|(xs^hs)<<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=(h+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,Hs=(Rs^zs)>>>8|(Rs^zs)<<24,Ds=Hs+Ts|0,Vs=(Ds^Us)>>>7|(Ds^Us)<<25,Ns=(ft+fs|0)+ps|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+Ds|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,hr=(dr^Ps)>>>16|(dr^Ps)<<16,pr=hr+Ss|0,mr=(pr^Js)>>>12|(pr^Js)<<20,xr=(l+mr|0)+dr|0,gr=(xr^hr)>>>8|(xr^hr)<<24,br=gr+pr|0,yr=(br^mr)>>>7|(br^mr)<<25,wr=(ht+$s|0)+Ws|0,kr=(wr^Hs)>>>16|(wr^Hs)<<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=(h+sr|0)+lr|0,Tr=(zr^gr)>>>16|(zr^gr)<<16,Ur=Tr+Er|0,Rr=(Ur^sr)>>>12|(Ur^sr)<<20,Hr=(F+Rr|0)+zr|0,xi=(Hr^Tr)>>>8|(Hr^Tr)<<24,Dr=xi+Ur|0,Vr=(Dr^Rr)>>>7|(Dr^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)+Hr|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=(ht+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+Dr|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 Ha=4+Ra|0;n[(Ha>>>0)+0>>>2]=W0^ja;let Da=4+Ha|0;n[(Da>>>0)+0>>>2]=_a^((X0^Ca)>>>7|(X0^Ca)<<25);let Va=4+Da|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 D(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:D,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 Dd;function Vd(o={},t){return Dd||(Dd=f3(o,t))}var bp=mp(Vd,gp,"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 yp(...o){if(o.length===0)throw new RangeError("hash requires entropy");let t=bp.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(yp("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 vp(e)}};function wp({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)}async function kp(o){return new Promise((t,e)=>{o.onsuccess=()=>t(o.result),o.onerror=()=>e(o.error)})}function _p({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,kp);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=_p(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(wp(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 Ap=(o,t)=>o<t?-1:o>t?1:0;function Sp(o,{start:t,end:e}){return!(t!==void 0&&o<t||e!==void 0&&o>=e)}function*Nd(o,t){if(o.limit===0)return;let e=t.filter(([s,r])=>r!==void 0&&Sp(s,o)).sort(([s],[r])=>Ap(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*Nd(t,[...this.#t.entries()].map(([e,s])=>[e,structuredClone(s)]))}};async function $p(o,t=o){return{db:await new Promise((s,r)=>{let n=indexedDB.open(o,1);n.onblocked=()=>r(new Error("idb blocked")),n.onerror=()=>r(n.error),n.onupgradeneeded=()=>n.result.createObjectStore(t),n.onsuccess=()=>s(n.result)}),storeName:t}}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 Df=hf({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(Df.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}=Df,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 Ep(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 Mp(o){for(let t of o){if(t==="")throw new Error("invalid scope empty string");Lp(t,"."),Lp(t,":")}return o}function Lp(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},Mp(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=Ep(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>=Df.chunkSize&&(await this.commit(e),e=[]);e.length&&await this.commit(e)}};async function Op(o,t){let e=()=>{};if(!t){let s=await $p(o,"kv"),r=new o1(s);t=new l1(r),e=()=>s.db.close()}return{kv:t,dispose:e}}function Fd(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=Fd(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 Bp(o,t){return v2(o)===v2(t)}var u1=class{#t;constructor(t){this.#t=t}#e(t){if(!Bp(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 Fd(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 Pp(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=Pp(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 h1(o){let[t,e]=Object.entries(o)[0];return{key:t,profile:e}}async function Cp(o,t){let e=()=>{};if(!t){let s=new BroadcastChannel(o);t=s,e=()=>s.close()}return{broadcastChannel:t,dispose:e}}async function jp(o){let{dispose:t,schedule:e,disposable:s}=J0(),r=o.namespace?`tact_${o.namespace}`:"tact",{kv:n}=s(await Op(r,o.kv)),{broadcastChannel:c}=s(await Cp(r,o.broadcastChannel));try{let{maxPlayers:i}=o,{bindings:a}=h1(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(),lp({hub:u,controls:v,maxPlayers:i,dispose:t})}catch(i){throw t(),i}}var qd=1024,p1=class{dispose;#t;#e=[];constructor(t){this.#t=t,this.dispose=t.onSample(e=>{this.#e.push(e),this.#e.length>qd&&console.warn(`tact sampler exceeded limit ${qd}`),this.#e=Dh(this.#e,qd)})}take(){this.#t.poll?.();let t=this.#e;return this.#e=[],t}};var{min:h3,max:p3,abs:m3,sign:x3,floor:Sk,ceil:$k,pow:Ek}=Math;function xf(o,t=0,e=1){return o=h3(o,e),o=p3(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 Ip(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 Kd(o,t){let e=s=>Kd(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 Ip(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 zp(){return{value:0,was:0,sum:0}}function Wd(o){let t=v2(o),e=[];function s(n,c){if(mf(n)){let i=zp();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=hf(structuredClone(t.bindings)),this.#n=Wd(this.#e),this.#t=new p1(t.source),this.#o=new g1}get bindings(){return this.#e}set bindings(t){let e=hf(structuredClone(t)),s=Wd(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=Kd(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 Tp(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(Tp(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 Up(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 Rp(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=Th(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 Hp=h2`@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 ts=G`@layer vars {
58
+ }`;var Dp=h2`@layer vars {
59
59
 
60
60
  :is(:root, :host) {
61
- ${En({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"})}
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 _n([r,t]){return`--${r}: var(--shiny-${r}, ${t});`}function En(r){return Object.entries(r).map(_n).join(`
65
- `)}var es=G`@layer reset {
64
+ }`;function y3([o,t]){return`--${o}: var(--shiny-${o}, ${t});`}function w3(o){return Object.entries(o).map(y3).join(`
65
+ `)}var Vp=h2`@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 rs=G`
81
+ }`;var Np=h2`
82
82
 
83
83
  @layer vars, reset, core, underlay, view, overlay;
84
84
 
85
- ${ts}
86
- ${es}
87
- ${Yo}
85
+ ${Dp}
86
+ ${Vp}
87
+ ${Hp}
88
88
 
89
- `;var Cr=new CSSStyleSheet;Cr.replaceSync(rs);var Tt=class{length=1;$index=S(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 os=b`@layer view {
89
+ `;var Gd=new CSSStyleSheet;Gd.replaceSync(Np);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 Fp=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 ss=yo((r={})=>{Et("shiny-tabs"),Ct(Cr,os);let t=Zt(),e=w(()=>g.attrs(t).spec({index:Number})),o=w(()=>r.control??new Tt(e.index??0)),s=V([]),n=V([]);function i(l){let p=l.currentTarget;s(p.assignedElements())}function a(l){let p=l.currentTarget;n(p.assignedElements())}e.index=o.$index(),o.length=s().length;function c(l,p){let u=o.clamp(l+p);return u===l?!1:u===o.index}for(let[l,p]of s().entries()){let u=l===o.index,d=g.attrs(p);d.booleans.disabled=u,d.booleans["data-snug"]=r.snug,d.booleans["data-tabbed"]=u,d.booleans["data-first"]=l===0,d.booleans["data-last"]=l===o.length-1,d.booleans["data-next-is-tabbed"]=c(l,1),d.booleans["data-previous-is-tabbed"]=c(l,-1),p.onclick=()=>o.setIndex(l)}for(let[l,p]of n().entries()){let u=l===o.index;g.attrs(p).booleans["data-tabbed"]=u,g.attrs(p).booleans.hidden=!u}return h`
132
- <slot part=tabs ?data-snug="${r.snug}" @slotchange="${i}"></slot>
133
- <slot part=panels name=panel @slotchange="${a}"></slot>
134
- `});var ns=b`@layer view {
131
+ } `;var qp=tp((o={})=>{Uf("shiny-tabs"),Rf(Gd,Fp);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 Kp=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 Y=b`
199
+ }`;var w2=ee`
200
200
  @layer theme, view;
201
201
  @layer theme {
202
202
 
203
- ${At}
203
+ ${zf}
204
204
 
205
205
  :host {
206
206
  --prime: var(--tact-prime, #fb0);
@@ -305,7 +305,7 @@ ${At}
305
305
  box-shadow: inset 0 0 1em oklch(from var(--chill) l c h / 20%);
306
306
  }
307
307
 
308
- }`;var Bt=f`<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 is=f`<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 as=b`@layer view {
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 Wp=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 Gp=ee`@layer view {
309
309
 
310
310
  .plate {
311
311
  user-select: none;
@@ -459,96 +459,96 @@ ${At}
459
459
  }
460
460
  }
461
461
 
462
- }`;var cs=f`<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 rr=f`<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 Yt=A(r=>{let{dnd:t}=r.context,e=t.dropzone(()=>({playerId:r.playerId}));return h`
463
- <div class="${r.class}"
464
- theme-card="${r.themeCard??""}"
462
+ }`;var Xp=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===r.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
- ${r.content}
472
+ ${o.content}
473
473
  </div>
474
- `});var ls=f`<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 us(r){return r*137.508}var or=A((r,t,e)=>{let{profiles:o}=r.controls;function s(n){let i=n.currentTarget;e(i.value)}return h`
474
+ `});var Jp=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 Yp(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="${s}">
479
+ @change="${r}">
480
480
 
481
- ${o.presets.map(([n,i])=>h`
481
+ ${s.presets.map(([n,c])=>I`
482
482
  <option
483
483
  value="${n}"
484
484
  ?selected="${n===t}">
485
- ${i.label}
485
+ ${c.label}
486
486
  </option>
487
487
  `)}
488
488
 
489
- ${o.customs.map(([n,i])=>h`
489
+ ${s.customs.map(([n,c])=>I`
490
490
  <option
491
491
  value="${n}"
492
492
  ?selected="${n===t}">
493
- ${i.label}
493
+ ${c.label}
494
494
  </option>
495
495
  `)}
496
496
  </select>
497
- `});var sr=A((r,t)=>{let{deck:e,dnd:o}=r,{controls:s}=e,n=o.dragzone(()=>({controller:t})),i=s.assignments.assignedProfileKeyOf(t),a=s.meta(t)??{id:0,icon:Bt,handle:"controller",name:"controller",tooltip:"",defaultProfileKey:s.fallbackProfileKey},c=`--hue: ${us(a?.id??0)};`;return h`
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: ${Yp(i?.id??0)};`;return I`
498
498
  <div class=controller
499
- style="${c}"
499
+ style="${a}"
500
500
  theme-card
501
- ?data-dragging="${o.dragging?.controller===t}"
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
- ${ls}
507
+ ${Jp}
508
508
  </div>
509
509
 
510
- <h4 class=label title="${a.tooltip}">
511
- <span class=icon>${a.icon}</span>
512
- <span class=name>${a.name}</span>
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
- ${or(e,i,l=>{s.assignments.assign(t,l)})}
515
+ ${$1(e,c,u=>{r.assignments.assign(t,u)})}
516
516
  </div>
517
- `});var ps=A((r,t,e)=>{let{hub:o}=r.deck,s=()=>o.deletePlayer(t),n=o.controllers.assigned.get(t)??[];return Yt({class:"player",playerId:t,context:r,content:h`
517
+ `});var Zp=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
- ${St(o.playerIds.length>1,()=>h`
522
- <button theme-button="naked angry" @click=${s}>
523
- ${rr}
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(i=>sr(r,i))}
529
+ ${n.map(c=>E1(o,c))}
530
530
  </div>
531
- `})});var Mr=Symbol("droppyNewPlayer");var[hs,ds]=X(r=>{B(Y,as);let{hub:t}=r,e=t.controllers,o=()=>r.hub.createPlayer(),s=(i,a)=>ps(n,i,a),n=w(()=>({deck:r,dnd:new ke.DragAndDrops({acceptDrop(i,a,c){c.playerId===Mr?t.plug(a.controller,t.createPlayer()):E(c.playerId)?t.plug(a.controller,c.playerId):t.unplug(a.controller)}})}));return h`
531
+ `})});var Xd=Symbol("droppyNewPlayer");var[Qp,tm]=b2(o=>{n2(w2,Gp);let{hub:t}=o,e=t.controllers,s=()=>o.hub.createPlayer(),r=(c,i)=>Zp(n,c,i),n=ne(()=>({deck:o,dnd:new Vu.DragAndDrops({acceptDrop(c,i,a){a.playerId===Xd?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(s)}
534
+ ${t.playerIds.map(r)}
535
535
 
536
- ${St(t.playerIds.length<r.maxPlayers,()=>Yt({class:"player new",themeCard:"dull",playerId:Mr,context:n,content:h`
537
- <button theme-button=naked @click="${o}">
538
- ${cs}
536
+ ${If(t.playerIds.length<o.maxPlayers,()=>bu({class:"player new",themeCard:"dull",playerId:Xd,context:n,content:I`
537
+ <button theme-button=naked @click="${s}">
538
+ ${Xp}
539
539
  <span>add player</span>
540
540
  </button>
541
541
  `}))}
542
542
 
543
- ${Yt({class:"player unassigned",themeCard:"dull",playerId:null,context:n,content:h`
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(i=>sr(n,i))}
546
+ ${e.unassigned.map(c=>E1(n,c))}
547
547
  </div>
548
548
  `})}
549
549
  </div>
550
550
  </div>
551
- `});var ms=b`@layer view {
551
+ `});var em=ee`@layer view {
552
552
 
553
553
  .plate {
554
554
  display: flex;
@@ -688,131 +688,131 @@ ${At}
688
688
  }
689
689
  }
690
690
 
691
- }`;var fs=f`<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 gs=f`<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 Pr(){return be.random(16)}var bs=f`<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 xs=f`<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 ws=f`<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 ys(r,t){let e=new Set,o=new Set;function s(a){if(a==="ShiftLeft"||a==="ShiftRight")return"shift";if(a==="ControlLeft"||a==="ControlRight")return"ctrl";if(a==="MetaLeft"||a==="MetaRight")return"meta";if(a==="AltLeft"||a==="AltRight")return"alt"}let n=C(window,{blur:()=>i(),keydown:a=>{if(a.preventDefault(),a.code==="Escape")return i();e.add(a.code),o.add(a.code)},keyup:a=>{if(a.preventDefault(),e.delete(a.code),e.size===0){let c=new Set,l=new Set;for(let p of o){let u=s(p);u?l.add(u):c.add(p)}o.size===0||(c.size===0?r(["*",...o]):l.size>0?r(["*",["mod",...l],...c]):o.size>1?r(["*",...o]):r([...o][0])),i()}}}),i=()=>{n(),t()};return i}function vs(r,t){let{dispose:e,schedule:o}=W();o(t);let s=new Set,n=new Set,i=new Set;return o(C(window,{blur:()=>e()})),o(Qe(a=>{let c=new zt(a);return s.add(c),c.onSample(l=>{if(l.code!=="gamepad.any")if(l.value>.9)n.add(l.code),i.add(l.code);else{if(!n.delete(l.code))return;n.size===0&&(i.size===1?r([...i][0]):i.size>1&&r(["*",...i]),e())}}),()=>{c.dispose(),s.delete(c)}})),o(vt(async()=>{for(let a of s)a.poll();await kt(16.67)})),e}function $s(r,t){let{dispose:e,schedule:o}=W();o(t);let s=new Set,n=new Set,i=a=>a.composedPath().some(c=>c instanceof Element&&c.matches("button.record"));return o(C(window,{blur:()=>e(),auxclick:a=>a.preventDefault(),mousedown:a=>{if(i(a))return;a.preventDefault();let c=Ot(a.button);s.add(c),n.add(c)},mouseup:a=>{let c=Ot(a.button);s.delete(c)&&(a.preventDefault(),s.size===0&&(n.size===1?r([...n][0]):n.size>1&&r(["*",...n]),e()))},contextmenu:a=>{a.preventDefault()}})),e}var ks=A((r,t,e,o)=>{let s=V(null),n=()=>s(null),i=()=>{let{dispose:p,schedule:u}=W();u(n),u(ys(t,p)),u(vs(t,p)),u($s(t,p)),s(p)},a=()=>{s()?.(),n()};function c(){s()?a():i()}function l(){a(),e()}return _o(a),h`
692
- <div class=recorder ?data-recording="${!!s()}">
693
- ${o}
694
- ${r?null:h`
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 Jd(){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 cp(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=${c}>
700
- ${s()?ws:bs}
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=${l}>
707
- ${xs}
706
+ @click=${u}>
707
+ ${rm}
708
708
  </button>
709
709
  `}
710
710
  </div>
711
- `});var zr=A((r,t,e)=>{if(!E(t))return h`
711
+ `});var Yd=Ei((o,t,e)=>{if(!k0(t))return I`
712
712
  <div class=null>unset</div>
713
- `;if(wt(t))return h`
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="${r}"
721
- @change="${o=>{let n=o.currentTarget.valueAsNumber;Number.isFinite(n)&&e(n)}}"
720
+ ?readonly="${o}"
721
+ @change="${s=>{let n=s.currentTarget.valueAsNumber;Number.isFinite(n)&&e(n)}}"
722
722
  />
723
723
  </div>
724
- `;if(yt(t))return h`
724
+ `;if(Of(t))return I`
725
725
  <input
726
726
  type=text
727
727
  theme-input
728
728
  .value="${t}"
729
- ?readonly="${r}"
730
- @change="${o=>{let n=o.currentTarget.value;e(n)}}"/>
731
- `;if(xe(t))return t[0]==="mod"?h`
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
- ${!r&&t.slice(1).length>0?h`
735
+ ${!o&&t.slice(1).length>0?I`
736
736
  <button
737
737
  theme-button=naked
738
738
  @click="${()=>e([t[0]])}">
739
- ${rr}
739
+ ${S1}
740
740
  </button>
741
741
  `:null}
742
742
  </div>
743
- `:h`
743
+ `:I`
744
744
  <div class=bracket>
745
- ${t[0]==="*"?null:h`
745
+ ${t[0]==="*"?null:I`
746
746
  <strong>${t[0]}</strong>
747
747
  `}
748
- ${t.slice(1).map((o,s)=>zr(r,o??null,n=>{let i=structuredClone(t);i[s+1]=n,e(i)}))}
748
+ ${t.slice(1).map((s,r)=>Yd(o,s??null,n=>{let c=structuredClone(t);c[r+1]=n,e(c)}))}
749
749
  </div>
750
- `;throw new Error("unknown expression")});function nr(r,t,e,o){return ut(t)?zr(r,t,o):Object.entries(t).map(([s,n])=>ut(n)?Mn(r,t,e,o,s):Cn(r,t,e,o,s))}function Cn(r,t,e,o,s){return h`
750
+ `;throw new Error("unknown expression")});function L1(o,t,e,s){return mf(t)?Yd(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>${s}</summary>
752
+ <summary>${r}</summary>
753
753
  <div class=children>
754
- ${nr(r,t[s],e[s],n=>o({...t,[s]:n}))}
754
+ ${L1(o,t[r],e[r],n=>s({...t,[r]:n}))}
755
755
  </div>
756
756
  </details>
757
- `}function Mn(r,t,e,o,s){let n=a=>o({...t,[s]:a});return h`
757
+ `}function _3(o,t,e,s,r){let n=i=>s({...t,[r]:i});return I`
758
758
  <div class=expression>
759
- <strong>${s}</strong>
760
- ${ks(r,n,()=>n(e[s]),nr(r,t[s],e[s],n))}
759
+ <strong>${r}</strong>
760
+ ${fm(o,n,()=>n(e[r]),L1(o,t[r],e[r],n))}
761
761
  </div>
762
- `}var[Ss,As]=X(r=>{B(Y,ms);let{controls:t,controls:{profiles:e}}=r,o=V(t.fallbackProfileKey),s=e.get(o()),n=e.isPreset(o()),i=s.basedOn?e.get(s.basedOn):s,a=u=>{let d=o();if(e.isPreset(d)){let _=d,tt=Pr();d=tt,e.clone(tt,_)}e.update(d,{bindings:u}),o(d)},c=(u,d)=>e.update(u,{label:d}),l=()=>{let u=Pr();e.clone(u,o()),o.set(u)},p=()=>{e.delete(o()),o(t.fallbackProfileKey)};return h`
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 D=$,pt=Jd();$=pt,await e.clone(pt,D)}await e.update($,{bindings:m}),s($)},a=(m,$)=>e.update(m,{label:$}),u=()=>{let m=Jd();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
- ${or(r,o(),o)}
766
+ ${$1(o,s(),s)}
767
767
 
768
- <button title="copy this profile" theme-button=naked @click="${l}">
769
- ${fs}
768
+ <button title="copy this profile" theme-button=naked @click="${u}">
769
+ ${om}
770
770
  </button>
771
771
 
772
- ${n?null:h`
773
- <button title="delete this profile" theme-button=naked @click="${p}">
774
- ${gs}
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
- ${St(n,()=>h`<small>readonly</small>`)}
779
- ${ye(s.basedOn,u=>h`<small>based on ${e.get(u).label}</small>`)}
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:h`
783
+ ${n?null:I`
784
784
  <input
785
785
  type=text
786
786
  theme-input
787
- .value="${s.label}"
788
- @change="${u=>{let d=u.currentTarget;c(o(),d.value)}}"
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
- ${nr(!1,s.bindings,i.bindings,a)}
795
+ ${L1(!1,r.bindings,c.bindings,i)}
796
796
  </div>
797
797
  </div>
798
- `});var[Iw,_s]=X(r=>{B(Y,ns);let t={slot:"panel"},e=w(()=>new Tt);return w(()=>{window.location.hash.includes("bindings")&&e.setIndex(1)}),h`
798
+ `});var[oS,dm]=b2(o=>{n2(w2,Kp);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
- ${ss.with({props:[{control:e}],children:h`
800
+ ${qp.with({props:[{control:e}],children:I`
801
801
  <button theme-button>
802
- ${Bt}
802
+ ${Kf}
803
803
  <span>controllers</span>
804
804
  </button>
805
805
 
806
806
  <button theme-button>
807
- ${is}
807
+ ${Wp}
808
808
  <span>customize</span>
809
809
  </button>
810
810
 
811
- ${hs.with({attrs:t,props:[r]})}
812
- ${Ss.with({attrs:t,props:[r]})}
811
+ ${Qp.with({attrs:t,props:[o]})}
812
+ ${um.with({attrs:t,props:[o]})}
813
813
  `})}
814
814
  </div>
815
- `});var Es=b`@layer view {
815
+ `});var hm=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[qw,Cs]=X(r=>(B(Y,Es),h`
836
+ }`;var[fS,pm]=b2(o=>(n2(w2,hm),I`
837
837
  <slot></slot>
838
- <output class=viz>${r.$hex()}</output>
839
- `));var Ms=f`<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 Ps(r){let t=await Wo(r),e=Ue(t.controls.presets),o=new We(e.profile.bindings),s=new Ye,n={TactDeck:_s(t),TactCustomize:As(t),TactControllers:ds(t),TactVisualizer:Cs(s)};function i(l){return Qo(t.hub,(p,u)=>{let d=`${u.pad.gamepad.id} ${u.pad.gamepad.index+1}`;return t.controls.attach(p,{icon:Bt,handle:d,tooltip:d,name:Xo(d,32),defaultProfileKey:l??e.key}),()=>t.controls.detach(p)})}function a(){let{key:l,profile:p}=e,u=new Pt({bindings:p.bindings,source:new Xe(new er,new tr)});return t.hub.plug(u),t.controls.attach(u,{icon:Ms,handle:"standard",name:"mouse/keyboard",tooltip:"",defaultProfileKey:l}),u}function c(){ee(n)}return{deck:t,collector:o,gamepads:i,mouseKeyboard:a,visualizer:s,elements:n,registerElements:c}}var te=await Ps({presets:zo,maxPlayers:4});te.mouseKeyboard();te.gamepads("gamer");te.registerElements();vt(async()=>{let r=te.deck.hub.encodeAll();te.visualizer.update(r),await kt(1e3/60)});{let r=g('input[type="color"]');r.value="#ffbb00",r.oninput=()=>document.body.style.setProperty("--tact-prime",r.value)}
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 jp(o)),n=h1(r.controls.presets),c=new k1,i={TactDeck:dm(r),TactCustomize:vm(r),TactControllers:tm(r),TactVisualizer:pm(c)};function a(m){let $=Up(r.hub,(D,pt)=>{let bt=`${pt.pad.gamepad.id} ${pt.pad.gamepad.index+1}`;return r.controls.attach(D,{icon:Kf,handle:bt,tooltip:bt,name:Rp(bt,32),defaultProfileKey:m??n.key}),()=>r.controls.detach(D)});return e($),$}function u(){let{key:m,profile:$}=n,D=s(new Vf({bindings:$.bindings,source:s(new w1(s(new A1),s(new _1)))}));return r.hub.plug(D),r.controls.attach(D,{icon:mm,handle:"standard",name:"mouse/keyboard",tooltip:"",defaultProfileKey:m}),e(()=>{r.hub.remove(D),r.controls.detach(D)}),D}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:up,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