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.
@@ -1,3 +1,3 @@
1
- class Qt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class qt extends Qt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new qt({...this.binds,key:t})}withKey(t){return new qt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class Se extends Qt{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 gr(this.field,t)}withKey(t){return new yr(this.field,t)}}class lr extends Qt{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 yr extends lr{}class gr extends lr{}var J=Symbol("NONE");class dr extends Qt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,J),s=t?.get(this.keyField,J);return s!==J&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,J),s=t?.get(this.keyField,J);return r===J||s===J?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class rt{constructor(t=[]){this.steps=t}concat(t){return new rt(this.steps.concat(t))}popStep(){return new rt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,J),r===J)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,J),s===J)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,J),r===J)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:a,si:l,sk:y}=_i(t.previousSibling),{eid:p,cid:S,vid:T}=t.dataset;if(p!==void 0)o.push(p);if(S!==void 0){let et=i.getComponentForId(+S,T);if(_){if(c=Zh(et,o,T,e),c===null&&n)return Gh;_=!1}let ci=Xh(et,f,T);if(ci)h.push(ci);o=[],f=[]}if(a!==void 0)f.push({nid:a,si:l,sk:y})}u+=1,t=t.parentNode}return[new rt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return rt.fromNodeAndEventName(h,n,e,r,s,i)}}var fi={};function _i(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=_i(t.previousSibling);if(e!==fi)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return fi}function Zh(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 Xh(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 Gh=[null,null];class pr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new Se(t))}index(t,e){return this.add(new gr(t,e))}key(t,e){return this.add(new yr(t,e))}}var Hh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ot=(t)=>Hh.test(t),Qh=/^-?[0-9]+(\.[0-9]+)?$/,ai=(t,e)=>zr.parse(t,e),Yt=(t,e)=>new L(t),Yh=(t,e)=>ot(t)?new k(t):null,Bh=(t,e)=>ot(t)?new qe(t):null,Ph=(t,e)=>ot(t)?new Or(t):null,Ch=(t,e)=>ot(t)?new di(t):null,xh=(t,e)=>ot(t)?new je(t):null,Fh=(t,e)=>ot(t)?new Ie(t):null,kh=(t,e)=>ot(t)?new Ee(t):null;class li{constructor(){this.allowFieldOnly(),this.bindValIt=new Or("it"),this.nullConstVal=new L(null)}const(t){return new L(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 Ae(s,i):null}parse(t,e){switch(Vh(t)){case pi:return this.okStrTpl?ai(t,e):null;case zi:return this.okStrTpl?Yt(t,e):null;case wi:return this._parseSeqAccess(t,e);case Oe:return this.okStrTpl?ai(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?Yt(t.slice(1),e):null;case 39:return this.okStrTpl?Yt(t.slice(1,-1),e):null;case 64:return this.okBind?Ph(t.slice(1),e):null;case 42:return this.okDyn?Ch(t.slice(1),e):null;case 46:return this.okField?xh(t.slice(1),e):null;case 36:return this.okComputed?Fh(t.slice(1),e):null;case 33:return this.okRequest?kh(t.slice(1),e):null}let s=Qh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Yt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Yt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Yh(t,e):null;else if(r>=65&&r<=90)return this.okType?Bh(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,be)}parseAlter(t,e){return this._parseHandler(t,e,yi)}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 Me{render(t,e){}eval(t){}toPathItem(){return null}}class L extends Me{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 wr extends Me{}class zr extends wr{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)==="}"?d.parseText(h.slice(1,-1),e):new L(h);s[n]=o,i&&=o instanceof L}return i?new L(s.map((n)=>n.val).join("")):new zr(s)}}class k extends wr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class be extends k{eval(t){return t.getHandlerFor(this.name,"input")??gi("input",this.name)}}class yi extends k{eval(t){return t.getHandlerFor(this.name,"alter")??gi("alter",this.name)}}var gi=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class qe extends k{eval(t){return t.lookupType(this.name)}}class Ee extends k{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class Bt extends k{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class Sr extends Me{render(t,e){return this.eval(t)}}class Pt extends Sr{constructor(t){super();this.name=t}}class Or extends Pt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class di extends Pt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class je extends Pt{eval(t){return t.lookupField(this.name)}toPathItem(){return new Se(this.name)}toRawFieldVal(){return new Bt(this.name)}toString(){return`.${this.name}`}}class Ie extends Pt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class Ae extends Sr{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new dr(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 pi=0,wi=1,Oe=2,zi=3;function Vh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return Oe;e+=1;break;case 93:if(r>0||e===0)return Oe;r+=1;break;case 123:return pi;case 125:return zi}if(e>0||r>0)return e===1&&r===1?wi:Oe;return-1}var d=new li;class Et{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return Er(e).parse(t,r)}isConstant(){return!1}}var Nh="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",mh=new Set(Nh.split(","));class Si{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?d.parseAll(e,this.px):d.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new jt(t,s)),this.hasDynamic||=!(s instanceof L)}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=d.parseCondValue(e,this.px);if(r)this.ifAttr=new Mi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=d.parseAttr(t,this.px)??Ct}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=d.parseAttr(t,this.px)??Ct}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=jr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new $e("data-eid",d.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new Oi(d.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,d.const(t));return;case"push-view":this.pushWrapper("push-view",t,d.parseText(t,this.px));return;case"text":this.textChild=d.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,d.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,d.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,d.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=d.parseAlter(t,this.px);else this.pushWrapper("scope",t,d.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=d.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=d.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===""&&mh.has(n)?!0:h;this.attrs.push(new $e(n,d.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new Ke(r):br.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class br extends Et{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new br(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 Ke extends Et{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 $e(t,new L(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class qr{constructor(t){this.name=t}}class jt extends qr{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class $e extends jt{}class Oi extends jt{constructor(t){super("dangerouslySetInnerHTML",t??d.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Ct=d.nullConstVal;class Mi extends qr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Ct}get anyBranchIsSet(){return this.thenVal!==Ct||this.elseVal!==Ct}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var Mr=null;function Er(t){return Mr??=new Si(t),Mr.clear(t),Mr}class jr{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=d.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);d.allowHandlerArg();for(let h=0;h<s.length;h++){let u=d.parse(s[h],e);n[h]=u!==null?u:d.nullConstVal}return new jr(i,n)}}class Ir{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 It{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 kt extends It{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 Ft extends kt{render(t,e){return e.renderComment(this.val)}}function vh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Dr(r);else r.optimize()}}function Kr(t){if(t.isConstant())return new Dr(t);return t.optimize(),t}class Ur extends It{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){vh(this.childs)}}class Ue extends Ur{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 Le extends Ur{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 Le(t),tu=/^[a-zA-Z][a-zA-Z0-9-]*$/,bi=null;class st extends It{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){bi??=e.newDOMParser();let r=bi.parseFromString(t,"text/html").body.childNodes;return st.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new kt(t.textContent);else if(e.isCommentNode(t))return new Ft(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=st.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 Re(null,d.const(u),xt(n));case"text":{let c=d.parseText(u,e);return c!==null?new $r(null,c):null}case"render":return e.addNodeIf(Ki,d.parseRender(u,e),o);case"render-it":return e.addNodeIf(We,d.bindValIt,o);case"render-each":return Vt.parse(e,d,u,o,s);case"show":return e.addNodeIf(Wr,d.parseCondValue(u,e),xt(n));case"hide":return e.addNodeIf(Rr,d.parseCondValue(u,e),xt(n))}return new Ft(`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]=Et.parse(s,e,!0);return e.onAttributes(u,o,null),qi(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(tu.test(i)){let[h,u,o]=Et.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new $r(null,o));let c=i!=="PRE"?nu(n):n;return qi(new Ue(i.toLowerCase(),h,c),e,u)}return new Ft(`Error: InvalidTagName ${i}`)}}function qi(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=eu(r[s],e);if(i)i.wrapNode(t),t=i}return t}function eu(t,e){let r=iu[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 $i extends It{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 Ft(`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=Kr(this.node)}}class Lr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return st.parse(this.rawView,t)}}class De extends st{constructor(t,e,r){super(t,e);this.viewId=r}}class Ki extends De{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class We extends De{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class Vt extends De{constructor(t,e,r){super(t,e,r);this.iterInfo=new Tr(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(Vt,e.parseEach(r,t),s);if(n!==null){let h=Er(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 st{render(t,e){return e.renderText(this.val.eval(t))}}class Dr extends It{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 st{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=Kr(this.node)}static register=!1}class Wr extends ct{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class Rr extends ct{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class Ui extends ct{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Re extends ct{optimize(){this.node.optimize()}}class Li 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 qt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Te extends ct{constructor(t,e){super(t,e);this.iterInfo=new Tr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new qt({})}static register=!0}class Tr{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)??ru,s=this.loopWithVal?.eval(t)??su,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var ru=(t,e,r)=>!0,su=(t)=>({seq:t}),iu={slot:Re,show:Wr,hide:Rr,each:Te,scope:Li,"push-view":Ui};class V{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 V(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 Di(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Le(s)};for(let h of r)if(h instanceof Re)i[h.val.val]=h.node;else if(!(h instanceof kt)||!h.isWhiteSpace())s.push(h);let n=new $i(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 Ar=(t)=>t instanceof kt&&t.isWhiteSpace(),Ei=(t)=>t instanceof Ue||t instanceof Le&&t.childs[0]instanceof Ue;function nu(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(Ar(t[0]))r=1,s=!0;if(e>1&&Ar(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(Ar(n)&&Ei(t[i-1])&&Ei(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class Je{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=st.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=Kr(this.anode)}render(t,e){return this.anode.render(t,e)}}class Di{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Wi(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 Wi{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=fu(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 hu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ze=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,ji=(t)=>Ze((e)=>e.e.key===t),Ii=Ze(({e:t})=>hu&&t.metaKey||t.ctrlKey),uu=Ze(({e:t})=>t.metaKey),ou=Ze(({e:t})=>t.altKey),Ai={ctrl:Ii,cmd:Ii,meta:uu,alt:ou},Jr={keydown:{send:ji("Enter"),cancel:ji("Escape"),...Ai},click:{...Ai}},cu=(t,e)=>t;function fu(t,e){if(e.length===0)return cu;let r=Jr[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 Zr{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 Xr{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 Gr{getKey(t,e,r){return r.call(t)}}class Hr{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 Xe{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new Hr}setNullComputedCache(){this.computedCache=new Gr}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:Ti}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 Ge{constructor(t=new Xe,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ge(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 Ir(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 Qr{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 Ri extends Qr{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 At=(t)=>typeof t==="string",_u=0;class Yr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},a={},l={},y={}){this.id=_u++,this.name=t,this.Class=e,this.views={main:new Je("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=a,this.on={stackEnter:y?.stackEnter??Ti};for(let p in s){let S=s[p],{view:T,style:et}=At(S)?{view:S}:S;this.views[p]=new Je(p,T,et)}this._rawDynamic=l,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(At(r)){let s=d.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Qr(e,s,Symbol(e))}else if(At(r?.default)&&At(r?.for)){let s=d.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(At(i)&&At(n))this.dynamic[e]=new Ri(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 Ti(t){return t}var Ji=Symbol("STOP"),Cr=Symbol("NEXT");class Nt{constructor(t,e){this.head=t,this.tail=e}push(t){return new Nt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ji?e:s===Cr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Br{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?Ji:Cr:e}}class Pr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Cr: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 Nt(new Br(e,{it:e},!0),null),i=new Nt(new Pr({}),null),n=new Nt("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 Br(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 Pr(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 Xi{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 Fr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Xi(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 Nr(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 Qi(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)??au(e),o=s?.onResName??e,c=(f,_,a,l,y)=>{let S=new Hi(t,this,f??_,f?[a]:[l,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 Gi(t,e,r,this,s))}}function au(t){return()=>{throw Error(`Request not found: ${t}`)}}function lu(){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 Yi,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 yu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Zi=(t)=>Number.isNaN(t)?null:t;function xr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Gi 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 mr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return xr(e);case"valueAsInt":return Zi(parseInt(xr(e),10));case"valueAsFloat":return Zi(parseFloat(xr(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 yu&&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 vr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Vr 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]??lu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new vr(this.path,this.transactor,this)]]}}class Hi extends Vr{handlerProp="response"}class Nr extends Vr{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 Qi extends Nr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Yi{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 mr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Bi(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 vr extends mr{stopPropagation(){return this.parent.stopPropagation()}}class Bi extends pr{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 ts{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ge(r),this.transactor=new Fr(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]=rt.fromEvent(t,i,n,h,u);if(r){let f=gu(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),a=t.target.dataset.dragtype??"?",l=o.buildStack(this.makeStack(f));this.dragInfo=new Pi(o,l,t,_,a,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()}),He("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 rt([]),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 He(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 gu(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 Pi{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)}}class $t extends V{constructor(...t){super(...t);this.classes=new Set}_addClasses(t){for(let e of t.split(/\s+/))this.classes.add(e)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new $t(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f}onAttributes(t,e,r){if(Array.isArray(t.items))for(let s of t.items){if(s.name!=="class")continue;let{val:i,thenVal:n,elseVal:h}=s;if(n!==void 0)this._maybeAddVal(n),this._maybeAddVal(h);else this._maybeAddVal(i)}else{let s=t.items.class;if(s)this._addClasses(s)}}_maybeAddVal(t){if(!this._maybeAddStrTpl(t)&&typeof t?.val==="string")this._addClasses(t.val)}_maybeAddStrTpl(t){if(t?.vals!==void 0){for(let e of t.vals)if(e instanceof L&&e.val!=="")this._addClasses(e.val);return!0}return!1}}function mt(t,e){if(!t)throw Error(e)}function A(t){mt(t!==1/0,"Cannot perform this action with an infinite size.")}function Ci(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 du=(t,e)=>e,pu=(t,e)=>[e,t],es=(t)=>function(...e){return!t.apply(this,e)},xi=(t)=>function(...e){return-t.apply(this,e)};function yn(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 Fi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class gn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function W(t){return new gn(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return W(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var wu=W(()=>$),ft=()=>wu;function me(t){let e=0,r={done:!1,value:void 0};return W(()=>{if(e===t)return $;return r.value=e++,r})}function ue(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 gs(t){if(Array.isArray(t))return!0;return!!ve(t)}var zu=(t)=>typeof t?.next==="function";function dn(t){return ve(t)?.call(t)}function ve(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function Su(t){let e=ve(t);return e&&e===t.entries}function Ou(t){let e=ve(t);return e&&e===t.keys}var oe="delete",z=5,E=1<<z,K=E-1,g={},cs=()=>({value:!1});function G(t){if(t)t.value=!0}class tr{}function Lt(t){if(t.size===void 0)t.size=t.__iterate(pn);return t.size}function nt(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?Lt(t)+e:e}var pn=()=>!0,wn=(t)=>t<0||Object.is(t,-0),ce=(t,e,r)=>(t===0&&!wn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),zn=(t,e,r)=>t===void 0?r:wn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Tt=(t,e)=>zn(t,e,0),fe=(t,e)=>zn(t,e,e),Sn="@@__IMMUTABLE_ITERABLE__@@",Ce="@@__IMMUTABLE_KEYED__@@",xe="@@__IMMUTABLE_INDEXED__@@",ht="@@__IMMUTABLE_ORDERED__@@",_e="@@__IMMUTABLE_SEQ__@@",On="@@__IMMUTABLE_LIST__@@",Mn="@@__IMMUTABLE_MAP__@@",bn="@@__IMMUTABLE_SET__@@",qn="@@__IMMUTABLE_STACK__@@",En="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var Z=(t)=>F(t,Sn),w=(t)=>F(t,Ce),j=(t)=>F(t,xe),ds=(t)=>w(t)||j(t),x=(t)=>F(t,ht),ps=(t)=>F(t,_e),jn=(t)=>F(t,On),er=(t)=>F(t,Mn),ws=(t)=>F(t,bn),zs=(t)=>F(t,qn),gt=(t)=>F(t,En),P=(t)=>Z(t)||gt(t),Ss=(t)=>er(t)&&x(t),In=(t)=>ws(t)&&x(t),ki=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function An(t){let e=C(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=Zt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>ue(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function $n(t,e,r){let s=C(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)=>ue(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function Kn(t,e){let r=C(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=An(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=Zt,r.__iterate=function(s,i){let n=0;if(i)Lt(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)Lt(t);let n=this.size;return ue(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function Un(t,e,r,s){let i=t.size;if(ce(e,r,i))return t;if(i===void 0&&(e<0||r<0))return Un(t.toSeq().cacheResult(),e,r,s);let n=Tt(e,i),u=fe(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=C(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&ps(t)&&o>=0)c.get=function(f,_){return f=nt(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 a=0,l=0;return t.__iterate((y,p)=>{if(a<n){a++;return}if(o!==void 0&&l>=o)return!1;if(l++,f(y,s?p:l-1,this)===!1)return!1},_),l},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ft();let _=t.__iterator(f),a=0,l=0;if(s)return W(()=>{while(a<n)a++,_.next();if(o!==void 0&&l>=o)return $;let y=_.next();if(y.done)return y;return l++,y});return q((y)=>{while(a<n)a++,_.next();if(o!==void 0&&l>=o)return!1;let p=_.next();if(p.done)return!1;return l++,y[0]=l-1,y[1]=p.value[1],!0})},c}function Ut(t,e,r){if(!e)e=yn;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?js(n):j(t)?yt(n):te(n)}function Qe(t,e,r){if(!e)e=yn;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Vi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Vi(e,s,i)?i:s)}function Vi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function rs(t,e,r,s){let i=C(t),n=new ae(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 a=m(_);return dn(h?a.reverse():a)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{let a=s;for(let l=0;l<u.length;l++)c[l]=u[l].next(),a=s?a&&c[l].done:a||c[l].done;if(a)return!1;for(let l=0;l<c.length;l++)f[l]=c[l].value;return _[0]=o++,_[1]=e(...f),!0})},i}function Os(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 Ln(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 ut=(t)=>typeof t==="object"&&(P(t)||Array.isArray(t)||Ln(t));function Dn(t){if(Os(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var Mu=(t,e)=>P(t)?t.has(e):ut(t)&&Object.hasOwn(t,e);function Wn(t,e,r){return P(t)?t.get(e,r):!Mu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function Ms(t,e,r){let s=Dn(e),i=0;while(i!==s.length)if(t=Wn(t,s[i++],g),t===g)return r;return t}var Rn=(t,e)=>Ms(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!!(ki(t)&&ki(e)&&t.equals(e))}function Fe(t){if(!t||typeof t!=="object")return t;if(!Z(t)){if(!ut(t))return t;t=v(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Fe(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Fe(r))}),e}function bs(t,e){if(t===e)return!0;if(!Z(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=!ds(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 rr=(t)=>t>>>1&1073741824|t&3221225471;function Q(t){if(t===null||t===void 0)return Ni(t);if(typeof t.hashCode==="function")return rr(t.hashCode(t));let e=Iu(t);if(e===null||e===void 0)return Ni(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return bu(e);case"string":return e.length>Au?qu(e):fs(e);case"object":case"function":return ju(e);case"symbol":return Eu(e);default:if(typeof e.toString==="function")return fs(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Ni=(t)=>t===null?1108378658:1108378659;function bu(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 rr(e)}function qu(t){let e=ns[t];if(e===void 0){if(e=fs(t),is===$u)is=0,ns={};is++,ns[t]=e}return e}function fs(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return rr(e)}function Eu(t){let e=vi[t];if(e!==void 0)return e;return e=Tn(),vi[t]=e,e}function ju(t){let e=mi.get(t);if(e!==void 0)return e;return e=Tn(),mi.set(t,e),e}var Iu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Tn(){let t=++ss;if(ss&1073741824)ss=0;return t}var mi=new WeakMap,vi=Object.create(null),ss=0,Au=16,$u=255,is=0,ns={};function Ku(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+tn(Q(i),Q(n))|0}:(i,n)=>{s=s+tn(Q(i),Q(n))|0}:e?(i)=>{s=31*s+Q(i)|0}:(i)=>{s=s+Q(i)|0}),Uu(t.size,s)}var tn=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Uu(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=rr(e^e>>>16),e}function vt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:ps(t)?e:t.create?t.create(e):t.constructor(e),Jn=(t,e)=>O(t,(w(t)?Y:j(t)?dt:pt)(e)),en=(...t)=>t,m=(t)=>Z(t)?t:v(t);class b{size=0;static{this.prototype[Sn]=!0,this.prototype.__toStringMapper=vt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return bs(this,t)}hashCode(){return this.__hash??(this.__hash=Ku(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 Qn(this)}toJS(){return Fe(this)}toKeyedSeq(){return new Us(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 Yn(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(!Z(s))s=e?Xn(s):Gn(Array.isArray(s)?s:[s]);else if(e)s=Y(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 Hn(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=C(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=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)=>Jn(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 W(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return O(this,$n(this,t,e))}reduce(t,e=g,r){return Ci(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Ci(this,t,e,r,e===g,!0)}reverse(){return O(this,Kn(this,w(this)))}slice(t,e){return O(this,Un(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,Ut(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return W(()=>{let r=t.next();if(r.done)return $;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 Lt(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 ae(t._cache);let e=t.toSeq().map(pu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(es(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(pn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(w(this)?Y:j(this)?dt:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=C(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((_,a)=>{if((!t||f<t)&&Z(_))o(_,f+1);else if(h++,i(_,r?a: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)&&Z(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 Bn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return Ms(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Rn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:m(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:m(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(du).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Qe(this,t)}maxBy(t,e){return Qe(this,e,t)}min(t){return Qe(this,t?xi(t):Fi)}minBy(t,e){return Qe(this,e?xi(e):Fi,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=C(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 a=_.value[0],l=_.value[1];if(c&&t.call(e,l,a,o))continue;return c=!1,f[0]=s?a:u++,f[1]=l,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(es(t),e)}sortBy(t,e){return O(this,Ut(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=C(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 W(()=>{if(u)return $;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,$;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(es(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 Y=(t)=>w(t)?t:js(t);class qs extends b{static{this.prototype[Ce]=!0,this.prototype.__toStringMapper=(t,e)=>`${vt(e)}: ${vt(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,An(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 dt=(t)=>j(t)?t:yt(t);class lt extends b{static{this.prototype[xe]=!0,this.prototype[ht]=!0}toKeyedSeq(){return new Us(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=Tt(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=nt(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=nt(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=C(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=rs(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(en,...t)}zipAll(...t){let e=[this,...t];return O(this,rs(this,en,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,rs(this,t,r))}}var pt=(t)=>Z(t)&&!ds(t)?t:te(t);class sr extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=sr.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}m.Keyed=Y;m.Indexed=dt;m.Set=pt;var hs=lt.prototype,v=(t)=>t===void 0||t===null?$s():P(t)?t.toSeq():Lu(t),C=(t)=>Object.create((w(t)?Jt:j(t)?wt:Is).prototype);class _t extends b{static{this.prototype[_e]=!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 W(()=>{if(s===r)return $;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var Es={cacheResult:_t.prototype.cacheResult,__iterateUncached:_t.prototype.__iterateUncached,__iterate:_t.prototype.__iterate,__iterator:_t.prototype.__iterator},js=(t)=>t===void 0||t===null?$s().toKeyedSeq():Z(t)?w(t)?t.toSeq():t.fromEntrySeq():gt(t)?t.toSeq():Xn(t);class Jt extends qs{static{this.prototype[_e]=!0,Object.assign(this.prototype,Es)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?$s():Z(t)?w(t)?t.entrySeq():t.toIndexedSeq():gt(t)?t.toSeq().entrySeq():Gn(t);yt.of=(...t)=>yt(t);class wt extends lt{static{this.prototype[_e]=!0,Object.assign(this.prototype,Es)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var te=(t)=>(Z(t)&&!ds(t)?t:yt(t)).toSetSeq();te.of=(...t)=>te(t);class Is extends sr{static{this.prototype[_e]=!0,Object.assign(this.prototype,Es)}toSeq(){return this}toSetSeq(){return this}}v.isSeq=ps;v.Keyed=js;v.Set=te;v.Indexed=yt;class ae extends wt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[nt(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 As extends Jt{static{this.prototype[ht]=!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 Zn extends wt{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(!zu(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 $s=()=>new ae([]),Ks=(t)=>Os(t)?new ae(t):gs(t)?new Zn(t):void 0;function Xn(t){let e=Ks(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new As(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Gn(t){let e=Ks(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function Lu(t){let e=Ks(t);if(e)return Su(t)?e.fromEntrySeq():Ou(t)?e.toSetSeq():e;if(typeof t==="object")return new As(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Hn 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[Ce])this[Ce]=!0;if(i[xe])this[xe]=!0;if(i[ht])this[ht]=!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 ft();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 q((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return W(()=>n()||$)}}class Us extends Jt{static{this.prototype[ht]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Zt.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=Kn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=$n(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 Qn extends wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Zt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)Lt(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)Lt(this);let r=this.size;return ue(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Yn extends Is{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Zt.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 ue(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Bn extends Jt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Zt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){rn(s),r++;let i=Z(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){rn(i);let n=Z(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Zt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return _t.prototype.cacheResult.call(this)}function rn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var R=(t)=>t===void 0||t===null?B():er(t)&&!x(t)?t:B().withMutations((e)=>{let r=Y(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class ee extends qs{static{St(this,{asImmutable:ge,asMutable:de,deleteIn:Dt,merge:_s,mergeWith:Nn,mergeDeep:vn,mergeDeepWith:th,mergeDeepIn:Qs,mergeIn:Hs,setIn:Zs,update:Xs,updateIn:Gs,wasAltered:Js,withMutations:pe,removeIn:Dt,concat:_s,[Mn]:!0,[oe]: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 R(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,Q(t),t,e):e}set(t,e){return nn(this,t,e)}remove(t){return nn(this,t,g)}deleteAll(t){let e=m(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 B()}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 Ye(this._root,!1,0)}values(){if(!this._root)return ft();return Ye(this._root,!1,1)}entries(){if(!this._root)return ft();return Ye(this._root,!1)}__iterator(t){if(!this._root)return ft();return Ye(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 B();return this.__ownerID=t,this.__altered=!1,this}return Ws(this.size,this._root,t,this.__hash)}}R.isMap=er;class Ls{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Pn(this.entries,r,s)}iterate(t,e){return Cn(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(G(h),u||!_)G(n);if(u&&f===1)return;if(!_&&!u&&f>=Zu)return Du(t,o,s,i);let a=t&&t===this.ownerID,l=a?o:o.slice();if(_)if(u)if(c===f-1)l.pop();else l[c]=l.pop();else l[c]=[s,i];else l.push([s,i]);if(a)return this.entries=l,this;return new Ls(t,l)}}class ir{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return xn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&K),n=this.bitmap;return(n&i)===0?s:this.nodes[un(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&K,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=un(c&o-1),a=this.nodes,l=f?a[_]:void 0,y=Rs(l,t,e+z,r,s,i,n,h);if(y===l)return this;if(!f&&y&&a.length>=Xu)return Ru(t,a,c,u,y);if(f&&!y&&a.length===2&&hn(a[_^1]))return a[_^1];if(f&&y&&a.length===1&&hn(y))return y;let p=t&&t===this.ownerID,S=f?y?c:c^o:c|o,T=f?y?Fn(a,_,y,p):Ju(a,_,p):Tu(a,_,y,p);if(p)return this.bitmap=S,this.nodes=T,this;return new ir(t,S,T)}}class Ds{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return xn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&K,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)&K,o=i===g,c=this.nodes,f=c[u];if(o&&!f)return this;let _=Rs(f,t,e+z,r,s,i,n,h);if(_===f)return this;let a=this.count;if(!f)a++;else if(!_){if(a--,a<Gu)return Wu(t,c,a,u)}let l=t&&t===this.ownerID,y=Fn(c,u,_,l);if(l)return this.count=a,this.nodes=y,this;return new Ds(t,a,y)}}class nr{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Pn(this.entries,r,s)}iterate(t,e){return Cn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return G(h),G(n),Ts(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(G(h),u||!_)G(n);if(u&&f===2)return new zt(t,this.keyHash,o[c^1]);let a=t&&t===this.ownerID,l=a?o:o.slice();if(_)if(u)if(c===f-1)l.pop();else l[c]=l.pop();else l[c]=[s,i];else l.push([s,i]);if(a)return this.entries=l,this;return new nr(t,this.keyHash,l)}}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(G(h),u){G(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return G(n),Ts(this,t,e,Q(s),[s,i])}}function Pn(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 Cn(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 xn(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 Ye(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 W(()=>{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 $})}var Ws=(t,e,r,s)=>new ee(t,e,r,s),sn,B=()=>sn||(sn=Ws(0));function nn(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new Ls(t.__ownerID,[[e,r]])}else{let n=cs(),h=cs();if(s=Rs(t._root,t.__ownerID,0,Q(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?Ws(i,s):B()}function Rs(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return G(u),G(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var hn=(t)=>t.constructor===zt||t.constructor===nr;function Ts(t,e,r,s,i){if(t.keyHash===s)return new nr(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&K,h=(r===0?s:s>>>r)&K,u=new zt(e,s,i),o=n===h?[Ts(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new ir(e,1<<n|1<<h,o)}function Du(t,e,r,s){if(!t)t=new tr;let i=new zt(t,Q(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,Q(n),n,h);return i}function Wu(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 ir(t,i,h)}function Ru(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 Ds(t,n+1,h)}function un(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 Fn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Tu(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 Ju(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 Zu=E/4,Xu=E/2,Gu=E/4;function ke(t){if(Array.isArray(t))return t.slice();return{...t}}var Tc=(t,...e)=>ye(t,e),Jc=(t,e,...r)=>ye(e,r,t),le=(t,e,r)=>ye(t,e,Hu(r)),Zc=(t,...e)=>le(t,e),Xc=(t,e,...r)=>le(e,r,t);function ye(t,e,r){if(!ut(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(P(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?dt:Y,h=s?(u)=>{if(i===t)i=ke(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=ke(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Hu(t){function e(r,s,i){return ut(r)&&ut(s)&&Qu(r,s)?ye(r,[s],e):t?t(r,s,i):s}return e}function Qu(t,e){let r=v(t),s=v(e);return j(r)===j(s)&&w(r)===w(s)}function Yu(t,e){if(!ut(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=ke(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Bu(t,e,r){if(!ut(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=ke(t);return s[e]=r,s}function Xt(t,e,r,s){if(!s)s=r,r=void 0;let i=kn(P(t),t,Dn(e),0,r,s);return i===g?r:i}function kn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,a=n(_);return a===_?e:a}if(!h&&!ut(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(vt)}]: ${e}`);let u=r[s],o=h?g:Wn(e,u,g),c=kn(o===g?t:P(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Yu(e,u);let f=h?t?B():{}:e;return Bu(f,u,c)}var Pu=(t,e)=>Xt(t,e,()=>g),Cu=(t,e,r)=>Xt(t,e,g,()=>r);function Vn(t,e,r,s){return Xt(t,[e],r,s)}function ge(){return this.__ensureOwner()}function de(){return this.__ownerID?this:this.__ensureOwner(new tr)}function Js(){return this.__altered}function pe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function xu(t,e){return Ms(this,t,e)}function Fu(t){return Rn(this,t)}function Dt(t){return Pu(this,t)}function Zs(t,e){return Cu(this,t,e)}function Xs(t,e,r){return typeof t==="function"?t(this):Vn(this,t,e,r)}function Gs(t,e,r){return Xt(this,t,e,r)}function on(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function _s(...t){return mn(this,t)}function Nn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return mn(this,e,t)}function mn(t,e,r){let s=[];for(let i of e){let n=Y(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)=>{Vn(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 vn(...t){return le(this,t)}function th(t,...e){return le(this,e,t)}function Hs(t,...e){return Xt(this,t,B(),(r)=>ye(r,e))}function Qs(t,...e){return Xt(this,t,B(),(r)=>le(r,e))}function St(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=re();if(t===void 0||t===null)return e;if(jn(t))return t;let r=dt(t),s=r.size;if(s===0)return e;if(A(s),s>0&&s<E)return we(0,s,z,null,new at(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};U.of=(...t)=>U(t);class eh extends lt{static{St(this,{asImmutable:ge,asMutable:de,deleteIn:Dt,mergeDeepIn:Qs,mergeIn:Hs,setIn:Zs,update:Xs,updateIn:Gs,wasAltered:Js,withMutations:pe,removeIn:Dt,[On]:!0,[oe]: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 U(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=nt(this,t),t>=0&&t<this.size)return t+=this._origin,ih(this,t)?.array[t&K];return e}set(t,e){return Vu(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 re()}push(...t){let e=this.size;return this.withMutations((r)=>{it(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return it(this,0,-1)}unshift(...t){return this.withMutations((e)=>{it(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return it(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=dt(typeof r!=="string"&&gs(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 U(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return it(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(ce(t,e,r))return this;return it(this,Tt(t,r),fe(e,r))}__iterate(t,e){let r=e?this.size:0;return ku(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=cn(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 cn(this,!1)}keys(){return me(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return re();return this.__ownerID=t,this.__altered=!1,this}return we(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=jn;class at{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&K;if(s>=this.array.length)return new at([],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=Wt(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&K;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=Wt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function cn(t,e){let{_origin:r,_capacity:s}=t,i=Rt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return W(()=>{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],a=c.level-z,l=c.offset+(f<<c.level);o(_,a,l)}return $});function o(c,f,_){if(f===0){let a=_===i?n?.array:c?.array,l=_>r?0:r-_,y=s-_;if(y>E)y=E;if(l!==y)h.push({array:a,from:l,to:y,isLeaf:!0})}else{let a=c?.array,l=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(l!==y)h.push({array:a,from:l,to:y,level:f,offset:_,isLeaf:!1})}}}function ku(t,e,r){let{_origin:s,_capacity:i}=t,n=Rt(i),h=t._tail,u=t._level,o=t._root;return u===0?rh(o,0,s,i,n,h,e,r):sh(o,u,0,s,i,n,h,e,r)}function rh(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 sh(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 a=e-z;while(f!==_){let l=o?--_:f++,y=r+(l<<e);if((a===0?rh(c?.[l],y,s,i,n,h,u,o):sh(c?.[l],a,y,s,i,n,h,u,o))===!1)return!1}}var we=(t,e,r,s,i,n,h)=>new eh(t,e,r,s,i,n,h),re=()=>we(0,0,z);function Vu(t,e,r){if(e=nt(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)it(h,e).set(0,r);else it(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=cs();if(e>=Rt(t._capacity))s=as(s,t.__ownerID,0,e,r,n);else i=as(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 we(t._origin,t._capacity,t._level,i,s)}function as(t,e,r,s,i,n){let h=s>>>r&K,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t?.array[h],f=as(c,e,r-z,s,i,n);if(f===c)return t;return o=Wt(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)G(n);if(o=Wt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Wt(t,e){if(e&&e===t?.ownerID)return t;return new at(t?.array.slice()??[],e)}function ih(t,e){if(e>=Rt(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&K],s-=z;return r}}function it(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new tr,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 at(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=Rt(n),a=Rt(u);while(a>=1<<o+z)c=new at(c?.array.length?[c]:[],s),o+=z;let l=t._tail,y=a<_?ih(t,u-1):a>_?new at([],s):l;if(l&&a>_&&h<n&&l.array.length){c=Wt(c,s);let p=c;for(let S=o;S>z;S-=z){let T=_>>>S&K;p=p.array[T]=Wt(p.array[T],s)}p.array[_>>>z&K]=l}if(u<n)y=y?.removeAfter(s,0,u);if(h>=a)h-=a,u-=a,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||a<_){f=0;while(c){let p=h>>>o&K;if(p!==a>>>o&K)break;if(p)f+=(1<<o)*p;o-=z,c=c.array[p]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&a<_)c=c.removeAfter(s,o,a-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 we(h,u,o,c,y)}var Rt=(t)=>t<E?0:t-1>>>z<<z,D=(t)=>t===void 0||t===null?se():Ss(t)?t:se().withMutations((e)=>{let r=Y(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});D.of=(...t)=>D(t);class nh extends ee{static{St(this,{[ht]:!0,[oe]: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 D(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 se()}set(t,e){return fn(this,t,e)}remove(t){return fn(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 se();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Ys(e,r,t,this.__hash)}}D.isOrderedMap=Ss;var Ys=(t,e,r,s)=>new nh(t,e,r,s),se=()=>Ys(B(),re());function fn(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=re().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=B().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 Ys(u,o)}var ie=(t)=>t===void 0||t===null?Ve():zs(t)?t:Ve().pushAll(t);ie.of=(...t)=>ie(t);class hh extends lt{static{St(this,{asImmutable:ge,asMutable:de,wasAltered:Js,withMutations:pe,[qn]:!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 ie(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=nt(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 us(this,e,r)}pushAll(t){if(t=dt(t),t.size===0)return this;if(this.size===0&&zs(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),us(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 Ve()}slice(t,e){if(ce(t,e,this.size))return this;let r=Tt(t,this.size);if(fe(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 us(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Ve();return this.__ownerID=t,this.__altered=!1,this}return Bs(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 W(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return me(this.size)}}ie.isStack=zs;function us(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Bs(e,r)}var Bs=(t,e,r,s)=>new hh(t,e,r,s),_n,Ve=()=>_n||(_n=Bs(0)),M=(t)=>t===void 0||t===null?he():ws(t)&&!x(t)?t:he().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(Y(t).keySeq());M.intersect=(t)=>{return t=m(t).toArray(),t.length?M(t.pop()).intersect(...t):he()};M.union=(t)=>{let e=m(t).toArray();return e.length?M(e.pop()).union(...e):he()};class ne extends sr{static{St(this,{withMutations:pe,asImmutable:ge,asMutable:de,[bn]:!0,[oe]: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 Be(this,this._map.set(t,t))}remove(t){return Be(this,this._map.remove(t))}clear(){return Be(this,this._map.clear())}map(t,e){let r=!1,s=Be(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 ln(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return ln(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return he()}__make(t,e){return uh(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=ws;var uh=(t,e)=>new ne(t,e),an,he=()=>an||(an=uh(B()));function ln(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 Be(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 N=(t)=>t===void 0||t===null?ls():In(t)?t:ls().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});N.of=(...t)=>N(t);N.fromKeys=(t)=>N(Y(t).keySeq());class oh extends ne{static{St(this,{[ht]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:hs.zip,zipWith:hs.zipWith,zipAll:hs.zipAll})}create(t){return N(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return ls()}__make(t,e){return ch(t,e)}}N.isOrderedSet=In;var ch=(t,e)=>new oh(t,e),ls=()=>ch(se()),Gc={LeftThenRight:-1,RightThenLeft:1};function Nu(t){if(gt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(P(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 hr=(t,e)=>{let r;Nu(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 ${Ps(this)} with property "${f}" since that property name is part of the Record API.`);else vu(i,f)}}return this.__ownerID=void 0,this._values=U().withMutations((u)=>{u.setSize(this._keys.length),Y(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(mu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class fh{static{St(this,{asImmutable:ge,asMutable:de,deleteIn:Dt,getIn:xu,hasIn:Fu,merge:_s,mergeWith:Nn,mergeDeep:vn,mergeDeepWith:th,mergeDeepIn:Qs,mergeIn:Hs,setIn:Zs,toObject:on,update:Xs,updateIn:Gs,withMutations:pe,removeIn:Dt,toJSON:on,[En]:!0,[oe]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${vt(this.get(e))}`).join(", ");return`${Ps(this)} { ${t} }`}equals(t){return this===t||gt(t)&&Kt(this).equals(Kt(t))}hashCode(){return Kt(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 os(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:os(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return Kt(this)}toJS(){return Fe(this)}entries(){return this.__iterator()}__iterate(t,e){return Kt(this).__iterate(t,e)}__iterator(t){return Kt(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 os(this,e,t)}}hr.isRecord=gt;var Ps=(t)=>t.constructor.displayName||t.constructor.name||"Record";class _h extends Jt{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 Kt=(t)=>new _h(t);hr.getDescriptiveName=Ps;var mu=fh.prototype;function os(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function vu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){mt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var ys=(t,e,r=1)=>{if(mt(r!==0,"Cannot step a Range by 0"),mt(t!==void 0,"You must define a start value when using Range"),mt(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 Cs(t,e,r,s)};class Cs extends wt{_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+nt(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(ce(t,e,this.size))return this;if(t=Tt(t,this.size),e=fe(e,this.size),e<=t)return ys(0,0);return ys(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 W(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return me(this.size)}equals(t){return t instanceof Cs?this._start===t._start&&this._end===t._end&&this._step===t._step:bs(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Hc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new Ne(t,r)};class Ne extends wt{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 ce(t,e,r)?this:new Ne(this._value,fe(e,r)-Tt(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 W(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return me(this.size)}equals(t){return t instanceof Ne?this.size===t.size&&I(this._value,t._value):bs(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Qc=(t,e)=>ah([],e??to,t,"",e?.length>2?[]:void 0,{"":t});function ah(t,e,r,s,i,n){if(typeof r!=="string"&&!P(r)&&(Os(r)||gs(r)||Ln(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,v(r).map((u,o)=>ah(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var to=(t,e)=>j(e)?e.toList():w(e)?e.toMap():e.toSet(),Pe=(t)=>w(t)?t.valueSeq():t;function eo(){b.prototype.toMap=function(){return R(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return D(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return N(Pe(this))},b.prototype.toSet=function(){return M(Pe(this))},b.prototype.toStack=function(){return ie(Pe(this))},b.prototype.toList=function(){return U(Pe(this))},b.prototype.countBy=function(e,r){let s=R().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=w(this),i=(x(this)?D():R()).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)=>Jn(this,n)).asImmutable()},lt.prototype.keySeq=function(){return ys(0,this.size)},ee.prototype.sort=function(e){return D(Ut(this,e))},ee.prototype.sortBy=function(e,r){return D(Ut(this,r,e))},ne.prototype.sort=function(e){return N(Ut(this,e))},ne.prototype.sortBy=function(e,r){return N(Ut(this,r,e))}}var ro="7.0.0",so={version:ro};eo();var{version:Yc}=so;var lh=Symbol("BadValue"),ph=(t)=>t;class X{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,lh);if(h===lh)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 Fs{isValid(t){return!0}getMessage(t){return"Invalid"}}class wh extends Fs{}var io=new wh;class tt extends Fs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var no=new tt((t)=>Number.isInteger(t),()=>"Integer expected"),ho=new tt((t)=>Number.isFinite(t),()=>"Float expected"),uo=new tt((t)=>typeof t==="boolean",()=>"Boolean expected"),oo=new tt((t)=>typeof t==="string",()=>"String expected"),co=new tt((t)=>U.isList(t),()=>"List expected"),fo=new tt((t)=>R.isMap(t),()=>"Map expected"),_o=new tt((t)=>D.isOrderedMap(t),()=>"OrderedMap expected"),ao=new tt((t)=>M.isSet(t),()=>"Set expected"),lo=(t)=>!!t;class ks extends X{constructor(t,e=!1){super("bool",t,uo,lo,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 ur extends X{constructor(t,e=null){super("any",t,io,ph,e)}toDataDef(){let{defaultValue:t}=this;return{type:xs(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var yo=(t)=>t?.toString?.()??"";class Vs extends X{constructor(t,e=""){super("text",t,oo,yo,e)}extendProtoForType(t,e){ei(t,this.name,e,"","length")}}var go=(t)=>Number.isFinite(t)?Math.trunc(t):null;class zh extends X{constructor(t,e=0){super("int",t,no,go,e)}}var po=(t)=>null;class Ns extends X{constructor(t,e=0){super("float",t,ho,po,e)}}var xs=(t)=>t?.constructor?.getMetaClass?.()?.name;class Sh{constructor(t){this.typeName=t}isValid(t){return xs(t)===this.typeName}getMessage(t){let e=xs(t);return`Expected "${this.typeName}", got "${e}"`}}class Oh extends X{constructor(t,e,r){super(t,e,new Sh(t),ph,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var yh=Symbol("NONE");function Gt(t,e,r){ei(t,e,r,bh),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,yh);if(h!==yh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Mh(t,e,`${r}At`)}function Mh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var bh=U(),wo=(t)=>Array.isArray(t)?U(t):null;class ms extends X{constructor(t,e=bh){super("list",t,co,wo,e)}extendProtoForType(t,e){let{name:r}=this;Gt(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 zo=(t)=>R(t);class vs extends X{constructor(t,e=R()){super("map",t,fo,zo,e)}extendProtoForType(t,e){Gt(t,this.name,e)}}var So=(t)=>D(t);class ti extends X{constructor(t,e=D()){super("omap",t,_o,So,e)}extendProtoForType(t,e){Gt(t,this.name,e)}}function ei(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 gh=M(),Oo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class ri extends X{constructor(t,e=gh){super("set",t,ao,Oo,e)}extendProtoForType(t,e){let{name:r}=this;ei(t,r,e,gh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Mh(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 dh(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 qh{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]=dh(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]=dh(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]:hr(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 Oh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var or=new Map,Mo={text:Vs,int:zh,float:Ns,bool:ks,list:ms,map:vs,omap:ti,set:ri,any:ur};function bo(t,{fields:e={},methods:r,statics:s}){let i=new qh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Vs);else if(u==="number")i.addField(n,h,Ns);else if(u==="boolean")i.addField(n,h,ks);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),ms);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),ri);else if(D.isOrderedMap(h))i.addField(n,h,ti);else if(h?.type&&h?.defaultValue!==void 0){let o=Mo[h.type]??ur;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(R.isMap(h)||h?.constructor===Object)i.addField(n,R(h),vs);else{let o=or.get(h?.constructor)??ur;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var qo=(t)=>new Yr(t.name??"Comp",bo(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 Eo=["nid","cid","eid","vid","si","sk"];class si{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??Uo,this.cache=h??new Xr}setNullCache(){this.cache=new Zr}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 Eo)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[_,a]of o(i))if(n.call(t.it,_,a,f)){let l=t.enter(a,{key:_},!0),y=this.renderIt(l,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[a,l]of c(i))if(n.call(t.it,a,l,_)){let y={key:a,value:l},p=`${s}-${a}`,S;if(u)u.call(t.it,y,a,l,_),S=this.cache.get2(t.it,l,p);else S=this.cache.get(l,p);if(S){this.pushEachEntry(f,s,o,a,S);continue}let T=t.enter(l,y,!1),et=this.renderView(r,T);if(this.pushEachEntry(f,s,o,a,et),u)this.cache.set2(t.it,l,p,et);else this.cache.set(l,p,et)}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*jo(t){let e=0;for(let r of t)yield[e++,r]}function*Io(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var cr=new Map,Ao=["si",jo],$o=["sk",Io],Ko=["si",function*(e){}];function Uo(t){return j(t)?Ao:w(t)?$o:cr.get(t?.constructor)??Ko}class Ot{constructor(t=R(),e=U()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new Ot(t,e,this.$)}toJS(){return this.order.toArray().map((t)=>this.items.get(t))}set(t,e){let r=this.items.has(t)?this.order:this.order.push(t);return this._clonish(this.items.set(t,e),r,this.$)}get(t,e=null){return this.items.get(t,e)}_nextFreeKey(){let t=this.$;while(!0){let e=`§${t}§`;if(!this.items.has(e))return[e,t];t+=1}}push(t){let[e,r]=this._nextFreeKey(),s=this.set(e,t);return s.$=r,s}get size(){return this.items.size}delete(t){if(this.items.has(t)){let e=this.order.delete(this.order.indexOf(t));return this._clonish(this.items.delete(t),e)}return this}moveKeyBeforeKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),0)}moveKeyAfterKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),1)}moveKeyIndexToIndex(t,e,r){if(t===-1||e===-1||t===e)return this;let{order:s}=this,i=e+r,n=i<t?t+1:t,h=s.insert(i,s.get(t)).delete(n);return this._clonish(this.items,h)}}var Lo=(t)=>null;class Eh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var Do=new Eh;class jh extends X{constructor(t,e=new Ot){super("KList",t,Do,Lo,e)}extendProtoForType(t,e){Gt(t,this.name,e);let{name:r}=this;Gt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}or.set(Ot,jh);function*Wo(t){for(let e of t.order)yield[e,t.items.get(e)]}cr.set(Ot,["data-sk",Wo]);var ni=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),ze=(t)=>t!==null&&typeof t==="object",Ah=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function $h(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Ro(t,s,r);else if(ni(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(ze(i))To(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Ro(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"||ni(e))t.removeAttribute(e);else t[e]=null}function To(t,e,r,s){let i=e?.[r];if(ze(i)&&Ah(i,s)){t[r]=s;return}if(!ze(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Ht{}var ii=(t)=>t instanceof ar?t.key:void 0,Jo=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function Kh(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function hi(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function ui(t,e){if(e==null)return;if(Jo(e))for(let r of e)ui(t,r);else if(e instanceof Ht)if(e instanceof Mt)t.push(...e.childs);else t.push(e);else t.push(new oi(e))}class oi extends Ht{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof oi&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class _r extends Ht{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof _r&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class Mt extends Ht{constructor(t){super();this.childs=[],ui(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof Mt)||this.childs.length!==t.childs.length)return!1;return Kh(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return hi(e,this.childs,t),e}}class ar extends Ht{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 ar)||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 Kh(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 $h(r,this.attrs,{}),hi(r,this.childs,t),r}}function Uh(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(ze(i)&&ze(n))if(Ah(n,i))r??={},r[s]=n;else{let h=Uh(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 Lh(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=Uh(e.attrs,r.attrs);if(h)$h(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Ih(t,e.childs,r.childs,s);return t}if(i===11)return Ih(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function Ih(t,e,r,s){if(e.length===0){hi(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=ii(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=ii(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&ii(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let a=Lh(i[_],e[_],c,s),l=t.childNodes[o]??null;if(a!==l)t.insertBefore(a,l)}else{let a=t.childNodes[o]??null;t.insertBefore(c.toDom(s),a)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var fr=new WeakMap;function Dh(t,e,r){let s=fr.get(e),i=t instanceof Mt;if(s&&s.vnode instanceof Mt===i){let h=i?e:s.dom,u=Lh(h,s.vnode,t,r);return fr.set(e,{vnode:t,dom:i?e:u}),u}fr.delete(e);let n=t.toDom(r);return e.replaceChildren(n),fr.set(e,{vnode:t,dom:i?e:n}),n}function Wh(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]=ni(o)?String(c):c}}let u=[];return ui(u,r),new ar(s,i,u,n,h)}var{raw:of,raw:cf}=String;function ff(t,e){return new Lr(t,e)}var Zo=(t)=>typeof t==="string"?document.querySelector(t):t;function _f(t){let e=Zo(t),r=new Xe,s=(o)=>new Mt(o),i=(o)=>new _r(o),n={document},h=(o,c)=>Dh(o,c,n),u=new si(r,Wh,s,i,h);return new ts(e,h,r,u,V)}async function Of(t,e,r="margaui-css"){let s=performance.now(),i=await Xo(t,e),n=performance.now();return He(r,i),n-s}async function Xo(t,e,r,s=$t){t.ParseContext=s,t.compile();let i=new Set(r??[]);for(let n of t.comps.byId.values())for(let h in n.views){let u=n.views[h];for(let o of u.ctx.classes)i.add(o)}return await e(Array.from(i))}var Go="RENDER_IT_OUTSIDE_OF_LOOP",Ho="UNKNOWN_EVENT_MODIFIER",Qo="UNKNOWN_HANDLER_ARG_NAME",Yo="INPUT_HANDLER_NOT_IMPLEMENTED",Bo="INPUT_HANDLER_METHOD_NOT_IMPLEMENTED",Po="INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD",Co="INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER",xo="FIELD_VAL_NOT_DEFINED",Fo="COMPUTED_VAL_NOT_DEFINED",ko="UNKNOWN_REQUEST_NAME",Vo="UNKNOWN_COMPONENT_NAME",No="warn",Rh="error",mo="hint";function Af(t,e=new Th){hc(e,t),uc(e,t);for(let r in t.views)vo(e,t.views[r],t);return e}function vo(t,e,r){tc(t,e),rc(t,e),nc(t,e,r)}function tc(t,e){let{nodes:r}=e.ctx;for(let s=0;s<r.length;s++){let i=r[s];if(i instanceof We){let n=r[s+1];if(!(n instanceof Te||n instanceof Vt))t.error(Go,{node:i})}}}var ec={};function rc(t,e){for(let r of e.ctx.events)for(let s of r.handlers){let{name:i,modifiers:n}=s,h=Jr[i]??ec;for(let u of n)if(h[u]===void 0)t.warn(Ho,{name:i,modifier:u,handler:s,event:r})}}var sc=new Set(["value","valueAsInt","valueAsFloat","target","event","isAlt","isShift","isCtrl","isCmd","key","keyCode","isUpKey","isDownKey","isSend","isCancel","isTabKey","ctx","dragInfo"]);function ic(t){return sc.has(t)}function nc(t,e,r){let{computed:s,scope:i,Class:n}=r,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o of e.ctx.events)for(let c of o.handlers){let{args:f}=c.handlerCall;for(let _=0;_<f.length;_++){let a=f[_];bt(t,a,u,h,s,i)}}}function hc(t,e){let{input:r,views:s,Class:i}=e,{prototype:n}=i;for(let h in s){let u=s[h];for(let o of u.ctx.events)for(let c of o.handlers){let{handlerVal:f}=c.handlerCall;if(f instanceof be){if(r[f.name]===void 0){if(t.warn(Yo,{name:f.name,handler:c,event:o}),n[f.name]!==void 0)t.hint(Co,{name:f.name,handler:c,event:o})}}else if(f instanceof Bt){if(n[f.name]===void 0){if(t.warn(Bo,{name:f.name,handler:c,event:o}),r[f.name]!==void 0)t.hint(Po,{name:f.name,handler:c,event:o})}}}}}function bt(t,e,r,s,i,n){if(e instanceof je||e instanceof Bt){let{name:h}=e;if(r[h]===void 0&&s[h]===void 0)t.error(xo,{val:e,name:h})}else if(e instanceof Ie){let{name:h}=e;if(i[h]===void 0)t.error(Fo,{val:e,name:h})}else if(e instanceof Ae)bt(t,e.seqVal,r,s,i,n),bt(t,e.keyVal,r,s,i,n);else if(e instanceof Ee){if(n.lookupRequest(e.name)===null)t.warn(ko,{name:e.name})}else if(e instanceof qe){if(n.lookupComponent(e.name)===null)t.warn(Vo,{name:e.name})}else if(e instanceof k&&!ic(e.name))t.warn(Qo,{name:e.name});else if(!(e instanceof L))console.log(e)}function uc(t,e){let{computed:r,scope:s,views:i,Class:n}=e,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o in i){let c=i[o];for(let f of c.ctx.attrs){let{attrs:_,wrapperAttrs:a,textChild:l}=f;if(_ instanceof Ke){for(let y of _.items)if(y instanceof jt)bt(t,y.val,u,h,r,s)}if(a!==null)for(let{val:y}of a)bt(t,y,u,h,r,s);if(l)bt(t,l,u,h,r,s)}for(let f of c.ctx.nodes)if(f.val)bt(t,f.val,u,h,r,s)}}class Th{constructor(){this.reports=[]}error(t,e){this.report(t,e,Rh)}warn(t,e){this.report(t,e,No)}hint(t,e){this.report(t,e,mo)}report(t,e={},r=Rh){this.reports.push({id:t,info:e,level:r})}}class oc extends V{constructor(t,e,r){super(t,e,r);this.attrs=[]}onAttributes(t,e,r){this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}class Jh extends $t{constructor(...t){super(...t);this.attrs=[]}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new Jh(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f.attrs=this.attrs,f}onAttributes(t,e,r){super.onAttributes(t,e,r),this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}export{Yc as version,Xt as updateIn,Vn as update,_f as tutuca,Cu as setIn,Bu as set,cr as seqInfoByClass,Pu as removeIn,Yu as remove,Jc as mergeWith,Xc as mergeDeepWith,Zc as mergeDeep,Tc as merge,ff as macro,ki as isValueObject,zs as isStack,ws as isSet,ps as isSeq,gt as isRecord,Ln as isPlainObject,In as isOrderedSet,Ss as isOrderedMap,x as isOrdered,Ss as isOMap,er as isMap,jn as isList,w as isKeyed,j as isIndexed,P as isImmutable,er as isIMap,Z as isCollection,ds as isAssociative,I as is,He as injectCss,cf as html,Q as hash,Rn as hasIn,Mu as has,Ms as getIn,Wn as get,Qc as fromJS,or as fieldsByClass,of as css,qo as component,Xo as compileClassesToStyleText,Of as compileClassesToStyle,vo as checkView,Af as checkComponent,ko as UNKNOWN_REQUEST_NAME,Qo as UNKNOWN_HANDLER_ARG_NAME,Ho as UNKNOWN_EVENT_MODIFIER,Vo as UNKNOWN_COMPONENT_NAME,ie as Stack,M as Set,v as Seq,Hc as Repeat,hr as Record,ys as Range,Go as RENDER_IT_OUTSIDE_OF_LOOP,V as ParseContext,Gc as PairSorting,N as OrderedSet,D as OrderedMap,D as OMap,R as Map,U as List,oc as LintParseContext,Th as LintContext,Jh as LintClassCollectorCtx,No as LEVEL_WARN,mo as LEVEL_HINT,Rh as LEVEL_ERROR,Ot as KList,M as ISet,Yo as INPUT_HANDLER_NOT_IMPLEMENTED,Bo as INPUT_HANDLER_METHOD_NOT_IMPLEMENTED,Co as INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER,Po as INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD,R as IMap,xo as FIELD_VAL_NOT_DEFINED,m as Collection,Fo as COMPUTED_VAL_NOT_DEFINED};
1
+ class Yt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class qt extends Yt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new qt({...this.binds,key:t})}withKey(t){return new qt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class Oe extends Yt{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 dr(this.field,t)}withKey(t){return new gr(this.field,t)}}class yr extends Yt{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 gr extends yr{}class dr extends yr{}var J=Symbol("NONE");class wr extends Yt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,J),s=t?.get(this.keyField,J);return s!==J&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,J),s=t?.get(this.keyField,J);return r===J||s===J?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class rt{constructor(t=[]){this.steps=t}concat(t){return new rt(this.steps.concat(t))}popStep(){return new rt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,J),r===J)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,J),s===J)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,J),r===J)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:a,si:l,sk:y}=li(t.previousSibling),{eid:w,cid:S,vid:T}=t.dataset;if(w!==void 0)o.push(w);if(S!==void 0){let et=i.getComponentForId(+S,T);if(_){if(c=Zh(et,o,T,e),c===null&&n)return Gh;_=!1}let _i=Xh(et,f,T);if(_i)h.push(_i);o=[],f=[]}if(a!==void 0)f.push({nid:a,si:l,sk:y})}u+=1,t=t.parentNode}return[new rt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return rt.fromNodeAndEventName(h,n,e,r,s,i)}}var ai={};function li(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=li(t.previousSibling);if(e!==ai)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return ai}function Zh(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 Xh(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 Gh=[null,null];class pr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new Oe(t))}index(t,e){return this.add(new dr(t,e))}key(t,e){return this.add(new gr(t,e))}}var Hh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ct=(t)=>Hh.test(t),Qh=/^-?[0-9]+(\.[0-9]+)?$/,yi=(t,e)=>Sr.parse(t,e),Bt=(t,e)=>new D(t),Yh=(t,e)=>ct(t)?new k(t):null,Bh=(t,e)=>ct(t)?new Ee(t):null,Ph=(t,e)=>ct(t)?new Mr(t):null,Ch=(t,e)=>ct(t)?new pi(t):null,xh=(t,e)=>ct(t)?new je(t):null,Fh=(t,e)=>ct(t)?new Ae(t):null,kh=(t,e)=>ct(t)?new Ie(t):null;class gi{constructor(){this.allowFieldOnly(),this.bindValIt=new Mr("it"),this.nullConstVal=new D(null)}const(t){return new D(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 $e(s,i):null}parse(t,e){switch(Vh(t)){case zi:return this.okStrTpl?yi(t,e):null;case Oi:return this.okStrTpl?Bt(t,e):null;case Si:return this._parseSeqAccess(t,e);case Me:return this.okStrTpl?yi(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?Bt(t.slice(1),e):null;case 39:return this.okStrTpl?Bt(t.slice(1,-1),e):null;case 64:return this.okBind?Ph(t.slice(1),e):null;case 42:return this.okDyn?Ch(t.slice(1),e):null;case 46:return this.okField?xh(t.slice(1),e):null;case 36:return this.okComputed?Fh(t.slice(1),e):null;case 33:return this.okRequest?kh(t.slice(1),e):null}let s=Qh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Bt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Bt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Yh(t,e):null;else if(r>=65&&r<=90)return this.okType?Bh(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,qe)}parseAlter(t,e){return this._parseHandler(t,e,di)}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 be{render(t,e){}eval(t){}toPathItem(){return null}}class D extends be{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 zr extends be{}class Sr extends zr{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)==="}"?d.parseText(h.slice(1,-1),e):new D(h);s[n]=o,i&&=o instanceof D}return i?new D(s.map((n)=>n.val).join("")):new Sr(s)}}class k extends zr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class qe extends k{eval(t){return t.getHandlerFor(this.name,"input")??wi("input",this.name)}}class di extends k{eval(t){return t.getHandlerFor(this.name,"alter")??wi("alter",this.name)}}var wi=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class Ee extends k{eval(t){return t.lookupType(this.name)}}class Ie extends k{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class Pt extends k{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class Or extends be{render(t,e){return this.eval(t)}}class Ct extends Or{constructor(t){super();this.name=t}}class Mr extends Ct{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class pi extends Ct{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class je extends Ct{eval(t){return t.lookupField(this.name)}toPathItem(){return new Oe(this.name)}toRawFieldVal(){return new Pt(this.name)}toString(){return`.${this.name}`}}class Ae extends Ct{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class $e extends Or{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new wr(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 zi=0,Si=1,Me=2,Oi=3;function Vh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return Me;e+=1;break;case 93:if(r>0||e===0)return Me;r+=1;break;case 123:return zi;case 125:return Oi}if(e>0||r>0)return e===1&&r===1?Si:Me;return-1}var d=new gi;class Et{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return Ir(e).parse(t,r)}isConstant(){return!1}}var Nh="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",mh=new Set(Nh.split(","));class Mi{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?d.parseAll(e,this.px):d.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new It(t,s)),this.hasDynamic||=!(s instanceof D)}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=d.parseCondValue(e,this.px);if(r)this.ifAttr=new qi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=d.parseAttr(t,this.px)??xt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=d.parseAttr(t,this.px)??xt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=jr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new Ke("data-eid",d.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new bi(d.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,d.const(t));return;case"push-view":this.pushWrapper("push-view",t,d.parseText(t,this.px));return;case"text":this.textChild=d.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,d.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,d.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,d.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=d.parseAlter(t,this.px);else this.pushWrapper("scope",t,d.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=d.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=d.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===""&&mh.has(n)?!0:h;this.attrs.push(new Ke(n,d.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new Ue(r):qr.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class qr extends Et{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new qr(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 Ue extends Et{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 Ke(t,new D(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class Er{constructor(t){this.name=t}}class It extends Er{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class Ke extends It{}class bi extends It{constructor(t){super("dangerouslySetInnerHTML",t??d.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var xt=d.nullConstVal;class qi extends Er{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 br=null;function Ir(t){return br??=new Mi(t),br.clear(t),br}class jr{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=d.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);d.allowHandlerArg();for(let h=0;h<s.length;h++){let u=d.parse(s[h],e);n[h]=u!==null?u:d.nullConstVal}return new jr(i,n)}}class Ar{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 jt{render(t,e){return null}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class Vt extends jt{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 kt extends Vt{render(t,e){return e.renderComment(this.val)}}function vh(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 Ur(t){if(t.isConstant())return new Wr(t);return t.optimize(),t}class Dr extends jt{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){vh(this.childs)}}class De extends Dr{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 Le extends Dr{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 Ft=(t)=>t.length===1?t[0]:new Le(t),tu=/^[a-zA-Z][a-zA-Z0-9-]*$/,Ei=null;class st extends jt{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){Ei??=e.newDOMParser();let r=Ei.parseFromString(t,"text/html").body.childNodes;return st.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Vt(t.textContent);else if(e.isCommentNode(t))return new kt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=st.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Ft(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Te(null,d.const(u),Ft(n));case"text":{let c=d.parseText(u,e);return c!==null?new Kr(null,c):null}case"render":return e.addNodeIf(Di,d.parseRender(u,e),o);case"render-it":return e.addNodeIf(Re,d.bindValIt,o);case"render-each":return Nt.parse(e,d,u,o,s);case"show":return e.addNodeIf(Rr,d.parseCondValue(u,e),Ft(n));case"hide":return e.addNodeIf(Tr,d.parseCondValue(u,e),Ft(n))}return new kt(`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]??Ft(n)}let[u,o]=Et.parse(s,e,!0);return e.onAttributes(u,o,null),Ii(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(tu.test(i)){let[h,u,o]=Et.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new Kr(null,o));let c=i!=="PRE"?nu(n):n;return Ii(new De(i.toLowerCase(),h,c),e,u)}return new kt(`Error: InvalidTagName ${i}`)}}function Ii(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=eu(r[s],e);if(i)i.wrapNode(t),t=i}return t}function eu(t,e){let r=iu[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 Ui extends jt{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 kt(`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=Ur(this.node)}}class Lr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return st.parse(this.rawView,t)}}class We extends st{constructor(t,e,r){super(t,e);this.viewId=r}}class Di extends We{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Re extends We{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class Nt extends We{constructor(t,e,r){super(t,e,r);this.iterInfo=new Jr(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(Nt,e.parseEach(r,t),s);if(n!==null){let h=Ir(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 Kr extends st{render(t,e){return this.val.eval(t)}}class Wr extends jt{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 ft extends st{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=Ur(this.node)}static register=!1}class Rr extends ft{render(t,e){return this.val.eval(t)?this.node.render(t,e):null}}class Tr extends ft{render(t,e){return this.val.eval(t)?null:this.node.render(t,e)}}class Li extends ft{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Te extends ft{optimize(){this.node.optimize()}}class Wi extends ft{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 qt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Je extends ft{constructor(t,e){super(t,e);this.iterInfo=new Jr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new qt({})}static register=!0}class Jr{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)??ru,s=this.loopWithVal?.eval(t)??su,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var ru=(t,e,r)=>!0,su=(t)=>({seq:t}),iu={slot:Te,show:Rr,hide:Tr,each:Je,scope:Wi,"push-view":Li};class V{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 V(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 Ri(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Le(s)};for(let h of r)if(h instanceof Te)i[h.val.val]=h.node;else if(!(h instanceof Vt)||!h.isWhiteSpace())s.push(h);let n=new Ui(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 Vt&&t.isWhiteSpace(),ji=(t)=>t instanceof De||t instanceof Le&&t.childs[0]instanceof De;function nu(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)&&ji(t[i-1])&&ji(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class Ze{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=st.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=Ur(this.anode)}render(t,e){return this.anode.render(t,e)}}class Ri{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Ti(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 Ti{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=fu(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 hu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Xe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,Ai=(t)=>Xe((e)=>e.e.key===t),$i=Xe(({e:t})=>hu&&t.metaKey||t.ctrlKey),uu=Xe(({e:t})=>t.metaKey),ou=Xe(({e:t})=>t.altKey),Ki={ctrl:$i,cmd:$i,meta:uu,alt:ou},Zr={keydown:{send:Ai("Enter"),cancel:Ai("Escape"),...Ki},click:{...Ki}},cu=(t,e)=>t;function fu(t,e){if(e.length===0)return cu;let r=Zr[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 Xr{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 Gr{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 Hr{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 Ge{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new Qr}setNullComputedCache(){this.computedCache=new Hr}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:Zi}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 He{constructor(t=new Ge,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new He(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 Ar(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 Yr{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 Ji extends Yr{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 At=(t)=>typeof t==="string",_u=0;class Br{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},a={},l={},y={}){this.id=_u++,this.name=t,this.Class=e,this.views={main:new Ze("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=a,this.on={stackEnter:y?.stackEnter??Zi};for(let w in s){let S=s[w],{view:T,style:et}=At(S)?{view:S}:S;this.views[w]=new Ze(w,T,et)}this._rawDynamic=l,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(At(r)){let s=d.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Yr(e,s,Symbol(e))}else if(At(r?.default)&&At(r?.for)){let s=d.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(At(i)&&At(n))this.dynamic[e]=new Ji(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 Zi(t){return t}var Xi=Symbol("STOP"),xr=Symbol("NEXT");class mt{constructor(t,e){this.head=t,this.tail=e}push(t){return new mt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Xi?e:s===xr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Pr{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?Xi:xr:e}}class Cr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?xr: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 mt(new Pr(e,{it:e},!0),null),i=new mt(new Cr({}),null),n=new mt("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 Pr(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 Cr(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 Hi{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 Hi(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 mr(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 Bi(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)??au(e),o=s?.onResName??e,c=(f,_,a,l,y)=>{let S=new Yi(t,this,f??_,f?[a]:[l,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 Qi(t,e,r,this,s))}}function au(t){return()=>{throw Error(`Request not found: ${t}`)}}function lu(){return this}class Vr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Pi,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 yu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Gi=(t)=>Number.isNaN(t)?null:t;function Fr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Qi extends Vr{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 vr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Fr(e);case"valueAsInt":return Gi(parseInt(Fr(e),10));case"valueAsFloat":return Gi(parseFloat(Fr(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 yu&&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 ts(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Nr extends Vr{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]??lu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new ts(this.path,this.transactor,this)]]}}class Yi extends Nr{handlerProp="response"}class mr extends Nr{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 Bi extends mr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Pi{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 vr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Ci(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 ts extends vr{stopPropagation(){return this.parent.stopPropagation()}}class Ci extends pr{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 rs=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),vt=(t)=>t!==null&&typeof t==="object",Fi=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function ki(t,e,r){for(let s in e){let i=e[s];if(i===void 0)gu(t,s,r);else if(rs(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(vt(i))du(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function gu(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"||rs(e))t.removeAttribute(e);else t[e]=null}function du(t,e,r,s){let i=e?.[r];if(vt(i)&&Fi(i,s)){t[r]=s;return}if(!vt(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class $t{}var es=(t)=>t instanceof Ye?t.key:void 0,wu=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function Vi(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function ss(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function is(t,e){if(e==null)return;if(wu(e))for(let r of e)is(t,r);else if(e instanceof $t)if(e instanceof it)t.push(...e.childs);else t.push(e);else t.push(new ns(e))}class ns extends $t{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof ns&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Kt extends $t{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Kt&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class it extends $t{constructor(t){super();this.childs=[],is(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof it)||this.childs.length!==t.childs.length)return!1;return Vi(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return ss(e,this.childs,t),e}}class Ye extends $t{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 Ye)||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 Vi(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 ki(r,this.attrs,{}),ss(r,this.childs,t),r}}function Ni(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(vt(i)&&vt(n))if(Fi(n,i))r??={},r[s]=n;else{let h=Ni(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 mi(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=Ni(e.attrs,r.attrs);if(h)ki(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){ss(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=es(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=es(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&es(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let a=mi(i[_],e[_],c,s),l=t.childNodes[o]??null;if(a!==l)t.insertBefore(a,l)}else{let a=t.childNodes[o]??null;t.insertBefore(c.toDom(s),a)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var Qe=new WeakMap;function Be(t,e,r){let s=Qe.get(e),i=t instanceof it;if(s&&s.vnode instanceof it===i){let h=i?e:s.dom,u=mi(h,s.vnode,t,r);return Qe.set(e,{vnode:t,dom:i?e:u}),u}Qe.delete(e);let n=t.toDom(r);return e.replaceChildren(n),Qe.set(e,{vnode:t,dom:i?e:n}),n}function hs(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]=rs(o)?String(c):c}}let u=[];return is(u,r),new Ye(s,i,u,n,h)}class us{constructor(t,e,r,s){this.rootNode=t,this.comps=e,this.compStack=new He(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]=rt.fromEvent(t,i,n,h,u);if(r){let f=pu(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),a=t.target.dataset.dragtype??"?",l=o.buildStack(this.makeStack(f));this.dragInfo=new vi(o,l,t,_,a,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 Be(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()}),Pe("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 rt([]),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 Pe(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 pu(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 vi{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)}}class Ut extends V{constructor(...t){super(...t);this.classes=new Set}_addClasses(t){for(let e of t.split(/\s+/))this.classes.add(e)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new Ut(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f}onAttributes(t,e,r){if(Array.isArray(t.items))for(let s of t.items){if(s.name!=="class")continue;let{val:i,thenVal:n,elseVal:h}=s;if(n!==void 0)this._maybeAddVal(n),this._maybeAddVal(h);else this._maybeAddVal(i)}else{let s=t.items.class;if(s)this._addClasses(s)}}_maybeAddVal(t){if(!this._maybeAddStrTpl(t)&&typeof t?.val==="string")this._addClasses(t.val)}_maybeAddStrTpl(t){if(t?.vals!==void 0){for(let e of t.vals)if(e instanceof D&&e.val!=="")this._addClasses(e.val);return!0}return!1}}function te(t,e){if(!t)throw Error(e)}function A(t){te(t!==1/0,"Cannot perform this action with an infinite size.")}function tn(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 zu=(t,e)=>e,Su=(t,e)=>[e,t],os=(t)=>function(...e){return!t.apply(this,e)},en=(t)=>function(...e){return-t.apply(this,e)};function Mn(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 rn=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class bn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function W(t){return new bn(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return W(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var Ou=W(()=>$),_t=()=>Ou;function rr(t){let e=0,r={done:!1,value:void 0};return W(()=>{if(e===t)return $;return r.value=e++,r})}function ce(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 Ms(t){if(Array.isArray(t))return!0;return!!sr(t)}var Mu=(t)=>typeof t?.next==="function";function qn(t){return sr(t)?.call(t)}function sr(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function bu(t){let e=sr(t);return e&&e===t.entries}function qu(t){let e=sr(t);return e&&e===t.keys}var fe="delete",z=5,E=1<<z,K=E-1,g={},ds=()=>({value:!1});function G(t){if(t)t.value=!0}class ir{}function Wt(t){if(t.size===void 0)t.size=t.__iterate(En);return t.size}function ht(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?Wt(t)+e:e}var En=()=>!0,In=(t)=>t<0||Object.is(t,-0),_e=(t,e,r)=>(t===0&&!In(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),jn=(t,e,r)=>t===void 0?r:In(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Zt=(t,e)=>jn(t,e,0),ae=(t,e)=>jn(t,e,e),An="@@__IMMUTABLE_ITERABLE__@@",Ve="@@__IMMUTABLE_KEYED__@@",Ne="@@__IMMUTABLE_INDEXED__@@",ut="@@__IMMUTABLE_ORDERED__@@",le="@@__IMMUTABLE_SEQ__@@",$n="@@__IMMUTABLE_LIST__@@",Kn="@@__IMMUTABLE_MAP__@@",Un="@@__IMMUTABLE_SET__@@",Dn="@@__IMMUTABLE_STACK__@@",Ln="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var Z=(t)=>F(t,An),p=(t)=>F(t,Ve),I=(t)=>F(t,Ne),bs=(t)=>p(t)||I(t),x=(t)=>F(t,ut),qs=(t)=>F(t,le),Wn=(t)=>F(t,$n),nr=(t)=>F(t,Kn),Es=(t)=>F(t,Un),Is=(t)=>F(t,Dn),dt=(t)=>F(t,Ln),P=(t)=>Z(t)||dt(t),js=(t)=>nr(t)&&x(t),Rn=(t)=>Es(t)&&x(t),sn=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function Tn(t){let e=C(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=Gt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>ce(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function Jn(t,e,r){let s=C(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)=>ce(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function Zn(t,e){let r=C(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=Tn(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=Gt,r.__iterate=function(s,i){let n=0;if(i)Wt(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)Wt(t);let n=this.size;return ce(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function Xn(t,e,r,s){let i=t.size;if(_e(e,r,i))return t;if(i===void 0&&(e<0||r<0))return Xn(t.toSeq().cacheResult(),e,r,s);let n=Zt(e,i),u=ae(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=C(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&qs(t)&&o>=0)c.get=function(f,_){return f=ht(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 a=0,l=0;return t.__iterate((y,w)=>{if(a<n){a++;return}if(o!==void 0&&l>=o)return!1;if(l++,f(y,s?w:l-1,this)===!1)return!1},_),l},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return _t();let _=t.__iterator(f),a=0,l=0;if(s)return W(()=>{while(a<n)a++,_.next();if(o!==void 0&&l>=o)return $;let y=_.next();if(y.done)return y;return l++,y});return q((y)=>{while(a<n)a++,_.next();if(o!==void 0&&l>=o)return!1;let w=_.next();if(w.done)return!1;return l++,y[0]=l-1,y[1]=w.value[1],!0})},c}function Lt(t,e,r){if(!e)e=Mn;let s=p(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?Ls(n):I(t)?gt(n):re(n)}function Ce(t,e,r){if(!e)e=Mn;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>nn(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>nn(e,s,i)?i:s)}function nn(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function cs(t,e,r,s){let i=C(t),n=new ye(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 a=m(_);return qn(h?a.reverse():a)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{let a=s;for(let l=0;l<u.length;l++)c[l]=u[l].next(),a=s?a&&c[l].done:a||c[l].done;if(a)return!1;for(let l=0;l<c.length;l++)f[l]=c[l].value;return _[0]=o++,_[1]=e(...f),!0})},i}function As(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 Gn(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 ot=(t)=>typeof t==="object"&&(P(t)||Array.isArray(t)||Gn(t));function Hn(t){if(As(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var Eu=(t,e)=>P(t)?t.has(e):ot(t)&&Object.hasOwn(t,e);function Qn(t,e,r){return P(t)?t.get(e,r):!Eu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function $s(t,e,r){let s=Hn(e),i=0;while(i!==s.length)if(t=Qn(t,s[i++],g),t===g)return r;return t}var Yn=(t,e)=>$s(t,e,g)!==g;function j(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!!(sn(t)&&sn(e)&&t.equals(e))}function me(t){if(!t||typeof t!=="object")return t;if(!Z(t)){if(!ot(t))return t;t=v(t)}if(p(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=me(s)}),r}let e=[];return t.__iterate((r)=>{e.push(me(r))}),e}function Ks(t,e){if(t===e)return!0;if(!Z(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||p(t)!==p(e)||I(t)!==I(e)||x(t)!==x(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!bs(t);if(x(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&j(c[1],u)&&(r||j(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?!j(h,t.get(u,g)):!j(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var hr=(t)=>t>>>1&1073741824|t&3221225471;function Q(t){if(t===null||t===void 0)return hn(t);if(typeof t.hashCode==="function")return hr(t.hashCode(t));let e=Ku(t);if(e===null||e===void 0)return hn(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return Iu(e);case"string":return e.length>Uu?ju(e):ws(e);case"object":case"function":return $u(e);case"symbol":return Au(e);default:if(typeof e.toString==="function")return ws(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var hn=(t)=>t===null?1108378658:1108378659;function Iu(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 hr(e)}function ju(t){let e=as[t];if(e===void 0){if(e=ws(t),_s===Du)_s=0,as={};_s++,as[t]=e}return e}function ws(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return hr(e)}function Au(t){let e=on[t];if(e!==void 0)return e;return e=Bn(),on[t]=e,e}function $u(t){let e=un.get(t);if(e!==void 0)return e;return e=Bn(),un.set(t,e),e}var Ku=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Bn(){let t=++fs;if(fs&1073741824)fs=0;return t}var un=new WeakMap,on=Object.create(null),fs=0,Uu=16,Du=255,_s=0,as={};function Lu(t){if(t.size===1/0)return 0;let e=x(t),r=p(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+cn(Q(i),Q(n))|0}:(i,n)=>{s=s+cn(Q(i),Q(n))|0}:e?(i)=>{s=31*s+Q(i)|0}:(i)=>{s=s+Q(i)|0}),Wu(t.size,s)}var cn=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Wu(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=hr(e^e>>>16),e}function ee(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:qs(t)?e:t.create?t.create(e):t.constructor(e),Pn=(t,e)=>O(t,(p(t)?Y:I(t)?wt:pt)(e)),fn=(...t)=>t,m=(t)=>Z(t)?t:v(t);class b{size=0;static{this.prototype[An]=!0,this.prototype.__toStringMapper=ee,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return Ks(this,t)}hashCode(){return this.__hash??(this.__hash=Lu(this))}toArray(){A(this.size);let t=Array(this.size||0),e=p(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Vn(this)}toJS(){return me(this)}toKeyedSeq(){return new Zs(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 Nn(this)}toSeq(){return I(this)?this.toIndexedSeq():p(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=p(this),r=[this,...t].map((s)=>{if(!Z(s))s=e?xn(s):Fn(Array.isArray(s)?s:[s]);else if(e)s=Y(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&&p(s)||I(this)&&I(s))return s}return O(this,new kn(r))}includes(t){return this.some((e)=>j(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=p(this),i=C(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=p(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Pn(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 W(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return O(this,Jn(this,t,e))}reduce(t,e=g,r){return tn(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return tn(this,t,e,r,e===g,!0)}reverse(){return O(this,Zn(this,p(this)))}slice(t,e){return O(this,Xn(this,t,e,p(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,Lt(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return W(()=>{let r=t.next();if(r.done)return $;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 Wt(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 ye(t._cache);let e=t.toSeq().map(Su).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(os(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(En,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(p(this)?Y:I(this)?wt:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=p(this),s=C(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((_,a)=>{if((!t||f<t)&&Z(_))o(_,f+1);else if(h++,i(_,r?a: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)&&Z(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 mn(this)}get(t,e){return this.find((r,s)=>j(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 Yn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:m(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:m(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>j(e,t))}keySeq(){return this.toSeq().map(zu).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Ce(this,t)}maxBy(t,e){return Ce(this,e,t)}min(t){return Ce(this,t?en(t):rn)}minBy(t,e){return Ce(this,e?en(e):rn,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=p(this),i=C(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 a=_.value[0],l=_.value[1];if(c&&t.call(e,l,a,o))continue;return c=!1,f[0]=s?a:u++,f[1]=l,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(os(t),e)}sortBy(t,e){return O(this,Lt(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=C(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 W(()=>{if(u)return $;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,$;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(os(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 Y=(t)=>p(t)?t:Ls(t);class Us extends b{static{this.prototype[Ve]=!0,this.prototype.__toStringMapper=(t,e)=>`${ee(e)}: ${ee(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,Tn(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 wt=(t)=>I(t)?t:gt(t);class yt extends b{static{this.prototype[Ne]=!0,this.prototype[ut]=!0}toKeyedSeq(){return new Zs(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=Zt(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=ht(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=ht(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=C(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=cs(this.toSeq(),gt.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(fn,...t)}zipAll(...t){let e=[this,...t];return O(this,cs(this,fn,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,cs(this,t,r))}}var pt=(t)=>Z(t)&&!bs(t)?t:re(t);class ur extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=ur.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}m.Keyed=Y;m.Indexed=wt;m.Set=pt;var ls=yt.prototype,v=(t)=>t===void 0||t===null?Ts():P(t)?t.toSeq():Ru(t),C=(t)=>Object.create((p(t)?Xt:I(t)?zt:Ws).prototype);class at extends b{static{this.prototype[le]=!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 W(()=>{if(s===r)return $;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var Ds={cacheResult:at.prototype.cacheResult,__iterateUncached:at.prototype.__iterateUncached,__iterate:at.prototype.__iterate,__iterator:at.prototype.__iterator},Ls=(t)=>t===void 0||t===null?Ts().toKeyedSeq():Z(t)?p(t)?t.toSeq():t.fromEntrySeq():dt(t)?t.toSeq():xn(t);class Xt extends Us{static{this.prototype[le]=!0,Object.assign(this.prototype,Ds)}toSeq(){return this}toKeyedSeq(){return this}}var gt=(t)=>t===void 0||t===null?Ts():Z(t)?p(t)?t.entrySeq():t.toIndexedSeq():dt(t)?t.toSeq().entrySeq():Fn(t);gt.of=(...t)=>gt(t);class zt extends yt{static{this.prototype[le]=!0,Object.assign(this.prototype,Ds)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var re=(t)=>(Z(t)&&!bs(t)?t:gt(t)).toSetSeq();re.of=(...t)=>re(t);class Ws extends ur{static{this.prototype[le]=!0,Object.assign(this.prototype,Ds)}toSeq(){return this}toSetSeq(){return this}}v.isSeq=qs;v.Keyed=Ls;v.Set=re;v.Indexed=gt;class ye extends zt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[ht(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 Rs extends Xt{static{this.prototype[ut]=!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 Cn extends zt{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=qn(e);if(!Mu(r))return _t();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 Ts=()=>new ye([]),Js=(t)=>As(t)?new ye(t):Ms(t)?new Cn(t):void 0;function xn(t){let e=Js(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new Rs(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Fn(t){let e=Js(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function Ru(t){let e=Js(t);if(e)return bu(t)?e.fromEntrySeq():qu(t)?e.toSetSeq():e;if(typeof t==="object")return new Rs(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class kn extends at{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[Ve])this[Ve]=!0;if(i[Ne])this[Ne]=!0;if(i[ut])this[ut]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!p(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 _t();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!p(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 W(()=>n()||$)}}class Zs extends Xt{static{this.prototype[ut]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Gt.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=Zn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=Jn(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 Vn extends zt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Gt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)Wt(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)Wt(this);let r=this.size;return ce(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Nn extends Ws{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Gt.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 ce(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class mn extends Xt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Gt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){_n(s),r++;let i=Z(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){_n(i);let n=Z(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Gt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return at.prototype.cacheResult.call(this)}function _n(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var R=(t)=>t===void 0||t===null?B():nr(t)&&!x(t)?t:B().withMutations((e)=>{let r=Y(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class se extends Us{static{Ot(this,{asImmutable:we,asMutable:pe,deleteIn:Rt,merge:ps,mergeWith:nh,mergeDeep:uh,mergeDeepWith:oh,mergeDeepIn:ks,mergeIn:Fs,setIn:Ps,update:Cs,updateIn:xs,wasAltered:Bs,withMutations:ze,removeIn:Rt,concat:ps,[Kn]:!0,[fe]: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 R(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,Q(t),t,e):e}set(t,e){return ln(this,t,e)}remove(t){return ln(this,t,g)}deleteAll(t){let e=m(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 B()}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 _t();return xe(this._root,!1,0)}values(){if(!this._root)return _t();return xe(this._root,!1,1)}entries(){if(!this._root)return _t();return xe(this._root,!1)}__iterator(t){if(!this._root)return _t();return xe(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 B();return this.__ownerID=t,this.__altered=!1,this}return Hs(this.size,this._root,t,this.__hash)}}R.isMap=nr;class Xs{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return vn(this.entries,r,s)}iterate(t,e){return th(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(j(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(G(h),u||!_)G(n);if(u&&f===1)return;if(!_&&!u&&f>=Hu)return Tu(t,o,s,i);let a=t&&t===this.ownerID,l=a?o:o.slice();if(_)if(u)if(c===f-1)l.pop();else l[c]=l.pop();else l[c]=[s,i];else l.push([s,i]);if(a)return this.entries=l,this;return new Xs(t,l)}}class or{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return eh(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&K),n=this.bitmap;return(n&i)===0?s:this.nodes[gn(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&K,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=gn(c&o-1),a=this.nodes,l=f?a[_]:void 0,y=Qs(l,t,e+z,r,s,i,n,h);if(y===l)return this;if(!f&&y&&a.length>=Qu)return Zu(t,a,c,u,y);if(f&&!y&&a.length===2&&yn(a[_^1]))return a[_^1];if(f&&y&&a.length===1&&yn(y))return y;let w=t&&t===this.ownerID,S=f?y?c:c^o:c|o,T=f?y?rh(a,_,y,w):Gu(a,_,w):Xu(a,_,y,w);if(w)return this.bitmap=S,this.nodes=T,this;return new or(t,S,T)}}class Gs{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return eh(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&K,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)&K,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 a=this.count;if(!f)a++;else if(!_){if(a--,a<Yu)return Ju(t,c,a,u)}let l=t&&t===this.ownerID,y=rh(c,u,_,l);if(l)return this.count=a,this.nodes=y,this;return new Gs(t,a,y)}}class cr{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return vn(this.entries,r,s)}iterate(t,e){return th(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return G(h),G(n),Ys(this,t,e,r,[s,i])}let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(j(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(G(h),u||!_)G(n);if(u&&f===2)return new St(t,this.keyHash,o[c^1]);let a=t&&t===this.ownerID,l=a?o:o.slice();if(_)if(u)if(c===f-1)l.pop();else l[c]=l.pop();else l[c]=[s,i];else l.push([s,i]);if(a)return this.entries=l,this;return new cr(t,this.keyHash,l)}}class St{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 j(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=j(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(G(h),u){G(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new St(t,this.keyHash,[s,i])}return G(n),Ys(this,t,e,Q(s),[s,i])}}function vn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(j(e,t[s][0]))return t[s][1];return r}function th(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 eh(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 xe(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 W(()=>{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 $})}var Hs=(t,e,r,s)=>new se(t,e,r,s),an,B=()=>an||(an=Hs(0));function ln(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new Xs(t.__ownerID,[[e,r]])}else{let n=ds(),h=ds();if(s=Qs(t._root,t.__ownerID,0,Q(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?Hs(i,s):B()}function Qs(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return G(u),G(h),new St(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var yn=(t)=>t.constructor===St||t.constructor===cr;function Ys(t,e,r,s,i){if(t.keyHash===s)return new cr(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&K,h=(r===0?s:s>>>r)&K,u=new St(e,s,i),o=n===h?[Ys(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new or(e,1<<n|1<<h,o)}function Tu(t,e,r,s){if(!t)t=new ir;let i=new St(t,Q(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,Q(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 or(t,i,h)}function Zu(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 gn(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 rh(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Xu(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 Gu(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 Hu=E/4,Qu=E/2,Yu=E/4;function ve(t){if(Array.isArray(t))return t.slice();return{...t}}var Zc=(t,...e)=>de(t,e),Xc=(t,e,...r)=>de(e,r,t),ge=(t,e,r)=>de(t,e,Bu(r)),Gc=(t,...e)=>ge(t,e),Hc=(t,e,...r)=>ge(e,r,t);function de(t,e,r){if(!ot(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(P(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?wt:Y,h=s?(u)=>{if(i===t)i=ve(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=ve(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Bu(t){function e(r,s,i){return ot(r)&&ot(s)&&Pu(r,s)?de(r,[s],e):t?t(r,s,i):s}return e}function Pu(t,e){let r=v(t),s=v(e);return I(r)===I(s)&&p(r)===p(s)}function Cu(t,e){if(!ot(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=ve(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function xu(t,e,r){if(!ot(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(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=ve(t);return s[e]=r,s}function Ht(t,e,r,s){if(!s)s=r,r=void 0;let i=sh(P(t),t,Hn(e),0,r,s);return i===g?r:i}function sh(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,a=n(_);return a===_?e:a}if(!h&&!ot(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(ee)}]: ${e}`);let u=r[s],o=h?g:Qn(e,u,g),c=sh(o===g?t:P(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Cu(e,u);let f=h?t?B():{}:e;return xu(f,u,c)}var Fu=(t,e)=>Ht(t,e,()=>g),ku=(t,e,r)=>Ht(t,e,g,()=>r);function ih(t,e,r,s){return Ht(t,[e],r,s)}function we(){return this.__ensureOwner()}function pe(){return this.__ownerID?this:this.__ensureOwner(new ir)}function Bs(){return this.__altered}function ze(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Vu(t,e){return $s(this,t,e)}function Nu(t){return Yn(this,t)}function Rt(t){return Fu(this,t)}function Ps(t,e){return ku(this,t,e)}function Cs(t,e,r){return typeof t==="function"?t(this):ih(this,t,e,r)}function xs(t,e,r){return Ht(this,t,e,r)}function dn(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function ps(...t){return hh(this,t)}function nh(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return hh(this,e,t)}function hh(t,e,r){let s=[];for(let i of e){let n=Y(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 dt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{ih(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 uh(...t){return ge(this,t)}function oh(t,...e){return ge(this,e,t)}function Fs(t,...e){return Ht(this,t,B(),(r)=>de(r,e))}function ks(t,...e){return Ht(this,t,B(),(r)=>ge(r,e))}function Ot(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=ie();if(t===void 0||t===null)return e;if(Wn(t))return t;let r=wt(t),s=r.size;if(s===0)return e;if(A(s),s>0&&s<E)return Se(0,s,z,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};U.of=(...t)=>U(t);class ch extends yt{static{Ot(this,{asImmutable:we,asMutable:pe,deleteIn:Rt,mergeDeepIn:ks,mergeIn:Fs,setIn:Ps,update:Cs,updateIn:xs,wasAltered:Bs,withMutations:ze,removeIn:Rt,[$n]:!0,[fe]: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 U(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=ht(this,t),t>=0&&t<this.size)return t+=this._origin,ah(this,t)?.array[t&K];return e}set(t,e){return vu(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 ie()}push(...t){let e=this.size;return this.withMutations((r)=>{nt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return nt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{nt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return nt(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=wt(typeof r!=="string"&&Ms(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 U(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return nt(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(_e(t,e,r))return this;return nt(this,Zt(t,r),ae(e,r))}__iterate(t,e){let r=e?this.size:0;return mu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=wn(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 wn(this,!1)}keys(){return rr(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return ie();return this.__ownerID=t,this.__altered=!1,this}return Se(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=Wn;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&K;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=Tt(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&K;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=Tt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function wn(t,e){let{_origin:r,_capacity:s}=t,i=Jt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return W(()=>{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],a=c.level-z,l=c.offset+(f<<c.level);o(_,a,l)}return $});function o(c,f,_){if(f===0){let a=_===i?n?.array:c?.array,l=_>r?0:r-_,y=s-_;if(y>E)y=E;if(l!==y)h.push({array:a,from:l,to:y,isLeaf:!0})}else{let a=c?.array,l=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(l!==y)h.push({array:a,from:l,to:y,level:f,offset:_,isLeaf:!1})}}}function mu(t,e,r){let{_origin:s,_capacity:i}=t,n=Jt(i),h=t._tail,u=t._level,o=t._root;return u===0?fh(o,0,s,i,n,h,e,r):_h(o,u,0,s,i,n,h,e,r)}function fh(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 _h(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 a=e-z;while(f!==_){let l=o?--_:f++,y=r+(l<<e);if((a===0?fh(c?.[l],y,s,i,n,h,u,o):_h(c?.[l],a,y,s,i,n,h,u,o))===!1)return!1}}var Se=(t,e,r,s,i,n,h)=>new ch(t,e,r,s,i,n,h),ie=()=>Se(0,0,z);function vu(t,e,r){if(e=ht(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)nt(h,e).set(0,r);else nt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=ds();if(e>=Jt(t._capacity))s=zs(s,t.__ownerID,0,e,r,n);else i=zs(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 Se(t._origin,t._capacity,t._level,i,s)}function zs(t,e,r,s,i,n){let h=s>>>r&K,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t?.array[h],f=zs(c,e,r-z,s,i,n);if(f===c)return t;return o=Tt(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)G(n);if(o=Tt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Tt(t,e){if(e&&e===t?.ownerID)return t;return new lt(t?.array.slice()??[],e)}function ah(t,e){if(e>=Jt(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&K],s-=z;return r}}function nt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new ir,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 _=Jt(n),a=Jt(u);while(a>=1<<o+z)c=new lt(c?.array.length?[c]:[],s),o+=z;let l=t._tail,y=a<_?ah(t,u-1):a>_?new lt([],s):l;if(l&&a>_&&h<n&&l.array.length){c=Tt(c,s);let w=c;for(let S=o;S>z;S-=z){let T=_>>>S&K;w=w.array[T]=Tt(w.array[T],s)}w.array[_>>>z&K]=l}if(u<n)y=y?.removeAfter(s,0,u);if(h>=a)h-=a,u-=a,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||a<_){f=0;while(c){let w=h>>>o&K;if(w!==a>>>o&K)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&&a<_)c=c.removeAfter(s,o,a-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 Se(h,u,o,c,y)}var Jt=(t)=>t<E?0:t-1>>>z<<z,L=(t)=>t===void 0||t===null?ne():js(t)?t:ne().withMutations((e)=>{let r=Y(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});L.of=(...t)=>L(t);class lh extends se{static{Ot(this,{[ut]:!0,[fe]: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 L(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 ne()}set(t,e){return pn(this,t,e)}remove(t){return pn(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 ne();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Vs(e,r,t,this.__hash)}}L.isOrderedMap=js;var Vs=(t,e,r,s)=>new lh(t,e,r,s),ne=()=>Vs(B(),ie());function pn(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=ie().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=B().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 Vs(u,o)}var he=(t)=>t===void 0||t===null?tr():Is(t)?t:tr().pushAll(t);he.of=(...t)=>he(t);class yh extends yt{static{Ot(this,{asImmutable:we,asMutable:pe,wasAltered:Bs,withMutations:ze,[Dn]:!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 he(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=ht(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 ys(this,e,r)}pushAll(t){if(t=wt(t),t.size===0)return this;if(this.size===0&&Is(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),ys(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 tr()}slice(t,e){if(_e(t,e,this.size))return this;let r=Zt(t,this.size);if(ae(e,this.size)!==this.size)return yt.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return ys(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return tr();return this.__ownerID=t,this.__altered=!1,this}return Ns(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 W(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return rr(this.size)}}he.isStack=Is;function ys(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Ns(e,r)}var Ns=(t,e,r,s)=>new yh(t,e,r,s),zn,tr=()=>zn||(zn=Ns(0)),M=(t)=>t===void 0||t===null?oe():Es(t)&&!x(t)?t:oe().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(Y(t).keySeq());M.intersect=(t)=>{return t=m(t).toArray(),t.length?M(t.pop()).intersect(...t):oe()};M.union=(t)=>{let e=m(t).toArray();return e.length?M(e.pop()).union(...e):oe()};class ue extends ur{static{Ot(this,{withMutations:ze,asImmutable:we,asMutable:pe,[Un]:!0,[fe]: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 Fe(this,this._map.set(t,t))}remove(t){return Fe(this,this._map.remove(t))}clear(){return Fe(this,this._map.clear())}map(t,e){let r=!1,s=Fe(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 On(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return On(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return oe()}__make(t,e){return gh(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=Es;var gh=(t,e)=>new ue(t,e),Sn,oe=()=>Sn||(Sn=gh(B()));function On(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 Fe(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 N=(t)=>t===void 0||t===null?Ss():Rn(t)?t:Ss().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});N.of=(...t)=>N(t);N.fromKeys=(t)=>N(Y(t).keySeq());class dh extends ue{static{Ot(this,{[ut]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:ls.zip,zipWith:ls.zipWith,zipAll:ls.zipAll})}create(t){return N(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return Ss()}__make(t,e){return wh(t,e)}}N.isOrderedSet=Rn;var wh=(t,e)=>new dh(t,e),Ss=()=>wh(ne()),Qc={LeftThenRight:-1,RightThenLeft:1};function to(t){if(dt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(P(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 fr=(t,e)=>{let r;to(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 ${ms(this)} with property "${f}" since that property name is part of the Record API.`);else ro(i,f)}}return this.__ownerID=void 0,this._values=U().withMutations((u)=>{u.setSize(this._keys.length),Y(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(eo);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class ph{static{Ot(this,{asImmutable:we,asMutable:pe,deleteIn:Rt,getIn:Vu,hasIn:Nu,merge:ps,mergeWith:nh,mergeDeep:uh,mergeDeepWith:oh,mergeDeepIn:ks,mergeIn:Fs,setIn:Ps,toObject:dn,update:Cs,updateIn:xs,withMutations:ze,removeIn:Rt,toJSON:dn,[Ln]:!0,[fe]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${ee(this.get(e))}`).join(", ");return`${ms(this)} { ${t} }`}equals(t){return this===t||dt(t)&&Dt(this).equals(Dt(t))}hashCode(){return Dt(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 gs(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:gs(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return Dt(this)}toJS(){return me(this)}entries(){return this.__iterator()}__iterate(t,e){return Dt(this).__iterate(t,e)}__iterator(t){return Dt(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 gs(this,e,t)}}fr.isRecord=dt;var ms=(t)=>t.constructor.displayName||t.constructor.name||"Record";class zh extends Xt{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 Dt=(t)=>new zh(t);fr.getDescriptiveName=ms;var eo=ph.prototype;function gs(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function ro(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){te(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var Os=(t,e,r=1)=>{if(te(r!==0,"Cannot step a Range by 0"),te(t!==void 0,"You must define a start value when using Range"),te(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 vs(t,e,r,s)};class vs extends zt{_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+ht(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(_e(t,e,this.size))return this;if(t=Zt(t,this.size),e=ae(e,this.size),e<=t)return Os(0,0);return Os(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 W(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return rr(this.size)}equals(t){return t instanceof vs?this._start===t._start&&this._end===t._end&&this._step===t._step:Ks(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Yc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new er(t,r)};class er extends zt{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 j(this._value,t)}slice(t,e){let r=this.size;return _e(t,e,r)?this:new er(this._value,ae(e,r)-Zt(t,r))}reverse(){return this}indexOf(t){if(j(this._value,t))return 0;return-1}lastIndexOf(t){if(j(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 W(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return rr(this.size)}equals(t){return t instanceof er?this.size===t.size&&j(this._value,t._value):Ks(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Bc=(t,e)=>Sh([],e??so,t,"",e?.length>2?[]:void 0,{"":t});function Sh(t,e,r,s,i,n){if(typeof r!=="string"&&!P(r)&&(As(r)||Ms(r)||Gn(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,v(r).map((u,o)=>Sh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var so=(t,e)=>I(e)?e.toList():p(e)?e.toMap():e.toSet(),ke=(t)=>p(t)?t.valueSeq():t;function io(){b.prototype.toMap=function(){return R(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return L(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return N(ke(this))},b.prototype.toSet=function(){return M(ke(this))},b.prototype.toStack=function(){return he(ke(this))},b.prototype.toList=function(){return U(ke(this))},b.prototype.countBy=function(e,r){let s=R().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=p(this),i=(x(this)?L():R()).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)=>Pn(this,n)).asImmutable()},yt.prototype.keySeq=function(){return Os(0,this.size)},se.prototype.sort=function(e){return L(Lt(this,e))},se.prototype.sortBy=function(e,r){return L(Lt(this,r,e))},ue.prototype.sort=function(e){return N(Lt(this,e))},ue.prototype.sortBy=function(e,r){return N(Lt(this,r,e))}}var no="7.0.0",ho={version:no};io();var{version:Pc}=ho;var Oh=Symbol("BadValue"),Eh=(t)=>t;class X{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,Oh);if(h===Oh)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 ei{isValid(t){return!0}getMessage(t){return"Invalid"}}class Ih extends ei{}var uo=new Ih;class tt extends ei{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var oo=new tt((t)=>Number.isInteger(t),()=>"Integer expected"),co=new tt((t)=>Number.isFinite(t),()=>"Float expected"),fo=new tt((t)=>typeof t==="boolean",()=>"Boolean expected"),_o=new tt((t)=>typeof t==="string",()=>"String expected"),ao=new tt((t)=>U.isList(t),()=>"List expected"),lo=new tt((t)=>R.isMap(t),()=>"Map expected"),yo=new tt((t)=>L.isOrderedMap(t),()=>"OrderedMap expected"),go=new tt((t)=>M.isSet(t),()=>"Set expected"),wo=(t)=>!!t;class ri extends X{constructor(t,e=!1){super("bool",t,fo,wo,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 _r extends X{constructor(t,e=null){super("any",t,uo,Eh,e)}toDataDef(){let{defaultValue:t}=this;return{type:ti(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var po=(t)=>t?.toString?.()??"";class si extends X{constructor(t,e=""){super("text",t,_o,po,e)}extendProtoForType(t,e){oi(t,this.name,e,"","length")}}var zo=(t)=>Number.isFinite(t)?Math.trunc(t):null;class jh extends X{constructor(t,e=0){super("int",t,oo,zo,e)}}var So=(t)=>null;class ii extends X{constructor(t,e=0){super("float",t,co,So,e)}}var ti=(t)=>t?.constructor?.getMetaClass?.()?.name;class Ah{constructor(t){this.typeName=t}isValid(t){return ti(t)===this.typeName}getMessage(t){let e=ti(t);return`Expected "${this.typeName}", got "${e}"`}}class $h extends X{constructor(t,e,r){super(t,e,new Ah(t),Eh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var Mh=Symbol("NONE");function Qt(t,e,r){oi(t,e,r,Uh),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,Mh);if(h!==Mh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Kh(t,e,`${r}At`)}function Kh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var Uh=U(),Oo=(t)=>Array.isArray(t)?U(t):null;class ni extends X{constructor(t,e=Uh){super("list",t,ao,Oo,e)}extendProtoForType(t,e){let{name:r}=this;Qt(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 Mo=(t)=>R(t);class hi extends X{constructor(t,e=R()){super("map",t,lo,Mo,e)}extendProtoForType(t,e){Qt(t,this.name,e)}}var bo=(t)=>L(t);class ui extends X{constructor(t,e=L()){super("omap",t,yo,bo,e)}extendProtoForType(t,e){Qt(t,this.name,e)}}function oi(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 bh=M(),qo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class ci extends X{constructor(t,e=bh){super("set",t,go,qo,e)}extendProtoForType(t,e){let{name:r}=this;oi(t,r,e,bh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Kh(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 qh(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 Dh{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]=qh(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]=qh(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]:fr(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 $h(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var ar=new Map,Eo={text:si,int:jh,float:ii,bool:ri,list:ni,map:hi,omap:ui,set:ci,any:_r};function Io(t,{fields:e={},methods:r,statics:s}){let i=new Dh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,si);else if(u==="number")i.addField(n,h,ii);else if(u==="boolean")i.addField(n,h,ri);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),ni);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),ci);else if(L.isOrderedMap(h))i.addField(n,h,ui);else if(h?.type&&h?.defaultValue!==void 0){let o=Eo[h.type]??_r;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(R.isMap(h)||h?.constructor===Object)i.addField(n,R(h),hi);else{let o=ar.get(h?.constructor)??_r;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var jo=(t)=>new Br(t.name??"Comp",Io(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 Ao=["nid","cid","eid","vid","si","sk"];class fi{constructor(t,e,r){this.comps=t,this.getSeqInfo=e??Wo,this.cache=r??new Gr}renderTag(t,e,r){return hs(t,e,r)}renderFragment(t){return new it(t)}renderComment(t){return new Kt(t)}setNullCache(){this.cache=new Xr}renderToDOM(t,e){let r=document.createElement("div");return Be(hs("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 Ao)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 it([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[_,a]of o(i))if(n.call(t.it,_,a,f)){let l=t.enter(a,{key:_},!0),y=this.renderIt(l,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[a,l]of c(i))if(n.call(t.it,a,l,_)){let y={key:a,value:l},w=`${s}-${a}`,S;if(u)u.call(t.it,y,a,l,_),S=this.cache.get2(t.it,l,w);else S=this.cache.get(l,w);if(S){this.pushEachEntry(f,s,o,a,S);continue}let T=t.enter(l,y,!1),et=this.renderView(r,T);if(this.pushEachEntry(f,s,o,a,et),u)this.cache.set2(t.it,l,w,et);else this.cache.set(l,w,et)}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 Kt("RECURSION AVOIDED")}return t.render(e,this)}_renderMetadata(t){return new Kt(`§${JSON.stringify(t)}§`)}}function*$o(t){let e=0;for(let r of t)yield[e++,r]}function*Ko(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var lr=new Map,Uo=["si",$o],Do=["sk",Ko],Lo=["si",function*(e){}];function Wo(t){return I(t)?Uo:p(t)?Do:lr.get(t?.constructor)??Lo}class Mt{constructor(t=R(),e=U()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new Mt(t,e,this.$)}toJS(){return this.order.toArray().map((t)=>this.items.get(t))}set(t,e){let r=this.items.has(t)?this.order:this.order.push(t);return this._clonish(this.items.set(t,e),r,this.$)}get(t,e=null){return this.items.get(t,e)}_nextFreeKey(){let t=this.$;while(!0){let e=`§${t}§`;if(!this.items.has(e))return[e,t];t+=1}}push(t){let[e,r]=this._nextFreeKey(),s=this.set(e,t);return s.$=r,s}get size(){return this.items.size}delete(t){if(this.items.has(t)){let e=this.order.delete(this.order.indexOf(t));return this._clonish(this.items.delete(t),e)}return this}moveKeyBeforeKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),0)}moveKeyAfterKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),1)}moveKeyIndexToIndex(t,e,r){if(t===-1||e===-1||t===e)return this;let{order:s}=this,i=e+r,n=i<t?t+1:t,h=s.insert(i,s.get(t)).delete(n);return this._clonish(this.items,h)}}var Ro=(t)=>null;class Lh{isValid(t){return t instanceof Mt}getMessage(t){return"KList expected"}}var To=new Lh;class Wh extends X{constructor(t,e=new Mt){super("KList",t,To,Ro,e)}extendProtoForType(t,e){Qt(t,this.name,e);let{name:r}=this;Qt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}ar.set(Mt,Wh);function*Jo(t){for(let e of t.order)yield[e,t.items.get(e)]}lr.set(Mt,["data-sk",Jo]);var{raw:cf,raw:ff}=String;function _f(t,e){return new Lr(t,e)}var Zo=(t)=>typeof t==="string"?document.querySelector(t):t;function af(t){let e=Zo(t),r=new Ge,s=new fi(r);return new us(e,r,s,V)}async function Mf(t,e,r="margaui-css"){let s=performance.now(),i=await Xo(t,e),n=performance.now();return Pe(r,i),n-s}async function Xo(t,e,r,s=Ut){t.ParseContext=s,t.compile();let i=new Set(r??[]);for(let n of t.comps.byId.values())for(let h in n.views){let u=n.views[h];for(let o of u.ctx.classes)i.add(o)}return await e(Array.from(i))}var Go="RENDER_IT_OUTSIDE_OF_LOOP",Ho="UNKNOWN_EVENT_MODIFIER",Qo="UNKNOWN_HANDLER_ARG_NAME",Yo="INPUT_HANDLER_NOT_IMPLEMENTED",Bo="INPUT_HANDLER_METHOD_NOT_IMPLEMENTED",Po="INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD",Co="INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER",xo="FIELD_VAL_NOT_DEFINED",Fo="COMPUTED_VAL_NOT_DEFINED",ko="UNKNOWN_REQUEST_NAME",Vo="UNKNOWN_COMPONENT_NAME",No="warn",Rh="error",mo="hint";function $f(t,e=new Th){hc(e,t),uc(e,t);for(let r in t.views)vo(e,t.views[r],t);return e}function vo(t,e,r){tc(t,e),rc(t,e),nc(t,e,r)}function tc(t,e){let{nodes:r}=e.ctx;for(let s=0;s<r.length;s++){let i=r[s];if(i instanceof Re){let n=r[s+1];if(!(n instanceof Je||n instanceof Nt))t.error(Go,{node:i})}}}var ec={};function rc(t,e){for(let r of e.ctx.events)for(let s of r.handlers){let{name:i,modifiers:n}=s,h=Zr[i]??ec;for(let u of n)if(h[u]===void 0)t.warn(Ho,{name:i,modifier:u,handler:s,event:r})}}var sc=new Set(["value","valueAsInt","valueAsFloat","target","event","isAlt","isShift","isCtrl","isCmd","key","keyCode","isUpKey","isDownKey","isSend","isCancel","isTabKey","ctx","dragInfo"]);function ic(t){return sc.has(t)}function nc(t,e,r){let{computed:s,scope:i,Class:n}=r,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o of e.ctx.events)for(let c of o.handlers){let{args:f}=c.handlerCall;for(let _=0;_<f.length;_++){let a=f[_];bt(t,a,u,h,s,i)}}}function hc(t,e){let{input:r,views:s,Class:i}=e,{prototype:n}=i;for(let h in s){let u=s[h];for(let o of u.ctx.events)for(let c of o.handlers){let{handlerVal:f}=c.handlerCall;if(f instanceof qe){if(r[f.name]===void 0){if(t.warn(Yo,{name:f.name,handler:c,event:o}),n[f.name]!==void 0)t.hint(Co,{name:f.name,handler:c,event:o})}}else if(f instanceof Pt){if(n[f.name]===void 0){if(t.warn(Bo,{name:f.name,handler:c,event:o}),r[f.name]!==void 0)t.hint(Po,{name:f.name,handler:c,event:o})}}}}}function bt(t,e,r,s,i,n){if(e instanceof je||e instanceof Pt){let{name:h}=e;if(r[h]===void 0&&s[h]===void 0)t.error(xo,{val:e,name:h})}else if(e instanceof Ae){let{name:h}=e;if(i[h]===void 0)t.error(Fo,{val:e,name:h})}else if(e instanceof $e)bt(t,e.seqVal,r,s,i,n),bt(t,e.keyVal,r,s,i,n);else if(e instanceof Ie){if(n.lookupRequest(e.name)===null)t.warn(ko,{name:e.name})}else if(e instanceof Ee){if(n.lookupComponent(e.name)===null)t.warn(Vo,{name:e.name})}else if(e instanceof k&&!ic(e.name))t.warn(Qo,{name:e.name});else if(!(e instanceof D))console.log(e)}function uc(t,e){let{computed:r,scope:s,views:i,Class:n}=e,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o in i){let c=i[o];for(let f of c.ctx.attrs){let{attrs:_,wrapperAttrs:a,textChild:l}=f;if(_ instanceof Ue){for(let y of _.items)if(y instanceof It)bt(t,y.val,u,h,r,s)}if(a!==null)for(let{val:y}of a)bt(t,y,u,h,r,s);if(l)bt(t,l,u,h,r,s)}for(let f of c.ctx.nodes)if(f.val)bt(t,f.val,u,h,r,s)}}class Th{constructor(){this.reports=[]}error(t,e){this.report(t,e,Rh)}warn(t,e){this.report(t,e,No)}hint(t,e){this.report(t,e,mo)}report(t,e={},r=Rh){this.reports.push({id:t,info:e,level:r})}}class oc extends V{constructor(t,e,r){super(t,e,r);this.attrs=[]}onAttributes(t,e,r){this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}class Jh extends Ut{constructor(...t){super(...t);this.attrs=[]}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new Jh(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f.attrs=this.attrs,f}onAttributes(t,e,r){super.onAttributes(t,e,r),this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}export{Pc as version,Ht as updateIn,ih as update,af as tutuca,ku as setIn,xu as set,lr as seqInfoByClass,Fu as removeIn,Cu as remove,Xc as mergeWith,Hc as mergeDeepWith,Gc as mergeDeep,Zc as merge,_f as macro,sn as isValueObject,Is as isStack,Es as isSet,qs as isSeq,dt as isRecord,Gn as isPlainObject,Rn as isOrderedSet,js as isOrderedMap,x as isOrdered,js as isOMap,nr as isMap,Wn as isList,p as isKeyed,I as isIndexed,P as isImmutable,nr as isIMap,Z as isCollection,bs as isAssociative,j as is,Pe as injectCss,ff as html,Q as hash,Yn as hasIn,Eu as has,$s as getIn,Qn as get,Bc as fromJS,ar as fieldsByClass,cf as css,jo as component,Xo as compileClassesToStyleText,Mf as compileClassesToStyle,vo as checkView,$f as checkComponent,ko as UNKNOWN_REQUEST_NAME,Qo as UNKNOWN_HANDLER_ARG_NAME,Ho as UNKNOWN_EVENT_MODIFIER,Vo as UNKNOWN_COMPONENT_NAME,he as Stack,M as Set,v as Seq,Yc as Repeat,fr as Record,Os as Range,Go as RENDER_IT_OUTSIDE_OF_LOOP,V as ParseContext,Qc as PairSorting,N as OrderedSet,L as OrderedMap,L as OMap,R as Map,U as List,oc as LintParseContext,Th as LintContext,Jh as LintClassCollectorCtx,No as LEVEL_WARN,mo as LEVEL_HINT,Rh as LEVEL_ERROR,Mt as KList,M as ISet,Yo as INPUT_HANDLER_NOT_IMPLEMENTED,Bo as INPUT_HANDLER_METHOD_NOT_IMPLEMENTED,Co as INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER,Po as INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD,R as IMap,xo as FIELD_VAL_NOT_DEFINED,m as Collection,Fo as COMPUTED_VAL_NOT_DEFINED};