@wcstack/state 1.21.5 → 1.21.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- function e(){const e=document.documentElement;return!!e&&e.hasAttribute("data-wcs-server")}const t={bindAttributeName:"data-wcs",commentTextPrefix:"wcs-text",commentForPrefix:"wcs-for",commentIfPrefix:"wcs-if",commentElseIfPrefix:"wcs-elseif",commentElsePrefix:"wcs-else",tagNames:{state:"wcs-state",ssr:"wcs-ssr"},locale:"en",debug:!1,enableMustache:!0,enableDirectionalInitialSync:!0,enablePropagationContext:!0,enableContractAnalyzer:!1,sameValueGuard:!0},n=t;function o(){return n}const s=new WeakMap,r=new WeakSet;let i=0;async function a(e){const t=function(e){let t,n=s.get(e)||null;if(null!==n)return n;const o=new Promise(e=>{t=e});return n={id:++i,promise:o,resolve:t},s.set(e,n),r.has(e)&&n.resolve(),n}(e);await t.promise}const l=".",c="*",d=128,u="|",f={};for(let e=0;e<128;e++)f[`$${e+1}`]=e;const p=Object.freeze(f),h="$connectedCallback",m="$disconnectedCallback",g="$updatedCallback",b="$stateReadyCallback",y="$bindables",w="$commandTokens",N="$command",v="$eventTokens",S="$on",x="$streams",I="$streamStatus",A="$streamError",P="data-wc-definition",_=new Map;let $=0;function T(e){let t=_.get(e);return void 0!==t||(t=Object.freeze(new k(e)),_.set(e,t)),t}class k{id=++$;path;segments;lastSegment;cumulativePaths;cumulativePathSet;cumulativePathInfos;cumulativePathInfoSet;parentPath;wildcardPaths;wildcardPathSet;indexByWildcardPath;wildcardPathInfos;wildcardPathInfoSet;wildcardParentPaths;wildcardParentPathSet;wildcardParentPathInfos;wildcardParentPathInfoSet;wildcardPositions;lastWildcardPath;lastWildcardInfo;wildcardCount;parentPathInfo;constructor(e){const t=t=>e===t?this:T(t),n=e.split("."),o=[],s=[],r=[],i={},a=[],l=[],d=[],u=[];let f="",p="",h=0;for(let e=0;e<n.length;e++)f+=n[e],n[e]===c&&(r.push(f),i[f]=h,a.push(t(f)),l.push(p),d.push(t(p)),u.push(e),h++),o.push(f),s.push(t(f)),p=f,f+=".";const m=r.length>0?r[r.length-1]:null,g=o.length>1?o[o.length-2]:null;this.path=e,this.segments=n,this.lastSegment=n[n.length-1],this.cumulativePaths=o,this.cumulativePathSet=new Set(o),this.cumulativePathInfos=s,this.cumulativePathInfoSet=new Set(s),this.wildcardPaths=r,this.wildcardPathSet=new Set(r),this.indexByWildcardPath=i,this.wildcardPathInfos=a,this.wildcardPathInfoSet=new Set(a),this.wildcardParentPaths=l,this.wildcardParentPathSet=new Set(l),this.wildcardParentPathInfos=d,this.wildcardParentPathInfoSet=new Set(d),this.wildcardPositions=u,this.lastWildcardPath=m,this.lastWildcardInfo=m?t(m):null,this.parentPath=g,this.parentPathInfo=g?t(g):null,this.wildcardCount=h}}const C=new WeakMap;function E(e){const t=C.get(e);if(void 0!==t)return t;let n=null;try{if(e.nodeType!==Node.ELEMENT_NODE)return n;const t=e,o=t.tagName.toLowerCase();if(o.includes("-"))return n=o;if(t.hasAttribute("is")){const e=t.getAttribute("is");if(e.includes("-"))return n=e}return n}finally{C.set(e,n)}}function M(e=null){const t=globalThis.customElements,n=e?.customElements??t;if("object"!=typeof n||null===n)return null;const o=n;return"function"!=typeof o.get||"function"!=typeof o.whenDefined?null:o}function O(e,t){e.upgrade?.(t)}function D(e){try{if(null===e||"object"!=typeof e&&"function"!=typeof e)return null;const t=e,n=t.addEventListener,o=t.removeEventListener,s=t.constructor?.wcBindable;if("function"!=typeof n||"function"!=typeof o)return null;if("wc-bindable"!==s?.protocol)return null;if(!Number.isInteger(s.version)||s.version<1)return null;const r=B(s.properties,R);if(null===r)return null;const i=void 0===s.inputs?new Map:B(s.inputs,W);if(null===i)return null;const a=void 0===s.commands?new Map:B(s.commands,L);return null===a?null:{target:e,liveDeclaration:s,knownProperties:r,declaredInputs:i,declaredCommands:a}}catch{return null}}function R(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.name&&0!==t.name.length&&("string"==typeof t.event&&0!==t.event.length&&(void 0===t.getter||"function"==typeof t.getter))}function W(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.name&&0!==t.name.length&&(void 0===t.attribute||"string"==typeof t.attribute)}function L(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.name&&0!==t.name.length&&(void 0===t.async||"boolean"==typeof t.async)}function B(e,t){if(!Array.isArray(e))return null;const n=new Map;for(const o of e){if(!t(o)||n.has(o.name))return null;n.set(o.name,o)}return n}function j(e){throw new Error(`[@wcstack/state] ${e}`)}function F(e,t,n){const o="."===t?`.${e}`:`${t}.${e}`;return{propName:e,propSegments:[e],propModifiers:[],statePathName:o,statePathInfo:T(o),stateName:n,inFilters:[],outFilters:[],bindingType:"prop"}}function z(e){switch(e.bindingType){case"prop":case"event":case"radio":case"checkbox":return`${e.bindingType}::${e.propName}`;default:return null}}function q(e,t){let n=e;if(0===t.length)return n;for(let e=0;e<t.length&&(n=n?.childNodes[t[e]]??null,null!==n);e++);return n}const V=new WeakMap;function U(e){return V.get(e)||null}function H(e,t){V.set(e,t)}const G=new Set(["if","elseif","else","for"]);function J(e){j(`filter ${e} requires at least one option`)}function K(e){j(`filter ${e} requires a number as option`)}function Y(e){j(`filter ${e} requires a number value`)}function X(e){j(`filter ${e} requires a date value`)}function Q(e){return!(!e||isNaN(Number(e)))}const Z={eq:e=>{const t=e?.[0]??J("eq");return e=>"number"==typeof e?(Q(t)||K("eq"),e===Number(t)):e===t},ne:e=>{const t=e?.[0]??J("ne");return e=>"number"==typeof e?(Q(t)||K("ne"),e!==Number(t)):e!==t},not:e=>e=>("boolean"!=typeof e&&j(`filter ${"not"} requires a boolean value`),!e),lt:e=>{const t=e?.[0]??J("lt");return Q(t)||K("lt"),e=>("number"!=typeof e&&Y("lt"),e<Number(t))},le:e=>{const t=e?.[0]??J("le");return Q(t)||K("le"),e=>("number"!=typeof e&&Y("le"),e<=Number(t))},gt:e=>{const t=e?.[0]??J("gt");return Q(t)||K("gt"),e=>("number"!=typeof e&&Y("gt"),e>Number(t))},ge:e=>{const t=e?.[0]??J("ge");return Q(t)||K("ge"),e=>("number"!=typeof e&&Y("ge"),e>=Number(t))},inc:e=>{const t=e?.[0]??J("inc");return Q(t)||K("inc"),e=>("number"!=typeof e&&Y("inc"),e+Number(t))},dec:e=>{const t=e?.[0]??J("dec");return Q(t)||K("dec"),e=>("number"!=typeof e&&Y("dec"),e-Number(t))},mul:e=>{const t=e?.[0]??J("mul");return Q(t)||K("mul"),e=>("number"!=typeof e&&Y("mul"),e*Number(t))},div:e=>{const t=e?.[0]??J("div");return Q(t)||K("div"),e=>("number"!=typeof e&&Y("div"),e/Number(t))},mod:e=>{const t=e?.[0]??J("mod");return Q(t)||K("mod"),e=>("number"!=typeof e&&Y("mod"),e%Number(t))},fix:e=>{const t=e?.[0]??"0";return Q(t)||K("fix"),e=>("number"!=typeof e&&Y("fix"),e.toFixed(Number(t)))},locale:e=>{const t=e?.[0]??n.locale;return e=>("number"!=typeof e&&Y("locale"),e.toLocaleString(t))},uc:e=>e=>String(e).toUpperCase(),lc:e=>e=>String(e).toLowerCase(),cap:e=>e=>{const t=String(e);return 0===t.length?t:1===t.length?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1)},trim:e=>e=>String(e).trim(),slice:e=>{const t=[],n=e?.[0]??J("slice");Q(n)||K("slice"),t.push(Number(n));const o=e?.[1];return void 0!==o&&(Q(o)||K("slice"),t.push(Number(o))),e=>String(e).slice(...t)},substr:e=>{const t=e?.[0]??J("substr");Q(t)||K("substr");const n=e?.[1]??J("substr");return Q(n)||K("substr"),e=>String(e).substr(Number(t),Number(n))},pad:e=>{const t=e?.[0]??J("pad");Q(t)||K("pad");const n=e?.[1]??"0";return e=>String(e).padStart(Number(t),n)},rep:e=>{const t=e?.[0]??J("rep");return Q(t)||K("rep"),e=>String(e).repeat(Number(t))},rev:e=>e=>String(e).split("").reverse().join(""),int:e=>e=>parseInt(String(e),10),float:e=>e=>parseFloat(String(e)),round:e=>{const t=e?.[0]??"0";return Q(t)||K("round"),e=>{"number"!=typeof e&&Y("round");const n=Math.pow(10,Number(t));return Math.round(e*n)/n}},floor:e=>{const t=e?.[0]??"0";return Q(t)||K("floor"),e=>{"number"!=typeof e&&Y("floor");const n=Math.pow(10,Number(t));return Math.floor(e*n)/n}},ceil:e=>{const t=e?.[0]??"0";return Q(t)||K("ceil"),e=>{"number"!=typeof e&&Y("ceil");const n=Math.pow(10,Number(t));return Math.ceil(e*n)/n}},percent:e=>{const t=e?.[0]??"0";return Q(t)||K("percent"),e=>("number"!=typeof e&&Y("percent"),`${(100*e).toFixed(Number(t))}%`)},date:e=>{const t=e?.[0]??n.locale;return e=>(e instanceof Date||X("date"),e.toLocaleDateString(t))},time:e=>{const t=e?.[0]??n.locale;return e=>(e instanceof Date||X("time"),e.toLocaleTimeString(t))},datetime:e=>{const t=e?.[0]??n.locale;return e=>(e instanceof Date||X("datetime"),e.toLocaleString(t))},ymd:e=>{const t=e?.[0]??"-";return e=>{e instanceof Date||X("ymd");const n=e.getFullYear().toString(),o=(e.getMonth()+1).toString().padStart(2,"0"),s=e.getDate().toString().padStart(2,"0");return`${n}${t}${o}${t}${s}`}},falsy:e=>e=>!1===e||null==e||0===e||""===e||Number.isNaN(e),truthy:e=>e=>!1!==e&&null!=e&&0!==e&&""!==e&&!Number.isNaN(e),defaults:e=>{const t=e?.[0]??J("defaults");return e=>!1===e||null==e||0===e||""===e||Number.isNaN(e)?t:e},boolean:e=>e=>Boolean(e),number:e=>e=>Number(e),string:e=>e=>String(e),null:e=>e=>""===e?null:e},ee=Z,te={input:Z,output:ee},ne=(e,t)=>n=>{const o=n[e];return o||j(`filter not found: ${e}`),o(t)};const oe=new Map;function se(e,t){const n=te[t];return e.map(e=>{const o=e.indexOf("("),s=e.lastIndexOf(")");if(-1!==o&&-1===s&&j(`Invalid filter format: missing closing parenthesis in "${e}"`),-1!==s&&-1===o&&j(`Invalid filter format: missing opening parenthesis in "${e}"`),-1===o){const o=e.trim(),s=`${o}():${t}`;let r=oe.get(s);return void 0===r&&(r=ne(o,[])(n),oe.set(s,r)),{filterName:o,args:[],filterFn:r}}{const r=e.substring(o+1,s),i=e.substring(0,o).trim(),a=function(e){const t=[];let n="",o=null,s=!1;for(let r=0;r<e.length;r++){const i=e[r];o?i===o?o=null:n+=i:'"'===i||"'"===i?(o=i,s=!0):","===i?(t.push(n.trim()),n="",s=!1):n+=i}const r=n.trim();return(r||s)&&t.push(r),t}(r),l=`${i}(${a.join(",")}):${t}`;let c=oe.get(l);return void 0===c&&(c=ne(i,a)(n),oe.set(l,c)),{filterName:i,args:a,filterFn:c}}})}const re=e=>e.trim(),ie=new Map;const ae=new Map;function le(e){const t=e.indexOf(u);let n="",o=[],s="",r=[];-1!==t?(n=e.slice(0,t).trim(),s=e.slice(t+1).trim(),ae.has(s)?r=ae.get(s):(o=s.split(u).map(re),r=se(o,"output"),ae.set(s,r))):n=e.trim();const[i,a="default"]=n.split("@").map(re);return{stateName:a,statePathName:i,statePathInfo:T(i),outFilters:r}}function ce(e){const[...t]=e.split(";").map(re).filter(e=>e.length>0),n=t.map(e=>{const t=e.indexOf(":");-1===t&&j(`Invalid bindText: "${e}". Missing ':' separator between propPart and statePart.`);const n=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("else"===n){return{propName:"else",propSegments:["else"],propModifiers:[],statePathName:"#else",statePathInfo:T("#else"),stateName:"",inFilters:[],outFilters:[],bindingType:"else"}}if("..."===n){const t=le(o);return t.outFilters.length>0&&j(`Invalid spread binding "${e}": filters are not allowed on spread targets.`),0===t.statePathName.length&&j(`Invalid spread binding "${e}": spread target path is required.`),{propName:"...",propSegments:["..."],propModifiers:[],inFilters:[],...t,bindingType:"spread"}}if("if"===n||"elseif"===n||"for"===n||"radio"===n||"checkbox"===n){return{propName:n,propSegments:[n],propModifiers:[],inFilters:[],...le(o),bindingType:n}}{const e=le(o),t=function(e){const t=e.indexOf(u);let n="",o=[],s="",r=[];-1!==t?(n=e.slice(0,t).trim(),s=e.slice(t+1).trim(),ie.has(s)?r=ie.get(s):(o=s.split(u).map(re),r=se(o,"input"),ie.set(s,r))):n=e.trim();const[i,a]=n.split("#").map(re),c=i.split(l).map(re);return{propName:i,propSegments:c,propModifiers:a?a.split(",").map(re):[],inFilters:r}}(n);return"eventToken"===t.propSegments[0]||t.propSegments[0].startsWith("on")?{...t,...e,bindingType:"event"}:{...t,...e,bindingType:"prop"}}});if(n.length>1){n.some(e=>G.has(e.bindingType))&&j(`Invalid bindText: "${e}". 'if', 'elseif', 'else', and 'for' bindings must be single binding.`)}return n}const de=new WeakMap,ue=new Set([n.commentTextPrefix,n.commentForPrefix,n.commentIfPrefix,n.commentElseIfPrefix,n.commentElsePrefix]),fe=new RegExp("^\\s*@@\\s*(.*?)\\s*:\\s*(.+?)\\s*$");function pe(e){const t=de.get(e);if("string"==typeof t)return t;if(e.nodeType!==Node.COMMENT_NODE)return null;const o=e.data.trim(),s=fe.exec(o);if(null===s)return null;const r=s[1]||n.commentTextPrefix;return ue.has(r)?(de.set(e,s[2]),s[2]):null}const he=new Map;function me(e,t,n){if(null===n)he.delete(e);else{he.set(e,n);const o=n.parseBindTextResult,s=qs(t,o.stateName);null===s&&j(`State element with name "${o.stateName}" not found for fragment info.`),s.setPathInfo(o.statePathName,o.bindingType);for(const e of n.nodeInfos)for(const n of e.parseBindTextResults){const e=qs(t,n.stateName);null===e&&j(`State element with name "${n.stateName}" not found for fragment info node.`),e.setPathInfo(n.statePathName,n.bindingType)}}}function ge(e){return he.get(e)||null}function be(e){if(e.nodeType===Node.ELEMENT_NODE){return ce(e.getAttribute(n.bindAttributeName)||"")}if(e.nodeType===Node.COMMENT_NODE){const t=pe(e);null===t&&j("Comment node binding text not found.");const n=ge(t);let o=n?.parseBindTextResult??null,s=null;return null===o?(o={propName:"textContent",propSegments:["textContent"],propModifiers:[],inFilters:[],...le(t),bindingType:"text"},s=null):s=t,[{...o,uuid:s}]}return[]}function ye(e){const t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT,{acceptNode(e){if(e.nodeType===Node.ELEMENT_NODE){return e.hasAttribute(n.bindAttributeName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}return null!==pe(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)t.push(o.currentNode);return t}const we=new WeakSet;function Ne(e,t,o){const i=function(e,t,o={}){const s=o.allowDeferred??!0;if(!t.some(e=>"spread"===e.bindingType))return t;const r=[],i=new WeakSet;for(const n of t){if("spread"!==n.bindingType){r.push(n);continue}e.nodeType!==Node.ELEMENT_NODE&&j("Spread binding requires an element node.");const t=e,o=E(t);null===o&&j(`Spread binding "${n.statePathName}" requires a custom element with wcBindable, but <${t.tagName.toLowerCase()}> is not a custom element.`);const a=M();if(null===a&&j(`CustomElementRegistry is unavailable for <${o}>.`),void 0===a.get(o)){s||j(`Spread binding "${n.statePathName}" requires <${o}> to be registered. Define the custom element before initializing this binding.`),r.push(n);continue}O(a,t);const l=D(t);null===l&&j(`Spread binding "${n.statePathName}" requires <${o}> to expose a valid wcBindable declaration.`);const c=n.statePathName,d=n.stateName,u=new Set;for(const e of l.knownProperties.keys()){if(u.has(e))continue;u.add(e);const t=F(e,c,d);i.add(t),r.push(t)}for(const e of l.declaredInputs.keys()){if(u.has(e))continue;u.add(e);const t=F(e,c,d);i.add(t),r.push(t)}}const a=new Map;for(let e=0;e<r.length;e++){const t=z(r[e]);null!==t&&a.set(t,e)}const l=[];for(let t=0;t<r.length;t++){const o=z(r[t]);if(null!==o){if(a.get(o)===t)l.push(r[t]);else if(n.debug&&i.has(r[t])){const n=r[a.get(o)],s=e.nodeType===Node.ELEMENT_NODE?`<${e.tagName.toLowerCase()}>`:"node";console.debug(`[@wcstack/state] spread: prop "${r[t].propName}" of ${s} overridden by explicit binding (statePath: "${n.statePathName}").`)}}else l.push(r[t])}return l}(e,t,{allowDeferred:o.allowDeferred});if(i.some(e=>"spread"===e.bindingType)){const n=e.nodeType===Node.ELEMENT_NODE?E(e):null;return null===n&&j("Spread binding deferred but element is not a custom element."),{bindings:[],deferred:{node:e,tagName:n,parseResults:t}}}we.add(e);const a=function(e,t){const n=[];for(const o of t)if("text"!==o.bindingType)n.push({...o,node:e,replaceNode:e});else{const t=e.nodeType===Node.TEXT_NODE?e:document.createTextNode("");n.push({...o,node:e,replaceNode:t})}return n}(e,i);return H(e,a),function(e){const t=s.get(e);void 0===t?r.add(e):t.resolve()}(e),{bindings:a,deferred:null}}function ve(e){const t=ye(e),n=[],o=[];for(const e of t){if(we.has(e))continue;const t=Ne(e,be(e),{allowDeferred:!0});null===t.deferred?n.push(...t.bindings):o.push(t.deferred)}return[t,n,o]}function Se(e){const{node:t,parseResults:n}=e;!function(e){we.delete(e)}(t);return Ne(t,n,{allowDeferred:!1}).bindings}const xe=new WeakMap;function Ie(e){let t=e;for(;t;){const e=xe.get(t);if(e)return e;t=t.parentNode}return null}function Ae(e,t){null!==t?xe.set(e,t):xe.delete(e)}const Pe=new WeakMap;function _e(e){return Pe.get(e)??[]}function $e(e,t){Pe.set(e,t)}const Te=Symbol("$$setLoopContextAsync"),ke=Symbol("$$setLoopContext"),Ce=Symbol("$$getByAddress"),Ee=Symbol("$$hasByAddress"),Me=Symbol("$$setByAddress"),Oe=Symbol("$$connectedCallback"),De=Symbol("$$disconnectedCallback"),Re=Symbol("$$updatedCallback"),We=new WeakMap;function Le(e,t){if(We.has(e)){const n=We.get(e);if(n.has(t))return n.get(t)}else We.set(e,new WeakMap);const n=Object.freeze(new Be(e,t));return We.get(e).set(t,n),n}class Be{pathInfo;stateName;stateElement;parentAbsolutePathInfo;constructor(e,t){this.pathInfo=t,this.stateName=e.name,this.stateElement=e,null===t.parentPathInfo?this.parentAbsolutePathInfo=null:this.parentAbsolutePathInfo=Le(e,t.parentPathInfo)}}const je=new WeakMap,Fe=new WeakMap;class ze{absolutePathInfo;listIndex;_parentAbsoluteAddress;constructor(e,t){this.absolutePathInfo=e,this.listIndex=t}get parentAbsoluteAddress(){if(void 0!==this._parentAbsoluteAddress)return this._parentAbsoluteAddress;const e=this.absolutePathInfo.parentAbsolutePathInfo;if(null===e)return null;let t=null;return t=this.absolutePathInfo.pathInfo.segments[this.absolutePathInfo.pathInfo.segments.length-1]===c?this.listIndex?.parentListIndex??null:this.listIndex,this._parentAbsoluteAddress=qe(e,t)}}function qe(e,t){if(null===t){let t=Fe.get(e);return void 0!==t||(t=new ze(e,null),Fe.set(e,t)),t}{let n=je.get(t);void 0===n&&(n=new WeakMap,je.set(t,n));let o=n.get(e);return void 0!==o||(o=new ze(e,t),n.set(e,o)),o}}const Ve=new WeakMap;function Ue(e,t){null===t?Ve.delete(e):Ve.set(e,t)}function He(e){return Ve.get(e)||null}const Ge=new Map;function Je(e,t){let n,o;if(0===e.wildcardCount||0===t.wildcardCount)return 0;if(1===e.wildcardCount&&t.wildcardCount>0&&t.wildcardPathSet.has(e.path))return 1;e.id<t.id?(n=e,o=t):(n=t,o=e);const s=`${n.path}\t${o.path}`;let r=Ge.get(s);if(void 0!==r)return r;return r=n.wildcardPathSet.intersection(o.wildcardPathSet).size,Ge.set(s,r),r}const Ke=new WeakMap;function Ye(e){const t=Ie(e.node);if(null===t)return null;let n=Ke.get(t);if(void 0===n)n=new WeakMap,Ke.set(t,n);else{const t=n.get(e);if(void 0!==t)return t}let o=null;try{const n=Je(t.pathInfo,e.statePathInfo);return n>0&&(o=t.listIndex.at(n-1)),o}finally{n.set(e,o)}}const Xe=new WeakMap;function Qe(e){let t=null;if(t=Xe.get(e)||null,null!==t)return t;let n=e.replaceNode.getRootNode();if(!1===e.replaceNode.isConnected){const t=He(n);null===t?j(`Cannot get absolute state address for disconnected binding: ${e.bindingType} ${e.statePathName} on ${e.node.nodeName}`):n=t}const o=Ye(e),s=qs(n,e.stateName);null===s&&j(`State element with name "${e.stateName}" not found for binding.`);return t=qe(Le(s,e.statePathInfo),o),Xe.set(e,t),t}function Ze(e){Xe.delete(e)}let et=null;const tt=new WeakMap;function nt(e){return tt.get(e)}function ot(e,t){const n=function(e){let t=null;return t=tt.get(e)||null,null===t&&(t=new Set,tt.set(e,t)),t}(e);n.add(t),null!==et&&et({type:"state:binding-added",absoluteAddress:e,binding:t})}function st(e,t){const n=tt.get(e);void 0!==n&&(n.delete(t),null!==et&&et({type:"state:binding-removed",absoluteAddress:e,binding:t}))}const rt=new WeakMap,it=new WeakMap;class at{pathInfo;listIndex;_parentAddress;constructor(e,t){this.pathInfo=e,this.listIndex=t}get parentAddress(){if(void 0!==this._parentAddress)return this._parentAddress;const e=this.pathInfo.parentPathInfo;if(null===e)return null;let t=null;return t=this.pathInfo.segments[this.pathInfo.segments.length-1]===c?this.listIndex?.parentListIndex??null:this.listIndex,this._parentAddress=lt(e,t)}}function lt(e,t){if(null===t){let t=it.get(e);return void 0!==t||(t=new at(e,null),it.set(e,t)),t}{let n=rt.get(t);void 0===n&&(n=new WeakMap,rt.set(t,n));let o=n.get(e);return void 0!==o||(o=new at(e,t),n.set(e,o)),o}}const ct=new WeakMap;function dt(e){let t=null;if(t=ct.get(e)||null,null!==t)return t;if(e.statePathInfo.wildcardCount>0){const n=Ye(e);null===n&&j(`Cannot resolve state address for binding with wildcard statePathName "${e.statePathName}" because list index is null.`),t=lt(e.statePathInfo,n)}else t=lt(e.statePathInfo,null);return ct.set(e,t),t}function ut(e){ct.delete(e)}function ft(){const e=new Map,t=new Map;return{add(n,o){let s=e.get(n);return void 0===s&&(s=new WeakSet,e.set(n,s)),!s.has(o)&&(s.add(o),t.set(n,(t.get(n)??0)+1),!0)},remove(n,o){const s=e.get(n);if(void 0===s||!s.has(o))return!1;s.delete(o);const r=(t.get(n)??1)-1;return r<=0?(e.delete(n),t.delete(n),!0):(t.set(n,r),!1)},has:(t,n)=>e.get(t)?.has(n)??!1,countOf:e=>t.get(e)??0,get keyCount(){return t.size},clear(){e.clear(),t.clear()}}}const pt=new Map,ht=ft();function mt(e,t){const n=e.inFilters.map(e=>e.filterName+"("+e.args.join(",")+")").join("|");return`${e.stateName}::${e.statePathName}::${t}::${n}`}function gt(e){let t="input";for(const n of e.propModifiers)n.startsWith("on")&&(t=n.slice(2));return t}function bt(e){if("checkbox"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const s=gt(e),r=mt(e,s);let i=pt.get(r);return void 0===i&&(t=e.stateName,n=e.statePathName,o=e.inFilters,i=e=>{const s=e.target;if(null===s)return void console.warn("[@wcstack/state] event.target is null.");if("checkbox"!==s.type)return void console.warn("[@wcstack/state] event.target is not a checkbox input element.");const r=s.checked;let i=s.value;for(const e of o)i=e.filterFn(i);const a=qs(s.getRootNode(),t);null===a&&j(`State element with name "${t}" not found for two-way binding.`);const l=Ie(s);a.createState("writable",e=>{e[ke](l,()=>{let t=e[n];if(Array.isArray(t))if(r)-1===t.indexOf(i)&&(e[n]=t.concat(i));else{const o=t.indexOf(i);-1!==o&&(e[n]=t.toSpliced(o,1))}else e[n]=r?[i]:[]})})},pt.set(r,i)),e.node.addEventListener(s,i),ht.add(r,e),!0}var t,n,o;return!1}class yt{_name;_subscribers=new Set;constructor(e){this._name=e}get name(){return this._name}get size(){return this._subscribers.size}subscribe(e){return this._subscribers.add(e),()=>{this._subscribers.delete(e)}}unsubscribe(e){return this._subscribers.delete(e)}emit(...e){const t=[];for(const n of this._subscribers)t.push(n(...e));return t}}class wt extends yt{_ownerStateName;constructor(e,t){super(e),this._ownerStateName=t??null}emit(...e){return null!==et&&et({type:"state:token-emit",kind:"event",stateName:this._ownerStateName,tokenName:this.name,args:e,subscriberCount:this.size}),super.emit(...e)}}const Nt=new WeakMap;function vt(e,t){let n=Nt.get(e);void 0===n&&(n=new Map,Nt.set(e,n));let o=n.get(t);return void 0===o&&(o=new wt(t,e.name),n.set(t,o)),o}function St(e){Nt.delete(e)}const xt=new WeakMap;function It(e){if("eventToken"!==e.propSegments[0])return!1;const t=e.node,n=E(t),o=M();if(null!==n&&void 0===o?.get(n))return null===o&&j(`CustomElementRegistry is unavailable for <${n}>.`),!0;if(xt.has(e))return!0;const s=e.propSegments[1];"string"==typeof s&&0!==s.length||j('eventToken binding requires a property name (e.g., "eventToken.error").');const r=function(e){return null===E(e)?null:D(e)}(t);null===r&&j(`eventToken binding requires a wc-bindable custom element. <${t.tagName.toLowerCase()}> is not wc-bindable.`);const i=r.knownProperties.get(s);void 0===i&&j(`Property "${s}" is not declared in wcBindable.properties of <${t.tagName.toLowerCase()}>.`);const a=i.event,l=e.statePathName,c=e.stateName,d=e.propModifiers,u=e=>{d.includes("prevent")&&e.preventDefault(),d.includes("stop")&&e.stopPropagation();const n=qs(t.getRootNode(),c);null===n&&j(`State element with name "${c}" not found for eventToken handler.`),n.eventTokenNames.has(l)||j(`eventToken "${l}" is not declared in $eventTokens of state "${c}".`);const o=Ie(t);n.createStateAsync("writable",async t=>{t[ke](o,()=>{const s=o?.listIndex.indexes??[];return vt(n,l).emit(t,e,...s)})})};return t.addEventListener(a,u),xt.set(e,{eventName:a,handler:u}),!0}class At extends yt{_ownerStateName;constructor(e,t){super(e),this._ownerStateName=t??null}emit(...e){return null!==et&&et({type:"state:token-emit",kind:"command",stateName:this._ownerStateName,tokenName:this.name,args:e,subscriberCount:this.size}),super.emit(...e)}}function Pt(e){return e instanceof At}const _t=new Map,$t=ft();function Tt(e){const t=e.propModifiers.filter(e=>"prevent"===e||"stop"===e).sort().join(",");return`${e.stateName}::${e.statePathName}::${t}`}const kt=(e,t,n,o)=>s=>{n.includes("prevent")&&s.preventDefault(),n.includes("stop")&&s.stopPropagation();const r=s.target,i=qs(r.getRootNode(),e);null===i&&j(`State element with name "${e}" not found for event handler.`);const a=Ie(r),l=t.startsWith(N+".");i.createStateAsync("writable",async n=>{n[ke](a,()=>{const r=a?.listIndex.indexes??[];if(l){const e=n[Ce](lt(o,null));return Pt(e)||j(`Event binding "${t}" did not resolve to a CommandToken. Declare the name in $commandTokens and reference it as $command.<name>.`),e.emit(s,...r)}const i=n[t];return"function"!=typeof i&&j(`Handler "${t}" is not a function on state "${e}".`),Reflect.apply(i,n,[s,...r])})})};const Ct=new Map,Et=ft();function Mt(e,t){const n=e.inFilters.map(e=>e.filterName+"("+e.args.join(",")+")").join("|");return`${e.stateName}::${e.statePathName}::${t}::${n}`}function Ot(e){let t="input";for(const n of e.propModifiers)n.startsWith("on")&&(t=n.slice(2));return t}function Dt(e){if("radio"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const s=Ot(e),r=Mt(e,s);let i=Ct.get(r);return void 0===i&&(t=e.stateName,n=e.statePathName,o=e.inFilters,i=e=>{const s=e.target;if(null===s)return void console.warn("[@wcstack/state] event.target is null.");if("radio"!==s.type)return void console.warn("[@wcstack/state] event.target is not a radio input element.");if(!1===s.checked)return;let r=s.value;for(const e of o)r=e.filterFn(r);const i=qs(s.getRootNode(),t);null===i&&j(`State element with name "${t}" not found for two-way binding.`);const a=Ie(s);i.createState("writable",e=>{e[ke](a,()=>{e[n]=r})})},Ct.set(r,i)),e.node.addEventListener(s,i),Et.add(r,e),!0}var t,n,o;return!1}const Rt=new Set(["radio","checkbox"]),Wt=new Set(["value","valueAsNumber","valueAsDate"]);function Lt(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return!1;const n=e,o=n.tagName.toLowerCase();if("input"===o){const e=(n.getAttribute("type")||"text").toLowerCase();if("button"===e)return!1;if(Rt.has(e)&&"checked"===t)return!0;if(Wt.has(t))return!0}if("select"===o&&"value"===t)return!0;if("textarea"===o&&"value"===t)return!0;const s=E(n);if(null!==s){const e=M()?.get(s);void 0===e&&j(`Custom element <${s}> is not defined. Cannot determine if property "${t}" is suitable for two-way binding.`);const o=D(n);if(o?.knownProperties.has(t))return!0}return!1}let Bt=1,jt=1,Ft=1;const zt=new WeakMap;function qt(e,t,n,o){let s=zt.get(e);void 0===s&&(s=new Map,zt.set(e,s));const r=function(e,t,n){return`${t}::${n}::${e}`}(t,n,o);let i=s.get(r);return void 0===i&&(i=Bt++,s.set(r,i)),i}function Vt(e,t){return"to-element"===t?2*e:2*e+1}const Ut=new Set;function Ht(e){return{transactionId:jt++,originBindingId:e,visitedEdges:Ut,hop:0}}function Gt(e,t){const n=new Set(e.visitedEdges);return n.add(t),{transactionId:e.transactionId,originBindingId:e.originBindingId,visitedEdges:n,hop:e.hop+1}}let Jt=null;function Kt(){return Jt}function Yt(e,t){const n=Jt;Jt=e;try{return t()}finally{Jt=n}}const Xt=[];const Qt=new Map,Zt=ft(),en=new WeakMap,tn=e=>e.detail;function nn(e,t,n){const o=e.inFilters.map(e=>e.filterName+"("+e.args.join(",")+")").join("|");return`${e.stateName}::${e.propName}::${e.statePathName}::${t}::${o}::${n?"g":"n"}`}function on(e){let t="select"===e.node.tagName.toLowerCase()?"change":"input";const n=E(e.node);if(null!==n){const o=M()?.get(n);void 0===o&&j(`Custom element <${n}> is not defined. Cannot determine event name for two-way binding.`);const s=D(e.node)?.knownProperties.get(e.propName);s&&(t=s.event)}for(const n of e.propModifiers)n.startsWith("on")&&(t=n.slice(2));return t}function sn(e){if(null!==E(e.node)){const t=D(e.node)?.knownProperties.get(e.propName);if(t)return t.getter??tn}return null}const rn=(e,t,o,s,r)=>i=>{const a=i.target;if(null===a)return void console.warn("[@wcstack/state] event.target is null.");let l;if(null!==r)l=r(i);else{if(!(t in a))return void console.warn(`[@wcstack/state] Property "${t}" does not exist on target element.`);l=a[t]}let c=l;for(const e of s)c=e.filterFn(c);const d=en.get(a)?.get(t);if(void 0!==d)for(const e of d)e(c);let u=null;if(n.enablePropagationContext){const s=qt(a,t,e,o),r=function(e,t){for(let n=Xt.length-1;n>=0;n--){const o=Xt[n];if(o.node===e&&o.receipt.member===t)return o.receipt}return null}(a,t);if(null!==r&&Object.is(r.writtenValue,l))return n.debug&&console.debug("[@wcstack/state] propagation: write confirmation suppressed echo.",{node:a,propName:t,statePathName:o,transactionId:r.transactionId,coveredBySameValueGuard:n.sameValueGuard&&(null===c||"object"!=typeof c)}),void(null!==et&&et({type:"propagation:suppressed",reason:"confirmation",transactionId:r.transactionId,edgeId:Vt(s,"to-state"),node:a,member:t}));const i=Vt(s,"to-state"),d=Kt();if(null!==d&&d.visitedEdges.has(i))return void(null!==et&&et({type:"propagation:suppressed",reason:"visited-edge",transactionId:d.transactionId,edgeId:i,node:a,member:t}));u=Gt(d??Ht(s),i)}const f=qs(a.getRootNode(),e);null===f&&j(`State element with name "${e}" not found for two-way binding.`);const p=Ie(a),h=()=>{f.createState("writable",e=>{e[ke](p,()=>{e[o]=c})})};null!==u?Yt(u,h):h()};const an=new WeakSet;function ln(e){an.add(e)}function cn(e){return!!an.has(e)&&(an.delete(e),!0)}const dn=new WeakSet;function un(e){dn.add(e)}function fn(e){return!!dn.has(e)&&(dn.delete(e),!0)}let pn=0;function hn(){pn--}function mn(){return pn>0}class gn{registry;entries=new Map;constructor(e){this.registry=e}wait(e,t,n=()=>{}){const o=e.toLowerCase();let s=this.entries.get(o);void 0===s&&(s={waiters:new Set},this.entries.set(o,s),this.registry.whenDefined(o).then(()=>this.settle(o,null),e=>this.settle(o,e)));const r={active:!0,resolve:t,reject:n};return s.waiters.add(r),()=>{r.active&&(r.active=!1,s?.waiters.delete(r))}}pendingCount(e){return this.entries.get(e.toLowerCase())?.waiters.size??0}settle(e,t){const n=this.entries.get(e);if(void 0===n)return;this.entries.delete(e);const o=Array.from(n.waiters);n.waiters.clear();for(const e of o)e.active&&(e.active=!1,null===t?e.resolve():e.reject(t))}}const bn=new WeakMap;function yn(e){let t=bn.get(e);return void 0===t&&(t=new gn(e),bn.set(e,t)),t}function wn(e,t){let n=null;for(const o of e.propModifiers){const e=o.indexOf("=");if(e<0)continue;const s=o.slice(0,e).trim(),r=o.slice(e+1).trim();"init"!==s&&"sync"!==s&&j(`Unknown binding modifier "${s}" in "${o}".`),s===t&&(null!==n&&j(`Binding modifier "${t}" may only be specified once.`),n=r)}return n}function Nn(e){return e.propModifiers.some(e=>e.includes("="))}const vn=Object.freeze({authority:"state",syncOn:"call",observable:!1}),Sn=Object.freeze({authority:"none",syncOn:"call",observable:!1});function xn(e,t){return"state"===e&&"call"===t?vn:{authority:e,syncOn:t,observable:!1}}function In(e){if(!n.enableDirectionalInitialSync)return Nn(e)&&j("init=/sync= modifiers require enableDirectionalInitialSync."),vn;const t=null===(o=wn(e,"init"))?null:"state"===o||"element"===o||"auto"===o||"none"===o?o:j(`Invalid init modifier value "${o}".`);var o;const s=function(e){return null===e||"call"===e?"call":"connect"===e?"connect":j(`Invalid sync modifier value "${e}".`)}(wn(e,"sync"));if("event"===e.bindingType)return null!==t&&"none"!==t&&j("Event bindings only allow init=none."),"call"===s?Sn:{authority:"none",syncOn:s,observable:!1};if("command"===e.propSegments[0])return xn("state",s);if("prop"!==e.bindingType)return null!==t&&"state"!==t&&"none"!==t&&j(`Binding type "${e.bindingType}" does not support init=${t}.`),xn(t??"state",s);const r=D(e.node);if(null===r)return xn(t??"state",s);const i=r.knownProperties.has(e.propName),a=r.declaredInputs.has(e.propName);i||a||j(`Property "${e.propName}" is not declared by wcBindable.`);const l=t??(i&&!a?"element":"state");return(i&&a?new Set(["state","element","auto","none"]):i?new Set(["element","none"]):new Set(["state","none"])).has(l)||j(`init=${l} is incompatible with wcBindable member "${e.propName}".`),"connect"!==s||i||j(`sync=connect requires observable property "${e.propName}".`),{authority:l,syncOn:s,observable:i}}function An(e,t){return"auto"!==t?t:function(e){const t=qs(e.replaceNode.getRootNode(),e.stateName);null===t&&j(`State element with name "${e.stateName}" not found for binding.`);const n=dt(e);let o=!1;return t.createState("readonly",e=>{o=e[Ee](n)}),o}(e)?"state":"element"}let Pn=0,_n=0;const $n=new WeakMap,Tn=new WeakMap,kn=new WeakMap,Cn=new WeakMap;function En(e,t){const n=Cn.get(e);void 0!==n?n!==t&&(n instanceof Set?n.add(t):Cn.set(e,new Set([n,t]))):Cn.set(e,t)}function Mn(e,t){const n=Cn.get(e);if(void 0!==n)if(n instanceof Set)for(const e of Array.from(n))t(e);else t(n)}function On(e,t){if(t(e),null!==e.firstChild)for(const n of Array.from(e.childNodes))On(n,t)}class Dn{root;observer;constructor(e){this.root=e;const t=globalThis.MutationObserver;this.observer="function"==typeof t?new t(e=>this.handleMutations(e)):null,this.observer?.observe(e,{childList:!0,subtree:!0})}handleMutations(e){const t=[],n=[];for(const o of e)t.push(...Array.from(o.removedNodes)),n.push(...Array.from(o.addedNodes));const o=[];for(const e of t)cn(e)||On(e,e=>{Mn(e,t=>{this.root.contains(e)||t.handleRemovedNode(e)})});for(const e of n)fn(e)&&!mn()||On(e,e=>{Mn(e,t=>{this.root.contains(e)&&t.handleAddedNode(e,o)})});o.length>0&&os(o)}}const Rn=new WeakMap;class Wn{records=new Set;knownBindingsByNode=new WeakMap;optionsByBinding=new WeakMap;deferredByNode=new WeakMap;deferred=new Set;constructor(e=null){null!==e&&this.observe(e)}initialize(e,t={}){const n=t.registerAddress??!0,o={registerAddress:n,registerPathInfo:t.registerPathInfo??n,applyOnReconnect:t.applyOnReconnect??!0},s=[];for(const t of e){const e=this.remember(t,o),n=$n.get(e);void 0===n||"disposed"===n.phase||"failed"===n.phase?(this.start(e,o),s.push(e)):(this.observe(n.anchor),o.registerAddress&&null===n.address&&(n.options.registerAddress=!0,this.registerAddress(n)),"active"===n.phase&&this.settleInitialRecord(n),this.settleConnectedSnapshot(n))}return s.filter(e=>this.shouldApplyState(e))}activate(e){for(const t of e){const e=$n.get(t);if(void 0!==e&&e.session===this&&"disposed"!==e.phase&&"failed"!==e.phase){null===e.address&&(this.observe(e.anchor),e.options.registerAddress=!0,this.registerAddress(e)),"active"===e.phase&&this.settleInitialRecord(e),this.settleConnectedSnapshot(e);continue}const n=this.optionsByBinding.get(t);void 0!==n?(n.registerAddress=!0,this.start(t,n)):this.initialize([t],{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1})}}shouldApplyState(e){if(!n.enableDirectionalInitialSync)return Nn(e)&&In(e),!0;const t=$n.get(e);return void 0===t||t.session!==this||(!t.options.registerAddress||"waiting-definition"===t.phase||("active"===t.phase&&this.settleInitialRecord(t),"state"===t.resolvedAuthority))}getRecord(e){const t=$n.get(e);return t?.session===this?t:null}addTeardown(e,t){const n=$n.get(e);return!(void 0===n||!this.isAlive(n,n.generation))&&(n.teardowns.add(t),!0)}deferUntilDefined(e,t,n,o=()=>{}){const s=M();null===s&&j(`CustomElementRegistry is unavailable for <${t}>.`),this.observe(e),En(e,this);const r={node:e,active:!0,cancel:null};let i=this.deferredByNode.get(e);void 0===i&&(i=new Set,this.deferredByNode.set(e,i)),i.add(r),this.deferred.add(r);const a=()=>!!r.active&&(r.active=!1,i?.delete(r),this.deferred.delete(r),!0);return r.cancel=yn(s).wait(t,()=>{if(a())try{O(s,e),n()}catch(e){o(e)}},e=>{a()&&o(e)}),()=>{a()&&r.cancel?.()}}disposeBinding(e){const t=$n.get(e);void 0!==t&&t.session===this&&this.disposeRecord(t)}dispose(){for(const e of Array.from(this.records))this.disposeRecord(e);for(const e of Array.from(this.deferred))e.active=!1,e.cancel?.(),this.deferred.delete(e),this.deferredByNode.get(e.node)?.delete(e)}canWholesaleDestroy(){if(this.deferred.size>0)return!1;for(const e of this.records)if(e.pendingDefinitions>0||e.observationPending)return!1;return!0}destroyRecords(){for(const e of this.records)e.phase="disposed",e.teardowns.clear();this.records.clear()}observe(e){const t=function(e){const t=e.getRootNode();return function(e){if("object"!=typeof e||null===e)return!1;const t=e;return 9===t.nodeType||11===t.nodeType&&"host"in t}(t)?t:null}(e);null!==t&&function(e){let t=Rn.get(e);void 0===t&&(t=new Dn(e),Rn.set(e,t))}(t)}handleMutations(e,t,n){for(const n of t)On(n,t=>{e.contains(t)||this.handleRemovedNode(t)});const o=[];for(const t of n)On(t,t=>{e.contains(t)&&this.handleAddedNode(t,o)});o.length>0&&os(o)}handleRemovedNode(e){const t=this.knownBindingsByNode.get(e);if(void 0!==t)for(const e of t.values())this.disposeBinding(e);const n=this.deferredByNode.get(e);if(void 0!==n)for(const e of Array.from(n))e.active=!1,e.cancel?.(),n.delete(e),this.deferred.delete(e)}handleAddedNode(e,t){const n=this.knownBindingsByNode.get(e);if(void 0!==n)for(const e of n.values()){const n=$n.get(e);if("active"===n?.phase){this.settleConnectedSnapshot(n);continue}if("disposed"!==n?.phase)continue;const o=this.optionsByBinding.get(e);if(void 0!==o)try{this.start(e,o),o.applyOnReconnect&&this.shouldApplyState(e)&&t.push(e)}catch{}}}remember(e,t){const n=e.replaceNode;En(n,this);let o=this.knownBindingsByNode.get(n);void 0===o&&(o=new Map,this.knownBindingsByNode.set(n,o));let s=kn.get(e);void 0===s&&(s=function(e){const t=e.inFilters.map(e=>`${e.filterName}(${e.args.join(",")})`).join("|"),n=e.outFilters.map(e=>`${e.filterName}(${e.args.join(",")})`).join("|");return[e.bindingType,e.propName,e.propModifiers.join(","),e.stateName,e.statePathName,t,n,e.uuid??""].join("\0")}(e),kn.set(e,s));const r=o.get(s);if(void 0!==r){const e=this.optionsByBinding.get(r);return void 0!==e&&(e.registerAddress||=t.registerAddress,e.registerPathInfo||=t.registerPathInfo,e.applyOnReconnect||=t.applyOnReconnect),r}return o.set(s,e),this.optionsByBinding.set(e,{...t}),e}start(e,t){!function(e){const t=e.node,n=e.replaceNode;t!==n&&null!==t.parentNode&&t.parentNode.replaceChild(n,t)}(e);const n=this.optionsByBinding.get(e)??{...t},o={id:++Pn,info:e,generation:++_n,phase:"discovered",teardowns:new Set,session:this,anchor:e.replaceNode,options:n,address:null,pendingDefinitions:0,initialPolicy:null,resolvedAuthority:null,initialSettled:!1,observationPending:!1,eventSequence:0,hasProducerValue:!1,producerValue:void 0};$n.set(e,o),this.records.add(o),this.observe(o.anchor);try{o.phase="attaching",this.attachListeners(o),o.options.registerAddress&&this.registerAddress(o),0===o.pendingDefinitions&&(o.phase="active")}catch(e){throw o.phase="failed",this.runTeardowns(o),this.records.delete(o),e}}attachListeners(e){const t=e.info;!function(e){if(!e.propName.startsWith("on"))return!1;const t=Tt(e);let n=_t.get(t);void 0===n&&(n=kt(e.stateName,e.statePathName,e.propModifiers,e.statePathInfo),_t.set(t,n));const o=e.propName.slice(2);return e.node.addEventListener(o,n),$t.add(t,e),!0}(t)?"eventToken"!==t.propSegments[0]?(Dt(t)&&e.teardowns.add(()=>function(e){if("radio"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const t=Ot(e),n=Mt(e,t),o=Ct.get(n);return void 0!==o&&(e.node.removeEventListener(t,o),0!==Et.countOf(n)&&(Et.remove(n,e)&&Ct.delete(n),!0))}return!1}(t)),bt(t)&&e.teardowns.add(()=>function(e){if("checkbox"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const t=gt(e),n=mt(e,t),o=pt.get(n);return void 0!==o&&(e.node.removeEventListener(t,o),0!==ht.countOf(n)&&(ht.remove(n,e)&&pt.delete(n),!0))}return!1}(t)),this.attachAfterDefinition(e,()=>{if(n.enableDirectionalInitialSync&&Lt(t.node,t.propName)&&-1===t.propModifiers.indexOf("ro")){const n=function(e,t,n){let o=en.get(e);void 0===o&&(o=new Map,en.set(e,o));let s=o.get(t);return void 0===s&&(s=new Set,o.set(t,s)),s.add(n),()=>{s?.delete(n),0===s?.size&&o?.delete(t),0===o?.size&&en.delete(e)}}(t.node,t.propName,t=>{this.isAlive(e,e.generation)&&(e.eventSequence+=1,e.hasProducerValue=!0,e.producerValue=t)});e.teardowns.add(n)}!function(e){const t=E(e.node);if(null!==t){const e=M(),n=e?.get(t);if(void 0===n)return void(null===e&&j(`CustomElementRegistry is unavailable for <${t}>.`))}if(Lt(e.node,e.propName)&&-1===e.propModifiers.indexOf("ro")){const t=on(e),n=sn(e),o=nn(e,t,null!==n);let s=Qt.get(o);void 0===s&&(s=rn(e.stateName,e.propName,e.statePathName,e.inFilters,n),Qt.set(o,s)),e.node.addEventListener(t,s),Zt.add(o,e)}}(t),e.teardowns.add(()=>function(e){const t=E(e.node);if(null!==t){const e=M(),n=e?.get(t);if(void 0===n)return}if(Lt(e.node,e.propName)&&-1===e.propModifiers.indexOf("ro")){const t=on(e),n=nn(e,t,null!==sn(e)),o=Qt.get(n);if(void 0===o)return;e.node.removeEventListener(t,o),Zt.remove(n,e)&&Qt.delete(n)}}(t))})):this.attachAfterDefinition(e,()=>{It(t)&&e.teardowns.add(()=>function(e){if("eventToken"!==e.propSegments[0])return!1;const t=xt.get(e);return void 0!==t&&(e.node.removeEventListener(t.eventName,t.handler),xt.delete(e),!0)}(t))}):e.teardowns.add(()=>function(e){if(!e.propName.startsWith("on"))return!1;const t=Tt(e),n=_t.get(t);if(void 0===n)return!1;const o=e.propName.slice(2);return e.node.removeEventListener(o,n),0!==$t.countOf(t)&&($t.remove(t,e)&&_t.delete(t),!0)}(t))}attachAfterDefinition(e,t){const n=E(e.info.node);if(null===n)return void t();const o=M();if(null===o&&j(`CustomElementRegistry is unavailable for <${n}>.`),void 0!==o.get(n))return void t();e.phase="waiting-definition",e.pendingDefinitions+=1;const s=e.generation,r=yn(o).wait(n,()=>{if(this.isAlive(e,s))try{O(o,e.info.node),t(),e.pendingDefinitions-=1,0===e.pendingDefinitions&&(e.phase="active",this.settleInitialRecord(e))}catch{e.phase="failed",this.runTeardowns(e),this.records.delete(e)}},()=>{this.isAlive(e,s)&&(e.phase="failed",this.runTeardowns(e),this.records.delete(e))});e.teardowns.add(r)}settleInitialRecord(e){if(n.enableDirectionalInitialSync&&!e.initialSettled&&e.options.registerAddress){e.phase="synchronizing";try{const t=In(e.info),n=An(e.info,t.authority);if(e.initialPolicy=t,e.resolvedAuthority=n,e.initialSettled=!0,e.phase="active",!t.observable)return;if("connect"===t.syncOn&&e.info.node instanceof HTMLElement&&!e.info.node.isConnected)return e.observationPending=!0,void pn++;this.readProducerSnapshot(e,"call"===t.syncOn)}catch(t){throw e.phase="failed",this.runTeardowns(e),this.records.delete(e),t}}}readProducerSnapshot(e,t){if(!this.isAlive(e,e.generation))return;const n=e.info.node,o=e.info.propName;if(!(o in n))return;const s=e.eventSequence,r=n[o];e.observationPending&&(e.observationPending=!1,hn()),t&&e.eventSequence!==s||(e.hasProducerValue=!0,e.producerValue=r,"element"===e.resolvedAuthority&&function(e,t){let n=t;for(const t of e.inFilters)n=t.filterFn(n);const o=qs(e.node.getRootNode(),e.stateName);null===o&&j(`State element with name "${e.stateName}" not found for initial binding sync.`);const s=Ie(e.node);o.createState("writable",t=>{t[ke](s,()=>{t[e.statePathName]=n})})}(e.info,r))}settleConnectedSnapshot(e){if(n.enableDirectionalInitialSync&&e.observationPending&&e.info.node instanceof HTMLElement&&e.info.node.isConnected)try{this.readProducerSnapshot(e,!1)}catch{e.phase="failed",this.runTeardowns(e),this.records.delete(e)}}registerAddress(e){if(null!==e.address)return;const t=e.info,n=Qe(t);if(ot(n,t),e.address=n,e.teardowns.add(()=>{null!==e.address&&(st(e.address,t),e.address=null,ut(t),Ze(t))}),!e.options.registerPathInfo)return;const o=qs(t.replaceNode.getRootNode(),t.stateName);null===o&&j(`State element with name "${t.stateName}" not found for binding.`),"event"!==t.bindingType&&o.setPathInfo(t.statePathName,t.bindingType)}isAlive(e,t){return e.generation===t&&$n.get(e.info)===e&&"disposed"!==e.phase&&"failed"!==e.phase}disposeRecord(e){"disposed"!==e.phase&&(e.phase="disposed",this.runTeardowns(e),this.records.delete(e))}runTeardowns(e){e.observationPending&&(e.observationPending=!1,hn());const t=Array.from(e.teardowns).reverse();e.teardowns.clear();for(const e of t)try{e()}catch{}}}function Ln(e){let t=Tn.get(e);return void 0===t&&(t=new Wn(e),Tn.set(e,t)),t}function Bn(e){return $n.get(e)?.session??null}const jn=new WeakMap;function Fn(e,t){const n=jn.get(e);return!!n&&!0===n.get(t)}function zn(e,t){let n=e;for(const e of t)n=e.filterFn(n);return n}const qn=Object.freeze([]);const Vn=new WeakMap;const Un=new WeakMap;function Hn(e){return Un.get(e)??[]}function Gn(e,t){Un.set(e,t)}Set.prototype.difference||(Set.prototype.difference=function(e){const t=new Set(this);for(const n of e)t.delete(n);return t}),Set.prototype.intersection||(Set.prototype.intersection=function(e){const t=new Set;for(const n of e)this.has(n)&&t.add(n);return t});let Jn=0;function Kn(){return`u${(Jn++).toString(36)}`}let Yn=0;class Xn{uuid=Kn();parentListIndex;position;length;_index;_version;_indexes;_listIndexes;constructor(e,t){this.parentListIndex=e,this.position=e?e.position+1:0,this.length=this.position+1,this._index=t,this._version=Yn}get index(){return this._index}set index(e){this._index=e,this._version=++Yn,this.indexes[this.position]=e}get version(){return this._version}get dirty(){return null!==this.parentListIndex&&(this.parentListIndex.dirty||this.parentListIndex.version>this._version)}get indexes(){return null===this.parentListIndex?void 0===this._indexes&&(this._indexes=[this._index]):(void 0===this._indexes||this.dirty)&&(this._indexes=[...this.parentListIndex.indexes,this._index],this._version=Yn),this._indexes}get listIndexes(){return null===this.parentListIndex?void 0===this._listIndexes&&(this._listIndexes=[new WeakRef(this)]):void 0===this._listIndexes&&(this._listIndexes=[...this.parentListIndex.listIndexes,new WeakRef(this)]),this._listIndexes}get varName(){return`$${this.position+1}`}at(e){return e>=0?this.listIndexes[e]?.deref()||null:this.listIndexes[this.listIndexes.length+e]?.deref()||null}}function Qn(e,t){return new Xn(e,t)}const Zn=new WeakMap;function eo(e){return Zn.get(e)||null}function to(e,t){null!==t?Zn.set(e,t):Zn.delete(e)}const no=new WeakMap,oo=Object.freeze([]),so=new Set;function ro(e,t,n){const o=function(e,t,n){const o=Array.isArray(t)&&t.length>0?t:oo,s=Array.isArray(n)&&n.length>0?n:oo,r=function(e,t){const n=Array.isArray(e)&&e.length>0?e:oo,o=Array.isArray(t)&&t.length>0?t:oo;let s=no.get(n);return s&&s.get(o)||null}(o,s);if(r)return r;const i=eo(o)||[];let a;try{if(0===s.length)return a={oldIndexes:i,newIndexes:[],changeIndexSet:so,deleteIndexSet:new Set(i),addIndexSet:so};let t=eo(s);if(0===o.length){if(null===t){t=[];for(let n=0;n<s.length;n++){const o=Qn(e,n);t.push(o)}}return a={oldIndexes:i,newIndexes:t,changeIndexSet:so,deleteIndexSet:so,addIndexSet:new Set(t)}}if(function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(o,s))return a={oldIndexes:i,newIndexes:i,changeIndexSet:so,deleteIndexSet:so,addIndexSet:so};if(null!==t)return function(e,t){const n=new Set(t),o=new Set(e),s=new Set,r=n.difference(o),i=o.difference(n),a=new Map;for(let t=0;t<e.length;t++)a.set(e[t],t);for(let e=0;e<t.length;e++){const n=t[e];r.has(n)||a.get(n)!==e&&s.add(n)}return{oldIndexes:e,newIndexes:t,changeIndexSet:s,deleteIndexSet:i,addIndexSet:r}}(i,t);t=[];const n=new Map;for(let e=0;e<o.length;e++){const t=o[e];let s=n.get(t);s||(s=[],n.set(t,s)),s.push(e)}const r=new Set,l=new Set;for(let o=0;o<s.length;o++){const a=s[o],c=n.get(a),d=c&&c.length>0?c.shift():void 0;if(void 0===d){const n=Qn(e,o);t.push(n),l.add(n)}else{const e=i[d];d!==o&&r.add(e),t.push(e)}}return a={oldIndexes:i,newIndexes:t,changeIndexSet:r,deleteIndexSet:new Set(i).difference(new Set(t)),addIndexSet:l}}finally{void 0!==a&&(!function(e,t,n){let o=no.get(e);o||(o=new WeakMap,no.set(e,o)),o.set(t,n)}(o,s,a),to(s,a.newIndexes))}}(e,t,n);return function(e){for(let t=0;t<e.length;t++)e[t].index!==t&&(e[t].index=t)}(o.newIndexes),o}function io(e){if(0===e.changeIndexSet.size||e.addIndexSet.size===e.newIndexes.length)return null;const t=new Map;for(let n=0;n<e.oldIndexes.length;n++)t.set(e.oldIndexes[n],n);const n=[],o=[];let s=-1,r=!0;for(const i of e.newIndexes){if(e.addIndexSet.has(i))continue;const a=t.get(i);if(void 0===a)return null;a<s&&(r=!1),s=a,n.push(i),o.push(a)}if(r)return null;const i=function(e){const t=e.length,n=[],o=new Array(t).fill(-1);for(let s=0;s<t;s++){const t=e[s];let r=0,i=n.length;for(;r<i;){const o=r+i>>1;e[n[o]]<t?r=o+1:i=o}r>0&&(o[s]=n[r-1]),n[r]=s}const s=[];let r=n.length>0?n[n.length-1]:-1;for(;r>=0;)s.push(r),r=o[r];return s.reverse(),s}(o),a=new Set;for(const e of i)a.add(n[e]);return a}const ao=new WeakMap;function lo(e){return ao.get(e)??[]}function co(e,t){ao.set(e,t)}const uo=new WeakMap;function fo(e){return uo.get(e)??null}function po(e,t){uo.set(e,t)}const ho=new WeakMap;function mo(e){return ho.get(e)??[]}function go(e,t){ho.set(e,t)}function bo(e,t){const n=mo(e);for(const e of n)Ae(e,t)}function yo(e,t,n){bo(e,t);const o=lo(e),s=fo(e);null!==s&&s.activate(o);for(const e of o){if(null===s){ot(Qe(e),e)}(null===s||s.shouldApplyState(e))&&ns(e,n)}}function wo(e){if(!e.mounted)return;const t=lo(e),n=fo(e);for(const e of t)if(null!==n)n.disposeBinding(e);else{st(Qe(e),e)}!function(e){const t=mo(e);for(const e of t)Ae(e,null)}(e)}const No=new WeakMap,vo=Object.freeze(new Set);function So(e,t){const n=No.get(e);n?n.add(t):No.set(e,new Set([t]))}function xo(e){const t=No.get(e);return void 0!==t?t:vo}function Io(e,t){const n=No.get(e);n&&(n.delete(t),0===n.size&&No.delete(e))}const Ao=new Set(["if","elseif","else","for"]);class Po{_content;_childNodeArray=[];_firstNode=null;_lastNode=null;_mounted=!1;constructor(e){this._content=e,this._childNodeArray=Array.from(this._content.childNodes),this._firstNode=this._childNodeArray.length>0?this._childNodeArray[0]:null,this._lastNode=this._childNodeArray.length>0?this._childNodeArray[this._childNodeArray.length-1]:null}get firstNode(){return this._firstNode}get lastNode(){return this._lastNode}get mounted(){return this._mounted}appendTo(e){for(const t of this._childNodeArray)un(t),e.appendChild(t);this._mounted=!0}mountAfter(e){const t=e.parentNode,n=e.nextSibling;if(t)for(const e of this._childNodeArray)un(e),t.insertBefore(e,n);this._mounted=!0}tryDestroy(){const e=fo(this);if(null===e||!e.canWholesaleDestroy())return!1;e.destroyRecords();for(const e of this._childNodeArray)ln(e),null!==e.parentNode&&e.parentNode.removeChild(e);const t=lo(this);for(const e of t)if(Ao.has(e.bindingType)){const t=xo(e.node);for(const e of t)e.tryDestroy()||e.unmount()}return this._mounted=!1,!0}unmount(){fo(this)?.dispose();for(const e of this._childNodeArray)ln(e),null!==e.parentNode&&e.parentNode.removeChild(e);const e=lo(this);for(const t of e){if(Ao.has(t.bindingType)){const e=xo(t.node);for(const t of e)t.unmount()}ut(t),Ze(t)}this._mounted=!1}}function _o(e){const t=document.createDocumentFragment(),n=new Po(t);return n._childNodeArray=e,n._firstNode=e.length>0?e[0]:null,n._lastNode=e.length>0?e[e.length-1]:null,n._mounted=!0,n}function $o(e){void 0!==e.uuid&&null!==e.uuid||j("BindingInfo.uuid is null.");const t=ge(e.uuid);t||j(`Fragment with UUID "${e.uuid}" not found.`);const n=document.importNode(t.fragment,!0),o=function(e,t){const[n,o]=function(e,t){const n=[],o=[];for(const s of t){const t=q(e,s.nodePath);if(null===t&&j(`Node not found by path [${s.nodePath.join(", ")}] in fragment.`),we.has(t))continue;const r=Ne(t,s.parseBindTextResults,{allowDeferred:!1});o.push(...r.bindings),n.push(t)}return[n,o]}(e,t),s=new Wn,r=s.initialize(o,{registerAddress:!1,applyOnReconnect:!1});return{nodes:n,bindingInfos:r,bindingSession:s}}(n,t.nodeInfos),s=new Po(n);po(s,o.bindingSession),co(s,o.bindingInfos);const r=[];for(const e of o.bindingInfos)e.statePathName in p&&r.push(e);return Gn(s,r),go(s,o.nodes),So(e.node,s),s}const To=new WeakMap,ko=new WeakMap,Co=new WeakMap,Eo=new WeakMap;function Mo(e,t,n){!function(e,t,n){let o=ko.get(e);if(void 0===o){if(null===n)return;o=new WeakMap,ko.set(e,o)}null===n?o.delete(t):o.set(t,n)}(e,t,n)}function Oo(e,t){To.set(e,t)}function Do(e,t){let n=Co.get(e.node);void 0===n&&(n=[],Co.set(e.node,n)),n.length<1e3?n.push(t):Io(e.node,t)}function Ro(e,t){if(null===t)return!1;if(e.nextSibling===t)return!0;const n=e.compareDocumentPosition(t);return 0!==(n&Node.DOCUMENT_POSITION_FOLLOWING)&&0===(n&Node.DOCUMENT_POSITION_DISCONNECTED)}const Wo=new WeakMap;function Lo(e){return`${e.bindingType} ${e.statePathName} ${e.outFilters.map(e=>e.filterName).join("|")} ${e.node.isConnected?"(connected)":"(disconnected)"}`}function Bo(t,o,s){const r=t.node.isConnected,i=Boolean(s);let a;const l=xo(t.node);a=0===l.size?$o(t):l.values().next().value;const c=e(),d=t.uuid??"",u=t.bindingType;try{if(i||(n.debug&&console.log(`unmount if content : ${Lo(t)}`),wo(a),a.unmount()),i){if(n.debug&&console.log(`mount if content : ${Lo(t)}`),c){const e=document.createComment(`@@wcs-${u}-start:${d}:${t.statePathName}`);t.node.parentNode.insertBefore(e,t.node.nextSibling),a.mountAfter(e);const n=document.createComment(`@@wcs-${u}-end:${d}:${t.statePathName}`),o=a.lastNode??e;o.parentNode.insertBefore(n,o.nextSibling)}else a.mountAfter(t.node);yo(a,Ie(t.node),o)}}finally{Wo.set(t.node,r)}}const jo=new WeakMap;function Fo(e){return jo.get(e)??[]}const zo=new Set;const qo={value(e,t){"TEXTAREA"===e.tagName?e.textContent=String(t??""):e.setAttribute("value",String(t??""))},checked(e,t){t?e.setAttribute("checked",""):e.removeAttribute("checked")},selected(e,t){t?e.setAttribute("selected",""):e.removeAttribute("selected")},disabled(e,t){t?e.setAttribute("disabled",""):e.removeAttribute("disabled")},selectedIndex(e,t){const n=e.querySelectorAll("option"),o=Number(t);for(let e=0;e<n.length;e++)e===o?n[e].setAttribute("selected",""):n[e].removeAttribute("selected")}};function Vo(t,o,s){if(void 0===s)return void(n.debug&&console.debug("Skipped property write: state value is undefined.",{element:t.node,propSegments:t.propSegments,statePathName:t.statePathName}));const r=t.node,i=t.propSegments;if(1===i.length){const l=i[0];if(r[l]!==s){const e=()=>{let e=!1;try{r[l]=s,e=!0}catch(e){n.debug&&console.warn(`Failed to set property '${l}' on element.`,{element:r,newValue:s,error:e})}if(e){const e=function(e,t){const n=E(e);if(null===n)return null;const o=M()?.get(n);if(void 0===o)return null;const s=D(e)?.declaredInputs.get(t);return"string"==typeof s?.attribute&&s.attribute.length>0?s.attribute:null}(r,l);if(null!==e)try{!function(e,t,n){if(null==n)return void e.removeAttribute(t);let o;if("object"==typeof n)try{o=JSON.stringify(n)}catch{o=String(n)}else o=String(n);e.setAttribute(t,o)}(r,e,s)}catch(t){n.debug&&console.warn(`Failed to mirror attribute '${e}' on element.`,{element:r,newValue:s,error:t})}}};if(n.enablePropagationContext&&Lt(r,l)){const n=qt(r,l,t.stateName,t.statePathName),i=Vt(n,"to-element"),a=o?.propagationContextByBinding?.get(t)??Kt()??Ht(n);if(a.visitedEdges.has(i))null!==et&&et({type:"propagation:suppressed",reason:"visited-edge",transactionId:a.transactionId,edgeId:i,node:r,member:l});else{const t=Gt(a,i);Yt(t,()=>function(e,t,n,o,s,r){const i={bindingId:o,bindingGeneration:0,member:t,transactionId:s,synchronousScopeId:Ft++,writtenValue:n};Xt.push({receipt:i,node:e});try{return r()}finally{Xt.pop()}}(r,l,s,n,t.transactionId,e))}}else e()}if(e()){const e=qo[l];e?e(r,s):(!function(e,t,n){let o=jo.get(e);o||(o=[],jo.set(e,o));const s=o.find(e=>e.propName===t);s?s.value=n:o.push({propName:t,value:n})}(r,l,s),a=r,zo.add(a))}return}var a;const l=i[0];let c=r[l];for(let e=1;e<i.length-1;e++){const t=i[e];if(null==c)return;c=c[t]}const d=c[i[i.length-1]];if(d!==s){if(Object.isFrozen(c))return void(n.debug&&console.warn("Attempting to set property on frozen object.",{element:r,propSegments:i,oldValue:d,newValue:s}));try{c[i[i.length-1]]=s}catch(e){n.debug&&console.warn("Failed to set property on sub-object.",{element:r,propSegments:i,oldValue:d,newValue:s,error:e})}}}const Uo=new WeakSet;function Ho(e,t,n){const o=e.node,s=e.propSegments;s.length<=1&&j(`Invalid propSegments for web component binding: ${s.join(".")}`);const[r,...i]=s,a=o[r];void 0===a&&j(`Property "${r}" not found on web component.`),a[i.join(".")]=n}function Go(e,t){const n=dt(t);if(n.pathInfo.path in p){const e=Ie(t.node);return null===e&&j(`ListIndex not found for binding: ${t.statePathName}`),function(e,t){null===e.listIndex&&j("ListIndex not found for loopContext:");const n=p[t];void 0===n&&j(`Invalid index name: ${t}`);const o=e.listIndex.at(n);return null===o&&j(`Index not found at position ${n} for loopContext:`),o.index}(e,n.pathInfo.path)}return e[Ce](n)}const Jo=new WeakSet;function Ko(e,t){console.error(`[@wcstack/state] deferred apply failed for <${e}>.`,t)}const Yo={class:function(e,t,n){const o=e.node,s=e.propSegments[1];"boolean"!=typeof n&&j("Invalid value for class application: expected boolean, got "+typeof n),o.classList.toggle(s,n)},attr:function(e,t,n){const o=e.node,s=e.propSegments[1];o.getAttribute(s)!==n&&o.setAttribute(s,n)},style:function(e,t,n){const o=e.propSegments[1],s=e.node.style;s[o]!==n&&(s[o]=n)},command:function(e,t,n){Pt(n)||j("command binding requires a CommandToken value (use $command.<tokenName> with a name declared in $commandTokens).");const o=n,s=Vn.get(e);if(s&&s.token===o)return;const r=e.node,i=e.propSegments[1];"string"==typeof i&&0!==i.length||j('command binding requires a method name (e.g., "command.fetch").');const a=function(e){const t=E(e);if(null===t)return null;const n=M()?.get(t);return void 0===n&&j(`Custom element <${t}> is not defined for command binding.`),D(e)}(r);null===a&&j(`command binding requires a wc-bindable custom element. <${r.tagName.toLowerCase()}> is not wc-bindable.`),a.declaredCommands.has(i)||j(`Command "${i}" is not declared in wcBindable.commands of <${r.tagName.toLowerCase()}>.`),s&&(s.unsubscribe(),Vn.delete(e));const l=new WeakRef(r);let c=null;c=o.subscribe((...t)=>{const n=l.deref();if(!n||!n.isConnected)return c?.(),void Vn.delete(e);const o=n[i];return"function"!=typeof o&&j(`Method "${i}" is not a function on <${n.tagName.toLowerCase()}>.`),Reflect.apply(o,n,t)}),Vn.set(e,{token:o,unsubscribe:c,elementRef:l})}},Xo={text:function(t,n,o){const s=null==o?"":String(o);if(t.replaceNode.nodeValue!==s&&(t.replaceNode.nodeValue=s),e()&&!Uo.has(t.replaceNode)){Uo.add(t.replaceNode);const e=t.replaceNode.parentNode;if(e){const n=t.statePathName,o=document.createComment(`@@wcs-text-start:${n}`),s=document.createComment(`@@wcs-text-end:${n}`);e.insertBefore(o,t.replaceNode),e.insertBefore(s,t.replaceNode.nextSibling)}}},for:function(t,n,o){const s=t.statePathInfo,r=Ye(t),i=Qe(t),a=_e(i),l=ro(r,a,o);n.newListValueByAbsAddress.set(i,Array.isArray(o)?o:[]);const d=Array.isArray(a)&&a.length===l.deleteIndexSet.size&&l.deleteIndexSet.size>0;if(d&&null!==t.node.parentNode){let e=Eo.get(t.node);if(void 0===e){const n=To.get(t.node)||t.node;e=function(e,t){let n=e.previousSibling,o=t.nextSibling,s=!0;for(;null!==n;){if(n.nodeType===Node.ELEMENT_NODE||n.nodeType===Node.TEXT_NODE&&""!==(n.textContent?.trim()??"")){s=!1;break}n=n.previousSibling}for(;null!==o;){if(o.nodeType===Node.ELEMENT_NODE||o.nodeType===Node.TEXT_NODE&&""!==(o.textContent?.trim()??"")){s=!1;break}o=o.nextSibling}return s}(t.node,n),Eo.set(t.node,e)}if(e){const e=t.node.parentNode;e.textContent="",e.appendChild(t.node)}}let u=ko.get(t.node),f=d?1e3-function(e){return Co.get(e.node)||[]}(t).length:Number.POSITIVE_INFINITY;if(void 0!==u){for(const e of l.deleteIndexSet){const n=u.get(e);void 0!==n&&(f<=0&&n.tryDestroy()?Io(t.node,n):(wo(n),n.unmount(),Do(t,n),f-=1),d||u.delete(e))}d&&(ko.delete(t.node),u=void 0)}let p=t.node;const h=T(s.path+"."+c),m=n.stateElement.loopContextStack,g=io(l);let b=null;l.newIndexes.length==l.addIndexSet.size&&l.newIndexes.length>0&&p.isConnected&&(b=document.createDocumentFragment(),Ue(b,n.rootNode));const y=e(),w=t.uuid??"",N=Co.get(t.node);for(const e of l.newIndexes){let o;if(l.addIndexSet.has(e)){const r=lt(h,e);m.createLoopContext(r,r=>{if(o=void 0!==N?N.pop():void 0,void 0===o&&(o=$o(t)),null!==b)y&&b.appendChild(document.createComment(`@@wcs-for-start:${w}:${s.path}:${e.index}`)),o.appendTo(b),y&&b.appendChild(document.createComment(`@@wcs-for-end:${w}:${s.path}:${e.index}`));else{if(p.nextSibling!==o.firstNode){if(y){const t=document.createComment(`@@wcs-for-start:${w}:${s.path}:${e.index}`);p.parentNode.insertBefore(t,p.nextSibling),p=t}o.mountAfter(p)}if(y){const t=document.createComment(`@@wcs-for-end:${w}:${s.path}:${e.index}`),n=o.lastNode??p;n.parentNode.insertBefore(t,n.nextSibling)}}yo(o,r,n)}),void 0===o&&j(`Content not found for ListIndex: ${e.index} at path "${s.path}"`)}else{if(o=void 0!==u?u.get(e)??null:null,l.changeIndexSet.has(e)){const e=Hn(o);for(const t of e)ns(t,n)}null===o&&j(`Content not found for ListIndex: ${e.index} at path "${s.path}"`);null!==g&&g.has(e)&&Ro(p,o.firstNode)||p.nextSibling===o.firstNode||o.mountAfter(p)}p=o.lastNode||p,void 0===u&&(u=new WeakMap,ko.set(t.node,u)),u.set(e,o)}To.set(t.node,p),null!==b&&(t.node.parentNode.insertBefore(b,t.node.nextSibling),Ue(b,null))},if:Bo,else:Bo,elseif:Bo,radio:function(e,t,n){const o=e.node,s=zn(o.value,e.inFilters);o.checked=n===s},checkbox:function(e,t,n){const o=e.node,s=zn(o.value,e.inFilters),r=Array.isArray(n)?n:qn;o.checked=r.includes(s)}},Qo=new WeakMap,Zo=new WeakMap,es=new WeakMap;function ts(e,t){const n=zn(Go(t.state,e),e.outFilters);if(!0===Zo.get(e))return void t.deferredSelectBindings.push({binding:e,value:n});let o=Qo.get(e);if(void 0===o){if(Qo.has(e))return Fn(e.replaceNode,t.stateElement)?(o=Ho,Qo.set(e,o)):o=Vo,void o(e,t,n);if(o=Xo[e.bindingType],void 0===o){const n=e.propSegments[0];if(o=Yo[n],Qo.set(e,o),void 0===o){E(e.replaceNode)?Fn(e.replaceNode,t.stateElement)?(o=Ho,Qo.set(e,o)):o=Vo:(o=Vo,Qo.set(e,o))}}if(o===Vo){if("SELECT"===e.node.tagName){const o=e.propSegments[0];if("value"===o||"selectedIndex"===o)return t.deferredSelectBindings.push({binding:e,value:n}),void Zo.set(e,!0)}}o(e,t,n)}else o(e,t,n)}function ns(e,t){if(t.appliedBindingSet.has(e))return;if(t.appliedBindingSet.add(e),!1!==t.stateElement.hasUpdatedCallback){const n=Qe(e);if(t.updatedAbsAddressSetByStateElement.has(t.stateElement)){t.updatedAbsAddressSetByStateElement.get(t.stateElement).add(n)}else t.updatedAbsAddressSetByStateElement.set(t.stateElement,new Set([n]))}const n=Bn(e);if(null!==n&&!n.shouldApplyState(e))return;if("event"===e.bindingType)return;if(!0!==es.get(e)){const t=E(e.replaceNode);if(t&&void 0===M()?.get(t))return void function(e,t){if(Jo.has(e))return;Jo.add(e);const n=()=>{Jo.delete(e);const t=Bn(e);(null===t||t.shouldApplyState(e))&&os([e])},o=n=>{Jo.delete(e),Ko(t,n)},s=Bn(e);if(null!==s){const r=s.deferUntilDefined(e.replaceNode,t,n,o);return void(s.addTeardown(e,()=>{Jo.delete(e),r()})||(Jo.delete(e),r()))}const r=M();if(null===r)return Jo.delete(e),void Ko(t,new Error("CustomElementRegistry is unavailable."));yn(r).wait(t,()=>{e.replaceNode.isConnected?n():Jo.delete(e)},o)}(e,t);es.set(e,!0)}if(!0===t.sameRootVerified&&e.stateName===t.stateName)return void ts(e,t);let o=e.replaceNode.getRootNode();if(o instanceof DocumentFragment&&!(o instanceof ShadowRoot)&&(o=He(o),null===o&&j("Root node for fragment not found for binding.")),e.stateName!==t.stateName||o!==t.rootNode){const n=qs(o,e.stateName);null===n&&j(`State element with name "${e.stateName}" not found for binding.`),n.createState("readonly",s=>{const r={stateName:e.stateName,rootNode:o,stateElement:n,state:s,appliedBindingSet:t.appliedBindingSet,newListValueByAbsAddress:t.newListValueByAbsAddress,updatedAbsAddressSetByStateElement:t.updatedAbsAddressSetByStateElement,deferredSelectBindings:t.deferredSelectBindings};ts(e,r)})}else ts(e,t)}function os(e,t){let o=0;const s=new Set,r=new Map,i=new Map,a=[];for(;o<e.length;){let l=e[o];const c=l.stateName;if(!1===l.replaceNode.isConnected){n.debug&&console.log(`applyChangeFromBindings: skip disconnected binding: ${l.bindingType} ${l.statePathName} on ${l.node.nodeName}`,l),o++;continue}let d=l.replaceNode.getRootNode();d instanceof DocumentFragment&&!(d instanceof ShadowRoot)&&(d=He(d),null===d&&j("Root node for fragment not found for binding."));const u=qs(d,c);null===u&&j(`State element with name "${c}" not found for binding.`),u.createState("readonly",n=>{const f={rootNode:d,stateName:c,stateElement:u,state:n,appliedBindingSet:s,newListValueByAbsAddress:r,updatedAbsAddressSetByStateElement:i,deferredSelectBindings:a,sameRootVerified:!0,propagationContextByBinding:t};for(;;){ns(l,f),o++;const t=e[o];if(!t)break;const n=t.replaceNode.getRootNode();if(t.stateName!==c||n!==f.rootNode)break;l=t}})}for(const{binding:e,value:n}of a)Vo(e,{propagationContextByBinding:t},n);for(const[e,t]of r.entries())$e(e,t);for(const[e,t]of i.entries())e.createState("writable",e=>{e[Re](Array.from(t))})}function ss(e,t){const[n,o,s]=ve(e),r=Ln(e);for(const e of n)Ae(e,t);os(r.initialize(o)),function(e,t,n){for(const o of e)n.deferUntilDefined(o.node,o.tagName,()=>{const e=Se(o);0!==e.length&&(Ae(o.node,t),os(n.initialize(e)))},e=>{console.error(`[@wcstack/state] deferred spread failed for <${o.tagName}>.`,e)})}(s,t,r)}const rs=/\{\{\s*(.+?)\s*\}\}/g,is=new Set(["SCRIPT","STYLE"]);function as(e){if(!n.enableMustache)return;!function(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=[];for(;t.nextNode();)n.push(t.currentNode);for(const e of n)e.parentElement&&is.has(e.parentElement.tagName)||ls(e)}(e);const t=Array.from(e.querySelectorAll("template"));for(const e of t)if("http://www.w3.org/2000/svg"===e.namespaceURI){const t=document.createElement("template"),n=Array.from(e.childNodes);for(let e=0;e<n.length;e++){const o=n[e];t.content.appendChild(o)}for(const n of e.attributes)t.setAttribute(n.name,n.value);e.replaceWith(t),as(t.content)}else as(e.content)}function ls(e){const t=e.data;if(rs.lastIndex=0,!rs.test(t))return;rs.lastIndex=0;const n=document.createDocumentFragment();let o,s=0;for(;null!==(o=rs.exec(t));){o.index>s&&n.appendChild(document.createTextNode(t.slice(s,o.index)));const e=o[1];n.appendChild(document.createComment(`@@: ${e}`)),s=o.index+o[0].length}s<t.length&&n.appendChild(document.createTextNode(t.slice(s))),e.parentNode.replaceChild(n,e)}let cs;function ds(){if(cs)return cs;const e=[],t=ne("not",e)(ee);return cs={filterName:"not",args:e,filterFn:t},cs}const us=/^(\s*@@\s*(?:.*?)\s*:\s*)(.+?)(\s*)$/;function fs(e,t){const n=t+l+c,o=e.indexOf("|"),s=e.indexOf("@");let r,i;if(-1!==o?(r=e.slice(0,o).trim(),i=e.slice(o)):-1!==s?(r=e.slice(0,s).trim(),i=e.slice(s)):(r=e.trim(),i=""),"."===r)r=n;else{if(!r.startsWith("."))return e;r=n+l+r.slice(1)}return i.length>0?r+i:r}function ps(e,t){const n=us.exec(e);if(null===n)return e;const o=n[1],s=n[2],r=n[3];return o+fs(s,t)+r}function hs(e,t){const n=e.split(";");let o=!1;const s=n.map(e=>{const n=e.trim();if(0===n.length)return e;const s=n.indexOf(":");if(-1===s)return e;const r=n.slice(0,s).trim(),i=n.slice(s+1).trim(),a=fs(i,t);return a!==i?(o=!0,`${r}: ${a}`):e});return o?s.join(";"):e}function ms(e,t){return hs(e,t)}function gs(e,t){const o=n.bindAttributeName,s=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_ELEMENT);for(;s.nextNode();){const e=s.currentNode;if(e.nodeType===Node.COMMENT_NODE){const n=e;n.data=ps(n.data,t);continue}const n=e;if(n instanceof HTMLTemplateElement)continue;const r=n.getAttribute(o);if(null!==r){const e=hs(r,t);e!==r&&n.setAttribute(o,e)}}}function bs(e){let t=e;const n=[];for(;null!==t.parentNode;){const e=Array.from(t.parentNode.childNodes).indexOf(t);n.unshift(e),t=t.parentNode}return n}function ys(e){const t=[],n=ye(e);for(const e of n){const n=be(e);let o=e;if(e.nodeType===Node.COMMENT_NODE&&1===n.length&&"text"===n[0].bindingType&&null!==e.parentNode){const t=document.createTextNode("");e.parentNode.replaceChild(t,e),o=t}t.push({nodePath:bs(o),parseBindTextResults:n})}return t}function ws(e){const t=Array.from(e.childNodes);for(const n of t)if(n.nodeType===Node.TEXT_NODE){""===(n.textContent||"").trim()&&e.removeChild(n)}}const Ns=new Map([["for",n.commentForPrefix],["if",n.commentIfPrefix],["elseif",n.commentElseIfPrefix],["else",n.commentElsePrefix]]),vs=ds();function Ss(e,t){const n=t.outFilters;return{...t,outFilters:[...n,vs],bindingType:e}}function xs(e,t,n,o){ws(t),"string"==typeof o&&gs(t,o),Is(e,t,o);return{fragment:t,parseBindTextResult:n,nodeInfos:ys(t)}}function Is(e,t,o){const s=n.commentElsePrefix,r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode(e){const t=e;if("template"===t.tagName.toLowerCase()){if((t.getAttribute(n.bindAttributeName)||"").length>0)return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});let i=null;const a=[],l=[];for(;r.nextNode();){const e=r.currentNode;l.push(e)}for(const t of l){let r=t.getAttribute(n.bindAttributeName)||"";"string"==typeof o&&(r=ms(r,o));let l=ce(r)[0];const c=Ns.get(l.bindingType);if(void 0===c)continue;const d=l.bindingType,u=t.content,f=Kn();let p=null;const h="for"===d?l.statePathName:o;if("else"===d){null===i&&j("'else' binding found without preceding 'if' or 'elseif' binding."),l=Ss("else",i.parseBindTextResult),p=xs(e,u,l,h),me(f,e,p);const n=a.at(-1),o=document.createComment(`@@${c}:${f}`);void 0!==n?(t.remove(),n.fragment.appendChild(o),n.nodeInfos.push({nodePath:bs(o),parseBindTextResults:be(o)})):t.replaceWith(o)}else if("elseif"===d){null===i&&j("'elseif' binding found without preceding 'if' or 'elseif' binding."),p=xs(e,u,l,h),me(f,e,p);const n=document.createComment(`@@${c}:${f}`),o=Kn(),r={fragment:document.createDocumentFragment(),parseBindTextResult:Ss("else",i.parseBindTextResult),nodeInfos:[]};r.fragment.appendChild(n),r.nodeInfos.push({nodePath:bs(n),parseBindTextResults:be(n)}),me(o,e,r);const d=a.at(-1);a.push(r);const m=document.createComment(`@@${s}:${o}`);void 0!==d?(t.remove(),d.fragment.appendChild(m),d.nodeInfos.push({nodePath:bs(m),parseBindTextResults:be(m)})):t.replaceWith(m)}else{p=xs(e,u,l,h),me(f,e,p);const n=document.createComment(`@@${c}:${f}`);t.replaceWith(n)}"if"===d?(a.length=0,i=p):"elseif"===d?i=p:"else"===d&&(i=null,a.length=0)}}async function As(e){const t=e.querySelectorAll(n.tagNames.state),o=[];await customElements.whenDefined(n.tagNames.state);for(const e of t){const t=e;o.push(t.initializePromise)}await Promise.all(o)}async function Ps(e){if(e===document)await As(document),as(document),Is(document,document),ss(document.body,null);else{const t=e;t.host.hasAttribute(n.bindAttributeName)&&await a(t.host),await As(t),as(t),Is(t,t),ss(t,null)}}const _s="1.21.5",$s="undefined"==typeof HTMLElement?class{}:HTMLElement,Ts=/^@@wcs-(?:for|if|elseif|else):[^-]/,ks=/^@@wcs-(for|if|elseif|else)-start:(.+)$/,Cs=/^@@wcs-(for|if|elseif|else)-end:(.+)$/,Es=/^@@wcs-text-start:(.+)$/;function Ms(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}class Os extends $s{_stateData=null;_templates=null;_hydrateProps=null;get name(){return this.getAttribute("name")||"default"}get version(){return this.getAttribute("version")||""}get stateData(){return null===this._stateData&&(this._stateData=this._loadStateData()),this._stateData}get templates(){return null===this._templates&&(this._templates=this._loadTemplates()),this._templates}get hydrateProps(){return null===this._hydrateProps&&(this._hydrateProps=this._loadHydrateProps()),this._hydrateProps}getTemplate(e){return this.templates.get(e)??null}verifyVersion(){const e=this.version;if(!e)return!0;const t=e.split("."),n=_s.split(".");return t[0]===n[0]&&t[1]===n[1]}setStateData(e){this._stateData=e}setHydrateProps(e){this._hydrateProps=e}_loadStateData(){const e=this.querySelector('script[type="application/json"]:not([data-wcs-ssr-props])');if(!e)return{};try{return JSON.parse(e.textContent||"{}")}catch{return{}}}_loadTemplates(){const e=new Map,t=this.querySelectorAll("template[id]");for(const n of t){const t=n.getAttribute("id");t&&e.set(t,n)}return e}_loadHydrateProps(){const e=this.querySelector("script[data-wcs-ssr-props]");if(!e)return{};try{return JSON.parse(e.textContent||"{}")}catch{return{}}}static findByName(e,t){const o=n.tagNames.ssr,s=e instanceof Element?e:e instanceof Document?e.documentElement:null;if(!s)return null;return s.querySelector(`${o}[name="${t}"]`)}static extractStateData(e){const t=e.__state;if(!t||"object"!=typeof t)return{};const n={};for(const[e,o]of Object.entries(t))e.startsWith("$")||"function"==typeof o||(n[e]=o);return n}static buildContent(e,t){const o=document.createElement("script");o.setAttribute("type","application/json"),o.textContent=Ms(JSON.stringify(t)),e.appendChild(o);const s=Array.from(he.keys());for(const t of s){const o=ge(t);if(!o)continue;const s=document.createElement("template");s.setAttribute("id",t);const r=o.parseBindTextResult,i="else"===r.bindingType?"else:":`${r.bindingType}: ${r.statePathName}`;s.setAttribute(n.bindAttributeName,i);const a=o.fragment.cloneNode(!0);s.content.appendChild(a),e.appendChild(s)}const r=Array.from(zo);if(r.length>0){const t={};for(let e=0;e<r.length;e++){const n=r[e],o=Fo(n);if(0===o.length)continue;const s=`wcs-ssr-${e}`;n.setAttribute("data-wcs-ssr-id",s);const i={};for(const e of o)i[e.propName]=e.value;t[s]=i}if(Object.keys(t).length>0){const n=document.createElement("script");n.setAttribute("type","application/json"),n.setAttribute("data-wcs-ssr-props",""),n.textContent=Ms(JSON.stringify(t)),e.appendChild(n)}}zo.clear()}static removeBlockBoundaryComments(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){const e=t.currentNode;(ks.test(e.data)||Cs.test(e.data))&&n.push(e)}for(const e of n)e.remove()}static removeStructuralComments(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){const e=t.currentNode;Ts.test(e.data)&&n.push(e)}for(const e of n)e.remove()}static restoreTextBindings(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){const e=t.currentNode,o=Es.exec(e.data);o&&n.push({comment:e,path:o[1]})}for(const{comment:e,path:t}of n){const n=document.createComment(`@@: ${t}`);e.parentNode.insertBefore(n,e);let o=e.nextSibling;e.remove();const s=`@@wcs-text-end:${t}`;for(;o;){const e=o.nextSibling;if(o.nodeType===Node.COMMENT_NODE&&o.data===s){o.parentNode.removeChild(o);break}o.parentNode.removeChild(o),o=e}}}static cleanupDom(e){const t=document.body,o=e.querySelectorAll(n.tagNames.ssr),s=new Map;for(const e of o){const t=e.querySelectorAll("template[id]");for(const e of t){const t=e.getAttribute("id");t&&s.set(t,e)}}const r=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT),i=[];for(;r.nextNode();){const e=r.currentNode;ks.test(e.data)&&i.push(e)}for(const e of i){const t=ks.exec(e.data),n=`@@wcs-${t[1]}-end:${t[2]}`;let o=e.nextSibling;for(;o;){const e=o.nextSibling;if(o.nodeType===Node.COMMENT_NODE&&o.data===n){o.remove();break}o.remove(),o=e}e.remove()}Os.restoreTextBindings(t);const a=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT),l=[];for(;a.nextNode();){const e=a.currentNode;if(Ts.test(e.data)){const t=e.data.split(":")[1];l.push({comment:e,uuid:t})}}for(const{comment:e,uuid:t}of l){const o=s.get(t);if(o){const t=document.createElement("template"),s=o.getAttribute(n.bindAttributeName);s&&t.setAttribute(n.bindAttributeName,s);const r=document.importNode(o.content,!0);if(r.childNodes.length>0)t.content.appendChild(r);else for(const e of Array.from(o.childNodes))t.content.appendChild(document.importNode(e,!0));e.parentNode.replaceChild(t,e)}}const c=e.querySelectorAll("[data-wcs-ssr-id]");for(const e of c)e.removeAttribute("data-wcs-ssr-id");for(const e of o)e.remove()}}const Ds=new Set(["for","if","elseif","else"]);function Rs(e){const t=new Wn;if(0===e.length)return{bindingInfos:[],subscriberNodes:[],bindingSession:t};const n=e[0].parentNode,o=e[e.length-1].nextSibling,s=document.createElement("div");for(const t of e)s.appendChild(t);const[r,i]=ve(s),a=t.initialize(i,{registerAddress:!1,applyOnReconnect:!1});if(n)for(;s.firstChild;)n.insertBefore(s.firstChild,o);return{bindingInfos:a,subscriberNodes:r,bindingSession:t}}function Ws(e,t,o){const s={for:n.commentForPrefix,if:n.commentIfPrefix,elseif:n.commentElseIfPrefix,else:n.commentElsePrefix}[t];if(!s)return null;const r=`@@${s}:${o}`,i=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT);for(;i.nextNode();){const e=i.currentNode;if(e.data===r)return e}return null}function Ls(e,t){const o=e;let s=null;for(const[e,r]of t.templates){let t=ce(r.getAttribute(n.bindAttributeName)||"")[0];const i=t.bindingType;"else"===i&&s?t={...s,outFilters:[...s.outFilters,ds()],bindingType:"else"}:"elseif"===i&&s&&(t={...t,stateName:s.stateName}),"if"===i||"elseif"===i?s=t:"else"===i&&(s=null);const a=document.importNode(r.content,!0),l="for"===i?t.statePathName:void 0;ws(a),"string"==typeof l&&gs(a,l),Is(o,a,l);me(e,o,{fragment:a,parseBindTextResult:t,nodeInfos:ys(a)})}}async function Bs(e){await As(e);const t=e.querySelectorAll(n.tagNames.ssr);for(const n of t){const t=n;if(!t.verifyVersion())return console.warn(`[@wcstack/state] SSR version mismatch: server="${t.version}", client="${_s}". Falling back to full render.`),Os.cleanupDom(e),!1}for(const n of t)Ls(e,n);const o=function(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),o=[];for(;n.nextNode();)o.push(n.currentNode);for(const e of o){const n=ks.exec(e.data);if(!n)continue;const o=n[1],s=n[2],r=s.split(":");let i,a,l=null;"for"===o?(i=r[0],a=r[1],l=parseInt(r[2],10)):(i=r[0],a=r.slice(1).join(":"));const c=[];let d=e.nextSibling;const u=`@@wcs-${o}-end:${s}`;for(;d&&(d.nodeType!==Node.COMMENT_NODE||d.data!==u);)c.push(d),d=d.nextSibling;t.push({type:o,uuid:i,path:a,index:l,nodes:c})}return t}(document.body);!function(e,t){const n=new Map;for(const o of t){if(0===o.nodes.length)continue;const t=_o(o.nodes),{bindingInfos:s,subscriberNodes:r,bindingSession:i}=Rs(o.nodes);po(t,i);for(const e of r)e.nodeType===Node.ELEMENT_NODE&&e.setAttribute("data-wcs-completed","");co(t,s),go(t,r);const a=[];for(const e of s)e.statePathName in p&&a.push(e);if(Gn(t,a),"for"===o.type&&null!==o.index){const r=Ws(e,"for",o.uuid);if(r){const e=Qn(null,o.index);Mo(r,e,t),Oo(r,o.nodes[o.nodes.length-1]),So(r,t),bo(t,lt(T(o.path+"."+c),e)),i.initialize(s,{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1});let a=n.get(o.uuid);a||(a=[],n.set(o.uuid,a)),a.push(e)}}else{const n=Ws(e,o.type,o.uuid);n&&(So(n,t),i.initialize(s,{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1}))}}for(const[t,o]of n){const n=Ws(e,"for",t);if(!n)continue;const s=n.getRootNode(),r=ge(t);if(!r)continue;const i=r.parseBindTextResult.stateName,a=r.parseBindTextResult.statePathName,l=qs(s,i);l&&l.createState("readonly",e=>{const t=e[a];Array.isArray(t)&&to(t,o)})}}(document.body,o),Os.removeBlockBoundaryComments(document.body);const s=[];for(const e of t)e.parentNode&&(s.push({el:e,parent:e.parentNode,next:e.nextSibling}),e.remove());Os.restoreTextBindings(document.body);const[r,i]=ve(document.body);for(const e of r)if(e.nodeType===Node.ELEMENT_NODE){const t=e;t.hasAttribute("data-wcs-completed")||(Ae(e,null),t.setAttribute("data-wcs-completed",""))}else Ae(e,null);const a=[],l=[],d=Ln(document.body).initialize(i);for(const e of d)if("event"!==e.bindingType)if(Ds.has(e.bindingType))l.push(e);else{if(e.statePathName.includes(c))continue;a.push(e)}for(const e of l)if("for"===e.bindingType){const t=Qe(e),n=qs(e.replaceNode.getRootNode(),e.stateName);n&&n.createState("readonly",n=>{const o=n[e.statePathName];Array.isArray(o)&&$e(t,o)})}os(a);for(const{el:e,parent:t,next:n}of s)t.insertBefore(e,n);const u=e.querySelectorAll(n.tagNames.ssr);for(const t of u){const n=t.hydrateProps;for(const[t,o]of Object.entries(n)){const n=e.querySelector(`[data-wcs-ssr-id="${t}"]`);if(n)for(const[e,t]of Object.entries(o))n[e]=t}}const f=e.querySelectorAll("[data-wcs-completed]");for(const e of f)e.removeAttribute("data-wcs-completed");return!0}const js=new WeakMap,Fs=new WeakMap,zs=new Set;function qs(e,t){let n=js.get(e);return n&&n.get(t)||null}function Vs(e){return Fs.get(e)??Promise.resolve()}function Us(t,o,s){let r=js.get(t);if(null===s){if(!r)return;const e=r.get(o);r.delete(o),0===r.size&&js.delete(t),void 0!==e&&(zs.delete(e),null!==et&&et({type:"state:element-unregistered",name:o,rootNode:t,element:e})),n.debug&&console.debug(`State element unregistered: name="${o}"`)}else{if(!r){r=new Map,js.set(t,r);const n=!e()&&s.hasAttribute?.("enable-ssr");if("HTMLDocument"===t.constructor.name||"Document"===t.constructor.name){const e=new Promise(e=>{queueMicrotask(async()=>{if(n){await Bs(t)||await Ps(t)}else await Ps(t);e()})});Fs.set(t,e)}else if("ShadowRoot"===t.constructor.name){const e=new Promise(e=>{queueMicrotask(async()=>{await Ps(t),e()})});Fs.set(t,e)}}r.has(o)&&j(`State element with name "${o}" is already registered.`),r.set(o,s),zs.add(s),null!==et&&et({type:"state:element-registered",name:o,rootNode:t,element:s}),n.debug&&console.debug(`State element registered: name="${o}"`,s)}}const Hs=new Set;function Gs(e){Hs.add(e)}const Js=new class{_queueUpdateRecords=[];constructor(){}enqueueAbsoluteAddress(e,t=null){const n=0===this._queueUpdateRecords.length;this._queueUpdateRecords.push({absoluteAddress:e,context:t}),n&&queueMicrotask(()=>{const e=this._queueUpdateRecords;this._queueUpdateRecords=[],this._applyChange(e)})}testApplyChange(e,t){this._applyChange(e.map((e,n)=>({absoluteAddress:e,context:t?.[n]??null})))}_applyChange(e){const t=new Map;for(const n of e){const e=t.get(n.absoluteAddress);null!==et&&null!=e&&null!==n.context&&e.transactionId!==n.context.transactionId&&et({type:"propagation:coalesced",absoluteAddress:n.absoluteAddress,droppedTransactionId:e.transactionId,winnerTransactionId:n.context.transactionId}),t.set(n.absoluteAddress,n.context)}const n=[],o=new Map;for(const[e,s]of t){if(null!==s&&s.hop>=32){console.error("[@wcstack/state] propagation hop limit exceeded; update record quarantined.",{path:e.absolutePathInfo.pathInfo.path,stateName:e.absolutePathInfo.stateName,transactionId:s.transactionId,hop:s.hop,maxHops:32}),null!==et&&et({type:"propagation:hop-limit",absoluteAddress:e,transactionId:s.transactionId,hop:s.hop});continue}const t=nt(e);if(void 0!==t)for(const e of t)!1!==e.replaceNode.isConnected&&(n.push(e),null!==s&&o.set(e,s))}o.size>0?os(n,o):os(n),function(e){for(const t of Hs)t(e)}(new Set(t.keys()))}};function Ks(){return Js}const Ys="__WCSTACK_DEVTOOLS_HOOK__";function Xs(){const e=globalThis,t=e[Ys];if(void 0!==t)return 1!==t.version&&console.warn(`[wcstack/state] devtools hook registry version mismatch: found ${t.version}, expected 1. Keeping the existing registry (first-wins).`),t;const n=function(){const e=new Map,t=new Set,n=e=>{if(0===t.size)return void e._setSink(null);const n=e.id;e._setSink(e=>{for(const o of t)o.onEvent?.(n,e)})};return{version:1,sources:e,register(o){if(!e.has(o.id)){e.set(o.id,o),n(o);for(const e of t)e.onSourceRegistered?.(o)}},unregister(n){const o=e.get(n);if(void 0!==o){o._setSink(null),e.delete(n);for(const e of t)e.onSourceUnregistered?.(n)}},addListener(o){t.add(o);for(const t of e.values())n(t),o.onSourceRegistered?.(t);return()=>{if(t.delete(o))for(const t of e.values())n(t)}}}}();return e[Ys]=n,n}const Qs=e=>{null!==et&&et({type:"state:update-batch",addresses:e})};function Zs(e){const t=null!==et;!function(e){et=e}(e);const n=null!==e;var o;n&&!t?Gs(Qs):!n&&t&&(o=Qs,Hs.delete(o))}function er(e){return{name:e.name,rootNode:e.rootNode,element:e,paths:{list:e.listPaths,element:e.elementPaths,getter:e.getterPaths,setter:e.setterPaths},commandTokenNames:e.commandTokenNames,eventTokenNames:e.eventTokenNames,staticDependency:e.staticDependency,dynamicDependency:e.dynamicDependency}}function tr(e,t){return qs(t,e)??j(`devtools: state element not found: name="${e}"`)}let nr=null;function or(){if(e())return;if(null!==nr)return;const t={id:"state:"+Math.random().toString(36).slice(2,10),kind:"state",packageVersion:_s,getStateElements(){const e=[];for(const t of zs)e.push(er(t));return e},keys(e,t){const n=tr(e,t),o=[];return n.createState("readonly",e=>{for(const t of Object.keys(e))if(!t.includes("*")&&!t.startsWith("$")){try{if("function"==typeof e[t])continue}catch{}o.push(t)}}),o},read(e,t,n,o){let s;return tr(e,t).createState("readonly",e=>{s=e.$resolve(n,o??[])}),s},write(e,t,n,o,s){tr(e,t).createState("writable",e=>{void 0!==s&&s.length>0?e.$resolve(n,s,o):e[n]=o})},_setSink:Zs};nr=t,Xs().register(t)}async function sr(e,t){let n=null;const o=`\n//# sourceURL=${t}\n`;if("function"==typeof URL.createObjectURL){const t=new Blob([e.text+o],{type:"application/javascript"}),s=URL.createObjectURL(t);try{n=await import(s)}finally{URL.revokeObjectURL(s)}}else{const t=btoa(String.fromCodePoint(...(new TextEncoder).encode(e.text+o)));n=await import(`data:application/javascript;base64,${t}`)}return n&&"object"==typeof n.default?n.default:{}}async function rr(e){try{return(await import(e)).default||{}}catch(e){j(`Failed to load script file: ${e}`)}}class ir{_loopContextStack=Array(d).fill(void 0);_length=0;createLoopContext(e,t){null===e.listIndex&&j("Cannot create loop context for a state address that does not have a list index.");const n=e;this._length>=d&&j("Exceeded maximum loop context stack depth of 128. Possible infinite loop.");const o=this._loopContextStack[this._length-1];if(void 0!==o){o.pathInfo.wildcardCount+1!==n.pathInfo.wildcardCount&&j("Cannot push loop context for a list whose wildcard count is not exactly one more than the current active loop context.");const e=n.pathInfo.wildcardPathInfos[n.pathInfo.wildcardPathInfos.length-2];o.pathInfo!==e&&j("Cannot push loop context for a list whose parent wildcard path info does not match the current active loop context.")}else n.listIndex.length!==n.pathInfo.wildcardCount&&j(`Cannot push loop context when there is no active loop context: the list index chain (length ${n.listIndex.length}) does not cover the wildcard path (wildcard count ${n.pathInfo.wildcardCount}).`);let s;this._loopContextStack[this._length]=n,this._length++;try{s=t(n)}finally{s instanceof Promise?s.finally(()=>{this._length--,this._loopContextStack[this._length]=void 0}):(this._length--,this._loopContextStack[this._length]=void 0)}return s}}const ar=new WeakMap;function lr(e,t){let n=ar.get(e);void 0===n&&(n=new Map,ar.set(e,n));let o=n.get(t);return void 0===o&&(o=new At(t,e.name),n.set(t,o)),o}const cr=new WeakMap;function dr(e){const t=cr.get(e);if(void 0!==t)return t;const n=new Proxy(Object.create(null),{get(t,n){if("string"==typeof n&&e.commandTokenNames.has(n))return lr(e,n)},has:(t,n)=>"string"==typeof n&&e.commandTokenNames.has(n),ownKeys:()=>Array.from(e.commandTokenNames),getOwnPropertyDescriptor(t,n){if("string"==typeof n&&e.commandTokenNames.has(n))return{configurable:!0,enumerable:!0,value:lr(e,n)}},set(){j("$command namespace is read-only; assigning to it is not allowed.")},deleteProperty(){j("$command namespace is read-only; deleting from it is not allowed.")}});return cr.set(e,n),n}const ur=Symbol("wcs-stream-last-notified-uncertain"),fr=new WeakMap;function pr(e,t){const n=fr.get(e);if(void 0!==n)for(const e of n.keys())t.has(e)||n.delete(e)}function hr(e,t){const n=fr.get(e);if(void 0===n)return;const o=n.get(t);void 0!==o&&n.set(t,{status:"idle"===o.status?o.status:ur,error:Object.is(o.error,null)?null:ur})}const mr=new Set;function gr(e){mr.delete(e)}function br(){return mr}const yr=new WeakMap;function wr(e){return yr.get(e)??new Map}function Nr(e){gr(e);const t=yr.get(e);if(void 0!==t)for(const n of t.values())n.controller?.abort(),n.controller=null,n.status="idle",n.error=null,hr(e,n.name)}const vr=(e,t)=>t,Sr=new Set;function xr(e,t){const n=t[x];if(void 0===n)return void pr(e,Sr);"object"==typeof n&&null!==n||j(`${x} must be an object mapping stream names to stream definitions.`);const o=new Map;for(const[s,r]of Object.entries(n)){0===s.length&&j(`${x} entry name must be a non-empty string.`),s.includes(l)&&j(`${x} entry "${s}" must be a flat property name ("${l}" is not allowed).`),s.includes(c)&&j(`${x} entry "${s}" must be a flat property name ("${c}" is not allowed).`),s.startsWith("$")&&j(`${x} entry "${s}" must not start with "$" (reserved namespace).`),s in Object.prototype&&j(`${x} entry "${s}" must not be a property name inherited from Object.prototype (e.g. "__proto__", "constructor").`),e.getterPaths.has(s)&&j(`${x} entry "${s}" conflicts with a getter declared on the state.`),e.setterPaths.has(s)&&j(`${x} entry "${s}" conflicts with a setter declared on the state.`),"object"==typeof r&&null!==r||j(`${x} entry "${s}" must be an object ({ args?, source, fold?, initial? }).`);const n=r;"function"!=typeof n.source&&j(`${x} entry "${s}" source must be a function.`);const i=void 0!==n.fold;i&&"function"!=typeof n.fold&&j(`${x} entry "${s}" fold must be a function.`),i&&!("initial"in n)&&j(`${x} entry "${s}" requires "initial" when fold is specified (reduce needs a seed value).`);void 0!==n.args&&"function"!=typeof n.args&&j(`${x} entry "${s}" args must be a function.`);const a={name:s,definition:{args:n.args??null,source:n.source,fold:n.fold??vr,initial:n.initial},status:"idle",error:null,controller:null,depAddresses:new Set};s in t||(t[s]=a.definition.initial),o.set(s,a)}!function(e,t){yr.set(e,t)}(e,o),pr(e,new Set(o.keys()))}const Ir=new WeakMap,Ar=new WeakMap;function Pr(e,t,n){return new Proxy(Object.create(null),{get(t,o){if("string"!=typeof o)return;const s=wr(e).get(o);return void 0!==s?n(s):void 0},has:(t,n)=>"string"==typeof n&&wr(e).has(n),ownKeys:()=>Array.from(wr(e).keys()),getOwnPropertyDescriptor(t,o){if("string"!=typeof o)return;const s=wr(e).get(o);return void 0!==s?{configurable:!0,enumerable:!0,value:n(s)}:void 0},set(){j(`${t} namespace is read-only; assigning to it is not allowed.`)},deleteProperty(){j(`${t} namespace is read-only; deleting from it is not allowed.`)}})}function _r(e){const t=Ir.get(e);if(void 0!==t)return t;const n=Pr(e,I,e=>e.status);return Ir.set(e,n),n}function $r(e){const t=Ar.get(e);if(void 0!==t)return t;const n=Pr(e,A,e=>e.error);return Ar.set(e,n),n}function Tr(e){Ir.delete(e),Ar.delete(e)}let kr=null;async function Cr(e,t,n,o){let s=null,r=null;const i=()=>{if(s&&s!==r){r=s;try{s.return?.()?.then?.(void 0,()=>{})}catch{}}};n.addEventListener("abort",i,{once:!0});try{const r=await e(t,n);if(s=function(e,t){if("function"==typeof e?.[Symbol.asyncIterator])return e;if("function"!=typeof e?.getReader)throw new TypeError("[@wcstack/state] $streams: source must return an AsyncIterable or a ReadableStream (got neither).");return async function*(e,t){const n=e.getReader(),o=()=>{n.cancel().catch(()=>{})};t.addEventListener("abort",o,{once:!0});try{for(;;){const{done:e,value:t}=await n.read();if(e)return;yield t}}finally{t.removeEventListener("abort",o),n.releaseLock()}}(e,t)}(r,n)[Symbol.asyncIterator](),n.aborted)return void i();for(;;){const e=await s.next();if(e.done)break;if(n.aborted)return;o.fold(e.value)}if(n.aborted)return;o.done()}catch(e){if(n.aborted)return;o.fail(e)}finally{n.removeEventListener("abort",i)}}function Er(e){const t=wr(e);if(0!==t.size){!function(e){mr.add(e)}(e);for(const n of t.values())Mr(e,n)}}function Mr(e,t){t.controller?.abort();const n=new AbortController;t.controller=n;const o=function(e,t){const n=t.definition.args;if(null===n)return void t.depAddresses.clear();const o=kr,s=new Set;let r;kr=s;try{e.createState("readonly",e=>{r=n(e)})}finally{kr=o}r instanceof Promise&&j(`${x} entry "${t.name}" args must be synchronous (it returned a Promise).`);const i=`${I}${l}${t.name}`,a=`${A}${l}${t.name}`;for(const n of s){const o=n.absolutePathInfo.pathInfo;n.absolutePathInfo.stateElement!==e||o.path!==t.name&&o.path!==i&&o.path!==a||j(`${x} entry "${t.name}" args must not read the stream itself ("${o.path}"): a self-dependency would restart the stream on its own writes (infinite loop).`),o.wildcardCount>0&&j(`${x} entry "${t.name}" args must not read wildcard paths ("${o.path}"): wildcard dependencies are out of scope.`)}return t.depAddresses=s,r}(e,t);e.createState("writable",e=>{e[t.name]=t.definition.initial}),Or(e,t,"active",null);const s=t.definition,r={fold(n){e.createState("writable",e=>{e[t.name]=s.fold(e[t.name],n)})},done(){Or(e,t,"done",null)},fail(o){Or(e,t,"error",o),n.abort()}};Cr(s.source,o,n.signal,r)}function Or(e,t,n,o){t.status=n,t.error=o;const s=function(e,t){return fr.get(e)?.get(t)??{status:"idle",error:null}}(e,t.name),r=s.status!==n,i=!Object.is(s.error,o);(r||i)&&(!function(e,t,n,o){let s=fr.get(e);void 0===s&&(s=new Map,fr.set(e,s)),s.set(t,{status:n,error:o})}(e,t.name,n,o),e.createState("writable",e=>{r&&e.$postUpdate(`${I}${l}${t.name}`),i&&e.$postUpdate(`${A}${l}${t.name}`)}))}function Dr(e){return function(){const t=this.stateElement;if(!t)return;let n;try{t.createState("readonly",t=>{n=t[e]})}catch(t){return void console.warn(`[@wcstack/state] DCC getter "${e}" failed:`,t)}return n}}function Rr(e){return function(t){const n=this.stateElement;n&&n.initializePromise.then(()=>{n.createState("writable",n=>{n[e]=t})})}}function Wr(e,t){return t?function(...t){const n=this.stateElement;if(n)return n.initializePromise.then(()=>{let o;return n.createStateAsync("writable",async n=>{o=await n[e](...t)}).then(()=>o)})}:function(...t){const n=this.stateElement;if(n)return n.initializePromise.then(()=>{let o;return n.createState("writable",n=>{o=n[e](...t)}),o})}}function Lr(e){return e.startsWith("$")}Gs(function(e){const t=br();if(0===t.size)return;const n=[];for(const o of t)for(const t of wr(o).values())for(const s of t.depAddresses)if(e.has(s)){n.push({stateElement:o,entry:t});break}for(const{stateElement:e,entry:o}of n)if(t.has(e)&&wr(e).get(o.name)===o)try{Mr(e,o)}catch(n){o.controller?.abort(),t.has(e)&&wr(e).get(o.name)===o&&Or(e,o,"error",n)}});const Br=new Map;class jr{path;segments;wildcardCount;wildcardType;wildcardIndexes;pathInfo;constructor(e){const t=e.split("."),n=t.slice();let o=0,s=0,r=0,i="none";const a=[];for(let e=0;e<t.length;e++){const i=t[e];if("*"===i)n[e]="*",a.push(null),o++,r++;else{const t=Number(i);Number.isNaN(t)||(n[e]="*",a.push(t),s++,r++)}}const l=T(n.join("."));(o>0||s>0)&&(i=o===r?"context":s===r?"all":"partial"),this.path=e,this.segments=t,this.wildcardCount=r,this.wildcardType=i,this.wildcardIndexes=a,this.pathInfo=l}}function Fr(e){let t;return Br.get(e)??(Br.set(e,t=new jr(e)),t)}const zr=new WeakMap;function qr(e,t){null===t?zr.delete(e):zr.set(e,t)}function Vr(e){const t=zr.get(e);t&&(t.dirty=!0)}function Ur(e,t){let n=e;for(let e=1;e<t.length;e++){if(Object(n)!==n)return;n=Reflect.get(n,t[e])}return n}function Hr(e,t,n,o,s){const r=t.pathInfo.segments[0];if(r===N)return Ur(dr(s),t.pathInfo.segments);if(r===I)return Ur(_r(s),t.pathInfo.segments);if(r===A)return Ur($r(s),t.pathInfo.segments);if(!(t.pathInfo.path in e)){const s=Jr(e,t.parentAddress??j(`address.parentAddress is undefined path: ${t.pathInfo.path}`),n,o),r=t.pathInfo.segments[t.pathInfo.segments.length-1];if(r===c){const e=t.listIndex?.index??j(`address.listIndex?.index is undefined path: ${t.pathInfo.path}`);return Reflect.get(s,e)}return Reflect.get(s,r)}if(!s.getterPaths.has(t.pathInfo.path))return Reflect.get(e,t.pathInfo.path);o.pushAddress(t);try{return Reflect.get(e,t.pathInfo.path,n)}finally{o.popAddress()}}function Gr(e,t,n,o,s){const r=qe(Le(s,t.pathInfo),t.listIndex),i=function(e){return zr.get(e)??null}(r);if(null!==i&&!1===i.dirty)return i.value;const a=Hr(e,t,n,o,s);return qr(r,{value:a,dirty:!1}),a}function Jr(e,t,n,o){!function(e,t){if(e.addressStackLength>0){const n=e.lastAddressStack,o=n?.pathInfo??null,s=e.stateElement;if(null!==o&&s.getterPaths.has(o.path)&&o.path!==t.pathInfo.path&&(s.addDynamicDependency(t.pathInfo.path,o.path),t.pathInfo.wildcardCount>0&&o.wildcardCount>0)){const e=Je(t.pathInfo,o);if(e>0){let o=!1;for(let s=0;s<e;s++)if(t.listIndex?.at(s)!==n.listIndex?.at(s)){o=!0;break}if(o)for(let n=0;n<e;n++)s.addCrossRowListPath?.(t.pathInfo.wildcardParentPaths[n])}}}}(o,t),function(e,t){if(null===kr)return;const n=Le(e,t.pathInfo);kr.add(qe(n,t.listIndex))}(o.stateElement,t);const s=o.stateElement;return t.pathInfo.wildcardCount>0||s.getterPaths.has(t.pathInfo.path)?Gr(e,t,n,o,s):Hr(e,t,n,o,s)}function Kr(e,t){if(0===e.addressStackLength)return null;const n=e.lastAddressStack;if(null===n)return null;const o=n.pathInfo.indexByWildcardPath[t];return void 0===o?null:n.listIndex?.at(o)??null}function Yr(e,t,n,o){if(t.pathInfo.path in e)return!0;const s=t.parentAddress;if(null===s)return!1;const r=Jr(e,s,n,o);if(null===r||"object"!=typeof r&&"function"!=typeof r)return!1;const i=t.pathInfo.lastSegment;if(i===c){const e=t.listIndex?.index;return"number"==typeof e&&e in r}return i in r}const Xr=new WeakMap;function Qr(e,t){null===t?Xr.delete(e):Xr.set(e,t)}function Zr(e,t,o){const s=T(e.wildcardParentPaths[t]),r=Le(e.stateElement,s),i=lt(s,o),a=_e(qe(r,o)),l=e.stateProxy[Ce](i),c=function(e,t){switch(t){case"old":return e.oldIndexes;case"new":return e.newIndexes;case"add":return e.addIndexSet;case"change":return e.changeIndexSet;case"delete":return e.deleteIndexSet;default:return n.debug&&console.log(`Invalid search type: ${t}`),[]}}(ro(i.listIndex,a,l),e.searchType);if(t===e.wildcardPaths.length-1)e.targetListIndexes.push(...c);else for(const n of c)Zr(e,t+1,n)}const ei=[];function ti(e,t,n,o,s){return"full"===e.listExpansion||e.stateElement.crossRowListPaths?.has(t)?{fullRows:s.newIndexes,movedRows:null}:0===s.addIndexSet.size&&0===s.changeIndexSet.size?0===s.deleteIndexSet.size?{fullRows:s.newIndexes,movedRows:null}:{fullRows:ei,movedRows:null}:{fullRows:s.addIndexSet,movedRows:s.changeIndexSet}}const ni=[];function oi(e,t,n){const o=e.stateElement.indexDependentGetterPaths;if(!o||0===o.size)return ni;let s=null;const r=[t],i=new Set(r);for(let t=0;t<r.length;t++){const a=r[t];if(o.has(a)){const e=T(a);if(e.wildcardCount!==n.wildcardCount)return null;(s??=[]).push(e)}const l=e.staticMap.get(a);if(l)for(const e of l)i.has(e)||(i.add(e),r.push(e))}return s??ni}function si(e,t,n,o,s,r,i,a,l,d){const u=n.pathInfo.path;if(!o.has(u)&&!s.has(u))return l(n),[];const f={stateElement:t,staticMap:o,dynamicMap:s,result:new Set,listPathSet:r,visited:new Set,stateProxy:i,searchType:a,listExpansion:d?.listExpansion??"full"};return function(e,t,n){const o=[{address:t,depth:0}];for(;o.length>0;){const{address:t,depth:s}=o.pop();if(s>1e3&&j(`Maximum dependency depth of 1000 exceeded. Possible circular dependency detected at path: ${t.pathInfo.path}`),e.visited.has(t))continue;e.visited.add(t),n(t);const r=t.pathInfo.path,i=s+1,a=[],l=e.staticMap.get(r);if(l)for(const n of l){const o=T(n);if(e.listPathSet.has(r)&&o.lastSegment===c){const s=e.stateProxy[Ce](t),l=_e(qe(Le(e.stateElement,t.pathInfo),t.listIndex)),c=ti(e,r,0,0,ro(t.listIndex,l,s));for(const t of c.fullRows){const n=lt(o,t);e.result.add(n),a.push({address:n,depth:i})}if(null!==c.movedRows){const t=oi(e,n,o);if(null===t)for(const t of c.movedRows){const n=lt(o,t);e.result.add(n),a.push({address:n,depth:i})}else if(t.length>0)for(const n of c.movedRows)for(const o of t){const t=lt(o,n);e.result.add(t),a.push({address:t,depth:i})}}}else{const n=lt(o,t.listIndex);e.result.add(n),a.push({address:n,depth:i})}}const d=e.dynamicMap.get(r);if(d)for(const n of d){const o=T(n),s=[];if(o.wildcardCount>0){const n=Je(t.pathInfo,o);if(o.wildcardCount-n>=1){let r;n>0?(null===t.listIndex&&j(`Cannot expand dynamic dependency with wildcard for non-list address: ${t.pathInfo.path}`),r=t.listIndex.at(n-1)):r=null;const i={stateElement:e.stateElement,targetListIndexes:[],wildcardPaths:o.wildcardPaths,wildcardParentPaths:o.wildcardParentPaths,stateProxy:e.stateProxy,searchType:e.searchType};Zr(i,n,r),s.push(...i.targetListIndexes)}else{null===t.listIndex&&j(`Cannot expand dynamic dependency with wildcard for non-list address: ${t.pathInfo.path}`);const e=t.listIndex.at(n-1);s.push(e)}}else s.push(null);for(const t of s){const n=lt(o,t);e.result.add(n),a.push({address:n,depth:i})}}for(let e=a.length-1;e>=0;e--)o.push(a[e])}}(f,n,l),Array.from(f.result)}function ri(e,t,o,s){const r=n.enablePropagationContext?Kt()??Ht(-1):null,i=Ks();i.enqueueAbsoluteAddress(t,r),si(s.stateName,s.stateElement,e,s.stateElement.staticDependency,s.stateElement.dynamicDependency,s.stateElement.listPaths,o,"new",t=>{if(t===e)return;const n=qe(Le(s.stateElement,t.pathInfo),t.listIndex);Vr(n),i.enqueueAbsoluteAddress(n,r)},{listExpansion:"diff"})}function ii(e,t,n,o,s,r){try{if(!(t.pathInfo.path in e)){const n=t.parentAddress;if(null===n)return Reflect.set(e,t.pathInfo.path,o);const i=Jr(e,n,s,r),a=t.pathInfo.segments[t.pathInfo.segments.length-1];if(a===c){const e=t.listIndex?.index??j(`address.listIndex?.index is undefined path: ${t.pathInfo.path}`);return Reflect.set(i,e,o)}return Reflect.set(i,a,o)}if(!r.stateElement.setterPaths.has(t.pathInfo.path))return Reflect.set(e,t.pathInfo.path,o);r.pushAddress(t);try{return Reflect.set(e,t.pathInfo.path,o,s)}finally{r.popAddress()}}finally{ri(t,n,s,r)}}function ai(e,t,n,o,s,r){let i=t.parentAddress??j(`address.parentAddress is undefined path: ${t.pathInfo.path}`),a=function(e){return Xr.get(e)??null}(i);if(null===a){const t=Jr(e,i,s,r)??[],n=eo(t)??[];a={value:[...t],listIndexes:[...n]},Qr(i,a)}try{return ii(e,t,n,o,s,r)}finally{const n=a.value.indexOf(o),l=Jr(e,i,s,r)??[],c=Array.isArray(l)?eo(l)??[]:[],d=t.listIndex.index,u=-1!==n?a.listIndexes[n]:Qn(i.listIndex,-1);c[d]=u;if(new Set(l).size===a.value.length){for(let e=0;e<c.length;e++)c[e].index=e;Qr(i,null)}}}function li(e,t,o,s,r){const i=r.stateElement,a=t.pathInfo.path;if(!(a in e)&&null!==t.parentAddress&&!i.elementPaths.has(a)){const l=Jr(e,t.parentAddress,s,r);if("object"==typeof l&&null!==l){const e=t.pathInfo.lastSegment,d=e===c?t.listIndex?.index:e;let u,f=!1;if(n.sameValueGuard&&(null===o||"object"!=typeof o)){const e=void 0!==d&&d in l,t=void 0!==d?l[d]:void 0;if(e&&Object.is(t,o))return!0;u=t,f=!0}const p=t.pathInfo.wildcardCount>0||i.getterPaths.has(a),h=qe(Le(i,t.pathInfo),t.listIndex);null!==et&&et({type:"state:write",absoluteAddress:h,value:o,oldValue:u,hasOldValue:f});try{return void 0===d&&j(`address.listIndex?.index is undefined path: ${a}`),Reflect.set(l,d,o)}finally{ri(t,h,s,r),p&&qr(h,{value:o,dirty:!1});const e=i.bindableEventMap[a];if(e){const t=i.rootNode;t instanceof ShadowRoot&&t.host.dispatchEvent(new CustomEvent(e,{detail:o,bubbles:!0}))}}}}let l,d=!1;if(n.sameValueGuard&&(null===o||"object"!=typeof o)){const n=Jr(e,t,s,r);if(Yr(e,t,s,r)&&Object.is(n,o))return!0;l=n,d=!0}const u=i.elementPaths.has(t.pathInfo.path),f=t.pathInfo.wildcardCount>0||i.getterPaths.has(t.pathInfo.path),p=qe(Le(i,t.pathInfo),t.listIndex);null!==et&&et({type:"state:write",absoluteAddress:p,value:o,oldValue:l,hasOldValue:d});try{return u?ai(e,t,p,o,s,r):ii(e,t,p,o,s,r)}finally{f&&qr(p,{value:o,dirty:!1});const e=i.bindableEventMap[t.pathInfo.path];if(e){const t=i.rootNode;t instanceof ShadowRoot&&t.host.dispatchEvent(new CustomEvent(e,{detail:o,bubbles:!0}))}}}function ci(e,t,n,o){return(t,s,r)=>{const i=T(t);if(o.addressStackLength>0){const e=o.lastAddressStack?.pathInfo??null,t=o.stateElement;null!==e&&e.path!==i.path&&t.getterPaths.has(e.path)&&t.addDynamicDependency(i.path,e.path)}i.wildcardParentPathInfos.length>s.length&&j(`indexes length is insufficient: ${t}`);let a=null;for(let t=0;t<i.wildcardParentPathInfos.length;t++){const r=i.wildcardParentPathInfos[t],l=lt(r,a),c=eo(Jr(e,l,n,o));null==c&&j(`ListIndexes not found: ${r.path}`);a=c[s[t]]??j(`ListIndex not found: ${r.path}`)}const l=lt(i,a);if(!(void 0!==r))return Jr(e,l,n,o);li(e,l,r,n,o)}}const di=new WeakMap;function ui(e,t,n,o){const s=t.pathInfo;switch(t.wildcardType){case"none":return null;case"context":return Kr(o,s.wildcardPaths.at(-1)??j(`lastWildcardPath is null: ${t.pathInfo.path}`))??j(`ListIndex not found: ${t.pathInfo.path}`);case"all":{let s=null;for(let r=0;r<t.pathInfo.wildcardCount;r++){const i=t.pathInfo.wildcardParentPathInfos[r]??j(`wildcardParentPathInfo is null: ${t.pathInfo.path}`);s=(eo(Jr(e,lt(i,s),n,o))??j(`ListIndex not found: ${i.path}`))[t.wildcardIndexes[r]??j(`wildcardIndex is null: ${t.pathInfo.path}`)]??j(`ListIndex not found: ${i.path}`)}return s}case"partial":j(`Partial wildcard type is not supported yet: ${t.pathInfo.path}`)}}function fi(e,t,n){void 0!==e.loopContext&&j("already in loop context"),e.setLoopContext(t);try{e.pushAddress(t);try{return n()}finally{e.popAddress()}}finally{e.clearLoopContext()}}const pi=`${I}${l}`,hi=`${A}${l}`,mi=new WeakMap;function gi(e,t,n,o){const s=p[t];if(void 0!==s){0===o.addressStackLength&&j(`No active state reference to get list index for "${t.toString()}".`);const e=o.lastAddressStack,n=e?.pathInfo;n&&o.stateElement?.getterPaths.has(n.path)&&o.stateElement.addIndexDependentGetterPath?.(n.path);const r=e?.listIndex;return r?.indexes[s]??j(`ListIndex not found: ${t.toString()}`)}if("string"==typeof t){if("$"===t[0]){switch(t){case"$stateElement":return o.stateElement;case"$getAll":return(t,s)=>function(e,t,n,o){const s=ci(e,0,n,o);return(t,r)=>{const i=new Map,a=T(t);if(o.addressStackLength>0){const e=o.lastAddressStack?.pathInfo??null,t=o.stateElement;null!==e&&e.path!==a.path&&t.getterPaths.has(e.path)&&t.addDynamicDependency(a.path,e.path)}if(void 0===r){for(let e=0;e<a.wildcardParentPathInfos.length;e++){const t=a.wildcardParentPathInfos[e],n=Kr(o,t.path);if(n){r=n.indexes;break}}void 0===r&&(r=[])}const l=(t,s,r,a,c,d,u)=>{const f=t[s]??null;if(null===f)return void u.push(d);const p=lt(f,r),h=di.get(p),m=Jr(e,p,n,o),g=ro(r,h,m).newIndexes,b=a[c]??null;if(i.set(p,m),null===b)for(let e=0;e<g.length;e++){const n=g[e];l(t,s+1,n,a,c+1,d.concat(n.index),u)}else{const e=g[b]??j(`ListIndex not found: ${f.path}`);s+1<t.length?l(t,s+1,e,a,c+1,d.concat(e.index),u):u.push(d.concat(e.index))}},c=[];l(a.wildcardParentPathInfos,0,null,r,0,[],c);const d=[];for(let e=0;e<c.length;e++)d.push(s(a.path,c[e]));for(const[e,t]of i.entries())di.set(e,t);return d}}(e,0,n,o)(t,s);case"$postUpdate":return t=>function(e,t,n,o){const s=o.stateElement;return t=>{const r=Fr(t),i=ui(e,r,n,o),a=lt(r.pathInfo,i),l=qe(Le(s,a.pathInfo),a.listIndex),c=Ks();c.enqueueAbsoluteAddress(l),si(o.stateName,o.stateElement,a,o.stateElement.staticDependency,o.stateElement.dynamicDependency,o.stateElement.listPaths,n,"new",e=>{const t=qe(Le(s,e.pathInfo),e.listIndex);Vr(t),c.enqueueAbsoluteAddress(t)})}}(e,0,n,o)(t);case"$resolve":return(t,s,r)=>ci(e,0,n,o)(t,s,r);case"$trackDependency":return e=>function(e,t,n,o){return e=>{0===o.addressStackLength&&j(`No active state reference to track dependency for path "${e}".`);const t=o.lastAddressStack?.pathInfo??j("Internal error: lastAddressStack is null"),n=o.stateElement;o.stateElement.getterPaths.has(t.path)&&t.path!==e&&n.addDynamicDependency(e,t.path)}}(0,0,0,o)(e);case N:return dr(o.stateElement);case I:return _r(o.stateElement);case A:return $r(o.stateElement)}if(!t.startsWith(pi)&&!t.startsWith(hi))return}const s=Fr(t),r=ui(e,s,n,o),i=lt(s.pathInfo,r);return Jr(e,i,n,o)}if("symbol"==typeof t){const s=function(e){let t=mi.get(e);return void 0===t&&(t=new Map,mi.set(e,t)),t}(o),r=s.get(t);if(void 0!==r)return r;let i;switch(t){case Te:i=(e,t=async()=>{})=>async function(e,t,n){return await fi(e,t,n)}(o,e,t);break;case ke:i=(e,t=()=>{})=>function(e,t,n){return fi(e,t,n)}(o,e,t);break;case Ce:i=t=>Jr(e,t,n,o);break;case Ee:i=t=>Yr(e,t,n,o);break;case Me:i=(t,s)=>li(e,t,s,n,o);break;case Oe:i=()=>async function(e,t,n){const o=Reflect.get(e,h);"function"==typeof o&&await o.call(n)}(e,0,n);break;case De:i=()=>function(e,t,n){const o=Reflect.get(e,m);"function"==typeof o&&o.call(n)}(e,0,n);break;case Re:i=t=>function(e,t,n,o){const s=Reflect.get(e,g);if("function"==typeof s){const e=new Set,r={};for(const n of t){const t=n.absolutePathInfo.pathInfo;let s;if(s=n.absolutePathInfo.stateName===o.stateName?t.path:t.path+"@"+n.absolutePathInfo.stateName,e.add(s),t.wildcardCount>0){const e=n.listIndex.indexes??[],t=r[s];void 0===t?r[s]=[e]:t.push(e)}}return s.call(n,Array.from(e),r)}}(e,t,n,o);break;default:return Reflect.get(e,t,n)}return s.set(t,i),i}}class bi{_stateElement;_stateName;_addressStack=Array(d).fill(void 0);_addressStackIndex=-1;_loopContext;_mutability;constructor(e,t,n){this._stateName=t;const o=qs(e,this._stateName);null===o&&j(`StateHandler: State element with name "${this._stateName}" not found.`),this._stateElement=o,this._mutability=n}get stateName(){return this._stateName}get stateElement(){return this._stateElement}get lastAddressStack(){let e;return this._addressStackIndex>=0&&(e=this._addressStack[this._addressStackIndex]),void 0===e&&j("Last address stack is undefined."),e}get addressStackLength(){return this._addressStackIndex+1}get loopContext(){return this._loopContext}pushAddress(e){this._addressStackIndex++,this._addressStackIndex>=d&&j("Exceeded maximum address stack depth of 128. Possible infinite loop."),this._addressStack[this._addressStackIndex]=e}popAddress(){if(this._addressStackIndex<0)return null;const e=this._addressStack[this._addressStackIndex];return void 0===e&&j(`Address stack at index ${this._addressStackIndex} is undefined.`),this._addressStack[this._addressStackIndex]=void 0,this._addressStackIndex--,e}setLoopContext(e){this._loopContext=e}clearLoopContext(){this._loopContext=void 0}get(e,t,n){return gi(e,t,n,this)}set(e,t,n,o){return"readonly"===this._mutability&&j(`State "${this._stateName}" is readonly.`),function(e,t,n,o,s){if("string"==typeof t){const r=Fr(t),i=ui(e,r,o,s);return li(e,lt(r.pathInfo,i),n,o,s)}return Reflect.set(e,t,n,o)}(e,t,n,o,this)}has(e,t){return Reflect.has(e,t)}}const yi=new WeakMap;const wi=new WeakMap;function Ni(e,t){const n=wi.get(e);return n?n.get(t)??null:null}const vi=new WeakMap,Si=new WeakMap,xi=new WeakMap,Ii=new WeakMap;function Ai(e,t){return{innerAbsPathInfo:Le(e,T(t.propSegments.slice(1).join(l))),outerAbsPathInfo:Qe(t).absolutePathInfo}}function Pi(e,t){let n=vi.get(e);if(void 0===n&&(n=new Map,vi.set(e,n)),n.has(t))return n.get(t);let o=Si.get(e);void 0===o&&(o=new Map,Si.set(e,o));const s=xi.get(e);if(void 0===s)return null;let r=null;for(const e of s)if(t.pathInfo.cumulativePathInfoSet.has(e.innerAbsPathInfo.pathInfo)){e.innerAbsPathInfo.pathInfo.segments.length===t.pathInfo.segments.length&&j("Duplicate mapping rule for web component."),r=e;break}if(null===r)return null;const i=Ii.get(r);void 0===i&&j("Binding not found for primary mapping rule on web component.");const a=t.pathInfo.segments.slice(r.innerAbsPathInfo.pathInfo.segments.length),c=T(r.outerAbsPathInfo.pathInfo.segments.concat(a).join(l)),d=qs(e.getRootNode(),i.stateName);null===d&&j(`State element with name "${i.stateName}" not found for web component.`);const u=Le(d,c);n.set(t,u),o.set(u,t);return function(e,t){const n=U(e);null===n?H(e,[t]):n.push(t)}(e,{...i,propName:t.pathInfo.path,propSegments:t.pathInfo.segments,statePathName:u.pathInfo.path,statePathInfo:u.pathInfo}),u}function _i(e){return function(e){const t=Object.getPrototypeOf(e),n=Object.create(t),o=Object.getOwnPropertyDescriptors(e);for(const e in o){const t=o[e];!1===t.writable&&(t.writable=!0)}return Object.defineProperties(n,o),n}(e)}class $i{_webComponent;_innerStateElement;constructor(e,t){this._webComponent=e,this._innerStateElement=Ni(e,t)??j("State element not found for web component.")}get(e,t,n){if("string"!=typeof t)return Reflect.get(e,t,n);{if("then"===t)return;if("$"===t[0])return;if(this._innerStateElement.getterPaths.has(t)&&t in e)return Reflect.get(e,t,n);const o=T(t),s=Le(this._innerStateElement,o),r=Pi(this._webComponent,s);if(null!==r){const e=Ie(this._webComponent);let t;return r.stateElement.createState("readonly",n=>{n[ke](e,()=>{t=n[r.pathInfo.path];let o=null;null!==e&&null!==e.listIndex&&r.pathInfo.wildcardCount>0&&(o=e.listIndex.at(r.pathInfo.wildcardCount-1));!function(e,t){yi.set(e,t)}(qe(r,o),t)})}),t}if(t in e)return Reflect.get(e,t,n);j(`Property "${t}" not found in inner state: no mapping rule and no local state property.`)}}set(e,t,n,o){if("string"!=typeof t)return Reflect.set(e,t,n,o);{if(this._innerStateElement.setterPaths.has(t)&&t in e)return Reflect.set(e,t,n,o);const s=T(t),r=Le(this._innerStateElement,s),i=Pi(this._webComponent,r);if(null!==i){const e=Ie(this._webComponent);return i.stateElement.createState("writable",t=>{t[ke](e,()=>{t[i.pathInfo.path]=n})}),!0}if(t in e)return Reflect.set(e,t,n,o);j(`Property "${t}" not found in inner state: no mapping rule and no local state property.`)}}has(e,t){if("string"==typeof t){if("$"===t[0])return!1;if((this._innerStateElement.getterPaths.has(t)||this._innerStateElement.setterPaths.has(t))&&t in e)return!0;const n=T(t),o=Le(this._innerStateElement,n);return null!==Pi(this._webComponent,o)||t in e}return Reflect.has(e,t)}}class Ti{_innerStateElement;constructor(e,t){this._innerStateElement=Ni(e,t)??j("State element not found for web component.")}get(e,t,n){if("string"==typeof t){const e=T(t),n=qe(Le(this._innerStateElement,e),null);return o=n,yi.get(o)}return Reflect.get(e,t,n);var o}set(e,t,n,o){if("string"==typeof t){const e=T(t),n=Le(this._innerStateElement,e);return this._innerStateElement.createState("readonly",e=>{e.$postUpdate(n.pathInfo.path)}),!0}return Reflect.set(e,t,n,o)}}class ki{_innerStateElement;constructor(e,t){this._innerStateElement=Ni(e,t)??j("State element not found for web component.")}get(e,t,n){if("string"==typeof t){let e;return this._innerStateElement.createState("readonly",n=>{e=n[t]}),e}return Reflect.get(e,t,n)}set(e,t,n,o){return"string"==typeof t?(this._innerStateElement.createState("writable",e=>{e[t]=n}),!0):Reflect.set(e,t,n,o)}}const Ci=e=>()=>e;function Ei(e,t,o,s){if(function(e,t,n){let o=wi.get(e);o||(o=new Map,wi.set(e,o)),o.set(t,n)}(t,o,e),t.hasAttribute(n.bindAttributeName)){const n=(U(t)??[]).filter(e=>e.propSegments[0]===o);!function(e,t,n){if(0===n.length)return;const o=Ni(e,t);null===o&&j("State element not found for web component.");const s=new Map,r=new Map;for(const t of n){const n=Ai(o,t);let i=xi.get(e);void 0===i?xi.set(e,new Set([n])):i.add(n);const a=n.innerAbsPathInfo,l=n.outerAbsPathInfo;Ii.set(n,t),s.set(a,l),r.set(l,a)}vi.set(e,s),Si.set(e,r)}(t,o,n);const s=function(e,t){const n=new Ti(e,t);return new Proxy({},n)}(t,o),r=function(e,t){const n=new $i(e,t),o=Ni(e,t);null===o&&j("State element not found for web component."),null===o.boundComponentStateProp&&j("State element is not bound to any component state prop."),o.boundComponentStateProp in e||j(`State element is not bound to a valid component state prop: ${o.boundComponentStateProp}`);const s=e[o.boundComponentStateProp];return"object"==typeof s&&null!==s||j(`Invalid state object for component state prop: ${o.boundComponentStateProp}`),new Proxy(_i(s),n)}(t,o);e.setInitialState(r),Object.defineProperty(t,o,{get:Ci(s),enumerable:!0,configurable:!0})}else{e.setInitialState(_i(s));const n=function(e,t){const n=new ki(e,t);return new Proxy({},n)}(t,o);Object.defineProperty(t,o,{get:Ci(n),enumerable:!0,configurable:!0})}if(function(e,t){let n=jn.get(e);n||(n=new WeakMap,jn.set(e,n)),n.set(t,!0)}(t,e),b in t){const e=t[b];"function"==typeof e?e.call(t,o).catch(e=>{j(`Error in ${b}: ${e instanceof Error?e.message:String(e)}`)}):j(`${b} is not a function.`)}}function Mi(e){const t=new Set,n=new Set,o=function(e){let t={},n=e;for(;n&&n!==Object.prototype;)Object.assign(t,Object.getOwnPropertyDescriptors(n)),n=Object.getPrototypeOf(n);return t}(e);for(const[e,s]of Object.entries(o))"function"==typeof s.get&&t.add(e),"function"==typeof s.set&&n.add(e);return{getterPaths:t,setterPaths:n}}class Oi extends $s{static hasConnectedCallbackPromise=!0;static getBindingsReady(e){return Vs(e)}__state;_hasUpdatedCallback=!1;_crossRowListPaths=new Set;_indexDependentGetterPaths=new Set;_name="default";_initialized=!1;_initializePromise;_resolveInitialize=null;_connectedCallbackPromise;_resolveConnectedCallback=null;_loadingPromise;_resolveLoading=null;_setStatePromise=null;_resolveSetState=null;_listPaths=new Set;_elementPaths=new Set;_getterPaths=new Set;_setterPaths=new Set;_loopContextStack=function(){return new ir}();_dynamicDependency=new Map;_staticDependency=new Map;_pathSet=new Set;_version=0;_rootNode=null;_boundComponent=null;_boundComponentStateProp=null;_bindableEventMap={};_commandTokenNames=new Set;_eventTokenNames=new Set;_dcc=!1;_connectGeneration=0;_streamsStartedGeneration=0;constructor(){super(),this._initializePromise=new Promise(e=>{this._resolveInitialize=e}),this._connectedCallbackPromise=new Promise(e=>{this._resolveConnectedCallback=e}),this._loadingPromise=new Promise(e=>{this._resolveLoading=e}),this._setStatePromise=new Promise(e=>{this._resolveSetState=e})}get _state(){return void 0===this.__state&&j(`${n.tagNames.state} _state is not initialized yet.`),this.__state}set _state(t){this._commandTokenNames=function(e){const t=new Set,n=e[w];if(void 0===n)return t;Array.isArray(n)||j(`${w} must be an array of strings.`);for(const e of n)"string"==typeof e&&0!==e.length||j(`${w} entries must be non-empty strings.`),e===N&&j(`${w} entry "${e}" conflicts with the reserved namespace name "${N}".`),t.has(e)&&j(`${w} entry "${e}" is duplicated.`),t.add(e);return t}(t),this._eventTokenNames=function(e){const t=new Set,n=e[v];if(void 0===n)return t;Array.isArray(n)||j(`${v} must be an array of strings.`);for(const e of n)"string"==typeof e&&0!==e.length||j(`${v} entries must be non-empty strings.`),t.has(e)&&j(`${v} entry "${e}" is duplicated.`),t.add(e);return t}(t),this.__state=t,this._hasUpdatedCallback=g in t,St(this),function(e,t,n){const o=t[S];if(void 0!==o){"object"==typeof o&&null!==o||j(`${S} must be an object mapping event-token names to handler functions.`);for(const[t,s]of Object.entries(o))n.has(t)||j(`${S} entry "${t}" is not declared in $eventTokens.`),"function"!=typeof s&&j(`${S} entry "${t}" must be a function.`),vt(e,t).subscribe(s)}}(this,t,this._eventTokenNames),this._listPaths.clear(),this._elementPaths.clear(),this._getterPaths.clear(),this._setterPaths.clear(),this._pathSet.clear();const n=Mi(t);for(const e of n.getterPaths)this._getterPaths.add(e);for(const e of n.setterPaths)this._setterPaths.add(e);var o;Tr(this),Nr(o=this),gr(o),yr.delete(o),xr(this,t),this._initialized&&null!==this._rootNode&&!e()&&(Er(this),this._streamsStartedGeneration=this._connectGeneration),this._resolveLoading?.()}get name(){return this._name}_loadFromSsrElement(){if(!this.hasAttribute("enable-ssr"))return null;const e=this.getAttribute("name")||"default",t=this.parentNode;if(!t)return null;const n=Os.findByName(t,e);if(!n)return null;const o=n.stateData;return Object.keys(o).length>0?o:null}async _initialize(){const t=e()?null:this._loadFromSsrElement();try{if(this.hasAttribute("state")){const e=this.getAttribute("state");this._state=function(e){const t=document.getElementById(e);if(t&&"application/json"===t.type)try{return JSON.parse(t.textContent||"{}")}catch(e){j("Failed to parse JSON from script element:"+e)}return{}}(e)}else if(this.hasAttribute("src")){const e=this.getAttribute("src");e&&e.endsWith(".json")?this._state=await async function(e){try{const t=await fetch(e);return t.ok||j(`Failed to fetch JSON file: ${t.statusText}`),await t.json()}catch(e){return console.error("Failed to load JSON file:",e),{}}}(e):e&&e.endsWith(".js")?this._state=await rr(e):j(`Unsupported src file type: ${e}`)}else if(this.hasAttribute("json")){const e=this.getAttribute("json");this._state=JSON.parse(e)}else{const e=this.querySelector('script[type="module"]');if(e)this._state=await sr(e,`${this._name}`);else{const e=setTimeout(()=>{console.warn(`[@wcstack/state] Warning: No state source found for <${n.tagNames.state}> element with name="${this._name}".`)},6e4);this._state=await this._setStatePromise,clearTimeout(e)}}}catch(e){j(`Failed to initialize state: ${e}`)}if(null!==t&&this.__state)for(const[e,n]of Object.entries(t)){if(e in this.__state){const t=Object.getOwnPropertyDescriptor(this.__state,e);if(t&&(t.get||t.set))continue;if("function"==typeof this.__state[e])continue}this.__state[e]=n}await this._loadingPromise,this._name=this.getAttribute("name")||"default",Us(this.rootNode,this._name,this)}async _initializeBindWebComponent(){if(this.hasAttribute("bind-component")){const e=this.parentNode,t=e instanceof ShadowRoot?e.host:e instanceof Element?e:null,o=t?E(t):null;null!==t&&null!==o||j(`"bind-component" requires <${n.tagNames.state}> to be a direct child of a custom element.`),e instanceof ShadowRoot||this.hasAttribute("name")||j('"bind-component" in Light DOM requires a "name" attribute to avoid namespace conflicts with the parent scope.');const s=this.getAttribute("bind-component");await customElements.whenDefined(o.toLowerCase()),t.hasAttribute(n.bindAttributeName)&&await a(t),s in t||j(`Component does not have property "${s}" for state binding.`);const r=t[s];"object"==typeof r&&null!==r||j(`Component property "${s}" is not an object for state binding.`),this._boundComponent=t,this._boundComponentStateProp=s,Ei(this,this._boundComponent,this._boundComponentStateProp,r)}}async _callStateConnectedCallback(){await this.createStateAsync("writable",async e=>{h in e&&await e[Oe]()})}async _initializeDCC(e,t){let o;try{if(this.hasAttribute("src")){const e=this.getAttribute("src");e.endsWith(".js")?o=await rr(e):j(`DCC: Unsupported src type: ${e}`)}else{const t=this.querySelector('script[type="module"]');t?o=await sr(t,e.tagName.toLowerCase()):j(`DCC: No state source found for "${e.tagName.toLowerCase()}".`)}}catch(e){j(`DCC: Failed to load state: ${e}`)}!function(e,t,o){const s=e.tagName.toLowerCase();if(s.includes("-")||j(`DCC: "${s}" is not a valid custom element name (must contain a hyphen).`),customElements.get(s))return void console.warn(`[@wcstack/state] DCC: "${s}" is already registered. Skipping redefinition.`);const r=document.createElement("template");r.innerHTML=t.innerHTML;const i=t.mode,a=Array.isArray(o[y])?o[y]:[],l=a.length>0?function(e,t){return{protocol:"wc-bindable",version:1,properties:t.map(t=>({name:t,event:`${e}:${t}-changed`})),inputs:t.map(e=>({name:e}))}}(s,a):null,c=a.length>0?function(e,t){const n={};for(const o of t)n[o]=`${e}:${o}-changed`;return n}(s,a):{},d=`${n.tagNames.state}:not([name])`,u=class extends HTMLElement{static template=r;static shadowRootMode=i;static wcBindable=l;static bindableEventMap=c;_shadow=null;connectedCallback(){if(!this.hasAttribute(P)&&(this._shadow=this.attachShadow({mode:u.shadowRootMode}),this._shadow.appendChild(u.template.content.cloneNode(!0)),Object.keys(u.bindableEventMap).length>0)){const e=this._shadow.querySelector(d);e&&e.initializePromise.then(()=>{e.setBindableEventMap(u.bindableEventMap)})}}get stateElement(){return this._shadow?.querySelector(d)}},f=Object.getOwnPropertyDescriptors(o);for(const[e,t]of Object.entries(f)){if(Lr(e))continue;const n={configurable:!0,enumerable:!0};if("function"==typeof t.value){const o="AsyncFunction"===t.value.constructor?.name;n.value=Wr(e,o)}else n.get=Dr(e),n.set=Rr(e);Object.defineProperty(u.prototype,e,n)}customElements.define(s,u)}(e,t,o),this._dcc=!0,this._initialized=!0,this._rootNode=null,this._resolveInitialize?.(),this._resolveConnectedCallback?.()}_callStateDisconnectedCallback(){this.createState("writable",e=>{m in e&&e[De]()})}async connectedCallback(){this._rootNode=this.getRootNode();const t=++this._connectGeneration;if(this._initialized)this._dcc||qs(this._rootNode,this._name)===this||Us(this._rootNode,this._name,this);else{const e=this.parentNode;if(e instanceof ShadowRoot&&e.host.hasAttribute(P))return void await this._initializeDCC(e.host,e);await this._initializeBindWebComponent(),await this._initialize(),this._initialized=!0,this._resolveInitialize?.()}if(this.hasAttribute("enable-ssr")&&!e()||await this._callStateConnectedCallback(),e()&&this.hasAttribute("enable-ssr")){await Vs(this.rootNode);const e=this.getAttribute("name")||"default",t=Os.extractStateData(this),o=document.createElement(n.tagNames.ssr);o.setAttribute("name",e),o.setAttribute("version",_s),Os.buildContent(o,t),this.parentNode?.insertBefore(o,this)}e()||null===this._rootNode||t!==this._connectGeneration||this._streamsStartedGeneration===t||Er(this),this._resolveConnectedCallback?.()}disconnectedCallback(){if(null!==this._rootNode)try{this._callStateDisconnectedCallback()}finally{Us(this.rootNode,this._name,null),e=this,ar.delete(e),function(e){cr.delete(e)}(this),St(this),Nr(this),Tr(this),this._rootNode=null}var e}get initializePromise(){return this._initializePromise}get connectedCallbackPromise(){return this._connectedCallbackPromise}get listPaths(){return this._listPaths}get elementPaths(){return this._elementPaths}get getterPaths(){return this._getterPaths}get setterPaths(){return this._setterPaths}get loopContextStack(){return this._loopContextStack}get dynamicDependency(){return this._dynamicDependency}get staticDependency(){return this._staticDependency}get version(){return this._version}get rootNode(){return null===this._rootNode&&j("State rootNode is not available."),this._rootNode}get boundComponentStateProp(){return this._boundComponentStateProp}get bindableEventMap(){return this._bindableEventMap}get commandTokenNames(){return this._commandTokenNames}get eventTokenNames(){return this._eventTokenNames}setBindableEventMap(e){this._bindableEventMap=e}_addDependency(e,t,n){const o=e.get(t);return void 0===o?(e.set(t,[n]),!0):!o.includes(n)&&(o.push(n),!0)}addDynamicDependency(e,t){return this._addDependency(this._dynamicDependency,e,t)}addStaticDependency(e,t){return this._addDependency(this._staticDependency,e,t)}setPathInfo(e,t){if("for"===t&&(this._listPaths.add(e),this._elementPaths.add(e+"."+c)),!this._pathSet.has(e)){const t=T(e);if(this._pathSet.add(e),null!==t.parentPath){let e=t;for(;null!==e.parentPath&&this.addStaticDependency(e.parentPath,e.path);)e=T(e.parentPath)}}}_createState(e,t,n){try{const o=function(e,t,n,o){const s=new bi(e,n,o);return new Proxy(t,s)}(e,this._state,this._name,t);return n(o)}finally{}}async createStateAsync(e,t){return await this._createState(this.rootNode,e,t)}createState(e,t){this._createState(this.rootNode,e,t)}nextVersion(){return this._version++,this._version}get hasUpdatedCallback(){return this._hasUpdatedCallback}get crossRowListPaths(){return this._crossRowListPaths}addCrossRowListPath(e){this._crossRowListPaths.add(e)}get indexDependentGetterPaths(){return this._indexDependentGetterPaths}addIndexDependentGetterPath(e){this._indexDependentGetterPaths.add(e)}bindProperty(e,t){Object.defineProperty(this._state,e,t),e===g&&(this._hasUpdatedCallback=!0)}setInitialState(e){this._initialized?this._state=e:this._resolveSetState?.(e)}}function Di(){customElements.get(n.tagNames.ssr)||customElements.define(n.tagNames.ssr,Os),customElements.get(n.tagNames.state)||customElements.define(n.tagNames.state,Oi)}function Ri(e){var n;e&&((n=e).tagNames&&Object.assign(t.tagNames,n.tagNames),"string"==typeof n.bindAttributeName&&(t.bindAttributeName=n.bindAttributeName),"string"==typeof n.commentTextPrefix&&(t.commentTextPrefix=n.commentTextPrefix),"string"==typeof n.commentForPrefix&&(t.commentForPrefix=n.commentForPrefix),"string"==typeof n.commentIfPrefix&&(t.commentIfPrefix=n.commentIfPrefix),"string"==typeof n.commentElseIfPrefix&&(t.commentElseIfPrefix=n.commentElseIfPrefix),"string"==typeof n.commentElsePrefix&&(t.commentElsePrefix=n.commentElsePrefix),"string"==typeof n.locale&&(t.locale=n.locale),"boolean"==typeof n.debug&&(t.debug=n.debug),"boolean"==typeof n.enableMustache&&(t.enableMustache=n.enableMustache),"boolean"==typeof n.enableDirectionalInitialSync&&(t.enableDirectionalInitialSync=n.enableDirectionalInitialSync),"boolean"==typeof n.enablePropagationContext&&(t.enablePropagationContext=n.enablePropagationContext),"boolean"==typeof n.enableContractAnalyzer&&(t.enableContractAnalyzer=n.enableContractAnalyzer),"boolean"==typeof n.sameValueGuard&&(t.sameValueGuard=n.sameValueGuard)),Di(),or()}function Wi(e){return e}const Li={eq:{description:"等しいか比較",hasArgs:!0,resultType:"boolean",acceptTypes:"any",minArgs:1,maxArgs:1,argTypes:["any"]},ne:{description:"異なるか比較",hasArgs:!0,resultType:"boolean",acceptTypes:"any",minArgs:1,maxArgs:1,argTypes:["any"]},not:{description:"ブール値を反転",hasArgs:!1,resultType:"boolean",acceptTypes:["boolean"],minArgs:0,maxArgs:0},lt:{description:"より小さいか",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},le:{description:"以下か",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},gt:{description:"より大きいか",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},ge:{description:"以上か",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},inc:{description:"加算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},dec:{description:"減算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},mul:{description:"乗算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:1,maxArgs:1,argTypes:["number"]},div:{description:"除算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:1,maxArgs:1,argTypes:["number"]},mod:{description:"剰余",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:1,maxArgs:1,argTypes:["number"]},fix:{description:"固定小数点表記",hasArgs:!0,resultType:"string",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},locale:{description:"ロケール形式で数値フォーマット",hasArgs:!0,resultType:"string",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["string"]},uc:{description:"大文字に変換",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},lc:{description:"小文字に変換",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},cap:{description:"先頭文字を大文字に",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},trim:{description:"前後の空白を削除",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},slice:{description:"部分文字列 (start[,end])",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:2,argTypes:["number","number"]},substr:{description:"部分文字列 (pos,len)",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:2,argTypes:["number","number"]},pad:{description:"パディング (length[,char])",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:2,argTypes:["number","string"]},rep:{description:"繰り返し (count)",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:1,argTypes:["number"]},rev:{description:"文字順を反転",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},int:{description:"整数にパース",hasArgs:!1,resultType:"number",acceptTypes:["string","number"],minArgs:0,maxArgs:0},float:{description:"浮動小数点数にパース",hasArgs:!1,resultType:"number",acceptTypes:["string","number"],minArgs:0,maxArgs:0},round:{description:"四捨五入",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},floor:{description:"切り下げ",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},ceil:{description:"切り上げ",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},percent:{description:"パーセンテージ形式",hasArgs:!0,resultType:"string",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},date:{description:"ロケール形式の日付",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},time:{description:"ロケール形式の時刻",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},datetime:{description:"ロケール形式の日時",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},ymd:{description:"YYYY-MM-DD 形式",hasArgs:!0,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:1,argTypes:["string"]},falsy:{description:"偽値か判定",hasArgs:!1,resultType:"boolean",acceptTypes:"any",minArgs:0,maxArgs:0},truthy:{description:"真値か判定",hasArgs:!1,resultType:"boolean",acceptTypes:"any",minArgs:0,maxArgs:0},defaults:{description:"偽値の場合デフォルト値",hasArgs:!0,resultType:"passthrough",acceptTypes:"any",minArgs:1,maxArgs:1,argTypes:["any"]},boolean:{description:"ブール値に変換",hasArgs:!1,resultType:"boolean",acceptTypes:"any",minArgs:0,maxArgs:0},number:{description:"数値に変換",hasArgs:!1,resultType:"number",acceptTypes:"any",minArgs:0,maxArgs:0},string:{description:"文字列に変換",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},null:{description:"空文字列をnullに変換",hasArgs:!1,resultType:"passthrough",acceptTypes:["string"],minArgs:0,maxArgs:0}},Bi=1;function ji(){return{version:1,syntax:{bindAttribute:n.bindAttributeName,tagName:n.tagNames.state,pathDelimiter:l,wildcard:c,delimiters:{binding:";",propValue:":",modifier:"#",stateName:"@",filter:u},structuralDirectives:Array.from(G)},filters:Object.keys(ee),filterMeta:Li,reservedLifecycle:[h,m,g,b],reservedStateApi:[y,w,N,v,S,x,I,A]}}const Fi=new Set(["wcstack.types","wcstack.async","wcstack.platformCapabilities","wcstack.application"]),zi=Object.freeze([]);function qi(e){if(!n.enableContractAnalyzer)return zi;const t=[];return function(e,t,n){const o=e.manifestExtensions;if(null===o||"object"!=typeof o)return;for(const e of Object.keys(o))Fi.has(e)||n({type:"contract:unsupported-extension",namespace:e});const s=o["wcstack.types"]?.components;if(null==s)return;for(const[e,o]of Object.entries(s)){const s=t(e);n({type:"contract:manifest-read",tag:e,loaded:null!==s}),null!==s?Vi(e,o,s,n):n({type:"contract:drift",reason:"component-not-loaded",tag:e})}}(e,Ui,e=>{t.push(e),null!==et&&et(e)}),t}function Vi(e,t,n,o){const s=null!==t&&"object"==typeof t?t:{};for(const[t,r]of Object.entries(s.observables??{})){if(!n.propertyEvents.has(t)){o({type:"contract:drift",reason:"missing-member",tag:e,member:t});continue}const s=n.propertyEvents.get(t),i=r?.event;"string"==typeof i&&i!==s&&o({type:"contract:drift",reason:"event-mismatch",tag:e,member:t,sidecarEvent:i,liveEvent:s})}for(const t of Object.keys(s.inputs??{}))n.inputs.has(t)||o({type:"contract:drift",reason:"missing-member",tag:e,member:t});for(const t of Object.keys(s.commands??{}))n.commands.has(t)||o({type:"contract:drift",reason:"missing-member",tag:e,member:t})}function Ui(e){const t=M(),n=t?.get(e);if(void 0===n)return null;const o=n.wcBindable;if(null===o||"object"!=typeof o||"wc-bindable"!==o.protocol)return null;const s=o,r=new Map;for(const e of Array.isArray(s.properties)?s.properties:[])"string"==typeof e?.name&&"string"==typeof e.event&&r.set(e.name,e.event);const i=new Set;for(const e of Array.isArray(s.inputs)?s.inputs:[])"string"==typeof e?.name&&i.add(e.name);const a=new Set;for(const e of Array.isArray(s.commands)?s.commands:[])"string"==typeof e?.name&&a.add(e.name);return{propertyEvents:r,inputs:i,commands:a}}export{Os as Ssr,_s as VERSION,Bi as WCS_MANIFEST_VERSION,qi as analyzeContract,Ri as bootstrapState,Ps as buildBindings,Li as builtinFilterMeta,Wi as defineState,Vs as getBindingsReady,o as getConfig,ji as getWcsManifest};
1
+ function e(){const e=document.documentElement;return!!e&&e.hasAttribute("data-wcs-server")}const t={bindAttributeName:"data-wcs",commentTextPrefix:"wcs-text",commentForPrefix:"wcs-for",commentIfPrefix:"wcs-if",commentElseIfPrefix:"wcs-elseif",commentElsePrefix:"wcs-else",tagNames:{state:"wcs-state",ssr:"wcs-ssr"},locale:"en",debug:!1,enableMustache:!0,enableDirectionalInitialSync:!0,enablePropagationContext:!0,enableContractAnalyzer:!1,sameValueGuard:!0},n=t;function o(){return n}const s=new WeakMap,r=new WeakSet;let i=0;async function a(e){const t=function(e){let t,n=s.get(e)||null;if(null!==n)return n;const o=new Promise(e=>{t=e});return n={id:++i,promise:o,resolve:t},s.set(e,n),r.has(e)&&n.resolve(),n}(e);await t.promise}function l(e){const t=s.get(e);void 0===t?r.add(e):t.resolve()}const c=".",d="*",u=128,f="|",p={};for(let e=0;e<128;e++)p[`$${e+1}`]=e;const h=Object.freeze(p),m="$connectedCallback",g="$disconnectedCallback",y="$updatedCallback",b="$stateReadyCallback",w="$bindables",v="$commandTokens",N="$command",S="$eventTokens",x="$on",I="$streams",A="$streamStatus",P="$streamError",_="data-wc-definition",$=new Map;let T=0;function k(e){let t=$.get(e);return void 0!==t||(t=Object.freeze(new C(e)),$.set(e,t)),t}class C{id=++T;path;segments;lastSegment;cumulativePaths;cumulativePathSet;cumulativePathInfos;cumulativePathInfoSet;parentPath;wildcardPaths;wildcardPathSet;indexByWildcardPath;wildcardPathInfos;wildcardPathInfoSet;wildcardParentPaths;wildcardParentPathSet;wildcardParentPathInfos;wildcardParentPathInfoSet;wildcardPositions;lastWildcardPath;lastWildcardInfo;wildcardCount;parentPathInfo;constructor(e){const t=t=>e===t?this:k(t),n=e.split("."),o=[],s=[],r=[],i={},a=[],l=[],c=[],u=[];let f="",p="",h=0;for(let e=0;e<n.length;e++)f+=n[e],n[e]===d&&(r.push(f),i[f]=h,a.push(t(f)),l.push(p),c.push(t(p)),u.push(e),h++),o.push(f),s.push(t(f)),p=f,f+=".";const m=r.length>0?r[r.length-1]:null,g=o.length>1?o[o.length-2]:null;this.path=e,this.segments=n,this.lastSegment=n[n.length-1],this.cumulativePaths=o,this.cumulativePathSet=new Set(o),this.cumulativePathInfos=s,this.cumulativePathInfoSet=new Set(s),this.wildcardPaths=r,this.wildcardPathSet=new Set(r),this.indexByWildcardPath=i,this.wildcardPathInfos=a,this.wildcardPathInfoSet=new Set(a),this.wildcardParentPaths=l,this.wildcardParentPathSet=new Set(l),this.wildcardParentPathInfos=c,this.wildcardParentPathInfoSet=new Set(c),this.wildcardPositions=u,this.lastWildcardPath=m,this.lastWildcardInfo=m?t(m):null,this.parentPath=g,this.parentPathInfo=g?t(g):null,this.wildcardCount=h}}const E=new WeakMap;function M(e){const t=E.get(e);if(void 0!==t)return t;let n=null;try{if(e.nodeType!==Node.ELEMENT_NODE)return n;const t=e,o=t.tagName.toLowerCase();if(o.includes("-"))return n=o;if(t.hasAttribute("is")){const e=t.getAttribute("is");if(e.includes("-"))return n=e}return n}finally{E.set(e,n)}}function O(e=null){const t=globalThis.customElements,n=e?.customElements??t;if("object"!=typeof n||null===n)return null;const o=n;return"function"!=typeof o.get||"function"!=typeof o.whenDefined?null:o}function D(e,t){e.upgrade?.(t)}function R(e){try{if(null===e||"object"!=typeof e&&"function"!=typeof e)return null;const t=e,n=t.addEventListener,o=t.removeEventListener,s=t.constructor?.wcBindable;if("function"!=typeof n||"function"!=typeof o)return null;if("wc-bindable"!==s?.protocol)return null;if(!Number.isInteger(s.version)||s.version<1)return null;const r=j(s.properties,L);if(null===r)return null;const i=void 0===s.inputs?new Map:j(s.inputs,W);if(null===i)return null;const a=void 0===s.commands?new Map:j(s.commands,B);return null===a?null:{target:e,liveDeclaration:s,knownProperties:r,declaredInputs:i,declaredCommands:a}}catch{return null}}function L(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.name&&0!==t.name.length&&("string"==typeof t.event&&0!==t.event.length&&(void 0===t.getter||"function"==typeof t.getter))}function W(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.name&&0!==t.name.length&&(void 0===t.attribute||"string"==typeof t.attribute)}function B(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.name&&0!==t.name.length&&(void 0===t.async||"boolean"==typeof t.async)}function j(e,t){if(!Array.isArray(e))return null;const n=new Map;for(const o of e){if(!t(o)||n.has(o.name))return null;n.set(o.name,o)}return n}function F(e){throw new Error(`[@wcstack/state] ${e}`)}function z(e,t,n){const o="."===t?`.${e}`:`${t}.${e}`;return{propName:e,propSegments:[e],propModifiers:[],statePathName:o,statePathInfo:k(o),stateName:n,inFilters:[],outFilters:[],bindingType:"prop"}}function q(e){switch(e.bindingType){case"prop":case"event":case"radio":case"checkbox":return`${e.bindingType}::${e.propName}`;default:return null}}function U(e,t){let n=e;if(0===t.length)return n;for(let e=0;e<t.length&&(n=n?.childNodes[t[e]]??null,null!==n);e++);return n}const V=new WeakMap;function H(e){return V.get(e)||null}function G(e,t){V.set(e,t)}const J=new Set(["if","elseif","else","for"]);function K(e){F(`filter ${e} requires at least one option`)}function X(e){F(`filter ${e} requires a number as option`)}function Y(e){F(`filter ${e} requires a number value`)}function Q(e){F(`filter ${e} requires a date value`)}function Z(e){return!(!e||isNaN(Number(e)))}const ee={eq:e=>{const t=e?.[0]??K("eq");return e=>"number"==typeof e?(Z(t)||X("eq"),e===Number(t)):e===t},ne:e=>{const t=e?.[0]??K("ne");return e=>"number"==typeof e?(Z(t)||X("ne"),e!==Number(t)):e!==t},not:e=>e=>("boolean"!=typeof e&&F(`filter ${"not"} requires a boolean value`),!e),lt:e=>{const t=e?.[0]??K("lt");return Z(t)||X("lt"),e=>("number"!=typeof e&&Y("lt"),e<Number(t))},le:e=>{const t=e?.[0]??K("le");return Z(t)||X("le"),e=>("number"!=typeof e&&Y("le"),e<=Number(t))},gt:e=>{const t=e?.[0]??K("gt");return Z(t)||X("gt"),e=>("number"!=typeof e&&Y("gt"),e>Number(t))},ge:e=>{const t=e?.[0]??K("ge");return Z(t)||X("ge"),e=>("number"!=typeof e&&Y("ge"),e>=Number(t))},inc:e=>{const t=e?.[0]??K("inc");return Z(t)||X("inc"),e=>("number"!=typeof e&&Y("inc"),e+Number(t))},dec:e=>{const t=e?.[0]??K("dec");return Z(t)||X("dec"),e=>("number"!=typeof e&&Y("dec"),e-Number(t))},mul:e=>{const t=e?.[0]??K("mul");return Z(t)||X("mul"),e=>("number"!=typeof e&&Y("mul"),e*Number(t))},div:e=>{const t=e?.[0]??K("div");return Z(t)||X("div"),e=>("number"!=typeof e&&Y("div"),e/Number(t))},mod:e=>{const t=e?.[0]??K("mod");return Z(t)||X("mod"),e=>("number"!=typeof e&&Y("mod"),e%Number(t))},fix:e=>{const t=e?.[0]??"0";return Z(t)||X("fix"),e=>("number"!=typeof e&&Y("fix"),e.toFixed(Number(t)))},locale:e=>{const t=e?.[0]??n.locale;return e=>("number"!=typeof e&&Y("locale"),e.toLocaleString(t))},uc:e=>e=>String(e).toUpperCase(),lc:e=>e=>String(e).toLowerCase(),cap:e=>e=>{const t=String(e);return 0===t.length?t:1===t.length?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1)},trim:e=>e=>String(e).trim(),slice:e=>{const t=[],n=e?.[0]??K("slice");Z(n)||X("slice"),t.push(Number(n));const o=e?.[1];return void 0!==o&&(Z(o)||X("slice"),t.push(Number(o))),e=>String(e).slice(...t)},substr:e=>{const t=e?.[0]??K("substr");Z(t)||X("substr");const n=e?.[1]??K("substr");return Z(n)||X("substr"),e=>String(e).substr(Number(t),Number(n))},pad:e=>{const t=e?.[0]??K("pad");Z(t)||X("pad");const n=e?.[1]??"0";return e=>String(e).padStart(Number(t),n)},rep:e=>{const t=e?.[0]??K("rep");return Z(t)||X("rep"),e=>String(e).repeat(Number(t))},rev:e=>e=>String(e).split("").reverse().join(""),int:e=>e=>parseInt(String(e),10),float:e=>e=>parseFloat(String(e)),round:e=>{const t=e?.[0]??"0";return Z(t)||X("round"),e=>{"number"!=typeof e&&Y("round");const n=Math.pow(10,Number(t));return Math.round(e*n)/n}},floor:e=>{const t=e?.[0]??"0";return Z(t)||X("floor"),e=>{"number"!=typeof e&&Y("floor");const n=Math.pow(10,Number(t));return Math.floor(e*n)/n}},ceil:e=>{const t=e?.[0]??"0";return Z(t)||X("ceil"),e=>{"number"!=typeof e&&Y("ceil");const n=Math.pow(10,Number(t));return Math.ceil(e*n)/n}},percent:e=>{const t=e?.[0]??"0";return Z(t)||X("percent"),e=>("number"!=typeof e&&Y("percent"),`${(100*e).toFixed(Number(t))}%`)},date:e=>{const t=e?.[0]??n.locale;return e=>(e instanceof Date||Q("date"),e.toLocaleDateString(t))},time:e=>{const t=e?.[0]??n.locale;return e=>(e instanceof Date||Q("time"),e.toLocaleTimeString(t))},datetime:e=>{const t=e?.[0]??n.locale;return e=>(e instanceof Date||Q("datetime"),e.toLocaleString(t))},ymd:e=>{const t=e?.[0]??"-";return e=>{e instanceof Date||Q("ymd");const n=e.getFullYear().toString(),o=(e.getMonth()+1).toString().padStart(2,"0"),s=e.getDate().toString().padStart(2,"0");return`${n}${t}${o}${t}${s}`}},falsy:e=>e=>!1===e||null==e||0===e||""===e||Number.isNaN(e),truthy:e=>e=>!1!==e&&null!=e&&0!==e&&""!==e&&!Number.isNaN(e),defaults:e=>{const t=e?.[0]??K("defaults");return e=>!1===e||null==e||0===e||""===e||Number.isNaN(e)?t:e},boolean:e=>e=>Boolean(e),number:e=>e=>Number(e),string:e=>e=>String(e),null:e=>e=>""===e?null:e},te=ee,ne={input:ee,output:te},oe=(e,t)=>n=>{const o=n[e];return o||F(`filter not found: ${e}`),o(t)};const se=new Map;function re(e,t){const n=ne[t];return e.map(e=>{const o=e.indexOf("("),s=e.lastIndexOf(")");if(-1!==o&&-1===s&&F(`Invalid filter format: missing closing parenthesis in "${e}"`),-1!==s&&-1===o&&F(`Invalid filter format: missing opening parenthesis in "${e}"`),-1===o){const o=e.trim(),s=`${o}():${t}`;let r=se.get(s);return void 0===r&&(r=oe(o,[])(n),se.set(s,r)),{filterName:o,args:[],filterFn:r}}{const r=e.substring(o+1,s),i=e.substring(0,o).trim(),a=function(e){const t=[];let n="",o=null,s=!1;for(let r=0;r<e.length;r++){const i=e[r];o?i===o?o=null:n+=i:'"'===i||"'"===i?(o=i,s=!0):","===i?(t.push(n.trim()),n="",s=!1):n+=i}const r=n.trim();return(r||s)&&t.push(r),t}(r),l=`${i}(${a.join(",")}):${t}`;let c=se.get(l);return void 0===c&&(c=oe(i,a)(n),se.set(l,c)),{filterName:i,args:a,filterFn:c}}})}const ie=e=>e.trim(),ae=new Map;const le=new Map;function ce(e){const t=e.indexOf(f);let n="",o=[],s="",r=[];-1!==t?(n=e.slice(0,t).trim(),s=e.slice(t+1).trim(),le.has(s)?r=le.get(s):(o=s.split(f).map(ie),r=re(o,"output"),le.set(s,r))):n=e.trim();const[i,a="default"]=n.split("@").map(ie);return{stateName:a,statePathName:i,statePathInfo:k(i),outFilters:r}}function de(e){const[...t]=e.split(";").map(ie).filter(e=>e.length>0),n=t.map(e=>{const t=e.indexOf(":");-1===t&&F(`Invalid bindText: "${e}". Missing ':' separator between propPart and statePart.`);const n=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("else"===n){return{propName:"else",propSegments:["else"],propModifiers:[],statePathName:"#else",statePathInfo:k("#else"),stateName:"",inFilters:[],outFilters:[],bindingType:"else"}}if("..."===n){const t=ce(o);return t.outFilters.length>0&&F(`Invalid spread binding "${e}": filters are not allowed on spread targets.`),0===t.statePathName.length&&F(`Invalid spread binding "${e}": spread target path is required.`),{propName:"...",propSegments:["..."],propModifiers:[],inFilters:[],...t,bindingType:"spread"}}if("if"===n||"elseif"===n||"for"===n||"radio"===n||"checkbox"===n){return{propName:n,propSegments:[n],propModifiers:[],inFilters:[],...ce(o),bindingType:n}}{const e=ce(o),t=function(e){const t=e.indexOf(f);let n="",o=[],s="",r=[];-1!==t?(n=e.slice(0,t).trim(),s=e.slice(t+1).trim(),ae.has(s)?r=ae.get(s):(o=s.split(f).map(ie),r=re(o,"input"),ae.set(s,r))):n=e.trim();const[i,a]=n.split("#").map(ie),l=i.split(c).map(ie);return{propName:i,propSegments:l,propModifiers:a?a.split(",").map(ie):[],inFilters:r}}(n);return"eventToken"===t.propSegments[0]||t.propSegments[0].startsWith("on")?{...t,...e,bindingType:"event"}:{...t,...e,bindingType:"prop"}}});if(n.length>1){n.some(e=>J.has(e.bindingType))&&F(`Invalid bindText: "${e}". 'if', 'elseif', 'else', and 'for' bindings must be single binding.`)}return n}const ue=new WeakMap,fe=new Set([n.commentTextPrefix,n.commentForPrefix,n.commentIfPrefix,n.commentElseIfPrefix,n.commentElsePrefix]),pe=new RegExp("^\\s*@@\\s*(.*?)\\s*:\\s*(.+?)\\s*$");function he(e){const t=ue.get(e);if("string"==typeof t)return t;if(e.nodeType!==Node.COMMENT_NODE)return null;const o=e.data.trim(),s=pe.exec(o);if(null===s)return null;const r=s[1]||n.commentTextPrefix;return fe.has(r)?(ue.set(e,s[2]),s[2]):null}const me=new Map;function ge(e,t,n){if(null===n)me.delete(e);else{me.set(e,n);const o=n.parseBindTextResult,s=Zs(t,o.stateName);null===s&&F(`State element with name "${o.stateName}" not found for fragment info.`),s.setPathInfo(o.statePathName,o.bindingType);for(const e of n.nodeInfos)for(const n of e.parseBindTextResults){const e=Zs(t,n.stateName);null===e&&F(`State element with name "${n.stateName}" not found for fragment info node.`),e.setPathInfo(n.statePathName,n.bindingType)}}}function ye(e){return me.get(e)||null}function be(e){if(e.nodeType===Node.ELEMENT_NODE){return de(e.getAttribute(n.bindAttributeName)||"")}if(e.nodeType===Node.COMMENT_NODE){const t=he(e);null===t&&F("Comment node binding text not found.");const n=ye(t);let o=n?.parseBindTextResult??null,s=null;return null===o?(o={propName:"textContent",propSegments:["textContent"],propModifiers:[],inFilters:[],...ce(t),bindingType:"text"},s=null):s=t,[{...o,uuid:s}]}return[]}function we(e){const t=[],o=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT,{acceptNode(e){if(e.nodeType===Node.ELEMENT_NODE){return e.hasAttribute(n.bindAttributeName)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}return null!==he(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)t.push(o.currentNode);return t}const ve=new WeakSet;function Ne(e,t,o){const s=function(e,t,o={}){const s=o.allowDeferred??!0;if(!t.some(e=>"spread"===e.bindingType))return t;const r=[],i=new WeakSet;for(const n of t){if("spread"!==n.bindingType){r.push(n);continue}e.nodeType!==Node.ELEMENT_NODE&&F("Spread binding requires an element node.");const t=e,o=M(t);null===o&&F(`Spread binding "${n.statePathName}" requires a custom element with wcBindable, but <${t.tagName.toLowerCase()}> is not a custom element.`);const a=O();if(null===a&&F(`CustomElementRegistry is unavailable for <${o}>.`),void 0===a.get(o)){s||F(`Spread binding "${n.statePathName}" requires <${o}> to be registered. Define the custom element before initializing this binding.`),r.push(n);continue}D(a,t);const l=R(t);null===l&&F(`Spread binding "${n.statePathName}" requires <${o}> to expose a valid wcBindable declaration.`);const c=n.statePathName,d=n.stateName,u=new Set;for(const e of l.knownProperties.keys()){if(u.has(e))continue;u.add(e);const t=z(e,c,d);i.add(t),r.push(t)}for(const e of l.declaredInputs.keys()){if(u.has(e))continue;u.add(e);const t=z(e,c,d);i.add(t),r.push(t)}}const a=new Map;for(let e=0;e<r.length;e++){const t=q(r[e]);null!==t&&a.set(t,e)}const l=[];for(let t=0;t<r.length;t++){const o=q(r[t]);if(null!==o){if(a.get(o)===t)l.push(r[t]);else if(n.debug&&i.has(r[t])){const n=r[a.get(o)],s=e.nodeType===Node.ELEMENT_NODE?`<${e.tagName.toLowerCase()}>`:"node";console.debug(`[@wcstack/state] spread: prop "${r[t].propName}" of ${s} overridden by explicit binding (statePath: "${n.statePathName}").`)}}else l.push(r[t])}return l}(e,t,{allowDeferred:o.allowDeferred});if(s.some(e=>"spread"===e.bindingType)){const n=e.nodeType===Node.ELEMENT_NODE?M(e):null;return null===n&&F("Spread binding deferred but element is not a custom element."),{bindings:[],deferred:{node:e,tagName:n,parseResults:t}}}ve.add(e);const r=function(e,t){const n=[];for(const o of t)if("text"!==o.bindingType)n.push({...o,node:e,replaceNode:e});else{const t=e.nodeType===Node.TEXT_NODE?e:document.createTextNode("");n.push({...o,node:e,replaceNode:t})}return n}(e,s);return G(e,r),l(e),{bindings:r,deferred:null}}function Se(e){const t=we(e),n=[],o=[];for(const e of t){if(ve.has(e))continue;const t=Ne(e,be(e),{allowDeferred:!0});null===t.deferred?n.push(...t.bindings):o.push(t.deferred)}return[t,n,o]}function xe(e){ve.add(e)}function Ie(e){const{node:t,parseResults:n}=e;!function(e){ve.delete(e)}(t);return Ne(t,n,{allowDeferred:!1}).bindings}const Ae=new WeakMap;function Pe(e){let t=e;for(;t;){const e=Ae.get(t);if(e)return e;t=t.parentNode}return null}function _e(e,t){null!==t?Ae.set(e,t):Ae.delete(e)}const $e=new WeakMap;function Te(e){return $e.get(e)??[]}function ke(e,t){$e.set(e,t)}const Ce=Symbol("$$setLoopContextAsync"),Ee=Symbol("$$setLoopContext"),Me=Symbol("$$getByAddress"),Oe=Symbol("$$hasByAddress"),De=Symbol("$$setByAddress"),Re=Symbol("$$connectedCallback"),Le=Symbol("$$disconnectedCallback"),We=Symbol("$$updatedCallback"),Be=new WeakMap;function je(e,t){if(Be.has(e)){const n=Be.get(e);if(n.has(t))return n.get(t)}else Be.set(e,new WeakMap);const n=Object.freeze(new Fe(e,t));return Be.get(e).set(t,n),n}class Fe{pathInfo;stateName;stateElement;parentAbsolutePathInfo;constructor(e,t){this.pathInfo=t,this.stateName=e.name,this.stateElement=e,null===t.parentPathInfo?this.parentAbsolutePathInfo=null:this.parentAbsolutePathInfo=je(e,t.parentPathInfo)}}const ze=new WeakMap,qe=new WeakMap;class Ue{absolutePathInfo;listIndex;_parentAbsoluteAddress;constructor(e,t){this.absolutePathInfo=e,this.listIndex=t}get parentAbsoluteAddress(){if(void 0!==this._parentAbsoluteAddress)return this._parentAbsoluteAddress;const e=this.absolutePathInfo.parentAbsolutePathInfo;if(null===e)return null;let t=null;return t=this.absolutePathInfo.pathInfo.segments[this.absolutePathInfo.pathInfo.segments.length-1]===d?this.listIndex?.parentListIndex??null:this.listIndex,this._parentAbsoluteAddress=Ve(e,t)}}function Ve(e,t){if(null===t){let t=qe.get(e);return void 0!==t||(t=new Ue(e,null),qe.set(e,t)),t}{let n=ze.get(t);void 0===n&&(n=new WeakMap,ze.set(t,n));let o=n.get(e);return void 0!==o||(o=new Ue(e,t),n.set(e,o)),o}}const He=new WeakMap;function Ge(e,t){null===t?He.delete(e):He.set(e,t)}function Je(e){return He.get(e)||null}const Ke=new Map;function Xe(e,t){let n,o;if(0===e.wildcardCount||0===t.wildcardCount)return 0;if(1===e.wildcardCount&&t.wildcardCount>0&&t.wildcardPathSet.has(e.path))return 1;e.id<t.id?(n=e,o=t):(n=t,o=e);const s=`${n.path}\t${o.path}`;let r=Ke.get(s);if(void 0!==r)return r;return r=n.wildcardPathSet.intersection(o.wildcardPathSet).size,Ke.set(s,r),r}const Ye=new WeakMap;function Qe(e){const t=Pe(e.node);if(null===t)return null;let n=Ye.get(t);if(void 0===n)n=new WeakMap,Ye.set(t,n);else{const t=n.get(e);if(void 0!==t)return t}let o=null;try{const n=Xe(t.pathInfo,e.statePathInfo);return n>0&&(o=t.listIndex.at(n-1)),o}finally{n.set(e,o)}}const Ze=new WeakMap;function et(e,t){if(null!=t)return t;let n=e.replaceNode.getRootNode();if(!1===e.replaceNode.isConnected){const t=Je(n);null===t?F(`Cannot get absolute state address for disconnected binding: ${e.bindingType} ${e.statePathName} on ${e.node.nodeName}`):n=t}return n}function tt(e,t){let n=null;if(n=Ze.get(e)||null,null!==n)return n;const o=et(e,t),s=Qe(e),r=Zs(o,e.stateName);null===r&&F(`State element with name "${e.stateName}" not found for binding.`);return n=Ve(je(r,e.statePathInfo),s),Ze.set(e,n),n}function nt(e){Ze.delete(e)}let ot=null;const st=new WeakMap;function rt(e,t){const n=st.get(e);void 0===n?st.set(e,t):n instanceof Set?n.add(t):n!==t&&st.set(e,new Set([n,t])),null!==ot&&ot({type:"state:binding-added",absoluteAddress:e,binding:t})}function it(e,t){const n=st.get(e);void 0!==n&&(n instanceof Set?n.delete(t):n===t&&st.delete(e),null!==ot&&ot({type:"state:binding-removed",absoluteAddress:e,binding:t}))}const at=new WeakMap;function lt(e){const t=st.get(e);return void 0!==t?t:null!==e.listIndex?at.get(e.absolutePathInfo)?.get(e.listIndex):void 0}const ct=new WeakMap,dt=new WeakMap;class ut{pathInfo;listIndex;_parentAddress;constructor(e,t){this.pathInfo=e,this.listIndex=t}get parentAddress(){if(void 0!==this._parentAddress)return this._parentAddress;const e=this.pathInfo.parentPathInfo;if(null===e)return null;let t=null;return t=this.pathInfo.segments[this.pathInfo.segments.length-1]===d?this.listIndex?.parentListIndex??null:this.listIndex,this._parentAddress=ft(e,t)}}function ft(e,t){if(null===t){let t=dt.get(e);return void 0!==t||(t=new ut(e,null),dt.set(e,t)),t}{let n=ct.get(t);void 0===n&&(n=new WeakMap,ct.set(t,n));let o=n.get(e);return void 0!==o||(o=new ut(e,t),n.set(e,o)),o}}const pt=new WeakMap;function ht(e){let t=null;if(t=pt.get(e)||null,null!==t)return t;if(e.statePathInfo.wildcardCount>0){const n=Qe(e);null===n&&F(`Cannot resolve state address for binding with wildcard statePathName "${e.statePathName}" because list index is null.`),t=ft(e.statePathInfo,n)}else t=ft(e.statePathInfo,null);return pt.set(e,t),t}function mt(e){pt.delete(e)}function gt(){const e=new Map,t=new Map;return{add(n,o){let s=e.get(n);return void 0===s&&(s=new WeakSet,e.set(n,s)),!s.has(o)&&(s.add(o),t.set(n,(t.get(n)??0)+1),!0)},remove(n,o){const s=e.get(n);if(void 0===s||!s.has(o))return!1;s.delete(o);const r=(t.get(n)??1)-1;return r<=0?(e.delete(n),t.delete(n),!0):(t.set(n,r),!1)},has:(t,n)=>e.get(t)?.has(n)??!1,countOf:e=>t.get(e)??0,get keyCount(){return t.size},clear(){e.clear(),t.clear()}}}const yt=new Map,bt=gt();function wt(e,t){const n=e.inFilters.map(e=>e.filterName+"("+e.args.join(",")+")").join("|");return`${e.stateName}::${e.statePathName}::${t}::${n}`}function vt(e){let t="input";for(const n of e.propModifiers)n.startsWith("on")&&(t=n.slice(2));return t}function Nt(e){if("checkbox"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const s=vt(e),r=wt(e,s);let i=yt.get(r);return void 0===i&&(t=e.stateName,n=e.statePathName,o=e.inFilters,i=e=>{const s=e.target;if(null===s)return void console.warn("[@wcstack/state] event.target is null.");if("checkbox"!==s.type)return void console.warn("[@wcstack/state] event.target is not a checkbox input element.");const r=s.checked;let i=s.value;for(const e of o)i=e.filterFn(i);const a=Zs(s.getRootNode(),t);null===a&&F(`State element with name "${t}" not found for two-way binding.`);const l=Pe(s);a.createState("writable",e=>{e[Ee](l,()=>{let t=e[n];if(Array.isArray(t))if(r)-1===t.indexOf(i)&&(e[n]=t.concat(i));else{const o=t.indexOf(i);-1!==o&&(e[n]=t.toSpliced(o,1))}else e[n]=r?[i]:[]})})},yt.set(r,i)),e.node.addEventListener(s,i),bt.add(r,e),!0}var t,n,o;return!1}class St{_name;_subscribers=new Set;constructor(e){this._name=e}get name(){return this._name}get size(){return this._subscribers.size}subscribe(e){return this._subscribers.add(e),()=>{this._subscribers.delete(e)}}unsubscribe(e){return this._subscribers.delete(e)}emit(...e){const t=[];for(const n of this._subscribers)t.push(n(...e));return t}}class xt extends St{_ownerStateName;constructor(e,t){super(e),this._ownerStateName=t??null}emit(...e){return null!==ot&&ot({type:"state:token-emit",kind:"event",stateName:this._ownerStateName,tokenName:this.name,args:e,subscriberCount:this.size}),super.emit(...e)}}const It=new WeakMap;function At(e,t){let n=It.get(e);void 0===n&&(n=new Map,It.set(e,n));let o=n.get(t);return void 0===o&&(o=new xt(t,e.name),n.set(t,o)),o}function Pt(e){It.delete(e)}const _t=new WeakMap;function $t(e){if("eventToken"!==e.propSegments[0])return!1;const t=e.node,n=M(t),o=O();if(null!==n&&void 0===o?.get(n))return null===o&&F(`CustomElementRegistry is unavailable for <${n}>.`),!0;if(_t.has(e))return!0;const s=e.propSegments[1];"string"==typeof s&&0!==s.length||F('eventToken binding requires a property name (e.g., "eventToken.error").');const r=function(e){return null===M(e)?null:R(e)}(t);null===r&&F(`eventToken binding requires a wc-bindable custom element. <${t.tagName.toLowerCase()}> is not wc-bindable.`);const i=r.knownProperties.get(s);void 0===i&&F(`Property "${s}" is not declared in wcBindable.properties of <${t.tagName.toLowerCase()}>.`);const a=i.event,l=e.statePathName,c=e.stateName,d=e.propModifiers,u=e=>{d.includes("prevent")&&e.preventDefault(),d.includes("stop")&&e.stopPropagation();const n=Zs(t.getRootNode(),c);null===n&&F(`State element with name "${c}" not found for eventToken handler.`),n.eventTokenNames.has(l)||F(`eventToken "${l}" is not declared in $eventTokens of state "${c}".`);const o=Pe(t);n.createStateAsync("writable",async t=>{t[Ee](o,()=>{const s=o?.listIndex.indexes??[];return At(n,l).emit(t,e,...s)})})};return t.addEventListener(a,u),_t.set(e,{eventName:a,handler:u}),!0}class Tt extends St{_ownerStateName;constructor(e,t){super(e),this._ownerStateName=t??null}emit(...e){return null!==ot&&ot({type:"state:token-emit",kind:"command",stateName:this._ownerStateName,tokenName:this.name,args:e,subscriberCount:this.size}),super.emit(...e)}}function kt(e){return e instanceof Tt}const Ct=new Map,Et=gt();function Mt(e){const t=e.propModifiers.filter(e=>"prevent"===e||"stop"===e).sort().join(",");return`${e.stateName}::${e.statePathName}::${t}`}const Ot=(e,t,n,o)=>s=>{n.includes("prevent")&&s.preventDefault(),n.includes("stop")&&s.stopPropagation();const r=s.target,i=Zs(r.getRootNode(),e);null===i&&F(`State element with name "${e}" not found for event handler.`);const a=Pe(r),l=t.startsWith(N+".");i.createStateAsync("writable",async n=>{n[Ee](a,()=>{const r=a?.listIndex.indexes??[];if(l){const e=n[Me](ft(o,null));return kt(e)||F(`Event binding "${t}" did not resolve to a CommandToken. Declare the name in $commandTokens and reference it as $command.<name>.`),e.emit(s,...r)}const i=n[t];return"function"!=typeof i&&F(`Handler "${t}" is not a function on state "${e}".`),Reflect.apply(i,n,[s,...r])})})};function Dt(e){if(!e.propName.startsWith("on"))return!1;const t=Mt(e);let n=Ct.get(t);void 0===n&&(n=Ot(e.stateName,e.statePathName,e.propModifiers,e.statePathInfo),Ct.set(t,n));const o=e.propName.slice(2);return e.node.addEventListener(o,n),Et.add(t,e),!0}const Rt=new Map,Lt=gt();function Wt(e,t){const n=e.inFilters.map(e=>e.filterName+"("+e.args.join(",")+")").join("|");return`${e.stateName}::${e.statePathName}::${t}::${n}`}function Bt(e){let t="input";for(const n of e.propModifiers)n.startsWith("on")&&(t=n.slice(2));return t}function jt(e){if("radio"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const s=Bt(e),r=Wt(e,s);let i=Rt.get(r);return void 0===i&&(t=e.stateName,n=e.statePathName,o=e.inFilters,i=e=>{const s=e.target;if(null===s)return void console.warn("[@wcstack/state] event.target is null.");if("radio"!==s.type)return void console.warn("[@wcstack/state] event.target is not a radio input element.");if(!1===s.checked)return;let r=s.value;for(const e of o)r=e.filterFn(r);const i=Zs(s.getRootNode(),t);null===i&&F(`State element with name "${t}" not found for two-way binding.`);const a=Pe(s);i.createState("writable",e=>{e[Ee](a,()=>{e[n]=r})})},Rt.set(r,i)),e.node.addEventListener(s,i),Lt.add(r,e),!0}var t,n,o;return!1}const Ft=new Set(["radio","checkbox"]),zt=new Set(["value","valueAsNumber","valueAsDate"]);function qt(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return!1;const n=e,o=n.tagName.toLowerCase();if("input"===o){const e=(n.getAttribute("type")||"text").toLowerCase();if("button"===e)return!1;if(Ft.has(e)&&"checked"===t)return!0;if(zt.has(t))return!0}if("select"===o&&"value"===t)return!0;if("textarea"===o&&"value"===t)return!0;const s=M(n);if(null!==s){const e=O()?.get(s);void 0===e&&F(`Custom element <${s}> is not defined. Cannot determine if property "${t}" is suitable for two-way binding.`);const o=R(n);if(o?.knownProperties.has(t))return!0}return!1}let Ut=1,Vt=1,Ht=1;const Gt=new WeakMap;function Jt(e,t,n,o){let s=Gt.get(e);void 0===s&&(s=new Map,Gt.set(e,s));const r=function(e,t,n){return`${t}::${n}::${e}`}(t,n,o);let i=s.get(r);return void 0===i&&(i=Ut++,s.set(r,i)),i}function Kt(e,t){return"to-element"===t?2*e:2*e+1}const Xt=new Set;function Yt(e){return{transactionId:Vt++,originBindingId:e,visitedEdges:Xt,hop:0}}function Qt(e,t){const n=new Set(e.visitedEdges);return n.add(t),{transactionId:e.transactionId,originBindingId:e.originBindingId,visitedEdges:n,hop:e.hop+1}}let Zt=null;function en(){return Zt}function tn(e,t){const n=Zt;Zt=e;try{return t()}finally{Zt=n}}const nn=[];const on=new Map,sn=gt(),rn=new WeakMap,an=e=>e.detail;function ln(e,t,n){const o=e.inFilters.map(e=>e.filterName+"("+e.args.join(",")+")").join("|");return`${e.stateName}::${e.propName}::${e.statePathName}::${t}::${o}::${n?"g":"n"}`}function cn(e){let t="select"===e.node.tagName.toLowerCase()?"change":"input";const n=M(e.node);if(null!==n){const o=O()?.get(n);void 0===o&&F(`Custom element <${n}> is not defined. Cannot determine event name for two-way binding.`);const s=R(e.node)?.knownProperties.get(e.propName);s&&(t=s.event)}for(const n of e.propModifiers)n.startsWith("on")&&(t=n.slice(2));return t}function dn(e){if(null!==M(e.node)){const t=R(e.node)?.knownProperties.get(e.propName);if(t)return t.getter??an}return null}const un=(e,t,o,s,r)=>i=>{const a=i.target;if(null===a)return void console.warn("[@wcstack/state] event.target is null.");let l;if(null!==r)l=r(i);else{if(!(t in a))return void console.warn(`[@wcstack/state] Property "${t}" does not exist on target element.`);l=a[t]}let c=l;for(const e of s)c=e.filterFn(c);const d=rn.get(a)?.get(t);if(void 0!==d)for(const e of d)e(c);let u=null;if(n.enablePropagationContext){const s=Jt(a,t,e,o),r=function(e,t){for(let n=nn.length-1;n>=0;n--){const o=nn[n];if(o.node===e&&o.receipt.member===t)return o.receipt}return null}(a,t);if(null!==r&&Object.is(r.writtenValue,l))return n.debug&&console.debug("[@wcstack/state] propagation: write confirmation suppressed echo.",{node:a,propName:t,statePathName:o,transactionId:r.transactionId,coveredBySameValueGuard:n.sameValueGuard&&(null===c||"object"!=typeof c)}),void(null!==ot&&ot({type:"propagation:suppressed",reason:"confirmation",transactionId:r.transactionId,edgeId:Kt(s,"to-state"),node:a,member:t}));const i=Kt(s,"to-state"),d=en();if(null!==d&&d.visitedEdges.has(i))return void(null!==ot&&ot({type:"propagation:suppressed",reason:"visited-edge",transactionId:d.transactionId,edgeId:i,node:a,member:t}));u=Qt(d??Yt(s),i)}const f=Zs(a.getRootNode(),e);null===f&&F(`State element with name "${e}" not found for two-way binding.`);const p=Pe(a),h=()=>{f.createState("writable",e=>{e[Ee](p,()=>{e[o]=c})})};null!==u?tn(u,h):h()};const fn=new WeakSet;function pn(e){fn.add(e)}function hn(e){return!!fn.has(e)&&(fn.delete(e),!0)}const mn=new WeakSet;function gn(e){mn.add(e)}function yn(e){return!!mn.has(e)&&(mn.delete(e),!0)}let bn=0;function wn(){bn--}function vn(){return bn>0}class Nn{registry;entries=new Map;constructor(e){this.registry=e}wait(e,t,n=()=>{}){const o=e.toLowerCase();let s=this.entries.get(o);void 0===s&&(s={waiters:new Set},this.entries.set(o,s),this.registry.whenDefined(o).then(()=>this.settle(o,null),e=>this.settle(o,e)));const r={active:!0,resolve:t,reject:n};return s.waiters.add(r),()=>{r.active&&(r.active=!1,s?.waiters.delete(r))}}pendingCount(e){return this.entries.get(e.toLowerCase())?.waiters.size??0}settle(e,t){const n=this.entries.get(e);if(void 0===n)return;this.entries.delete(e);const o=Array.from(n.waiters);n.waiters.clear();for(const e of o)e.active&&(e.active=!1,null===t?e.resolve():e.reject(t))}}const Sn=new WeakMap;function xn(e){let t=Sn.get(e);return void 0===t&&(t=new Nn(e),Sn.set(e,t)),t}function In(e,t){let n=null;for(const o of e.propModifiers){const e=o.indexOf("=");if(e<0)continue;const s=o.slice(0,e).trim(),r=o.slice(e+1).trim();"init"!==s&&"sync"!==s&&F(`Unknown binding modifier "${s}" in "${o}".`),s===t&&(null!==n&&F(`Binding modifier "${t}" may only be specified once.`),n=r)}return n}function An(e){return e.propModifiers.some(e=>e.includes("="))}const Pn=Object.freeze({authority:"state",syncOn:"call",observable:!1}),_n=Object.freeze({authority:"none",syncOn:"call",observable:!1});function $n(e,t){return"state"===e&&"call"===t?Pn:{authority:e,syncOn:t,observable:!1}}function Tn(e){if(!n.enableDirectionalInitialSync)return An(e)&&F("init=/sync= modifiers require enableDirectionalInitialSync."),Pn;const t=null===(o=In(e,"init"))?null:"state"===o||"element"===o||"auto"===o||"none"===o?o:F(`Invalid init modifier value "${o}".`);var o;const s=function(e){return null===e||"call"===e?"call":"connect"===e?"connect":F(`Invalid sync modifier value "${e}".`)}(In(e,"sync"));if("event"===e.bindingType)return null!==t&&"none"!==t&&F("Event bindings only allow init=none."),"call"===s?_n:{authority:"none",syncOn:s,observable:!1};if("command"===e.propSegments[0])return $n("state",s);if("prop"!==e.bindingType)return null!==t&&"state"!==t&&"none"!==t&&F(`Binding type "${e.bindingType}" does not support init=${t}.`),$n(t??"state",s);const r=R(e.node);if(null===r)return $n(t??"state",s);const i=r.knownProperties.has(e.propName),a=r.declaredInputs.has(e.propName);i||a||F(`Property "${e.propName}" is not declared by wcBindable.`);const l=t??(i&&!a?"element":"state");return(i&&a?new Set(["state","element","auto","none"]):i?new Set(["element","none"]):new Set(["state","none"])).has(l)||F(`init=${l} is incompatible with wcBindable member "${e.propName}".`),"connect"!==s||i||F(`sync=connect requires observable property "${e.propName}".`),{authority:l,syncOn:s,observable:i}}function kn(e,t){return"auto"!==t?t:function(e){const t=Zs(e.replaceNode.getRootNode(),e.stateName);null===t&&F(`State element with name "${e.stateName}" not found for binding.`);const n=ht(e);let o=!1;return t.createState("readonly",e=>{o=e[Oe](n)}),o}(e)?"state":"element"}let Cn=0,En=0;const Mn=new WeakMap,On=new WeakMap,Dn=new WeakMap,Rn=new WeakMap;function Ln(e,t){const n=Rn.get(e);void 0!==n?n!==t&&(n instanceof Set?n.add(t):Rn.set(e,new Set([n,t]))):Rn.set(e,t)}function Wn(e,t){const n=Rn.get(e);if(void 0!==n)if(n instanceof Set)for(const e of Array.from(n))t(e);else t(n)}function Bn(e,t){if(t(e),null!==e.firstChild)for(const n of Array.from(e.childNodes))Bn(n,t)}function jn(e){if("object"!=typeof e||null===e)return!1;const t=e;return 9===t.nodeType||11===t.nodeType&&"host"in t}class Fn{root;observer;constructor(e){this.root=e;const t=globalThis.MutationObserver;this.observer="function"==typeof t?new t(e=>this.handleMutations(e)):null,this.observer?.observe(e,{childList:!0,subtree:!0})}handleMutations(e){const t=[],n=[];for(const o of e)t.push(...Array.from(o.removedNodes)),n.push(...Array.from(o.addedNodes));const o=[];for(const e of t)hn(e)||Bn(e,e=>{Wn(e,t=>{this.root.contains(e)||t.handleRemovedNode(e)})});for(const e of n)yn(e)&&!vn()||Bn(e,e=>{Wn(e,t=>{this.root.contains(e)&&t.handleAddedNode(e,o)})});o.length>0&&ps(o)}}const zn=new WeakMap;function qn(e){let t=zn.get(e);return void 0===t&&(t=new Fn(e),zn.set(e,t)),t}function Un(e){const t=e.inFilters.map(e=>`${e.filterName}(${e.args.join(",")})`).join("|"),n=e.outFilters.map(e=>`${e.filterName}(${e.args.join(",")})`).join("|");return[e.bindingType,e.propName,e.propModifiers.join(","),e.stateName,e.statePathName,t,n,e.uuid??""].join("\0")}function Vn(e,t){null===e.teardowns&&(e.teardowns=new Set),e.teardowns.add(t)}class Hn{records=new Set;rowPlan=null;knownBindingsByNode=new WeakMap;optionsByBinding=new WeakMap;deferredByNode=new WeakMap;deferred=new Set;constructor(e=null){null!==e&&this.observe(e)}initialize(e,t={},n){const o=t.registerAddress??!0,s={registerAddress:o,registerPathInfo:t.registerPathInfo??o,applyOnReconnect:t.applyOnReconnect??!0},r=[];for(const t of e){const e=this.remember(t,s),o=Mn.get(e);void 0===o||"disposed"===o.phase||"failed"===o.phase?(this.start(e,s,n),r.push(e)):(this.observe(o.anchor),s.registerAddress&&null===o.address&&null===o.patternListIndex&&(o.options.registerAddress=!0,this.registerAddress(o)),"active"===o.phase&&this.settleInitialRecord(o),this.settleConnectedSnapshot(o))}return r.filter(e=>this.shouldApplyState(e))}activate(e,t){if(jn(t)&&qn(t),null===this.rowPlan)for(const n of e){const e=Mn.get(n);if(void 0!==e&&e.session===this&&"disposed"!==e.phase&&"failed"!==e.phase){null===e.address&&null===e.patternListIndex&&(e.options.registerAddress=!0,this.registerAddress(e,t)),"active"===e.phase&&this.settleInitialRecord(e),this.settleConnectedSnapshot(e);continue}const o=this.optionsByBinding.get(n);void 0!==o?(o.registerAddress=!0,this.start(n,o,t)):this.initialize([n],{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1})}else this.activatePlanRows(this.rowPlan,e,t)}shouldApplyState(e){if(!n.enableDirectionalInitialSync)return An(e)&&Tn(e),!0;const t=Mn.get(e);return void 0===t||t.session!==this||(!t.options.registerAddress||"waiting-definition"===t.phase||("active"===t.phase&&this.settleInitialRecord(t),"state"===t.resolvedAuthority))}getRecord(e){const t=Mn.get(e);return t?.session===this?t:null}addTeardown(e,t){const n=Mn.get(e);return!(void 0===n||!this.isAlive(n,n.generation))&&(Vn(n,t),!0)}deferUntilDefined(e,t,n,o=()=>{}){const s=O();null===s&&F(`CustomElementRegistry is unavailable for <${t}>.`),this.observe(e),Ln(e,this);const r={node:e,active:!0,cancel:null};let i=this.deferredByNode.get(e);void 0===i&&(i=new Set,this.deferredByNode.set(e,i)),i.add(r),this.deferred.add(r);const a=()=>!!r.active&&(r.active=!1,i?.delete(r),this.deferred.delete(r),!0);return r.cancel=xn(s).wait(t,()=>{if(a())try{D(s,e),n()}catch(e){o(e)}},e=>{a()&&o(e)}),()=>{a()&&r.cancel?.()}}disposeBinding(e){const t=Mn.get(e);void 0!==t&&t.session===this&&this.disposeRecord(t)}dispose(){for(const e of Array.from(this.records))this.disposeRecord(e);for(const e of Array.from(this.deferred))e.active=!1,e.cancel?.(),this.deferred.delete(e),this.deferredByNode.get(e.node)?.delete(e)}canWholesaleDestroy(){if(this.deferred.size>0)return!1;for(const e of this.records)if(e.pendingDefinitions>0||e.observationPending)return!1;return!0}destroyRecords(){for(const e of this.records)null!==e.address&&(it(e.address,e.info),e.address=null),e.phase="disposed",e.teardowns=null;this.records.clear()}observe(e){const t=function(e){const t=e.getRootNode();return jn(t)?t:null}(e);null!==t&&qn(t)}handleMutations(e,t,n){for(const n of t)Bn(n,t=>{e.contains(t)||this.handleRemovedNode(t)});const o=[];for(const t of n)Bn(t,t=>{e.contains(t)&&this.handleAddedNode(t,o)});o.length>0&&ps(o)}handleRemovedNode(e){const t=this.knownBindingsByNode.get(e);if(void 0!==t)if(t instanceof Map)for(const e of t.values())this.disposeBinding(e);else this.disposeBinding(t);const n=this.deferredByNode.get(e);if(void 0!==n)for(const e of Array.from(n))e.active=!1,e.cancel?.(),n.delete(e),this.deferred.delete(e)}handleAddedNode(e,t){const n=this.knownBindingsByNode.get(e);if(void 0===n)return;const o=n instanceof Map?n.values():[n];for(const e of o){const n=Mn.get(e);if("active"===n?.phase){this.settleConnectedSnapshot(n);continue}if("disposed"!==n?.phase)continue;const o=this.optionsByBinding.get(e);if(void 0!==o)try{this.start(e,o),o.applyOnReconnect&&this.shouldApplyState(e)&&t.push(e)}catch{}}}knownMapFor(e){const t=this.knownBindingsByNode.get(e);if(t instanceof Map)return t;const n=new Map;if(void 0!==t){let e=Dn.get(t);void 0===e&&(e=Un(t),Dn.set(t,e)),n.set(e,t)}return this.knownBindingsByNode.set(e,n),n}remember(e,t){const n=e.replaceNode;Ln(n,this);const o=this.knownMapFor(n);let s=Dn.get(e);void 0===s&&(s=Un(e),Dn.set(e,s));const r=o.get(s);if(void 0!==r){const e=this.optionsByBinding.get(r);return void 0!==e&&(e.registerAddress||=t.registerAddress,e.registerPathInfo||=t.registerPathInfo,e.applyOnReconnect||=t.applyOnReconnect),r}return o.set(s,e),this.optionsByBinding.set(e,{...t}),e}initializeRow(e,t){this.rowPlan=e;const n={registerAddress:!1,registerPathInfo:!1,applyOnReconnect:!1},o=e.slots;for(let e=0;e<t.length;e++){const s=t[e],r=o[e],i=s.replaceNode;Ln(i,this),this.addKnownRowBinding(i,s,e),this.optionsByBinding.set(s,n);const a={id:++Cn,info:s,generation:++En,phase:"active",teardowns:null,session:this,anchor:i,options:n,address:null,patternPathInfo:null,patternListIndex:null,pendingDefinitions:0,initialPolicy:r.policy,resolvedAuthority:r.authority,initialSettled:!0,observationPending:!1,eventSequence:0,hasProducerValue:!1,producerValue:void 0,eventAttached:!1,twowayAttached:!1};if(Mn.set(s,a),this.records.add(a),r.isEvent){try{Dt(s)}catch(e){throw a.phase="failed",this.runTeardowns(a),this.records.delete(a),e}a.eventAttached=!0}}}activatePlanRows(e,t,n){const o=e.slots;for(let e=0;e<t.length;e++){const s=t[e],r=Mn.get(s);if(void 0!==r&&r.session===this){if(r.options.registerAddress=!0,"disposed"===r.phase||"failed"===r.phase){const t=o[e];if(r.generation=++En,r.phase="active",r.initialPolicy=t.policy,r.resolvedAuthority=t.authority,r.initialSettled=!0,this.records.add(r),t.isEvent){try{Dt(s)}catch(e){throw r.phase="failed",this.runTeardowns(r),this.records.delete(r),e}r.eventAttached=!0}this.registerAddress(r,n);continue}null===r.address&&null===r.patternListIndex&&this.registerAddress(r,n)}else this.initialize([s],{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1})}}addKnownRowBinding(e,t,n){const o=this.knownBindingsByNode.get(e);if(void 0===o)return void this.knownBindingsByNode.set(e,t);if(o instanceof Map)return void o.set("@plan:"+n,t);const s=new Map;s.set("@plan:first",o),s.set("@plan:"+n,t),this.knownBindingsByNode.set(e,s)}start(e,t,n){!function(e){const t=e.node,n=e.replaceNode;t!==n&&null!==t.parentNode&&t.parentNode.replaceChild(n,t)}(e);const o=this.optionsByBinding.get(e)??{...t},s={id:++Cn,info:e,generation:++En,phase:"discovered",teardowns:null,session:this,anchor:e.replaceNode,options:o,address:null,patternPathInfo:null,patternListIndex:null,pendingDefinitions:0,initialPolicy:null,resolvedAuthority:null,initialSettled:!1,observationPending:!1,eventSequence:0,hasProducerValue:!1,producerValue:void 0,eventAttached:!1,twowayAttached:!1};Mn.set(e,s),this.records.add(s),void 0===n&&this.observe(s.anchor);try{s.phase="attaching",this.attachListeners(s),s.options.registerAddress&&this.registerAddress(s,n),0===s.pendingDefinitions&&(s.phase="active")}catch(e){throw s.phase="failed",this.runTeardowns(s),this.records.delete(s),e}}attachListeners(e){const t=e.info;Dt(t)?e.eventAttached=!0:"eventToken"!==t.propSegments[0]?(jt(t)&&Vn(e,()=>function(e){if("radio"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const t=Bt(e),n=Wt(e,t),o=Rt.get(n);return void 0!==o&&(e.node.removeEventListener(t,o),0!==Lt.countOf(n)&&(Lt.remove(n,e)&&Rt.delete(n),!0))}return!1}(t)),Nt(t)&&Vn(e,()=>function(e){if("checkbox"===e.bindingType&&-1===e.propModifiers.indexOf("ro")){const t=vt(e),n=wt(e,t),o=yt.get(n);return void 0!==o&&(e.node.removeEventListener(t,o),0!==bt.countOf(n)&&(bt.remove(n,e)&&yt.delete(n),!0))}return!1}(t)),this.attachAfterDefinition(e,()=>{if(n.enableDirectionalInitialSync&&qt(t.node,t.propName)&&-1===t.propModifiers.indexOf("ro")){const n=function(e,t,n){let o=rn.get(e);void 0===o&&(o=new Map,rn.set(e,o));let s=o.get(t);return void 0===s&&(s=new Set,o.set(t,s)),s.add(n),()=>{s?.delete(n),0===s?.size&&o?.delete(t),0===o?.size&&rn.delete(e)}}(t.node,t.propName,t=>{this.isAlive(e,e.generation)&&(e.eventSequence+=1,e.hasProducerValue=!0,e.producerValue=t)});Vn(e,n)}!function(e){const t=M(e.node);if(null!==t){const e=O(),n=e?.get(t);if(void 0===n)return void(null===e&&F(`CustomElementRegistry is unavailable for <${t}>.`))}if(qt(e.node,e.propName)&&-1===e.propModifiers.indexOf("ro")){const t=cn(e),n=dn(e),o=ln(e,t,null!==n);let s=on.get(o);void 0===s&&(s=un(e.stateName,e.propName,e.statePathName,e.inFilters,n),on.set(o,s)),e.node.addEventListener(t,s),sn.add(o,e)}}(t),e.twowayAttached=!0})):this.attachAfterDefinition(e,()=>{$t(t)&&Vn(e,()=>function(e){if("eventToken"!==e.propSegments[0])return!1;const t=_t.get(e);return void 0!==t&&(e.node.removeEventListener(t.eventName,t.handler),_t.delete(e),!0)}(t))})}attachAfterDefinition(e,t){const n=M(e.info.node);if(null===n)return void t();const o=O();if(null===o&&F(`CustomElementRegistry is unavailable for <${n}>.`),void 0!==o.get(n))return void t();e.phase="waiting-definition",e.pendingDefinitions+=1;const s=e.generation,r=xn(o).wait(n,()=>{if(this.isAlive(e,s))try{D(o,e.info.node),t(),e.pendingDefinitions-=1,0===e.pendingDefinitions&&(e.phase="active",this.settleInitialRecord(e))}catch{e.phase="failed",this.runTeardowns(e),this.records.delete(e)}},()=>{this.isAlive(e,s)&&(e.phase="failed",this.runTeardowns(e),this.records.delete(e))});Vn(e,r)}settleInitialRecord(e){if(n.enableDirectionalInitialSync&&!e.initialSettled&&e.options.registerAddress){e.phase="synchronizing";try{const t=Tn(e.info),n=kn(e.info,t.authority);if(e.initialPolicy=t,e.resolvedAuthority=n,e.initialSettled=!0,e.phase="active",!t.observable)return;if("connect"===t.syncOn&&e.info.node instanceof HTMLElement&&!e.info.node.isConnected)return e.observationPending=!0,void bn++;this.readProducerSnapshot(e,"call"===t.syncOn)}catch(t){throw e.phase="failed",this.runTeardowns(e),this.records.delete(e),t}}}readProducerSnapshot(e,t){if(!this.isAlive(e,e.generation))return;const n=e.info.node,o=e.info.propName;if(!(o in n))return;const s=e.eventSequence,r=n[o];e.observationPending&&(e.observationPending=!1,wn()),t&&e.eventSequence!==s||(e.hasProducerValue=!0,e.producerValue=r,"element"===e.resolvedAuthority&&function(e,t){let n=t;for(const t of e.inFilters)n=t.filterFn(n);const o=Zs(e.node.getRootNode(),e.stateName);null===o&&F(`State element with name "${e.stateName}" not found for initial binding sync.`);const s=Pe(e.node);o.createState("writable",t=>{t[Ee](s,()=>{t[e.statePathName]=n})})}(e.info,r))}settleConnectedSnapshot(e){if(n.enableDirectionalInitialSync&&e.observationPending&&e.info.node instanceof HTMLElement&&e.info.node.isConnected)try{this.readProducerSnapshot(e,!1)}catch{e.phase="failed",this.runTeardowns(e),this.records.delete(e)}}registerAddress(e,t){if(null!==e.address||null!==e.patternListIndex)return;const n=e.info,o=Qe(n);if(null!==o){const s=Zs(et(n,t),n.stateName);null===s&&F(`State element with name "${n.stateName}" not found for binding.`);const r=je(s,n.statePathInfo);!function(e,t,n){let o=at.get(e);void 0===o&&(o=new WeakMap,at.set(e,o));const s=o.get(t);void 0===s?o.set(t,n):s instanceof Set?s.add(n):s!==n&&o.set(t,new Set([s,n])),null!==ot&&ot({type:"state:binding-added",absoluteAddress:Ve(e,t),binding:n})}(r,o,n),e.patternPathInfo=r,e.patternListIndex=o}else{const o=tt(n,t);rt(o,n),e.address=o}if(!e.options.registerPathInfo)return;const s=Zs(n.replaceNode.getRootNode(),n.stateName);null===s&&F(`State element with name "${n.stateName}" not found for binding.`),"event"!==n.bindingType&&s.setPathInfo(n.statePathName,n.bindingType)}isAlive(e,t){return e.generation===t&&Mn.get(e.info)===e&&"disposed"!==e.phase&&"failed"!==e.phase}disposeRecord(e){"disposed"!==e.phase&&(e.phase="disposed",this.runTeardowns(e),this.records.delete(e))}runTeardowns(e){e.observationPending&&(e.observationPending=!1,wn());const t=e.info;if(null!==e.address)try{it(e.address,t),e.address=null,mt(t),nt(t)}catch{}else if(null!==e.patternListIndex)try{!function(e,t,n){const o=at.get(e);if(void 0===o)return;const s=o.get(t);void 0!==s&&(s instanceof Set?s.delete(n):s===n&&o.delete(t),null!==ot&&ot({type:"state:binding-removed",absoluteAddress:Ve(e,t),binding:n}))}(e.patternPathInfo,e.patternListIndex,t),e.patternPathInfo=null,e.patternListIndex=null,mt(t),nt(t)}catch{}if(e.twowayAttached){e.twowayAttached=!1;try{!function(e){const t=M(e.node);if(null!==t){const e=O(),n=e?.get(t);if(void 0===n)return}if(qt(e.node,e.propName)&&-1===e.propModifiers.indexOf("ro")){const t=cn(e),n=ln(e,t,null!==dn(e)),o=on.get(n);if(void 0===o)return;e.node.removeEventListener(t,o),sn.remove(n,e)&&on.delete(n)}}(t)}catch{}}if(null!==e.teardowns){const t=Array.from(e.teardowns).reverse();e.teardowns=null;for(const e of t)try{e()}catch{}}if(e.eventAttached){e.eventAttached=!1;try{!function(e){if(!e.propName.startsWith("on"))return!1;const t=Mt(e),n=Ct.get(t);if(void 0===n)return!1;const o=e.propName.slice(2);e.node.removeEventListener(o,n),0!==Et.countOf(t)&&(Et.remove(t,e)&&Ct.delete(t))}(t)}catch{}}}}function Gn(e){let t=On.get(e);return void 0===t&&(t=new Hn(e),On.set(e,t)),t}function Jn(e){return Mn.get(e)?.session??null}const Kn=new WeakMap;function Xn(e,t){const n=Kn.get(e);return!!n&&!0===n.get(t)}function Yn(e,t){let n=e;for(const e of t)n=e.filterFn(n);return n}const Qn=Object.freeze([]);const Zn=new WeakMap;const eo=new WeakMap;function to(e){return eo.get(e)??[]}function no(e,t){eo.set(e,t)}Set.prototype.difference||(Set.prototype.difference=function(e){const t=new Set(this);for(const n of e)t.delete(n);return t}),Set.prototype.intersection||(Set.prototype.intersection=function(e){const t=new Set;for(const n of e)this.has(n)&&t.add(n);return t});let oo=0;function so(){return`u${(oo++).toString(36)}`}let ro=0;class io{uuid=so();parentListIndex;position;length;_index;_version;_indexes;_listIndexes;constructor(e,t){this.parentListIndex=e,this.position=e?e.position+1:0,this.length=this.position+1,this._index=t,this._version=ro}get index(){return this._index}set index(e){this._index=e,this._version=++ro,this.indexes[this.position]=e}get version(){return this._version}get dirty(){return null!==this.parentListIndex&&(this.parentListIndex.dirty||this.parentListIndex.version>this._version)}get indexes(){return null===this.parentListIndex?void 0===this._indexes&&(this._indexes=[this._index]):(void 0===this._indexes||this.dirty)&&(this._indexes=[...this.parentListIndex.indexes,this._index],this._version=ro),this._indexes}get listIndexes(){return null===this.parentListIndex?void 0===this._listIndexes&&(this._listIndexes=[new WeakRef(this)]):void 0===this._listIndexes&&(this._listIndexes=[...this.parentListIndex.listIndexes,new WeakRef(this)]),this._listIndexes}get varName(){return`$${this.position+1}`}at(e){return e>=0?this.listIndexes[e]?.deref()||null:this.listIndexes[this.listIndexes.length+e]?.deref()||null}}function ao(e,t){return new io(e,t)}const lo=new WeakMap;function co(e){return lo.get(e)||null}function uo(e,t){null!==t?lo.set(e,t):lo.delete(e)}const fo=new WeakMap,po=Object.freeze([]),ho=new Set;function mo(e,t,n){const o=function(e,t,n){const o=Array.isArray(t)&&t.length>0?t:po,s=Array.isArray(n)&&n.length>0?n:po,r=function(e,t){const n=Array.isArray(e)&&e.length>0?e:po,o=Array.isArray(t)&&t.length>0?t:po;let s=fo.get(n);return s&&s.get(o)||null}(o,s);if(r)return r;const i=co(o)||[];let a;try{if(0===s.length)return a={oldIndexes:i,newIndexes:[],changeIndexSet:ho,deleteIndexSet:new Set(i),addIndexSet:ho};let t=co(s);if(0===o.length){if(null===t){t=[];for(let n=0;n<s.length;n++){const o=ao(e,n);t.push(o)}}return a={oldIndexes:i,newIndexes:t,changeIndexSet:ho,deleteIndexSet:ho,addIndexSet:new Set(t)}}if(function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(o,s))return a={oldIndexes:i,newIndexes:i,changeIndexSet:ho,deleteIndexSet:ho,addIndexSet:ho};if(null!==t)return function(e,t){const n=new Set(t),o=new Set(e),s=new Set,r=n.difference(o),i=o.difference(n),a=new Map;for(let t=0;t<e.length;t++)a.set(e[t],t);for(let e=0;e<t.length;e++){const n=t[e];r.has(n)||a.get(n)!==e&&s.add(n)}return{oldIndexes:e,newIndexes:t,changeIndexSet:s,deleteIndexSet:i,addIndexSet:r}}(i,t);t=[];const n=new Map;for(let e=0;e<o.length;e++){const t=o[e];let s=n.get(t);s||(s=[],n.set(t,s)),s.push(e)}const r=new Set,l=new Set;for(let o=0;o<s.length;o++){const a=s[o],c=n.get(a),d=c&&c.length>0?c.shift():void 0;if(void 0===d){const n=ao(e,o);t.push(n),l.add(n)}else{const e=i[d];d!==o&&r.add(e),t.push(e)}}return a={oldIndexes:i,newIndexes:t,changeIndexSet:r,deleteIndexSet:new Set(i).difference(new Set(t)),addIndexSet:l}}finally{void 0!==a&&(!function(e,t,n){let o=fo.get(e);o||(o=new WeakMap,fo.set(e,o)),o.set(t,n)}(o,s,a),uo(s,a.newIndexes))}}(e,t,n);return function(e){for(let t=0;t<e.length;t++)e[t].index!==t&&(e[t].index=t)}(o.newIndexes),o}function go(e){if(0===e.changeIndexSet.size||e.addIndexSet.size===e.newIndexes.length)return null;const t=new Map;for(let n=0;n<e.oldIndexes.length;n++)t.set(e.oldIndexes[n],n);const n=[],o=[];let s=-1,r=!0;for(const i of e.newIndexes){if(e.addIndexSet.has(i))continue;const a=t.get(i);if(void 0===a)return null;a<s&&(r=!1),s=a,n.push(i),o.push(a)}if(r)return null;const i=function(e){const t=e.length,n=[],o=new Array(t).fill(-1);for(let s=0;s<t;s++){const t=e[s];let r=0,i=n.length;for(;r<i;){const o=r+i>>1;e[n[o]]<t?r=o+1:i=o}r>0&&(o[s]=n[r-1]),n[r]=s}const s=[];let r=n.length>0?n[n.length-1]:-1;for(;r>=0;)s.push(r),r=o[r];return s.reverse(),s}(o),a=new Set;for(const e of i)a.add(n[e]);return a}const yo=new WeakMap;function bo(e){return yo.get(e)??[]}function wo(e,t){yo.set(e,t)}const vo=new WeakMap;function No(e){return vo.get(e)??null}function So(e,t){vo.set(e,t)}const xo=new WeakMap;function Io(e){return xo.get(e)??[]}function Ao(e,t){xo.set(e,t)}function Po(e,t){const n=Io(e);for(const e of n)_e(e,t)}function _o(e,t,n){Po(e,t);const o=bo(e),s=No(e);null!==s&&s.activate(o,n.rootNode);for(const e of o){if(null===s){rt(tt(e),e)}(null===s||s.shouldApplyState(e))&&fs(e,n)}}function $o(e){if(!e.mounted)return;const t=bo(e),n=No(e);for(const e of t)if(null!==n)n.disposeBinding(e);else{it(tt(e),e)}!function(e){const t=Io(e);for(const e of t)_e(e,null)}(e)}const To=new WeakMap,ko=Object.freeze(new Set);function Co(e,t){const n=To.get(e);n?n.add(t):To.set(e,new Set([t]))}function Eo(e){const t=To.get(e);return void 0!==t?t:ko}function Mo(e,t){const n=To.get(e);n&&(n.delete(t),0===n.size&&To.delete(e))}const Oo=new Set(["if","elseif","else","for"]);class Do{_content;_childNodeArray=[];_firstNode=null;_lastNode=null;_mounted=!1;constructor(e){this._content=e,this._childNodeArray=Array.from(this._content.childNodes),this._firstNode=this._childNodeArray.length>0?this._childNodeArray[0]:null,this._lastNode=this._childNodeArray.length>0?this._childNodeArray[this._childNodeArray.length-1]:null}get firstNode(){return this._firstNode}get lastNode(){return this._lastNode}get mounted(){return this._mounted}appendTo(e){for(const t of this._childNodeArray)gn(t),e.appendChild(t);this._mounted=!0}mountAfter(e){const t=e.parentNode,n=e.nextSibling;if(t)for(const e of this._childNodeArray)gn(e),t.insertBefore(e,n);this._mounted=!0}tryDestroy(){const e=No(this);if(null===e||!e.canWholesaleDestroy())return!1;e.destroyRecords();for(const e of this._childNodeArray)pn(e),null!==e.parentNode&&e.parentNode.removeChild(e);const t=bo(this);for(const e of t)if(Oo.has(e.bindingType)){const t=Eo(e.node);for(const e of t)e.tryDestroy()||e.unmount()}return this._mounted=!1,!0}unmount(){No(this)?.dispose();for(const e of this._childNodeArray)pn(e),null!==e.parentNode&&e.parentNode.removeChild(e);const e=bo(this);for(const t of e){if(Oo.has(t.bindingType)){const e=Eo(t.node);for(const t of e)t.unmount()}mt(t),nt(t)}this._mounted=!1}}function Ro(e){const t=document.createDocumentFragment(),n=new Do(t);return n._childNodeArray=e,n._firstNode=e.length>0?e[0]:null,n._lastNode=e.length>0?e[e.length-1]:null,n._mounted=!0,n}function Lo(e,t,n){const o=document.importNode(t.fragment,!0),s=t.nodeInfos,r=new Array(s.length);for(let e=0;e<s.length;e++){const t=U(o,s[e].nodePath);null===t&&F(`Node not found by path [${s[e].nodePath.join(", ")}] in fragment.`),xe(t),l(t),r[e]=t}const i=n.slots,a=new Array(i.length),c=[];for(let e=0;e<i.length;e++){const t=i[e],n=r[t.nodeIndex],o={...t.template,node:n,replaceNode:n};a[e]=o,t.isIndexBinding&&c.push(o)}const d=function(e,t){const n=new Hn;return n.initializeRow(e,t),n}(n,a),u=new Do(o);return So(u,d),wo(u,a),no(u,c),Ao(u,r),Co(e.node,u),u}function Wo(e){void 0!==e.uuid&&null!==e.uuid||F("BindingInfo.uuid is null.");const t=ye(e.uuid);t||F(`Fragment with UUID "${e.uuid}" not found.`);let o=t.rowPlan;if((void 0===o||null!==o&&o.directional!==n.enableDirectionalInitialSync)&&(o=t.rowPlan=function(e){const t=n.enableDirectionalInitialSync,o=[],s=e.nodeInfos;for(let t=0;t<s.length;t++){const n=s[t],r=U(e.fragment,n.nodePath);if(null===r)return null;for(const e of n.parseBindTextResults){const n=e.bindingType;if("text"!==n&&"prop"!==n&&"event"!==n)return null;const s=e.propSegments[0];if("command"===s||"eventToken"===s)return null;if("text"===n){if(r.nodeType!==Node.TEXT_NODE)return null}else if(null!==M(r))return null;if("prop"===n&&qt(r,e.propName))return null;let i;try{i=Tn({...e,node:r,replaceNode:r})}catch{return null}if(i.observable||"auto"===i.authority)return null;o.push({nodeIndex:t,template:e,isEvent:"event"===n,isIndexBinding:e.statePathName in h,policy:i,authority:i.authority})}}return{directional:t,slots:o}}(t)),null!==o)return Lo(e,t,o);const s=document.importNode(t.fragment,!0),r=function(e,t){const[n,o]=function(e,t){const n=[],o=[];for(const s of t){const t=U(e,s.nodePath);if(null===t&&F(`Node not found by path [${s.nodePath.join(", ")}] in fragment.`),ve.has(t))continue;const r=Ne(t,s.parseBindTextResults,{allowDeferred:!1});o.push(...r.bindings),n.push(t)}return[n,o]}(e,t),s=new Hn,r=s.initialize(o,{registerAddress:!1,applyOnReconnect:!1},null);return{nodes:n,bindingInfos:r,bindingSession:s}}(s,t.nodeInfos),i=new Do(s);So(i,r.bindingSession),wo(i,r.bindingInfos);const a=[];for(const e of r.bindingInfos)e.statePathName in h&&a.push(e);return no(i,a),Ao(i,r.nodes),Co(e.node,i),i}const Bo=new WeakMap,jo=new WeakMap,Fo=new WeakMap,zo=new WeakMap;function qo(e,t,n){!function(e,t,n){let o=jo.get(e);if(void 0===o){if(null===n)return;o=new WeakMap,jo.set(e,o)}null===n?o.delete(t):o.set(t,n)}(e,t,n)}function Uo(e,t){Bo.set(e,t)}function Vo(e,t){let n=Fo.get(e.node);void 0===n&&(n=[],Fo.set(e.node,n)),n.length<1e3?n.push(t):Mo(e.node,t)}function Ho(e,t){if(null===t)return!1;if(e.nextSibling===t)return!0;const n=e.compareDocumentPosition(t);return 0!==(n&Node.DOCUMENT_POSITION_FOLLOWING)&&0===(n&Node.DOCUMENT_POSITION_DISCONNECTED)}const Go=new WeakMap;function Jo(e){return`${e.bindingType} ${e.statePathName} ${e.outFilters.map(e=>e.filterName).join("|")} ${e.node.isConnected?"(connected)":"(disconnected)"}`}function Ko(t,o,s){const r=t.node.isConnected,i=Boolean(s);let a;const l=Eo(t.node);a=0===l.size?Wo(t):l.values().next().value;const c=e(),d=t.uuid??"",u=t.bindingType;try{if(i||(n.debug&&console.log(`unmount if content : ${Jo(t)}`),$o(a),a.unmount()),i){if(n.debug&&console.log(`mount if content : ${Jo(t)}`),c){const e=document.createComment(`@@wcs-${u}-start:${d}:${t.statePathName}`);t.node.parentNode.insertBefore(e,t.node.nextSibling),a.mountAfter(e);const n=document.createComment(`@@wcs-${u}-end:${d}:${t.statePathName}`),o=a.lastNode??e;o.parentNode.insertBefore(n,o.nextSibling)}else a.mountAfter(t.node);_o(a,Pe(t.node),o)}}finally{Go.set(t.node,r)}}const Xo=new WeakMap;function Yo(e){return Xo.get(e)??[]}const Qo=new Set;const Zo={value(e,t){"TEXTAREA"===e.tagName?e.textContent=String(t??""):e.setAttribute("value",String(t??""))},checked(e,t){t?e.setAttribute("checked",""):e.removeAttribute("checked")},selected(e,t){t?e.setAttribute("selected",""):e.removeAttribute("selected")},disabled(e,t){t?e.setAttribute("disabled",""):e.removeAttribute("disabled")},selectedIndex(e,t){const n=e.querySelectorAll("option"),o=Number(t);for(let e=0;e<n.length;e++)e===o?n[e].setAttribute("selected",""):n[e].removeAttribute("selected")}};function es(t,o,s){if(void 0===s)return void(n.debug&&console.debug("Skipped property write: state value is undefined.",{element:t.node,propSegments:t.propSegments,statePathName:t.statePathName}));const r=t.node,i=t.propSegments;if(1===i.length){const l=i[0];if(r[l]!==s){const e=()=>{let e=!1;try{r[l]=s,e=!0}catch(e){n.debug&&console.warn(`Failed to set property '${l}' on element.`,{element:r,newValue:s,error:e})}if(e){const e=function(e,t){const n=M(e);if(null===n)return null;const o=O()?.get(n);if(void 0===o)return null;const s=R(e)?.declaredInputs.get(t);return"string"==typeof s?.attribute&&s.attribute.length>0?s.attribute:null}(r,l);if(null!==e)try{!function(e,t,n){if(null==n)return void e.removeAttribute(t);let o;if("object"==typeof n)try{o=JSON.stringify(n)}catch{o=String(n)}else o=String(n);e.setAttribute(t,o)}(r,e,s)}catch(t){n.debug&&console.warn(`Failed to mirror attribute '${e}' on element.`,{element:r,newValue:s,error:t})}}};if(n.enablePropagationContext&&qt(r,l)){const n=Jt(r,l,t.stateName,t.statePathName),i=Kt(n,"to-element"),a=o?.propagationContextByBinding?.get(t)??en()??Yt(n);if(a.visitedEdges.has(i))null!==ot&&ot({type:"propagation:suppressed",reason:"visited-edge",transactionId:a.transactionId,edgeId:i,node:r,member:l});else{const t=Qt(a,i);tn(t,()=>function(e,t,n,o,s,r){const i={bindingId:o,bindingGeneration:0,member:t,transactionId:s,synchronousScopeId:Ht++,writtenValue:n};nn.push({receipt:i,node:e});try{return r()}finally{nn.pop()}}(r,l,s,n,t.transactionId,e))}}else e()}if(e()){const e=Zo[l];e?e(r,s):(!function(e,t,n){let o=Xo.get(e);o||(o=[],Xo.set(e,o));const s=o.find(e=>e.propName===t);s?s.value=n:o.push({propName:t,value:n})}(r,l,s),a=r,Qo.add(a))}return}var a;const l=i[0];let c=r[l];for(let e=1;e<i.length-1;e++){const t=i[e];if(null==c)return;c=c[t]}const d=c[i[i.length-1]];if(d!==s){if(Object.isFrozen(c))return void(n.debug&&console.warn("Attempting to set property on frozen object.",{element:r,propSegments:i,oldValue:d,newValue:s}));try{c[i[i.length-1]]=s}catch(e){n.debug&&console.warn("Failed to set property on sub-object.",{element:r,propSegments:i,oldValue:d,newValue:s,error:e})}}}const ts=new WeakSet;function ns(e,t,n){const o=e.node,s=e.propSegments;s.length<=1&&F(`Invalid propSegments for web component binding: ${s.join(".")}`);const[r,...i]=s,a=o[r];void 0===a&&F(`Property "${r}" not found on web component.`),a[i.join(".")]=n}function os(e,t){const n=ht(t);if(n.pathInfo.path in h){const e=Pe(t.node);return null===e&&F(`ListIndex not found for binding: ${t.statePathName}`),function(e,t){null===e.listIndex&&F("ListIndex not found for loopContext:");const n=h[t];void 0===n&&F(`Invalid index name: ${t}`);const o=e.listIndex.at(n);return null===o&&F(`Index not found at position ${n} for loopContext:`),o.index}(e,n.pathInfo.path)}return e[Me](n)}const ss=new WeakSet;function rs(e,t){console.error(`[@wcstack/state] deferred apply failed for <${e}>.`,t)}const is={class:function(e,t,n){const o=e.node,s=e.propSegments[1];"boolean"!=typeof n&&F("Invalid value for class application: expected boolean, got "+typeof n),o.classList.toggle(s,n)},attr:function(e,t,n){const o=e.node,s=e.propSegments[1];o.getAttribute(s)!==n&&o.setAttribute(s,n)},style:function(e,t,n){const o=e.propSegments[1],s=e.node.style;s[o]!==n&&(s[o]=n)},command:function(e,t,n){kt(n)||F("command binding requires a CommandToken value (use $command.<tokenName> with a name declared in $commandTokens).");const o=n,s=Zn.get(e);if(s&&s.token===o)return;const r=e.node,i=e.propSegments[1];"string"==typeof i&&0!==i.length||F('command binding requires a method name (e.g., "command.fetch").');const a=function(e){const t=M(e);if(null===t)return null;const n=O()?.get(t);return void 0===n&&F(`Custom element <${t}> is not defined for command binding.`),R(e)}(r);null===a&&F(`command binding requires a wc-bindable custom element. <${r.tagName.toLowerCase()}> is not wc-bindable.`),a.declaredCommands.has(i)||F(`Command "${i}" is not declared in wcBindable.commands of <${r.tagName.toLowerCase()}>.`),s&&(s.unsubscribe(),Zn.delete(e));const l=new WeakRef(r);let c=null;c=o.subscribe((...t)=>{const n=l.deref();if(!n||!n.isConnected)return c?.(),void Zn.delete(e);const o=n[i];return"function"!=typeof o&&F(`Method "${i}" is not a function on <${n.tagName.toLowerCase()}>.`),Reflect.apply(o,n,t)}),Zn.set(e,{token:o,unsubscribe:c,elementRef:l})}},as={text:function(t,n,o){const s=null==o?"":String(o);if(t.replaceNode.nodeValue!==s&&(t.replaceNode.nodeValue=s),e()&&!ts.has(t.replaceNode)){ts.add(t.replaceNode);const e=t.replaceNode.parentNode;if(e){const n=t.statePathName,o=document.createComment(`@@wcs-text-start:${n}`),s=document.createComment(`@@wcs-text-end:${n}`);e.insertBefore(o,t.replaceNode),e.insertBefore(s,t.replaceNode.nextSibling)}}},for:function(t,n,o){const s=t.statePathInfo,r=Qe(t),i=tt(t),a=Te(i),l=mo(r,a,o);n.newListValueByAbsAddress.set(i,Array.isArray(o)?o:[]);const c=Array.isArray(a)&&a.length===l.deleteIndexSet.size&&l.deleteIndexSet.size>0;if(c&&null!==t.node.parentNode){let e=zo.get(t.node);if(void 0===e){const n=Bo.get(t.node)||t.node;e=function(e,t){let n=e.previousSibling,o=t.nextSibling,s=!0;for(;null!==n;){if(n.nodeType===Node.ELEMENT_NODE||n.nodeType===Node.TEXT_NODE&&""!==(n.textContent?.trim()??"")){s=!1;break}n=n.previousSibling}for(;null!==o;){if(o.nodeType===Node.ELEMENT_NODE||o.nodeType===Node.TEXT_NODE&&""!==(o.textContent?.trim()??"")){s=!1;break}o=o.nextSibling}return s}(t.node,n),zo.set(t.node,e)}if(e){const e=t.node.parentNode;e.textContent="",e.appendChild(t.node)}}let u=jo.get(t.node),f=c?1e3-function(e){return Fo.get(e.node)||[]}(t).length:Number.POSITIVE_INFINITY;if(void 0!==u){for(const e of l.deleteIndexSet){const n=u.get(e);void 0!==n&&(f<=0&&n.tryDestroy()?Mo(t.node,n):($o(n),n.unmount(),Vo(t,n),f-=1),c||u.delete(e))}c&&(jo.delete(t.node),u=void 0)}let p=t.node;const h=k(s.path+"."+d),m=n.stateElement.loopContextStack,g=go(l);let y=null;l.newIndexes.length==l.addIndexSet.size&&l.newIndexes.length>0&&p.isConnected&&(y=document.createDocumentFragment(),Ge(y,n.rootNode));const b=e(),w=t.uuid??"",v=Fo.get(t.node);for(const e of l.newIndexes){let o;if(l.addIndexSet.has(e)){const r=ft(h,e);m.createLoopContext(r,r=>{if(o=void 0!==v?v.pop():void 0,void 0===o&&(o=Wo(t)),null!==y)b&&y.appendChild(document.createComment(`@@wcs-for-start:${w}:${s.path}:${e.index}`)),o.appendTo(y),b&&y.appendChild(document.createComment(`@@wcs-for-end:${w}:${s.path}:${e.index}`));else{if(p.nextSibling!==o.firstNode){if(b){const t=document.createComment(`@@wcs-for-start:${w}:${s.path}:${e.index}`);p.parentNode.insertBefore(t,p.nextSibling),p=t}o.mountAfter(p)}if(b){const t=document.createComment(`@@wcs-for-end:${w}:${s.path}:${e.index}`),n=o.lastNode??p;n.parentNode.insertBefore(t,n.nextSibling)}}_o(o,r,n)}),void 0===o&&F(`Content not found for ListIndex: ${e.index} at path "${s.path}"`)}else{if(o=void 0!==u?u.get(e)??null:null,l.changeIndexSet.has(e)){const e=to(o);for(const t of e)fs(t,n)}null===o&&F(`Content not found for ListIndex: ${e.index} at path "${s.path}"`);null!==g&&g.has(e)&&Ho(p,o.firstNode)||p.nextSibling===o.firstNode||o.mountAfter(p)}p=o.lastNode||p,void 0===u&&(u=new WeakMap,jo.set(t.node,u)),u.set(e,o)}Bo.set(t.node,p),null!==y&&(t.node.parentNode.insertBefore(y,t.node.nextSibling),Ge(y,null))},if:Ko,else:Ko,elseif:Ko,radio:function(e,t,n){const o=e.node,s=Yn(o.value,e.inFilters);o.checked=n===s},checkbox:function(e,t,n){const o=e.node,s=Yn(o.value,e.inFilters),r=Array.isArray(n)?n:Qn;o.checked=r.includes(s)}},ls=new WeakMap,cs=new WeakMap,ds=new WeakMap;function us(e,t){const n=Yn(os(t.state,e),e.outFilters);if(!0===cs.get(e))return void t.deferredSelectBindings.push({binding:e,value:n});let o=ls.get(e);if(void 0===o){if(ls.has(e))return Xn(e.replaceNode,t.stateElement)?(o=ns,ls.set(e,o)):o=es,void o(e,t,n);if(o=as[e.bindingType],void 0===o){const n=e.propSegments[0];if(o=is[n],ls.set(e,o),void 0===o){M(e.replaceNode)?Xn(e.replaceNode,t.stateElement)?(o=ns,ls.set(e,o)):o=es:(o=es,ls.set(e,o))}}if(o===es){if("SELECT"===e.node.tagName){const o=e.propSegments[0];if("value"===o||"selectedIndex"===o)return t.deferredSelectBindings.push({binding:e,value:n}),void cs.set(e,!0)}}o(e,t,n)}else o(e,t,n)}function fs(e,t){if(t.appliedBindingSet.has(e))return;if(t.appliedBindingSet.add(e),!1!==t.stateElement.hasUpdatedCallback){const n=tt(e);if(t.updatedAbsAddressSetByStateElement.has(t.stateElement)){t.updatedAbsAddressSetByStateElement.get(t.stateElement).add(n)}else t.updatedAbsAddressSetByStateElement.set(t.stateElement,new Set([n]))}const n=Jn(e);if(null!==n&&!n.shouldApplyState(e))return;if("event"===e.bindingType)return;if(!0!==ds.get(e)){const t=M(e.replaceNode);if(t&&void 0===O()?.get(t))return void function(e,t){if(ss.has(e))return;ss.add(e);const n=()=>{ss.delete(e);const t=Jn(e);(null===t||t.shouldApplyState(e))&&ps([e])},o=n=>{ss.delete(e),rs(t,n)},s=Jn(e);if(null!==s){const r=s.deferUntilDefined(e.replaceNode,t,n,o);return void(s.addTeardown(e,()=>{ss.delete(e),r()})||(ss.delete(e),r()))}const r=O();if(null===r)return ss.delete(e),void rs(t,new Error("CustomElementRegistry is unavailable."));xn(r).wait(t,()=>{e.replaceNode.isConnected?n():ss.delete(e)},o)}(e,t);ds.set(e,!0)}if(!0===t.sameRootVerified&&e.stateName===t.stateName)return void us(e,t);let o=e.replaceNode.getRootNode();if(o instanceof DocumentFragment&&!(o instanceof ShadowRoot)&&(o=Je(o),null===o&&F("Root node for fragment not found for binding.")),e.stateName!==t.stateName||o!==t.rootNode){const n=Zs(o,e.stateName);null===n&&F(`State element with name "${e.stateName}" not found for binding.`),n.createState("readonly",s=>{const r={stateName:e.stateName,rootNode:o,stateElement:n,state:s,appliedBindingSet:t.appliedBindingSet,newListValueByAbsAddress:t.newListValueByAbsAddress,updatedAbsAddressSetByStateElement:t.updatedAbsAddressSetByStateElement,deferredSelectBindings:t.deferredSelectBindings};us(e,r)})}else us(e,t)}function ps(e,t){let o=0;const s=new Set,r=new Map,i=new Map,a=[];for(;o<e.length;){let l=e[o];const c=l.stateName;if(!1===l.replaceNode.isConnected){n.debug&&console.log(`applyChangeFromBindings: skip disconnected binding: ${l.bindingType} ${l.statePathName} on ${l.node.nodeName}`,l),o++;continue}let d=l.replaceNode.getRootNode();d instanceof DocumentFragment&&!(d instanceof ShadowRoot)&&(d=Je(d),null===d&&F("Root node for fragment not found for binding."));const u=Zs(d,c);null===u&&F(`State element with name "${c}" not found for binding.`),u.createState("readonly",n=>{const f={rootNode:d,stateName:c,stateElement:u,state:n,appliedBindingSet:s,newListValueByAbsAddress:r,updatedAbsAddressSetByStateElement:i,deferredSelectBindings:a,sameRootVerified:!0,propagationContextByBinding:t};for(;;){fs(l,f),o++;const t=e[o];if(!t)break;const n=t.replaceNode.getRootNode();if(t.stateName!==c||n!==f.rootNode)break;l=t}})}for(const{binding:e,value:n}of a)es(e,{propagationContextByBinding:t},n);for(const[e,t]of r.entries())ke(e,t);for(const[e,t]of i.entries())e.createState("writable",e=>{e[We](Array.from(t))})}function hs(e,t){const[n,o,s]=Se(e),r=Gn(e);for(const e of n)_e(e,t);ps(r.initialize(o)),function(e,t,n){for(const o of e)n.deferUntilDefined(o.node,o.tagName,()=>{const e=Ie(o);0!==e.length&&(_e(o.node,t),ps(n.initialize(e)))},e=>{console.error(`[@wcstack/state] deferred spread failed for <${o.tagName}>.`,e)})}(s,t,r)}const ms=/\{\{\s*(.+?)\s*\}\}/g,gs=new Set(["SCRIPT","STYLE"]);function ys(e){if(!n.enableMustache)return;!function(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=[];for(;t.nextNode();)n.push(t.currentNode);for(const e of n)e.parentElement&&gs.has(e.parentElement.tagName)||bs(e)}(e);const t=Array.from(e.querySelectorAll("template"));for(const e of t)if("http://www.w3.org/2000/svg"===e.namespaceURI){const t=document.createElement("template"),n=Array.from(e.childNodes);for(let e=0;e<n.length;e++){const o=n[e];t.content.appendChild(o)}for(const n of e.attributes)t.setAttribute(n.name,n.value);e.replaceWith(t),ys(t.content)}else ys(e.content)}function bs(e){const t=e.data;if(ms.lastIndex=0,!ms.test(t))return;ms.lastIndex=0;const n=document.createDocumentFragment();let o,s=0;for(;null!==(o=ms.exec(t));){o.index>s&&n.appendChild(document.createTextNode(t.slice(s,o.index)));const e=o[1];n.appendChild(document.createComment(`@@: ${e}`)),s=o.index+o[0].length}s<t.length&&n.appendChild(document.createTextNode(t.slice(s))),e.parentNode.replaceChild(n,e)}let ws;function vs(){if(ws)return ws;const e=[],t=oe("not",e)(te);return ws={filterName:"not",args:e,filterFn:t},ws}const Ns=/^(\s*@@\s*(?:.*?)\s*:\s*)(.+?)(\s*)$/;function Ss(e,t){const n=t+c+d,o=e.indexOf("|"),s=e.indexOf("@");let r,i;if(-1!==o?(r=e.slice(0,o).trim(),i=e.slice(o)):-1!==s?(r=e.slice(0,s).trim(),i=e.slice(s)):(r=e.trim(),i=""),"."===r)r=n;else{if(!r.startsWith("."))return e;r=n+c+r.slice(1)}return i.length>0?r+i:r}function xs(e,t){const n=Ns.exec(e);if(null===n)return e;const o=n[1],s=n[2],r=n[3];return o+Ss(s,t)+r}function Is(e,t){const n=e.split(";");let o=!1;const s=n.map(e=>{const n=e.trim();if(0===n.length)return e;const s=n.indexOf(":");if(-1===s)return e;const r=n.slice(0,s).trim(),i=n.slice(s+1).trim(),a=Ss(i,t);return a!==i?(o=!0,`${r}: ${a}`):e});return o?s.join(";"):e}function As(e,t){return Is(e,t)}function Ps(e,t){const o=n.bindAttributeName,s=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_ELEMENT);for(;s.nextNode();){const e=s.currentNode;if(e.nodeType===Node.COMMENT_NODE){const n=e;n.data=xs(n.data,t);continue}const n=e;if(n instanceof HTMLTemplateElement)continue;const r=n.getAttribute(o);if(null!==r){const e=Is(r,t);e!==r&&n.setAttribute(o,e)}}}function _s(e){let t=e;const n=[];for(;null!==t.parentNode;){const e=Array.from(t.parentNode.childNodes).indexOf(t);n.unshift(e),t=t.parentNode}return n}function $s(e){const t=[],n=we(e);for(const e of n){const n=be(e);let o=e;if(e.nodeType===Node.COMMENT_NODE&&1===n.length&&"text"===n[0].bindingType&&null!==e.parentNode){const t=document.createTextNode("");e.parentNode.replaceChild(t,e),o=t}t.push({nodePath:_s(o),parseBindTextResults:n})}return t}function Ts(e){const t=Array.from(e.childNodes);for(const n of t)if(n.nodeType===Node.TEXT_NODE){""===(n.textContent||"").trim()&&e.removeChild(n)}}const ks=new Map([["for",n.commentForPrefix],["if",n.commentIfPrefix],["elseif",n.commentElseIfPrefix],["else",n.commentElsePrefix]]),Cs=vs();function Es(e,t){const n=t.outFilters;return{...t,outFilters:[...n,Cs],bindingType:e}}function Ms(e,t,n,o){Ts(t),"string"==typeof o&&Ps(t,o),Os(e,t,o);return{fragment:t,parseBindTextResult:n,nodeInfos:$s(t)}}function Os(e,t,o){const s=n.commentElsePrefix,r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode(e){const t=e;if("template"===t.tagName.toLowerCase()){if((t.getAttribute(n.bindAttributeName)||"").length>0)return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});let i=null;const a=[],l=[];for(;r.nextNode();){const e=r.currentNode;l.push(e)}for(const t of l){let r=t.getAttribute(n.bindAttributeName)||"";"string"==typeof o&&(r=As(r,o));let l=de(r)[0];const c=ks.get(l.bindingType);if(void 0===c)continue;const d=l.bindingType,u=t.content,f=so();let p=null;const h="for"===d?l.statePathName:o;if("else"===d){null===i&&F("'else' binding found without preceding 'if' or 'elseif' binding."),l=Es("else",i.parseBindTextResult),p=Ms(e,u,l,h),ge(f,e,p);const n=a.at(-1),o=document.createComment(`@@${c}:${f}`);void 0!==n?(t.remove(),n.fragment.appendChild(o),n.nodeInfos.push({nodePath:_s(o),parseBindTextResults:be(o)})):t.replaceWith(o)}else if("elseif"===d){null===i&&F("'elseif' binding found without preceding 'if' or 'elseif' binding."),p=Ms(e,u,l,h),ge(f,e,p);const n=document.createComment(`@@${c}:${f}`),o=so(),r={fragment:document.createDocumentFragment(),parseBindTextResult:Es("else",i.parseBindTextResult),nodeInfos:[]};r.fragment.appendChild(n),r.nodeInfos.push({nodePath:_s(n),parseBindTextResults:be(n)}),ge(o,e,r);const d=a.at(-1);a.push(r);const m=document.createComment(`@@${s}:${o}`);void 0!==d?(t.remove(),d.fragment.appendChild(m),d.nodeInfos.push({nodePath:_s(m),parseBindTextResults:be(m)})):t.replaceWith(m)}else{p=Ms(e,u,l,h),ge(f,e,p);const n=document.createComment(`@@${c}:${f}`);t.replaceWith(n)}"if"===d?(a.length=0,i=p):"elseif"===d?i=p:"else"===d&&(i=null,a.length=0)}}async function Ds(e){const t=e.querySelectorAll(n.tagNames.state),o=[];await customElements.whenDefined(n.tagNames.state);for(const e of t){const t=e;o.push(t.initializePromise)}await Promise.all(o)}async function Rs(e){if(e===document)await Ds(document),ys(document),Os(document,document),hs(document.body,null);else{const t=e;t.host.hasAttribute(n.bindAttributeName)&&await a(t.host),await Ds(t),ys(t),Os(t,t),hs(t,null)}}const Ls="1.21.7",Ws="undefined"==typeof HTMLElement?class{}:HTMLElement,Bs=/^@@wcs-(?:for|if|elseif|else):[^-]/,js=/^@@wcs-(for|if|elseif|else)-start:(.+)$/,Fs=/^@@wcs-(for|if|elseif|else)-end:(.+)$/,zs=/^@@wcs-text-start:(.+)$/;function qs(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}class Us extends Ws{_stateData=null;_templates=null;_hydrateProps=null;get name(){return this.getAttribute("name")||"default"}get version(){return this.getAttribute("version")||""}get stateData(){return null===this._stateData&&(this._stateData=this._loadStateData()),this._stateData}get templates(){return null===this._templates&&(this._templates=this._loadTemplates()),this._templates}get hydrateProps(){return null===this._hydrateProps&&(this._hydrateProps=this._loadHydrateProps()),this._hydrateProps}getTemplate(e){return this.templates.get(e)??null}verifyVersion(){const e=this.version;if(!e)return!0;const t=e.split("."),n=Ls.split(".");return t[0]===n[0]&&t[1]===n[1]}setStateData(e){this._stateData=e}setHydrateProps(e){this._hydrateProps=e}_loadStateData(){const e=this.querySelector('script[type="application/json"]:not([data-wcs-ssr-props])');if(!e)return{};try{return JSON.parse(e.textContent||"{}")}catch{return{}}}_loadTemplates(){const e=new Map,t=this.querySelectorAll("template[id]");for(const n of t){const t=n.getAttribute("id");t&&e.set(t,n)}return e}_loadHydrateProps(){const e=this.querySelector("script[data-wcs-ssr-props]");if(!e)return{};try{return JSON.parse(e.textContent||"{}")}catch{return{}}}static findByName(e,t){const o=n.tagNames.ssr,s=e instanceof Element?e:e instanceof Document?e.documentElement:null;if(!s)return null;return s.querySelector(`${o}[name="${t}"]`)}static extractStateData(e){const t=e.__state;if(!t||"object"!=typeof t)return{};const n={};for(const[e,o]of Object.entries(t))e.startsWith("$")||"function"==typeof o||(n[e]=o);return n}static buildContent(e,t){const o=document.createElement("script");o.setAttribute("type","application/json"),o.textContent=qs(JSON.stringify(t)),e.appendChild(o);const s=Array.from(me.keys());for(const t of s){const o=ye(t);if(!o)continue;const s=document.createElement("template");s.setAttribute("id",t);const r=o.parseBindTextResult,i="else"===r.bindingType?"else:":`${r.bindingType}: ${r.statePathName}`;s.setAttribute(n.bindAttributeName,i);const a=o.fragment.cloneNode(!0);s.content.appendChild(a),e.appendChild(s)}const r=Array.from(Qo);if(r.length>0){const t={};for(let e=0;e<r.length;e++){const n=r[e],o=Yo(n);if(0===o.length)continue;const s=`wcs-ssr-${e}`;n.setAttribute("data-wcs-ssr-id",s);const i={};for(const e of o)i[e.propName]=e.value;t[s]=i}if(Object.keys(t).length>0){const n=document.createElement("script");n.setAttribute("type","application/json"),n.setAttribute("data-wcs-ssr-props",""),n.textContent=qs(JSON.stringify(t)),e.appendChild(n)}}Qo.clear()}static removeBlockBoundaryComments(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){const e=t.currentNode;(js.test(e.data)||Fs.test(e.data))&&n.push(e)}for(const e of n)e.remove()}static removeStructuralComments(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){const e=t.currentNode;Bs.test(e.data)&&n.push(e)}for(const e of n)e.remove()}static restoreTextBindings(e){const t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){const e=t.currentNode,o=zs.exec(e.data);o&&n.push({comment:e,path:o[1]})}for(const{comment:e,path:t}of n){const n=document.createComment(`@@: ${t}`);e.parentNode.insertBefore(n,e);let o=e.nextSibling;e.remove();const s=`@@wcs-text-end:${t}`;for(;o;){const e=o.nextSibling;if(o.nodeType===Node.COMMENT_NODE&&o.data===s){o.parentNode.removeChild(o);break}o.parentNode.removeChild(o),o=e}}}static cleanupDom(e){const t=document.body,o=e.querySelectorAll(n.tagNames.ssr),s=new Map;for(const e of o){const t=e.querySelectorAll("template[id]");for(const e of t){const t=e.getAttribute("id");t&&s.set(t,e)}}const r=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT),i=[];for(;r.nextNode();){const e=r.currentNode;js.test(e.data)&&i.push(e)}for(const e of i){const t=js.exec(e.data),n=`@@wcs-${t[1]}-end:${t[2]}`;let o=e.nextSibling;for(;o;){const e=o.nextSibling;if(o.nodeType===Node.COMMENT_NODE&&o.data===n){o.remove();break}o.remove(),o=e}e.remove()}Us.restoreTextBindings(t);const a=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT),l=[];for(;a.nextNode();){const e=a.currentNode;if(Bs.test(e.data)){const t=e.data.split(":")[1];l.push({comment:e,uuid:t})}}for(const{comment:e,uuid:t}of l){const o=s.get(t);if(o){const t=document.createElement("template"),s=o.getAttribute(n.bindAttributeName);s&&t.setAttribute(n.bindAttributeName,s);const r=document.importNode(o.content,!0);if(r.childNodes.length>0)t.content.appendChild(r);else for(const e of Array.from(o.childNodes))t.content.appendChild(document.importNode(e,!0));e.parentNode.replaceChild(t,e)}}const c=e.querySelectorAll("[data-wcs-ssr-id]");for(const e of c)e.removeAttribute("data-wcs-ssr-id");for(const e of o)e.remove()}}const Vs=new Set(["for","if","elseif","else"]);function Hs(e){const t=new Hn;if(0===e.length)return{bindingInfos:[],subscriberNodes:[],bindingSession:t};const n=e[0].parentNode,o=e[e.length-1].nextSibling,s=document.createElement("div");for(const t of e)s.appendChild(t);const[r,i]=Se(s),a=t.initialize(i,{registerAddress:!1,applyOnReconnect:!1});if(n)for(;s.firstChild;)n.insertBefore(s.firstChild,o);return{bindingInfos:a,subscriberNodes:r,bindingSession:t}}function Gs(e,t,o){const s={for:n.commentForPrefix,if:n.commentIfPrefix,elseif:n.commentElseIfPrefix,else:n.commentElsePrefix}[t];if(!s)return null;const r=`@@${s}:${o}`,i=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT);for(;i.nextNode();){const e=i.currentNode;if(e.data===r)return e}return null}function Js(e,t){const o=e;let s=null;for(const[e,r]of t.templates){let t=de(r.getAttribute(n.bindAttributeName)||"")[0];const i=t.bindingType;"else"===i&&s?t={...s,outFilters:[...s.outFilters,vs()],bindingType:"else"}:"elseif"===i&&s&&(t={...t,stateName:s.stateName}),"if"===i||"elseif"===i?s=t:"else"===i&&(s=null);const a=document.importNode(r.content,!0),l="for"===i?t.statePathName:void 0;Ts(a),"string"==typeof l&&Ps(a,l),Os(o,a,l);ge(e,o,{fragment:a,parseBindTextResult:t,nodeInfos:$s(a)})}}async function Ks(e){await Ds(e);const t=e.querySelectorAll(n.tagNames.ssr);for(const n of t){const t=n;if(!t.verifyVersion())return console.warn(`[@wcstack/state] SSR version mismatch: server="${t.version}", client="${Ls}". Falling back to full render.`),Us.cleanupDom(e),!1}for(const n of t)Js(e,n);const o=function(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),o=[];for(;n.nextNode();)o.push(n.currentNode);for(const e of o){const n=js.exec(e.data);if(!n)continue;const o=n[1],s=n[2],r=s.split(":");let i,a,l=null;"for"===o?(i=r[0],a=r[1],l=parseInt(r[2],10)):(i=r[0],a=r.slice(1).join(":"));const c=[];let d=e.nextSibling;const u=`@@wcs-${o}-end:${s}`;for(;d&&(d.nodeType!==Node.COMMENT_NODE||d.data!==u);)c.push(d),d=d.nextSibling;t.push({type:o,uuid:i,path:a,index:l,nodes:c})}return t}(document.body);!function(e,t){const n=new Map;for(const o of t){if(0===o.nodes.length)continue;const t=Ro(o.nodes),{bindingInfos:s,subscriberNodes:r,bindingSession:i}=Hs(o.nodes);So(t,i);for(const e of r)e.nodeType===Node.ELEMENT_NODE&&e.setAttribute("data-wcs-completed","");wo(t,s),Ao(t,r);const a=[];for(const e of s)e.statePathName in h&&a.push(e);if(no(t,a),"for"===o.type&&null!==o.index){const r=Gs(e,"for",o.uuid);if(r){const e=ao(null,o.index);qo(r,e,t),Uo(r,o.nodes[o.nodes.length-1]),Co(r,t),Po(t,ft(k(o.path+"."+d),e)),i.initialize(s,{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1});let a=n.get(o.uuid);a||(a=[],n.set(o.uuid,a)),a.push(e)}}else{const n=Gs(e,o.type,o.uuid);n&&(Co(n,t),i.initialize(s,{registerAddress:!0,registerPathInfo:!1,applyOnReconnect:!1}))}}for(const[t,o]of n){const n=Gs(e,"for",t);if(!n)continue;const s=n.getRootNode(),r=ye(t);if(!r)continue;const i=r.parseBindTextResult.stateName,a=r.parseBindTextResult.statePathName,l=Zs(s,i);l&&l.createState("readonly",e=>{const t=e[a];Array.isArray(t)&&uo(t,o)})}}(document.body,o),Us.removeBlockBoundaryComments(document.body);const s=[];for(const e of t)e.parentNode&&(s.push({el:e,parent:e.parentNode,next:e.nextSibling}),e.remove());Us.restoreTextBindings(document.body);const[r,i]=Se(document.body);for(const e of r)if(e.nodeType===Node.ELEMENT_NODE){const t=e;t.hasAttribute("data-wcs-completed")||(_e(e,null),t.setAttribute("data-wcs-completed",""))}else _e(e,null);const a=[],l=[],c=Gn(document.body).initialize(i);for(const e of c)if("event"!==e.bindingType)if(Vs.has(e.bindingType))l.push(e);else{if(e.statePathName.includes(d))continue;a.push(e)}for(const e of l)if("for"===e.bindingType){const t=tt(e),n=Zs(e.replaceNode.getRootNode(),e.stateName);n&&n.createState("readonly",n=>{const o=n[e.statePathName];Array.isArray(o)&&ke(t,o)})}ps(a);for(const{el:e,parent:t,next:n}of s)t.insertBefore(e,n);const u=e.querySelectorAll(n.tagNames.ssr);for(const t of u){const n=t.hydrateProps;for(const[t,o]of Object.entries(n)){const n=e.querySelector(`[data-wcs-ssr-id="${t}"]`);if(n)for(const[e,t]of Object.entries(o))n[e]=t}}const f=e.querySelectorAll("[data-wcs-completed]");for(const e of f)e.removeAttribute("data-wcs-completed");return!0}const Xs=new WeakMap,Ys=new WeakMap,Qs=new Set;function Zs(e,t){let n=Xs.get(e);return n&&n.get(t)||null}function er(e){return Ys.get(e)??Promise.resolve()}function tr(t,o,s){let r=Xs.get(t);if(null===s){if(!r)return;const e=r.get(o);r.delete(o),0===r.size&&Xs.delete(t),void 0!==e&&(Qs.delete(e),null!==ot&&ot({type:"state:element-unregistered",name:o,rootNode:t,element:e})),n.debug&&console.debug(`State element unregistered: name="${o}"`)}else{if(!r){r=new Map,Xs.set(t,r);const n=!e()&&s.hasAttribute?.("enable-ssr");if("HTMLDocument"===t.constructor.name||"Document"===t.constructor.name){const e=new Promise(e=>{queueMicrotask(async()=>{if(n){await Ks(t)||await Rs(t)}else await Rs(t);e()})});Ys.set(t,e)}else if("ShadowRoot"===t.constructor.name){const e=new Promise(e=>{queueMicrotask(async()=>{await Rs(t),e()})});Ys.set(t,e)}}r.has(o)&&F(`State element with name "${o}" is already registered.`),r.set(o,s),Qs.add(s),null!==ot&&ot({type:"state:element-registered",name:o,rootNode:t,element:s}),n.debug&&console.debug(`State element registered: name="${o}"`,s)}}const nr=new Set;function or(e){nr.add(e)}const sr=new class{_queueUpdateRecords=[];constructor(){}enqueueAbsoluteAddress(e,t=null){const n=0===this._queueUpdateRecords.length;this._queueUpdateRecords.push({absoluteAddress:e,context:t}),n&&queueMicrotask(()=>{const e=this._queueUpdateRecords;this._queueUpdateRecords=[],this._applyChange(e)})}testApplyChange(e,t){this._applyChange(e.map((e,n)=>({absoluteAddress:e,context:t?.[n]??null})))}_applyChange(e){const t=new Map;for(const n of e){const e=t.get(n.absoluteAddress);null!==ot&&null!=e&&null!==n.context&&e.transactionId!==n.context.transactionId&&ot({type:"propagation:coalesced",absoluteAddress:n.absoluteAddress,droppedTransactionId:e.transactionId,winnerTransactionId:n.context.transactionId}),t.set(n.absoluteAddress,n.context)}const n=[],o=new Map;for(const[e,s]of t){if(null!==s&&s.hop>=32){console.error("[@wcstack/state] propagation hop limit exceeded; update record quarantined.",{path:e.absolutePathInfo.pathInfo.path,stateName:e.absolutePathInfo.stateName,transactionId:s.transactionId,hop:s.hop,maxHops:32}),null!==ot&&ot({type:"propagation:hop-limit",absoluteAddress:e,transactionId:s.transactionId,hop:s.hop});continue}const t=lt(e);if(void 0!==t)if(t instanceof Set)for(const e of t)!1!==e.replaceNode.isConnected&&(n.push(e),null!==s&&o.set(e,s));else!1!==t.replaceNode.isConnected&&(n.push(t),null!==s&&o.set(t,s))}o.size>0?ps(n,o):ps(n),function(e){for(const t of nr)t(e)}(new Set(t.keys()))}};function rr(){return sr}const ir="__WCSTACK_DEVTOOLS_HOOK__";function ar(){const e=globalThis,t=e[ir];if(void 0!==t)return 1!==t.version&&console.warn(`[wcstack/state] devtools hook registry version mismatch: found ${t.version}, expected 1. Keeping the existing registry (first-wins).`),t;const n=function(){const e=new Map,t=new Set,n=e=>{if(0===t.size)return void e._setSink(null);const n=e.id;e._setSink(e=>{for(const o of t)o.onEvent?.(n,e)})};return{version:1,sources:e,register(o){if(!e.has(o.id)){e.set(o.id,o),n(o);for(const e of t)e.onSourceRegistered?.(o)}},unregister(n){const o=e.get(n);if(void 0!==o){o._setSink(null),e.delete(n);for(const e of t)e.onSourceUnregistered?.(n)}},addListener(o){t.add(o);for(const t of e.values())n(t),o.onSourceRegistered?.(t);return()=>{if(t.delete(o))for(const t of e.values())n(t)}}}}();return e[ir]=n,n}const lr=e=>{null!==ot&&ot({type:"state:update-batch",addresses:e})};function cr(e){const t=null!==ot;!function(e){ot=e}(e);const n=null!==e;var o;n&&!t?or(lr):!n&&t&&(o=lr,nr.delete(o))}function dr(e){return{name:e.name,rootNode:e.rootNode,element:e,paths:{list:e.listPaths,element:e.elementPaths,getter:e.getterPaths,setter:e.setterPaths},commandTokenNames:e.commandTokenNames,eventTokenNames:e.eventTokenNames,staticDependency:e.staticDependency,dynamicDependency:e.dynamicDependency}}function ur(e,t){return Zs(t,e)??F(`devtools: state element not found: name="${e}"`)}let fr=null;function pr(){if(e())return;if(null!==fr)return;const t={id:"state:"+Math.random().toString(36).slice(2,10),kind:"state",packageVersion:Ls,getStateElements(){const e=[];for(const t of Qs)e.push(dr(t));return e},keys(e,t){const n=ur(e,t),o=[];return n.createState("readonly",e=>{for(const t of Object.keys(e))if(!t.includes("*")&&!t.startsWith("$")){try{if("function"==typeof e[t])continue}catch{}o.push(t)}}),o},read(e,t,n,o){let s;return ur(e,t).createState("readonly",e=>{s=e.$resolve(n,o??[])}),s},write(e,t,n,o,s){ur(e,t).createState("writable",e=>{void 0!==s&&s.length>0?e.$resolve(n,s,o):e[n]=o})},_setSink:cr};fr=t,ar().register(t)}async function hr(e,t){let n=null;const o=`\n//# sourceURL=${t}\n`;if("function"==typeof URL.createObjectURL){const t=new Blob([e.text+o],{type:"application/javascript"}),s=URL.createObjectURL(t);try{n=await import(s)}finally{URL.revokeObjectURL(s)}}else{const t=btoa(String.fromCodePoint(...(new TextEncoder).encode(e.text+o)));n=await import(`data:application/javascript;base64,${t}`)}return n&&"object"==typeof n.default?n.default:{}}async function mr(e){try{return(await import(e)).default||{}}catch(e){F(`Failed to load script file: ${e}`)}}class gr{_loopContextStack=Array(u).fill(void 0);_length=0;createLoopContext(e,t){null===e.listIndex&&F("Cannot create loop context for a state address that does not have a list index.");const n=e;this._length>=u&&F("Exceeded maximum loop context stack depth of 128. Possible infinite loop.");const o=this._loopContextStack[this._length-1];if(void 0!==o){o.pathInfo.wildcardCount+1!==n.pathInfo.wildcardCount&&F("Cannot push loop context for a list whose wildcard count is not exactly one more than the current active loop context.");const e=n.pathInfo.wildcardPathInfos[n.pathInfo.wildcardPathInfos.length-2];o.pathInfo!==e&&F("Cannot push loop context for a list whose parent wildcard path info does not match the current active loop context.")}else n.listIndex.length!==n.pathInfo.wildcardCount&&F(`Cannot push loop context when there is no active loop context: the list index chain (length ${n.listIndex.length}) does not cover the wildcard path (wildcard count ${n.pathInfo.wildcardCount}).`);let s;this._loopContextStack[this._length]=n,this._length++;try{s=t(n)}finally{s instanceof Promise?s.finally(()=>{this._length--,this._loopContextStack[this._length]=void 0}):(this._length--,this._loopContextStack[this._length]=void 0)}return s}}const yr=new WeakMap;function br(e,t){let n=yr.get(e);void 0===n&&(n=new Map,yr.set(e,n));let o=n.get(t);return void 0===o&&(o=new Tt(t,e.name),n.set(t,o)),o}const wr=new WeakMap;function vr(e){const t=wr.get(e);if(void 0!==t)return t;const n=new Proxy(Object.create(null),{get(t,n){if("string"==typeof n&&e.commandTokenNames.has(n))return br(e,n)},has:(t,n)=>"string"==typeof n&&e.commandTokenNames.has(n),ownKeys:()=>Array.from(e.commandTokenNames),getOwnPropertyDescriptor(t,n){if("string"==typeof n&&e.commandTokenNames.has(n))return{configurable:!0,enumerable:!0,value:br(e,n)}},set(){F("$command namespace is read-only; assigning to it is not allowed.")},deleteProperty(){F("$command namespace is read-only; deleting from it is not allowed.")}});return wr.set(e,n),n}const Nr=Symbol("wcs-stream-last-notified-uncertain"),Sr=new WeakMap;function xr(e,t){const n=Sr.get(e);if(void 0!==n)for(const e of n.keys())t.has(e)||n.delete(e)}function Ir(e,t){const n=Sr.get(e);if(void 0===n)return;const o=n.get(t);void 0!==o&&n.set(t,{status:"idle"===o.status?o.status:Nr,error:Object.is(o.error,null)?null:Nr})}const Ar=new Set;function Pr(e){Ar.delete(e)}function _r(){return Ar}const $r=new WeakMap;function Tr(e){return $r.get(e)??new Map}function kr(e){Pr(e);const t=$r.get(e);if(void 0!==t)for(const n of t.values())n.controller?.abort(),n.controller=null,n.status="idle",n.error=null,Ir(e,n.name)}const Cr=(e,t)=>t,Er=new Set;function Mr(e,t){const n=t[I];if(void 0===n)return void xr(e,Er);"object"==typeof n&&null!==n||F(`${I} must be an object mapping stream names to stream definitions.`);const o=new Map;for(const[s,r]of Object.entries(n)){0===s.length&&F(`${I} entry name must be a non-empty string.`),s.includes(c)&&F(`${I} entry "${s}" must be a flat property name ("${c}" is not allowed).`),s.includes(d)&&F(`${I} entry "${s}" must be a flat property name ("${d}" is not allowed).`),s.startsWith("$")&&F(`${I} entry "${s}" must not start with "$" (reserved namespace).`),s in Object.prototype&&F(`${I} entry "${s}" must not be a property name inherited from Object.prototype (e.g. "__proto__", "constructor").`),e.getterPaths.has(s)&&F(`${I} entry "${s}" conflicts with a getter declared on the state.`),e.setterPaths.has(s)&&F(`${I} entry "${s}" conflicts with a setter declared on the state.`),"object"==typeof r&&null!==r||F(`${I} entry "${s}" must be an object ({ args?, source, fold?, initial? }).`);const n=r;"function"!=typeof n.source&&F(`${I} entry "${s}" source must be a function.`);const i=void 0!==n.fold;i&&"function"!=typeof n.fold&&F(`${I} entry "${s}" fold must be a function.`),i&&!("initial"in n)&&F(`${I} entry "${s}" requires "initial" when fold is specified (reduce needs a seed value).`);void 0!==n.args&&"function"!=typeof n.args&&F(`${I} entry "${s}" args must be a function.`);const a={name:s,definition:{args:n.args??null,source:n.source,fold:n.fold??Cr,initial:n.initial},status:"idle",error:null,controller:null,depAddresses:new Set};s in t||(t[s]=a.definition.initial),o.set(s,a)}!function(e,t){$r.set(e,t)}(e,o),xr(e,new Set(o.keys()))}const Or=new WeakMap,Dr=new WeakMap;function Rr(e,t,n){return new Proxy(Object.create(null),{get(t,o){if("string"!=typeof o)return;const s=Tr(e).get(o);return void 0!==s?n(s):void 0},has:(t,n)=>"string"==typeof n&&Tr(e).has(n),ownKeys:()=>Array.from(Tr(e).keys()),getOwnPropertyDescriptor(t,o){if("string"!=typeof o)return;const s=Tr(e).get(o);return void 0!==s?{configurable:!0,enumerable:!0,value:n(s)}:void 0},set(){F(`${t} namespace is read-only; assigning to it is not allowed.`)},deleteProperty(){F(`${t} namespace is read-only; deleting from it is not allowed.`)}})}function Lr(e){const t=Or.get(e);if(void 0!==t)return t;const n=Rr(e,A,e=>e.status);return Or.set(e,n),n}function Wr(e){const t=Dr.get(e);if(void 0!==t)return t;const n=Rr(e,P,e=>e.error);return Dr.set(e,n),n}function Br(e){Or.delete(e),Dr.delete(e)}let jr=null;async function Fr(e,t,n,o){let s=null,r=null;const i=()=>{if(s&&s!==r){r=s;try{s.return?.()?.then?.(void 0,()=>{})}catch{}}};n.addEventListener("abort",i,{once:!0});try{const r=await e(t,n);if(s=function(e,t){if("function"==typeof e?.[Symbol.asyncIterator])return e;if("function"!=typeof e?.getReader)throw new TypeError("[@wcstack/state] $streams: source must return an AsyncIterable or a ReadableStream (got neither).");return async function*(e,t){const n=e.getReader(),o=()=>{n.cancel().catch(()=>{})};t.addEventListener("abort",o,{once:!0});try{for(;;){const{done:e,value:t}=await n.read();if(e)return;yield t}}finally{t.removeEventListener("abort",o),n.releaseLock()}}(e,t)}(r,n)[Symbol.asyncIterator](),n.aborted)return void i();for(;;){const e=await s.next();if(e.done)break;if(n.aborted)return;o.fold(e.value)}if(n.aborted)return;o.done()}catch(e){if(n.aborted)return;o.fail(e)}finally{n.removeEventListener("abort",i)}}function zr(e){const t=Tr(e);if(0!==t.size){!function(e){Ar.add(e)}(e);for(const n of t.values())qr(e,n)}}function qr(e,t){t.controller?.abort();const n=new AbortController;t.controller=n;const o=function(e,t){const n=t.definition.args;if(null===n)return void t.depAddresses.clear();const o=jr,s=new Set;let r;jr=s;try{e.createState("readonly",e=>{r=n(e)})}finally{jr=o}r instanceof Promise&&F(`${I} entry "${t.name}" args must be synchronous (it returned a Promise).`);const i=`${A}${c}${t.name}`,a=`${P}${c}${t.name}`;for(const n of s){const o=n.absolutePathInfo.pathInfo;n.absolutePathInfo.stateElement!==e||o.path!==t.name&&o.path!==i&&o.path!==a||F(`${I} entry "${t.name}" args must not read the stream itself ("${o.path}"): a self-dependency would restart the stream on its own writes (infinite loop).`),o.wildcardCount>0&&F(`${I} entry "${t.name}" args must not read wildcard paths ("${o.path}"): wildcard dependencies are out of scope.`)}return t.depAddresses=s,r}(e,t);e.createState("writable",e=>{e[t.name]=t.definition.initial}),Ur(e,t,"active",null);const s=t.definition,r={fold(n){e.createState("writable",e=>{e[t.name]=s.fold(e[t.name],n)})},done(){Ur(e,t,"done",null)},fail(o){Ur(e,t,"error",o),n.abort()}};Fr(s.source,o,n.signal,r)}function Ur(e,t,n,o){t.status=n,t.error=o;const s=function(e,t){return Sr.get(e)?.get(t)??{status:"idle",error:null}}(e,t.name),r=s.status!==n,i=!Object.is(s.error,o);(r||i)&&(!function(e,t,n,o){let s=Sr.get(e);void 0===s&&(s=new Map,Sr.set(e,s)),s.set(t,{status:n,error:o})}(e,t.name,n,o),e.createState("writable",e=>{r&&e.$postUpdate(`${A}${c}${t.name}`),i&&e.$postUpdate(`${P}${c}${t.name}`)}))}function Vr(e){return function(){const t=this.stateElement;if(!t)return;let n;try{t.createState("readonly",t=>{n=t[e]})}catch(t){return void console.warn(`[@wcstack/state] DCC getter "${e}" failed:`,t)}return n}}function Hr(e){return function(t){const n=this.stateElement;n&&n.initializePromise.then(()=>{n.createState("writable",n=>{n[e]=t})})}}function Gr(e,t){return t?function(...t){const n=this.stateElement;if(n)return n.initializePromise.then(()=>{let o;return n.createStateAsync("writable",async n=>{o=await n[e](...t)}).then(()=>o)})}:function(...t){const n=this.stateElement;if(n)return n.initializePromise.then(()=>{let o;return n.createState("writable",n=>{o=n[e](...t)}),o})}}function Jr(e){return e.startsWith("$")}or(function(e){const t=_r();if(0===t.size)return;const n=[];for(const o of t)for(const t of Tr(o).values())for(const s of t.depAddresses)if(e.has(s)){n.push({stateElement:o,entry:t});break}for(const{stateElement:e,entry:o}of n)if(t.has(e)&&Tr(e).get(o.name)===o)try{qr(e,o)}catch(n){o.controller?.abort(),t.has(e)&&Tr(e).get(o.name)===o&&Ur(e,o,"error",n)}});const Kr=new Map;class Xr{path;segments;wildcardCount;wildcardType;wildcardIndexes;pathInfo;constructor(e){const t=e.split("."),n=t.slice();let o=0,s=0,r=0,i="none";const a=[];for(let e=0;e<t.length;e++){const i=t[e];if("*"===i)n[e]="*",a.push(null),o++,r++;else{const t=Number(i);Number.isNaN(t)||(n[e]="*",a.push(t),s++,r++)}}const l=k(n.join("."));(o>0||s>0)&&(i=o===r?"context":s===r?"all":"partial"),this.path=e,this.segments=t,this.wildcardCount=r,this.wildcardType=i,this.wildcardIndexes=a,this.pathInfo=l}}function Yr(e){let t;return Kr.get(e)??(Kr.set(e,t=new Xr(e)),t)}const Qr=new WeakMap;function Zr(e,t){null===t?Qr.delete(e):Qr.set(e,t)}function ei(e){const t=Qr.get(e);t&&(t.dirty=!0)}function ti(e,t){let n=e;for(let e=1;e<t.length;e++){if(Object(n)!==n)return;n=Reflect.get(n,t[e])}return n}function ni(e,t,n,o,s){const r=t.pathInfo.segments[0];if(r===N)return ti(vr(s),t.pathInfo.segments);if(r===A)return ti(Lr(s),t.pathInfo.segments);if(r===P)return ti(Wr(s),t.pathInfo.segments);if(!(t.pathInfo.path in e)){const s=si(e,t.parentAddress??F(`address.parentAddress is undefined path: ${t.pathInfo.path}`),n,o),r=t.pathInfo.segments[t.pathInfo.segments.length-1];if(r===d){const e=t.listIndex?.index??F(`address.listIndex?.index is undefined path: ${t.pathInfo.path}`);return Reflect.get(s,e)}return Reflect.get(s,r)}if(!s.getterPaths.has(t.pathInfo.path))return Reflect.get(e,t.pathInfo.path);o.pushAddress(t);try{return Reflect.get(e,t.pathInfo.path,n)}finally{o.popAddress()}}function oi(e,t,n,o,s){const r=Ve(je(s,t.pathInfo),t.listIndex),i=function(e){return Qr.get(e)??null}(r);if(null!==i&&!1===i.dirty)return i.value;const a=ni(e,t,n,o,s);return Zr(r,{value:a,dirty:!1}),a}function si(e,t,n,o){!function(e,t){if(!e.untracking&&e.addressStackLength>0){const n=e.lastAddressStack,o=n?.pathInfo??null,s=e.stateElement;if(null!==o&&s.getterPaths.has(o.path)&&o.path!==t.pathInfo.path&&(s.addDynamicDependency(t.pathInfo.path,o.path),t.pathInfo.wildcardCount>0&&o.wildcardCount>0)){const e=Xe(t.pathInfo,o);if(e>0){let o=!1;for(let s=0;s<e;s++)if(t.listIndex?.at(s)!==n.listIndex?.at(s)){o=!0;break}if(o)for(let n=0;n<e;n++)s.addCrossRowListPath?.(t.pathInfo.wildcardParentPaths[n])}}}}(o,t),function(e,t){if(null===jr)return;const n=je(e,t.pathInfo);jr.add(Ve(n,t.listIndex))}(o.stateElement,t);const s=o.stateElement;return t.pathInfo.wildcardCount>0||s.getterPaths.has(t.pathInfo.path)?oi(e,t,n,o,s):ni(e,t,n,o,s)}function ri(e,t){if(0===e.addressStackLength)return null;const n=e.lastAddressStack;if(null===n)return null;const o=n.pathInfo.indexByWildcardPath[t];return void 0===o?null:n.listIndex?.at(o)??null}function ii(e,t,n,o){if(t.pathInfo.path in e)return!0;const s=t.parentAddress;if(null===s)return!1;const r=si(e,s,n,o);if(null===r||"object"!=typeof r&&"function"!=typeof r)return!1;const i=t.pathInfo.lastSegment;if(i===d){const e=t.listIndex?.index;return"number"==typeof e&&e in r}return i in r}const ai=new WeakMap;function li(e,t){null===t?ai.delete(e):ai.set(e,t)}function ci(e,t,o){const s=k(e.wildcardParentPaths[t]),r=je(e.stateElement,s),i=ft(s,o),a=Te(Ve(r,o)),l=e.stateProxy[Me](i),c=function(e,t){switch(t){case"old":return e.oldIndexes;case"new":return e.newIndexes;case"add":return e.addIndexSet;case"change":return e.changeIndexSet;case"delete":return e.deleteIndexSet;default:return n.debug&&console.log(`Invalid search type: ${t}`),[]}}(mo(i.listIndex,a,l),e.searchType);if(t===e.wildcardPaths.length-1)e.targetListIndexes.push(...c);else for(const n of c)ci(e,t+1,n)}const di=[];function ui(e,t,n,o,s){return"full"===e.listExpansion||e.stateElement.crossRowListPaths?.has(t)?{fullRows:s.newIndexes,movedRows:null}:0===s.addIndexSet.size&&0===s.changeIndexSet.size?0===s.deleteIndexSet.size?{fullRows:s.newIndexes,movedRows:null}:{fullRows:di,movedRows:null}:{fullRows:s.addIndexSet,movedRows:s.changeIndexSet}}const fi=[];function pi(e,t,n){const o=e.stateElement.indexDependentGetterPaths;if(!o||0===o.size)return fi;let s=null;const r=[t],i=new Set(r);for(let t=0;t<r.length;t++){const a=r[t];if(o.has(a)){const e=k(a);if(e.wildcardCount!==n.wildcardCount)return null;(s??=[]).push(e)}const l=e.staticMap.get(a);if(l)for(const e of l)i.has(e)||(i.add(e),r.push(e))}return s??fi}function hi(e,t,n,o,s,r,i,a,l,c){const u=n.pathInfo.path;if(!o.has(u)&&!s.has(u))return l(n),[];const f={stateElement:t,staticMap:o,dynamicMap:s,result:new Set,listPathSet:r,visited:new Set,stateProxy:i,searchType:a,listExpansion:c?.listExpansion??"full"};return function(e,t,n){const o=[{address:t,depth:0}];for(;o.length>0;){const{address:t,depth:s}=o.pop();if(s>1e3&&F(`Maximum dependency depth of 1000 exceeded. Possible circular dependency detected at path: ${t.pathInfo.path}`),e.visited.has(t))continue;e.visited.add(t),n(t);const r=t.pathInfo.path,i=s+1,a=[],l=e.staticMap.get(r);if(l)for(const n of l){const o=k(n);if(e.listPathSet.has(r)&&o.lastSegment===d){const s=e.stateProxy[Me](t),l=Te(Ve(je(e.stateElement,t.pathInfo),t.listIndex)),c=ui(e,r,0,0,mo(t.listIndex,l,s));for(const t of c.fullRows){const n=ft(o,t);e.result.add(n),a.push({address:n,depth:i})}if(null!==c.movedRows){const t=pi(e,n,o);if(null===t)for(const t of c.movedRows){const n=ft(o,t);e.result.add(n),a.push({address:n,depth:i})}else if(t.length>0)for(const n of c.movedRows)for(const o of t){const t=ft(o,n);e.result.add(t),a.push({address:t,depth:i})}}}else{const n=ft(o,t.listIndex);e.result.add(n),a.push({address:n,depth:i})}}const c=e.dynamicMap.get(r);if(c)for(const n of c){const o=k(n),s=[];if(o.wildcardCount>0){const n=Xe(t.pathInfo,o);if(o.wildcardCount-n>=1){let r;n>0?(null===t.listIndex&&F(`Cannot expand dynamic dependency with wildcard for non-list address: ${t.pathInfo.path}`),r=t.listIndex.at(n-1)):r=null;const i={stateElement:e.stateElement,targetListIndexes:[],wildcardPaths:o.wildcardPaths,wildcardParentPaths:o.wildcardParentPaths,stateProxy:e.stateProxy,searchType:e.searchType};ci(i,n,r),s.push(...i.targetListIndexes)}else{null===t.listIndex&&F(`Cannot expand dynamic dependency with wildcard for non-list address: ${t.pathInfo.path}`);const e=t.listIndex.at(n-1);s.push(e)}}else s.push(null);for(const t of s){const n=ft(o,t);e.result.add(n),a.push({address:n,depth:i})}}for(let e=a.length-1;e>=0;e--)o.push(a[e])}}(f,n,l),Array.from(f.result)}function mi(e,t,o,s){const r=n.enablePropagationContext?en()??Yt(-1):null,i=rr();i.enqueueAbsoluteAddress(t,r),hi(s.stateName,s.stateElement,e,s.stateElement.staticDependency,s.stateElement.dynamicDependency,s.stateElement.listPaths,o,"new",t=>{if(t===e)return;const n=Ve(je(s.stateElement,t.pathInfo),t.listIndex);ei(n),i.enqueueAbsoluteAddress(n,r)},{listExpansion:"diff"})}function gi(e,t,n,o,s,r){try{if(!(t.pathInfo.path in e)){const n=t.parentAddress;if(null===n)return Reflect.set(e,t.pathInfo.path,o);const i=si(e,n,s,r),a=t.pathInfo.segments[t.pathInfo.segments.length-1];if(a===d){const e=t.listIndex?.index??F(`address.listIndex?.index is undefined path: ${t.pathInfo.path}`);return Reflect.set(i,e,o)}return Reflect.set(i,a,o)}if(!r.stateElement.setterPaths.has(t.pathInfo.path))return Reflect.set(e,t.pathInfo.path,o);r.pushAddress(t),r.beginUntrack();try{return Reflect.set(e,t.pathInfo.path,o,s)}finally{r.endUntrack(),r.popAddress()}}finally{mi(t,n,s,r)}}function yi(e,t,n,o,s,r){let i=t.parentAddress??F(`address.parentAddress is undefined path: ${t.pathInfo.path}`),a=function(e){return ai.get(e)??null}(i);if(null===a){const t=si(e,i,s,r)??[],n=co(t)??[];a={value:[...t],listIndexes:[...n]},li(i,a)}try{return gi(e,t,n,o,s,r)}finally{const n=a.value.indexOf(o),l=si(e,i,s,r)??[],c=Array.isArray(l)?co(l)??[]:[],d=t.listIndex.index,u=-1!==n?a.listIndexes[n]:ao(i.listIndex,-1);c[d]=u;if(new Set(l).size===a.value.length){for(let e=0;e<c.length;e++)c[e].index=e;li(i,null)}}}function bi(e,t,o,s,r){const i=r.stateElement,a=t.pathInfo.path;if(!(a in e)&&null!==t.parentAddress&&!i.elementPaths.has(a)){const l=si(e,t.parentAddress,s,r);if("object"==typeof l&&null!==l){const e=t.pathInfo.lastSegment,c=e===d?t.listIndex?.index:e;let u,f=!1;if(n.sameValueGuard&&(null===o||"object"!=typeof o)){const e=void 0!==c&&c in l,t=void 0!==c?l[c]:void 0;if(e&&Object.is(t,o))return!0;u=t,f=!0}const p=t.pathInfo.wildcardCount>0||i.getterPaths.has(a),h=Ve(je(i,t.pathInfo),t.listIndex);null!==ot&&ot({type:"state:write",absoluteAddress:h,value:o,oldValue:u,hasOldValue:f});try{return void 0===c&&F(`address.listIndex?.index is undefined path: ${a}`),Reflect.set(l,c,o)}finally{mi(t,h,s,r),p&&Zr(h,{value:o,dirty:!1});const e=i.bindableEventMap[a];if(e){const t=i.rootNode;t instanceof ShadowRoot&&t.host.dispatchEvent(new CustomEvent(e,{detail:o,bubbles:!0}))}}}}let l,c=!1;if(n.sameValueGuard&&(null===o||"object"!=typeof o)){const n=si(e,t,s,r);if(ii(e,t,s,r)&&Object.is(n,o))return!0;l=n,c=!0}const u=i.elementPaths.has(t.pathInfo.path),f=t.pathInfo.wildcardCount>0||i.getterPaths.has(t.pathInfo.path),p=Ve(je(i,t.pathInfo),t.listIndex);null!==ot&&ot({type:"state:write",absoluteAddress:p,value:o,oldValue:l,hasOldValue:c});try{return u?yi(e,t,p,o,s,r):gi(e,t,p,o,s,r)}finally{f&&Zr(p,{value:o,dirty:!1});const e=i.bindableEventMap[t.pathInfo.path];if(e){const t=i.rootNode;t instanceof ShadowRoot&&t.host.dispatchEvent(new CustomEvent(e,{detail:o,bubbles:!0}))}}}function wi(e,t,n,o){return(t,s,r)=>{const i=k(t);if(o.addressStackLength>0){const e=o.lastAddressStack?.pathInfo??null,t=o.stateElement;null!==e&&e.path!==i.path&&t.getterPaths.has(e.path)&&t.addDynamicDependency(i.path,e.path)}i.wildcardParentPathInfos.length>s.length&&F(`indexes length is insufficient: ${t}`);let a=null;for(let t=0;t<i.wildcardParentPathInfos.length;t++){const r=i.wildcardParentPathInfos[t],l=ft(r,a),c=co(si(e,l,n,o));null==c&&F(`ListIndexes not found: ${r.path}`);a=c[s[t]]??F(`ListIndex not found: ${r.path}`)}const l=ft(i,a);if(!(void 0!==r))return si(e,l,n,o);bi(e,l,r,n,o)}}const vi=new WeakMap;function Ni(e,t,n,o){const s=t.pathInfo;switch(t.wildcardType){case"none":return null;case"context":return ri(o,s.wildcardPaths.at(-1)??F(`lastWildcardPath is null: ${t.pathInfo.path}`))??F(`ListIndex not found: ${t.pathInfo.path}`);case"all":{let s=null;for(let r=0;r<t.pathInfo.wildcardCount;r++){const i=t.pathInfo.wildcardParentPathInfos[r]??F(`wildcardParentPathInfo is null: ${t.pathInfo.path}`);s=(co(si(e,ft(i,s),n,o))??F(`ListIndex not found: ${i.path}`))[t.wildcardIndexes[r]??F(`wildcardIndex is null: ${t.pathInfo.path}`)]??F(`ListIndex not found: ${i.path}`)}return s}case"partial":F(`Partial wildcard type is not supported yet: ${t.pathInfo.path}`)}}function Si(e,t,n){void 0!==e.loopContext&&F("already in loop context"),e.setLoopContext(t);try{e.pushAddress(t);try{return n()}finally{e.popAddress()}}finally{e.clearLoopContext()}}const xi=`${A}${c}`,Ii=`${P}${c}`,Ai=new WeakMap;function Pi(e,t,n,o){const s=h[t];if(void 0!==s){0===o.addressStackLength&&F(`No active state reference to get list index for "${t.toString()}".`);const e=o.lastAddressStack,n=e?.pathInfo;n&&!o.untracking&&o.stateElement?.getterPaths.has(n.path)&&o.stateElement.addIndexDependentGetterPath?.(n.path);const r=e?.listIndex;return r?.indexes[s]??F(`ListIndex not found: ${t.toString()}`)}if("string"==typeof t){if("$"===t[0]){switch(t){case"$stateElement":return o.stateElement;case"$getAll":return(t,s)=>function(e,t,n,o){const s=wi(e,0,n,o);return(t,r)=>{const i=new Map,a=k(t);if(o.addressStackLength>0){const e=o.lastAddressStack?.pathInfo??null,t=o.stateElement;null!==e&&e.path!==a.path&&t.getterPaths.has(e.path)&&t.addDynamicDependency(a.path,e.path)}if(void 0===r){for(let e=0;e<a.wildcardParentPathInfos.length;e++){const t=a.wildcardParentPathInfos[e],n=ri(o,t.path);if(n){r=n.indexes;break}}void 0===r&&(r=[])}const l=(t,s,r,a,c,d,u)=>{const f=t[s]??null;if(null===f)return void u.push(d);const p=ft(f,r),h=vi.get(p),m=si(e,p,n,o),g=mo(r,h,m).newIndexes,y=a[c]??null;if(i.set(p,m),null===y)for(let e=0;e<g.length;e++){const n=g[e];l(t,s+1,n,a,c+1,d.concat(n.index),u)}else{const e=g[y]??F(`ListIndex not found: ${f.path}`);s+1<t.length?l(t,s+1,e,a,c+1,d.concat(e.index),u):u.push(d.concat(e.index))}},c=[];l(a.wildcardParentPathInfos,0,null,r,0,[],c);const d=[];for(let e=0;e<c.length;e++)d.push(s(a.path,c[e]));for(const[e,t]of i.entries())vi.set(e,t);return d}}(e,0,n,o)(t,s);case"$postUpdate":return t=>function(e,t,n,o){const s=o.stateElement;return t=>{const r=Yr(t),i=Ni(e,r,n,o),a=ft(r.pathInfo,i),l=Ve(je(s,a.pathInfo),a.listIndex),c=rr();c.enqueueAbsoluteAddress(l),hi(o.stateName,o.stateElement,a,o.stateElement.staticDependency,o.stateElement.dynamicDependency,o.stateElement.listPaths,n,"new",e=>{const t=Ve(je(s,e.pathInfo),e.listIndex);ei(t),c.enqueueAbsoluteAddress(t)})}}(e,0,n,o)(t);case"$resolve":return(t,s,r)=>wi(e,0,n,o)(t,s,r);case"$trackDependency":return e=>function(e,t,n,o){return e=>{0===o.addressStackLength&&F(`No active state reference to track dependency for path "${e}".`);const t=o.lastAddressStack?.pathInfo??F("Internal error: lastAddressStack is null"),n=o.stateElement;o.stateElement.getterPaths.has(t.path)&&t.path!==e&&n.addDynamicDependency(e,t.path)}}(0,0,0,o)(e);case"$untrackDependency":return e=>function(e,t,n,o){return e=>{o.beginUntrack();try{return e()}finally{o.endUntrack()}}}(0,0,0,o)(e);case N:return vr(o.stateElement);case A:return Lr(o.stateElement);case P:return Wr(o.stateElement)}if(!t.startsWith(xi)&&!t.startsWith(Ii))return}const s=Yr(t),r=Ni(e,s,n,o),i=ft(s.pathInfo,r);return si(e,i,n,o)}if("symbol"==typeof t){const s=function(e){let t=Ai.get(e);return void 0===t&&(t=new Map,Ai.set(e,t)),t}(o),r=s.get(t);if(void 0!==r)return r;let i;switch(t){case Ce:i=(e,t=async()=>{})=>async function(e,t,n){return await Si(e,t,n)}(o,e,t);break;case Ee:i=(e,t=()=>{})=>function(e,t,n){return Si(e,t,n)}(o,e,t);break;case Me:i=t=>si(e,t,n,o);break;case Oe:i=t=>ii(e,t,n,o);break;case De:i=(t,s)=>bi(e,t,s,n,o);break;case Re:i=()=>async function(e,t,n){const o=Reflect.get(e,m);"function"==typeof o&&await o.call(n)}(e,0,n);break;case Le:i=()=>function(e,t,n){const o=Reflect.get(e,g);"function"==typeof o&&o.call(n)}(e,0,n);break;case We:i=t=>function(e,t,n,o){const s=Reflect.get(e,y);if("function"==typeof s){const e=new Set,r={};for(const n of t){const t=n.absolutePathInfo.pathInfo;let s;if(s=n.absolutePathInfo.stateName===o.stateName?t.path:t.path+"@"+n.absolutePathInfo.stateName,e.add(s),t.wildcardCount>0){const e=n.listIndex.indexes??[],t=r[s];void 0===t?r[s]=[e]:t.push(e)}}return s.call(n,Array.from(e),r)}}(e,t,n,o);break;default:return Reflect.get(e,t,n)}return s.set(t,i),i}}class _i{_stateElement;_stateName;_addressStack=Array(u).fill(void 0);_addressStackIndex=-1;_loopContext;_mutability;_untrackDepth=0;constructor(e,t,n){this._stateName=t;const o=Zs(e,this._stateName);null===o&&F(`StateHandler: State element with name "${this._stateName}" not found.`),this._stateElement=o,this._mutability=n}get stateName(){return this._stateName}get stateElement(){return this._stateElement}get lastAddressStack(){let e;return this._addressStackIndex>=0&&(e=this._addressStack[this._addressStackIndex]),void 0===e&&F("Last address stack is undefined."),e}get addressStackLength(){return this._addressStackIndex+1}get loopContext(){return this._loopContext}pushAddress(e){this._addressStackIndex++,this._addressStackIndex>=u&&F("Exceeded maximum address stack depth of 128. Possible infinite loop."),this._addressStack[this._addressStackIndex]=e}popAddress(){if(this._addressStackIndex<0)return null;const e=this._addressStack[this._addressStackIndex];return void 0===e&&F(`Address stack at index ${this._addressStackIndex} is undefined.`),this._addressStack[this._addressStackIndex]=void 0,this._addressStackIndex--,e}setLoopContext(e){this._loopContext=e}clearLoopContext(){this._loopContext=void 0}get untracking(){return this._untrackDepth>0}beginUntrack(){this._untrackDepth++}endUntrack(){this._untrackDepth--}get(e,t,n){return Pi(e,t,n,this)}set(e,t,n,o){return"readonly"===this._mutability&&F(`State "${this._stateName}" is readonly.`),function(e,t,n,o,s){if("string"==typeof t){const r=Yr(t),i=Ni(e,r,o,s);return bi(e,ft(r.pathInfo,i),n,o,s)}return Reflect.set(e,t,n,o)}(e,t,n,o,this)}has(e,t){return Reflect.has(e,t)}}const $i=new WeakMap;const Ti=new WeakMap;function ki(e,t){const n=Ti.get(e);return n?n.get(t)??null:null}const Ci=new WeakMap,Ei=new WeakMap,Mi=new WeakMap,Oi=new WeakMap;function Di(e,t){return{innerAbsPathInfo:je(e,k(t.propSegments.slice(1).join(c))),outerAbsPathInfo:tt(t).absolutePathInfo}}function Ri(e,t){let n=Ci.get(e);if(void 0===n&&(n=new Map,Ci.set(e,n)),n.has(t))return n.get(t);let o=Ei.get(e);void 0===o&&(o=new Map,Ei.set(e,o));const s=Mi.get(e);if(void 0===s)return null;let r=null;for(const e of s)if(t.pathInfo.cumulativePathInfoSet.has(e.innerAbsPathInfo.pathInfo)){e.innerAbsPathInfo.pathInfo.segments.length===t.pathInfo.segments.length&&F("Duplicate mapping rule for web component."),r=e;break}if(null===r)return null;const i=Oi.get(r);void 0===i&&F("Binding not found for primary mapping rule on web component.");const a=t.pathInfo.segments.slice(r.innerAbsPathInfo.pathInfo.segments.length),l=k(r.outerAbsPathInfo.pathInfo.segments.concat(a).join(c)),d=Zs(e.getRootNode(),i.stateName);null===d&&F(`State element with name "${i.stateName}" not found for web component.`);const u=je(d,l);n.set(t,u),o.set(u,t);return function(e,t){const n=H(e);null===n?G(e,[t]):n.push(t)}(e,{...i,propName:t.pathInfo.path,propSegments:t.pathInfo.segments,statePathName:u.pathInfo.path,statePathInfo:u.pathInfo}),u}function Li(e){return function(e){const t=Object.getPrototypeOf(e),n=Object.create(t),o=Object.getOwnPropertyDescriptors(e);for(const e in o){const t=o[e];!1===t.writable&&(t.writable=!0)}return Object.defineProperties(n,o),n}(e)}class Wi{_webComponent;_innerStateElement;constructor(e,t){this._webComponent=e,this._innerStateElement=ki(e,t)??F("State element not found for web component.")}get(e,t,n){if("string"!=typeof t)return Reflect.get(e,t,n);{if("then"===t)return;if("$"===t[0])return;if(this._innerStateElement.getterPaths.has(t)&&t in e)return Reflect.get(e,t,n);const o=k(t),s=je(this._innerStateElement,o),r=Ri(this._webComponent,s);if(null!==r){const e=Pe(this._webComponent);let t;return r.stateElement.createState("readonly",n=>{n[Ee](e,()=>{t=n[r.pathInfo.path];let o=null;null!==e&&null!==e.listIndex&&r.pathInfo.wildcardCount>0&&(o=e.listIndex.at(r.pathInfo.wildcardCount-1));!function(e,t){$i.set(e,t)}(Ve(r,o),t)})}),t}if(t in e)return Reflect.get(e,t,n);F(`Property "${t}" not found in inner state: no mapping rule and no local state property.`)}}set(e,t,n,o){if("string"!=typeof t)return Reflect.set(e,t,n,o);{if(this._innerStateElement.setterPaths.has(t)&&t in e)return Reflect.set(e,t,n,o);const s=k(t),r=je(this._innerStateElement,s),i=Ri(this._webComponent,r);if(null!==i){const e=Pe(this._webComponent);return i.stateElement.createState("writable",t=>{t[Ee](e,()=>{t[i.pathInfo.path]=n})}),!0}if(t in e)return Reflect.set(e,t,n,o);F(`Property "${t}" not found in inner state: no mapping rule and no local state property.`)}}has(e,t){if("string"==typeof t){if("$"===t[0])return!1;if((this._innerStateElement.getterPaths.has(t)||this._innerStateElement.setterPaths.has(t))&&t in e)return!0;const n=k(t),o=je(this._innerStateElement,n);return null!==Ri(this._webComponent,o)||t in e}return Reflect.has(e,t)}}class Bi{_innerStateElement;constructor(e,t){this._innerStateElement=ki(e,t)??F("State element not found for web component.")}get(e,t,n){if("string"==typeof t){const e=k(t),n=Ve(je(this._innerStateElement,e),null);return o=n,$i.get(o)}return Reflect.get(e,t,n);var o}set(e,t,n,o){if("string"==typeof t){const e=k(t),n=je(this._innerStateElement,e);return this._innerStateElement.createState("readonly",e=>{e.$postUpdate(n.pathInfo.path)}),!0}return Reflect.set(e,t,n,o)}}class ji{_innerStateElement;constructor(e,t){this._innerStateElement=ki(e,t)??F("State element not found for web component.")}get(e,t,n){if("string"==typeof t){let e;return this._innerStateElement.createState("readonly",n=>{e=n[t]}),e}return Reflect.get(e,t,n)}set(e,t,n,o){return"string"==typeof t?(this._innerStateElement.createState("writable",e=>{e[t]=n}),!0):Reflect.set(e,t,n,o)}}const Fi=e=>()=>e;function zi(e,t,o,s){if(function(e,t,n){let o=Ti.get(e);o||(o=new Map,Ti.set(e,o)),o.set(t,n)}(t,o,e),t.hasAttribute(n.bindAttributeName)){const n=(H(t)??[]).filter(e=>e.propSegments[0]===o);!function(e,t,n){if(0===n.length)return;const o=ki(e,t);null===o&&F("State element not found for web component.");const s=new Map,r=new Map;for(const t of n){const n=Di(o,t);let i=Mi.get(e);void 0===i?Mi.set(e,new Set([n])):i.add(n);const a=n.innerAbsPathInfo,l=n.outerAbsPathInfo;Oi.set(n,t),s.set(a,l),r.set(l,a)}Ci.set(e,s),Ei.set(e,r)}(t,o,n);const s=function(e,t){const n=new Bi(e,t);return new Proxy({},n)}(t,o),r=function(e,t){const n=new Wi(e,t),o=ki(e,t);null===o&&F("State element not found for web component."),null===o.boundComponentStateProp&&F("State element is not bound to any component state prop."),o.boundComponentStateProp in e||F(`State element is not bound to a valid component state prop: ${o.boundComponentStateProp}`);const s=e[o.boundComponentStateProp];return"object"==typeof s&&null!==s||F(`Invalid state object for component state prop: ${o.boundComponentStateProp}`),new Proxy(Li(s),n)}(t,o);e.setInitialState(r),Object.defineProperty(t,o,{get:Fi(s),enumerable:!0,configurable:!0})}else{e.setInitialState(Li(s));const n=function(e,t){const n=new ji(e,t);return new Proxy({},n)}(t,o);Object.defineProperty(t,o,{get:Fi(n),enumerable:!0,configurable:!0})}if(function(e,t){let n=Kn.get(e);n||(n=new WeakMap,Kn.set(e,n)),n.set(t,!0)}(t,e),b in t){const e=t[b];"function"==typeof e?e.call(t,o).catch(e=>{F(`Error in ${b}: ${e instanceof Error?e.message:String(e)}`)}):F(`${b} is not a function.`)}}function qi(e){const t=new Set,n=new Set,o=function(e){let t={},n=e;for(;n&&n!==Object.prototype;)Object.assign(t,Object.getOwnPropertyDescriptors(n)),n=Object.getPrototypeOf(n);return t}(e);for(const[e,s]of Object.entries(o))"function"==typeof s.get&&t.add(e),"function"==typeof s.set&&n.add(e);return{getterPaths:t,setterPaths:n}}class Ui extends Ws{static hasConnectedCallbackPromise=!0;static getBindingsReady(e){return er(e)}__state;_hasUpdatedCallback=!1;_crossRowListPaths=new Set;_indexDependentGetterPaths=new Set;_name="default";_initialized=!1;_initializePromise;_resolveInitialize=null;_connectedCallbackPromise;_resolveConnectedCallback=null;_loadingPromise;_resolveLoading=null;_setStatePromise=null;_resolveSetState=null;_listPaths=new Set;_elementPaths=new Set;_getterPaths=new Set;_setterPaths=new Set;_loopContextStack=function(){return new gr}();_dynamicDependency=new Map;_staticDependency=new Map;_pathSet=new Set;_version=0;_rootNode=null;_boundComponent=null;_boundComponentStateProp=null;_bindableEventMap={};_commandTokenNames=new Set;_eventTokenNames=new Set;_dcc=!1;_connectGeneration=0;_streamsStartedGeneration=0;constructor(){super(),this._initializePromise=new Promise(e=>{this._resolveInitialize=e}),this._connectedCallbackPromise=new Promise(e=>{this._resolveConnectedCallback=e}),this._loadingPromise=new Promise(e=>{this._resolveLoading=e}),this._setStatePromise=new Promise(e=>{this._resolveSetState=e})}get _state(){return void 0===this.__state&&F(`${n.tagNames.state} _state is not initialized yet.`),this.__state}set _state(t){this._commandTokenNames=function(e){const t=new Set,n=e[v];if(void 0===n)return t;Array.isArray(n)||F(`${v} must be an array of strings.`);for(const e of n)"string"==typeof e&&0!==e.length||F(`${v} entries must be non-empty strings.`),e===N&&F(`${v} entry "${e}" conflicts with the reserved namespace name "${N}".`),t.has(e)&&F(`${v} entry "${e}" is duplicated.`),t.add(e);return t}(t),this._eventTokenNames=function(e){const t=new Set,n=e[S];if(void 0===n)return t;Array.isArray(n)||F(`${S} must be an array of strings.`);for(const e of n)"string"==typeof e&&0!==e.length||F(`${S} entries must be non-empty strings.`),t.has(e)&&F(`${S} entry "${e}" is duplicated.`),t.add(e);return t}(t),this.__state=t,this._hasUpdatedCallback=y in t,Pt(this),function(e,t,n){const o=t[x];if(void 0!==o){"object"==typeof o&&null!==o||F(`${x} must be an object mapping event-token names to handler functions.`);for(const[t,s]of Object.entries(o))n.has(t)||F(`${x} entry "${t}" is not declared in $eventTokens.`),"function"!=typeof s&&F(`${x} entry "${t}" must be a function.`),At(e,t).subscribe(s)}}(this,t,this._eventTokenNames),this._listPaths.clear(),this._elementPaths.clear(),this._getterPaths.clear(),this._setterPaths.clear(),this._pathSet.clear();const n=qi(t);for(const e of n.getterPaths)this._getterPaths.add(e);for(const e of n.setterPaths)this._setterPaths.add(e);var o;Br(this),kr(o=this),Pr(o),$r.delete(o),Mr(this,t),this._initialized&&null!==this._rootNode&&!e()&&(zr(this),this._streamsStartedGeneration=this._connectGeneration),this._resolveLoading?.()}get name(){return this._name}_loadFromSsrElement(){if(!this.hasAttribute("enable-ssr"))return null;const e=this.getAttribute("name")||"default",t=this.parentNode;if(!t)return null;const n=Us.findByName(t,e);if(!n)return null;const o=n.stateData;return Object.keys(o).length>0?o:null}async _initialize(){const t=e()?null:this._loadFromSsrElement();try{if(this.hasAttribute("state")){const e=this.getAttribute("state");this._state=function(e){const t=document.getElementById(e);if(t&&"application/json"===t.type)try{return JSON.parse(t.textContent||"{}")}catch(e){F("Failed to parse JSON from script element:"+e)}return{}}(e)}else if(this.hasAttribute("src")){const e=this.getAttribute("src");e&&e.endsWith(".json")?this._state=await async function(e){try{const t=await fetch(e);return t.ok||F(`Failed to fetch JSON file: ${t.statusText}`),await t.json()}catch(e){return console.error("Failed to load JSON file:",e),{}}}(e):e&&e.endsWith(".js")?this._state=await mr(e):F(`Unsupported src file type: ${e}`)}else if(this.hasAttribute("json")){const e=this.getAttribute("json");this._state=JSON.parse(e)}else{const e=this.querySelector('script[type="module"]');if(e)this._state=await hr(e,`${this._name}`);else{const e=setTimeout(()=>{console.warn(`[@wcstack/state] Warning: No state source found for <${n.tagNames.state}> element with name="${this._name}".`)},6e4);this._state=await this._setStatePromise,clearTimeout(e)}}}catch(e){F(`Failed to initialize state: ${e}`)}if(null!==t&&this.__state)for(const[e,n]of Object.entries(t)){if(e in this.__state){const t=Object.getOwnPropertyDescriptor(this.__state,e);if(t&&(t.get||t.set))continue;if("function"==typeof this.__state[e])continue}this.__state[e]=n}await this._loadingPromise,this._name=this.getAttribute("name")||"default",tr(this.rootNode,this._name,this)}async _initializeBindWebComponent(){if(this.hasAttribute("bind-component")){const e=this.parentNode,t=e instanceof ShadowRoot?e.host:e instanceof Element?e:null,o=t?M(t):null;null!==t&&null!==o||F(`"bind-component" requires <${n.tagNames.state}> to be a direct child of a custom element.`),e instanceof ShadowRoot||this.hasAttribute("name")||F('"bind-component" in Light DOM requires a "name" attribute to avoid namespace conflicts with the parent scope.');const s=this.getAttribute("bind-component");await customElements.whenDefined(o.toLowerCase()),t.hasAttribute(n.bindAttributeName)&&await a(t),s in t||F(`Component does not have property "${s}" for state binding.`);const r=t[s];"object"==typeof r&&null!==r||F(`Component property "${s}" is not an object for state binding.`),this._boundComponent=t,this._boundComponentStateProp=s,zi(this,this._boundComponent,this._boundComponentStateProp,r)}}async _callStateConnectedCallback(){await this.createStateAsync("writable",async e=>{m in e&&await e[Re]()})}async _initializeDCC(e,t){let o;try{if(this.hasAttribute("src")){const e=this.getAttribute("src");e.endsWith(".js")?o=await mr(e):F(`DCC: Unsupported src type: ${e}`)}else{const t=this.querySelector('script[type="module"]');t?o=await hr(t,e.tagName.toLowerCase()):F(`DCC: No state source found for "${e.tagName.toLowerCase()}".`)}}catch(e){F(`DCC: Failed to load state: ${e}`)}!function(e,t,o){const s=e.tagName.toLowerCase();if(s.includes("-")||F(`DCC: "${s}" is not a valid custom element name (must contain a hyphen).`),customElements.get(s))return void console.warn(`[@wcstack/state] DCC: "${s}" is already registered. Skipping redefinition.`);const r=document.createElement("template");r.innerHTML=t.innerHTML;const i=t.mode,a=Array.isArray(o[w])?o[w]:[],l=a.length>0?function(e,t){return{protocol:"wc-bindable",version:1,properties:t.map(t=>({name:t,event:`${e}:${t}-changed`})),inputs:t.map(e=>({name:e}))}}(s,a):null,c=a.length>0?function(e,t){const n={};for(const o of t)n[o]=`${e}:${o}-changed`;return n}(s,a):{},d=`${n.tagNames.state}:not([name])`,u=class extends HTMLElement{static template=r;static shadowRootMode=i;static wcBindable=l;static bindableEventMap=c;_shadow=null;connectedCallback(){if(!this.hasAttribute(_)&&(this._shadow=this.attachShadow({mode:u.shadowRootMode}),this._shadow.appendChild(u.template.content.cloneNode(!0)),Object.keys(u.bindableEventMap).length>0)){const e=this._shadow.querySelector(d);e&&e.initializePromise.then(()=>{e.setBindableEventMap(u.bindableEventMap)})}}get stateElement(){return this._shadow?.querySelector(d)}},f=Object.getOwnPropertyDescriptors(o);for(const[e,t]of Object.entries(f)){if(Jr(e))continue;const n={configurable:!0,enumerable:!0};if("function"==typeof t.value){const o="AsyncFunction"===t.value.constructor?.name;n.value=Gr(e,o)}else n.get=Vr(e),n.set=Hr(e);Object.defineProperty(u.prototype,e,n)}customElements.define(s,u)}(e,t,o),this._dcc=!0,this._initialized=!0,this._rootNode=null,this._resolveInitialize?.(),this._resolveConnectedCallback?.()}_callStateDisconnectedCallback(){this.createState("writable",e=>{g in e&&e[Le]()})}async connectedCallback(){this._rootNode=this.getRootNode();const t=++this._connectGeneration;if(this._initialized)this._dcc||Zs(this._rootNode,this._name)===this||tr(this._rootNode,this._name,this);else{const e=this.parentNode;if(e instanceof ShadowRoot&&e.host.hasAttribute(_))return void await this._initializeDCC(e.host,e);await this._initializeBindWebComponent(),await this._initialize(),this._initialized=!0,this._resolveInitialize?.()}if(this.hasAttribute("enable-ssr")&&!e()||await this._callStateConnectedCallback(),e()&&this.hasAttribute("enable-ssr")){await er(this.rootNode);const e=this.getAttribute("name")||"default",t=Us.extractStateData(this),o=document.createElement(n.tagNames.ssr);o.setAttribute("name",e),o.setAttribute("version",Ls),Us.buildContent(o,t),this.parentNode?.insertBefore(o,this)}e()||null===this._rootNode||t!==this._connectGeneration||this._streamsStartedGeneration===t||zr(this),this._resolveConnectedCallback?.()}disconnectedCallback(){if(null!==this._rootNode)try{this._callStateDisconnectedCallback()}finally{tr(this.rootNode,this._name,null),e=this,yr.delete(e),function(e){wr.delete(e)}(this),Pt(this),kr(this),Br(this),this._rootNode=null}var e}get initializePromise(){return this._initializePromise}get connectedCallbackPromise(){return this._connectedCallbackPromise}get listPaths(){return this._listPaths}get elementPaths(){return this._elementPaths}get getterPaths(){return this._getterPaths}get setterPaths(){return this._setterPaths}get loopContextStack(){return this._loopContextStack}get dynamicDependency(){return this._dynamicDependency}get staticDependency(){return this._staticDependency}get version(){return this._version}get rootNode(){return null===this._rootNode&&F("State rootNode is not available."),this._rootNode}get boundComponentStateProp(){return this._boundComponentStateProp}get bindableEventMap(){return this._bindableEventMap}get commandTokenNames(){return this._commandTokenNames}get eventTokenNames(){return this._eventTokenNames}setBindableEventMap(e){this._bindableEventMap=e}_addDependency(e,t,n){const o=e.get(t);return void 0===o?(e.set(t,[n]),!0):!o.includes(n)&&(o.push(n),!0)}addDynamicDependency(e,t){return this._addDependency(this._dynamicDependency,e,t)}addStaticDependency(e,t){return this._addDependency(this._staticDependency,e,t)}setPathInfo(e,t){if("for"===t&&(this._listPaths.add(e),this._elementPaths.add(e+"."+d)),!this._pathSet.has(e)){const t=k(e);if(this._pathSet.add(e),null!==t.parentPath){let e=t;for(;null!==e.parentPath&&this.addStaticDependency(e.parentPath,e.path);)e=k(e.parentPath)}}}_createState(e,t,n){try{const o=function(e,t,n,o){const s=new _i(e,n,o);return new Proxy(t,s)}(e,this._state,this._name,t);return n(o)}finally{}}async createStateAsync(e,t){return await this._createState(this.rootNode,e,t)}createState(e,t){this._createState(this.rootNode,e,t)}nextVersion(){return this._version++,this._version}get hasUpdatedCallback(){return this._hasUpdatedCallback}get crossRowListPaths(){return this._crossRowListPaths}addCrossRowListPath(e){this._crossRowListPaths.add(e)}get indexDependentGetterPaths(){return this._indexDependentGetterPaths}addIndexDependentGetterPath(e){this._indexDependentGetterPaths.add(e)}bindProperty(e,t){Object.defineProperty(this._state,e,t),e===y&&(this._hasUpdatedCallback=!0)}setInitialState(e){this._initialized?this._state=e:this._resolveSetState?.(e)}}function Vi(){customElements.get(n.tagNames.ssr)||customElements.define(n.tagNames.ssr,Us),customElements.get(n.tagNames.state)||customElements.define(n.tagNames.state,Ui)}function Hi(e){var n;e&&((n=e).tagNames&&Object.assign(t.tagNames,n.tagNames),"string"==typeof n.bindAttributeName&&(t.bindAttributeName=n.bindAttributeName),"string"==typeof n.commentTextPrefix&&(t.commentTextPrefix=n.commentTextPrefix),"string"==typeof n.commentForPrefix&&(t.commentForPrefix=n.commentForPrefix),"string"==typeof n.commentIfPrefix&&(t.commentIfPrefix=n.commentIfPrefix),"string"==typeof n.commentElseIfPrefix&&(t.commentElseIfPrefix=n.commentElseIfPrefix),"string"==typeof n.commentElsePrefix&&(t.commentElsePrefix=n.commentElsePrefix),"string"==typeof n.locale&&(t.locale=n.locale),"boolean"==typeof n.debug&&(t.debug=n.debug),"boolean"==typeof n.enableMustache&&(t.enableMustache=n.enableMustache),"boolean"==typeof n.enableDirectionalInitialSync&&(t.enableDirectionalInitialSync=n.enableDirectionalInitialSync),"boolean"==typeof n.enablePropagationContext&&(t.enablePropagationContext=n.enablePropagationContext),"boolean"==typeof n.enableContractAnalyzer&&(t.enableContractAnalyzer=n.enableContractAnalyzer),"boolean"==typeof n.sameValueGuard&&(t.sameValueGuard=n.sameValueGuard)),Vi(),pr()}function Gi(e){return e}const Ji={eq:{description:"等しいか比較",hasArgs:!0,resultType:"boolean",acceptTypes:"any",minArgs:1,maxArgs:1,argTypes:["any"]},ne:{description:"異なるか比較",hasArgs:!0,resultType:"boolean",acceptTypes:"any",minArgs:1,maxArgs:1,argTypes:["any"]},not:{description:"ブール値を反転",hasArgs:!1,resultType:"boolean",acceptTypes:["boolean"],minArgs:0,maxArgs:0},lt:{description:"より小さいか",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},le:{description:"以下か",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},gt:{description:"より大きいか",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},ge:{description:"以上か",hasArgs:!0,resultType:"boolean",acceptTypes:["number","string"],minArgs:1,maxArgs:1,argTypes:["number"]},inc:{description:"加算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},dec:{description:"減算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},mul:{description:"乗算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:1,maxArgs:1,argTypes:["number"]},div:{description:"除算",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:1,maxArgs:1,argTypes:["number"]},mod:{description:"剰余",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:1,maxArgs:1,argTypes:["number"]},fix:{description:"固定小数点表記",hasArgs:!0,resultType:"string",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},locale:{description:"ロケール形式で数値フォーマット",hasArgs:!0,resultType:"string",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["string"]},uc:{description:"大文字に変換",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},lc:{description:"小文字に変換",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},cap:{description:"先頭文字を大文字に",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},trim:{description:"前後の空白を削除",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},slice:{description:"部分文字列 (start[,end])",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:2,argTypes:["number","number"]},substr:{description:"部分文字列 (pos,len)",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:2,argTypes:["number","number"]},pad:{description:"パディング (length[,char])",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:2,argTypes:["number","string"]},rep:{description:"繰り返し (count)",hasArgs:!0,resultType:"string",acceptTypes:["string"],minArgs:1,maxArgs:1,argTypes:["number"]},rev:{description:"文字順を反転",hasArgs:!1,resultType:"string",acceptTypes:["string"],minArgs:0,maxArgs:0},int:{description:"整数にパース",hasArgs:!1,resultType:"number",acceptTypes:["string","number"],minArgs:0,maxArgs:0},float:{description:"浮動小数点数にパース",hasArgs:!1,resultType:"number",acceptTypes:["string","number"],minArgs:0,maxArgs:0},round:{description:"四捨五入",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},floor:{description:"切り下げ",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},ceil:{description:"切り上げ",hasArgs:!0,resultType:"number",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},percent:{description:"パーセンテージ形式",hasArgs:!0,resultType:"string",acceptTypes:["number"],minArgs:0,maxArgs:1,argTypes:["number"]},date:{description:"ロケール形式の日付",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},time:{description:"ロケール形式の時刻",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},datetime:{description:"ロケール形式の日時",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},ymd:{description:"YYYY-MM-DD 形式",hasArgs:!0,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:1,argTypes:["string"]},falsy:{description:"偽値か判定",hasArgs:!1,resultType:"boolean",acceptTypes:"any",minArgs:0,maxArgs:0},truthy:{description:"真値か判定",hasArgs:!1,resultType:"boolean",acceptTypes:"any",minArgs:0,maxArgs:0},defaults:{description:"偽値の場合デフォルト値",hasArgs:!0,resultType:"passthrough",acceptTypes:"any",minArgs:1,maxArgs:1,argTypes:["any"]},boolean:{description:"ブール値に変換",hasArgs:!1,resultType:"boolean",acceptTypes:"any",minArgs:0,maxArgs:0},number:{description:"数値に変換",hasArgs:!1,resultType:"number",acceptTypes:"any",minArgs:0,maxArgs:0},string:{description:"文字列に変換",hasArgs:!1,resultType:"string",acceptTypes:"any",minArgs:0,maxArgs:0},null:{description:"空文字列をnullに変換",hasArgs:!1,resultType:"passthrough",acceptTypes:["string"],minArgs:0,maxArgs:0}},Ki=1;function Xi(){return{version:1,syntax:{bindAttribute:n.bindAttributeName,tagName:n.tagNames.state,pathDelimiter:c,wildcard:d,delimiters:{binding:";",propValue:":",modifier:"#",stateName:"@",filter:f},structuralDirectives:Array.from(J)},filters:Object.keys(te),filterMeta:Ji,reservedLifecycle:[m,g,y,b],reservedStateApi:[w,v,N,S,x,I,A,P]}}const Yi=new Set(["wcstack.types","wcstack.async","wcstack.platformCapabilities","wcstack.application"]),Qi=Object.freeze([]);function Zi(e){if(!n.enableContractAnalyzer)return Qi;const t=[];return function(e,t,n){const o=e.manifestExtensions;if(null===o||"object"!=typeof o)return;for(const e of Object.keys(o))Yi.has(e)||n({type:"contract:unsupported-extension",namespace:e});const s=o["wcstack.types"]?.components;if(null==s)return;for(const[e,o]of Object.entries(s)){const s=t(e);n({type:"contract:manifest-read",tag:e,loaded:null!==s}),null!==s?ea(e,o,s,n):n({type:"contract:drift",reason:"component-not-loaded",tag:e})}}(e,ta,e=>{t.push(e),null!==ot&&ot(e)}),t}function ea(e,t,n,o){const s=null!==t&&"object"==typeof t?t:{};for(const[t,r]of Object.entries(s.observables??{})){if(!n.propertyEvents.has(t)){o({type:"contract:drift",reason:"missing-member",tag:e,member:t});continue}const s=n.propertyEvents.get(t),i=r?.event;"string"==typeof i&&i!==s&&o({type:"contract:drift",reason:"event-mismatch",tag:e,member:t,sidecarEvent:i,liveEvent:s})}for(const t of Object.keys(s.inputs??{}))n.inputs.has(t)||o({type:"contract:drift",reason:"missing-member",tag:e,member:t});for(const t of Object.keys(s.commands??{}))n.commands.has(t)||o({type:"contract:drift",reason:"missing-member",tag:e,member:t})}function ta(e){const t=O(),n=t?.get(e);if(void 0===n)return null;const o=n.wcBindable;if(null===o||"object"!=typeof o||"wc-bindable"!==o.protocol)return null;const s=o,r=new Map;for(const e of Array.isArray(s.properties)?s.properties:[])"string"==typeof e?.name&&"string"==typeof e.event&&r.set(e.name,e.event);const i=new Set;for(const e of Array.isArray(s.inputs)?s.inputs:[])"string"==typeof e?.name&&i.add(e.name);const a=new Set;for(const e of Array.isArray(s.commands)?s.commands:[])"string"==typeof e?.name&&a.add(e.name);return{propertyEvents:r,inputs:i,commands:a}}export{Us as Ssr,Ls as VERSION,Ki as WCS_MANIFEST_VERSION,Zi as analyzeContract,Hi as bootstrapState,Rs as buildBindings,Ji as builtinFilterMeta,Gi as defineState,er as getBindingsReady,o as getConfig,Xi as getWcsManifest};
2
2
  //# sourceMappingURL=index.esm.min.js.map