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