tutuca 0.9.13 → 0.9.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tutuca-dev.js +4771 -4773
- package/dist/tutuca-dev.min.js +3 -3
- package/dist/tutuca-extra.js +4771 -4773
- package/dist/tutuca-extra.min.js +3 -3
- package/dist/tutuca.js +1014 -1016
- package/dist/tutuca.min.js +3 -3
- package/package.json +1 -1
package/dist/tutuca.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
class Jt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Ot extends Jt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Ot({...this.binds,key:t})}withKey(t){return new Ot({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class ae extends Jt{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new Ne(this.field,t)}withKey(t){return new Ve(this.field,t)}}class ke extends Jt{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class Ve extends ke{}class Ne extends ke{}var W=Symbol("NONE");class me extends Jt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,W),s=t?.get(this.keyField,W);return s!==W&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,W),s=t?.get(this.keyField,W);return r===W||s===W?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class tt{constructor(t=[]){this.steps=t}concat(t){return new tt(this.steps.concat(t))}popStep(){return new tt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,W),r===W)return e;return r}setValue(t,e){let r=Array(this.steps.length),s=t;for(let n=0;n<this.steps.length;n++)if(r[n]=s,s=this.steps[n].lookup(s,W),s===W)return t;let i=e;for(let n=this.steps.length-1;n>=0;n--)i=this.steps[n].setValue(r[n],i),r[n]=i;return i}buildStack(t){let e=t.it,r=e;for(let s of this.steps){if(r=s.lookup(r,W),r===W)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],c=null,f=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:y}=Fs(t.previousSibling),{eid:d,cid:S,vid:D}=t.dataset;if(d!==void 0)o.push(d);if(S!==void 0){let v=i.getComponentForId(+S,D);if(_){if(c=Uh(v,o,D,e),c===null&&n)return Kh;_=!1}let Ps=$h(v,f,D);if(Ps)h.push(Ps);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new tt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return tt.fromNodeAndEventName(h,n,e,r,s,i)}}var xs={};function Fs(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=Fs(t.previousSibling);if(e!==xs)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return xs}function Uh(t,e,r,s){for(let i of e){let n=t.getEventForId(+i,r).getHandlersFor(s);if(n!==null)return n}return null}function $h(t,e,r){for(let s=0;s<e.length;s++){let i=t.getNodeForId(+e[s].nid,r),n=i.pathInNext?s+1:s,{si:h,sk:u,nid:o}=e[n],c=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(c!==null)return h!==void 0?c.withIndex(+h):u?c.withKey(u):c}return null}var Kh=[null,null];class ve{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new ae(t))}index(t,e){return this.add(new Ne(t,e))}key(t,e){return this.add(new Ve(t,e))}}var Lh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ht=(t)=>Lh.test(t),Dh=/^-?[0-9]+(\.[0-9]+)?$/,ks=(t,e)=>er.parse(t,e),Tt=(t,e)=>new C(t),Wh=(t,e)=>ht(t)?new ut(t):null,Rh=(t,e)=>ht(t)?new ti(t):null,Jh=(t,e)=>ht(t)?new sr(t):null,Th=(t,e)=>ht(t)?new si(t):null,Zh=(t,e)=>ht(t)?new ii(t):null,Hh=(t,e)=>ht(t)?new ni(t):null,Xh=(t,e)=>ht(t)?new ei(t):null;class Vs{constructor(){this.allowFieldOnly(),this.bindValIt=new sr("it"),this.nullConstVal=new C(null)}const(t){return new C(t)}allowFieldOnly(){this.okField=!0,this.okBind=!1,this.okComputed=!1,this.okDyn=!1,this.okType=!1,this.okRequest=!1,this.okName=!1,this.okConst=!1,this.okStrTpl=!1,this.okSeqAccess=!1}_parseSeqAccess(t,e){if(!this.okSeqAccess)return null;let r=t.indexOf("[");this.allowFieldOnly();let s=this.parse(t.slice(0,r),e),i=this.parse(t.slice(r+1,-1),e);return s&&i?new hi(s,i):null}parse(t,e){switch(Gh(t)){case ui:return this.okStrTpl?ks(t,e):null;case ci:return this.okStrTpl?Tt(t,e):null;case oi:return this._parseSeqAccess(t,e);case ye:return this.okStrTpl?ks(t,e):null}let r=t.charCodeAt(0);switch(r){case 94:{let i=e.frame.macroVars?.[t.slice(1)];if(i!==void 0)return this.parse(i,e);return null}case 126:return this.okStrTpl?Tt(t.slice(1),e):null;case 39:return this.okStrTpl?Tt(t.slice(1,-1),e):null;case 64:return this.okBind?Jh(t.slice(1),e):null;case 42:return this.okDyn?Th(t.slice(1),e):null;case 46:return this.okField?Zh(t.slice(1),e):null;case 36:return this.okComputed?Hh(t.slice(1),e):null;case 33:return this.okRequest?Xh(t.slice(1),e):null}let s=Dh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Tt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Tt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Wh(t,e):null;else if(r>=65&&r<=90)return this.okType?Rh(t,e):null;return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s&&(s.toRawFieldVal?s.toRawFieldVal():new r(s.name))}parseHandlerName(t,e){return this._parseHandler(t,e,Ns)}parseAlter(t,e){return this._parseHandler(t,e,ms)}parseAttr(t,e){return this.parseText(t,e)}parseAll(t,e){return this.allowHandlerArg(),this.okStrTpl=!0,this.okSeqAccess=!0,this.parse(t,e)}parseCondValue(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.parse(t,e)}parseText(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.okStrTpl=!0,this.parse(t,e)}parseRender(t,e){return this.allowFieldOnly(),this.okSeqAccess=!0,this.parse(t,e)}}class ge{render(t,e){}eval(t){}toPathItem(){return null}}class C extends ge{constructor(t){super();this.val=t}render(t,e){return this.val}eval(t){return this.val}toString(){let t=this.val;return typeof t==="string"?`'${t}'`:`${t}`}}class tr extends ge{}class er extends tr{constructor(t){super();this.vals=t}render(t,e){return this.eval(t)}eval(t){let e=Array(this.vals.length);for(let r=0;r<this.vals.length;r++)e[r]=this.vals[r]?.eval(t,"");return e.join("")}static parse(t,e){let r=t.split(/(\{[^}]+\})/g),s=Array(r.length),i=!0;for(let n=0;n<r.length;n++){let h=r[n],o=h[0]==="{"&&h.at(-1)==="}"?p.parseText(h.slice(1,-1),e):new C(h);s[n]=o,i&&=o instanceof C}return i?new C(s.map((n)=>n.val).join("")):new er(s)}}class ut extends tr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class Ns extends ut{eval(t){return t.getHandlerFor(this.name,"input")??vs("input",this.name)}}class ms extends ut{eval(t){return t.getHandlerFor(this.name,"alter")??vs("alter",this.name)}}var vs=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ti extends ut{eval(t){return t.lookupType(this.name)}}class ei extends ut{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ri extends ut{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class rr extends ge{render(t,e){return this.eval(t)}}class Zt extends rr{constructor(t){super();this.name=t}}class sr extends Zt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class si extends Zt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class ii extends Zt{eval(t){return t.lookupField(this.name)}toPathItem(){return new ae(this.name)}toRawFieldVal(){return new ri(this.name)}toString(){return`.${this.name}`}}class ni extends Zt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class hi extends rr{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new me(this.seqVal.name,this.keyVal.name)}eval(t){let e=this.keyVal.eval(t);return this.seqVal.eval(t).get(e,null)}toString(){return`${this.seqVal}[${this.keyVal}]`}}var ui=0,oi=1,ye=2,ci=3;function Gh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return ye;e+=1;break;case 93:if(r>0||e===0)return ye;r+=1;break;case 123:return ui;case 125:return ci}if(e>0||r>0)return e===1&&r===1?oi:ye;return-1}var p=new Vs;class Mt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return ur(e).parse(t,r)}isConstant(){return!1}}var Qh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",Yh=new Set(Qh.split(","));class fi{constructor(t){this.clear(t)}clear(t){this.px=t,this.attrs=null,this.hasDynamic=!1,this.wrapperAttrs=null,this.textChild=null,this.eachAttr=null,this.ifAttr=null,this.events=null}parseAttr(t,e,r=!1){let s=r?p.parseAll(e,this.px):p.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new de(t,s)),this.hasDynamic||=!(s instanceof C)}pushWrapper(t,e,r){let s={name:t,val:r,raw:e};return this.wrapperAttrs??=[],this.wrapperAttrs.push(s),s}parseIf(t,e){let r=p.parseCondValue(e,this.px);if(r)this.ifAttr=new ai(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=p.parseAttr(t,this.px)??Ht}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=p.parseAttr(t,this.px)??Ht}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=or.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new pe("data-eid",p.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new li(p.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,p.const(t));return;case"push-view":this.pushWrapper("push-view",t,p.parseText(t,this.px));return;case"text":this.textChild=p.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,p.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,p.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,p.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=p.parseAlter(t,this.px);else this.pushWrapper("scope",t,p.parseAlter(t,this.px));return;case"when":this._parseWhen(t);return;case"loop-with":this._parseLoopWith(t);return;case"then":this.parseThen(t);return;case"else":this.parseElse(t);return}if(e.startsWith("on."))this.parseEvent(e,t);else if(e.startsWith("if."))this.parseIf(e,t);else if(e.startsWith("then."))this.parseThen(t);else if(e.startsWith("else."))this.parseElse(t)}_parseWhen(t){if(this.eachAttr!==null)this.eachAttr.whenVal=p.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=p.parseAlter(t,this.px)}parse(t,e=!1){for(let{name:n,value:h}of t){let u=n.charCodeAt(0);if(u===58)this.parseAttr(n===":viewbox"?"viewBox":n.slice(1),h,e);else if(u===64)this.parseDirective(h,n.slice(1));else{this.attrs??=[];let o=h===""&&Yh.has(n)?!0:h;this.attrs.push(new pe(n,p.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new _i(r):nr.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class nr extends Mt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new nr(e)}setDataAttr(t,e){this.items[t]=e}toMacroVars(){let t={};for(let e in this.items)t[e]=`'${this.items[e]}'`;return t}isConstant(){return!0}}class _i extends Mt{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new pe(t,new C(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class hr{constructor(t){this.name=t}}class de extends hr{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class pe extends de{}class li extends de{constructor(t){super("dangerouslySetInnerHTML",t??p.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Ht=p.nullConstVal;class ai extends hr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Ht}get anyBranchIsSet(){return this.thenVal!==Ht||this.elseVal!==Ht}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var ir=null;function ur(t){return ir??=new fi(t),ir.clear(t),ir}class or{constructor(t,e=[]){this.handlerVal=t,this.args=e}getHandlerAndArgs(t,e){let r=Array(this.args.length);for(let s=0;s<r.length;s++)r[s]=this.args[s].eval(t);return[this.handlerVal.eval(t),r]}static parse(t,e){let[r,...s]=t.trim().split(/\s+/),i=p.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);p.allowHandlerArg();for(let h=0;h<s.length;h++){let u=p.parse(s[h],e);n[h]=u!==null?u:p.nullConstVal}return new or(i,n)}}class cr{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class qt{render(t,e){return e.renderEmpty()}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class Qt extends qt{constructor(t){super();this.val=t}render(t,e){return e.renderText(this.val)}isWhiteSpace(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.val=""}isConstant(){return!0}setDataAttr(t,e){}}class Gt extends Qt{render(t,e){return e.renderComment(this.val)}}function Bh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new pr(r);else r.optimize()}}function lr(t){if(t.isConstant())return new pr(t);return t.optimize(),t}class ar extends qt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Bh(this.childs)}}class we extends ar{constructor(t,e,r){super(r);this.tagName=t,this.attrs=e}render(t,e){let r=Array(this.childs.length);for(let s=0;s<r.length;s++)r[s]=this.childs[s]?.render?.(t,e)??null;return e.renderTag(this.tagName,this.attrs.eval(t),r)}setDataAttr(t,e){this.attrs.setDataAttr(t,e)}isConstant(){return this.attrs.isConstant()&&super.isConstant()}}class ze extends ar{render(t,e){return e.renderFragment(this.childs.map((r)=>r?.render(t,e)))}setDataAttr(t,e){for(let r of this.childs)r.setDataAttr(t,e)}}var Xt=(t)=>t.length===1?t[0]:new ze(t),Ch=/^[a-zA-Z][a-zA-Z0-9-]*$/,yi=null;class et extends qt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){yi??=e.newDOMParser();let r=yi.parseFromString(t,"text/html").body.childNodes;return et.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Qt(t.textContent);else if(e.isCommentNode(t))return new Gt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=et.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Xt(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Oe(null,p.const(u),Xt(n));case"text":{let c=p.parseText(u,e);return c!==null?new _r(null,c):null}case"render":return e.addNodeIf(Oi,p.parseRender(u,e),o);case"render-it":return e.addNodeIf(Mi,p.bindValIt,o);case"render-each":return gr.parse(e,p,u,o,s);case"show":return e.addNodeIf(dr,p.parseCondValue(u,e),Xt(n));case"hide":return e.addNodeIf(wr,p.parseCondValue(u,e),Xt(n))}return new Gt(`Error: InvalidSpecialTagOp ${h}=${u}`)}else if(i.charCodeAt(1)===58&&i.charCodeAt(0)===88){let h=i.slice(2).toLowerCase();if(h==="slot"){let c=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[c]??Xt(n)}let[u,o]=Mt.parse(s,e,!0);return e.onAttributes(u,o,null),gi(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(Ch.test(i)){let[h,u,o]=Mt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new _r(null,o));let c=i!=="PRE"?Vh(n):n;return gi(new we(i.toLowerCase(),h,c),e,u)}return new Gt(`Error: InvalidTagName ${i}`)}}function gi(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Ph(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Ph(t,e){let r=kh[t.name],s=r.register?e.addNodeIf(r,t.val):t.val&&new r(null,t.val);if(s!==null&&t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class Si extends qt{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new Gt(`bad macro: ${e}`);else{let n={...i.defaults,...r};this.node=i.expand(this.px.enterMacro(e,n,s));for(let h in this.dataAttrs)this.node.setDataAttr(h,this.dataAttrs[h])}}render(t,e){return this.node.render(t,e)}setDataAttr(t,e){this.dataAttrs[t]=e}isConstant(){return this.node.isConstant()}optimize(){this.node=lr(this.node)}}class yr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return et.parse(this.rawView,t)}}class Se extends et{constructor(t,e,r){super(t,e);this.viewId=r}}class Oi extends Se{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Mi extends Se{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class gr extends Se{constructor(t,e,r){super(t,e,r);this.iterInfo=new zr(e,null,null,null)}render(t,e){return e.renderEach(t,this.iterInfo,this.nodeId,this.viewId)}static parse(t,e,r,s,i){let n=t.addNodeIf(gr,e.parseEach(r,t),s);if(n!==null){let h=ur(t);h.eachAttr=h.pushWrapper("each",r,n.val);let u=i.getNamedItem("when");u&&h._parseWhen(u.value);let o=i.getNamedItem("loop-with");o&&h._parseLoopWith(o.value),n.iterInfo.whenVal=h.eachAttr.whenVal??null,n.iterInfo.loopWithVal=h.eachAttr.loopWithVal??null}return n}}class _r extends et{render(t,e){return e.renderText(this.val.eval(t))}}class pr extends qt{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ot extends et{constructor(t,e,r=null){super(t,e);this.node=r}wrapNode(t){this.node=t}setDataAttr(t,e){this.node.setDataAttr(t,e)}optimize(){this.node=lr(this.node)}static register=!1}class dr extends ot{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class wr extends ot{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class qi extends ot{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Oe extends ot{optimize(){this.node.optimize()}}class bi extends ot{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new Ot({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ei extends ot{constructor(t,e){super(t,e);this.iterInfo=new zr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Ot({})}static register=!0}class zr{constructor(t,e,r,s){this.val=t,this.whenVal=e,this.loopWithVal=r,this.enrichWithVal=s}eval(t){let e=this.val.eval(t)??[],r=this.whenVal?.eval(t)??xh,s=this.loopWithVal?.eval(t)??Fh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var xh=(t,e,r)=>!0,Fh=(t)=>({seq:t}),kh={slot:Oe,show:dr,hide:wr,each:Ei,scope:bi,"push-view":qi};class Yt{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new Yt(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new ji(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new ze(s)};for(let h of r)if(h instanceof Oe)i[h.val.val]=h.node;else if(!(h instanceof Qt)||!h.isWhiteSpace())s.push(h);let n=new Si(t,e,i,this);return this.macroNodes.push(n),n}compile(t){for(let e=0;e<this.macroNodes.length;e++)this.macroNodes[e].compile(t)}*genEventNames(){for(let t of this.events)yield*t.genEventNames()}getEventForId(t){return this.events[t]??null}getNodeForId(t){return this.nodes[t]??null}onAttributes(t,e,r){}}var fr=(t)=>t instanceof Qt&&t.isWhiteSpace(),pi=(t)=>t instanceof we||t instanceof ze&&t.childs[0]instanceof we;function Vh(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(fr(t[0]))r=1,s=!0;if(e>1&&fr(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(fr(n)&&pi(t[i-1])&&pi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class Me{constructor(t,e,r="",s=null,i=null){this.name=t,this.anode=s,this.style=r,this.ctx=i,this.rawView=e}compile(t,e,r){if(this.ctx=t,this.anode=et.parse(this.rawView,t),this.anode.setDataAttr("data-cid",r),this.anode.setDataAttr("data-vid",this.name),this.ctx.compile(e),t.cacheConstNodes)this.anode=lr(this.anode)}render(t,e){return this.anode.render(t,e)}}class ji{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Ii(t,e,r))}*genEventNames(){for(let t of this.handlers)yield t.name}getHandlersFor(t){let e=null;for(let r of this.handlers)if(r.handlesEventName(t))e??=[],e.push(r);return e}}class Ii{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=ru(t,r),this.modifiers=r}handlesEventName(t){return this.name===t}getHandlerAndArgs(t,e){let r=this.handlerCall.getHandlerAndArgs(t,e);return r[0]=this.modifierWrapper(r[0],e),r}}var Nh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),qe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,di=(t)=>qe((e)=>e.e.key===t),wi=qe(({e:t})=>Nh&&t.metaKey||t.ctrlKey),mh=qe(({e:t})=>t.metaKey),vh=qe(({e:t})=>t.altKey),zi={ctrl:wi,cmd:wi,meta:mh,alt:vh},tu={keydown:{send:di("Enter"),cancel:di("Escape"),...zi},click:{...zi}},eu=(t,e)=>t;function ru(t,e){if(e.length===0)return eu;let r=tu[t]??{},s=(i,n,h,u)=>n.apply(i,h);for(let i of e){let n=r[i];if(n!==void 0)s=n(s)}return(i,n)=>function(...h){return s(this,i,h,n)}}class Sr{get(t,e){}set(t,e,r){}get2(t,e,r){}set2(t,e,r,s){}evict(){return{hit:0,miss:0,badKey:0}}}class Or{constructor(){this.hit=this.miss=this.badKey=0,this.map=new WeakMap}_returnValue(t){if(t===void 0)this.miss+=1;else this.hit+=1;return t}get(t,e){return this._returnValue(this.map.get(t)?.[e])}set(t,e,r){let s=this.map.get(t);if(s)s[e]=r;else if(typeof t==="object")this.map.set(t,{[e]:r});else this.badKey+=1}get2(t,e,r){return this._returnValue(this.map.get(t)?.get?.(e)?.[r])}set2(t,e,r,s){let i=this.map.get(t);if(i){let n=i.get(e);if(n)n[r]=s;else i.set(e,{[r]:s})}else if(typeof t==="object"&&typeof e==="object"){let n=new WeakMap;n.set(e,{[r]:s}),this.map.set(t,n)}else this.badKey+=1}evict(){let{hit:t,miss:e,badKey:r}=this;return this.hit=this.miss=this.badKey=0,this.map=new WeakMap,{hit:t,miss:e,badKey:r}}}class Mr{getKey(t,e,r){return r.call(t)}}class qr{constructor(){this.map=new WeakMap}getKey(t,e,r){let s=this.map.get(t);if(s){let n=s[e];if(n!==void 0)return n;let h=r.call(t)??null;return s[e]=h,h}let i=r.call(t)??null;return this.map.set(t,{[e]:i}),i}}class be{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new qr}setNullComputedCache(){this.computedCache=new Mr}registerComponent(t){t.Class.prototype[this.getComponentSymbol]=()=>t,this.byId.set(t.id,t)}getComponentForId(t){return this.byId.get(t)??null}getCompFor(t){return t?.[this.getComponentSymbol]?.()??null}getOnEnterFor(t){let e=this.getCompFor(t);return e?e.on.stackEnter:Ui}getHandlerFor(t,e,r){return this.getCompFor(t)?.[r][e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getHandlerFor(t,e,"computed");return r?this.computedCache.getKey(t,e,r):null}compileStyles(){let t=[];for(let e of this.byId.values())t.push(e.compileStyle());return t.join(`
|
|
2
|
-
`)}}class
|
|
3
|
-
`)}}function Ui(t){return t}var $i=Symbol("STOP"),Ar=Symbol("NEXT");class Bt{constructor(t,e){this.head=t,this.tail=e}push(t){return new Bt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===$i?e:s===Ar?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class jr{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?$i:Ar:e}}class Ir{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Ar:e}}class H{constructor(t,e,r,s,i,n=null){this.comps=t,this.it=e,this.binds=r,this.dynBinds=s,this.views=i,this.ctx=n;let h=[...i].join("");this.viewsId=h==="main"?"":h}_enrichOnEnter(){return this.comps.getOnEnterFor(this.it).call(this.it,this)??this}upToFrameBinds(){let{comps:t,binds:e,dynBinds:r,views:s,ctx:i}=this;return e.head.isFrame?this:new H(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new Bt(new jr(e,{it:e},!0),null),i=new Bt(new Ir({}),null),n=new Bt("main",null);return new H(t,e,s,i,n,r)._enrichOnEnter()}enter(t,e={},r=!0){let{comps:s,binds:i,dynBinds:n,views:h,ctx:u}=this,o=i.push(new jr(t,e,r));return new H(s,t,o,n,h,u)._enrichOnEnter()}pushViewName(t){let{comps:e,it:r,binds:s,dynBinds:i,views:n,ctx:h}=this;return new H(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let c of t)r.dynamic[c].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new Ir(e));return new H(s,i,n,o,h,u)}lookupDynamic(t){let e=this.comps.getCompFor(this.it)?.dynamic[t];return e?this.dynBinds.lookup(e.getSymbol(this))??e.val.eval(this):null}lookupBind(t){return this.binds.lookup(t)}lookupType(t){return this.comps.getCompFor(this.it).scope.lookupComponent(t)}lookupFieldRaw(t){return this.it[t]??null}lookupField(t){let e=this.lookupFieldRaw(t);return e instanceof Function?e.call(this.it):e}lookupName(t){return this.ctx.lookupName(t)}lookupComputed(t){let e=this.binds.head.isFrame?this.binds.head:this.binds.tail.head;return this.comps.lookupComputed(e.it,t)}getHandlerFor(t,e){return this.comps.getHandlerFor(this.it,t,e)}lookupRequest(t){return this.comps.getRequestFor(this.it,t)}lookupBestView(t,e){for(let r of this.views){let s=t[r];if(s!==void 0)return s}return t[e]}}class Li{constructor(t){this.val=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.val;this.val=t;for(let s of this.changeSubs)s({val:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.val),e)}}class $r{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Li(e),this.onTransactionPushed=()=>{}}pushTransaction(t){return this.transactions.push(t),this.onTransactionPushed(t),t}pushLogic(t,e,r=[],s={},i=null){return this.pushTransaction(new Dr(t,this,e,r,i,s))}pushBubble(t,e,r=[],s={},i=null){let n=s.skipSelf?{...s,skipSelf:!1}:s;return this.pushTransaction(new Ri(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.val,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??iu(e),o=s?.onResName??e,c=(f,_,l,a,y)=>{let S=new Wi(t,this,f??_,f?[l]:[a,y],i);return this.pushTransaction(S)};try{let f=await u.fn.apply(null,r);return c(s?.onOkName,o,f,f,null)}catch(f){return c(s?.onErrorName,o,f,null,f)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.val,r=t.run(e,this.comps);if(r!==void 0)this.state.set(r,{transaction:t}),t.afterTransaction();else console.warn("undefined new state",{curState:e,transaction:t})}transactInputNow(t,e,r,s){this.transact(new Di(t,e,r,this,s))}}function iu(t){return()=>{throw Error(`Request not found: ${t}`)}}function nu(){return this}class Kr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Ji,this._task}getCompletionPromise(){return this.task.promise}setParent(t){this.parentTransaction=t,t.task.addDep(this.task)}run(t,e){return this.updateRootValue(t,e)}afterTransaction(){}buildRootStack(t,e){return H.root(e,t)}buildStack(t,e){let r=this.path.buildStack(this.buildRootStack(t,e));return r?r.upToFrameBinds():null}callHandler(t,e,r){let[s,i]=this.getHandlerAndArgs(t,e,r);return s.apply(e,i)}getHandlerAndArgs(t,e,r){return null}updateRootValue(t,e){let r=this.path.lookup(t),s=this.callHandler(t,r,e);return this._task?.complete?.({value:s,old:r}),r!==s?this.path.setValue(t,s):t}lookupName(t){return null}}var hu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ki=(t)=>Number.isNaN(t)?null:t;function Ur(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Di extends Kr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return H.root(e,t,this)}getHandlerAndArgs(t,e,r){let s=this.buildStack(t,r),[i,n]=this.handler.getHandlerAndArgs(s,this),h;for(let u=0;u<n.length;u++)if(n[u]?.toHandlerArg)h??=new Wr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Ur(e);case"valueAsInt":return Ki(parseInt(Ur(e),10));case"valueAsFloat":return Ki(parseFloat(Ur(e)));case"target":return e.target;case"event":return e;case"isAlt":return e.altKey;case"isShift":return e.shiftKey;case"isCtrl":case"isCmd":return hu&&e.metaKey||e.ctrlKey;case"key":return e.key;case"keyCode":return e.keyCode;case"isUpKey":return e.key==="ArrowUp";case"isDownKey":return e.key==="ArrowDown";case"isSend":return e.key==="Enter";case"isCancel":return e.key==="Escape";case"isTabKey":return e.key==="Tab";case"ctx":return new Rr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Lr extends Kr{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??nu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Rr(this.path,this.transactor,this)]]}}class Wi extends Lr{handlerProp="response"}class Dr extends Lr{handlerProp="logic";run(t,e){return this.opts.skipSelf?t:this.updateRootValue(t,e)}afterTransaction(){let{path:t,name:e,args:r,opts:s}=this;if(s.bubbles&&t.steps.length>0)this.transactor.pushBubble(t.popStep(),e,r,s,this)}}class Ri extends Dr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Ji{constructor(t){this.info=t,this.deps=[],this.val=this.resolve=this.reject=null,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),this.isCompleted=!1}addDep(t){console.assert(!this.isCompleted,"addDep for completed task",this,t),this.deps.push(t),t.promise.then((e)=>this._check())}complete(t){this.val=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class Wr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Ti(this)}logic(t,e,r){return this.logicAtPath(this.path,t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}logicAtPath(t,e,r,s){return this.transactor.pushLogic(t,e,r,s,this.parent)}request(t,e,r){return this.requestAtPath(this.path,t,e,r)}requestAtPath(t,e,r,s){return this.transactor.pushRequest(t,e,r,s,this.parent)}lookupTypeFor(t,e){return this.transactor.comps.getCompFor(e).scope.lookupComponent(t)}}class Rr extends Wr{stopPropagation(){return this.parent.stopPropagation()}}class Ti extends ve{constructor(t){super();this.dispatcher=t}logic(t,e,r){return this.dispatcher.logicAtPath(this.buildPath(),t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}buildPath(){return this.dispatcher.path.concat(this.pathChanges)}}class Jr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ee(r),this.transactor=new $r(r,null),this.ParseContext=i,this.renderer=s,this.renderFn=e,this.maxEventNodeDepth=1/0,this._transactNextBatchId=this._evictCacheId=null,this._eventNames=new Set(["dragstart","dragover","dragend"]),this.dragInfo=this.curDragOver=null,this.transactor.onTransactionPushed=(n)=>{if(this._transactNextBatchId===null)this._scheduleNextTransactionBatchExecution()},this._compiled=!1}get state(){return this.transactor.state}handleEvent(t){let e=t.type==="dragstart",r=t.type==="dragover",s=t.type==="dragend",{rootNode:i,maxEventNodeDepth:n,comps:h}=this,u=!(r||e||s),[o,c]=tt.fromEvent(t,i,n,h,u);if(r){let f=uu(t.target,this.rootNode,50);if(f!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=f,f.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let f=this.state.val,_=o.lookup(f),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new Hi(o,a,t,_,l,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&c!==null)for(let f of c)this.transactor.transactInputNow(o,t,f,this.dragInfo)}makeStack(t){return H.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.val,e=this.makeStack(t);return this.renderFn(this.renderer.renderRoot(e,t),this.rootNode)}onChange(t){this.transactor.state.onChange(t)}compile(){for(let t of this.comps.byId.values()){t.compile(this.ParseContext);for(let e in t.views)for(let r of t.views[e].ctx.genEventNames())this._eventNames.add(r)}this._compiled=!0}start(t){if(!this._compiled)this.compile();for(let e of this._eventNames)this.rootNode.addEventListener(e,this);if(this.onChange((e)=>{if(e.val!==e.old)this.render()}),Zi("tutuca-app",this.comps.compileStyles(),t?.head??document.head),t?.noCache)this.renderer.setNullCache(),this.comps.setNullComputedCache();else this.startCacheEvictionInterval();this.render()}stop(){this.stopCacheEvictionInterval();for(let t of this._eventNames)this.rootNode.removeEventListener(t,this)}dispatchLogicAtRoot(t,e,r){return this.transactor.pushLogic(new tt([]),t,e,r)}registerComponents(t,e){let r=this.compStack.enter();return r.registerComponents(t,e),r}_transactNextBatch(t=10){this._transactNextBatchId=null;let e=Date.now(),r=this.transactor;while(r.hasPendingTransactions&&Date.now()-e<t)r.transactNext();if(r.hasPendingTransactions)this._scheduleNextTransactionBatchExecution()}_scheduleNextTransactionBatchExecution(){this._transactNextBatchId=setTimeout(()=>this._transactNextBatch(),0)}startCacheEvictionInterval(t=30000){this._evictCacheId=setInterval(()=>this.renderer.cache.evict(),t)}stopCacheEvictionInterval(){clearInterval(this._evictCacheId),this._evictCacheId=null}}function Zi(t,e,r=document.head){let s=document.createElement("style"),i=r.querySelector(`#${t}`);if(i)r.removeChild(i);s.id=t,s.innerHTML=e,r.appendChild(s)}function uu(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class Hi{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.val=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}function Ct(t,e){if(!t)throw Error(e)}function A(t){Ct(t!==1/0,"Cannot perform this action with an infinite size.")}function Xi(t,e,r,s,i,n){return A(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var ou=(t,e)=>e,cu=(t,e)=>[e,t],Tr=(t)=>function(...e){return!t.apply(this,e)},Gi=(t)=>function(...e){return-t.apply(this,e)};function on(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Qi=(t,e)=>t<e?1:t>e?-1:0,U={done:!0,value:void 0};class cn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function L(t){return new cn(t)}function b(t){let e=[void 0,void 0],r={done:!1,value:void 0};return L(()=>{if(t(e))return r.value=[e[0],e[1]],r;return U})}var fu=L(()=>U),ct=()=>fu;function Je(t){let e=0,r={done:!1,value:void 0};return L(()=>{if(e===t)return U;return r.value=e++,r})}function te(t,e){return b((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function Nr(t){if(Array.isArray(t))return!0;return!!Te(t)}var _u=(t)=>typeof t?.next==="function";function fn(t){return Te(t)?.call(t)}function Te(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function lu(t){let e=Te(t);return e&&e===t.entries}function au(t){let e=Te(t);return e&&e===t.keys}var ee="delete",z=5,E=1<<z,$=E-1,g={},Cr=()=>({value:!1});function T(t){if(t)t.value=!0}class Ze{}function It(t){if(t.size===void 0)t.size=t.__iterate(_n);return t.size}function st(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?It(t)+e:e}var _n=()=>!0,ln=(t)=>t<0||Object.is(t,-0),re=(t,e,r)=>(t===0&&!ln(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),an=(t,e,r)=>t===void 0?r:ln(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Kt=(t,e)=>an(t,e,0),se=(t,e)=>an(t,e,e),yn="@@__IMMUTABLE_ITERABLE__@@",$e="@@__IMMUTABLE_KEYED__@@",Ke="@@__IMMUTABLE_INDEXED__@@",it="@@__IMMUTABLE_ORDERED__@@",ie="@@__IMMUTABLE_SEQ__@@",gn="@@__IMMUTABLE_LIST__@@",pn="@@__IMMUTABLE_MAP__@@",dn="@@__IMMUTABLE_SET__@@",wn="@@__IMMUTABLE_STACK__@@",zn="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var R=(t)=>F(t,yn),w=(t)=>F(t,$e),j=(t)=>F(t,Ke),mr=(t)=>w(t)||j(t),x=(t)=>F(t,it),vr=(t)=>F(t,ie),Sn=(t)=>F(t,gn),He=(t)=>F(t,pn),ts=(t)=>F(t,dn),es=(t)=>F(t,wn),yt=(t)=>F(t,zn),Y=(t)=>R(t)||yt(t),rs=(t)=>He(t)&&x(t),On=(t)=>ts(t)&&x(t),Yi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function Mn(t){let e=P(t);return e._iter=t,e.size=t.size,e.flip=()=>t,e.reverse=function(){let r=t.reverse.call(this);return r.flip=()=>t.reverse(),r},e.has=(r)=>t.includes(r),e.includes=(r)=>t.has(r),e.cacheResult=Dt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>te(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function qn(t,e,r){let s=P(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=(i)=>te(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function bn(t,e){let r=P(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=Mn(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Dt,r.__iterate=function(s,i){let n=0;if(i)It(t);return t.__iterate((h,u)=>s(h,e?u:i?this.size-++n:n++,this),!i)},r.__iteratorUncached=function(s){let i=0;if(s)It(t);let n=this.size;return te(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function En(t,e,r,s){let i=t.size;if(re(e,r,i))return t;if(i===void 0&&(e<0||r<0))return En(t.toSeq().cacheResult(),e,r,s);let n=Kt(e,i),u=se(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=P(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&vr(t)&&o>=0)c.get=function(f,_){return f=st(this,f),f>=0&&f<o?t.get(f+n,_):_};return c.__iterateUncached=function(f,_){if(o!==0&&_)return this.cacheResult().__iterate(f,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((y,d)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(y,s?d:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ct();let _=t.__iterator(f),l=0,a=0;if(s)return L(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return U;let y=_.next();if(y.done)return y;return a++,y});return b((y)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let d=_.next();if(d.done)return!1;return a++,y[0]=a-1,y[1]=d.value[1],!0})},c}function jt(t,e,r){if(!e)e=on;let s=w(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?os(n):j(t)?at(n):xt(n)}function je(t,e,r){if(!e)e=on;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Bi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Bi(e,s,i)?i:s)}function Bi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Zr(t,e,r,s){let i=P(t),n=new ne(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),c=0,f;while(!(f=o.next()).done)if(h(f.value[1],c++,this)===!1)break;return c},i.__iteratorUncached=function(h){let u=r.map((_)=>{let l=V(_);return fn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return b((_)=>{let l=s;for(let a=0;a<u.length;a++)c[a]=u[a].next(),l=s?l&&c[a].done:l||c[a].done;if(l)return!1;for(let a=0;a<c.length;a++)f[a]=c[a].value;return _[0]=o++,_[1]=e(...f),!0})},i}function ss(t){if(Array.isArray(t)||typeof t==="string")return!0;return t&&typeof t==="object"&&Number.isInteger(t.length)&&t.length>=0&&(t.length===0?Object.keys(t).length===1:Object.hasOwn(t,t.length-1))}function jn(t){if(!t||typeof t!=="object"||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=e,s=Object.getPrototypeOf(e);while(s!==null)r=s,s=Object.getPrototypeOf(r);return r===e}var nt=(t)=>typeof t==="object"&&(Y(t)||Array.isArray(t)||jn(t));function In(t){if(ss(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var yu=(t,e)=>Y(t)?t.has(e):nt(t)&&Object.hasOwn(t,e);function An(t,e,r){return Y(t)?t.get(e,r):!yu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function is(t,e,r){let s=In(e),i=0;while(i!==s.length)if(t=An(t,s[i++],g),t===g)return r;return t}var Un=(t,e)=>is(t,e,g)!==g;function I(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(Yi(t)&&Yi(e)&&t.equals(e))}function Le(t){if(!t||typeof t!=="object")return t;if(!R(t)){if(!nt(t))return t;t=N(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Le(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Le(r))}),e}function ns(t,e){if(t===e)return!0;if(!R(e)||t.size!==void 0&&e.size!==void 0&&t.size!==e.size||t.__hash!==void 0&&e.__hash!==void 0&&t.__hash!==e.__hash||w(t)!==w(e)||j(t)!==j(e)||x(t)!==x(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!mr(t);if(x(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&I(c[1],u)&&(r||I(c[0],o))})&&h.next().done)}let s=!1;if(t.size===void 0)if(e.size===void 0){if(typeof t.cacheResult==="function")t.cacheResult()}else{s=!0;let h=t;t=e,e=h}let i=!0,n=e.__iterate((h,u)=>{if(r?!t.has(h):s?!I(h,t.get(u,g)):!I(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var Xe=(t)=>t>>>1&1073741824|t&3221225471;function X(t){if(t===null||t===void 0)return Ci(t);if(typeof t.hashCode==="function")return Xe(t.hashCode(t));let e=zu(t);if(e===null||e===void 0)return Ci(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return gu(e);case"string":return e.length>Su?pu(e):Pr(e);case"object":case"function":return wu(e);case"symbol":return du(e);default:if(typeof e.toString==="function")return Pr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Ci=(t)=>t===null?1108378658:1108378659;function gu(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return Xe(e)}function pu(t){let e=Gr[t];if(e===void 0){if(e=Pr(t),Xr===Ou)Xr=0,Gr={};Xr++,Gr[t]=e}return e}function Pr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Xe(e)}function du(t){let e=xi[t];if(e!==void 0)return e;return e=$n(),xi[t]=e,e}function wu(t){let e=Pi.get(t);if(e!==void 0)return e;return e=$n(),Pi.set(t,e),e}var zu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function $n(){let t=++Hr;if(Hr&1073741824)Hr=0;return t}var Pi=new WeakMap,xi=Object.create(null),Hr=0,Su=16,Ou=255,Xr=0,Gr={};function Mu(t){if(t.size===1/0)return 0;let e=x(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+Fi(X(i),X(n))|0}:(i,n)=>{s=s+Fi(X(i),X(n))|0}:e?(i)=>{s=31*s+X(i)|0}:(i)=>{s=s+X(i)|0}),qu(t.size,s)}var Fi=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function qu(t,e){return e=Math.imul(e,3432918353),e=Math.imul(e<<15|e>>>-15,461845907),e=Math.imul(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Math.imul(e^e>>>16,2246822507),e=Math.imul(e^e>>>13,3266489909),e=Xe(e^e>>>16),e}function Pt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:vr(t)?e:t.create?t.create(e):t.constructor(e),Kn=(t,e)=>O(t,(w(t)?G:j(t)?gt:pt)(e)),ki=(...t)=>t,V=(t)=>R(t)?t:N(t);class q{size=0;static{this.prototype[yn]=!0,this.prototype.__toStringMapper=Pt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return ns(this,t)}hashCode(){return this.__hash??(this.__hash=Mu(this))}toArray(){A(this.size);let t=Array(this.size||0),e=w(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Jn(this)}toJS(){return Le(this)}toKeyedSeq(){return new as(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Tn(this)}toSeq(){return j(this)?this.toIndexedSeq():w(this)?this.toKeyedSeq():this.toSetSeq()}toStack(){throw Error("toStack: not patched — import CollectionConversions")}toList(){throw Error("toList: not patched — import CollectionConversions")}toString(){return"[Collection]"}__toString(t,e){if(this.size===0)return`${t}${e}`;return`${t} ${this.toSeq().map(this.__toStringMapper).join(", ")} ${e}`}concat(...t){let e=w(this),r=[this,...t].map((s)=>{if(!R(s))s=e?Dn(s):Wn(Array.isArray(s)?s:[s]);else if(e)s=G(s);return s}).filter((s)=>s.size!==0);if(r.length===0)return this;if(r.length===1){let s=r[0];if(s===this||e&&w(s)||j(this)&&j(s))return s}return O(this,new Rn(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){A(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=w(this),i=P(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,c)=>{if(t.call(e,o,c,r))return u++,n(o,s?c:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return b((o)=>{while(!0){let c=h.next();if(c.done)return!1;let f=c.value[0],_=c.value[1];if(t.call(e,_,f,r))return o[0]=s?f:u++,o[1]=_,!0}})},O(this,i)}partition(t,e){let r=w(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Kn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return A(this.size),this.__iterate(e?t.bind(e):t)}join(t){A(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return L(()=>{let r=t.next();if(r.done)return U;return e.value=r.value[0],e})}map(t,e){return O(this,qn(this,t,e))}reduce(t,e=g,r){return Xi(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Xi(this,t,e,r,e===g,!0)}reverse(){return O(this,bn(this,w(this)))}slice(t,e){return O(this,En(this,t,e,w(this)))}some(t,e){A(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return O(this,jt(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return L(()=>{let r=t.next();if(r.done)return U;return e.value=r.value[1],e})}butLast(){return this.slice(0,-1)}isEmpty(){return this.size!==void 0?this.size===0:!this.some(()=>!0)}count(t,e){return It(t?this.toSeq().filter(t,e):this)}countBy(t,e){throw Error("countBy: not patched — import CollectionConversions")}entrySeq(){let t=this;if(t._cache)return new ne(t._cache);let e=t.toSeq().map(cu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Tr(t),e)}findEntry(t,e,r){let s=r;return this.__iterate((i,n,h)=>{if(t.call(e,i,n,h))return s=[n,i],!1}),s}findKey(t,e){return this.findEntry(t,e)?.[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(_n,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(w(this)?G:j(this)?gt:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=P(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(c,f){c.__iterate((_,l)=>{if((!t||f<t)&&R(_))o(_,f+1);else if(h++,i(_,r?l:h-1,s)===!1)u=!0;if(u)return!1},n)}return o(e,0),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=0,h=[{iterator:e.__iterator(i),depth:0}];return b((u)=>{while(h.length>0){let o=h[h.length-1],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&R(f)){h.push({iterator:f.__iterator(i),depth:o.depth+1});continue}return u[0]=r?c.value[0]:n++,u[1]=f,!0}return!1})},O(this,s)}fromEntrySeq(){return new Zn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return is(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Un(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:V(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:V(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(ou).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return je(this,t)}maxBy(t,e){return je(this,e,t)}min(t){return je(this,t?Gi(t):Qi)}minBy(t,e){return je(this,e?Gi(e):Qi,t)}rest(){return this.slice(1)}skip(t){return t===0?this:this.slice(Math.max(0,t))}skipLast(t){return t===0?this:this.slice(0,-Math.max(0,t))}skipWhile(t,e){let r=this,s=w(this),i=P(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((c,f)=>{if(u&&t.call(e,c,f,this))return;return u=!1,o++,n(c,s?f:o-1,this)},h),o},i.__iteratorUncached=function(n){if(n)return this.cacheResult().__iterator(n);let h=r.__iterator(n),u=0,o=this,c=!0;return b((f)=>{while(!0){let _=h.next();if(_.done)return!1;let l=_.value[0],a=_.value[1];if(c&&t.call(e,a,l,o))continue;return c=!1,f[0]=s?l:u++,f[1]=a,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(Tr(t),e)}sortBy(t,e){return O(this,jt(this,e,t))}take(t){return this.slice(0,Math.max(0,t))}takeLast(t){return this.slice(-Math.max(0,t))}takeWhile(t,e){let r=this,s=P(r);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0;return r.__iterate((u,o)=>{if(!t.call(e,u,o,this))return!1;return h++,i(u,o,this)},n),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=r.__iterator(i),h=this,u=!1;return L(()=>{if(u)return U;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,U;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(Tr(t),e)}update(t){return t(this)}valueSeq(){return this.toIndexedSeq()}__iterate(t,e=!1){let r=this.__iterator(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterator(t=!1){throw Error("CollectionImpl does not implement __iterator. Use a subclass instead.")}}var G=(t)=>w(t)?t:os(t);class hs extends q{static{this.prototype[$e]=!0,this.prototype.__toStringMapper=(t,e)=>`${Pt(e)}: ${Pt(t)}`,this.prototype[Symbol.iterator]=q.prototype.entries,this.prototype.toJSON=function(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,Mn(this))}mapEntries(t,e){let r=0;return O(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return O(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var gt=(t)=>j(t)?t:at(t);class lt extends q{static{this.prototype[Ke]=!0,this.prototype[it]=!0}toKeyedSeq(){return new as(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Kt(t,t<0?this.count():this.size);let i=this.slice(0,t);return O(this,!s?i:i.concat(r,this.slice(t+e)))}findLastIndex(t,e){let r=this.findLastEntry(t,e);return r?r[0]:-1}first(t){return this.get(0,t)}get(t,e){return t=st(this,t),t<0||this.size===1/0||this.size!==void 0&&t>this.size?e:this.find((r,s)=>s===t,void 0,e)}has(t){return t=st(this,t),t>=0&&(this.size!==void 0?this.size===1/0||t<this.size:this.indexOf(t)!==-1)}interpose(t){let e=this,r=P(e);return r.size=e.size&&e.size*2-1,r.__iterateUncached=function(s,i){let n=0,h=!0;return e.__iterate((u)=>{if(!h){if(s(t,n++,this)===!1)return!1}return h=!1,s(u,n++,this)},i),n},r.__iteratorUncached=function(s){let i=e.__iterator(s),n=0,h=!0,u,o=!1;return b((c)=>{if(o)return o=!1,c[0]=n++,c[1]=u,!0;let f=i.next();if(f.done)return!1;let _=f.value[1];if(!h)return u=_,o=!0,c[0]=n++,c[1]=t,!0;return h=!1,c[0]=n++,c[1]=_,!0})},O(this,r)}interleave(...t){let e=[this,...t],r=Zr(this.toSeq(),at.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return O(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(ki,...t)}zipAll(...t){let e=[this,...t];return O(this,Zr(this,ki,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,Zr(this,t,r))}}var pt=(t)=>R(t)&&!mr(t)?t:xt(t);class Ge extends q{static{this.prototype.has=q.prototype.includes,this.prototype.contains=q.prototype.includes,this.prototype.keys=Ge.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}V.Keyed=G;V.Indexed=gt;V.Set=pt;var Qr=lt.prototype,N=(t)=>t===void 0||t===null?_s():Y(t)?t.toSeq():bu(t),P=(t)=>Object.create((w(t)?Lt:j(t)?dt:cs).prototype);class ft extends q{static{this.prototype[ie]=!0}toSeq(){return this}toString(){return this.__toString("Seq {","}")}cacheResult(){if(!this._cache&&this.__iterateUncached)this._cache=this.entrySeq().toArray(),this.size=this._cache.length;return this}__iterateUncached(t,e){let r=this.__iteratorUncached(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterate(t,e){let r=this._cache;if(r){let s=r.length,i=0;while(i!==s){let n=r[e?s-++i:i++];if(t(n[1],n[0],this)===!1)break}return i}return this.__iterateUncached(t,e)}__iterator(t){let e=this._cache;if(e){let r=e.length,s=0,i={done:!1,value:void 0};return L(()=>{if(s===r)return U;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var us={cacheResult:ft.prototype.cacheResult,__iterateUncached:ft.prototype.__iterateUncached,__iterate:ft.prototype.__iterate,__iterator:ft.prototype.__iterator},os=(t)=>t===void 0||t===null?_s().toKeyedSeq():R(t)?w(t)?t.toSeq():t.fromEntrySeq():yt(t)?t.toSeq():Dn(t);class Lt extends hs{static{this.prototype[ie]=!0,Object.assign(this.prototype,us)}toSeq(){return this}toKeyedSeq(){return this}}var at=(t)=>t===void 0||t===null?_s():R(t)?w(t)?t.entrySeq():t.toIndexedSeq():yt(t)?t.toSeq().entrySeq():Wn(t);at.of=(...t)=>at(t);class dt extends lt{static{this.prototype[ie]=!0,Object.assign(this.prototype,us)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var xt=(t)=>(R(t)&&!mr(t)?t:at(t)).toSetSeq();xt.of=(...t)=>xt(t);class cs extends Ge{static{this.prototype[ie]=!0,Object.assign(this.prototype,us)}toSeq(){return this}toSetSeq(){return this}}N.isSeq=vr;N.Keyed=os;N.Set=xt;N.Indexed=at;class ne extends dt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[st(this,t)]:e}__iterateUncached(t,e){let r=this._array,s=r.length,i=0;while(i!==s){let n=e?s-++i:i++;if(t(r[n],n,this)===!1)break}return i}__iteratorUncached(t){let e=this._array,r=e.length,s=0;return b((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class fs extends Lt{static{this.prototype[it]=!0}constructor(t){super();let e=[...Object.keys(t),...Object.getOwnPropertySymbols(t)];this._object=t,this._keys=e,this.size=e.length}get(t,e){if(e!==void 0&&!this.has(t))return e;return this._object[t]}has(t){return Object.hasOwn(this._object,t)}__iterateUncached(t,e){let r=this._object,s=this._keys,i=s.length,n=0;while(n!==i){let h=s[e?i-++n:n++];if(t(r[h],h,this)===!1)break}return n}__iteratorUncached(t){let e=this._object,r=this._keys,s=r.length,i=0;return b((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Ln extends dt{constructor(t){super();this._collection=t,this.size=t.length||t.size}__iterateUncached(t,e){if(e)return this.cacheResult().__iterate(t,e);let r=0;for(let s of this._collection){if(t(s,r,this)===!1)break;r++}return r}__iteratorUncached(t){if(t)return this.cacheResult().__iterator(t);let e=this._collection,r=fn(e);if(!_u(r))return ct();let s=0;return b((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var _s=()=>new ne([]),ls=(t)=>ss(t)?new ne(t):Nr(t)?new Ln(t):void 0;function Dn(t){let e=ls(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new fs(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Wn(t){let e=ls(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function bu(t){let e=ls(t);if(e)return lu(t)?e.fromEntrySeq():au(t)?e.toSetSeq():e;if(typeof t==="object")return new fs(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Rn extends ft{constructor(t){super();let e=[],r=0,s=!0;for(let n of t)if(n._wrappedIterables){for(let h of n._wrappedIterables)if(e.push(h),s){let u=h.size;if(u!==void 0)r+=u;else s=!1}}else if(e.push(n),s){let h=n.size;if(h!==void 0)r+=h;else s=!1}this._wrappedIterables=e,this.size=s?r:void 0;let i=this._wrappedIterables[0];if(i[$e])this[$e]=!0;if(i[Ke])this[Ke]=!0;if(i[it])this[it]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!w(this),i=0,n=!1;for(let h of r)if(h.__iterate((u,o)=>{if(t(u,s?i++:o,this)===!1)return n=!0,!1},e),n)break;return i}__iteratorUncached(t){if(this._wrappedIterables.length===0)return ct();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!w(this),s=0,i=e[0].__iterator(t);function n(){while(s<e.length){let h=i.next();if(!h.done)return h;if(s++,s<e.length)i=e[s].__iterator(t)}return}if(r){let h=0;return b((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return L(()=>n()||U)}}class as extends Lt{static{this.prototype[it]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Dt.call(this)}get(t,e){return this._iter.get(t,e)}has(t){return this._iter.has(t)}valueSeq(){return this._iter.valueSeq()}reverse(){let t=bn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=qn(this,t,e);if(!this._useKeys)r.valueSeq=()=>this._iter.toSeq().map(t,e);return r}__iterateUncached(t,e){return this._iter.__iterate(t,e)}__iteratorUncached(t){return this._iter.__iterator(t)}}class Jn extends dt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Dt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)It(this);let s=this.size;return this._iter.__iterate((i)=>{let n=e?s-++r:r++;return t(i,n,this)},e),r}__iteratorUncached(t){let e=0;if(t)It(this);let r=this.size;return te(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Tn extends cs{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Dt.call(this)}has(t){return this._iter.includes(t)}__iterateUncached(t,e){return this._iter.__iterate((r)=>t(r,r,this),e)}__iteratorUncached(t){return te(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Zn extends Lt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Dt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){Vi(s),r++;let i=R(s);return t(i?s.get(1):s[1],i?s.get(0):s[0],this)}},e),r}__iteratorUncached(t){let e=this._iter.__iterator(t);return b((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){Vi(i);let n=R(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Dt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return ft.prototype.cacheResult.call(this)}function Vi(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var Z=(t)=>t===void 0||t===null?Q():He(t)&&!x(t)?t:Q().withMutations((e)=>{let r=G(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class Ft extends hs{static{zt(this,{asImmutable:oe,asMutable:ce,deleteIn:At,merge:xr,mergeWith:Cn,mergeDeep:xn,mergeDeepWith:Fn,mergeDeepIn:bs,mergeIn:qs,setIn:Ss,update:Os,updateIn:Ms,wasAltered:zs,withMutations:fe,removeIn:At,concat:xr,[pn]:!0,[ee]:this.prototype.remove,removeAll:this.prototype.deleteAll,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Map"})}constructor(t,e,r,s){super();this.size=t,this._root=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return Z(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,X(t),t,e):e}set(t,e){return mi(this,t,e)}remove(t){return mi(this,t,g)}deleteAll(t){let e=V(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return Q()}map(t,e){return this.withMutations((r)=>{r.forEach((s,i)=>{r.set(i,t.call(e,s,i,this))})})}keys(){if(!this._root)return ct();return Ie(this._root,!1,0)}values(){if(!this._root)return ct();return Ie(this._root,!1,1)}entries(){if(!this._root)return ct();return Ie(this._root,!1)}__iterator(t){if(!this._root)return ct();return Ie(this._root,t)}__iterate(t,e){let r=0;if(this._root)this._root.iterate(([s,i])=>{return r++,t(i,s,this)},e);return r}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Q();return this.__ownerID=t,this.__altered=!1,this}return ps(this.size,this._root,t,this.__hash)}}Z.isMap=He;class ys{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Hn(this.entries,r,s)}iterate(t,e){return Xn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(T(h),u||!_)T(n);if(u&&f===1)return;if(!_&&!u&&f>=$u)return Eu(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new ys(t,a)}}class Qe{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Gn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&$),n=this.bitmap;return(n&i)===0?s:this.nodes[tn(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=tn(c&o-1),l=this.nodes,a=f?l[_]:void 0,y=ds(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!f&&y&&l.length>=Ku)return Iu(t,l,c,u,y);if(f&&!y&&l.length===2&&vi(l[_^1]))return l[_^1];if(f&&y&&l.length===1&&vi(y))return y;let d=t&&t===this.ownerID,S=f?y?c:c^o:c|o,D=f?y?Qn(l,_,y,d):Uu(l,_,d):Au(l,_,y,d);if(d)return this.bitmap=S,this.nodes=D,this;return new Qe(t,S,D)}}class gs{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Gn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&$,n=this.nodes[i];return n?n.get(t+z,e,r,s):s}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=i===g,c=this.nodes,f=c[u];if(o&&!f)return this;let _=ds(f,t,e+z,r,s,i,n,h);if(_===f)return this;let l=this.count;if(!f)l++;else if(!_){if(l--,l<Lu)return ju(t,c,l,u)}let a=t&&t===this.ownerID,y=Qn(c,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new gs(t,l,y)}}class Ye{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Hn(this.entries,r,s)}iterate(t,e){return Xn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return T(h),T(n),ws(this,t,e,r,[s,i])}let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(T(h),u||!_)T(n);if(u&&f===2)return new wt(t,this.keyHash,o[c^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Ye(t,this.keyHash,a)}}class wt{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}iterate(t,e){return t(this.entry)}get(t,e,r,s){return I(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(T(h),u){T(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new wt(t,this.keyHash,[s,i])}return T(n),ws(this,t,e,X(s),[s,i])}}function Hn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(I(e,t[s][0]))return t[s][1];return r}function Xn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(e(t[r?i-s:s])===!1)return!1}function Gn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(t[r?i-s:s]?.iterate(e,r)===!1)return!1}function Ie(t,e,r){let s={node:t,index:0,__prev:null},i=r!==void 0?(h)=>h[r]:(h)=>h,n={done:!1,value:void 0};return L(()=>{while(s){let h=s.node,u=s.index++,o;if(h.entry){if(u===0)return n.value=i(h.entry),n}else if(h.entries){if(o=h.entries.length-1,u<=o)return n.value=i(h.entries[e?o-u:u]),n}else if(o=h.nodes.length-1,u<=o){let c=h.nodes[e?o-u:u];if(c){if(c.entry)return n.value=i(c.entry),n;s={node:c,index:0,__prev:s}}continue}s=s.__prev}return U})}var ps=(t,e,r,s)=>new Ft(t,e,r,s),Ni,Q=()=>Ni||(Ni=ps(0));function mi(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new ys(t.__ownerID,[[e,r]])}else{let n=Cr(),h=Cr();if(s=ds(t._root,t.__ownerID,0,X(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?ps(i,s):Q()}function ds(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return T(u),T(h),new wt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var vi=(t)=>t.constructor===wt||t.constructor===Ye;function ws(t,e,r,s,i){if(t.keyHash===s)return new Ye(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&$,h=(r===0?s:s>>>r)&$,u=new wt(e,s,i),o=n===h?[ws(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Qe(e,1<<n|1<<h,o)}function Eu(t,e,r,s){if(!t)t=new Ze;let i=new wt(t,X(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,X(n),n,h);return i}function ju(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,c=e.length;u<c;u++,o<<=1){let f=e[u];if(f!==void 0&&u!==s)i|=o,h[n++]=f}return new Qe(t,i,h)}function Iu(t,e,r,s,i){let n=0,h=Array(E);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new gs(t,n+1,h)}function tn(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Qn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Au(t,e,r,s){let i=t.length+1;if(s&&e+1===i)return t[e]=r,t;let n=Array(i),h=0;for(let u=0;u<i;u++)if(u===e)n[u]=r,h=-1;else n[u]=t[u+h];return n}function Uu(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var $u=E/4,Ku=E/2,Lu=E/4;function De(t){if(Array.isArray(t))return t.slice();return{...t}}var mo=(t,...e)=>ue(t,e),vo=(t,e,...r)=>ue(e,r,t),he=(t,e,r)=>ue(t,e,Du(r)),tc=(t,...e)=>he(t,e),ec=(t,e,...r)=>he(e,r,t);function ue(t,e,r){if(!nt(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(Y(t))return typeof r==="function"&&t.mergeWith?t.mergeWith(r,...e):t.merge?t.merge(...e):t.concat(...e);let s=Array.isArray(t),i=t,n=s?gt:G,h=s?(u)=>{if(i===t)i=De(i);i.push(u)}:(u,o)=>{let c=Object.hasOwn(i,o),f=c&&r?r(i[o],u,o):u;if(!c||f!==i[o]){if(i===t)i=De(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Du(t){function e(r,s,i){return nt(r)&&nt(s)&&Wu(r,s)?ue(r,[s],e):t?t(r,s,i):s}return e}function Wu(t,e){let r=N(t),s=N(e);return j(r)===j(s)&&w(r)===w(s)}function Ru(t,e){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(Y(t)){if(!t.remove)throw TypeError(`Cannot update immutable value without .remove() method: ${t}`);return t.remove(e)}if(!Object.hasOwn(t,e))return t;let r=De(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Ju(t,e,r){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(Y(t)){if(!t.set)throw TypeError(`Cannot update immutable value without .set() method: ${t}`);return t.set(e,r)}if(Object.hasOwn(t,e)&&r===t[e])return t;let s=De(t);return s[e]=r,s}function Wt(t,e,r,s){if(!s)s=r,r=void 0;let i=Yn(Y(t),t,In(e),0,r,s);return i===g?r:i}function Yn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!nt(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Pt)}]: ${e}`);let u=r[s],o=h?g:An(e,u,g),c=Yn(o===g?t:Y(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Ru(e,u);let f=h?t?Q():{}:e;return Ju(f,u,c)}var Tu=(t,e)=>Wt(t,e,()=>g),Zu=(t,e,r)=>Wt(t,e,g,()=>r);function Bn(t,e,r,s){return Wt(t,[e],r,s)}function oe(){return this.__ensureOwner()}function ce(){return this.__ownerID?this:this.__ensureOwner(new Ze)}function zs(){return this.__altered}function fe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Hu(t,e){return is(this,t,e)}function Xu(t){return Un(this,t)}function At(t){return Tu(this,t)}function Ss(t,e){return Zu(this,t,e)}function Os(t,e,r){return typeof t==="function"?t(this):Bn(this,t,e,r)}function Ms(t,e,r){return Wt(this,t,e,r)}function en(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function xr(...t){return Pn(this,t)}function Cn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Pn(this,e,t)}function Pn(t,e,r){let s=[];for(let i of e){let n=G(i);if(n.size!==0)s.push(n)}if(s.length===0)return t;if(t.toSeq().size===0&&!t.__ownerID&&s.length===1)return yt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Bn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function xn(...t){return he(this,t)}function Fn(t,...e){return he(this,e,t)}function qs(t,...e){return Wt(this,t,Q(),(r)=>ue(r,e))}function bs(t,...e){return Wt(this,t,Q(),(r)=>he(r,e))}function zt(t,e){Object.assign(t.prototype,e)}var J=(t)=>{let e=kt();if(t===void 0||t===null)return e;if(Sn(t))return t;let r=gt(t),s=r.size;if(s===0)return e;if(A(s),s>0&&s<E)return _e(0,s,z,null,new _t(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};J.of=(...t)=>J(t);class kn extends lt{static{zt(this,{asImmutable:oe,asMutable:ce,deleteIn:At,mergeDeepIn:bs,mergeIn:qs,setIn:Ss,update:Os,updateIn:Ms,wasAltered:zs,withMutations:fe,removeIn:At,[gn]:!0,[ee]:this.prototype.remove,merge:this.prototype.concat,[Symbol.toStringTag]:"Immutable.List",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s,i,n,h){super();this.size=e-t,this._origin=t,this._capacity=e,this._level=r,this._root=s,this._tail=i,this.__ownerID=n,this.__hash=h,this.__altered=!1}create(t){return J(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=st(this,t),t>=0&&t<this.size)return t+=this._origin,mn(this,t)?.array[t&$];return e}set(t,e){return Qu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return kt()}push(...t){let e=this.size;return this.withMutations((r)=>{rt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return rt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{rt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return rt(this,1)}shuffle(t=Math.random){return this.withMutations((e)=>{let r=e.size,s,i;while(r)s=Math.floor(t()*r--),i=e.get(s),e.set(s,e.get(r)),e.set(r,i)})}concat(...t){let e=[];for(let r of t){let s=gt(typeof r!=="string"&&Nr(r)?r:[r]);if(s.size!==0)e.push(s)}if(e.length===0)return this;if(this.size===0&&!this.__ownerID&&e.length===1)return J(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return rt(this,0,t)}map(t,e){return this.withMutations((r)=>{for(let s=0;s<this.size;s++)r.set(s,t.call(e,r.get(s),s,this))})}slice(t,e){let r=this.size;if(re(t,e,r))return this;return rt(this,Kt(t,r),se(e,r))}__iterate(t,e){let r=e?this.size:0;return Gu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=rn(this,t);return b((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return rn(this,!1)}keys(){return Je(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return kt();return this.__ownerID=t,this.__altered=!1,this}return _e(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}J.isList=Sn;class _t{constructor(t,e){this.array=t,this.ownerID=e}removeBefore(t,e,r){if((r&(1<<e+z)-1)===0||this.array.length===0)return this;let s=r>>>e&$;if(s>=this.array.length)return new _t([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-z,r),n===u&&i)return this}if(i&&!n)return this;let h=Ut(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+z:E)||this.array.length===0)return this;let s=r-1>>>e&$;if(s>=this.array.length)return this;let i;if(e>0){let h=this.array[s];if(i=h?.removeAfter(t,e-z,r),i===h&&s===this.array.length-1)return this}let n=Ut(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function rn(t,e){let{_origin:r,_capacity:s}=t,i=$t(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return L(()=>{while(h.length>0){let c=h[h.length-1];if(c.from===c.to){h.pop();continue}let f=e?--c.to:c.from++;if(c.isLeaf)return u.value=c.array?.[f],u;let _=c.array?.[f],l=c.level-z,a=c.offset+(f<<c.level);o(_,l,a)}return U});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.array,a=_>r?0:r-_,y=s-_;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,isLeaf:!0})}else{let l=c?.array,a=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:f,offset:_,isLeaf:!1})}}}function Gu(t,e,r){let{_origin:s,_capacity:i}=t,n=$t(i),h=t._tail,u=t._level,o=t._root;return u===0?Vn(o,0,s,i,n,h,e,r):Nn(o,u,0,s,i,n,h,e,r)}function Vn(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,c=e>r?0:r-e,f=s-e;if(f>E)f=E;while(c!==f){let _=u?--f:c++;if(h(o?.[_])===!1)return!1}}function Nn(t,e,r,s,i,n,h,u,o){let c=t?.array,f=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>E)_=E;let l=e-z;while(f!==_){let a=o?--_:f++,y=r+(a<<e);if((l===0?Vn(c?.[a],y,s,i,n,h,u,o):Nn(c?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var _e=(t,e,r,s,i,n,h)=>new kn(t,e,r,s,i,n,h),kt=()=>_e(0,0,z);function Qu(t,e,r){if(e=st(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)rt(h,e).set(0,r);else rt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=Cr();if(e>=$t(t._capacity))s=Fr(s,t.__ownerID,0,e,r,n);else i=Fr(i,t.__ownerID,t._level,e,r,n);if(!n.value)return t;if(t.__ownerID)return t._root=i,t._tail=s,t.__hash=void 0,t.__altered=!0,t;return _e(t._origin,t._capacity,t._level,i,s)}function Fr(t,e,r,s,i,n){let h=s>>>r&$,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t?.array[h],f=Fr(c,e,r-z,s,i,n);if(f===c)return t;return o=Ut(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)T(n);if(o=Ut(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Ut(t,e){if(e&&e===t?.ownerID)return t;return new _t(t?.array.slice()??[],e)}function mn(t,e){if(e>=$t(t._capacity))return t._tail;if(e<1<<t._level+z){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&$],s-=z;return r}}function rt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Ze,i=t._origin,n=t._capacity,h=i+e,u=r===void 0?n:r<0?n+r:i+r;if(h===i&&u===n)return t;if(h>=u)return t.clear();let{_level:o,_root:c}=t,f=0;while(h+f<0)c=new _t(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=$t(n),l=$t(u);while(l>=1<<o+z)c=new _t(c?.array.length?[c]:[],s),o+=z;let a=t._tail,y=l<_?mn(t,u-1):l>_?new _t([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Ut(c,s);let d=c;for(let S=o;S>z;S-=z){let D=_>>>S&$;d=d.array[D]=Ut(d.array[D],s)}d.array[_>>>z&$]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let d=h>>>o&$;if(d!==l>>>o&$)break;if(d)f+=(1<<o)*d;o-=z,c=c.array[d]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-f);if(f)h-=f,u-=f}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=c,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return _e(h,u,o,c,y)}var $t=(t)=>t<E?0:t-1>>>z<<z,K=(t)=>t===void 0||t===null?Vt():rs(t)?t:Vt().withMutations((e)=>{let r=G(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});K.of=(...t)=>K(t);class vn extends Ft{static{zt(this,{[it]:!0,[ee]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:q.prototype.keys,values:q.prototype.values,__iterate:q.prototype.__iterate})}constructor(t,e,r,s){super(t?t.size:0,void 0,r,s);this._map=t,this._list=e}create(t){return K(t)}toString(){return this.__toString("OrderedMap {","}")}get(t,e){let r=this._map.get(t);return r!==void 0?this._list.get(r)[1]:e}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this;return Vt()}set(t,e){return sn(this,t,e)}remove(t){return sn(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return b((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i)return r[0]=i[0],r[1]=i[1],!0}})}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);if(!t){if(this.size===0)return Vt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Es(e,r,t,this.__hash)}}K.isOrderedMap=rs;var Es=(t,e,r,s)=>new vn(t,e,r,s),Vt=()=>Es(Q(),kt());function sn(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=E&&i.size>=s.size*2){let c=[];if(i.forEach((f,_)=>{if(f!==void 0&&n!==_)c.push(f)}),o=kt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=Q().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(c[_][0],_)}),t.__ownerID)u.__ownerID=o.__ownerID=t.__ownerID}else u=s.remove(e),o=n===i.size-1?i.pop():i.set(n,void 0)}else if(h){if(r===i.get(n)[1])return t;u=s,o=i.set(n,[e,r])}else{let c=i.size;u=s.set(e,c),o=i.set(c,[e,r])}if(t.__ownerID)return t.size=u.size,t._map=u,t._list=o,t.__hash=void 0,t.__altered=!0,t;return Es(u,o)}var Nt=(t)=>t===void 0||t===null?We():es(t)?t:We().pushAll(t);Nt.of=(...t)=>Nt(t);class th extends lt{static{zt(this,{asImmutable:oe,asMutable:ce,wasAltered:zs,withMutations:fe,[wn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return Nt(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=st(this,t);while(r&&t--)r=r.next;return r?r.value:e}peek(){return this._head?.value}push(...t){if(t.length===0)return this;let e=this.size+t.length,r=this._head;for(let s=t.length-1;s>=0;s--)r={value:t[s],next:r};return Yr(this,e,r)}pushAll(t){if(t=gt(t),t.size===0)return this;if(this.size===0&&es(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),Yr(this,e,r)}pop(){return this.slice(1)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this;return We()}slice(t,e){if(re(t,e,this.size))return this;let r=Kt(t,this.size);if(se(e,this.size)!==this.size)return lt.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return Yr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return We();return this.__ownerID=t,this.__altered=!1,this}return js(this.size,this._head,t,this.__hash)}__iterate(t,e){if(e){let i=this.toArray(),n=i.length,h=0;while(h!==n)if(t(i[n-++h],n-h,this)===!1)break;return h}let r=0,s=this._head;while(s){if(t(s.value,r++,this)===!1)break;s=s.next}return r}__iterator(t){if(t){let s=this.toArray(),i=s.length,n=0;return b((h)=>{if(n===i)return!1;let u=i-++n;return h[0]=u,h[1]=s[u],!0})}let e=0,r=this._head;return b((s)=>{if(!r)return!1;return s[0]=e++,s[1]=r.value,r=r.next,!0})}values(){let t=this._head,e={done:!1,value:void 0};return L(()=>{if(!t)return U;return e.value=t.value,t=t.next,e})}keys(){return Je(this.size)}}Nt.isStack=es;function Yr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return js(e,r)}var js=(t,e,r,s)=>new th(t,e,r,s),nn,We=()=>nn||(nn=js(0)),M=(t)=>t===void 0||t===null?vt():ts(t)&&!x(t)?t:vt().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(G(t).keySeq());M.intersect=(t)=>{return t=V(t).toArray(),t.length?M(t.pop()).intersect(...t):vt()};M.union=(t)=>{let e=V(t).toArray();return e.length?M(e.pop()).union(...e):vt()};class mt extends Ge{static{zt(this,{withMutations:fe,asImmutable:oe,asMutable:ce,[dn]:!0,[ee]:this.prototype.remove,merge:this.prototype.union,concat:this.prototype.union,[Symbol.toStringTag]:"Immutable.Set"})}constructor(t,e){super();this.size=t?t.size:0,this._map=t,this.__ownerID=e}create(t){return M(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return Ae(this,this._map.set(t,t))}remove(t){return Ae(this,this._map.remove(t))}clear(){return Ae(this,this._map.clear())}map(t,e){let r=!1,s=Ae(this,this._map.mapEntries(([,i])=>{let n=t.call(e,i,i,this);if(n!==i)r=!0;return[n,n]},e));return r?s:this}union(...t){if(t=t.filter((e)=>e.size!==0),t.length===0)return this;if(this.size===0&&!this.__ownerID&&t.length===1)return M(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else pt(r).forEach((s)=>e.add(s))})}intersect(...t){return un(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return un(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return vt()}__make(t,e){return eh(t,e)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t);if(!t){if(this.size===0)return this.__empty();return this.__ownerID=t,this._map=e,this}return this.__make(e,t)}}M.isSet=ts;var eh=(t,e)=>new mt(t,e),hn,vt=()=>hn||(hn=eh(Q()));function un(t,e,r){if(e.length===0)return t;return e=e.map((s)=>pt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function Ae(t,e){if(t.__ownerID)return t.size=e.size,t._map=e,t;return e===t._map?t:e.size===0?t.__empty():t.__make(e)}var k=(t)=>t===void 0||t===null?kr():On(t)?t:kr().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});k.of=(...t)=>k(t);k.fromKeys=(t)=>k(G(t).keySeq());class rh extends mt{static{zt(this,{[it]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Qr.zip,zipWith:Qr.zipWith,zipAll:Qr.zipAll})}create(t){return k(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return kr()}__make(t,e){return sh(t,e)}}k.isOrderedSet=On;var sh=(t,e)=>new rh(t,e),kr=()=>sh(Vt()),rc={LeftThenRight:-1,RightThenLeft:1};function Yu(t){if(yt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(Y(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var Be=(t,e)=>{let r;Yu(t);let s=function(h){if(h instanceof s)return h;if(!(this instanceof s))return new s(h);if(!r){r=!0;let u=Object.keys(t),o=i._indices={};i._name=e,i._keys=u,i._defaultValues=t;for(let c=0;c<u.length;c++){let f=u[c];if(o[f]=c,i[f])console.warn(`Cannot define ${Is(this)} with property "${f}" since that property name is part of the Record API.`);else Cu(i,f)}}return this.__ownerID=void 0,this._values=J().withMutations((u)=>{u.setSize(this._keys.length),G(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(Bu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class ih{static{zt(this,{asImmutable:oe,asMutable:ce,deleteIn:At,getIn:Hu,hasIn:Xu,merge:xr,mergeWith:Cn,mergeDeep:xn,mergeDeepWith:Fn,mergeDeepIn:bs,mergeIn:qs,setIn:Ss,toObject:en,update:Os,updateIn:Ms,withMutations:fe,removeIn:At,toJSON:en,[zn]:!0,[ee]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Pt(this.get(e))}`).join(", ");return`${Is(this)} { ${t} }`}equals(t){return this===t||yt(t)&&Et(this).equals(Et(t))}hashCode(){return Et(this).hashCode()}has(t){return Object.hasOwn(this._indices,t)}get(t,e){if(!this.has(t))return e;let r=this._indices[t],s=this._values.get(r);return s===void 0?this._defaultValues[t]:s}set(t,e){if(this.has(t)){let r=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(r!==this._values&&!this.__ownerID)return Br(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Br(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return Et(this)}toJS(){return Le(this)}entries(){return this.__iterator()}__iterate(t,e){return Et(this).__iterate(t,e)}__iterator(t){return Et(this).__iterator(t)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._values.__ensureOwner(t);if(!t)return this.__ownerID=t,this._values=e,this;return Br(this,e,t)}}Be.isRecord=yt;var Is=(t)=>t.constructor.displayName||t.constructor.name||"Record";class nh extends Lt{constructor(t){super();this._record=t,this.size=t._keys.length}get(t,e){return this._record.get(t,e)}has(t){return this._record.has(t)}__iterateUncached(t,e){let r=this._record,s=r._keys,i=s.length,n=0;while(n!==i){let h=e?i-++n:n++,u=s[h];if(t(r.get(u),u,this)===!1)break}return n}__iteratorUncached(t){let e=this._record,r=e._keys,s=r.length,i=0;return b((n)=>{if(i===s)return!1;let h=t?s-++i:i++,u=r[h];return n[0]=u,n[1]=e.get(u),!0})}}var Et=(t)=>new nh(t);Be.getDescriptiveName=Is;var Bu=ih.prototype;function Br(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Cu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){Ct(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var Vr=(t,e,r=1)=>{if(Ct(r!==0,"Cannot step a Range by 0"),Ct(t!==void 0,"You must define a start value when using Range"),Ct(e!==void 0,"You must define an end value when using Range"),r=Math.abs(r),e<t)r=-r;let s=Math.max(0,Math.ceil((e-t)/r-1)+1);return new As(t,e,r,s)};class As extends dt{_start;_end;_step;constructor(t,e,r,s){super();this._start=t,this._end=e,this._step=r,this.size=s}toString(){return this.size===0?"Range []":`Range [ ${this._start}...${this._end}${this._step!==1?` by ${this._step}`:""} ]`}get(t,e){return this.has(t)?this._start+st(this,t)*this._step:e}includes(t){let e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)}slice(t,e){if(re(t,e,this.size))return this;if(t=Kt(t,this.size),e=se(e,this.size),e<=t)return Vr(0,0);return Vr(this.get(t,this._end),this.get(e,this._end),this._step)}indexOf(t){let e=t-this._start;if(e%this._step===0){let r=e/this._step;if(r>=0&&r<this.size)return r}return-1}lastIndexOf(t){return this.indexOf(t)}__iterateUncached(t,e=!1){let r=this.size,s=this._step,i=e?this._start+(r-1)*s:this._start,n=0;while(n!==r){let h=i;i+=e?-s:s;let u=e?r-++n:n++;if(t(h,u,this)===!1)break}return n}__iteratorUncached(t=!1){let e=this.size,r=this._step,s=t?this._start+(e-1)*r:this._start,i=0;return b((n)=>{if(i===e)return!1;let h=s;return s+=t?-r:r,n[0]=t?e-++i:i++,n[1]=h,!0})}values(){let t=this.size,e=this._step,r=this._start,s=0,i={done:!1,value:void 0};return L(()=>{if(s===t)return U;return i.value=r,r+=e,s++,i})}keys(){return Je(this.size)}equals(t){return t instanceof As?this._start===t._start&&this._end===t._end&&this._step===t._step:ns(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var sc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new Re(t,r)};class Re extends dt{constructor(t,e){super();this._value=t,this.size=e}toString(){if(this.size===0)return"Repeat []";return`Repeat [ ${this._value} ${this.size} times ]`}get(t,e){return this.has(t)?this._value:e}includes(t){return I(this._value,t)}slice(t,e){let r=this.size;return re(t,e,r)?this:new Re(this._value,se(e,r)-Kt(t,r))}reverse(){return this}indexOf(t){if(I(this._value,t))return 0;return-1}lastIndexOf(t){if(I(this._value,t))return this.size;return-1}__iterateUncached(t,e){let r=this.size,s=0;while(s!==r)if(t(this._value,e?r-++s:s++,this)===!1)break;return s}__iteratorUncached(t){let e=this.size,r=this._value,s=0;return b((i)=>{if(s===e)return!1;return i[0]=t?e-++s:s++,i[1]=r,!0})}values(){let t=this.size,e=this._value,r=0,s={done:!1,value:void 0};return L(()=>{if(r===t)return U;return r++,s.value=e,s})}keys(){return Je(this.size)}equals(t){return t instanceof Re?this.size===t.size&&I(this._value,t._value):ns(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var ic=(t,e)=>hh([],e??Pu,t,"",e?.length>2?[]:void 0,{"":t});function hh(t,e,r,s,i,n){if(typeof r!=="string"&&!Y(r)&&(ss(r)||Nr(r)||jn(r))){if(t.includes(r))throw TypeError("Cannot convert circular structure to Immutable");if(t.push(r),i&&s!=="")i.push(s);let h=e.call(n,s,N(r).map((u,o)=>hh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var Pu=(t,e)=>j(e)?e.toList():w(e)?e.toMap():e.toSet(),Ue=(t)=>w(t)?t.valueSeq():t;function xu(){q.prototype.toMap=function(){return Z(this.toKeyedSeq())},q.prototype.toOrderedMap=function(){return K(this.toKeyedSeq())},q.prototype.toOrderedSet=function(){return k(Ue(this))},q.prototype.toSet=function(){return M(Ue(this))},q.prototype.toStack=function(){return Nt(Ue(this))},q.prototype.toList=function(){return J(Ue(this))},q.prototype.countBy=function(e,r){let s=Z().asMutable();return this.__iterate((i,n)=>{s.update(e.call(r,i,n,this),0,(h)=>h+1)}),s.asImmutable()},q.prototype.groupBy=function(e,r){let s=w(this),i=(x(this)?K():Z()).asMutable();return this.__iterate((n,h)=>{i.update(e.call(r,n,h,this),(u)=>{return u??=[],u.push(s?[h,n]:n),u})}),i.map((n)=>Kn(this,n)).asImmutable()},lt.prototype.keySeq=function(){return Vr(0,this.size)},Ft.prototype.sort=function(e){return K(jt(this,e))},Ft.prototype.sortBy=function(e,r){return K(jt(this,r,e))},mt.prototype.sort=function(e){return k(jt(this,e))},mt.prototype.sortBy=function(e,r){return k(jt(this,r,e))}}var Fu="7.0.0",ku={version:Fu};xu();var{version:nc}=ku;var Vu=["nid","cid","eid","vid","si","sk"];class Us{constructor(t,e,r,s,i,n,h){this.comps=t,this.h=e,this.fragment=r,this.renderComment=s,this.renderFn=i,this.getSeqInfo=n??ro,this.cache=h??new Or}setNullCache(){this.cache=new Sr}renderToDOM(t,e){let r=document.createElement("div");return this.renderFn(this.h("div",null,[this.renderRoot(t,e)]),r),r.childNodes[0]}renderToString(t,e,r=!0){let s=this.renderToDOM(t,e,this.renderFn);if(r){let i=s.querySelectorAll("[data-nid],[data-cid],[data-eid]");for(let{dataset:n}of i)for(let h of Vu)delete n[h]}return s.innerHTML}renderRoot(t,e,r=null){let s=this.comps.getCompFor(e),i=s.getView(r).anode.nodeId??null;return s?this._rValComp(t,e,s,i,"ROOT",r):null}renderIt(t,e,r,s){let i=this.comps.getCompFor(t.it);return i?this._rValComp(t,t.it,i,e,r,s):null}_rValComp(t,e,r,s,i,n){let h=`${n??t.viewsId??""}${s}-${i}`,u=this.cache.get(e,h);if(u)return u;let o=n?r.getView(n):t.lookupBestView(r.views,"main"),c=this.renderMetadata("Comp",{nid:s}),f=this.renderFragment([c,this.renderView(o,t)]);return this.cache.set(e,h,f),f}pushEachEntry(t,e,r,s,i){t.push(this.renderMetadata("Each",{nid:e,[r]:s}),i)}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),c=[],f=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,r,_,s);this.pushEachEntry(c,r,u,_,y)}return c}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,c]=this.getSeqInfo(i),f=[],_=h.call(t.it,i);for(let[l,a]of c(i))if(n.call(t.it,l,a,_)){let y={key:l,value:a},d=`${s}-${l}`,S;if(u)u.call(t.it,y,l,a,_),S=this.cache.get2(t.it,a,d);else S=this.cache.get(a,d);if(S){this.pushEachEntry(f,s,o,l,S);continue}let D=t.enter(a,y,!1),v=this.renderView(r,D);if(this.pushEachEntry(f,s,o,l,v),u)this.cache.set2(t.it,a,d,v);else this.cache.set(a,d,v)}return f}renderView(t,e){return t.render(e,this)}renderText(t){return t}renderMetadata(t,e){return e.$=t,this.renderComment(`§${JSON.stringify(e)}§`)}renderEmpty(){return null}renderTag(t,e,r){return this.h(t,e,r)}renderFragment(t){return this.fragment(t)}}function*Nu(t){let e=0;for(let r of t)yield[e++,r]}function*mu(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var uh=new Map,vu=["si",Nu],to=["sk",mu],eo=["si",function*(e){}];function ro(t){return j(t)?vu:w(t)?to:uh.get(t?.constructor)??eo}var Ks=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),le=(t)=>t!==null&&typeof t==="object",ch=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function fh(t,e,r){for(let s in e){let i=e[s];if(i===void 0)so(t,s,r);else if(Ks(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(le(i))io(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function so(t,e,r){let s=r[e];if(e==="dangerouslySetInnerHTML")t.replaceChildren();else if(e==="className")t.removeAttribute("class");else if(e==="htmlFor")t.removeAttribute("for");else if(typeof s==="string"||Ks(e))t.removeAttribute(e);else t[e]=null}function io(t,e,r,s){let i=e?.[r];if(le(i)&&ch(i,s)){t[r]=s;return}if(!le(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Rt{}var $s=(t)=>t instanceof xe?t.key:void 0,no=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function _h(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function Ls(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function Ds(t,e){if(e==null)return;if(no(e))for(let r of e)Ds(t,r);else if(e instanceof Rt)if(e instanceof St)t.push(...e.childs);else t.push(e);else t.push(new Ws(e))}class Ws extends Rt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof Ws&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Pe extends Rt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Pe&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class St extends Rt{constructor(t){super();this.childs=[],Ds(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof St)||this.childs.length!==t.childs.length)return!1;return _h(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return Ls(e,this.childs,t),e}}class xe extends Rt{constructor(t,e,r,s,i){super();this.tag=t,this.attrs=e??{},this.childs=r??[],this.key=s!=null?String(s):void 0,this.namespace=typeof i==="string"?i:null}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof xe)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||this.childs.length!==t.childs.length)return!1;for(let e in this.attrs)if(this.attrs[e]!==t.attrs[e])return!1;for(let e in t.attrs)if(!Object.hasOwn(this.attrs,e))return!1;return _h(this.childs,t.childs)}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);return fh(r,this.attrs,{}),Ls(r,this.childs,t),r}}function lh(t,e){let r=null;for(let s in t){if(!Object.hasOwn(e,s)){r??={},r[s]=void 0;continue}let i=t[s],n=e[s];if(i===n)continue;if(le(i)&&le(n))if(ch(n,i))r??={},r[s]=n;else{let h=lh(i,n);if(h)r??={},r[s]=h}else r??={},r[s]=n}for(let s in e)if(!Object.hasOwn(t,s))r??={},r[s]=e[s];return r}function ah(t,e,r,s){if(e===r||e.isEqualTo(r))return t;let i=e.nodeType;if(i===r.nodeType){if(i===3||i===8)return t.data=r.text,t;if(i===1&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let h=lh(e.attrs,r.attrs);if(h)fh(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)oh(t,e.childs,r.childs,s);return t}if(i===11)return oh(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function oh(t,e,r,s){if(e.length===0){Ls(t,r,s);return}if(r.length===0){t.replaceChildren();return}let i=Array.from(t.childNodes),n=Object.create(null);for(let o=0;o<e.length;o++){let c=$s(e[o]);if(c!=null)n[c]=o}let h=new Uint8Array(e.length),u=0;for(let o=0;o<r.length;o++){let c=r[o],f=$s(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&$s(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let l=ah(i[_],e[_],c,s),a=t.childNodes[o]??null;if(l!==a)t.insertBefore(l,a)}else{let l=t.childNodes[o]??null;t.insertBefore(c.toDom(s),l)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var Ce=new WeakMap;function yh(t,e,r){let s=Ce.get(e),i=t instanceof St;if(s&&s.vnode instanceof St===i){let h=i?e:s.dom,u=ah(h,s.vnode,t,r);return Ce.set(e,{vnode:t,dom:i?e:u}),u}Ce.delete(e);let n=t.toDom(r);return e.replaceChildren(n),Ce.set(e,{vnode:t,dom:i?e:n}),n}function gh(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e){let c=e[o];switch(o){case"key":n=c;break;case"namespace":h=c;break;case"class":i.className=c;break;case"for":i.htmlFor=c;break;default:i[o]=Ks(o)?String(c):c}}let u=[];return Ds(u,r),new xe(s,i,u,n,h)}var ph=Symbol("BadValue"),Sh=(t)=>t;class B{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,ph);if(h===ph)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class Js{isValid(t){return!0}getMessage(t){return"Invalid"}}class Oh extends Js{}var ho=new Oh;class m extends Js{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var uo=new m((t)=>Number.isInteger(t),()=>"Integer expected"),oo=new m((t)=>Number.isFinite(t),()=>"Float expected"),co=new m((t)=>typeof t==="boolean",()=>"Boolean expected"),fo=new m((t)=>typeof t==="string",()=>"String expected"),_o=new m((t)=>J.isList(t),()=>"List expected"),lo=new m((t)=>Z.isMap(t),()=>"Map expected"),ao=new m((t)=>K.isOrderedMap(t),()=>"OrderedMap expected"),yo=new m((t)=>M.isSet(t),()=>"Set expected"),go=(t)=>!!t;class Ts extends B{constructor(t,e=!1){super("bool",t,co,go,e)}extendProtoForType(t,e){let{name:r}=this;t[`toggle${e}`]=function(){return this.set(r,!this.get(r,!1))},t[`set${e}`]=function(s){return this.set(r,!!s)}}}class Fe extends B{constructor(t,e=null){super("any",t,ho,Sh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Rs(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var po=(t)=>t?.toString?.()??"";class Zs extends B{constructor(t,e=""){super("text",t,fo,po,e)}extendProtoForType(t,e){Bs(t,this.name,e,"","length")}}var wo=(t)=>Number.isFinite(t)?Math.trunc(t):null;class Mh extends B{constructor(t,e=0){super("int",t,uo,wo,e)}}var zo=(t)=>null;class Hs extends B{constructor(t,e=0){super("float",t,oo,zo,e)}}var Rs=(t)=>t?.constructor?.getMetaClass?.()?.name;class qh{constructor(t){this.typeName=t}isValid(t){return Rs(t)===this.typeName}getMessage(t){let e=Rs(t);return`Expected "${this.typeName}", got "${e}"`}}class bh extends B{constructor(t,e,r){super(t,e,new qh(t),Sh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var dh=Symbol("NONE");function Xs(t,e,r){Bs(t,e,r,jh),t[`setIn${r}At`]=function(s,i){return this.set(e,this.get(e).set(s,i))},t[`getIn${r}At`]=function(s,i){return this.get(e).get(s,i)},t[`updateIn${r}At`]=function(s,i){let n=this.get(e),h=n.get(s,dh);if(h!==dh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Eh(t,e,`${r}At`)}function Eh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var jh=J(),So=(t)=>Array.isArray(t)?J(t):null;class Gs extends B{constructor(t,e=jh){super("list",t,_o,So,e)}extendProtoForType(t,e){let{name:r}=this;Xs(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))},t[`insertIn${e}At`]=function(s,i){return this.set(r,this.get(r).insert(s,i))}}}var Oo=(t)=>Z(t);class Qs extends B{constructor(t,e=Z()){super("map",t,lo,Oo,e)}extendProtoForType(t,e){Xs(t,this.name,e)}}var Mo=(t)=>K(t);class Ys extends B{constructor(t,e=K()){super("omap",t,ao,Mo,e)}extendProtoForType(t,e){Xs(t,this.name,e)}}function Bs(t,e,r,s,i="size"){t[`is${r}Empty`]=function(){return this.get(e,s)[i]===0},t[`${e}Len`]=function(){return this.get(e,s)[i]}}var wh=M(),qo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class Cs extends B{constructor(t,e=wh){super("set",t,yo,qo,e)}extendProtoForType(t,e){let{name:r}=this;Bs(t,r,e,wh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Eh(t,r,e),t[`hasIn${e}`]=function(s){return this.get(r).has(s)},t[`toggleIn${e}`]=function(s){let i=this.get(r);return this.set(r,i.has(s)?i.delete(s):i.add(s))}}}function zh(t,e,r){let s=e.lookupComponent(t.type);return console.assert(s!==null,"component not found",{field:t}),s?.make({...t.args,...r},{scope:e})??null}class Ih{constructor(t){let e={},r=new Set;this.name=t,this.fields=e,this.compFields=r,this._methods={},this._statics={make:function(s={},i={}){let n={};for(let h in s){let u=e[h];if(r.has(h))n[h]=zh(u,i.scope,s[h]);else if(u===void 0){console.warn("extra argument to constructor:",t,h,s);continue}n[h]=u.coerceOrDefault(s[h])}for(let h of r)if(n[h]===void 0)n[h]=zh(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:Be(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new bh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Ah=new Map,bo={text:Zs,int:Mh,float:Hs,bool:Ts,list:Gs,map:Qs,omap:Ys,set:Cs,any:Fe};function Eo(t,{fields:e={},methods:r,statics:s}){let i=new Ih(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Zs);else if(u==="number")i.addField(n,h,Hs);else if(u==="boolean")i.addField(n,h,Ts);else if(J.isList(h)||Array.isArray(h))i.addField(n,J(h),Gs);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),Cs);else if(K.isOrderedMap(h))i.addField(n,h,Ys);else if(h?.type&&h?.defaultValue!==void 0){let o=bo[h.type]??Fe;i.addField(n,new o().coerceOr(h.defaultValue),o)}else if(h?.component&&h?.args!==void 0)i.addCompField(n,h.component,h.args);else if(Z.isMap(h)||h?.constructor===Object)i.addField(n,Z(h),Qs);else{let o=Ah.get(h?.constructor)??Fe;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var jo=(t)=>new Er(t.name??"Comp",Eo(t.name,t),t.view??"Not Defined",t.views,t.style,t.commonStyle??"",t.globalStyle??"",t.computed,t.input,t.logic,t.bubble,t.response,t.alter,t.dynamic,t.on);var{raw:zc,raw:Sc}=String;function Oc(t,e){return new yr(t,e)}var Io=(t)=>typeof t==="string"?document.querySelector(t):t;function Mc(t){let e=Io(t),r=new be,s=(o)=>new St(o),i=(o)=>new Pe(o),n={document},h=(o,c)=>yh(o,c,n),u=new Us(r,gh,s,i,h);return new Jr(e,h,r,u,Yt)}export{nc as version,Wt as updateIn,Bn as update,Mc as tutuca,Zu as setIn,Ju as set,uh as seqInfoByClass,Tu as removeIn,Ru as remove,vo as mergeWith,ec as mergeDeepWith,tc as mergeDeep,mo as merge,Oc as macro,Yi as isValueObject,es as isStack,ts as isSet,vr as isSeq,yt as isRecord,jn as isPlainObject,On as isOrderedSet,rs as isOrderedMap,x as isOrdered,rs as isOMap,He as isMap,Sn as isList,w as isKeyed,j as isIndexed,Y as isImmutable,He as isIMap,R as isCollection,mr as isAssociative,I as is,Zi as injectCss,Sc as html,X as hash,Un as hasIn,yu as has,is as getIn,An as get,ic as fromJS,Ah as fieldsByClass,zc as css,jo as component,Nt as Stack,M as Set,N as Seq,sc as Repeat,Be as Record,Vr as Range,Yt as ParseContext,rc as PairSorting,k as OrderedSet,K as OrderedMap,K as OMap,Z as Map,J as List,M as ISet,Z as IMap,V as Collection};
|
|
1
|
+
class Tt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Ot extends Tt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Ot({...this.binds,key:t})}withKey(t){return new Ot({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class ye extends Tt{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new me(this.field,t)}withKey(t){return new Ne(this.field,t)}}class Ve extends Tt{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class Ne extends Ve{}class me extends Ve{}var W=Symbol("NONE");class ve extends Tt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,W),s=t?.get(this.keyField,W);return s!==W&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,W),s=t?.get(this.keyField,W);return r===W||s===W?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class tt{constructor(t=[]){this.steps=t}concat(t){return new tt(this.steps.concat(t))}popStep(){return new tt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,W),r===W)return e;return r}setValue(t,e){let r=Array(this.steps.length),s=t;for(let n=0;n<this.steps.length;n++)if(r[n]=s,s=this.steps[n].lookup(s,W),s===W)return t;let i=e;for(let n=this.steps.length-1;n>=0;n--)i=this.steps[n].setValue(r[n],i),r[n]=i;return i}buildStack(t){let e=t.it,r=e;for(let s of this.steps){if(r=s.lookup(r,W),r===W)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],c=null,f=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:y}=Vs(t.previousSibling),{eid:w,cid:S,vid:L}=t.dataset;if(w!==void 0)o.push(w);if(S!==void 0){let v=i.getComponentForId(+S,L);if(_){if(c=Uh(v,o,L,e),c===null&&n)return Kh;_=!1}let Fs=$h(v,f,L);if(Fs)h.push(Fs);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new tt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return tt.fromNodeAndEventName(h,n,e,r,s,i)}}var ks={};function Vs(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=Vs(t.previousSibling);if(e!==ks)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return ks}function Uh(t,e,r,s){for(let i of e){let n=t.getEventForId(+i,r).getHandlersFor(s);if(n!==null)return n}return null}function $h(t,e,r){for(let s=0;s<e.length;s++){let i=t.getNodeForId(+e[s].nid,r),n=i.pathInNext?s+1:s,{si:h,sk:u,nid:o}=e[n],c=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(c!==null)return h!==void 0?c.withIndex(+h):u?c.withKey(u):c}return null}var Kh=[null,null];class tr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new ye(t))}index(t,e){return this.add(new me(t,e))}key(t,e){return this.add(new Ne(t,e))}}var Dh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ut=(t)=>Dh.test(t),Lh=/^-?[0-9]+(\.[0-9]+)?$/,Ns=(t,e)=>rr.parse(t,e),Zt=(t,e)=>new C(t),Wh=(t,e)=>ut(t)?new ot(t):null,Rh=(t,e)=>ut(t)?new ri(t):null,Jh=(t,e)=>ut(t)?new ir(t):null,Th=(t,e)=>ut(t)?new ni(t):null,Zh=(t,e)=>ut(t)?new hi(t):null,Hh=(t,e)=>ut(t)?new ui(t):null,Xh=(t,e)=>ut(t)?new si(t):null;class ms{constructor(){this.allowFieldOnly(),this.bindValIt=new ir("it"),this.nullConstVal=new C(null)}const(t){return new C(t)}allowFieldOnly(){this.okField=!0,this.okBind=!1,this.okComputed=!1,this.okDyn=!1,this.okType=!1,this.okRequest=!1,this.okName=!1,this.okConst=!1,this.okStrTpl=!1,this.okSeqAccess=!1}_parseSeqAccess(t,e){if(!this.okSeqAccess)return null;let r=t.indexOf("[");this.allowFieldOnly();let s=this.parse(t.slice(0,r),e),i=this.parse(t.slice(r+1,-1),e);return s&&i?new oi(s,i):null}parse(t,e){switch(Gh(t)){case ci:return this.okStrTpl?Ns(t,e):null;case _i:return this.okStrTpl?Zt(t,e):null;case fi:return this._parseSeqAccess(t,e);case ge:return this.okStrTpl?Ns(t,e):null}let r=t.charCodeAt(0);switch(r){case 94:{let i=e.frame.macroVars?.[t.slice(1)];if(i!==void 0)return this.parse(i,e);return null}case 126:return this.okStrTpl?Zt(t.slice(1),e):null;case 39:return this.okStrTpl?Zt(t.slice(1,-1),e):null;case 64:return this.okBind?Jh(t.slice(1),e):null;case 42:return this.okDyn?Th(t.slice(1),e):null;case 46:return this.okField?Zh(t.slice(1),e):null;case 36:return this.okComputed?Hh(t.slice(1),e):null;case 33:return this.okRequest?Xh(t.slice(1),e):null}let s=Lh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Zt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Zt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Wh(t,e):null;else if(r>=65&&r<=90)return this.okType?Rh(t,e):null;return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s&&(s.toRawFieldVal?s.toRawFieldVal():new r(s.name))}parseHandlerName(t,e){return this._parseHandler(t,e,vs)}parseAlter(t,e){return this._parseHandler(t,e,ti)}parseAttr(t,e){return this.parseText(t,e)}parseAll(t,e){return this.allowHandlerArg(),this.okStrTpl=!0,this.okSeqAccess=!0,this.parse(t,e)}parseCondValue(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.parse(t,e)}parseText(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.okStrTpl=!0,this.parse(t,e)}parseRender(t,e){return this.allowFieldOnly(),this.okSeqAccess=!0,this.parse(t,e)}}class pe{render(t,e){}eval(t){}toPathItem(){return null}}class C extends pe{constructor(t){super();this.val=t}render(t,e){return this.val}eval(t){return this.val}toString(){let t=this.val;return typeof t==="string"?`'${t}'`:`${t}`}}class er extends pe{}class rr extends er{constructor(t){super();this.vals=t}render(t,e){return this.eval(t)}eval(t){let e=Array(this.vals.length);for(let r=0;r<this.vals.length;r++)e[r]=this.vals[r]?.eval(t,"");return e.join("")}static parse(t,e){let r=t.split(/(\{[^}]+\})/g),s=Array(r.length),i=!0;for(let n=0;n<r.length;n++){let h=r[n],o=h[0]==="{"&&h.at(-1)==="}"?p.parseText(h.slice(1,-1),e):new C(h);s[n]=o,i&&=o instanceof C}return i?new C(s.map((n)=>n.val).join("")):new rr(s)}}class ot extends er{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class vs extends ot{eval(t){return t.getHandlerFor(this.name,"input")??ei("input",this.name)}}class ti extends ot{eval(t){return t.getHandlerFor(this.name,"alter")??ei("alter",this.name)}}var ei=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ri extends ot{eval(t){return t.lookupType(this.name)}}class si extends ot{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ii extends ot{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class sr extends pe{render(t,e){return this.eval(t)}}class Ht extends sr{constructor(t){super();this.name=t}}class ir extends Ht{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class ni extends Ht{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class hi extends Ht{eval(t){return t.lookupField(this.name)}toPathItem(){return new ye(this.name)}toRawFieldVal(){return new ii(this.name)}toString(){return`.${this.name}`}}class ui extends Ht{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class oi extends sr{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new ve(this.seqVal.name,this.keyVal.name)}eval(t){let e=this.keyVal.eval(t);return this.seqVal.eval(t).get(e,null)}toString(){return`${this.seqVal}[${this.keyVal}]`}}var ci=0,fi=1,ge=2,_i=3;function Gh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return ge;e+=1;break;case 93:if(r>0||e===0)return ge;r+=1;break;case 123:return ci;case 125:return _i}if(e>0||r>0)return e===1&&r===1?fi:ge;return-1}var p=new ms;class Mt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return or(e).parse(t,r)}isConstant(){return!1}}var Qh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",Yh=new Set(Qh.split(","));class li{constructor(t){this.clear(t)}clear(t){this.px=t,this.attrs=null,this.hasDynamic=!1,this.wrapperAttrs=null,this.textChild=null,this.eachAttr=null,this.ifAttr=null,this.events=null}parseAttr(t,e,r=!1){let s=r?p.parseAll(e,this.px):p.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new de(t,s)),this.hasDynamic||=!(s instanceof C)}pushWrapper(t,e,r){let s={name:t,val:r,raw:e};return this.wrapperAttrs??=[],this.wrapperAttrs.push(s),s}parseIf(t,e){let r=p.parseCondValue(e,this.px);if(r)this.ifAttr=new gi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=p.parseAttr(t,this.px)??Xt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=p.parseAttr(t,this.px)??Xt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=cr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",p.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new yi(p.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,p.const(t));return;case"push-view":this.pushWrapper("push-view",t,p.parseText(t,this.px));return;case"text":this.textChild=p.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,p.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,p.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,p.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=p.parseAlter(t,this.px);else this.pushWrapper("scope",t,p.parseAlter(t,this.px));return;case"when":this._parseWhen(t);return;case"loop-with":this._parseLoopWith(t);return;case"then":this.parseThen(t);return;case"else":this.parseElse(t);return}if(e.startsWith("on."))this.parseEvent(e,t);else if(e.startsWith("if."))this.parseIf(e,t);else if(e.startsWith("then."))this.parseThen(t);else if(e.startsWith("else."))this.parseElse(t)}_parseWhen(t){if(this.eachAttr!==null)this.eachAttr.whenVal=p.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=p.parseAlter(t,this.px)}parse(t,e=!1){for(let{name:n,value:h}of t){let u=n.charCodeAt(0);if(u===58)this.parseAttr(n===":viewbox"?"viewBox":n.slice(1),h,e);else if(u===64)this.parseDirective(h,n.slice(1));else{this.attrs??=[];let o=h===""&&Yh.has(n)?!0:h;this.attrs.push(new we(n,p.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new ai(r):hr.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class hr extends Mt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new hr(e)}setDataAttr(t,e){this.items[t]=e}toMacroVars(){let t={};for(let e in this.items)t[e]=`'${this.items[e]}'`;return t}isConstant(){return!0}}class ai extends Mt{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new we(t,new C(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class ur{constructor(t){this.name=t}}class de extends ur{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class we extends de{}class yi extends de{constructor(t){super("dangerouslySetInnerHTML",t??p.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Xt=p.nullConstVal;class gi extends ur{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Xt}get anyBranchIsSet(){return this.thenVal!==Xt||this.elseVal!==Xt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var nr=null;function or(t){return nr??=new li(t),nr.clear(t),nr}class cr{constructor(t,e=[]){this.handlerVal=t,this.args=e}getHandlerAndArgs(t,e){let r=Array(this.args.length);for(let s=0;s<r.length;s++)r[s]=this.args[s].eval(t);return[this.handlerVal.eval(t),r]}static parse(t,e){let[r,...s]=t.trim().split(/\s+/),i=p.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);p.allowHandlerArg();for(let h=0;h<s.length;h++){let u=p.parse(s[h],e);n[h]=u!==null?u:p.nullConstVal}return new cr(i,n)}}class fr{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class bt{render(t,e){return null}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class Yt extends bt{constructor(t){super();this.val=t}render(t,e){return this.val}isWhiteSpace(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.val=""}isConstant(){return!0}setDataAttr(t,e){}}class Qt extends Yt{render(t,e){return e.renderComment(this.val)}}function Bh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new wr(r);else r.optimize()}}function ar(t){if(t.isConstant())return new wr(t);return t.optimize(),t}class yr extends bt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Bh(this.childs)}}class ze extends yr{constructor(t,e,r){super(r);this.tagName=t,this.attrs=e}render(t,e){let r=Array(this.childs.length);for(let s=0;s<r.length;s++)r[s]=this.childs[s]?.render?.(t,e)??null;return e.renderTag(this.tagName,this.attrs.eval(t),r)}setDataAttr(t,e){this.attrs.setDataAttr(t,e)}isConstant(){return this.attrs.isConstant()&&super.isConstant()}}class Se extends yr{render(t,e){return e.renderFragment(this.childs.map((r)=>r?.render(t,e)))}setDataAttr(t,e){for(let r of this.childs)r.setDataAttr(t,e)}}var Gt=(t)=>t.length===1?t[0]:new Se(t),Ch=/^[a-zA-Z][a-zA-Z0-9-]*$/,pi=null;class et extends bt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){pi??=e.newDOMParser();let r=pi.parseFromString(t,"text/html").body.childNodes;return et.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Yt(t.textContent);else if(e.isCommentNode(t))return new Qt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=et.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Gt(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Me(null,p.const(u),Gt(n));case"text":{let c=p.parseText(u,e);return c!==null?new lr(null,c):null}case"render":return e.addNodeIf(bi,p.parseRender(u,e),o);case"render-it":return e.addNodeIf(qi,p.bindValIt,o);case"render-each":return pr.parse(e,p,u,o,s);case"show":return e.addNodeIf(dr,p.parseCondValue(u,e),Gt(n));case"hide":return e.addNodeIf(zr,p.parseCondValue(u,e),Gt(n))}return new Qt(`Error: InvalidSpecialTagOp ${h}=${u}`)}else if(i.charCodeAt(1)===58&&i.charCodeAt(0)===88){let h=i.slice(2).toLowerCase();if(h==="slot"){let c=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[c]??Gt(n)}let[u,o]=Mt.parse(s,e,!0);return e.onAttributes(u,o,null),wi(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(Ch.test(i)){let[h,u,o]=Mt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new lr(null,o));let c=i!=="PRE"?Vh(n):n;return wi(new ze(i.toLowerCase(),h,c),e,u)}return new Qt(`Error: InvalidTagName ${i}`)}}function wi(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=Ph(r[s],e);if(i)i.wrapNode(t),t=i}return t}function Ph(t,e){let r=kh[t.name],s=r.register?e.addNodeIf(r,t.val):t.val&&new r(null,t.val);if(s!==null&&t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class Mi extends bt{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new Qt(`bad macro: ${e}`);else{let n={...i.defaults,...r};this.node=i.expand(this.px.enterMacro(e,n,s));for(let h in this.dataAttrs)this.node.setDataAttr(h,this.dataAttrs[h])}}render(t,e){return this.node.render(t,e)}setDataAttr(t,e){this.dataAttrs[t]=e}isConstant(){return this.node.isConstant()}optimize(){this.node=ar(this.node)}}class gr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return et.parse(this.rawView,t)}}class Oe extends et{constructor(t,e,r){super(t,e);this.viewId=r}}class bi extends Oe{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class qi extends Oe{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class pr extends Oe{constructor(t,e,r){super(t,e,r);this.iterInfo=new Sr(e,null,null,null)}render(t,e){return e.renderEach(t,this.iterInfo,this.nodeId,this.viewId)}static parse(t,e,r,s,i){let n=t.addNodeIf(pr,e.parseEach(r,t),s);if(n!==null){let h=or(t);h.eachAttr=h.pushWrapper("each",r,n.val);let u=i.getNamedItem("when");u&&h._parseWhen(u.value);let o=i.getNamedItem("loop-with");o&&h._parseLoopWith(o.value),n.iterInfo.whenVal=h.eachAttr.whenVal??null,n.iterInfo.loopWithVal=h.eachAttr.loopWithVal??null}return n}}class lr extends et{render(t,e){return this.val.eval(t)}}class wr extends bt{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ct extends et{constructor(t,e,r=null){super(t,e);this.node=r}wrapNode(t){this.node=t}setDataAttr(t,e){this.node.setDataAttr(t,e)}optimize(){this.node=ar(this.node)}static register=!1}class dr extends ct{render(t,e){return this.val.eval(t)?this.node.render(t,e):null}}class zr extends ct{render(t,e){return this.val.eval(t)?null:this.node.render(t,e)}}class Ei extends ct{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Me extends ct{optimize(){this.node.optimize()}}class ji extends ct{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new Ot({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ii extends ct{constructor(t,e){super(t,e);this.iterInfo=new Sr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Ot({})}static register=!0}class Sr{constructor(t,e,r,s){this.val=t,this.whenVal=e,this.loopWithVal=r,this.enrichWithVal=s}eval(t){let e=this.val.eval(t)??[],r=this.whenVal?.eval(t)??xh,s=this.loopWithVal?.eval(t)??Fh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var xh=(t,e,r)=>!0,Fh=(t)=>({seq:t}),kh={slot:Me,show:dr,hide:zr,each:Ii,scope:ji,"push-view":Ei};class Bt{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new Bt(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new Ai(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Se(s)};for(let h of r)if(h instanceof Me)i[h.val.val]=h.node;else if(!(h instanceof Yt)||!h.isWhiteSpace())s.push(h);let n=new Mi(t,e,i,this);return this.macroNodes.push(n),n}compile(t){for(let e=0;e<this.macroNodes.length;e++)this.macroNodes[e].compile(t)}*genEventNames(){for(let t of this.events)yield*t.genEventNames()}getEventForId(t){return this.events[t]??null}getNodeForId(t){return this.nodes[t]??null}onAttributes(t,e,r){}}var _r=(t)=>t instanceof Yt&&t.isWhiteSpace(),di=(t)=>t instanceof ze||t instanceof Se&&t.childs[0]instanceof ze;function Vh(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(_r(t[0]))r=1,s=!0;if(e>1&&_r(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(_r(n)&&di(t[i-1])&&di(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class be{constructor(t,e,r="",s=null,i=null){this.name=t,this.anode=s,this.style=r,this.ctx=i,this.rawView=e}compile(t,e,r){if(this.ctx=t,this.anode=et.parse(this.rawView,t),this.anode.setDataAttr("data-cid",r),this.anode.setDataAttr("data-vid",this.name),this.ctx.compile(e),t.cacheConstNodes)this.anode=ar(this.anode)}render(t,e){return this.anode.render(t,e)}}class Ai{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Ui(t,e,r))}*genEventNames(){for(let t of this.handlers)yield t.name}getHandlersFor(t){let e=null;for(let r of this.handlers)if(r.handlesEventName(t))e??=[],e.push(r);return e}}class Ui{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=ru(t,r),this.modifiers=r}handlesEventName(t){return this.name===t}getHandlerAndArgs(t,e){let r=this.handlerCall.getHandlerAndArgs(t,e);return r[0]=this.modifierWrapper(r[0],e),r}}var Nh=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),qe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,zi=(t)=>qe((e)=>e.e.key===t),Si=qe(({e:t})=>Nh&&t.metaKey||t.ctrlKey),mh=qe(({e:t})=>t.metaKey),vh=qe(({e:t})=>t.altKey),Oi={ctrl:Si,cmd:Si,meta:mh,alt:vh},tu={keydown:{send:zi("Enter"),cancel:zi("Escape"),...Oi},click:{...Oi}},eu=(t,e)=>t;function ru(t,e){if(e.length===0)return eu;let r=tu[t]??{},s=(i,n,h,u)=>n.apply(i,h);for(let i of e){let n=r[i];if(n!==void 0)s=n(s)}return(i,n)=>function(...h){return s(this,i,h,n)}}class Or{get(t,e){}set(t,e,r){}get2(t,e,r){}set2(t,e,r,s){}evict(){return{hit:0,miss:0,badKey:0}}}class Mr{constructor(){this.hit=this.miss=this.badKey=0,this.map=new WeakMap}_returnValue(t){if(t===void 0)this.miss+=1;else this.hit+=1;return t}get(t,e){return this._returnValue(this.map.get(t)?.[e])}set(t,e,r){let s=this.map.get(t);if(s)s[e]=r;else if(typeof t==="object")this.map.set(t,{[e]:r});else this.badKey+=1}get2(t,e,r){return this._returnValue(this.map.get(t)?.get?.(e)?.[r])}set2(t,e,r,s){let i=this.map.get(t);if(i){let n=i.get(e);if(n)n[r]=s;else i.set(e,{[r]:s})}else if(typeof t==="object"&&typeof e==="object"){let n=new WeakMap;n.set(e,{[r]:s}),this.map.set(t,n)}else this.badKey+=1}evict(){let{hit:t,miss:e,badKey:r}=this;return this.hit=this.miss=this.badKey=0,this.map=new WeakMap,{hit:t,miss:e,badKey:r}}}class br{getKey(t,e,r){return r.call(t)}}class qr{constructor(){this.map=new WeakMap}getKey(t,e,r){let s=this.map.get(t);if(s){let n=s[e];if(n!==void 0)return n;let h=r.call(t)??null;return s[e]=h,h}let i=r.call(t)??null;return this.map.set(t,{[e]:i}),i}}class Ee{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new qr}setNullComputedCache(){this.computedCache=new br}registerComponent(t){t.Class.prototype[this.getComponentSymbol]=()=>t,this.byId.set(t.id,t)}getComponentForId(t){return this.byId.get(t)??null}getCompFor(t){return t?.[this.getComponentSymbol]?.()??null}getOnEnterFor(t){let e=this.getCompFor(t);return e?e.on.stackEnter:Ki}getHandlerFor(t,e,r){return this.getCompFor(t)?.[r][e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getHandlerFor(t,e,"computed");return r?this.computedCache.getKey(t,e,r):null}compileStyles(){let t=[];for(let e of this.byId.values())t.push(e.compileStyle());return t.join(`
|
|
2
|
+
`)}}class je{constructor(t=new Ee,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new je(this.comps,this)}registerComponents(t,e={}){for(let r=0;r<t.length;r++){let s=t[r];s.scope=this.enter(),this.comps.registerComponent(s),this.byName[s.name]=s;let i=e[s.name];if(i)this.byName[i]=s}}registerMacros(t){Object.assign(this.macros,t)}getCompFor(t){return this.comps.getCompFor(t)}registerRequestHandlers(t){for(let e in t)this.reqsByName[e]=new fr(e,t[e])}lookupRequest(t){return this.reqsByName[t]??this.parent?.lookupRequest(t)??null}lookupComponent(t){return this.byName[t]??this.parent?.lookupComponent(t)??null}lookupMacro(t){return this.macros[t]??this.parent?.lookupMacro(t)??null}}class Er{constructor(t,e,r){this.name=t,this.val=e,this.symbol=r}getSymbol(t){return this.symbol}evalAndBind(t,e){e[this.getSymbol(t)]=this.val.eval(t)}}class $i extends Er{constructor(t,e,r,s){super(t,e,null);this.compName=r,this.dynName=s}_resolveSymbol(t){return t.lookupType(this.compName)?.dynamic[this.dynName]?.symbol??null}getSymbol(t){return this.symbol??=this._resolveSymbol(t),this.symbol}}var qt=(t)=>typeof t==="string",su=0;class jr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},y={}){this.id=su++,this.name=t,this.Class=e,this.views={main:new be("main",r,i)},this.commonStyle=n,this.globalStyle=h,this.computed=u,this.input=o,this.logic=c,this.bubble=f,this.response=_,this.alter=l,this.on={stackEnter:y?.stackEnter??Ki};for(let w in s){let S=s[w],{view:L,style:v}=qt(S)?{view:S}:S;this.views[w]=new be(w,L,v)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(qt(r)){let s=p.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Er(e,s,Symbol(e))}else if(qt(r?.default)&&qt(r?.for)){let s=p.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(qt(i)&&qt(n))this.dynamic[e]=new $i(e,s,i,n)}}for(let e in this.views)this.views[e].compile(new t,this.scope,this.id)}make(t,e){return this.Class.make(t,e)}getView(t){return this.views[t]??this.views.main}getEventForId(t,e="main"){return this.getView(e).ctx.getEventForId(t)}getNodeForId(t,e="main"){return this.getView(e).ctx.getNodeForId(t)}compileStyle(){let{id:t,commonStyle:e,globalStyle:r,views:s}=this,i=e?[`[data-cid="${t}"]{${e}}`]:[];if(r!=="")i.push(r);for(let n in s){let{style:h}=s[n];if(h!=="")i.push(`[data-cid="${t}"][data-vid="${n}"]{${h}}`)}return i.join(`
|
|
3
|
+
`)}}function Ki(t){return t}var Di=Symbol("STOP"),Ur=Symbol("NEXT");class Ct{constructor(t,e){this.head=t,this.tail=e}push(t){return new Ct(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Di?e:s===Ur?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Ir{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?Di:Ur:e}}class Ar{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Ur:e}}class H{constructor(t,e,r,s,i,n=null){this.comps=t,this.it=e,this.binds=r,this.dynBinds=s,this.views=i,this.ctx=n;let h=[...i].join("");this.viewsId=h==="main"?"":h}_enrichOnEnter(){return this.comps.getOnEnterFor(this.it).call(this.it,this)??this}upToFrameBinds(){let{comps:t,binds:e,dynBinds:r,views:s,ctx:i}=this;return e.head.isFrame?this:new H(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new Ct(new Ir(e,{it:e},!0),null),i=new Ct(new Ar({}),null),n=new Ct("main",null);return new H(t,e,s,i,n,r)._enrichOnEnter()}enter(t,e={},r=!0){let{comps:s,binds:i,dynBinds:n,views:h,ctx:u}=this,o=i.push(new Ir(t,e,r));return new H(s,t,o,n,h,u)._enrichOnEnter()}pushViewName(t){let{comps:e,it:r,binds:s,dynBinds:i,views:n,ctx:h}=this;return new H(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let c of t)r.dynamic[c].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new Ar(e));return new H(s,i,n,o,h,u)}lookupDynamic(t){let e=this.comps.getCompFor(this.it)?.dynamic[t];return e?this.dynBinds.lookup(e.getSymbol(this))??e.val.eval(this):null}lookupBind(t){return this.binds.lookup(t)}lookupType(t){return this.comps.getCompFor(this.it).scope.lookupComponent(t)}lookupFieldRaw(t){return this.it[t]??null}lookupField(t){let e=this.lookupFieldRaw(t);return e instanceof Function?e.call(this.it):e}lookupName(t){return this.ctx.lookupName(t)}lookupComputed(t){let e=this.binds.head.isFrame?this.binds.head:this.binds.tail.head;return this.comps.lookupComputed(e.it,t)}getHandlerFor(t,e){return this.comps.getHandlerFor(this.it,t,e)}lookupRequest(t){return this.comps.getRequestFor(this.it,t)}lookupBestView(t,e){for(let r of this.views){let s=t[r];if(s!==void 0)return s}return t[e]}}class Wi{constructor(t){this.val=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.val;this.val=t;for(let s of this.changeSubs)s({val:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.val),e)}}class Kr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Wi(e),this.onTransactionPushed=()=>{}}pushTransaction(t){return this.transactions.push(t),this.onTransactionPushed(t),t}pushLogic(t,e,r=[],s={},i=null){return this.pushTransaction(new Wr(t,this,e,r,i,s))}pushBubble(t,e,r=[],s={},i=null){let n=s.skipSelf?{...s,skipSelf:!1}:s;return this.pushTransaction(new Ti(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.val,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??iu(e),o=s?.onResName??e,c=(f,_,l,a,y)=>{let S=new Ji(t,this,f??_,f?[l]:[a,y],i);return this.pushTransaction(S)};try{let f=await u.fn.apply(null,r);return c(s?.onOkName,o,f,f,null)}catch(f){return c(s?.onErrorName,o,f,null,f)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.val,r=t.run(e,this.comps);if(r!==void 0)this.state.set(r,{transaction:t}),t.afterTransaction();else console.warn("undefined new state",{curState:e,transaction:t})}transactInputNow(t,e,r,s){this.transact(new Ri(t,e,r,this,s))}}function iu(t){return()=>{throw Error(`Request not found: ${t}`)}}function nu(){return this}class Dr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Zi,this._task}getCompletionPromise(){return this.task.promise}setParent(t){this.parentTransaction=t,t.task.addDep(this.task)}run(t,e){return this.updateRootValue(t,e)}afterTransaction(){}buildRootStack(t,e){return H.root(e,t)}buildStack(t,e){let r=this.path.buildStack(this.buildRootStack(t,e));return r?r.upToFrameBinds():null}callHandler(t,e,r){let[s,i]=this.getHandlerAndArgs(t,e,r);return s.apply(e,i)}getHandlerAndArgs(t,e,r){return null}updateRootValue(t,e){let r=this.path.lookup(t),s=this.callHandler(t,r,e);return this._task?.complete?.({value:s,old:r}),r!==s?this.path.setValue(t,s):t}lookupName(t){return null}}var hu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Li=(t)=>Number.isNaN(t)?null:t;function $r(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Ri extends Dr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return H.root(e,t,this)}getHandlerAndArgs(t,e,r){let s=this.buildStack(t,r),[i,n]=this.handler.getHandlerAndArgs(s,this),h;for(let u=0;u<n.length;u++)if(n[u]?.toHandlerArg)h??=new Rr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return $r(e);case"valueAsInt":return Li(parseInt($r(e),10));case"valueAsFloat":return Li(parseFloat($r(e)));case"target":return e.target;case"event":return e;case"isAlt":return e.altKey;case"isShift":return e.shiftKey;case"isCtrl":case"isCmd":return hu&&e.metaKey||e.ctrlKey;case"key":return e.key;case"keyCode":return e.keyCode;case"isUpKey":return e.key==="ArrowUp";case"isDownKey":return e.key==="ArrowDown";case"isSend":return e.key==="Enter";case"isCancel":return e.key==="Escape";case"isTabKey":return e.key==="Tab";case"ctx":return new Jr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Lr extends Dr{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??nu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Jr(this.path,this.transactor,this)]]}}class Ji extends Lr{handlerProp="response"}class Wr extends Lr{handlerProp="logic";run(t,e){return this.opts.skipSelf?t:this.updateRootValue(t,e)}afterTransaction(){let{path:t,name:e,args:r,opts:s}=this;if(s.bubbles&&t.steps.length>0)this.transactor.pushBubble(t.popStep(),e,r,s,this)}}class Ti extends Wr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Zi{constructor(t){this.info=t,this.deps=[],this.val=this.resolve=this.reject=null,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),this.isCompleted=!1}addDep(t){console.assert(!this.isCompleted,"addDep for completed task",this,t),this.deps.push(t),t.promise.then((e)=>this._check())}complete(t){this.val=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class Rr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Hi(this)}logic(t,e,r){return this.logicAtPath(this.path,t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}logicAtPath(t,e,r,s){return this.transactor.pushLogic(t,e,r,s,this.parent)}request(t,e,r){return this.requestAtPath(this.path,t,e,r)}requestAtPath(t,e,r,s){return this.transactor.pushRequest(t,e,r,s,this.parent)}lookupTypeFor(t,e){return this.transactor.comps.getCompFor(e).scope.lookupComponent(t)}}class Jr extends Rr{stopPropagation(){return this.parent.stopPropagation()}}class Hi extends tr{constructor(t){super();this.dispatcher=t}logic(t,e,r){return this.dispatcher.logicAtPath(this.buildPath(),t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}buildPath(){return this.dispatcher.path.concat(this.pathChanges)}}var Zr=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),Pt=(t)=>t!==null&&typeof t==="object",Gi=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function Qi(t,e,r){for(let s in e){let i=e[s];if(i===void 0)uu(t,s,r);else if(Zr(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(Pt(i))ou(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function uu(t,e,r){let s=r[e];if(e==="dangerouslySetInnerHTML")t.replaceChildren();else if(e==="className")t.removeAttribute("class");else if(e==="htmlFor")t.removeAttribute("for");else if(typeof s==="string"||Zr(e))t.removeAttribute(e);else t[e]=null}function ou(t,e,r,s){let i=e?.[r];if(Pt(i)&&Gi(i,s)){t[r]=s;return}if(!Pt(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Et{}var Tr=(t)=>t instanceof Ae?t.key:void 0,cu=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function Yi(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function Hr(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function Xr(t,e){if(e==null)return;if(cu(e))for(let r of e)Xr(t,r);else if(e instanceof Et)if(e instanceof rt)t.push(...e.childs);else t.push(e);else t.push(new Gr(e))}class Gr extends Et{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof Gr&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class jt extends Et{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof jt&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class rt extends Et{constructor(t){super();this.childs=[],Xr(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof rt)||this.childs.length!==t.childs.length)return!1;return Yi(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return Hr(e,this.childs,t),e}}class Ae extends Et{constructor(t,e,r,s,i){super();this.tag=t,this.attrs=e??{},this.childs=r??[],this.key=s!=null?String(s):void 0,this.namespace=typeof i==="string"?i:null}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof Ae)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||this.childs.length!==t.childs.length)return!1;for(let e in this.attrs)if(this.attrs[e]!==t.attrs[e])return!1;for(let e in t.attrs)if(!Object.hasOwn(this.attrs,e))return!1;return Yi(this.childs,t.childs)}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);return Qi(r,this.attrs,{}),Hr(r,this.childs,t),r}}function Bi(t,e){let r=null;for(let s in t){if(!Object.hasOwn(e,s)){r??={},r[s]=void 0;continue}let i=t[s],n=e[s];if(i===n)continue;if(Pt(i)&&Pt(n))if(Gi(n,i))r??={},r[s]=n;else{let h=Bi(i,n);if(h)r??={},r[s]=h}else r??={},r[s]=n}for(let s in e)if(!Object.hasOwn(t,s))r??={},r[s]=e[s];return r}function Ci(t,e,r,s){if(e===r||e.isEqualTo(r))return t;let i=e.nodeType;if(i===r.nodeType){if(i===3||i===8)return t.data=r.text,t;if(i===1&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let h=Bi(e.attrs,r.attrs);if(h)Qi(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Xi(t,e.childs,r.childs,s);return t}if(i===11)return Xi(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function Xi(t,e,r,s){if(e.length===0){Hr(t,r,s);return}if(r.length===0){t.replaceChildren();return}let i=Array.from(t.childNodes),n=Object.create(null);for(let o=0;o<e.length;o++){let c=Tr(e[o]);if(c!=null)n[c]=o}let h=new Uint8Array(e.length),u=0;for(let o=0;o<r.length;o++){let c=r[o],f=Tr(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&Tr(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let l=Ci(i[_],e[_],c,s),a=t.childNodes[o]??null;if(l!==a)t.insertBefore(l,a)}else{let l=t.childNodes[o]??null;t.insertBefore(c.toDom(s),l)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var Ie=new WeakMap;function Ue(t,e,r){let s=Ie.get(e),i=t instanceof rt;if(s&&s.vnode instanceof rt===i){let h=i?e:s.dom,u=Ci(h,s.vnode,t,r);return Ie.set(e,{vnode:t,dom:i?e:u}),u}Ie.delete(e);let n=t.toDom(r);return e.replaceChildren(n),Ie.set(e,{vnode:t,dom:i?e:n}),n}function Qr(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e){let c=e[o];switch(o){case"key":n=c;break;case"namespace":h=c;break;case"class":i.className=c;break;case"for":i.htmlFor=c;break;default:i[o]=Zr(o)?String(c):c}}let u=[];return Xr(u,r),new Ae(s,i,u,n,h)}class Yr{constructor(t,e,r,s){this.rootNode=t,this.comps=e,this.compStack=new je(e),this.transactor=new Kr(e,null),this.ParseContext=s,this.renderer=r,this.maxEventNodeDepth=1/0,this._transactNextBatchId=this._evictCacheId=null,this._eventNames=new Set(["dragstart","dragover","dragend"]),this.dragInfo=this.curDragOver=null,this.transactor.onTransactionPushed=(i)=>{if(this._transactNextBatchId===null)this._scheduleNextTransactionBatchExecution()},this._compiled=!1,this._renderOpts={document:t.ownerDocument}}get state(){return this.transactor.state}handleEvent(t){let e=t.type==="dragstart",r=t.type==="dragover",s=t.type==="dragend",{rootNode:i,maxEventNodeDepth:n,comps:h}=this,u=!(r||e||s),[o,c]=tt.fromEvent(t,i,n,h,u);if(r){let f=fu(t.target,this.rootNode,50);if(f!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=f,f.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let f=this.state.val,_=o.lookup(f),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new xi(o,a,t,_,l,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&c!==null)for(let f of c)this.transactor.transactInputNow(o,t,f,this.dragInfo)}makeStack(t){return H.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.val,e=this.makeStack(t);return Ue(this.renderer.renderRoot(e,t),this.rootNode,this._renderOpts)}onChange(t){this.transactor.state.onChange(t)}compile(){for(let t of this.comps.byId.values()){t.compile(this.ParseContext);for(let e in t.views)for(let r of t.views[e].ctx.genEventNames())this._eventNames.add(r)}this._compiled=!0}start(t){if(!this._compiled)this.compile();for(let e of this._eventNames)this.rootNode.addEventListener(e,this);if(this.onChange((e)=>{if(e.val!==e.old)this.render()}),Pi("tutuca-app",this.comps.compileStyles(),t?.head??document.head),t?.noCache)this.renderer.setNullCache(),this.comps.setNullComputedCache();else this.startCacheEvictionInterval();this.render()}stop(){this.stopCacheEvictionInterval();for(let t of this._eventNames)this.rootNode.removeEventListener(t,this)}dispatchLogicAtRoot(t,e,r){return this.transactor.pushLogic(new tt([]),t,e,r)}registerComponents(t,e){let r=this.compStack.enter();return r.registerComponents(t,e),r}_transactNextBatch(t=10){this._transactNextBatchId=null;let e=Date.now(),r=this.transactor;while(r.hasPendingTransactions&&Date.now()-e<t)r.transactNext();if(r.hasPendingTransactions)this._scheduleNextTransactionBatchExecution()}_scheduleNextTransactionBatchExecution(){this._transactNextBatchId=setTimeout(()=>this._transactNextBatch(),0)}startCacheEvictionInterval(t=30000){this._evictCacheId=setInterval(()=>this.renderer.cache.evict(),t)}stopCacheEvictionInterval(){clearInterval(this._evictCacheId),this._evictCacheId=null}}function Pi(t,e,r=document.head){let s=document.createElement("style"),i=r.querySelector(`#${t}`);if(i)r.removeChild(i);s.id=t,s.innerHTML=e,r.appendChild(s)}function fu(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class xi{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.val=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}function xt(t,e){if(!t)throw Error(e)}function A(t){xt(t!==1/0,"Cannot perform this action with an infinite size.")}function Fi(t,e,r,s,i,n){return A(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var _u=(t,e)=>e,lu=(t,e)=>[e,t],Br=(t)=>function(...e){return!t.apply(this,e)},ki=(t)=>function(...e){return-t.apply(this,e)};function pn(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Vi=(t,e)=>t<e?1:t>e?-1:0,U={done:!0,value:void 0};class wn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function D(t){return new wn(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return D(()=>{if(t(e))return r.value=[e[0],e[1]],r;return U})}var au=D(()=>U),ft=()=>au;function Xe(t){let e=0,r={done:!1,value:void 0};return D(()=>{if(e===t)return U;return r.value=e++,r})}function re(t,e){return q((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function is(t){if(Array.isArray(t))return!0;return!!Ge(t)}var yu=(t)=>typeof t?.next==="function";function dn(t){return Ge(t)?.call(t)}function Ge(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function gu(t){let e=Ge(t);return e&&e===t.entries}function pu(t){let e=Ge(t);return e&&e===t.keys}var se="delete",z=5,E=1<<z,$=E-1,g={},mr=()=>({value:!1});function T(t){if(t)t.value=!0}class Qe{}function Ut(t){if(t.size===void 0)t.size=t.__iterate(zn);return t.size}function it(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?Ut(t)+e:e}var zn=()=>!0,Sn=(t)=>t<0||Object.is(t,-0),ie=(t,e,r)=>(t===0&&!Sn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),On=(t,e,r)=>t===void 0?r:Sn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Lt=(t,e)=>On(t,e,0),ne=(t,e)=>On(t,e,e),Mn="@@__IMMUTABLE_ITERABLE__@@",We="@@__IMMUTABLE_KEYED__@@",Re="@@__IMMUTABLE_INDEXED__@@",nt="@@__IMMUTABLE_ORDERED__@@",he="@@__IMMUTABLE_SEQ__@@",bn="@@__IMMUTABLE_LIST__@@",qn="@@__IMMUTABLE_MAP__@@",En="@@__IMMUTABLE_SET__@@",jn="@@__IMMUTABLE_STACK__@@",In="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var R=(t)=>F(t,Mn),d=(t)=>F(t,We),j=(t)=>F(t,Re),ns=(t)=>d(t)||j(t),x=(t)=>F(t,nt),hs=(t)=>F(t,he),An=(t)=>F(t,bn),Ye=(t)=>F(t,qn),us=(t)=>F(t,En),os=(t)=>F(t,jn),gt=(t)=>F(t,In),Y=(t)=>R(t)||gt(t),cs=(t)=>Ye(t)&&x(t),Un=(t)=>us(t)&&x(t),Ni=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function $n(t){let e=P(t);return e._iter=t,e.size=t.size,e.flip=()=>t,e.reverse=function(){let r=t.reverse.call(this);return r.flip=()=>t.reverse(),r},e.has=(r)=>t.includes(r),e.includes=(r)=>t.has(r),e.cacheResult=Rt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>re(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function Kn(t,e,r){let s=P(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=(i)=>re(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function Dn(t,e){let r=P(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=$n(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Rt,r.__iterate=function(s,i){let n=0;if(i)Ut(t);return t.__iterate((h,u)=>s(h,e?u:i?this.size-++n:n++,this),!i)},r.__iteratorUncached=function(s){let i=0;if(s)Ut(t);let n=this.size;return re(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function Ln(t,e,r,s){let i=t.size;if(ie(e,r,i))return t;if(i===void 0&&(e<0||r<0))return Ln(t.toSeq().cacheResult(),e,r,s);let n=Lt(e,i),u=ne(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=P(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&hs(t)&&o>=0)c.get=function(f,_){return f=it(this,f),f>=0&&f<o?t.get(f+n,_):_};return c.__iterateUncached=function(f,_){if(o!==0&&_)return this.cacheResult().__iterate(f,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((y,w)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(y,s?w:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ft();let _=t.__iterator(f),l=0,a=0;if(s)return D(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return U;let y=_.next();if(y.done)return y;return a++,y});return q((y)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let w=_.next();if(w.done)return!1;return a++,y[0]=a-1,y[1]=w.value[1],!0})},c}function At(t,e,r){if(!e)e=pn;let s=d(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?gs(n):j(t)?yt(n):kt(n)}function $e(t,e,r){if(!e)e=pn;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>mi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>mi(e,s,i)?i:s)}function mi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Cr(t,e,r,s){let i=P(t),n=new ue(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),c=0,f;while(!(f=o.next()).done)if(h(f.value[1],c++,this)===!1)break;return c},i.__iteratorUncached=function(h){let u=r.map((_)=>{let l=V(_);return dn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{let l=s;for(let a=0;a<u.length;a++)c[a]=u[a].next(),l=s?l&&c[a].done:l||c[a].done;if(l)return!1;for(let a=0;a<c.length;a++)f[a]=c[a].value;return _[0]=o++,_[1]=e(...f),!0})},i}function fs(t){if(Array.isArray(t)||typeof t==="string")return!0;return t&&typeof t==="object"&&Number.isInteger(t.length)&&t.length>=0&&(t.length===0?Object.keys(t).length===1:Object.hasOwn(t,t.length-1))}function Wn(t){if(!t||typeof t!=="object"||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=e,s=Object.getPrototypeOf(e);while(s!==null)r=s,s=Object.getPrototypeOf(r);return r===e}var ht=(t)=>typeof t==="object"&&(Y(t)||Array.isArray(t)||Wn(t));function Rn(t){if(fs(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var wu=(t,e)=>Y(t)?t.has(e):ht(t)&&Object.hasOwn(t,e);function Jn(t,e,r){return Y(t)?t.get(e,r):!wu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function _s(t,e,r){let s=Rn(e),i=0;while(i!==s.length)if(t=Jn(t,s[i++],g),t===g)return r;return t}var Tn=(t,e)=>_s(t,e,g)!==g;function I(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(Ni(t)&&Ni(e)&&t.equals(e))}function Je(t){if(!t||typeof t!=="object")return t;if(!R(t)){if(!ht(t))return t;t=N(t)}if(d(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Je(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Je(r))}),e}function ls(t,e){if(t===e)return!0;if(!R(e)||t.size!==void 0&&e.size!==void 0&&t.size!==e.size||t.__hash!==void 0&&e.__hash!==void 0&&t.__hash!==e.__hash||d(t)!==d(e)||j(t)!==j(e)||x(t)!==x(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!ns(t);if(x(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&I(c[1],u)&&(r||I(c[0],o))})&&h.next().done)}let s=!1;if(t.size===void 0)if(e.size===void 0){if(typeof t.cacheResult==="function")t.cacheResult()}else{s=!0;let h=t;t=e,e=h}let i=!0,n=e.__iterate((h,u)=>{if(r?!t.has(h):s?!I(h,t.get(u,g)):!I(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var Be=(t)=>t>>>1&1073741824|t&3221225471;function X(t){if(t===null||t===void 0)return vi(t);if(typeof t.hashCode==="function")return Be(t.hashCode(t));let e=Mu(t);if(e===null||e===void 0)return vi(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return du(e);case"string":return e.length>bu?zu(e):vr(e);case"object":case"function":return Ou(e);case"symbol":return Su(e);default:if(typeof e.toString==="function")return vr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var vi=(t)=>t===null?1108378658:1108378659;function du(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return Be(e)}function zu(t){let e=Fr[t];if(e===void 0){if(e=vr(t),xr===qu)xr=0,Fr={};xr++,Fr[t]=e}return e}function vr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Be(e)}function Su(t){let e=en[t];if(e!==void 0)return e;return e=Zn(),en[t]=e,e}function Ou(t){let e=tn.get(t);if(e!==void 0)return e;return e=Zn(),tn.set(t,e),e}var Mu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Zn(){let t=++Pr;if(Pr&1073741824)Pr=0;return t}var tn=new WeakMap,en=Object.create(null),Pr=0,bu=16,qu=255,xr=0,Fr={};function Eu(t){if(t.size===1/0)return 0;let e=x(t),r=d(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+rn(X(i),X(n))|0}:(i,n)=>{s=s+rn(X(i),X(n))|0}:e?(i)=>{s=31*s+X(i)|0}:(i)=>{s=s+X(i)|0}),ju(t.size,s)}var rn=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function ju(t,e){return e=Math.imul(e,3432918353),e=Math.imul(e<<15|e>>>-15,461845907),e=Math.imul(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Math.imul(e^e>>>16,2246822507),e=Math.imul(e^e>>>13,3266489909),e=Be(e^e>>>16),e}function Ft(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:hs(t)?e:t.create?t.create(e):t.constructor(e),Hn=(t,e)=>O(t,(d(t)?G:j(t)?pt:wt)(e)),sn=(...t)=>t,V=(t)=>R(t)?t:N(t);class b{size=0;static{this.prototype[Mn]=!0,this.prototype.__toStringMapper=Ft,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return ls(this,t)}hashCode(){return this.__hash??(this.__hash=Eu(this))}toArray(){A(this.size);let t=Array(this.size||0),e=d(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Bn(this)}toJS(){return Je(this)}toKeyedSeq(){return new Ss(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Cn(this)}toSeq(){return j(this)?this.toIndexedSeq():d(this)?this.toKeyedSeq():this.toSetSeq()}toStack(){throw Error("toStack: not patched — import CollectionConversions")}toList(){throw Error("toList: not patched — import CollectionConversions")}toString(){return"[Collection]"}__toString(t,e){if(this.size===0)return`${t}${e}`;return`${t} ${this.toSeq().map(this.__toStringMapper).join(", ")} ${e}`}concat(...t){let e=d(this),r=[this,...t].map((s)=>{if(!R(s))s=e?Gn(s):Qn(Array.isArray(s)?s:[s]);else if(e)s=G(s);return s}).filter((s)=>s.size!==0);if(r.length===0)return this;if(r.length===1){let s=r[0];if(s===this||e&&d(s)||j(this)&&j(s))return s}return O(this,new Yn(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){A(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=d(this),i=P(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,c)=>{if(t.call(e,o,c,r))return u++,n(o,s?c:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return q((o)=>{while(!0){let c=h.next();if(c.done)return!1;let f=c.value[0],_=c.value[1];if(t.call(e,_,f,r))return o[0]=s?f:u++,o[1]=_,!0}})},O(this,i)}partition(t,e){let r=d(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Hn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return A(this.size),this.__iterate(e?t.bind(e):t)}join(t){A(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return D(()=>{let r=t.next();if(r.done)return U;return e.value=r.value[0],e})}map(t,e){return O(this,Kn(this,t,e))}reduce(t,e=g,r){return Fi(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Fi(this,t,e,r,e===g,!0)}reverse(){return O(this,Dn(this,d(this)))}slice(t,e){return O(this,Ln(this,t,e,d(this)))}some(t,e){A(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return O(this,At(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return D(()=>{let r=t.next();if(r.done)return U;return e.value=r.value[1],e})}butLast(){return this.slice(0,-1)}isEmpty(){return this.size!==void 0?this.size===0:!this.some(()=>!0)}count(t,e){return Ut(t?this.toSeq().filter(t,e):this)}countBy(t,e){throw Error("countBy: not patched — import CollectionConversions")}entrySeq(){let t=this;if(t._cache)return new ue(t._cache);let e=t.toSeq().map(lu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Br(t),e)}findEntry(t,e,r){let s=r;return this.__iterate((i,n,h)=>{if(t.call(e,i,n,h))return s=[n,i],!1}),s}findKey(t,e){return this.findEntry(t,e)?.[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(zn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(d(this)?G:j(this)?pt:wt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=d(this),s=P(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(c,f){c.__iterate((_,l)=>{if((!t||f<t)&&R(_))o(_,f+1);else if(h++,i(_,r?l:h-1,s)===!1)u=!0;if(u)return!1},n)}return o(e,0),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=0,h=[{iterator:e.__iterator(i),depth:0}];return q((u)=>{while(h.length>0){let o=h[h.length-1],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&R(f)){h.push({iterator:f.__iterator(i),depth:o.depth+1});continue}return u[0]=r?c.value[0]:n++,u[1]=f,!0}return!1})},O(this,s)}fromEntrySeq(){return new Pn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return _s(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Tn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:V(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:V(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(_u).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return $e(this,t)}maxBy(t,e){return $e(this,e,t)}min(t){return $e(this,t?ki(t):Vi)}minBy(t,e){return $e(this,e?ki(e):Vi,t)}rest(){return this.slice(1)}skip(t){return t===0?this:this.slice(Math.max(0,t))}skipLast(t){return t===0?this:this.slice(0,-Math.max(0,t))}skipWhile(t,e){let r=this,s=d(this),i=P(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((c,f)=>{if(u&&t.call(e,c,f,this))return;return u=!1,o++,n(c,s?f:o-1,this)},h),o},i.__iteratorUncached=function(n){if(n)return this.cacheResult().__iterator(n);let h=r.__iterator(n),u=0,o=this,c=!0;return q((f)=>{while(!0){let _=h.next();if(_.done)return!1;let l=_.value[0],a=_.value[1];if(c&&t.call(e,a,l,o))continue;return c=!1,f[0]=s?l:u++,f[1]=a,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(Br(t),e)}sortBy(t,e){return O(this,At(this,e,t))}take(t){return this.slice(0,Math.max(0,t))}takeLast(t){return this.slice(-Math.max(0,t))}takeWhile(t,e){let r=this,s=P(r);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0;return r.__iterate((u,o)=>{if(!t.call(e,u,o,this))return!1;return h++,i(u,o,this)},n),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=r.__iterator(i),h=this,u=!1;return D(()=>{if(u)return U;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,U;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(Br(t),e)}update(t){return t(this)}valueSeq(){return this.toIndexedSeq()}__iterate(t,e=!1){let r=this.__iterator(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterator(t=!1){throw Error("CollectionImpl does not implement __iterator. Use a subclass instead.")}}var G=(t)=>d(t)?t:gs(t);class as extends b{static{this.prototype[We]=!0,this.prototype.__toStringMapper=(t,e)=>`${Ft(e)}: ${Ft(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,$n(this))}mapEntries(t,e){let r=0;return O(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return O(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var pt=(t)=>j(t)?t:yt(t);class at extends b{static{this.prototype[Re]=!0,this.prototype[nt]=!0}toKeyedSeq(){return new Ss(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Lt(t,t<0?this.count():this.size);let i=this.slice(0,t);return O(this,!s?i:i.concat(r,this.slice(t+e)))}findLastIndex(t,e){let r=this.findLastEntry(t,e);return r?r[0]:-1}first(t){return this.get(0,t)}get(t,e){return t=it(this,t),t<0||this.size===1/0||this.size!==void 0&&t>this.size?e:this.find((r,s)=>s===t,void 0,e)}has(t){return t=it(this,t),t>=0&&(this.size!==void 0?this.size===1/0||t<this.size:this.indexOf(t)!==-1)}interpose(t){let e=this,r=P(e);return r.size=e.size&&e.size*2-1,r.__iterateUncached=function(s,i){let n=0,h=!0;return e.__iterate((u)=>{if(!h){if(s(t,n++,this)===!1)return!1}return h=!1,s(u,n++,this)},i),n},r.__iteratorUncached=function(s){let i=e.__iterator(s),n=0,h=!0,u,o=!1;return q((c)=>{if(o)return o=!1,c[0]=n++,c[1]=u,!0;let f=i.next();if(f.done)return!1;let _=f.value[1];if(!h)return u=_,o=!0,c[0]=n++,c[1]=t,!0;return h=!1,c[0]=n++,c[1]=_,!0})},O(this,r)}interleave(...t){let e=[this,...t],r=Cr(this.toSeq(),yt.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return O(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(sn,...t)}zipAll(...t){let e=[this,...t];return O(this,Cr(this,sn,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,Cr(this,t,r))}}var wt=(t)=>R(t)&&!ns(t)?t:kt(t);class Ce extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=Ce.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}V.Keyed=G;V.Indexed=pt;V.Set=wt;var kr=at.prototype,N=(t)=>t===void 0||t===null?ds():Y(t)?t.toSeq():Iu(t),P=(t)=>Object.create((d(t)?Wt:j(t)?dt:ps).prototype);class _t extends b{static{this.prototype[he]=!0}toSeq(){return this}toString(){return this.__toString("Seq {","}")}cacheResult(){if(!this._cache&&this.__iterateUncached)this._cache=this.entrySeq().toArray(),this.size=this._cache.length;return this}__iterateUncached(t,e){let r=this.__iteratorUncached(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterate(t,e){let r=this._cache;if(r){let s=r.length,i=0;while(i!==s){let n=r[e?s-++i:i++];if(t(n[1],n[0],this)===!1)break}return i}return this.__iterateUncached(t,e)}__iterator(t){let e=this._cache;if(e){let r=e.length,s=0,i={done:!1,value:void 0};return D(()=>{if(s===r)return U;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var ys={cacheResult:_t.prototype.cacheResult,__iterateUncached:_t.prototype.__iterateUncached,__iterate:_t.prototype.__iterate,__iterator:_t.prototype.__iterator},gs=(t)=>t===void 0||t===null?ds().toKeyedSeq():R(t)?d(t)?t.toSeq():t.fromEntrySeq():gt(t)?t.toSeq():Gn(t);class Wt extends as{static{this.prototype[he]=!0,Object.assign(this.prototype,ys)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?ds():R(t)?d(t)?t.entrySeq():t.toIndexedSeq():gt(t)?t.toSeq().entrySeq():Qn(t);yt.of=(...t)=>yt(t);class dt extends at{static{this.prototype[he]=!0,Object.assign(this.prototype,ys)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var kt=(t)=>(R(t)&&!ns(t)?t:yt(t)).toSetSeq();kt.of=(...t)=>kt(t);class ps extends Ce{static{this.prototype[he]=!0,Object.assign(this.prototype,ys)}toSeq(){return this}toSetSeq(){return this}}N.isSeq=hs;N.Keyed=gs;N.Set=kt;N.Indexed=yt;class ue extends dt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[it(this,t)]:e}__iterateUncached(t,e){let r=this._array,s=r.length,i=0;while(i!==s){let n=e?s-++i:i++;if(t(r[n],n,this)===!1)break}return i}__iteratorUncached(t){let e=this._array,r=e.length,s=0;return q((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class ws extends Wt{static{this.prototype[nt]=!0}constructor(t){super();let e=[...Object.keys(t),...Object.getOwnPropertySymbols(t)];this._object=t,this._keys=e,this.size=e.length}get(t,e){if(e!==void 0&&!this.has(t))return e;return this._object[t]}has(t){return Object.hasOwn(this._object,t)}__iterateUncached(t,e){let r=this._object,s=this._keys,i=s.length,n=0;while(n!==i){let h=s[e?i-++n:n++];if(t(r[h],h,this)===!1)break}return n}__iteratorUncached(t){let e=this._object,r=this._keys,s=r.length,i=0;return q((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Xn extends dt{constructor(t){super();this._collection=t,this.size=t.length||t.size}__iterateUncached(t,e){if(e)return this.cacheResult().__iterate(t,e);let r=0;for(let s of this._collection){if(t(s,r,this)===!1)break;r++}return r}__iteratorUncached(t){if(t)return this.cacheResult().__iterator(t);let e=this._collection,r=dn(e);if(!yu(r))return ft();let s=0;return q((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var ds=()=>new ue([]),zs=(t)=>fs(t)?new ue(t):is(t)?new Xn(t):void 0;function Gn(t){let e=zs(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new ws(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Qn(t){let e=zs(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function Iu(t){let e=zs(t);if(e)return gu(t)?e.fromEntrySeq():pu(t)?e.toSetSeq():e;if(typeof t==="object")return new ws(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Yn extends _t{constructor(t){super();let e=[],r=0,s=!0;for(let n of t)if(n._wrappedIterables){for(let h of n._wrappedIterables)if(e.push(h),s){let u=h.size;if(u!==void 0)r+=u;else s=!1}}else if(e.push(n),s){let h=n.size;if(h!==void 0)r+=h;else s=!1}this._wrappedIterables=e,this.size=s?r:void 0;let i=this._wrappedIterables[0];if(i[We])this[We]=!0;if(i[Re])this[Re]=!0;if(i[nt])this[nt]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!d(this),i=0,n=!1;for(let h of r)if(h.__iterate((u,o)=>{if(t(u,s?i++:o,this)===!1)return n=!0,!1},e),n)break;return i}__iteratorUncached(t){if(this._wrappedIterables.length===0)return ft();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!d(this),s=0,i=e[0].__iterator(t);function n(){while(s<e.length){let h=i.next();if(!h.done)return h;if(s++,s<e.length)i=e[s].__iterator(t)}return}if(r){let h=0;return q((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return D(()=>n()||U)}}class Ss extends Wt{static{this.prototype[nt]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Rt.call(this)}get(t,e){return this._iter.get(t,e)}has(t){return this._iter.has(t)}valueSeq(){return this._iter.valueSeq()}reverse(){let t=Dn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=Kn(this,t,e);if(!this._useKeys)r.valueSeq=()=>this._iter.toSeq().map(t,e);return r}__iterateUncached(t,e){return this._iter.__iterate(t,e)}__iteratorUncached(t){return this._iter.__iterator(t)}}class Bn extends dt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Rt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)Ut(this);let s=this.size;return this._iter.__iterate((i)=>{let n=e?s-++r:r++;return t(i,n,this)},e),r}__iteratorUncached(t){let e=0;if(t)Ut(this);let r=this.size;return re(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Cn extends ps{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Rt.call(this)}has(t){return this._iter.includes(t)}__iterateUncached(t,e){return this._iter.__iterate((r)=>t(r,r,this),e)}__iteratorUncached(t){return re(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Pn extends Wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Rt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){nn(s),r++;let i=R(s);return t(i?s.get(1):s[1],i?s.get(0):s[0],this)}},e),r}__iteratorUncached(t){let e=this._iter.__iterator(t);return q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){nn(i);let n=R(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Rt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return _t.prototype.cacheResult.call(this)}function nn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var Z=(t)=>t===void 0||t===null?Q():Ye(t)&&!x(t)?t:Q().withMutations((e)=>{let r=G(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class Vt extends as{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:$t,merge:ts,mergeWith:vn,mergeDeep:eh,mergeDeepWith:rh,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,update:As,updateIn:Us,wasAltered:js,withMutations:le,removeIn:$t,concat:ts,[qn]:!0,[se]:this.prototype.remove,removeAll:this.prototype.deleteAll,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Map"})}constructor(t,e,r,s){super();this.size=t,this._root=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return Z(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,X(t),t,e):e}set(t,e){return un(this,t,e)}remove(t){return un(this,t,g)}deleteAll(t){let e=V(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return Q()}map(t,e){return this.withMutations((r)=>{r.forEach((s,i)=>{r.set(i,t.call(e,s,i,this))})})}keys(){if(!this._root)return ft();return Ke(this._root,!1,0)}values(){if(!this._root)return ft();return Ke(this._root,!1,1)}entries(){if(!this._root)return ft();return Ke(this._root,!1)}__iterator(t){if(!this._root)return ft();return Ke(this._root,t)}__iterate(t,e){let r=0;if(this._root)this._root.iterate(([s,i])=>{return r++,t(i,s,this)},e);return r}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Q();return this.__ownerID=t,this.__altered=!1,this}return bs(this.size,this._root,t,this.__hash)}}Z.isMap=Ye;class Os{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return xn(this.entries,r,s)}iterate(t,e){return Fn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(T(h),u||!_)T(n);if(u&&f===1)return;if(!_&&!u&&f>=Lu)return Au(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Os(t,a)}}class Pe{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return kn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&$),n=this.bitmap;return(n&i)===0?s:this.nodes[cn(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=cn(c&o-1),l=this.nodes,a=f?l[_]:void 0,y=qs(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!f&&y&&l.length>=Wu)return $u(t,l,c,u,y);if(f&&!y&&l.length===2&&on(l[_^1]))return l[_^1];if(f&&y&&l.length===1&&on(y))return y;let w=t&&t===this.ownerID,S=f?y?c:c^o:c|o,L=f?y?Vn(l,_,y,w):Du(l,_,w):Ku(l,_,y,w);if(w)return this.bitmap=S,this.nodes=L,this;return new Pe(t,S,L)}}class Ms{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return kn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&$,n=this.nodes[i];return n?n.get(t+z,e,r,s):s}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&$,o=i===g,c=this.nodes,f=c[u];if(o&&!f)return this;let _=qs(f,t,e+z,r,s,i,n,h);if(_===f)return this;let l=this.count;if(!f)l++;else if(!_){if(l--,l<Ru)return Uu(t,c,l,u)}let a=t&&t===this.ownerID,y=Vn(c,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new Ms(t,l,y)}}class xe{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return xn(this.entries,r,s)}iterate(t,e){return Fn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return T(h),T(n),Es(this,t,e,r,[s,i])}let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(T(h),u||!_)T(n);if(u&&f===2)return new zt(t,this.keyHash,o[c^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new xe(t,this.keyHash,a)}}class zt{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}iterate(t,e){return t(this.entry)}get(t,e,r,s){return I(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(T(h),u){T(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return T(n),Es(this,t,e,X(s),[s,i])}}function xn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(I(e,t[s][0]))return t[s][1];return r}function Fn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(e(t[r?i-s:s])===!1)return!1}function kn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(t[r?i-s:s]?.iterate(e,r)===!1)return!1}function Ke(t,e,r){let s={node:t,index:0,__prev:null},i=r!==void 0?(h)=>h[r]:(h)=>h,n={done:!1,value:void 0};return D(()=>{while(s){let h=s.node,u=s.index++,o;if(h.entry){if(u===0)return n.value=i(h.entry),n}else if(h.entries){if(o=h.entries.length-1,u<=o)return n.value=i(h.entries[e?o-u:u]),n}else if(o=h.nodes.length-1,u<=o){let c=h.nodes[e?o-u:u];if(c){if(c.entry)return n.value=i(c.entry),n;s={node:c,index:0,__prev:s}}continue}s=s.__prev}return U})}var bs=(t,e,r,s)=>new Vt(t,e,r,s),hn,Q=()=>hn||(hn=bs(0));function un(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new Os(t.__ownerID,[[e,r]])}else{let n=mr(),h=mr();if(s=qs(t._root,t.__ownerID,0,X(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?bs(i,s):Q()}function qs(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return T(u),T(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var on=(t)=>t.constructor===zt||t.constructor===xe;function Es(t,e,r,s,i){if(t.keyHash===s)return new xe(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&$,h=(r===0?s:s>>>r)&$,u=new zt(e,s,i),o=n===h?[Es(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new Pe(e,1<<n|1<<h,o)}function Au(t,e,r,s){if(!t)t=new Qe;let i=new zt(t,X(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,X(n),n,h);return i}function Uu(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,c=e.length;u<c;u++,o<<=1){let f=e[u];if(f!==void 0&&u!==s)i|=o,h[n++]=f}return new Pe(t,i,h)}function $u(t,e,r,s,i){let n=0,h=Array(E);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new Ms(t,n+1,h)}function cn(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Vn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Ku(t,e,r,s){let i=t.length+1;if(s&&e+1===i)return t[e]=r,t;let n=Array(i),h=0;for(let u=0;u<i;u++)if(u===e)n[u]=r,h=-1;else n[u]=t[u+h];return n}function Du(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var Lu=E/4,Wu=E/2,Ru=E/4;function Te(t){if(Array.isArray(t))return t.slice();return{...t}}var tc=(t,...e)=>ce(t,e),ec=(t,e,...r)=>ce(e,r,t),oe=(t,e,r)=>ce(t,e,Ju(r)),rc=(t,...e)=>oe(t,e),sc=(t,e,...r)=>oe(e,r,t);function ce(t,e,r){if(!ht(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(Y(t))return typeof r==="function"&&t.mergeWith?t.mergeWith(r,...e):t.merge?t.merge(...e):t.concat(...e);let s=Array.isArray(t),i=t,n=s?pt:G,h=s?(u)=>{if(i===t)i=Te(i);i.push(u)}:(u,o)=>{let c=Object.hasOwn(i,o),f=c&&r?r(i[o],u,o):u;if(!c||f!==i[o]){if(i===t)i=Te(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Ju(t){function e(r,s,i){return ht(r)&&ht(s)&&Tu(r,s)?ce(r,[s],e):t?t(r,s,i):s}return e}function Tu(t,e){let r=N(t),s=N(e);return j(r)===j(s)&&d(r)===d(s)}function Zu(t,e){if(!ht(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(Y(t)){if(!t.remove)throw TypeError(`Cannot update immutable value without .remove() method: ${t}`);return t.remove(e)}if(!Object.hasOwn(t,e))return t;let r=Te(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Hu(t,e,r){if(!ht(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(Y(t)){if(!t.set)throw TypeError(`Cannot update immutable value without .set() method: ${t}`);return t.set(e,r)}if(Object.hasOwn(t,e)&&r===t[e])return t;let s=Te(t);return s[e]=r,s}function Jt(t,e,r,s){if(!s)s=r,r=void 0;let i=Nn(Y(t),t,Rn(e),0,r,s);return i===g?r:i}function Nn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!ht(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Ft)}]: ${e}`);let u=r[s],o=h?g:Jn(e,u,g),c=Nn(o===g?t:Y(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Zu(e,u);let f=h?t?Q():{}:e;return Hu(f,u,c)}var Xu=(t,e)=>Jt(t,e,()=>g),Gu=(t,e,r)=>Jt(t,e,g,()=>r);function mn(t,e,r,s){return Jt(t,[e],r,s)}function fe(){return this.__ensureOwner()}function _e(){return this.__ownerID?this:this.__ensureOwner(new Qe)}function js(){return this.__altered}function le(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Qu(t,e){return _s(this,t,e)}function Yu(t){return Tn(this,t)}function $t(t){return Xu(this,t)}function Is(t,e){return Gu(this,t,e)}function As(t,e,r){return typeof t==="function"?t(this):mn(this,t,e,r)}function Us(t,e,r){return Jt(this,t,e,r)}function fn(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function ts(...t){return th(this,t)}function vn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return th(this,e,t)}function th(t,e,r){let s=[];for(let i of e){let n=G(i);if(n.size!==0)s.push(n)}if(s.length===0)return t;if(t.toSeq().size===0&&!t.__ownerID&&s.length===1)return gt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{mn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function eh(...t){return oe(this,t)}function rh(t,...e){return oe(this,e,t)}function $s(t,...e){return Jt(this,t,Q(),(r)=>ce(r,e))}function Ks(t,...e){return Jt(this,t,Q(),(r)=>oe(r,e))}function St(t,e){Object.assign(t.prototype,e)}var J=(t)=>{let e=Nt();if(t===void 0||t===null)return e;if(An(t))return t;let r=pt(t),s=r.size;if(s===0)return e;if(A(s),s>0&&s<E)return ae(0,s,z,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};J.of=(...t)=>J(t);class sh extends at{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:$t,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,update:As,updateIn:Us,wasAltered:js,withMutations:le,removeIn:$t,[bn]:!0,[se]:this.prototype.remove,merge:this.prototype.concat,[Symbol.toStringTag]:"Immutable.List",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s,i,n,h){super();this.size=e-t,this._origin=t,this._capacity=e,this._level=r,this._root=s,this._tail=i,this.__ownerID=n,this.__hash=h,this.__altered=!1}create(t){return J(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=it(this,t),t>=0&&t<this.size)return t+=this._origin,hh(this,t)?.array[t&$];return e}set(t,e){return Cu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return Nt()}push(...t){let e=this.size;return this.withMutations((r)=>{st(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return st(this,0,-1)}unshift(...t){return this.withMutations((e)=>{st(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return st(this,1)}shuffle(t=Math.random){return this.withMutations((e)=>{let r=e.size,s,i;while(r)s=Math.floor(t()*r--),i=e.get(s),e.set(s,e.get(r)),e.set(r,i)})}concat(...t){let e=[];for(let r of t){let s=pt(typeof r!=="string"&&is(r)?r:[r]);if(s.size!==0)e.push(s)}if(e.length===0)return this;if(this.size===0&&!this.__ownerID&&e.length===1)return J(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return st(this,0,t)}map(t,e){return this.withMutations((r)=>{for(let s=0;s<this.size;s++)r.set(s,t.call(e,r.get(s),s,this))})}slice(t,e){let r=this.size;if(ie(t,e,r))return this;return st(this,Lt(t,r),ne(e,r))}__iterate(t,e){let r=e?this.size:0;return Bu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=_n(this,t);return q((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return _n(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Nt();return this.__ownerID=t,this.__altered=!1,this}return ae(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}J.isList=An;class lt{constructor(t,e){this.array=t,this.ownerID=e}removeBefore(t,e,r){if((r&(1<<e+z)-1)===0||this.array.length===0)return this;let s=r>>>e&$;if(s>=this.array.length)return new lt([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-z,r),n===u&&i)return this}if(i&&!n)return this;let h=Kt(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+z:E)||this.array.length===0)return this;let s=r-1>>>e&$;if(s>=this.array.length)return this;let i;if(e>0){let h=this.array[s];if(i=h?.removeAfter(t,e-z,r),i===h&&s===this.array.length-1)return this}let n=Kt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function _n(t,e){let{_origin:r,_capacity:s}=t,i=Dt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return D(()=>{while(h.length>0){let c=h[h.length-1];if(c.from===c.to){h.pop();continue}let f=e?--c.to:c.from++;if(c.isLeaf)return u.value=c.array?.[f],u;let _=c.array?.[f],l=c.level-z,a=c.offset+(f<<c.level);o(_,l,a)}return U});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.array,a=_>r?0:r-_,y=s-_;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,isLeaf:!0})}else{let l=c?.array,a=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:f,offset:_,isLeaf:!1})}}}function Bu(t,e,r){let{_origin:s,_capacity:i}=t,n=Dt(i),h=t._tail,u=t._level,o=t._root;return u===0?ih(o,0,s,i,n,h,e,r):nh(o,u,0,s,i,n,h,e,r)}function ih(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,c=e>r?0:r-e,f=s-e;if(f>E)f=E;while(c!==f){let _=u?--f:c++;if(h(o?.[_])===!1)return!1}}function nh(t,e,r,s,i,n,h,u,o){let c=t?.array,f=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>E)_=E;let l=e-z;while(f!==_){let a=o?--_:f++,y=r+(a<<e);if((l===0?ih(c?.[a],y,s,i,n,h,u,o):nh(c?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var ae=(t,e,r,s,i,n,h)=>new sh(t,e,r,s,i,n,h),Nt=()=>ae(0,0,z);function Cu(t,e,r){if(e=it(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)st(h,e).set(0,r);else st(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=mr();if(e>=Dt(t._capacity))s=es(s,t.__ownerID,0,e,r,n);else i=es(i,t.__ownerID,t._level,e,r,n);if(!n.value)return t;if(t.__ownerID)return t._root=i,t._tail=s,t.__hash=void 0,t.__altered=!0,t;return ae(t._origin,t._capacity,t._level,i,s)}function es(t,e,r,s,i,n){let h=s>>>r&$,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t?.array[h],f=es(c,e,r-z,s,i,n);if(f===c)return t;return o=Kt(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)T(n);if(o=Kt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Kt(t,e){if(e&&e===t?.ownerID)return t;return new lt(t?.array.slice()??[],e)}function hh(t,e){if(e>=Dt(t._capacity))return t._tail;if(e<1<<t._level+z){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&$],s-=z;return r}}function st(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Qe,i=t._origin,n=t._capacity,h=i+e,u=r===void 0?n:r<0?n+r:i+r;if(h===i&&u===n)return t;if(h>=u)return t.clear();let{_level:o,_root:c}=t,f=0;while(h+f<0)c=new lt(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=Dt(n),l=Dt(u);while(l>=1<<o+z)c=new lt(c?.array.length?[c]:[],s),o+=z;let a=t._tail,y=l<_?hh(t,u-1):l>_?new lt([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Kt(c,s);let w=c;for(let S=o;S>z;S-=z){let L=_>>>S&$;w=w.array[L]=Kt(w.array[L],s)}w.array[_>>>z&$]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let w=h>>>o&$;if(w!==l>>>o&$)break;if(w)f+=(1<<o)*w;o-=z,c=c.array[w]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-f);if(f)h-=f,u-=f}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=c,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return ae(h,u,o,c,y)}var Dt=(t)=>t<E?0:t-1>>>z<<z,K=(t)=>t===void 0||t===null?mt():cs(t)?t:mt().withMutations((e)=>{let r=G(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});K.of=(...t)=>K(t);class uh extends Vt{static{St(this,{[nt]:!0,[se]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:b.prototype.keys,values:b.prototype.values,__iterate:b.prototype.__iterate})}constructor(t,e,r,s){super(t?t.size:0,void 0,r,s);this._map=t,this._list=e}create(t){return K(t)}toString(){return this.__toString("OrderedMap {","}")}get(t,e){let r=this._map.get(t);return r!==void 0?this._list.get(r)[1]:e}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this;return mt()}set(t,e){return ln(this,t,e)}remove(t){return ln(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i)return r[0]=i[0],r[1]=i[1],!0}})}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);if(!t){if(this.size===0)return mt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Ds(e,r,t,this.__hash)}}K.isOrderedMap=cs;var Ds=(t,e,r,s)=>new uh(t,e,r,s),mt=()=>Ds(Q(),Nt());function ln(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=E&&i.size>=s.size*2){let c=[];if(i.forEach((f,_)=>{if(f!==void 0&&n!==_)c.push(f)}),o=Nt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=Q().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(c[_][0],_)}),t.__ownerID)u.__ownerID=o.__ownerID=t.__ownerID}else u=s.remove(e),o=n===i.size-1?i.pop():i.set(n,void 0)}else if(h){if(r===i.get(n)[1])return t;u=s,o=i.set(n,[e,r])}else{let c=i.size;u=s.set(e,c),o=i.set(c,[e,r])}if(t.__ownerID)return t.size=u.size,t._map=u,t._list=o,t.__hash=void 0,t.__altered=!0,t;return Ds(u,o)}var vt=(t)=>t===void 0||t===null?Ze():os(t)?t:Ze().pushAll(t);vt.of=(...t)=>vt(t);class oh extends at{static{St(this,{asImmutable:fe,asMutable:_e,wasAltered:js,withMutations:le,[jn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return vt(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=it(this,t);while(r&&t--)r=r.next;return r?r.value:e}peek(){return this._head?.value}push(...t){if(t.length===0)return this;let e=this.size+t.length,r=this._head;for(let s=t.length-1;s>=0;s--)r={value:t[s],next:r};return Vr(this,e,r)}pushAll(t){if(t=pt(t),t.size===0)return this;if(this.size===0&&os(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),Vr(this,e,r)}pop(){return this.slice(1)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this;return Ze()}slice(t,e){if(ie(t,e,this.size))return this;let r=Lt(t,this.size);if(ne(e,this.size)!==this.size)return at.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return Vr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Ze();return this.__ownerID=t,this.__altered=!1,this}return Ls(this.size,this._head,t,this.__hash)}__iterate(t,e){if(e){let i=this.toArray(),n=i.length,h=0;while(h!==n)if(t(i[n-++h],n-h,this)===!1)break;return h}let r=0,s=this._head;while(s){if(t(s.value,r++,this)===!1)break;s=s.next}return r}__iterator(t){if(t){let s=this.toArray(),i=s.length,n=0;return q((h)=>{if(n===i)return!1;let u=i-++n;return h[0]=u,h[1]=s[u],!0})}let e=0,r=this._head;return q((s)=>{if(!r)return!1;return s[0]=e++,s[1]=r.value,r=r.next,!0})}values(){let t=this._head,e={done:!1,value:void 0};return D(()=>{if(!t)return U;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}vt.isStack=os;function Vr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Ls(e,r)}var Ls=(t,e,r,s)=>new oh(t,e,r,s),an,Ze=()=>an||(an=Ls(0)),M=(t)=>t===void 0||t===null?ee():us(t)&&!x(t)?t:ee().withMutations((e)=>{let r=wt(t);A(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(G(t).keySeq());M.intersect=(t)=>{return t=V(t).toArray(),t.length?M(t.pop()).intersect(...t):ee()};M.union=(t)=>{let e=V(t).toArray();return e.length?M(e.pop()).union(...e):ee()};class te extends Ce{static{St(this,{withMutations:le,asImmutable:fe,asMutable:_e,[En]:!0,[se]:this.prototype.remove,merge:this.prototype.union,concat:this.prototype.union,[Symbol.toStringTag]:"Immutable.Set"})}constructor(t,e){super();this.size=t?t.size:0,this._map=t,this.__ownerID=e}create(t){return M(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return De(this,this._map.set(t,t))}remove(t){return De(this,this._map.remove(t))}clear(){return De(this,this._map.clear())}map(t,e){let r=!1,s=De(this,this._map.mapEntries(([,i])=>{let n=t.call(e,i,i,this);if(n!==i)r=!0;return[n,n]},e));return r?s:this}union(...t){if(t=t.filter((e)=>e.size!==0),t.length===0)return this;if(this.size===0&&!this.__ownerID&&t.length===1)return M(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else wt(r).forEach((s)=>e.add(s))})}intersect(...t){return gn(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return gn(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return ee()}__make(t,e){return ch(t,e)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t);if(!t){if(this.size===0)return this.__empty();return this.__ownerID=t,this._map=e,this}return this.__make(e,t)}}M.isSet=us;var ch=(t,e)=>new te(t,e),yn,ee=()=>yn||(yn=ch(Q()));function gn(t,e,r){if(e.length===0)return t;return e=e.map((s)=>wt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function De(t,e){if(t.__ownerID)return t.size=e.size,t._map=e,t;return e===t._map?t:e.size===0?t.__empty():t.__make(e)}var k=(t)=>t===void 0||t===null?rs():Un(t)?t:rs().withMutations((e)=>{let r=wt(t);A(r.size),r.forEach((s)=>e.add(s))});k.of=(...t)=>k(t);k.fromKeys=(t)=>k(G(t).keySeq());class fh extends te{static{St(this,{[nt]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:kr.zip,zipWith:kr.zipWith,zipAll:kr.zipAll})}create(t){return k(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return rs()}__make(t,e){return _h(t,e)}}k.isOrderedSet=Un;var _h=(t,e)=>new fh(t,e),rs=()=>_h(mt()),ic={LeftThenRight:-1,RightThenLeft:1};function Pu(t){if(gt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(Y(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var Fe=(t,e)=>{let r;Pu(t);let s=function(h){if(h instanceof s)return h;if(!(this instanceof s))return new s(h);if(!r){r=!0;let u=Object.keys(t),o=i._indices={};i._name=e,i._keys=u,i._defaultValues=t;for(let c=0;c<u.length;c++){let f=u[c];if(o[f]=c,i[f])console.warn(`Cannot define ${Ws(this)} with property "${f}" since that property name is part of the Record API.`);else Fu(i,f)}}return this.__ownerID=void 0,this._values=J().withMutations((u)=>{u.setSize(this._keys.length),G(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(xu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class lh{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:$t,getIn:Qu,hasIn:Yu,merge:ts,mergeWith:vn,mergeDeep:eh,mergeDeepWith:rh,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,toObject:fn,update:As,updateIn:Us,withMutations:le,removeIn:$t,toJSON:fn,[In]:!0,[se]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Ft(this.get(e))}`).join(", ");return`${Ws(this)} { ${t} }`}equals(t){return this===t||gt(t)&&It(this).equals(It(t))}hashCode(){return It(this).hashCode()}has(t){return Object.hasOwn(this._indices,t)}get(t,e){if(!this.has(t))return e;let r=this._indices[t],s=this._values.get(r);return s===void 0?this._defaultValues[t]:s}set(t,e){if(this.has(t)){let r=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(r!==this._values&&!this.__ownerID)return Nr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Nr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return It(this)}toJS(){return Je(this)}entries(){return this.__iterator()}__iterate(t,e){return It(this).__iterate(t,e)}__iterator(t){return It(this).__iterator(t)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._values.__ensureOwner(t);if(!t)return this.__ownerID=t,this._values=e,this;return Nr(this,e,t)}}Fe.isRecord=gt;var Ws=(t)=>t.constructor.displayName||t.constructor.name||"Record";class ah extends Wt{constructor(t){super();this._record=t,this.size=t._keys.length}get(t,e){return this._record.get(t,e)}has(t){return this._record.has(t)}__iterateUncached(t,e){let r=this._record,s=r._keys,i=s.length,n=0;while(n!==i){let h=e?i-++n:n++,u=s[h];if(t(r.get(u),u,this)===!1)break}return n}__iteratorUncached(t){let e=this._record,r=e._keys,s=r.length,i=0;return q((n)=>{if(i===s)return!1;let h=t?s-++i:i++,u=r[h];return n[0]=u,n[1]=e.get(u),!0})}}var It=(t)=>new ah(t);Fe.getDescriptiveName=Ws;var xu=lh.prototype;function Nr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Fu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){xt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var ss=(t,e,r=1)=>{if(xt(r!==0,"Cannot step a Range by 0"),xt(t!==void 0,"You must define a start value when using Range"),xt(e!==void 0,"You must define an end value when using Range"),r=Math.abs(r),e<t)r=-r;let s=Math.max(0,Math.ceil((e-t)/r-1)+1);return new Rs(t,e,r,s)};class Rs extends dt{_start;_end;_step;constructor(t,e,r,s){super();this._start=t,this._end=e,this._step=r,this.size=s}toString(){return this.size===0?"Range []":`Range [ ${this._start}...${this._end}${this._step!==1?` by ${this._step}`:""} ]`}get(t,e){return this.has(t)?this._start+it(this,t)*this._step:e}includes(t){let e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)}slice(t,e){if(ie(t,e,this.size))return this;if(t=Lt(t,this.size),e=ne(e,this.size),e<=t)return ss(0,0);return ss(this.get(t,this._end),this.get(e,this._end),this._step)}indexOf(t){let e=t-this._start;if(e%this._step===0){let r=e/this._step;if(r>=0&&r<this.size)return r}return-1}lastIndexOf(t){return this.indexOf(t)}__iterateUncached(t,e=!1){let r=this.size,s=this._step,i=e?this._start+(r-1)*s:this._start,n=0;while(n!==r){let h=i;i+=e?-s:s;let u=e?r-++n:n++;if(t(h,u,this)===!1)break}return n}__iteratorUncached(t=!1){let e=this.size,r=this._step,s=t?this._start+(e-1)*r:this._start,i=0;return q((n)=>{if(i===e)return!1;let h=s;return s+=t?-r:r,n[0]=t?e-++i:i++,n[1]=h,!0})}values(){let t=this.size,e=this._step,r=this._start,s=0,i={done:!1,value:void 0};return D(()=>{if(s===t)return U;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Rs?this._start===t._start&&this._end===t._end&&this._step===t._step:ls(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var nc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new He(t,r)};class He extends dt{constructor(t,e){super();this._value=t,this.size=e}toString(){if(this.size===0)return"Repeat []";return`Repeat [ ${this._value} ${this.size} times ]`}get(t,e){return this.has(t)?this._value:e}includes(t){return I(this._value,t)}slice(t,e){let r=this.size;return ie(t,e,r)?this:new He(this._value,ne(e,r)-Lt(t,r))}reverse(){return this}indexOf(t){if(I(this._value,t))return 0;return-1}lastIndexOf(t){if(I(this._value,t))return this.size;return-1}__iterateUncached(t,e){let r=this.size,s=0;while(s!==r)if(t(this._value,e?r-++s:s++,this)===!1)break;return s}__iteratorUncached(t){let e=this.size,r=this._value,s=0;return q((i)=>{if(s===e)return!1;return i[0]=t?e-++s:s++,i[1]=r,!0})}values(){let t=this.size,e=this._value,r=0,s={done:!1,value:void 0};return D(()=>{if(r===t)return U;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof He?this.size===t.size&&I(this._value,t._value):ls(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var hc=(t,e)=>yh([],e??ku,t,"",e?.length>2?[]:void 0,{"":t});function yh(t,e,r,s,i,n){if(typeof r!=="string"&&!Y(r)&&(fs(r)||is(r)||Wn(r))){if(t.includes(r))throw TypeError("Cannot convert circular structure to Immutable");if(t.push(r),i&&s!=="")i.push(s);let h=e.call(n,s,N(r).map((u,o)=>yh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var ku=(t,e)=>j(e)?e.toList():d(e)?e.toMap():e.toSet(),Le=(t)=>d(t)?t.valueSeq():t;function Vu(){b.prototype.toMap=function(){return Z(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return K(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return k(Le(this))},b.prototype.toSet=function(){return M(Le(this))},b.prototype.toStack=function(){return vt(Le(this))},b.prototype.toList=function(){return J(Le(this))},b.prototype.countBy=function(e,r){let s=Z().asMutable();return this.__iterate((i,n)=>{s.update(e.call(r,i,n,this),0,(h)=>h+1)}),s.asImmutable()},b.prototype.groupBy=function(e,r){let s=d(this),i=(x(this)?K():Z()).asMutable();return this.__iterate((n,h)=>{i.update(e.call(r,n,h,this),(u)=>{return u??=[],u.push(s?[h,n]:n),u})}),i.map((n)=>Hn(this,n)).asImmutable()},at.prototype.keySeq=function(){return ss(0,this.size)},Vt.prototype.sort=function(e){return K(At(this,e))},Vt.prototype.sortBy=function(e,r){return K(At(this,r,e))},te.prototype.sort=function(e){return k(At(this,e))},te.prototype.sortBy=function(e,r){return k(At(this,r,e))}}var Nu="7.0.0",mu={version:Nu};Vu();var{version:uc}=mu;var vu=["nid","cid","eid","vid","si","sk"];class Js{constructor(t,e,r){this.comps=t,this.getSeqInfo=e??no,this.cache=r??new Mr}renderTag(t,e,r){return Qr(t,e,r)}renderFragment(t){return new rt(t)}renderComment(t){return new jt(t)}setNullCache(){this.cache=new Or}renderToDOM(t,e){let r=document.createElement("div");return Ue(Qr("div",null,[this.renderRoot(t,e)]),r,{document}),r.childNodes[0]}renderToString(t,e,r=!0){let s=this.renderToDOM(t,e);if(r){let i=s.querySelectorAll("[data-nid],[data-cid],[data-eid]");for(let{dataset:n}of i)for(let h of vu)delete n[h]}return s.innerHTML}renderRoot(t,e,r=null){let s=this.comps.getCompFor(e),i=s.getView(r).anode.nodeId??null;return s?this._rValComp(t,e,s,i,"ROOT",r):null}renderIt(t,e,r,s){let i=this.comps.getCompFor(t.it);return i?this._rValComp(t,t.it,i,e,r,s):null}_rValComp(t,e,r,s,i,n){let h=`${n??t.viewsId??""}${s}-${i}`,u=this.cache.get(e,h);if(u)return u;let o=n?r.getView(n):t.lookupBestView(r.views,"main"),c=this._renderMetadata({$:"Comp",nid:s}),f=new rt([c,this.renderView(o,t)]);return this.cache.set(e,h,f),f}pushEachEntry(t,e,r,s,i){t.push(this._renderMetadata({$:"Each",nid:e,[r]:s}),i)}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),c=[],f=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,r,_,s);this.pushEachEntry(c,r,u,_,y)}return c}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,c]=this.getSeqInfo(i),f=[],_=h.call(t.it,i);for(let[l,a]of c(i))if(n.call(t.it,l,a,_)){let y={key:l,value:a},w=`${s}-${l}`,S;if(u)u.call(t.it,y,l,a,_),S=this.cache.get2(t.it,a,w);else S=this.cache.get(a,w);if(S){this.pushEachEntry(f,s,o,l,S);continue}let L=t.enter(a,y,!1),v=this.renderView(r,L);if(this.pushEachEntry(f,s,o,l,v),u)this.cache.set2(t.it,a,w,v);else this.cache.set(a,w,v)}return f}renderView(t,e){if(e.binds.tail!==null)for(let r of e.binds.tail){if(!r.isFrame)continue;if(e.it!==r.it)break;return console.error("recursion detected",e.it,r.it),new jt("RECURSION AVOIDED")}return t.render(e,this)}_renderMetadata(t){return new jt(`§${JSON.stringify(t)}§`)}}function*to(t){let e=0;for(let r of t)yield[e++,r]}function*eo(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var gh=new Map,ro=["si",to],so=["sk",eo],io=["si",function*(e){}];function no(t){return j(t)?ro:d(t)?so:gh.get(t?.constructor)??io}var ph=Symbol("BadValue"),Sh=(t)=>t;class B{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,ph);if(h===ph)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class Zs{isValid(t){return!0}getMessage(t){return"Invalid"}}class Oh extends Zs{}var ho=new Oh;class m extends Zs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var uo=new m((t)=>Number.isInteger(t),()=>"Integer expected"),oo=new m((t)=>Number.isFinite(t),()=>"Float expected"),co=new m((t)=>typeof t==="boolean",()=>"Boolean expected"),fo=new m((t)=>typeof t==="string",()=>"String expected"),_o=new m((t)=>J.isList(t),()=>"List expected"),lo=new m((t)=>Z.isMap(t),()=>"Map expected"),ao=new m((t)=>K.isOrderedMap(t),()=>"OrderedMap expected"),yo=new m((t)=>M.isSet(t),()=>"Set expected"),go=(t)=>!!t;class Hs extends B{constructor(t,e=!1){super("bool",t,co,go,e)}extendProtoForType(t,e){let{name:r}=this;t[`toggle${e}`]=function(){return this.set(r,!this.get(r,!1))},t[`set${e}`]=function(s){return this.set(r,!!s)}}}class ke extends B{constructor(t,e=null){super("any",t,ho,Sh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Ts(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var po=(t)=>t?.toString?.()??"";class Xs extends B{constructor(t,e=""){super("text",t,fo,po,e)}extendProtoForType(t,e){Ps(t,this.name,e,"","length")}}var wo=(t)=>Number.isFinite(t)?Math.trunc(t):null;class Mh extends B{constructor(t,e=0){super("int",t,uo,wo,e)}}var zo=(t)=>null;class Gs extends B{constructor(t,e=0){super("float",t,oo,zo,e)}}var Ts=(t)=>t?.constructor?.getMetaClass?.()?.name;class bh{constructor(t){this.typeName=t}isValid(t){return Ts(t)===this.typeName}getMessage(t){let e=Ts(t);return`Expected "${this.typeName}", got "${e}"`}}class qh extends B{constructor(t,e,r){super(t,e,new bh(t),Sh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var wh=Symbol("NONE");function Qs(t,e,r){Ps(t,e,r,jh),t[`setIn${r}At`]=function(s,i){return this.set(e,this.get(e).set(s,i))},t[`getIn${r}At`]=function(s,i){return this.get(e).get(s,i)},t[`updateIn${r}At`]=function(s,i){let n=this.get(e),h=n.get(s,wh);if(h!==wh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Eh(t,e,`${r}At`)}function Eh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var jh=J(),So=(t)=>Array.isArray(t)?J(t):null;class Ys extends B{constructor(t,e=jh){super("list",t,_o,So,e)}extendProtoForType(t,e){let{name:r}=this;Qs(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))},t[`insertIn${e}At`]=function(s,i){return this.set(r,this.get(r).insert(s,i))}}}var Oo=(t)=>Z(t);class Bs extends B{constructor(t,e=Z()){super("map",t,lo,Oo,e)}extendProtoForType(t,e){Qs(t,this.name,e)}}var Mo=(t)=>K(t);class Cs extends B{constructor(t,e=K()){super("omap",t,ao,Mo,e)}extendProtoForType(t,e){Qs(t,this.name,e)}}function Ps(t,e,r,s,i="size"){t[`is${r}Empty`]=function(){return this.get(e,s)[i]===0},t[`${e}Len`]=function(){return this.get(e,s)[i]}}var dh=M(),bo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class xs extends B{constructor(t,e=dh){super("set",t,yo,bo,e)}extendProtoForType(t,e){let{name:r}=this;Ps(t,r,e,dh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Eh(t,r,e),t[`hasIn${e}`]=function(s){return this.get(r).has(s)},t[`toggleIn${e}`]=function(s){let i=this.get(r);return this.set(r,i.has(s)?i.delete(s):i.add(s))}}}function zh(t,e,r){let s=e.lookupComponent(t.type);return console.assert(s!==null,"component not found",{field:t}),s?.make({...t.args,...r},{scope:e})??null}class Ih{constructor(t){let e={},r=new Set;this.name=t,this.fields=e,this.compFields=r,this._methods={},this._statics={make:function(s={},i={}){let n={};for(let h in s){let u=e[h];if(r.has(h))n[h]=zh(u,i.scope,s[h]);else if(u===void 0){console.warn("extra argument to constructor:",t,h,s);continue}n[h]=u.coerceOrDefault(s[h])}for(let h of r)if(n[h]===void 0)n[h]=zh(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:Fe(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new qh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Ah=new Map,qo={text:Xs,int:Mh,float:Gs,bool:Hs,list:Ys,map:Bs,omap:Cs,set:xs,any:ke};function Eo(t,{fields:e={},methods:r,statics:s}){let i=new Ih(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Xs);else if(u==="number")i.addField(n,h,Gs);else if(u==="boolean")i.addField(n,h,Hs);else if(J.isList(h)||Array.isArray(h))i.addField(n,J(h),Ys);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),xs);else if(K.isOrderedMap(h))i.addField(n,h,Cs);else if(h?.type&&h?.defaultValue!==void 0){let o=qo[h.type]??ke;i.addField(n,new o().coerceOr(h.defaultValue),o)}else if(h?.component&&h?.args!==void 0)i.addCompField(n,h.component,h.args);else if(Z.isMap(h)||h?.constructor===Object)i.addField(n,Z(h),Bs);else{let o=Ah.get(h?.constructor)??ke;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var jo=(t)=>new jr(t.name??"Comp",Eo(t.name,t),t.view??"Not Defined",t.views,t.style,t.commonStyle??"",t.globalStyle??"",t.computed,t.input,t.logic,t.bubble,t.response,t.alter,t.dynamic,t.on);var{raw:Sc,raw:Oc}=String;function Mc(t,e){return new gr(t,e)}var Io=(t)=>typeof t==="string"?document.querySelector(t):t;function bc(t){let e=Io(t),r=new Ee,s=new Js(r);return new Yr(e,r,s,Bt)}export{uc as version,Jt as updateIn,mn as update,bc as tutuca,Gu as setIn,Hu as set,gh as seqInfoByClass,Xu as removeIn,Zu as remove,ec as mergeWith,sc as mergeDeepWith,rc as mergeDeep,tc as merge,Mc as macro,Ni as isValueObject,os as isStack,us as isSet,hs as isSeq,gt as isRecord,Wn as isPlainObject,Un as isOrderedSet,cs as isOrderedMap,x as isOrdered,cs as isOMap,Ye as isMap,An as isList,d as isKeyed,j as isIndexed,Y as isImmutable,Ye as isIMap,R as isCollection,ns as isAssociative,I as is,Pi as injectCss,Oc as html,X as hash,Tn as hasIn,wu as has,_s as getIn,Jn as get,hc as fromJS,Ah as fieldsByClass,Sc as css,jo as component,vt as Stack,M as Set,N as Seq,nc as Repeat,Fe as Record,ss as Range,Bt as ParseContext,ic as PairSorting,k as OrderedSet,K as OrderedMap,K as OMap,Z as Map,J as List,M as ISet,Z as IMap,V as Collection};
|