@panphora/hyper-cms 0.11.0 → 0.11.1

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,5 +1,6 @@
1
- var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDescriptor;var Ts=Object.getOwnPropertyNames;var Cs=Object.prototype.hasOwnProperty;var qr=(e,t)=>{for(var r in t)Dr(e,r,{get:t[r],enumerable:!0})},Os=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ts(t))!Cs.call(e,i)&&i!==r&&Dr(e,i,{get:()=>t[i],enumerable:!(n=_s(t,i))||n.enumerable});return e};var Rs=e=>Os(Dr({},"__esModule",{value:!0}),e);var cu={};qr(cu,{cms:()=>au,default:()=>lu});function ae(e){let t=0,r=null,n=-1;for(let i=0;i<e.length;i++){let o=e[i];o==="\\"?i++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(n=i)}return n}function Ht(e){let t=ae(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}var Vn={includeClasses:!0,includeAttributes:["href","src","name","type","role","aria-label","alt","title"],excludeAttributePrefixes:["data-morph-","data-hyper-","data-im-"],textHintLength:64,excludeIds:!0,maxPathDepth:4,landmarks:["HEADER","NAV","MAIN","ASIDE","FOOTER","SECTION","ARTICLE"],weights:{signature:100,pathSegment:10,textMatch:20,textMismatch:25,uniqueCandidate:50,positionPenalty:1,maxDriftPenalty:19,slotMatch:30},minConfidence:101,maxScoredCandidates:16};function Ns(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t^e.charCodeAt(r);return Math.abs(t).toString(36)}function Ls(e){if(e.classList&&e.classList.length>0)return Array.from(e.classList).sort().join(" ");let t=e.getAttribute?.("class");return t?t.split(/\s+/).filter(Boolean).sort().join(" "):""}function Is(e,t){let r=[];for(let n of e.attributes||[]){let i=n.name;i==="id"||i==="class"||t.excludeAttributePrefixes.some(o=>i.startsWith(o))||t.includeAttributes.includes(i)&&r.push(`${i}=${n.value}`)}return r.sort().join("|")}function js(e,t){return(e.textContent||"").replace(/\s+/g," ").trim().slice(0,t.textHintLength)}function Fs(e,t){let r=[e.tagName];return t.includeClasses&&r.push(Ls(e)),r.push(Is(e,t)),Ns(r.join("|"))}function Ds(e){let t=e.tagName,r=1,n=e.previousElementSibling;for(;n;)n.tagName===t&&r++,n=n.previousElementSibling;return r}function qs(e,t){return e.getAttribute?.("id")||e.getAttribute?.("role")?!0:t.landmarks.includes(e.tagName)}function $s(e){let t=e.getAttribute?.("id");if(t)return`#${t}`;let r=e.getAttribute?.("role");return r?`@${r}`:e.tagName}function Ps(e,t){let r=[],n=e;for(;n&&n.tagName&&r.length<t.maxPathDepth;){let i=`${n.tagName}:${Ds(n)}`;if(r.unshift(i),n!==e&&qs(n,t)){r.unshift($s(n));break}n=n.parentElement}return r}function Bs(e,t){let r=0,n=e.length-1,i=t.length-1;for(;n>=0&&i>=0&&e[n]===t[i];)r++,n--,i--;return r}function ye(e,t,r){if(r.has(e))return r.get(e);let n={signature:Fs(e,t),path:Ps(e,t),textHint:js(e,t)};return r.set(e,n),n}function Yn(e,t,r,n){if(n.has(e))return n.get(e);let i=new Map,o=e.querySelectorAll("*"),a=0;for(let s of o){let l=ye(s,t,r);l.domIndex=a++,!t.shouldIgnore?.(s)&&(i.has(l.signature)||i.set(l.signature,[]),i.get(l.signature).push(s))}return n.set(e,i),i}function zs(e,t,r){r.delete(e),t.delete(e);let n=e.querySelectorAll("*");for(let i of n)t.delete(i)}function $r(e,t,r,n,i){let o=ye(e,r,n),a=ye(t,r,n),s=r.weights,l={},u=0;if(o.signature!==a.signature)return{score:0,breakdown:{rejected:"signature mismatch"}};u+=s.signature,l.signature=s.signature;let y=Bs(o.path,a.path)*s.pathSegment;u+=y,l.path=y;let c=!0;if(o.textHint&&a.textHint?o.textHint===a.textHint?(u+=s.textMatch,l.text=s.textMatch):(u-=s.textMismatch,l.text=-s.textMismatch,c=!1):o.textHint!==a.textHint&&(u-=s.textMismatch,l.text=-s.textMismatch,c=!1),i.candidateCount===1&&c&&(u+=s.uniqueCandidate,l.unique=s.uniqueCandidate),typeof o.domIndex=="number"&&typeof a.domIndex=="number"){let h=Math.abs(o.domIndex-a.domIndex),f=Math.min(h*s.positionPenalty,s.maxDriftPenalty);u-=f,l.drift=-f}return{score:u,breakdown:l}}function Wn(e,t,r,n,i){if(r.excludeIds&&e.getAttribute("id"))return null;let o=Yn(t,r,n,i),a=ye(e,r,n);if(typeof a.domIndex!="number"){let c=0,h=e.previousElementSibling;for(;h;)c++,h=h.previousElementSibling;a.domIndex=c}let s=o.get(a.signature)||[],l=r.excludeIds?s.filter(c=>!c.getAttribute("id")):s;if(l.length===0)return null;let u=null,m=0,y=null;for(let c of l){let{score:h,breakdown:f}=$r(e,c,r,n,{candidateCount:l.length});h>m&&(m=h,u=c,y=f)}return m<r.minConfidence?null:{element:u,confidence:m,breakdown:y}}function Hs(e,t,r,n){let i=[],o=r.weights.signature+r.weights.slotMatch,a={slot:o};function s(y){if(y.children)return y.children;let c=y.childNodes;if(!c)return[];let h=[];for(let f=0;f<c.length;f++)c[f].nodeType===1&&h.push(c[f]);return h}function l(y,c){let h=s(y),f=s(c);if(h.length===f.length)for(let b=0;b<h.length;b++){let k=h[b],A=f[b];if(r.shouldIgnore?.(k)||r.shouldIgnore?.(A)||r.excludeIds&&(k.getAttribute("id")||A.getAttribute("id"))||k.tagName!==A.tagName)continue;let E=ye(k,r,n).signature,L=ye(A,r,n).signature;E!==L&&i.push({newEl:k,oldEl:A,score:o,breakdown:a}),l(k,A)}}function u(y,c){for(;;){if(y.tagName===c.tagName)return[y,c];let h=s(y);if(!y.tagName&&h.length===1){y=h[0];continue}let f=s(c);if(f.length===1&&f[0].tagName===y.tagName){c=f[0];continue}return null}}let m=u(e,t);return m&&l(m[0],m[1]),i}function Kn(e,t,r,n,i){let o=t.querySelectorAll("*"),a=Yn(e,r,n,i),s=0;for(let h of o){let f=ye(h,r,n);f.domIndex=s++}let l=[],u=new Map;function m(h,f,b){let k=new Set;if(h.textHint){let O=u.get(h.signature);if(!O){O=new Map;for(let U of f){let ie=ye(U,r,n).textHint,ee=O.get(ie);ee||(ee=[],O.set(ie,ee)),ee.push(U)}u.set(h.signature,O)}let W=O.get(h.textHint);if(W)for(let U=0;U<W.length&&U<b;U++)k.add(W[U])}let A=0,E=f.length;for(;A<E;){let O=A+E>>1;ye(f[O],r,n).domIndex<h.domIndex?A=O+1:E=O}let L=Math.max(0,Math.min(A-(b>>1),f.length-b)),D=Math.min(L+b,f.length);for(let O=L;O<D;O++)k.add(f[O]);return[...k]}for(let h of o){if(r.shouldIgnore?.(h)||r.excludeIds&&h.getAttribute("id"))continue;let f=ye(h,r,n),b=a.get(f.signature)||[],k=r.excludeIds?b.filter(L=>!L.getAttribute("id")):b,A=r.maxScoredCandidates,E=A&&k.length>A?m(f,k,A):k;for(let L of E){let{score:D,breakdown:O}=$r(h,L,r,n,{candidateCount:k.length});D>=r.minConfidence&&l.push({newEl:h,oldEl:L,score:D,breakdown:O})}}if(r.weights.slotMatch>0){let h=Hs(t,e,r,n);for(let f of h)l.push(f)}l.sort((h,f)=>f.score-h.score);let y=new Map,c=new Set;for(let{newEl:h,oldEl:f}of l)y.has(h)||c.has(f)||(y.set(h,f),c.add(f));return y}function Gn(e,t,r,n){let i=ye(e,r,n),o=ye(t,r,n),{score:a,breakdown:s}=$r(e,t,r,n,{candidateCount:1});return{matches:a>=r.minConfidence,score:a,breakdown:s,newMeta:{signature:i.signature,path:i.path,textHint:i.textHint},oldMeta:{signature:o.signature,path:o.path,textHint:o.textHint}}}function Jn(e={}){let t={...Vn,...e,weights:{...Vn.weights,...e.weights}},r=new WeakMap,n=new WeakMap;return{findMatch:(i,o)=>Wn(i,o,t,r,n),computeMatches:(i,o)=>Kn(i,o,t,r,n),explain:(i,o)=>Gn(i,o,t,r),invalidate:i=>zs(i,r,n),session:()=>{let i=new WeakMap,o=new WeakMap;return{findMatch:(a,s)=>Wn(a,s,t,i,o),computeMatches:(a,s)=>Kn(a,s,t,i,o),explain:(a,s)=>Gn(a,s,t,i)}},getConfig:()=>({...t})}}function Pr(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
2
- `;)t++;continue}if(e[t]==="/"&&e[t+1]==="*"){let r=e.indexOf("*/",t+2);if(r===-1)return e.length;t=r+2;continue}return t}}function Xn(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,r)=>r.length%2===0?r+'\\"':t)}var Us=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Vs=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Ut(e){try{return JSON.parse(e)}catch{return JSON.parse(Ws(e))}}function Ws(e){let t="",r=0,n=(i,o)=>{throw new Error(`Invalid relaxed JSON: ${i} at position ${o}`)};for(;r<e.length&&(r=Pr(e,r),!(r>=e.length));){let i=e[r];if("{}[]:".includes(i)){t+=i,r++;continue}if(i===","){let s=Pr(e,r+1);if(e[s]==="}"||e[s]==="]"){r++;continue}t+=i,r++;continue}if(i==='"'||i==="'"){let s=r+1;for(;s<e.length&&e[s]!==i;)e[s]==="\\"&&s++,s++;s>=e.length&&n("unterminated string",r);let l=e.slice(r+1,s);i==="'"&&(l=Xn(l)),t+='"'+l+'"',r=s+1;continue}let o=r;for(;o<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[o]);)o++;o===r&&n("unexpected character "+JSON.stringify(i),r);let a=e.slice(r,o);if(a==="true"||a==="false"||a==="null"||Us.test(a)){t+=a,r=o;continue}if(Vs.test(a)){if(e[Pr(e,o)]===":"){t+='"'+a+'"',r=o;continue}n("unquoted value "+JSON.stringify(a),r)}n("invalid token "+JSON.stringify(a),r)}return t}function Zn(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],a=0;for(;a<i.length;){let s=i[a];if(/\s/.test(s)){a++;continue}if("{}".includes(s)){o.push({type:s,value:s}),a++;continue}if(s==="["){let y=!1,c=a+1;for(;c<i.length&&/\s/.test(i[c]);)c++;if(c<i.length&&/[a-zA-Z_]/.test(i[c])&&(y=!0),!y){o.push({type:s,value:s}),a++;continue}}if(s==="]"){o.push({type:s,value:s}),a++;continue}if(s===":"){o.push({type:t.COLON,value:s}),a++;continue}if(s===","){o.push({type:t.COMMA,value:s}),a++;continue}if(s==='"'||s==="'"){let y=s,c=a+1;for(;c<i.length&&i[c]!==y;)i[c]==="\\"&&c++,c++;o.push({type:t.STRING,value:i.substring(a+1,c),quoted:!0,sourceQuote:y}),a=c+1;continue}let l=a,u;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let y=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],c=!1;for(let h of y){let f=h.substring(1);if(i.substring(l+1,l+1+f.length)===f){c=!0,l+=f.length;break}}if(!c)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let y=i[l];for(l++;l<i.length&&i[l]!==y;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;u=i.substring(a,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?m=t.NUMBER:u==="true"||u==="false"||u==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(m=t.SELECTOR),o.push({type:m,value:u,quoted:!1}),a=l}return o}function n(i){let o="";for(let a=0;a<i.length;a++){let s=i[a];if("{}".includes(s.type)||"[]".includes(s.type)){o+=s.value;continue}if(s.type===t.COLON){o+=s.value;continue}if(s.type===t.COMMA){let l=i[a+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=s.value;continue}if(s.type===t.STRING){let l=s.value;s.sourceQuote==="'"&&(l=Xn(l)),o+=`"${l}"`;continue}if(s.type===t.NUMBER||s.type===t.BOOLEAN){o+=s.value;continue}o+=`"${s.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Error("Invalid extraction rules syntax: "+i.message)}}var oe=Symbol("hyper-morph-json-merge:missing"),Qn=["id","_id","uuid","key","slug","code","name"];function We(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ks(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:!0,writable:!0,configurable:!0})}function Ce(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!Ce(e[r],t[r]))return!1;return!0}if(We(e)&&We(t)){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!bt(t,n)||!Ce(e[n],t[n]))return!1;return!0}return!1}function ei(e,t,r,n){return Ce(t,r)?t:Ce(t,e)?r:Ce(r,e)?t:We(t)&&We(r)?Gs(We(e)?e:{},t,r,n):Array.isArray(t)&&Array.isArray(r)?Zs(Array.isArray(e)?e:[],t,r,n):r}function ti(e,t,r,n){return t===oe&&r===oe?oe:t===oe?e===oe?r:Ce(r,e)?oe:r:r===oe?e===oe?t:oe:ei(e,t,r,n)}function Gs(e,t,r,n){let i={},o=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(r)]);for(let a of o){let s=ti(bt(e,a)?e[a]:oe,bt(t,a)?t[a]:oe,bt(r,a)?r[a]:oe,n);s!==oe&&Ks(i,a,s)}return i}function Ys(e){return e===null||typeof e!="object"}function Vt(e){return typeof e+":"+String(e)}function Js(e,t){for(let r of t){let n=new Set;for(let i of r){if(!bt(i,e))return!1;let o=i[e];if(typeof o!="string"&&typeof o!="number")return!1;let a=Vt(o);if(n.has(a))return!1;n.add(a)}}return!0}function Xs(e,t,r,n){let i=[e,t,r],o=!0;for(let a of i)for(let s of a)We(s)||(o=!1);if(o){for(let a of n.keyCandidates)if(Js(a,i))return{kind:"keyed",field:a};return null}for(let a of i){let s=new Set;for(let l of a){if(!Ys(l))return null;let u=Vt(l);if(s.has(u))return null;s.add(u)}}return{kind:"self"}}function Zs(e,t,r,n){let i=Xs(e,t,r,n);if(!i)return r;let o=i.kind==="self"?Vt:h=>Vt(h[i.field]),a=h=>{let f=new Map;for(let b of h)f.set(o(b),b);return f},s=a(e),l=a(t),u=a(r),m=new Map,y=new Set([...s.keys(),...l.keys(),...u.keys()]);for(let h of y){let f=ti(s.has(h)?s.get(h):oe,l.has(h)?l.get(h):oe,u.has(h)?u.get(h):oe,n);f!==oe&&m.set(h,f)}let c=[];for(let h of r){let f=o(h);m.has(f)&&c.push(f)}for(let h=0;h<t.length;h++){let f=o(t[h]);if(!m.has(f)||c.includes(f))continue;let b=0;for(let k=h-1;k>=0;k--){let A=c.indexOf(o(t[k]));if(A!==-1){b=A+1;break}}c.splice(b,0,f)}return c.map(h=>m.get(h))}function Br(e,t,r,n={}){let i=n.keyCandidates?[...n.keyCandidates,...Qn]:Qn;return ei(e===void 0?oe:e,t,r,{keyCandidates:i})}function zr(e,t,r,n={}){let i=n.parse||Ut,o=[],a=(y,c)=>{if(typeof y!="string")return oe;try{return i(y)}catch(h){return o.push(`${c} side is not valid JSON (${h.message})`),oe}},s=a(t,"local"),l=a(r,"remote");if(s===oe)return{text:r,warnings:o};if(l===oe)return{text:t,warnings:o};let u=a(e,"base"),m=Br(u===oe?void 0:u,s,l,n);return Ce(m,l)?{text:r,warnings:o}:Ce(m,s)?{text:t,warnings:o}:{text:JSON.stringify(m,null,2),warnings:o}}var Qs=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Cu=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Ou=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ri(e){let t=Qs[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}var yt=(function(){"use strict";let e=()=>{},t='[editor-ui],[clay~="editor-ui"],[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]',r=`${ri("history")},[no-undo],[clay~="no-undo"]`;function n(v){if(v?.nodeType!==1)return!1;if(v.matches(t))return!0;if(v.tagName==="LINK"||v.tagName==="SCRIPT"){let I=v.getAttribute("src")||v.getAttribute("href")||"";if(I.startsWith("chrome-extension://")||I.startsWith("moz-extension://")||I.startsWith("safari-web-extension://"))return!0}return!1}function i(v){return v?.nodeType!==1?!1:v.closest(t)?!0:n(v)}function o(v,I,N){if(N){let P=N.identityOf(v);if(P&&!N.disabled.has(P.key))return"hm-merge:"+P.key}if(I!=="smart")return v.outerHTML;let F=v.getAttribute("src"),j=v.getAttribute("type")||"text/javascript";if(F)try{let P=new URL(F,window.location.href);return`ext:${j}:${P.origin}${P.pathname}${P.search}`}catch{return`ext:${j}:${F}`}else{let P=v.textContent.trim(),_=5381;for(let T=0;T<P.length;T++)_=(_<<5)+_^P.charCodeAt(T);return`inline:${j}:${Math.abs(_).toString(36)}`}}let a="http://www.w3.org/1999/xhtml";function s(v){return v?.nodeType===1&&v.tagName==="SCRIPT"&&v.namespaceURI===a}function l(v){let I=document.createElement("div");I.innerHTML="<script><\/script>";let N=I.firstChild;for(let F of v.attributes)N.setAttribute(F.name,F.value);return N.textContent=v.textContent,N}function u(v){if(s(v))return l(v);if(v?.nodeType===1)for(let I of v.querySelectorAll("script"))s(I)&&I.replaceWith(l(I));return v}function m(v){let I=(v.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return I==="application/json"||I.endsWith("+json")}let y={match:v=>v.hasAttribute("merge"),identity:v=>v.getAttribute("merge")};function c(v,I,N){if(N.merge===!1)return null;let F=[y,...N.mergeTags||[]],j=new WeakMap,P=p=>{if(j.has(p))return j.get(p);let S=null;if(s(p)&&!p.getAttribute("src")&&!i(p)){let w=p;for(let R=0;R<F.length;R++)if(F[R].match(w)){if(!m(w))console.warn("[hyper-morph] merge ignored: script type is not JSON",w);else{let B=F[R].identity(w);B!=null&&B!==""&&(S={key:R+":"+B,raw:B,recognizer:F[R]})}break}}return j.set(p,S),S},_=new Set,T=p=>{let S=new Map,w=R=>{let B=P(R);B&&(S.has(B.key)?(_.add(B.key),console.warn(`[hyper-morph] merge disabled for duplicate identity "${B.raw}"`)):S.set(B.key,R))};s(p)&&w(p);for(let R of p.querySelectorAll("script"))w(R);return S},C=T(v),x=T(I.__hyperMorphRoot||I);if(C.size===0&&x.size===0)return null;let d=null;return{identityOf:P,disabled:_,oldByKey:C,newByKey:x,baseTexts:()=>{if(d)return d;d=new Map;let p=N.mergeBase;if(!p)return d;let S;typeof p=="string"?S=new DOMParser().parseFromString(p,"text/html").documentElement:p?.nodeType===9?S=p.documentElement:S=p;let w=R=>{let B=P(R);B&&!d.has(B.key)&&d.set(B.key,R.textContent)};s(S)&&w(S);for(let R of S.querySelectorAll("script"))w(R);return d}}}function h(v,I,N){let F=v.merge;if(!F)return!1;let j=F.identityOf(I);if(!j||F.disabled.has(j.key))return!1;let P=F.identityOf(N);if(!P||P.key!==j.key)return!1;let _=I,T=N,C=T.getAttribute("merge-key")||_.getAttribute("merge-key"),{text:x,warnings:d}=zr(F.baseTexts().get(j.key),_.textContent,T.textContent,{parse:j.recognizer.parse,keyCandidates:C?C.split(/[\s,]+/).filter(Boolean):void 0});for(let g of d)console.warn(`[hyper-morph] merge "${j.raw}": ${g}`);return _.textContent!==x&&(_.textContent=x),!0}let f={morphStyle:"outerHTML",callbacks:{beforeNodeAdded:e,afterNodeAdded:e,beforeNodeMorphed:e,afterNodeMorphed:e,beforeNodeRemoved:e,afterNodeRemoved:e,beforeAttributeUpdated:e},head:{style:"merge",shouldPreserve:v=>v.getAttribute("im-preserve")==="true",shouldReAppend:v=>v.getAttribute("im-re-append")==="true",shouldRemove:e,afterHeadMorphed:e},scripts:{handle:!0,matchMode:"outerHTML",shouldPreserve:v=>v.getAttribute("im-preserve")==="true",shouldReAppend:v=>v.getAttribute("im-re-append")==="true",shouldRemove:e,afterScriptsHandled:e},restoreFocus:!0},b={computeMatches(v,I,N=i){let{computeMatches:F}=Jn({shouldIgnore:N}).session();return F(v,I)}};function k(v,I,N={}){v=Bt(v);let F=mt(I),j=Lr(v,F,N),P=j.scripts.handle?new Set(Array.from(v.querySelectorAll("script")).map(x=>o(x,j.scripts.matchMode,j.merge))):null,_=U(j),T;try{T=q(j,v,F,x=>x.morphStyle==="innerHTML"?(ee(x,v,F),Array.from(v.childNodes)):W(x,v,F))}catch(x){throw E(j),x}let C=x=>{_&&ie(j,_),A(j);let d=P?Nr(x,P,j):[];return d.length>0?Promise.all(d).then(()=>x):x};if(T instanceof Promise)return T.then(x=>{try{return C(x)}catch(d){throw E(j),d}},x=>{throw E(j),x});try{return C(T)}catch(x){throw E(j),x}}function A(v){let I=v.pantry;if(I){for(let N of Array.from(I.childNodes))v.callbacks.beforeNodeRemoved(N)!==!1&&v.callbacks.afterNodeRemoved(N);for(let N of Array.from(I.childNodes))I.removeChild(N);I.remove(),v.pantry=null,v.stagedNodes.clear()}}function E(v){let I=v.pantry;if(!I)return;let N=Array.from(v.stagedNodes.entries()).reverse();for(let[F,j]of N){if(!I.contains(F))continue;let P=j.nextSibling?.parentNode===j.parent?j.nextSibling:null;try{D(j.parent,F,P)}catch{}}for(let F of Array.from(I.childNodes))I.removeChild(F);I.remove(),v.pantry=null,v.stagedNodes.clear()}function L(v){if(v.pantry)return v.pantry;let I=v.target.ownerDocument,N=I.createElement("div");return N.hidden=!0,N.setAttribute("mutations-ignore",""),I.body.insertAdjacentElement("afterend",N),v.pantry=N,N}function D(v,I,N){if(v.moveBefore)try{v.moveBefore(I,N)}catch{v.insertBefore(I,N)}else v.insertBefore(I,N)}function O(v,I){!v.stagedNodes.has(I)&&I.parentNode&&v.stagedNodes.set(I,{parent:I.parentNode,nextSibling:I.nextSibling}),D(L(v),I,null)}function W(v,I,N){let F=mt(I);return ee(v,F,N,I,I.nextSibling),Array.from(F.childNodes)}function U(v){if(!v.config.restoreFocus)return null;let I=document.activeElement;if(!(I instanceof HTMLInputElement||I instanceof HTMLTextAreaElement))return null;let{id:N,selectionStart:F,selectionEnd:j}=I;return{element:I,id:N,selectionStart:F,selectionEnd:j}}function ie(v,I){let N=I.element;if(I.id&&I.id!==document.activeElement?.getAttribute("id")&&(N=v.target.querySelector(`[id="${CSS.escape(I.id)}"]`),N?.focus()),N&&!N.selectionEnd&&I.selectionEnd!=null)try{N.setSelectionRange(I.selectionStart,I.selectionEnd)}catch{}}let ee=(function(){function v(x,d,g,p=null,S=null){d?.tagName==="TEMPLATE"&&g?.tagName==="TEMPLATE"&&(d=d.content,g=g.content),p||=d.firstChild;for(let w of g.childNodes){if(x.shouldIgnore(w))continue;if(p&&p!=S){let B=F(x,w,p,S);if(B){B!==p&&P(x,p,B),me(B,w,x),p=B.nextSibling;continue}}if(w?.nodeType===1){let B=w.getAttribute("id");if(x.persistentIds.has(B)){let M=_(d,B,p,x);me(M,w,x),p=M.nextSibling;continue}if(!x.idMap.has(w)){let M=x.hyperMatches.get(w);if(M&&!x.idMap.has(M)&&!C(M,d)){D(d,M,p),me(M,w,x),p=M.nextSibling;continue}}}let R=I(d,w,p,x);R&&(p=R.nextSibling)}for(;p&&p!=S;){let w=p;p=p.nextSibling,x.shouldIgnore(w)||j(x,w)}}function I(x,d,g,p){if(p.callbacks.beforeNodeAdded(d)===!1)return null;let S=x.ownerDocument||x.realParentNode?.ownerDocument||p.target.ownerDocument;if(p.idMap.has(d)){let w=d,R=S.createElementNS(w.namespaceURI,w.localName);return x.insertBefore(R,g),me(R,d,p),p.callbacks.afterNodeAdded(R),R}else{let w=u(N(d,S,p));return w?(x.insertBefore(w,g),p.callbacks.afterNodeAdded(w),w):null}}function N(x,d,g){if(g.shouldIgnore(x))return null;let p=d.importNode(x,!1),S=x.nodeType===1&&x.tagName==="TEMPLATE"?x.content:x,w=p.nodeType===1&&p.tagName==="TEMPLATE"?p.content:p;for(let R of Array.from(S.childNodes||[])){let B=N(R,d,g);B&&w.appendChild(B)}return p}let F=(function(){function x(p,S,w,R){let B=S?.nodeType===1&&!p.idMap.has(S)?p.hyperMatches.get(S):null,M=null,z=S.nextSibling,$=0,H=w;for(;H&&H!=R;){if(p.shouldIgnore(H)){H=H.nextSibling;continue}if(g(H,S)){if(d(p,H,S)||H===B&&!p.idMap.has(H))return H;if(M===null){let V=H?.nodeType===1&&p.hyperMatchedOldElements.has(H);!p.idMap.has(H)&&!V&&(M=H)}}if(M===null&&z&&g(H,z)&&($++,z=z.nextSibling,$>=2&&(M=void 0)),p.activeElementAndParents.includes(H))break;H=H.nextSibling}return M||null}function d(p,S,w){let R=p.idMap.get(S),B=p.idMap.get(w);if(!B||!R)return!1;for(let M of R)if(B.has(M))return!0;return!1}function g(p,S){let w=p,R=S;return w.nodeType===R.nodeType&&w.tagName===R.tagName&&(!w.getAttribute?.("id")||w.getAttribute?.("id")===R.getAttribute?.("id"))}return x})();function j(x,d){let g=d?.nodeType===1&&x.hyperMatchedOldElements.has(d)&&!x.idMap.has(d);if(x.idMap.has(d)||g)O(x,d);else{if(x.callbacks.beforeNodeRemoved(d)===!1)return;d.parentNode?.removeChild(d),x.callbacks.afterNodeRemoved(d)}}function P(x,d,g){let p=d;for(;p&&p!==g;){let S=p;p=p.nextSibling,x.shouldIgnore(S)||j(x,S)}return p}function _(x,d,g,p){let S=p.target.ownerDocument?.defaultView?.CSS?.escape?p.target.ownerDocument.defaultView.CSS.escape(d):String(d).replace(/["\\]/g,"\\$&"),w=p.target.getAttribute?.("id")===d&&p.target||p.target.querySelector(`[id="${S}"]`)||p.pantry?.querySelector(`[id="${S}"]`);return T(w,p),D(x,w,g),w}function T(x,d){let g=x.getAttribute("id");for(;x=x.parentNode;){let p=d.idMap.get(x);p&&(p.delete(g),p.size||d.idMap.delete(x))}}function C(x,d){let g=d?.nodeType===1?d:d.realParentNode;return!!g&&x.contains(g)}return v})(),me=(function(){function v(_,T,C){return C.ignoreActive&&_===document.activeElement?null:(C.callbacks.beforeNodeMorphed(_,T)===!1||(_?.tagName==="HEAD"&&C.head.ignore||(_?.tagName==="HEAD"&&C.head.style!=="morph"?xe(_,T,C):(I(_,T,C),h(C,_,T)||P(_,C)||ee(C,_,T))),C.callbacks.afterNodeMorphed(_,T)),_)}function I(_,T,C){let x=T.nodeType;if(x===1){let d=_,g=T,p=d.attributes,S=g.attributes;for(let w of S)j(w.name,d,"update",C)||d.getAttribute(w.name)!==w.value&&d.setAttribute(w.name,w.value);for(let w=p.length-1;0<=w;w--){let R=p[w];if(R&&!g.hasAttribute(R.name)){if(j(R.name,d,"remove",C))continue;d.removeAttribute(R.name)}}P(d,C)||N(d,g,C)}(x===8||x===3)&&_.nodeValue!==T.nodeValue&&(_.nodeValue=T.nodeValue)}function N(_,T,C){if(_.tagName==="INPUT"&&T.tagName==="INPUT"&&T.type!=="file"){let x=T.value,d=_.value;F(_,T,"checked",C),F(_,T,"disabled",C),C.formStateSync==="property"&&_.indeterminate!==T.indeterminate&&(_.indeterminate=T.indeterminate),C.formStateSync==="property"?d!==x&&(j("value",_,"update",C)||(_.value=x)):T.hasAttribute("value")?d!==x&&(j("value",_,"update",C)||(_.setAttribute("value",x),_.value=x)):j("value",_,"remove",C)||(_.value="",_.removeAttribute("value"))}else if(_.tagName==="OPTION"&&T.tagName==="OPTION")F(_,T,"selected",C);else if(_.tagName==="TEXTAREA"&&T.tagName==="TEXTAREA"){let x=T.value,d=_.value;if(j("value",_,"update",C)||(x!==d&&(_.value=x),C.formStateSync==="property"))return;_.firstChild&&_.firstChild.nodeValue!==x&&(_.firstChild.nodeValue=x)}}function F(_,T,C,x){let d=T[C],g=_[C];if(d!==g){let p=j(C,_,"update",x);if(p||(_[C]=T[C]),x.formStateSync==="property")return;d?p||_.setAttribute(C,""):j(C,_,"remove",x)||_.removeAttribute(C)}}function j(_,T,C,x){return _==="value"&&x.ignoreActiveValue&&T===document.activeElement?!0:x.callbacks.beforeAttributeUpdated(_,T,C)===!1}function P(_,T){return!!T.ignoreActiveValue&&_===document.activeElement&&_!==document.body}return v})();function q(v,I,N,F){if(v.head.block){let j=I.querySelector("head"),P=N.querySelector("head");if(j&&P){let _=xe(j,P,v);return Promise.all(_).then(()=>(v.head.block=!1,v.head.ignore=!0,F(v)))}}return F(v)}function te(v){return v.tagName==="SCRIPT"?!!v.getAttribute("src"):v.tagName==="LINK"?(v.getAttribute("rel")||"").toLowerCase().split(/\s+/).includes("stylesheet")&&!!v.getAttribute("href"):!1}function xe(v,I,N){let F=[],j=[],P=[],_=[],T=N.scripts.matchMode,C=g=>{if(g.tagName==="SCRIPT")return o(g,T,N.merge);if(g.tagName==="LINK"&&T==="smart"){let p=g.getAttribute("href");if(p)try{let S=new URL(p,window.location.href);return`link:${g.getAttribute("rel")||""}:${S.origin}${S.pathname}${S.search}`}catch{}}return g.outerHTML},x=new Map;for(let g of I.children){if(N.shouldIgnore(g))continue;let p=C(g),S=x.get(p);S||(S=[],x.set(p,S)),S.push(g)}for(let g of v.children){let p=C(g),S=x.get(p),w=!!(S&&S.length),R=N.head.shouldReAppend(g),B=N.head.shouldPreserve(g);if(w||B)if(R)j.push(g);else{if(S&&S.length){let M=S.pop();S.length||x.delete(p),h(N,g,M)}P.push(g)}else N.head.style==="append"?R&&(j.push(g),_.push(g)):N.head.shouldRemove(g)!==!1&&!N.shouldIgnore(g)&&j.push(g)}for(let g of x.values())_.push(...g);let d=[];for(let g of _){let p=document.createRange().createContextualFragment(g.outerHTML).firstChild;if(N.callbacks.beforeNodeAdded(p)!==!1){if(p instanceof Element&&te(p)){let S,w=new Promise(function(R){S=R});p.addEventListener("load",function(){S()}),p.addEventListener("error",function(){S()}),d.push(w)}v.appendChild(p),N.callbacks.afterNodeAdded(p),F.push(p)}}for(let g of j)N.callbacks.beforeNodeRemoved(g)!==!1&&(v.removeChild(g),N.callbacks.afterNodeRemoved(g));return N.head.afterHeadMorphed(v,{added:F,kept:P,removed:j}),d}function Nr(v,I,N){if(!N.scripts.handle)return[];let F=[],j=[],P=[],_=[],T=N.scripts.matchMode,C=[];for(let d of v)if(d instanceof Element){s(d)&&C.push(d);for(let g of d.querySelectorAll("script"))s(g)&&C.push(g)}for(let d of C){if(d.closest("head")||N.shouldIgnore(d))continue;let g=o(d,T,N.merge),p=I.has(g),S=N.scripts.shouldPreserve(d),w=N.scripts.shouldReAppend(d);p||S?w?(j.push(d),_.push(d)):P.push(d):_.push(d)}let x=[];for(let d of _){if(N.callbacks.beforeNodeAdded(d)===!1)continue;let g=document.createElement("script");for(let p of d.attributes)g.setAttribute(p.name,p.value);if(g.textContent=d.textContent,g.src){let p,S=new Promise(function(w){p=w});g.addEventListener("load",function(){p()}),g.addEventListener("error",function(){p()}),x.push(S)}d.replaceWith(g),N.callbacks.afterNodeAdded(g),F.push(g)}return N.scripts.afterScriptsHandled(N.target,{added:F,kept:P,removed:j}),x}let Lr=(function(){function v(T,C,x){let d=x.policy==="history"?r:t,g=x.policy==="raw"?()=>!1:$=>{if($?.nodeType!==1)return!1;if(x.policy!=="history"&&i($))return!0;let H=$.closest(d);return!(!H||x.policy==="history"&&H===T&&H.matches('[no-undo],[clay~="no-undo"]')&&!H.matches('[editor-ui],[clay~="editor-ui"]'))},{persistentIds:p,idMap:S}=P(T,C,g),w=b.computeMatches(T,C,g);if(typeof x.key=="function"){let $=new Map,H=new Set,V=K=>{let Y=x.key(K);Y!=null&&($.has(Y)?H.add(Y):$.set(Y,K))};T instanceof Element&&V(T);for(let K of T.querySelectorAll("*"))V(K);for(let K of H)$.delete(K);let se=new Map;for(let[K,Y]of w)se.set(Y,K);let he=C.__hyperMorphRoot||C,Z=new Map,G=new Set,Q=K=>{let Y=x.key(K);Y!=null&&(Z.has(Y)?G.add(Y):Z.set(Y,K))};he instanceof Element&&Q(he);for(let K of he.querySelectorAll("*"))Q(K);for(let K of G)Z.delete(K);for(let[K,Y]of Z){let re=$.get(K);if(!re||re.tagName!==Y.tagName)continue;let De=se.get(re);De&&De!==Y&&w.delete(De);let qe=w.get(Y);qe&&qe!==re&&se.delete(qe),w.set(Y,re),se.set(re,Y)}}let R=I(x),B=c(T,C,R.scripts);if(B){let $=new Map;for(let[H,V]of w)$.set(V,H);for(let[H,V]of B.newByKey){if(B.disabled.has(H))continue;let se=B.oldByKey.get(H);if(!se)continue;let he=$.get(se);he&&he!==V&&w.delete(he);let Z=w.get(V);Z&&Z!==se&&$.delete(Z),w.set(V,se),$.set(se,V)}}let M=new Set;for(let $ of w.values())M.add($);let z=R.morphStyle||"outerHTML";if(!["innerHTML","outerHTML"].includes(z))throw new Error(`Do not understand how to morph style ${z}`);return{target:T,newContent:C,config:R,morphStyle:z,ignoreActive:R.ignoreActive,ignoreActiveValue:R.ignoreActiveValue,restoreFocus:R.restoreFocus,formStateSync:R.formStateSync||"attribute",idMap:S,persistentIds:p,hyperMatches:w,hyperMatchedOldElements:M,merge:B,pantry:null,stagedNodes:new Map,activeElementAndParents:N(T),callbacks:R.callbacks,head:R.head,scripts:R.scripts,shouldIgnore:g}}function I(T){let C=Object.assign({},f);return Object.assign(C,T),C.callbacks=Object.assign({},f.callbacks,T.callbacks),C.head=Object.assign({},f.head,T.head),C.scripts=Object.assign({},f.scripts,T.scripts),C}function N(T){let C=[],x=T.ownerDocument?.activeElement;if(x?.tagName!=="BODY"&&T.contains(x))for(;x&&(C.push(x),x!==T);)x=x.parentElement;return C}function F(T){let C=Array.from(T.querySelectorAll("[id]"));return T.getAttribute?.("id")&&C.push(T),C}function j(T,C,x,d){for(let g of d){let p=g.getAttribute("id");if(C.has(p)){let S=g;for(;S;){let w=T.get(S);if(w==null&&(w=new Set,T.set(S,w)),w.add(p),S===x)break;S=S.parentElement}}}}function P(T,C,x){let d=F(T).filter(R=>!x(R)),g=F(C).filter(R=>!x(R)),p=_(d,g),S=new Map;j(S,p,T,d);let w=C.__hyperMorphRoot||C;return j(S,p,w,g),{persistentIds:p,idMap:S}}function _(T,C){let x=new Set,d=new Map;for(let p of T){let S=p.getAttribute("id");d.has(S)?x.add(S):d.set(S,p.tagName)}let g=new Set;for(let p of C){let S=p.getAttribute("id");g.has(S)?x.add(S):d.get(S)===p.tagName&&g.add(S)}for(let p of x)g.delete(p);return g}return v})(),{normalizeElement:Bt,normalizeParent:mt}=(function(){let v=new WeakSet;function I(_){return _?.nodeType===9?_.documentElement:_}function N(_){if(_==null)return document.createElement("div");if(typeof _=="string")return N(P(_));if(v.has(_))return _;if(_&&typeof _=="object"&&"nodeType"in _){if(_.parentNode)return new F(_);{let T=_.ownerDocument.createElement("div");return T.append(_),T}}else{let C=[..._][0]?.ownerDocument?.createElement("div")||document.createElement("div");for(let x of[..._])C.append(x);return C}}class F{constructor(T){this.originalNode=T,this.realParentNode=T.parentNode,this.previousSibling=T.previousSibling,this.nextSibling=T.nextSibling}get childNodes(){let T=[],C=this.previousSibling?this.previousSibling.nextSibling:this.realParentNode.firstChild;for(;C&&C!=this.nextSibling;)T.push(C),C=C.nextSibling;return T}querySelectorAll(T){return this.childNodes.reduce((C,x)=>{if(x instanceof Element){x.matches(T)&&C.push(x);let d=x.querySelectorAll(T);for(let g=0;g<d.length;g++)C.push(d[g])}return C},[])}insertBefore(T,C){return this.realParentNode.insertBefore(T,C)}moveBefore(T,C){return this.realParentNode.moveBefore(T,C)}get __hyperMorphRoot(){return this.originalNode}}function j(_){let T=g=>`<${g}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,C=_.replace(/<!--[\s\S]*?-->/g,"");for(let g of["script","style","textarea","title"])C=C.replace(new RegExp(`${T(g)}[\\s\\S]*?</${g}\\s*>`,"gi"),"");let x=new RegExp(`${T("svg")}[\\s\\S]*?</svg\\s*>`,"gi"),d;do d=C,C=C.replace(x,"");while(C!==d);return C}function P(_){let T=new DOMParser,C=j(_);if(C.match(/<\/html>/)||C.match(/<\/head>/)||C.match(/<\/body>/)){let x=T.parseFromString(_,"text/html");if(C.match(/<\/html>/))return v.add(x),x;{let d=x.firstChild;return d&&v.add(d),d}}else{let d=T.parseFromString("<body><template>"+_+"</template></body>","text/html").body.querySelector("template").content;return v.add(d),d}}return{normalizeElement:I,normalizeParent:N}})(),zt=Symbol("hyper-morph-duplicate-key"),ft=[v=>v.getAttribute("data-id"),v=>v.getAttribute("id")];function Fe(v,I){return I.map(N=>{let F=new Map;for(let j of v){if(j.nodeType!==1)continue;let P=N(j);P==null||P===""||F.set(P,F.has(P)?zt:j)}return F})}function pt(v,I,N,F){for(let j=0;j<F.length;j++){let P=F[j](v);if(P==null||P===""||I[j].get(P)!==v)continue;let _=N[j].get(P);if(!(!_||_===zt)&&_.tagName===v.tagName)return _}return null}function we(v,I,N){for(let F=0;F<N.length;F++){let j=N[F](v);if(!(j==null||j==="")&&I[F].get(j)===v)return!0}return!1}function Ir(v,I,N={}){let F=N.skip||(()=>!1),j=N.ignoreAttr||(()=>!1),P=N.tiers&&N.tiers.length?N.tiers:ft,_=null;function T(){return _||(_=Fe([v,...v.querySelectorAll("*")],P)),_}let C=null;function x(){return C||(C=Fe([I,...I.querySelectorAll("*")],P)),C}function d(G){return!G.parentElement||!G.parentElement.parentElement}function g(G,Q,K){return d(G)||we(G,T(),P)?(K.push({type:"subtree",el:G,base:Q}),!1):!0}function p(G,Q){let K=[];for(let Y of G.attributes)j(G,Y.name)||Q.getAttribute(Y.name)!==Y.value&&K.push(Y.name);for(let Y of Q.attributes)j(G,Y.name)||G.hasAttribute(Y.name)||K.push(Y.name);return K}function S(G){let Q=[],K=null,Y=()=>{K!==null&&(Q.push({nodeType:3,nodeValue:K}),K=null)};for(let re of G.childNodes){if(re.nodeType===3){K=(K===null?"":K)+re.nodeValue;continue}re.nodeType===1&&F(re)||(Y(),(re.nodeType===1||re.nodeType===8)&&Q.push(re))}return Y(),Q}function w(G,Q){if(G.nodeType!==Q.nodeType)return!1;if(G.nodeType!==1)return!0;if(G.tagName!==Q.tagName)return!1;for(let K of P){let Y=K(G),re=K(Q);if(Y!=null&&Y!==""&&re!=null&&re!==""&&Y!==re)return!1}return!0}function R(G){let Q="";for(let K of G)K.nodeType===3&&K.nodeValue.trim()!==""?Q+="\0"+K.nodeValue:K.nodeType===8&&(Q+=""+K.nodeValue);return Q}function B(G,Q,K){let Y=S(G),re=S(Q);if(Y.length===re.length){let X=!0;for(let le=0;le<Y.length;le++)if(!w(Y[le],re[le])){X=!1;break}if(X){for(let le=0;le<Y.length;le++){let Ve=Y[le];if(Ve.nodeType===1){if(M(Ve,re[le],K))return!0}else if(Ve.nodeValue!==re[le].nodeValue)return!0}return!1}}let De=Y.filter(X=>X.nodeType===1),qe=re.filter(X=>X.nodeType===1);if(R(Y)!==R(re))return!0;let qn=Fe(De,P),$n=Fe(qe,P),jr=[],Fr=new Set,Pn=[];for(let X of De){let le=pt(X,qn,$n,P);le&&!Fr.has(le)?(jr.push([X,le]),Fr.add(le)):Pn.push(X)}let Te=[];for(let X of Pn)we(X,qn,P)?K.push({type:"subtree",el:X,base:null}):Te.push(X);let gt=[];for(let X of qe)Fr.has(X)||(we(X,$n,P)?K.push({type:"deletion",el:X}):gt.push(X));if(Te.length!==gt.length)return!0;for(let X=0;X<Te.length;X++)if(!w(Te[X],gt[X]))return!0;let Bn=new Map(jr);for(let X=0;X<Te.length;X++)Bn.set(Te[X],gt[X]);let zn=-1;for(let X of De){let le=Bn.get(X);if(!le)continue;let Ve=qe.indexOf(le);if(Ve<zn)return!0;zn=Ve}for(let X=0;X<Te.length;X++)if(M(Te[X],gt[X],K))return!0;for(let[X,le]of jr)if(M(X,le,K))return!0;return!1}function M(G,Q,K){if(G.tagName!==Q.tagName)return g(G,Q,K);let Y=p(G,Q),re=[];if(B(G,Q,re))return g(G,Q,K);if(Y.length){if(!d(G)&&!we(Q,x(),P))return!0;K.push({type:"attrs",el:G,names:Y,base:Q})}return K.push(...re),!1}let z=[],$=p(v,I);$.length&&z.push({type:"attrs",el:v,names:$});let H=(G,Q)=>Array.from(G.children).find(K=>K.tagName===Q)||null,V=H(v,"HEAD"),se=H(I,"HEAD");if(V&&se){let G=[];M(V,se,G),G.length&&z.push({type:"head",el:V})}else(V||se)&&V&&z.push({type:"head",el:V});let he=H(v,"BODY"),Z=H(I,"BODY");return he&&Z?M(he,Z,z):he&&z.push({type:"subtree",el:he,base:null}),{entries:z}}function ge(v,I,N={}){let F=N.tiers&&N.tiers.length?N.tiers:ft,j=v.documentElement,P=[],_=0,T=M=>({ok:!1,placed:P,held:M,skippedAttrs:_});if(!j)return T(null);function C(M){let z=[M,...M.querySelectorAll("*")];return Fe(z,F)}let x=C(j),d=new Map,g=M=>{let z=M.getRootNode(),$=d.get(z);if(!$){let H=z.nodeType===9?z.documentElement:z;$=C(H),d.set(z,$)}return $};function p(M){if(!M.parentElement&&M.tagName==="HTML")return j;if(M.parentElement&&!M.parentElement.parentElement&&M.parentElement.tagName==="HTML"){if(M.tagName==="BODY")return v.body||null;if(M.tagName==="HEAD")return v.head||null}return null}function S(M){let z=p(M);return z||pt(M,g(M),x,F)}function w(M){if(!M)return null;let z=S(M);return z&&z.isConnected?z:null}function R(M){for(let z=0;z<F.length;z++){let $=F[z](M);$!=null&&$!==""&&x[z].set($,M)}}for(let M of I){if(M.type!=="deletion")continue;let z=S(M.el);z&&z!==j&&z.remove()}let B=I.filter(M=>M.type!=="deletion").sort((M,z)=>M.el===z.el?0:M.el.compareDocumentPosition(z.el)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let M of B){if(M.type==="head"){let Z=v.importNode(M.el,!0);v.head?v.head.replaceWith(Z):j.insertBefore(Z,j.firstChild),P.push({entry:M,imported:Z});continue}if(M.type==="attrs"){let Z=w(M.el)||w(M.base);if(!Z){_++;continue}for(let G of M.names)M.el.hasAttribute(G)?Z.setAttribute(G,M.el.getAttribute(G)):Z.removeAttribute(G);continue}let z=M.el;if(p(z))return T(M);let $=w(z)||w(M.base);if($){let Z=v.importNode(z,!0);$.replaceWith(Z),R(Z),P.push({entry:M,imported:Z});continue}if(M.base!=null&&!we(M.base,g(M.base),F)||!we(z,g(z),F))return T(M);let H=z.parentElement;if(!H)return T(M);let V=w(H);if(!V)return T(M);let se=null;for(let Z=z.previousElementSibling;Z;Z=Z.previousElementSibling){let G=w(Z);if(G&&G.parentNode===V){se=G;break}}let he=v.importNode(z,!0);if(se)V.insertBefore(he,se.nextSibling);else{let Z=Array.prototype.indexOf.call(H.children,z);V.insertBefore(he,V.children[Z]||null)}R(he),P.push({entry:M,imported:he})}return{ok:!0,placed:P,held:null,skippedAttrs:_}}return{morph:k,defaults:f,findChangedRoots:Ir,spliceProtected:ge,mergeJson:Br,mergeScriptText:zr,parseJsonRelaxed:Ut,parseRulesRelaxed:Zn}})();var kt=yt.morph,ju=yt.defaults,Fu=yt.findChangedRoots,Du=yt.spliceProtected;var Hr=yt;var Wt=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Ur=new Set(Wt),ni=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),vt=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var Kt={};qr(Kt,{EmptyListInsert:()=>wt,MAX_RULE_DEPTH:()=>Ye,MaxRuleDepthExceeded:()=>$e,RuleTargetReadOnly:()=>At,RulesParseError:()=>Ke,ShapeMismatch:()=>xt,UnknownRulesVersion:()=>Ge});var Ke=class extends Error{constructor(t,r){super(t),this.name="RulesParseError",this.cause=r}},Ge=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},Ye=20,$e=class extends Error{constructor(t){super(`rule depth exceeded ${Ye} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},xt=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},wt=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},At=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}};function Oe(e,t,r,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return Vr(e,t,r,{depth:0,path:[]},n)}function Vr(e,t,r,n,i){if(n.depth>Ye)throw new $e(n.path);if(typeof r=="string")return ia(e,t,r,n,i);if(Array.isArray(r)){let[o,a]=r,s=e.find(t,o,i);return oi(i,n,s),s.map((l,u)=>Vr(e,l,a,{depth:n.depth+1,path:[...n.path,u]},i))}if(typeof r=="object"&&r!==null){let o={};for(let[a,s]of Object.entries(r))o[a]=Vr(e,t,s,{depth:n.depth+1,path:[...n.path,a]},i);return o}return null}function ia(e,t,r,n,i){if(r.endsWith("[]")){let s=r.slice(0,-2),l=e.find(t,s,i);return oi(i,n,l),l.map(u=>e.text(u))}if(r.startsWith("@"))return ii(e,t,r.slice(1));let o=ae(r);if(o!==-1){let s=r.slice(0,o),l=r.slice(o+1),u=s?e.find(t,s,i):[t];return u.length===0?null:ii(e,u[0],l)}if(r===".")return e.text(t);let a=e.find(t,r,i);return a.length===0?null:e.text(a[0])}function oi(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function ii(e,t,r){if(Ur.has(r)){let i=e.prop(t,r);return i==null?null:String(i)}let n=e.attr(t,r);return n||null}var si=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),oa=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Xu=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function Wr(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function sa(e,t){if(Wr(e,t))return!0;for(let[r,n]of Object.entries(oa))if(n.includes(t)&&Wr(e,r))return!0;return!1}function St(e){let t=si[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function aa(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=si[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>sa(r,i))||n.bundles.some(i=>Wr(r,i)))return r;r=r.parentElement}return null}function ai(e,t){return!!aa(e,t)}var la=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function li(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let n=0;n<e.options.length;n++)t.options[n].selected=e.options[n].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function ci(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function ui(e,t,r,n,i,o,a,s){if(e.nodeType===1&&((a?ai(e,r):ci(e,n,o,!1))||i&&ci(e,i,o,a)))return null;let l=t.importNode(e,!1);s.cloneToLive.set(l,e),s.liveToClone.set(e,l);let u=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,m=l.nodeType===1&&l.tagName==="TEMPLATE"?l.content:l;u!==e&&(s.cloneToLive.set(m,u),s.liveToClone.set(u,m));for(let y of u.childNodes||[]){let c=ui(y,t,r,n,i,o,a,s);c&&(m.appendChild(c),y.nodeType===1&&li(y,c))}return e.nodeType===1&&li(e,l),l}function Et(e,{capability:t="data",exclude:r=null,inherit:n=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let i=e.nodeType===9?e:e.ownerDocument;if(!i?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let o=i.implementation.createHTMLDocument(""),a=new WeakMap,s=new WeakMap,l=e.nodeType===9?e.documentElement:e;r&&o.documentElement.matches(r);let u=St(t),m=ui(l,o,t,u,r,l,n,{cloneToLive:a,liveToClone:s});e.nodeType===9&&m&&(o.replaceChild(m,o.documentElement),s.set(e,o),a.set(o,e));let y=c=>{if(la.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:m,document:o,capability:t,selector:St(t),cloneToLive:a,liveToClone:s,original(c){return a.get(c)||null},cloneOf(c){return s.get(c)||null},query(c,h=m){return y(c),Array.from(h.querySelectorAll(c),f=>a.get(f)||f)},text(c=m){return(c===m?m:s.get(c))?.textContent||""},html(c=m){return(c===m?m:s.get(c))?.innerHTML??""},clone(c=m){let h=c===m?m:s.get(c);return h?o.importNode(h,!0):null}}}function di(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function ca(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var ce={semanticExclude:!0,find(e,t,r={}){let n=ca(e);if(!n||!n.querySelectorAll)return[];let i=Array.from(n.querySelectorAll(t));r.includeRulesTag||(i=i.filter(s=>!di(s)));let o=[];r.skip&&o.push(r.skip);let a=r.templateAttr===null?null:r.templateAttr||"cms-template";if(a&&o.push("["+a+"]"),o.length){let s=o.join(", ");i=i.filter(l=>!l.closest||!l.closest(s))}return i},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){return e.cloneNode(!0)},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let n=e.ownerDocument.createElement("template");n.innerHTML=t;let i=n.content.firstElementChild;if(!i)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(i,e),i},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(n=>{n.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function Ae(e,t={}){if(t.exclude===null)return ce;let r=[St("data"),t.exclude].filter(Boolean).join(", "),n=e.nodeType===9?e:e.ownerDocument||e,i=e.nodeType===9?e.documentElement:e;if(!t._write&&!i?.matches?.(r)&&!i?.querySelector?.(r)&&!n?.querySelector?.(r))return ce;let o=e.nodeType===9||!e.isConnected?e:e.ownerDocument,a=e.nodeType===9?e:e.ownerDocument,s=null,l=()=>s||(s=Et(o,{capability:"data",exclude:t.exclude||null})),u=f=>{let b=l();return f===e?b.cloneOf(e):b.cloneOf(f)||f},m=f=>s?.original(f)||f,y=(f,b)=>{l().liveToClone.set(f,b),l().cloneToLive.set(b,f);let k=f.childNodes||[],A=b.childNodes||[];for(let E=0;E<Math.min(k.length,A.length);E++)y(k[E],A[E])},c=(f,b,k,A)=>{let E=Array.from(f.childNodes).filter(U=>s.cloneOf(U)),D=E[0];for(;D&&E.includes(D);)D=D.nextSibling;for(let U of E)U.remove();if(k==="innerHTML"){let U=a.createElement("template");U.innerHTML=A;for(let ie of Array.from(U.content.childNodes))f.insertBefore(ie,D||null)}else f.insertBefore(a.createTextNode(A),D||null);let O=Et(f,{capability:"data",exclude:t.exclude||null});b.replaceChildren(...Array.from(O.root?.childNodes||[]));let W=U=>{let ie=O.original(U);ie&&(s.liveToClone.set(ie,U),s.cloneToLive.set(U,ie));for(let ee of Array.from(U.childNodes||[]))W(ee)};for(let U of Array.from(b.childNodes))W(U)},h={...ce,find(f,b,k={}){let A=u(f);if(!A?.querySelectorAll)return[];let E=l().query(b,A);k.includeRulesTag||(E=E.filter(O=>!di(O)));let L=[];k.skip&&L.push(k.skip);let D=k.templateAttr===null?null:k.templateAttr||"cms-template";if(D&&L.push(`[${D}]`),L.length){let O=L.join(", ");E=E.filter(W=>!W.closest?.(O))}return E},parent(f){let b=u(f)?.parentElement;return b?m(b):null},children(f){return Array.from(u(f)?.children||[],m)},text(f,b){if(b===void 0){let E=m(f);return!E?.matches?.(r)&&!E?.querySelector?.(r)?ce.text(E):(u(f)?.textContent||"").trim()}let k=m(f);if(!k?.matches?.(r)&&!k?.querySelector?.(r)&&!s){ce.text(k,b);return}let A=l().cloneOf(k);A?c(k,A,"textContent",b):ce.text(k,b)},attr(f,b,k){let A=m(f);if(k===void 0)return ce.attr(A,b);ce.attr(A,b,k);let E=s?.cloneOf(A);E&&(ce.attr(E,b,k),Et(A,{capability:"data",exclude:t.exclude||null}).root===null&&(E.remove(),s.liveToClone.delete(A),s.cloneToLive.delete(E)))},removeAttr(f,b){let k=m(f);ce.removeAttr(k,b);let A=s?.cloneOf(k);A&&ce.removeAttr(A,b)},prop(f,b,k){let A=m(f);if(k===void 0)return b==="innerHTML"||b==="outerHTML"||b==="textContent"||b==="innerText"?ce.prop(u(A),b):ce.prop(A,b);let E=b==="innerHTML"||b==="textContent"||b==="innerText",L=E?l().cloneOf(A):s?.cloneOf(A);L&&E?c(A,L,b,k):(ce.prop(A,b,k),L&&ce.prop(L,b,k))},clone(f){let b=u(f);return b===f?ce.clone(f):a.importNode(b,!0)},insertAt(f,b,k){let A=m(f),L=h.children(A)[k]||(()=>{for(let W=A.children.length-1;W>=0;W--){let U=A.children[W];if(l().cloneOf(U))return U.nextElementSibling}return A.firstElementChild})(),D=m(b);A.insertBefore(D,L||null);let O=l().cloneOf(A);if(O){let W=l().cloneOf(D);W||(W=a.importNode(D,!0),y(D,W));let U=Array.from(O.children);O.insertBefore(W,U[k]||null)}},remove(f){let b=m(f),k=l().cloneOf(b);ce.remove(b),k&&ce.remove(k)},replaceWith(f,b){let k=m(f),A=l().cloneOf(k),E=ce.replaceWith(k,b);if(A){let L=Et(E,{capability:"data",exclude:t.exclude||null});if(!L.root)A.remove();else{A.replaceWith(L.root);let D=O=>{let W=L.original(O);W&&(s.liveToClone.set(W,O),s.cloneToLive.set(O,W));for(let U of Array.from(O.childNodes||[]))D(U)};D(L.root)}}return E}};return h}var Je=ce;function Kr(e){try{return JSON.parse(e)}catch(t){throw new Ke(`Invalid strict JSON: ${t.message}`,t)}}function Xe(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],a=0;for(;a<i.length;){let s=i[a];if(/\s/.test(s)){a++;continue}if("{}".includes(s)){o.push({type:s,value:s}),a++;continue}if(s==="["){let y=!1,c=a+1;for(;c<i.length&&/\s/.test(i[c]);)c++;if(c<i.length&&/[a-zA-Z_]/.test(i[c])&&(y=!0),!y){o.push({type:s,value:s}),a++;continue}}if(s==="]"){o.push({type:s,value:s}),a++;continue}if(s===":"){o.push({type:t.COLON,value:s}),a++;continue}if(s===","){o.push({type:t.COMMA,value:s}),a++;continue}if(s==='"'||s==="'"){let y=s,c=a+1;for(;c<i.length&&i[c]!==y;)i[c]==="\\"&&c++,c++;o.push({type:t.STRING,value:i.substring(a+1,c),quoted:!0,sourceQuote:y}),a=c+1;continue}let l=a,u;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let y=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],c=!1;for(let h of y){let f=h.substring(1);if(i.substring(l+1,l+1+f.length)===f){c=!0,l+=f.length;break}}if(!c)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let y=i[l];for(l++;l<i.length&&i[l]!==y;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;u=i.substring(a,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?m=t.NUMBER:u==="true"||u==="false"||u==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(m=t.SELECTOR),o.push({type:m,value:u,quoted:!1}),a=l}return o}function n(i){let o="";for(let a=0;a<i.length;a++){let s=i[a];if("{}".includes(s.type)||"[]".includes(s.type)){o+=s.value;continue}if(s.type===t.COLON){o+=s.value;continue}if(s.type===t.COMMA){let l=i[a+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=s.value;continue}if(s.type===t.STRING&&s.quoted){let l=s.value;s.sourceQuote==="'"&&(l=l.replace(/\\'/g,"'"),l=l.replace(/(\\*)"/g,(u,m)=>m.length%2===0?m+'\\"':u)),o+=`"${l}"`;continue}if(s.type===t.NUMBER||s.type===t.BOOLEAN){o+=s.value;continue}if(s.type===t.SELECTOR||s.type===t.IDENTIFIER){o+=`"${s.value}"`;continue}o+=`"${s.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Ke("Invalid extraction rules syntax: "+i.message,i)}}var mi="1",hi=/^[a-zA-Z0-9_-]+$/;function _t(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!hi.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${hi})`);n=`script[data-rules-name~="${r}"]`}let i=e.find(t,n,{includeRulesTag:!0});if(i.length===0)return null;r!==void 0&&i.length>1&&console.warn(`hyper-html-api: ${i.length} rules tags match data-rules-name~="${r}"; using the first.`);let o=i[0],a=e.attr(o,"data-rules-version");if(a!==mi)throw new Ge(a);return{rules:Xe(e.text(o)),tagNode:o}}var vd=new Function("url","return import(url)");function ki(e,t,r,n){let i=e.length,o=t.length,a=new Array(i).fill(-1);if(n){let k=new Set;for(let A=0;A<i;A++){let E=n[A];!(E>=0&&E<o)||k.has(E)||(a[A]=E,k.add(E))}}if(i===0||o===0)return a;let s=e.map(k=>bi(k,r)),l=t.map(k=>bi(k,r)),u=new Array(o).fill(!1);for(let k of a)k>=0&&(u[k]=!0);let m=new Map;l.forEach((k,A)=>{u[A]||m.set(k,m.has(k)?-1:A)});let y=new Map;s.forEach((k,A)=>{a[A]>=0||y.set(k,(y.get(k)||0)+1)}),s.forEach((k,A)=>{if(a[A]>=0||y.get(k)!==1)return;let E=m.get(k);E===void 0||E===-1||u[E]||(a[A]=E,u[E]=!0)});let c=[];for(let k=0;k<i;k++)a[k]<0&&c.push(k);let h=[];for(let k=0;k<o;k++)u[k]||h.push(k);if(c.length===0||h.length===0)return a;let f=i*o+1,b=(k,A)=>da(e[k],t[A],r)*f+Math.abs(k-A);for(let[k,A]of ha(c,h,b))a[k]=A;return a}var vi=e=>typeof e=="object"&&e!==null;function bi(e,t){if(!vi(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let i=JSON.stringify(e?.[n]);return i===void 0?" undef":i}))}function da(e,t,r){if(!vi(r))return e===t?0:1;let n=Object.keys(r);if(n.length===0)return 0;let i=0;for(let o of n){let a=JSON.stringify(e?.[o]),s=JSON.stringify(t?.[o]);a!==s&&i++}return i}function ha(e,t,r){return e.length<=t.length?yi(e,t,r,!1):yi(t,e,(n,i)=>r(i,n),!0)}function yi(e,t,r,n){let i=e.length,o=t.length,a=[];for(let y=0;y<=i;y++)a.push(new Float64Array(o+1).fill(1/0));let s=[];for(let y=0;y<=i;y++)s.push(new Uint8Array(o+1));for(let y=0;y<=o;y++)a[i][y]=0;for(let y=i-1;y>=0;y--)for(let c=o-1;c>=0;c--){let h=r(e[y],t[c])+a[y+1][c+1],f=a[y][c+1];h<=f?(a[y][c]=h,s[y][c]=1):a[y][c]=f}let l=[],u=0,m=0;for(;u<i&&m<o;)s[u][m]&&(l.push(n?[t[m],e[u]]:[e[u],t[m]]),u++),m++;return l}function Yr(e,t,r,n,i,o,a,s={}){let l=e.find(t,r,s);if(i.length===0){l.forEach(O=>e.remove(O)),Gr(s,"onRowsApplied",o.path,[]);return}let u=i.length>l.length,m=l[0]||null;if(u&&!m&&(m=ga(e,t,r,s),!m))throw new wt(o.path);let y=l.map(O=>pa(e,O,n,s)),c=null;if(u&&m){c=e.clone(m),s.templateAttr&&e.removeAttr(c,s.templateAttr);let O=e.stripIds(c);O>0&&console.warn(`[hyper-html-api] stripped ${O} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let h=ki(i,y,n,ma(e,l,i,o,s)),f=l[0]||m,b=e.parent(f),k=l.length>0?xi(e,b,f):0,A=ba(e,l),E=new Set,L=[],D=i.map((O,W)=>{let U=h[W];if(U>=0)return E.add(U),L.push(!1),l[U];L.push(!0);let ie=e.clone(c);return e.stripIds(ie),ie});l.forEach((O,W)=>{E.has(W)||e.remove(O)}),A?D.forEach((O,W)=>{let U=k+W;e.children(b).findIndex(me=>e.sameNode(me,O))!==U&&e.insertAt(b,O,U)}):ya(e,D,L,b,k),fa(e,D,n,i,o,a,s),Gr(s,"onRowsApplied",o.path,D)}function Gr(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(i){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,i);return}}function ma(e,t,r,n,i){let o=Gr(i,"identifyRows",n.path,r);if(!Array.isArray(o))return null;let a=new Array(r.length).fill(-1),s=new Set;for(let l=0;l<r.length;l++)if(o[l]){for(let u=0;u<t.length;u++)if(!(s.has(u)||!e.sameNode(t[u],o[l]))){a[l]=u,s.add(u);break}}return a}function fa(e,t,r,n,i,o,a){t.forEach((s,l)=>{if(r===null){let u=n[l],m=u==null?"":String(u);e.text(s)!==m&&e.text(s,m)}else{let u=o(e,s,r,n[l],{depth:i.depth+1,path:[...i.path,l]},a);u&&u!==s&&(t[l]=u)}})}function pa(e,t,r,n){return r===null?e.text(t):Oe(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function xi(e,t,r){let n=e.children(t);for(let i=0;i<n.length;i++)if(e.sameNode(n[i],r))return i;return-1}function ga(e,t,r,n){if(!n.templateAttr)return null;let i=t;for(;i;){let o=e.find(i,r,{includeRulesTag:!1,templateAttr:null});for(let a of o)if(e.attr(a,n.templateAttr)!=null)return a;i=e.parent(i)}return null}function ba(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=e.children(r),i=[];for(let o of t){let a=n.findIndex(s=>e.sameNode(s,o));if(a===-1)return!1;i.push(a)}return i.sort((o,a)=>o-a),i[i.length-1]-i[0]===i.length-1}function ya(e,t,r,n,i){let o=null,a=i;for(let s=0;s<t.length;s++){if(!r[s]){o=t[s];continue}let l=o?e.parent(o):n;if(!l)continue;let u=o?xi(e,l,o)+1:a++;e.insertAt(l,t[s],u),o=t[s]}}var wi=new Set(["checked","selected","disabled","readOnly","paused"]);function Ze(e,t,r,n,i={}){if(Object.prototype.hasOwnProperty.call(i,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let o=[];if(Jr(r,n,[],o),o.length)throw new xt(o);Gt(e,t,r,n,{depth:0,path:[]},i)}function Gt(e,t,r,n,i,o={}){if(i.depth>Ye)throw new $e(i.path);if(n===void 0)return t;if(typeof r=="string")return ka(e,t,r,n,i,o);if(Array.isArray(r)){let[a,s]=r;return Yr(e,t,a,s,n,i,Gt,o),t}if(typeof r=="object"&&r!==null){for(let[a,s]of Object.entries(r)){let l=Gt(e,t,s,n==null?n:n[a],{depth:i.depth+1,path:[...i.path,a]},o);l&&l!==t&&(t=l)}return t}return t}function ka(e,t,r,n,i,o){if(r.endsWith("[]")){let l=r.slice(0,-2);return Yr(e,t,l,null,n,i,Gt,o),t}if(r.startsWith("@"))return Si(e,t,r.slice(1),n);let a=ae(r);if(a!==-1){let l=r.slice(0,a),u=r.slice(a+1),m=l?e.find(t,l,o):[t];return m.length===0||Si(e,m[0],u,n),t}if(r===".")return Ai(e,t,n),t;let s=e.find(t,r,o);return s.length===0||Ai(e,s[0],n),t}function Ai(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function Si(e,t,r,n){if(vt.has(r))throw new At(r);if(r==="outerHTML"){let o=n==null?"":String(n);return e.replaceWith(t,o)}if(ni.has(r)){let o=va(r,n);return e.prop(t,r)!==o&&e.prop(t,r,o),t}let i=n==null?"":String(n);return e.attr(t,r)!==i&&e.attr(t,r,i),t}function va(e,t){return t==null?wi.has(e)?!1:"":wi.has(e)?t==="false"?!1:!!t:t}function Jr(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((i,o)=>{typeof i=="object"&&i!==null&&n.push({path:Ct([...r,o]),expected:"scalar",got:Tt(i)})}):n.push({path:Ct(r),expected:"array",got:Tt(t)});return}t!==null&&typeof t=="object"&&n.push({path:Ct(r),expected:"scalar",got:Tt(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:Ct(r),expected:"array",got:Tt(t)});return}let i=e[1];t.forEach((o,a)=>Jr(i,o,[...r,a],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:Ct(r),expected:"object",got:Tt(t)});return}for(let[i,o]of Object.entries(e))Jr(o,t[i],[...r,i],n)}}}function Tt(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Ct(e){return e.join(".")}function Xr(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return _t(e,n,r)}return null}var fe={extract:(e,t,r={})=>Oe(Ae(e,r),e,t,r),apply:(e,t,r,n={})=>Ze(Ae(e,{...n,_write:!0}),e,t,r,n),findRulesIn:(e,t)=>_t(Je,e,t),findRules:(e,t)=>Xr(Je,e,t),bind:(e,t,r={})=>{let n=Xr(Je,e,t);if(!n){let i=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${i}`)}return{...n,get:()=>Oe(Ae(e,r),e,n.rules,r),set:i=>Ze(Ae(e,{...r,_write:!0}),e,n.rules,i,r)}},parseStrict:Kr,parseRelaxed:Xe,ruleAttrIndex:ae,splitRule:Ht,errors:Kt,DOM_PROPERTIES:Wt};var Qr={};qr(Qr,{fromString:()=>Se,getRuleAtPath:()=>Pe,getValueAtPath:()=>Ia,setAtPath:()=>Zr,toString:()=>La});function La(e){return e.map(String).join(".")}function Se(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function Pe(e,t){let r=e;for(let n of t){if(r==null)return;if(typeof r=="string"){if(r.endsWith("[]")&&(typeof n=="number"||n==="*")){r=r.slice(0,-2);continue}return}if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Ia(e,t){let r=e;for(let n of t){if(r==null)return;r=r[n]}return r}function Zr(e,t,r){if(t.length===0)return r;let[n,...i]=t;if(typeof n=="number"){let o=Array.isArray(e)?[...e]:[];return o[n]=Zr(o[n],i,r),o}return{...e&&typeof e=="object"?e:{},[n]:Zr((e||{})[n],i,r)}}function Ot(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[r,n]of Object.entries(e))t[r]=Ot(n);return t}return""}function Yt(e,t,{ignoreActiveValue:r=!0}={}){Hr.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:r,restoreFocus:!0,formStateSync:"property",policy:"raw"})}var _i=new WeakMap,en=e=>e.map(String).join(".");function ja(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Ti(e,t){if(!e||!e.querySelector)return null;let r=e.querySelector(`[data-hcms-path="${ja(t)}"]`),n=r&&r.querySelector(".hcms-array-items");return n?Array.from(n.children).filter(i=>i.matches&&i.matches("[data-hcms-card], [data-hcms-array-item]")):null}function Ci(e,t,r){let n=Ti(e,t);!n||n.length!==r.length||n.forEach((i,o)=>{r[o]&&_i.set(i,r[o])})}function Jt(){let e=new Map;return{hooks:{onRowsRead(t,r){e.set(en(t),r)}},seed(t){for(let[r,n]of e)Ci(t,r,n);e.clear()}}}function Oi(e){return{identifyRows(t,r){let n=Ti(e,en(t));return!n||n.length!==r.length?null:n.map(i=>_i.get(i)||null)},onRowsApplied(t,r){Ci(e,en(t),r)}}}var Ri={skip:"[data-hcms-shell]",templateAttr:"cms-template"},tn="data-hcms-rollback-ui",Fa=0;function Mi(e,t,r,n={}){return Da(e,t,r,n)}function Da(e,t,r,n){let{shellRoot:i,structural:o,structuralPath:a,formRoot:s}=n,l=s?{...Ri,...Oi(s)}:Ri;if(!o)try{return fe.apply(e,t,r,l),{ok:!0}}catch(c){return{ok:!1,error:c}}let u=qa(e,t,a),m=u?Pa(u):null,y=u?null:za(e,i);try{return fe.apply(e,t,r,l),{ok:!0}}catch(c){return m?Ba(u,m):y&&Ha(e,i,y),{ok:!1,error:c}}}function qa(e,t,r){if(!r||!e)return null;let n=Se(r),i=[],o=t;for(let a of n){if(typeof o=="string"||o==null||Array.isArray(o))break;if(typeof o=="object"&&a in o){if(i.push(a),o=o[a],Array.isArray(o)||typeof o=="string"&&o.endsWith("[]"))break}else return null}return!Array.isArray(o)&&!(typeof o=="string"&&o.endsWith("[]"))?null:$a(e,t,i)}function $a(e,t,r){if(r.length===0)return null;let n=e,i=t;for(let o=0;o<r.length;o++){let a=r[o];if(!i||typeof i!="object"||Array.isArray(i))return null;let s=i[a];if(s==null)return null;if(o===r.length-1){if(Array.isArray(s)){let[l]=s;return n.querySelector?.(l)?.parentElement||null}if(typeof s=="string"&&s.endsWith("[]")){let l=s.slice(0,-2);return n.querySelector?.(l)?.parentElement||null}return null}i=s}return null}function Pa(e){let t=[],r=[];for(let n of Array.from(e.childNodes))t.push(rn(n,r));return{nodes:t,retained:r}}function Ba(e,t){let r=e.cloneNode(!1);for(let n of t.nodes)r.appendChild(n);kt(e,Array.from(r.childNodes),Li()),Ni(e,t.retained)}function za(e,t){let r=[],n=[];for(let i of Array.from(e.childNodes))i===t||t&&i.contains?.(t)||r.push(rn(i,n));return{nodes:r,retained:n}}function Ha(e,t,r){let n=e.cloneNode(!1);for(let i of r.nodes)n.appendChild(i);kt(e,Array.from(n.childNodes),Li()),Ni(e,r.retained)}function rn(e,t){let r=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let o=String(++Fa);r.setAttribute(tn,o),t.push({id:o,node:e})}let n=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,i=r.nodeType===1&&r.tagName==="TEMPLATE"?r.content:r;for(let o of Array.from(n.childNodes||[]))i.appendChild(rn(o,t));return r}function Ni(e,t){for(let{id:r,node:n}of t){let i=e.querySelector(`[${tn}="${r}"]`);i===n?n.removeAttribute(tn):n.isConnected?i?.remove():i?.replaceWith(n)}}function Li(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function Zt(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var Ua='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',nn='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',Fi={"@scalar":`
1
+ var hypercms=(()=>{var Qo=Object.defineProperty;var _c=Object.getOwnPropertyDescriptor;var Cc=Object.getOwnPropertyNames;var Oc=Object.prototype.hasOwnProperty;var ei=(e,t)=>{for(var n in t)Qo(e,n,{get:t[n],enumerable:!0})},Nc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Cc(t))!Oc.call(e,o)&&o!==n&&Qo(e,o,{get:()=>t[o],enumerable:!(r=_c(t,o))||r.enumerable});return e};var Rc=e=>Nc(Qo({},"__esModule",{value:!0}),e);var Wh={};ei(Wh,{cms:()=>zh,default:()=>Vh});function St(e){let t=0,n=null,r=-1;for(let o=0;o<e.length;o++){let i=e[o];i==="\\"?o++:n?i===n&&(n=null):i==='"'||i==="'"?n=i:i==="["||i==="("?t++:i==="]"||i===")"?t>0&&t--:i==="@"&&t===0&&(r=o)}return r}function oo(e){let t=St(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function io(e,t){if(typeof e=="string"){let n=t&&t.defaultView,r=n&&n.DOMParser||globalThis.DOMParser;return new r().parseFromString(e,"text/html")}if(e&&e.nodeType===9)return e;throw new TypeError("expected an HTML string or a Document")}function ti(e){let t=new Map;return(n,r)=>{if(typeof r!="string")return io(r,e);let o=t.get(n);if(o&&o.text===r)return o.doc;let i=io(r,e);return t.set(n,{text:r,doc:i}),i}}function As(e,t){let n=t.doctype;if(!n)return!1;let r=e.doctype;if(r&&r.name===n.name&&r.publicId===n.publicId&&r.systemId===n.systemId)return!1;let o=e.implementation.createDocumentType(n.name,n.publicId,n.systemId);return r?e.replaceChild(o,r):e.insertBefore(o,e.documentElement),!0}function ni(e,t=[]){if(typeof e!="function")return()=>!1;let n=new WeakMap,r=new Set(t);return o=>{if(!o||o.nodeType!==1)return!1;let i=n.get(o);if(i!==void 0)return i;let s=[],l=o,a=!1;for(;l&&l.nodeType===1;){let h=n.get(l);if(h!==void 0){a=h;break}if(s.push(l),e(l,r.has(l))){a=!0;break}if(r.has(l))break;l=l.parentElement}for(let h of s)n.set(h,a);return a}}function ri(e,t){let n=new WeakMap;if(!e||!t||typeof t!="object"||Array.isArray(t))return n;let r=t["~"],o=typeof r=="string"?r.split(",").map(Number):null,i=o&&typeof t["^"]=="string"?t["^"].split(","):null,s=b=>Number.isInteger(b)&&b>=0,l=0,a=!1,h=b=>{let f=b;for(;f>0;){let u=o[l++];if(l>o.length||!s(u))return!1;f+=u-1}return!0},d=(b,f)=>{if(a)return;if(o){let p=l++,v=o[p];if(p>=o.length||!s(v)){a=!0;return}let A=!i||i[p]===b.tagName.toLowerCase();if(!A||v!==b.children.length){let M=A&&t[f];typeof M=="string"&&M&&n.set(b,M),h(v)||(a=!0);return}}let u=t[f];typeof u=="string"&&u&&n.set(b,u);let m=b.children;for(let p=0;p<m.length;p++)d(m[p],f===""?String(p):`${f}.${p}`)};return d(e,""),n}function Ss(e){return t=>{for(let n of e){let r=n(t);if(typeof r=="string"&&r!=="")return r}return null}}var In=Ss([e=>e.getAttribute("data-id"),e=>e.getAttribute("id")]);function so(e,t,n,r=null){let o=new Map,i=new Set,s=l=>{if(n(l))return;let a=t(l);a&&(o.has(a)?i.add(a):o.set(a,l))};if(r){let l=a=>{for(let h of a.querySelectorAll(r))s(h);for(let h of a.querySelectorAll("template"))h.content&&l(h.content)};s(e),l(e.tagName==="TEMPLATE"&&e.content?e.content:e)}else{let l=a=>{s(a);let h=a.tagName==="TEMPLATE"&&a.content?a.content.children:a.children;for(let d=0;d<h.length;d++)l(h[d])};l(e)}for(let l of i)o.delete(l),l.startsWith("merge:")&&console.warn(`[hyper-morph] merge disabled for duplicate identity "${l.slice(l.indexOf(":",6)+1)}"`);return o}var Lc=new Set(["href","src","name","type","role"]),Es=new Set(["SCRIPT","STYLE","TEXTAREA","TEMPLATE","IFRAME","OBJECT","CANVAS","VIDEO","AUDIO","svg","SVG"]);function Vn(e,t=5381){let n=t;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return n>>>0}function Ts(e){return e.replace(/\s+/g," ")}function _s({ignored:e=()=>!1,ignoreAttribute:t=()=>!1}={}){let n=new WeakMap,r=new WeakMap;function o(f){let u=f.attributes,m=u.length;if(m===0)return{all:"",sig:f.tagName+"|"};let p=[],v="",A=[];for(let M=0;M<m;M++){let L=u[M],H=L.name;t(f,H)||p.push(H+"="+L.value),H==="class"?v=L.value.indexOf(" ")<0?L.value:L.value.split(/\s+/).filter(Boolean).sort().join(" "):Lc.has(H)&&A.push(H+"="+L.value)}return p.length>1&&p.sort(),A.length>1&&A.sort(),{all:p.join(""),sig:f.tagName+"|"+v+(A.length?"|"+A.join("|"):"")}}function i(f){return f.nodeType===1&&f.tagName==="TEMPLATE"&&f.content?f.content.childNodes:f.childNodes}function s(f){let u=n.get(f);if(u)return u;if(f.nodeType===3)u={hash:"T"+Vn(f.nodeValue),hint:Ts(f.nodeValue).slice(0,64),sig:null,tok:null};else if(f.nodeType===8)u={hash:"C"+Vn(f.nodeValue),hint:"",sig:null,tok:null};else if(f.nodeType===1){let m=o(f),p=Vn(f.tagName+""+m.all),v="";for(let A of a(f))if(A.nodeType===1){let M=s(A);p=Vn(M.hash,p),v.length<64&&(v+=" "+M.hint)}else p=Vn(h(A),p),A.kind==="text"&&v.length<64&&(v+=A.value.slice(0,64));u={hash:"E"+p,hint:Ts(v).trim().slice(0,64),sig:m.sig,tok:null}}else u={hash:"N"+f.nodeType,hint:"",sig:null,tok:null};return n.set(f,u),u}function l(f){if(!f.tok){f.tok=new Set;for(let u of f.hint.toLowerCase().split(/[^\p{L}\p{N}]+/u))u&&f.tok.add(u)}return f.tok}function a(f){let u=r.get(f);if(u)return u;u=[];let m=null,p=()=>{m&&(m.value=m.nodes.map(v=>v.nodeValue).join(""),u.push(m),m=null)};for(let v of i(f)){if(v.nodeType===3){m||(m={kind:"text",nodes:[],value:"",parent:f,hash:void 0}),m.nodes.push(v);continue}p(),v.nodeType===8?u.push({kind:"comment",nodes:[v],value:v.nodeValue,parent:f,hash:void 0}):v.nodeType===1&&!e(v)&&u.push(v)}return p(),r.set(f,u),u}function h(f){return f.nodeType===1?s(f).hash:(f.hash===void 0&&(f.hash=(f.kind==="text"?"T":"C")+Vn(f.value)),f.hash)}function d(f,u){let m=l(s(f)),p=l(s(u));if(m.size===0&&p.size===0)return{coef:1,share:1};if(m.size===0||p.size===0)return null;let v=0;for(let A of m)p.has(A)&&v++;return{coef:v/Math.min(m.size,p.size),share:v/Math.max(m.size,p.size)}}function b(f,u){let m=d(f,u);return!!m&&m.coef>=.5}return{meta:s,unitsOf:a,unitHash:h,similar:b,score:d,childrenOf:i}}var Cs=16,Ic=2e3,jc=3,Dc={align:0};function oi(e,t,n){let{meta:r,unitsOf:o,unitHash:i,similar:s,score:l}=n.analyzer,a=n.baseId||(()=>null),h=n.sideId||(()=>null),d=new Map,b=new Map,f=new Set,u=new Map,m=new Set,p=new Set,v=new Set,A=[],M=[],L=[],H=[],B=Ic,te=new Map,re=new Map,K=(k,g)=>{d.set(k,g),b.set(g,k)},W=k=>!!k&&k.nodeType===1,he=(k,g)=>{let y=u.get(k);return!!y&&y.has(g)},V=k=>Es.has(k.tagName),xe=(k,g)=>{let y=a(k);if(!y)return!0;let O=h(g);return!O||y===O},We=globalThis.__hyperMorphProfile,at=We?performance.now():0;We&&(r(e),r(t),We.meta=(We.meta||0)+(performance.now()-at),at=performance.now()),K(e,t);for(let[k,g]of n.baseIndex){let y=n.sideIndex.get(k);y&&y.tagName===g.tagName&&!d.has(g)&&!b.has(y)&&K(g,y)}H.push([e,t]);for(let[k,g]of d)W(k)&&k!==e&&H.push([k,g]);return dt(),Nt(),We&&(We.align=(We.align||0)+(performance.now()-at)),{map:d,reverse:b,moved:m,identical:p,pairIdenticalChildren:G,weak:f,unpair:xt,rematch:Nt,insertedByHash:_e};function Nt(){ut(),dt();for(let k=0;k<L.length;){let g=L.length;nt(k,g),k=g,dt(),ut(),dt()}}function xt(k){let g=d.get(k);if(!g)return;u.has(k)||u.set(k,new Set),u.get(k).add(g);let y=(_,E)=>{d.delete(_),b.delete(E),m.delete(_),p.delete(_),f.delete(_),v.delete(_)},O=(_,E)=>{for(let I of o(_)){let N=d.get(I);!N||!(W(N)?E.contains(N):E.contains(N.nodes[0]))||(y(I,N),W(I)&&O(I,N))}};y(k,g),W(k)&&O(k,g),A.push(k),M.push(g)}function _e(){let k=new Map;for(let g of new Set(M)){if(b.has(g))continue;let y=r(g).hash;k.has(y)||k.set(y,[]),k.get(y).push(g)}return k}function dt(){for(;H.length;){let[k,g]=H.shift();v.has(k)||p.has(k)||Rt(k,g)}}function Ze(k,g){if(!V(k))for(let y of o(k))W(y)&&(g.push(y),Ze(y,g))}function Rt(k,g){v.add(k);let y=o(k),O=o(g);Dc.align+=y.length+O.length,te=new Map,re=new Map;for(let j=0;j<y.length;j++)te.set(y[j],j);for(let j=0;j<O.length;j++)re.set(O[j],j);if(k.tagName==="HTML")for(let j of["HEAD","BODY"]){let J=y.find(ce=>W(ce)&&ce.tagName===j),$=O.find(ce=>W(ce)&&ce.tagName===j);J&&$&&!d.has(J)&&!b.has($)&&K(J,$)}for(let j=0;j<y.length&&j<O.length;j++){let J=y[j],$=O[j];d.has(J)||b.has($)||(W(J)?W($)&&J.tagName===$.tagName&&J.isEqualNode($)&&C(J,$):!W($)&&J.kind===$.kind&&J.value===$.value&&C(J,$))}et(y,O);let _=y.filter(j=>!d.has(j)),E=O.filter(j=>!b.has(j));_.length&&E.length&&(ct(_,E),ye(_,E),se(_,E,y,O),Ve(y,O));let I=!1,N=!1;for(let j of y){if(!d.has(j)){W(j)&&(A.push(j),Ze(j,A),I=!0);continue}W(j)&&!p.has(j)&&H.push([j,d.get(j)])}for(let j of O)!b.has(j)&&W(j)&&(M.push(j),Ze(j,M),N=!0);I&&N&&L.push([k,g])}function nt(k,g){for(let y=k;y<g;y++){let[O,_]=L[y],E=o(O),I=o(_),N=new Map,j=new Map,J=null;for(let $ of E)W($)&&(d.has($)?J=$:(N.has(J)||N.set(J,[]),N.get(J).push($)));J=null;for(let $ of I)W($)&&(b.has($)?J=b.get($):(j.has(J)||j.set(J,[]),j.get(J).push($)));for(let[$,ce]of N){let ge=j.get($);if(!(!ge||ce.length!==ge.length)&&ce.every((ht,ft)=>ge[ft].tagName===ht.tagName&&xe(ht,ge[ft])&&!he(ht,ge[ft])))for(let ht=0;ht<ce.length;ht++)Qe(ce[ht],ge[ht])}}}function Qe(k,g){K(k,g),f.add(k),H.push([k,g]),dt()}function ct(k,g){let y=Wn(k,i),O=Wn(g,i),_=new Map;for(let E of g){let I=i(E);O.get(I)===1&&_.set(I,E)}for(let E of k){if(d.has(E))continue;let I=i(E);if(y.get(I)!==1)continue;let N=_.get(I);N&&!b.has(N)&&C(E,N)}}function C(k,g){K(k,g),p.add(k),W(k)&&v.add(k)}function G(k){let g=d.get(k);if(!g||!W(k))return;let y=o(k),O=o(g);for(let _=0;_<y.length&&_<O.length;_++)d.has(y[_])||C(y[_],O[_])}function ye(k,g){let y=I=>W(I)&&!V(I)?r(I).sig+""+r(I).hint:null,O=Wn(k,y),_=Wn(g,y),E=new Map;for(let I of g){let N=y(I);N!=null&&_.get(N)===1&&E.set(N,I)}for(let I of k){if(d.has(I))continue;let N=y(I);if(N==null||O.get(N)!==1)continue;let j=E.get(N);j&&!b.has(j)&&xe(I,j)&&K(I,j)}}function se(k,g,y,O){let _=new Map;for(let I of g){if(!W(I)||b.has(I)||V(I))continue;let N=r(I).sig;_.has(N)||_.set(N,[]),_.get(N).push({el:I,index:re.get(I)})}let E=[];for(let I of k){if(d.has(I)||!W(I)||V(I))continue;let N=_.get(r(I).sig);if(!N||!N.length)continue;let j=te.get(I),J=N.filter($=>!b.has($.el)).map($=>({c:$,d:Math.abs($.index-j)}));J.sort(($,ce)=>$.d-ce.d),J.length>Cs&&(J=J.slice(0,Cs));for(let{c:$,d:ce}of J){if(!xe(I,$.el))continue;let ge=l(I,$.el);ge&&ge.coef>=.5&&E.push({b:I,s:$.el,coef:ge.coef,share:ge.share,d:ce,bi:j})}}E.sort((I,N)=>N.coef-I.coef||N.share-I.share||I.d-N.d||I.bi-N.bi);for(let I of E)!d.has(I.b)&&!b.has(I.s)&&K(I.b,I.s)}function Ce(k,g){return W(k)!==W(g)?!1:W(k)?k.tagName!==g.tagName||!xe(k,g)?!1:V(k)||r(k).hint===""||r(g).hint===""?!0:s(k,g):k.kind===g.kind}function rt(k,g){let y=(_,E)=>{let I=E===null?-1:_===g?re.get(E):te.get(E),N=_[I+1];return N&&!W(N)?N:null},O=null;for(let _ of k){if(W(_)){O=_;continue}if(d.has(_))continue;let E=O===null?null:d.get(O);if(O!==null&&!E)continue;let I=y(g,E);I&&!b.has(I)&&I.kind===_.kind&&K(_,I)}}function Ve(k,g){rt(k,g);let y=Ke(k,g),O=(E,I)=>W(E)&&r(E).hint!==""&&r(I).hint===""&&!!I.querySelector("br")&&!y(E,I),_=0;for(let E of k){if(d.has(E)){let N=re.get(d.get(E));N!==void 0&&N>=_&&(_=N+1);continue}let I=0;for(let N=_;N<g.length&&I<jc;N++){let j=g[N];if(!b.has(j)&&(I++,Ce(E,j)&&!he(E,j)&&!O(E,j))){K(E,j),W(E)&&(r(E).hint===""||r(j).hint==="")&&f.add(E),_=N+1;break}}}et(k,g)}function Ke(k,g){let y=(O,_,E)=>{for(let I=_-1;I>=0;I--)if(W(O[I])&&E(O[I]))return O[I];return null};return(O,_)=>{let E=te.get(O),I=re.get(_);if(E===I)return!0;let N=y(k,E,J=>d.has(J)),j=y(g,I,J=>b.has(J));return N?d.get(N)===j:!j}}function et(k,g){let y=k.filter(N=>W(N)&&!d.has(N)),O=g.filter(N=>W(N)&&!b.has(N));if(!y.length||!O.length)return;let _=Wn(y,N=>N.tagName),E=Wn(O,N=>N.tagName),I=Ke(k,g);for(let N of y){let j=N.tagName;if(_.get(j)!==1||E.get(j)!==1)continue;let J=O.find($=>$.tagName===j);J&&!b.has(J)&&I(N,J)&&xe(N,J)&&!he(N,J)&&(K(N,J),f.add(N))}}function ut(){let k=new Map;for(let N of f)if(W(N)&&W(d.get(N))){let j=r(N).hash;k.has(j)||k.set(j,[]),k.get(j).push(N)}if(k.size)for(let N of M){if(b.has(N)||!W(N))continue;let j=k.get(r(N).hash),J=j&&j.find($=>f.has($)&&!he($,N)&&xe($,N));J&&(xt(J),C(J,N),m.add(J))}let g=new Map,y=new Map,O=new Map;for(let N of f){let j=d.get(N);W(N)&&W(j)&&O.set(j,N)}let _=(N,j)=>{if(!b.has(N))return!0;let J=O.get(N);return J===b.get(N)&&J!==j&&!J.contains(j)},E=N=>{if(b.has(N)){let j=O.get(N);O.delete(N),xt(j)}};for(let N of[...M,...O.keys()]){if(b.has(N)&&!O.has(N))continue;let j=r(N).hash;if(g.has(j)||g.set(j,[]),g.get(j).push(N),V(N))continue;let J=r(N).sig;y.has(J)||y.set(J,[]),y.get(J).push(N)}let I=new Set;for(let N of f){let j=d.get(N);!W(N)||!W(j)||V(N)||r(N).hint===""||r(j).hint===""||s(N,j)||I.add(N)}for(let N of[...A,...I]){let j=d.get(N);if(j&&!(f.has(N)&&I.has(N)))continue;let J=ft=>{j&&xt(N),E(ft)},$=g.get(r(N).hash);if($){let ft=$.find(ue=>ue!==j&&_(ue,N)&&!he(N,ue));if(ft){J(ft),C(N,ft),m.add(N);continue}}if(V(N)||B<=0)continue;let ce=y.get(r(N).sig);if(!ce)continue;let ge=null,ht=0;for(let ft of ce)if(!(ft===j||!_(ft,N)||!xe(N,ft)||he(N,ft))&&(B--<=0||s(N,ft)&&(ht++,ge=ft,ht>1)))break;ht===1&&(J(ge),K(N,ge),m.add(N),H.push([N,ge]))}}}function Wn(e,t){let n=new Map;for(let r of e){let o=t(r);o!=null&&n.set(o,(n.get(o)||0)+1)}return n}var Pc={diff:0},Os=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"word"}):null,Fc=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}]/u,qc=/[\p{L}\p{M}\p{N}_'’]+|\s+|[\s\S]/gu,Bc=/\P{M}\p{M}*/gu;function ci(e){if(e==="")return[];if(Os){let n=[];for(let r of Os.segment(e))n.push(r.segment);return n}let t=[];for(let n of e.match(qc))if(Fc.test(n))for(let r of n.match(Bc))t.push(r);else t.push(n);return t}var Hc=/^[  ]+$/,$c=e=>Hc.test(e)?" ".repeat(e.length):e,Sr=e=>typeof e.k=="string"&&/^\s+$/.test(e.k),it="",Ns=e=>e.every(t=>Sr(t)||t.k===it),Uc=/^[\x00-\x7f\u00A0]*$/,zc=/[A-Za-z0-9_']+|[ \u00A0]+|\s|./g;function Vc(e){return e===""?[]:e.match(zc)}function jn(e,t=!1){return(t?Vc(e):ci(e)).map(n=>({k:$c(n),raw:n,len:n.length}))}var lo=(...e)=>e.every(t=>Uc.test(t));function ii(e,t,n){let r=e.length,o=t.length,i=Math.min(r+o,n),s=i+1,l=new Int32Array(2*i+3),a=[],h=r===0&&o===0;for(let u=0;u<=i&&!h;u++){a.push(l.slice(s-u,s+u+1));for(let m=-u;m<=u;m+=2){let p;m===-u||m!==u&&l[s+m-1]<l[s+m+1]?p=l[s+m+1]:p=l[s+m-1]+1;let v=p-m,A=p;for(;p<r&&v<o&&e[p].k===t[v].k;)p++,v++;if(Pc.diff+=1+p-A,l[s+m]=p,p>=r&&v>=o){h=!0;break}}}if(!h)return null;let d=[],b=r,f=o;for(let u=a.length-1;u>0;u--){let m=a[u],p=b-f,v=p+u,A=p===-u||p!==u&&m[v-1]<m[v+1]?p+1:p-1,M=m[A+u],L=M-A;for(;b>M&&f>L;)d.push([0,b-1,f-1]),b--,f--;b===M?(d.push([1,b,f-1]),f--):(d.push([-1,b-1,f]),b--)}for(;b>0&&f>0;)d.push([0,b-1,f-1]),b--,f--;return d.reverse(),d}function Wc(e,t,n){let r=b=>b.k===it;if(!e.some(r)&&!t.some(r))return ii(e,t,n);let o=[],i=[];for(let b=0;b<e.length;b++)r(e[b])||o.push(b);for(let b=0;b<t.length;b++)r(t[b])||i.push(b);let s=ii(o.map(b=>e[b]),i.map(b=>t[b]),n);if(!s)return null;let l=[],a=0,h=0,d=(b,f)=>{for(;a<b&&h<f&&e[a].k===t[h].k;)l.push([0,a++,h++]);let u=ii(e.slice(a,b),t.slice(h,f),n);if(!u)return!1;for(let[m,p,v]of u)l.push([m,p+a,v+h]);return a=b,h=f,!0};for(let[b,f,u]of s)if(b===0){if(!d(o[f],i[u]))return null;l.push([0,a,h]),a++,h++}return d(e.length,t.length)?l:null}function Kn(e,t,n=4e3){let r=[],o=0;for(;o<e.length&&o<t.length&&e[o].k===t[o].k;)e[o].raw!==t[o].raw&&r.push({bi:o,tok:t[o]}),o++;let i=0;for(;i<e.length-o&&i<t.length-o&&e[e.length-1-i].k===t[t.length-1-i].k;)e[e.length-1-i].raw!==t[t.length-1-i].raw&&r.push({bi:e.length-1-i,tok:t[t.length-1-i]}),i++;let s=e.slice(o,e.length-i),l=t.slice(o,t.length-i),a=Zc(s,l)?null:Wc(s,l,n);if(!a){let A=s.length||l.length?[{bs:o,be:o+s.length,toks:l}]:[];return{hunks:A,cosmetic:r,coarse:!0,parts:A.map(M=>({...M,gap:[],group:0})),cosmeticEq:r}}let h=[],d=(A,M)=>{s[A].raw!==l[M].raw&&r.push({bi:o+A,tok:l[M]})},b=null,f=[],u=0,m=0,p=()=>{b&&h.push(b),b=null;for(let[A,M]of f)d(A,M);f=[],u++};for(let[A,M,L]of a){if(A===0){b&&Sr(s[M])&&!s[M].k.includes(`
2
+ `)?f.push([M,L]):(p(),d(M,L)),m=M+1;continue}(!b||f.length)&&(b&&h.push(b),b={bs:o+m,be:o+m,toks:[],gap:f.map(([H,B])=>({bi:o+H,tok:l[B]})),group:u},f=[]),A===-1?(b.be=o+m+1,m=M+1):b.toks.push(l[L])}p(),Kc(h,e);let v=li(h);return{hunks:v.hunks,cosmetic:r.concat(v.cosmetic),parts:h,cosmeticEq:r}}function Kc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.gap.length)continue;let o=n+1<e.length?e[n+1].bs:1/0;if(r.toks.length){if(r.bs===r.be)for(;r.bs+1<o&&r.bs<t.length&&r.toks[0].k===it&&t[r.bs].k===it;)r.toks=[...r.toks.slice(1),r.toks[0]],r.bs++,r.be++}else for(;r.be+1<o&&r.be<t.length&&t[r.bs].k===it&&t[r.be].k===it;)r.bs++,r.be++}}function li(e,t=()=>!1){let n=[],r=[],o=null,i=-1;for(let s of e){let l=t(s);if(o&&!o.alone&&!l&&s.group===i){o.be=s.be;for(let a of s.gap)o.toks.push(a.tok);for(let a of s.toks)o.toks.push(a);continue}o&&n.push({bs:o.bs,be:o.be,toks:o.toks});for(let a of s.gap)r.push(a);o={bs:s.bs,be:s.be,toks:s.toks.slice(),alone:l},i=s.group}return o&&n.push({bs:o.bs,be:o.be,toks:o.toks}),{hunks:n,cosmetic:r}}var Gc=(e,t)=>e.bs===t.bs&&e.be===t.be&&fi(e.toks,t.toks);function ui(e,t,n){let r=d=>b=>d.some(f=>Gc(b,f)),o=li(e.parts,r(t.parts)),i=li(t.parts,r(e.parts)),s=e.cosmeticEq.concat(o.cosmetic),l=t.cosmeticEq.concat(i.cosmetic),[a,h]=n?Yc(o.hunks,i.hunks,n,s,l):[o.hunks,i.hunks];return{lh:a,rh:h,cosL:s,cosR:l}}function Yc(e,t,n,r,o){let i=(u,m)=>u.k===m.k&&u.raw===m.raw,s=[{list:e.map(u=>({...u})),resp:new Set(r.map(u=>u.bi))},{list:t.map(u=>({...u})),resp:new Set(o.map(u=>u.bi))}],l=u=>u.bs===u.be,a=(u,m,p,v)=>{let A=u.list[m];if(!l(A))return v(A)===p?A.toks:null;let M=m?u.list[m-1].be:0,L=m+1<u.list.length?u.list[m+1].bs:n.length;if(p<M||p>L)return null;let H=A.toks,B=A.bs;for(;B>p;){let te=H[H.length-1];if(!i(te,n[B-1])||u.resp.has(B-1))return null;H=[te,...H.slice(0,-1)],B--}for(;B<p;){if(!i(H[0],n[B])||u.resp.has(B))return null;H=[...H.slice(1),H[0]],B++}return H},h=(u,m,p,v,A,M)=>{let L=u.list[m],H=A?p.slice(p.length-v):p.slice(0,v),B=A?p.slice(0,p.length-v):p.slice(v),te={bs:M,be:M,toks:H};if(l(L)){if(!B.length){u.list[m]=te;return}let K={bs:M,be:M,toks:B};A&&(K.lead=!0),u.list.splice(m,1,...A?[K,te]:[te,K]);return}let re={bs:L.bs,be:L.be,toks:B};u.list.splice(m,1,...A?[re,te]:[te,re])},d=(u,m,p,v,A)=>{let M=u.list[m],L=A?p.slice(p.length-v):p.slice(0,v),H=A?p.slice(0,p.length-v):p.slice(v),B={bs:M.bs,be:M.be,toks:L};if(!H.length){u.list[m]=B;return}let te=A?{bs:M.bs,be:M.bs,toks:H,lead:!0}:{bs:M.be,be:M.be,toks:H};u.list.splice(m,1,...A?[te,B]:[B,te])},b=s[0],f=s[1];for(let u=0;u<64;u++){let m=!1;e:for(let p=0;p<b.list.length;p++)for(let v=0;v<f.list.length;v++){let A=b.list[p],M=f.list[v];if(!(A.bs===M.bs&&A.be===M.be&&fi(A.toks,M.toks)))for(let L of[!0,!1]){let H=te=>L?te.be:te.bs,B=l(A)?[H(M),A.bs]:[H(A)];for(let te of B){let re=a(b,p,te,H),K=re&&a(f,v,te,H);if(!K)continue;let W=(at,Nt)=>L?at[at.length-1-Nt]:at[Nt],he=0;for(;he<re.length&&he<K.length&&W(re,he).k===W(K,he).k;)he++;if(!he)continue;let V=L?re.slice(0,re.length-he):re.slice(he),xe=L?K.slice(0,K.length-he):K.slice(he);if(!(he<re.length&&he<K.length&&!Ns(V)&&!Ns(xe)&&(l(A)&&l(M)||A.bs===M.bs&&A.be===M.be)||!(L?re.slice(re.length-he):re.slice(0,he)).some(at=>!Sr(at)))){if(he===re.length&&he===K.length&&l(A)&&l(M)){if(A.bs===te&&M.bs===te)continue;b.list[p]={bs:te,be:te,toks:re},f.list[v]={bs:te,be:te,toks:K}}else!l(A)&&A.bs===M.bs&&A.be===M.be?(d(b,p,re,he,L),d(f,v,K,he,L)):(h(b,p,re,he,L,te),h(f,v,K,he,L,te));m=!0;break e}}}}if(!m)break}return[b.list,f.list]}var Xc=48,Jc=.3;function Zc(e,t){let n=e.filter(s=>!Sr(s)),r=t.filter(s=>!Sr(s));if(Math.min(n.length,r.length)<Xc)return!1;let o=new Map;for(let s of n)o.set(s.k,(o.get(s.k)||0)+1);let i=0;for(let s of r){let l=o.get(s.k);l>0&&(i++,o.set(s.k,l-1))}return i/Math.min(n.length,r.length)<Jc}var Qc=(e,t)=>{let n=new Set;for(let r of e.toks)typeof r.k!="string"&&n.add(r.k.el);for(let r=e.bs;r<e.be;r++)typeof t[r].k!="string"&&n.add(t[r].k.el);return n},fi=(e,t)=>e.length===t.length&&e.every((n,r)=>n.k===t[r].k);function Rs(e,t,n,r="remote"){let o=Kn(e,t),i=Kn(e,n),{lh:s,rh:l,cosL:a,cosR:h}=ui(o,i,e),d=C=>C.bs===C.be,b=C=>C.toks.some(G=>typeof G.k=="string"),f=C=>d(C)&&!b(C),u=(C,G)=>G.bs<C.be&&C.bs<G.be,m=(C,G)=>!u(C,G)&&G.bs<=C.be&&C.bs<=G.be&&(d(C)&&b(C)||d(G)&&b(G))&&!(d(C)&&d(G)),p=(C,G)=>C.bs===G.bs&&C.be===G.be&&fi(C.toks,G.toks),v=[],A=new Set;for(let C of s){let G=l.find(ye=>!A.has(ye)&&p(C,ye));G?(A.add(G),v.push({bs:C.bs,be:C.be,side:"both",l:C,r:G,toks:C.toks})):v.push({bs:C.bs,be:C.be,side:"L",l:C,toks:C.toks,lead:!!C.lead})}for(let C of l)A.has(C)||v.push({bs:C.bs,be:C.be,side:"R",r:C,toks:C.toks,lead:!!C.lead});v.sort((C,G)=>C.bs-G.bs||C.be-G.be||G.lead-C.lead);let M=0,L=0;for(let C of v)C.side==="both"&&(M+=C.toks.length-(C.be-C.bs));let H=v.map((C,G)=>G),B=C=>H[C]===C?C:H[C]=B(H[C]),te=(C,G)=>(C=B(C),G=B(G),C===G?!1:(H[C]=G,!0)),re=v.map(C=>Qc({bs:C.bs,be:C.be,toks:C.toks},e)),K={L:new Map,R:new Map};v.forEach((C,G)=>{let ye=C.side==="both"?["L","R"]:[C.side];for(let se of ye)for(let Ce of re[G])K[se].has(Ce)||K[se].set(Ce,[]),K[se].get(Ce).push(G)});for(let C of[K.L,K.R])for(let G of C.values())for(let ye=1;ye<G.length;ye++)te(G[0],G[ye]);for(let C=0;C<v.length;C++)for(let G=C+1;G<v.length;G++){let ye=v[C],se=v[G];ye.side===se.side&&ye.side!=="both"||ye.bs>se.be||(u(ye,se)||m(ye,se)?te(C,G):ye.bs===se.bs&&d(ye)&&d(se)&&L++)}let W=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="close"&&Ce.k.el===G.el))return se.bs;for(let se=0;se<e.length;se++)if(e[se].kind==="close"&&e[se].k.el===G.el)return se;return-1};v.forEach((C,G)=>{if(!(!f(C)||C.side==="both"))for(let ye of C.toks){if(ye.kind!=="open")continue;let se=W(C.side,ye.k);if(se<=C.bs)continue;let Ce=new Uint8Array(se-C.bs),rt=[];if(v.forEach((Ve,Ke)=>{if(!(Ve.side===C.side||d(Ve))&&Ve.bs<se&&Ve.be>C.bs){rt.push(Ke);for(let et=Math.max(Ve.bs,C.bs);et<Math.min(Ve.be,se);et++)Ce[et-C.bs]=1}}),rt.length&&Ce.every(Ve=>Ve===1))for(let Ve of rt)te(G,Ve)}});let he=!0;for(;he;){he=!1;let C=new Map;v.forEach((G,ye)=>{let se=B(ye),Ce=C.get(se)||{bs:G.bs,be:G.be,L:!1,R:!1};Ce.bs=Math.min(Ce.bs,G.bs),Ce.be=Math.max(Ce.be,G.be),G.side!=="R"&&(Ce.L=!0),G.side!=="L"&&(Ce.R=!0),C.set(se,Ce)}),v.forEach((G,ye)=>{for(let[se,Ce]of C){if(B(ye)===B(se)||!(Ce.L&&Ce.R))continue;let rt=G.bs<Ce.be&&G.be>Ce.bs,Ve=d(G)&&b(G)&&(G.bs===Ce.be||G.bs===Ce.bs);(rt||Ve)&&te(ye,se)&&(he=!0)}})}let V=new Map;v.forEach((C,G)=>{let ye=B(G);V.has(ye)||V.set(ye,[]),V.get(ye).push(C)});let xe=[];for(let C of V.values()){let G=C.some(se=>se.side==="L"),ye=C.some(se=>se.side==="R");if(G&&ye){let se=Math.min(...C.map(Ke=>Ke.bs)),Ce=Math.max(...C.map(Ke=>Ke.be)),rt=C.filter(Ke=>Ke.side!=="R").map(Ke=>Ke.l).sort((Ke,et)=>Ke.bs-et.bs),Ve=C.filter(Ke=>Ke.side!=="L").map(Ke=>Ke.r).sort((Ke,et)=>Ke.bs-et.bs);xe.push({bs:se,be:Ce,kind:"conflict",localHunks:rt,remoteHunks:Ve})}else for(let se of C)xe.push({bs:se.bs,be:se.be,kind:se.side,u:se})}let We=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="close"&&Ce.k.el===G.el))return se.bs+.5;for(let se=0;se<e.length;se++)if(e[se].kind==="close"&&e[se].k.el===G.el)return se;return 1/0},at=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="open"&&Ce.k.el===G.el))return se.bs-.5;for(let se=0;se<e.length;se++)if(e[se].kind==="open"&&e[se].k.el===G.el)return se;return-1/0},Nt=C=>C.kind==="R"?"R":"L",xt=C=>C.kind==="R"?1:0;xe.sort((C,G)=>{if(C.bs!==G.bs)return C.bs-G.bs;let ye=C.bs===C.be,se=G.bs===G.be;if(ye!==se)return ye?-1:1;if(ye&&se&&C.kind!=="conflict"&&G.kind!=="conflict"){let rt=C.u.toks,Ve=G.u.toks,Ke=ut=>ut.length&&ut.every(k=>k.kind==="open"),et=ut=>ut.length&&ut.every(k=>k.kind==="close");if(Ke(rt)&&Ke(Ve)){let ut=Math.max(...rt.map(g=>We(Nt(C),g.k))),k=Math.max(...Ve.map(g=>We(Nt(G),g.k)));if(ut!==k)return k-ut}if(et(rt)&&et(Ve)){let ut=Math.min(...rt.map(g=>at(Nt(C),g.k))),k=Math.min(...Ve.map(g=>at(Nt(G),g.k)));return ut!==k?k-ut:xt(G)-xt(C)}}let Ce=rt=>rt.u&&rt.u.lead?1:0;return Ce(G)-Ce(C)||xt(C)-xt(G)||C.be-G.be});let _e=[],dt=[],Ze=0,Rt=C=>{C>Ze&&(_e.push({bs:Ze,be:C,toks:e.slice(Ze,C),source:"base"}),Ze=C)};for(let C of xe){if(Rt(C.bs),C.kind==="conflict"){let G=ai(e,C.localHunks,C.bs,C.be),ye=ai(e,C.remoteHunks,C.bs,C.be),se=r==="local"?G:r==="both"?G.concat(ye):ye;dt.push({bs:C.bs,be:C.be,base:e.slice(C.bs,C.be),local:G,remote:ye,resolved:se}),_e.push({bs:C.bs,be:C.be,toks:se,source:"conflict",localHunks:C.localHunks,localToks:G,keepsLocal:r!=="remote"})}else _e.push({bs:C.bs,be:C.be,toks:C.u.toks,source:C.kind==="R"?"remote":"local",localHunks:C.kind==="R"?[]:[C.u.l]});Ze=Math.max(Ze,C.be)}Rt(e.length);let nt=new Map(a.map(C=>[C.bi,C.tok])),Qe=new Map(h.map(C=>[C.bi,C.tok])),ct=[];for(let C of _e){C.source==="base"&&(C.toks=C.toks.map((G,ye)=>{let se=C.bs+ye,Ce=nt.get(se),rt=Qe.get(se),Ve=Ce&&rt?r==="remote"?rt:Ce:Ce||rt||G;return Ve===G?G:{...Ve,cosmetic:!0}}));for(let G of C.toks)ct.push({...G,src:C.source})}return{tokens:ct,segments:_e,conflicts:dt,localHunks:s,remoteHunks:l,collapsedDelta:M,samePoint:L,mapLocalOffset:eu(e,s,_e)}}function ai(e,t,n,r){let o=[],i=n;for(let s of t)o=o.concat(e.slice(i,s.bs),s.toks),i=s.be;return o.concat(e.slice(i,r))}var si=e=>e.reduce((t,n)=>t+n.len,0);function eu(e,t,n){let r=new Int32Array(e.length+1);for(let s=0;s<e.length;s++)r[s+1]=r[s]+e[s].len;let o=t.map(s=>({bs:r[s.bs],be:r[s.be],text:s.toks.map(l=>l.raw).join(""),ref:s})),i=n.map(s=>({bs:r[s.bs],be:r[s.be],len:si(s.toks),source:s.source,localHunks:s.localHunks||[],localLen:s.localToks?si(s.localToks):0,keepsLocal:s.keepsLocal,ref:s}));return s=>{let l=null,a=null,h=0,d=0,b=0;for(let u of o){let m=u.bs-b;if(s<=d+m){l=b+(s-d);break}if(d+=m,b=u.bs,s<=d+u.text.length){a=u,h=s-d,l=u.bs;break}d+=u.text.length,b=u.be}l===null&&(l=b+(s-d));let f=0;for(let u of i){if(!a&&l<=u.bs)return f;if(!(a?u.localHunks.includes(a.ref):l<u.be)){f+=u.len;continue}if(u.source==="base")return f+(l-u.bs);if(u.source==="remote")return f+u.len;if(u.source==="local")return f+Math.min(h,u.len);if(!u.keepsLocal||!a)return f+u.len;let p=u.localHunks.indexOf(a.ref),v=si(ai(e,u.localHunks.slice(0,p),u.ref.bs,a.ref.bs));return f+Math.min(v+h,u.localLen)}return f}}function Tr(e,t,n,r="remote"){if(t===n||n===e)return{text:t,conflicts:[],mapLocalOffset:u=>Math.min(u,t.length),granularity:"word"};let o=lo(e,t,n),i=jn(e,o),s=jn(t,o),l=jn(n,o),a=i.length<=2e4&&s.length<=2e4&&l.length<=2e4?Rs(i,s,l,r):null,h="word",d=i;if(!a){let u=m=>m.split(/(?<=\n)/).map(p=>({k:p,raw:p,len:p.length}));d=u(e),a=Rs(d,u(t),u(n),r),h="line"}let b=u=>u.map(m=>m.raw).join(""),f=[0];for(let u of d)f.push(f[f.length-1]+u.len);return{text:b(a.tokens),conflicts:a.conflicts.map(u=>({bs:f[u.bs],be:f[u.be],base:b(u.base),local:b(u.local),remote:b(u.remote),resolved:b(u.resolved)})),mapLocalOffset:a.mapLocalOffset,granularity:h}}function Er(e,t,n=4e3){if(e===t)return[];let r=lo(e,t),o=jn(e,r),i=jn(t,r),s=Kn(o,i,n),l=[0];for(let a of o)l.push(l[l.length-1]+a.len);return s.hunks.map(a=>({bs:l[a.bs],be:l[a.be],text:a.toks.map(h=>h.raw).join("")}))}var Yn="\uFFFC";var tu={caret:0},mn=new Set("A ABBR B BDI BDO CITE CODE DATA DEL DFN EM FONT I INS KBD MARK Q S SAMP SMALL SPAN STRIKE STRONG SUB SUP TIME TT U VAR".split(" ")),Ps=new Set(["BR","WBR","IMG"]),nu=new Set("ADDRESS ARTICLE ASIDE AUDIO BLOCKQUOTE BODY CANVAS CAPTION CENTER COL COLGROUP DD DETAILS DIALOG DIR DIV DL DT FIELDSET FIGCAPTION FIGURE FOOTER FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HEADER HGROUP HR HTML IFRAME LEGEND LI MAIN MATH MENU NAV NOSCRIPT OBJECT OL OPTGROUP OPTION P PRE SCRIPT SECTION SELECT STYLE SUMMARY SVG TABLE TBODY TD TEMPLATE TEXTAREA TFOOT TH THEAD TITLE TR UL VIDEO".split(" "));function Dn(e,t={}){if(e.nodeType===3)return!0;if(e.nodeType!==1)return!1;if(t.ignored&&t.ignored(e)||Ps.has(e.tagName))return!0;if(!mn.has(e.tagName))return!nu.has(e.tagName);if(t.remoteWins&&t.remoteWins(e))return!1;let n=t.inlineCache&&t.inlineCache.get(e);if(n!==void 0)return n;let r=!0;for(let o of e.childNodes)if(!Dn(o,t)){r=!1;break}return t.inlineCache&&t.inlineCache.set(e,r),r}function ru(e){return!e.firstChild||e.textContent===""&&!e.querySelector("br,img,wbr")}function _r(e,t={}){let n={text:"",marks:[],atoms:[],nodes:[],stackAt:[],pins:[],placeholder:null},r=(o,i)=>{for(let s of o){if(s.nodeType===3){let d=s.nodeValue;if(!d)continue;n.nodes.push({node:s,s:n.text.length,e:n.text.length+d.length}),n.text+=d;for(let b=0;b<d.length;b++)n.stackAt.push(i);continue}if(s.nodeType!==1)continue;if(t.ignored&&t.ignored(s)){n.pins.push({el:s,i:n.text.length});continue}if(t.skip&&t.skip.has(s))continue;let l=s.tagName;if(t.blocks&&t.blocks.has(s)){n.text.length&&n.text[n.text.length-1]!==it&&(n.stackAt.push(i),n.text+=it);let d={el:s,tag:l,from:n.text.length,to:-1,depth:i.length,block:!0};n.marks.push(d);let b=i.concat([d]);r(s.childNodes,b),n.stackAt.push(b),n.text+=it,d.to=n.text.length;continue}let a=mn.has(l)&&ru(s);if(Ps.has(l)||!mn.has(l)||t.remoteWins&&t.remoteWins(s)||t.atomize&&t.atomize(s)||a){n.atoms.push({i:n.text.length,el:s,key:a?l+":empty":l,stack:i}),n.stackAt.push(i),n.text+=Yn;continue}let h={el:s,tag:l,from:n.text.length,to:-1,depth:i.length};n.marks.push(h),r(s.childNodes,i.concat([h])),h.to=n.text.length}};if(r(e,[]),n.atoms.length===1&&n.atoms[0].el.tagName==="BR"&&n.marks.length===0&&ao(n).trim()===""){let o=n.atoms[0];n.placeholder=o.el,n.text=n.text.slice(0,o.i)+n.text.slice(o.i+1),n.stackAt.splice(o.i,1);for(let i of n.nodes)i.s>o.i&&(i.s--,i.e--);n.atoms=[]}return n.atomAt=new Map(n.atoms.map(o=>[o.i,o])),n}function ou(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g,"&nbsp;")}function iu(e){let t="<"+e.tagName.toLowerCase();for(let n of e.attributes)t+=` ${n.name}="${n.value.replace(/"/g,"&quot;")}"`;return t+">"}function hi(e,t,n){let r="",o=[];for(let i=t;i<n;i++){let s=e.stackAt[i],l=0;for(;l<o.length&&l<s.length&&o[l]===s[l];)l++;for(;o.length>l;)r+=`</${o.pop().tag.toLowerCase()}>`;for(;o.length<s.length;){let h=s[o.length];r+=iu(h.el),o.push(h)}let a=e.atomAt.get(i);r+=a?a.el.outerHTML:e.text[i]===it?"":ou(e.text[i])}for(;o.length;)r+=`</${o.pop().tag.toLowerCase()}>`;return r}function su(e,t){let n=[...e.el.attributes].filter(r=>!t(e.el,r.name)).map(r=>r.name+"="+r.value).sort().join("");return e.tag+"|"+n}function Fs(e,t){let n=[...e.attributes].filter(r=>!t(e,r.name)).map(r=>r.name+"="+r.value).sort().join("");return e.tagName+"|"+n+"|"+e.innerHTML}function Ms(e,t=()=>!1){let n=new Map,r=i=>{let s=n.get(i);return s===void 0&&(s="{"+i.map(l=>su(l,t)).sort().join(",")+"}",n.set(i,s)),s},o="";for(let i=0;i<e.text.length;i++){let s=e.atomAt.get(i);o+=(s?"["+Fs(s.el,t)+"]":e.text[i])+r(e.stackAt[i])}return e.text.length===0&&e.placeholder&&(o+="[br]"),o}function Gn(e,t,n,r=o=>o.key){let o=[],i=e.text,s=0,l=a=>{if(a<=s)return;let h=i.slice(s,a);if(n)for(let d of h.split(/(?<=\n)/))o.push({k:d,raw:d,len:d.length});else for(let d of jn(h,t))o.push(d)};for(let a of e.atoms)l(a.i),o.push({k:"\0"+r(a),raw:Yn,len:1,atom:!0}),s=a.i+1;return l(i.length),o}function ao(e){if(!e.atoms.length)return e.text;let t="",n=0;for(let r of e.atoms)t+=e.text.slice(n,r.i),n=r.i+1;return t+e.text.slice(n)}var mi=e=>{let t=new Int32Array(e.length+1);for(let n=0;n<e.length;n++)t[n+1]=t[n]+e[n].len;return t};function Ls(e,t,n,r){let o=mi(t),i=mi(n),s=[],l=0,a=0;for(let d of r.hunks){a+=d.bs-l;let b=a+d.toks.length;s.push({bs:o[d.bs],be:o[d.be],ss:i[a],se:i[b],text:e.text.slice(i[a],i[b]),toks:d.toks,lead:!!d.lead}),a=b,l=d.be}let h=new Map;for(let d of r.cosmetic)h.set(d.bi,d.tok.raw);return{hunks:s,respell:h}}function Is(e,t,n){let r=s=>s===it||/\s/.test(s),o=s=>s.replace(/[\u001E\s]/g,""),i=[];for(let s of e){let l=t.slice(s.bs,s.be),a=n.slice(s.ss,s.se);if(!l.includes(it)&&!a.includes(it)||l.includes(Yn)||a.includes(Yn)||o(l)!==o(a)){i.push(s);continue}let h=0,d=0;for(;;){let b=h,f=d;for(;b<l.length&&r(l[b]);)b++;for(;f<a.length&&r(a[f]);)f++;let u=h,m=d;for(;u<b&&m<f&&l[u]===a[m];)u++,m++;let p=b,v=f;for(;p>u&&v>m&&l[p-1]===a[v-1];)p--,v--;if(p>u||v>m){let A=a.slice(m,v);i.push({bs:s.bs+u,be:s.bs+p,ss:s.ss+m,se:s.ss+v,text:A,toks:[...A].map(M=>({k:M,raw:M,len:1})),lead:s.lead})}if(b>=l.length)break;h=b+1,d=f+1}}return i}function js(e,t,n){let r=new Int32Array(t+1).fill(-1),o=new Int32Array(n+1).fill(-1),i=0,s=0,l=a=>{for(;i<a;)r[i]=s,o[s]=i,i++,s++};for(let a of e)l(a.bs),i=a.be,s=a.se;return l(t),r[t]=s,o[s]=t,{bTo:r,toB:o}}function Ds(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function pi(e){let{out:t,policy:n="remote",L:r,R:o}=e,i=e.provenance||new WeakMap,s=e.textMappers||new WeakMap,l=e.conflicts||[],a=e.decisions||[],h=l.length,d=!!(r&&r.reverse&&r.map&&o&&o.reverse&&o.map),b={base:null,local:null,remote:null};if(d&&e.moveIn){let c=ne=>Ae=>ne.some(ee=>ee===Ae||ee.nodeType===1&&ee.contains(Ae)),x=c(e.local),S=c(e.remote),w=c(e.base),R=new Set,P=ne=>{if(!mn.has(ne.tagName))return;let Ae=r.map.get(ne),ee=o.map.get(ne);(Ae&&!x(Ae)||ee&&!S(ee))&&R.add(ne);for(let ae of ne.children)P(ae)};for(let ne of e.base)ne.nodeType===1&&P(ne);let X=ne=>Ae=>{if(!mn.has(Ae.tagName))return!1;let ee=ne.reverse.get(Ae);return!!ee&&(R.has(ee)||!w(ee))};R.size&&(b.base=ne=>R.has(ne)),b.local=X(r),b.remote=X(o)}let f={base:new Set,local:new Set,remote:new Set};if(d&&e.moveIn){let c=w=>R=>w.some(P=>P===R||P.nodeType===1&&P.contains(R)),x=c(e.local),S=c(e.remote);for(let w of _r(e.base,{...e,atomize:b.base}).atoms){let R=r.map.get(w.el),P=o.map.get(w.el),X=!!R&&!x(R),ne=!!P&&!S(P);!X&&!ne||(f.base.add(w.el),R&&!X&&f.local.add(R),P&&!ne&&f.remote.add(P),x(w.el)&&f.local.add(w.el),S(w.el)&&f.remote.add(w.el))}}let u=_r(e.base,{...e,atomize:b.base,skip:f.base}),m=_r(e.local,{...e,atomize:b.local,skip:f.local}),p=_r(e.remote,{...e,atomize:b.remote,skip:f.remote}),v=new Map(u.atoms.map(c=>[c.el,c])),A=(c,x,S)=>{x.namespaceURI?c.setAttributeNS(x.namespaceURI,x.name,S):c.setAttribute(x.name,S)},M=(c,x,S,w)=>{if(!x&&(!S||!w)){for(let P of(S||w).attributes)A(c,P,P.value);return}let R=new Map;for(let P of[x,S,w])if(P)for(let X of P.attributes)R.set(X.name,X);for(let[P,X]of R){let ne=x?x.getAttribute(P):null,Ae=S?S.getAttribute(P):ne,ee=w?w.getAttribute(P):ne,ae;Ae===ee?ae=Ae:Ae===ne?(ae=ee,a.push({kind:"attr",el:c,name:P,source:"remote"})):ee===ne?(ae=Ae,a.push({kind:"attr",el:c,name:P,source:"local"})):(ae=n==="local"?Ae:ee,l.push({kind:"attr",el:c,name:P,base:ne,local:Ae,remote:ee,resolved:ae}),a.push({kind:"attr",el:c,name:P,source:"both"})),ae!=null&&A(c,X,ae)}},L=(c,x,S,w)=>c&&e.mergeAttrs?e.mergeAttrs(c,x,S,w):M(w,c,x,S),H=e.mergeElement||((c,x,S)=>{let w=t.createElement(c.tagName);L(c,x,S,w);let R=x||c,P=S||c,X=n==="local"?R.isEqualNode(c)?P:R:P.isEqualNode(c)?R:P;for(let ne of X.childNodes)w.appendChild(t.importNode(ne,!0));return i.set(w,{base:c,local:x,remote:S}),w}),B=e.cloneUnit||((c,x)=>{let S=t.importNode(c,!0);return i.set(S,{base:null,local:x==="local"?c:null,remote:x==="remote"?c:null}),S}),te=e.atomKey||(c=>Fs(c,()=>!1)),re=(c,x)=>{let S=new Map;for(let w of c.atoms)if(e.remoteWins&&e.remoteWins(w.el)&&mn.has(w.el.tagName))S.set(w,"w"+w.el.tagName+"#"+(w.el.id||""));else if(!d)S.set(w,w.key);else if(c===u)S.set(w,"="+te(w.el));else{let R=x.reverse.get(w.el),P=R?v.get(R):null;P?S.set(w,"="+te(P.el)):R?S.set(w,"m"+te(w.el)):S.set(w,"="+te(w.el))}return w=>S.get(w)},K=re(u,null),W=re(m,r),he=re(p,o),V=lo(ao(u),ao(m),ao(p)),xe=Gn(u,V,!1,K),We=Gn(m,V,!1,W),at=Gn(p,V,!1,he),Nt=xe.length>2e4||We.length>2e4||at.length>2e4;Nt&&(xe=Gn(u,V,!0,K),We=Gn(m,V,!0,W),at=Gn(p,V,!0,he));let xt=ui(Kn(xe,We),Kn(xe,at),xe),_e=Ls(m,xe,We,{hunks:xt.lh,cosmetic:xt.cosL}),dt=Ls(p,xe,at,{hunks:xt.rh,cosmetic:xt.cosR});_e.hunks=Is(_e.hunks,u.text,m.text),dt.hunks=Is(dt.hunks,u.text,p.text);let Ze=js(_e.hunks,u.text.length,m.text.length),Rt=js(dt.hunks,u.text.length,p.text.length),nt=u.text.length,Qe=c=>new Map(c.atoms.map(x=>[x.el,x])),ct=Qe(m),C=Qe(p),G=(c,x,S)=>{let w=new Set;if(!d)return w;for(let R of c.atoms){let P=v.get(x.reverse.get(R.el));P&&S.bTo[P.i]<0&&w.add(P)}return w},ye=G(m,r,Ze),se=G(p,o,Rt),Ce=c=>!Dn(c,{...e,remoteWins:null}),rt=new Set;if(d)for(let c of u.atoms){if(!Ce(c.el))continue;let x=r.map.get(c.el)||null,S=o.map.get(c.el)||null,w=x&&!S?x:S&&!x?S:null;w&&(ct.has(w)||C.has(w))&&!w.isEqualNode(c.el)&&rt.add(c)}let Ve=1,Ke=(c,x)=>({id:Ve++,tag:c,base:null,local:null,remote:null,rank:x}),et=new Map,ut=[];for(let c of u.marks){let x=Ke(c.tag,c.depth);x.block=!!c.block,x.base=c.el,x.baseMark=c,et.set(c.el,x),ut.push(x)}let k=(c,x)=>{let S=-1,w=-1;for(let R=c.from;R<c.to;R++){let P=x[R];P>=0&&(S<0&&(S=P),w=P+1)}return S<0?null:[S,w]},g=(c,x,S,w)=>{for(let R of c.marks){let P=S?S.reverse.get(R.el):null;P&&S.identical.has(P)&&S.pairIdenticalChildren&&S.pairIdenticalChildren(P);let X=P?et.get(P):null;if(X&&X[x]&&(X=null),!X){let ne=k(R,w),Ae=0;if(ne)for(let ee of ut){if(ee.tag!==R.tag||ee[x]||!!ee.block!=!!R.block)continue;let ae=Math.min(ne[1],ee.baseMark.to)-Math.max(ne[0],ee.baseMark.from);(ae>Ae||ae===Ae&&ae>0&&Math.abs(ee.rank-R.depth)<Math.abs(X.rank-R.depth))&&(X=ee,Ae=ae)}}X||(X=Ke(R.tag,R.depth),X.block=!!R.block,X.new=x),X[x]=R.el,X[x+"Mark"]=R,et.set(R.el,X)}};g(m,"local",r,Ze.toB),g(p,"remote",o,Rt.toB);let y=c=>c.merged||c,O=c=>{let x=new Set;for(let S of c)S.block||x.add(et.get(S.el));return x},_=new Map,E=c=>{let x=_.get(c);return x||(x=O(c),_.set(c,x)),x},I=(c,x)=>{let S=[],w=null;for(let R=0;R<nt;R++){let P=x[R];if(P<0){w&&S.push(w),w=null;continue}let X=E(u.stackAt[R]),ne=E(c.stackAt[P]),Ae=new Set,ee=new Set;for(let ae of ne)X.has(ae)||Ae.add(ae);for(let ae of X)ne.has(ae)||ee.add(ae);if(!Ae.size&&!ee.size){w&&S.push(w),w=null;continue}if(w&&Ds(w.added,Ae)&&Ds(w.removed,ee)){w.be=R+1;continue}w&&S.push(w),w={bs:R,be:R+1,added:Ae,removed:ee}}return w&&S.push(w),S},N=I(m,Ze.bTo),j=I(p,Rt.bTo),J=c=>c.be>c.bs?[c.bs,c.be-1]:[c.bs-1,c.bs],$=(c,x)=>{if(nt===0)return null;let[S,w]=J(c);for(let R of x){if(R.be<=S)continue;if(R.bs>w)break;let P=R.bs<=S&&w<R.be;return P&&c.text===""&&R.bs===c.bs&&R.be===c.be?"straddle":P?R:c.be>c.bs?"straddle":null}return null},ce=c=>c.bs===c.be,ge=(c,x)=>{let S=!1;for(let w=c.bs;w<c.be;w++){let R=u.text[w];if(R===it)S=!0;else if(!/\s/.test(R))return!1}for(let w=c.ss;w<c.se;w++){let R=x.text[w];if(R===it)S=!0;else if(!/\s/.test(R))return!1}return S},ht=(c,x)=>c.bs<x.be&&x.bs<c.be,ft=(c,x)=>c.bs<=x.be&&x.bs<=c.be&&ce(c)!==ce(x),ue=(c,x)=>u.text.slice(c.bs,c.be).includes(it)||x.text.slice(c.ss,c.se).includes(it),Ge=c=>{if(ce(c))return!1;let x=c.bs,S=c.be;for(;x>0&&/\s/.test(u.text[x-1]);)x--;for(;S<u.text.length&&/\s/.test(u.text[S]);)S++;return(x===0||u.text[x-1]===it)&&(S===u.text.length||u.text[S]===it)},Ft=(c,x)=>!ue(c,x)&&!Ge(c),vt=(c,x)=>ht(c,x)||ft(c,x)&&!(ge(c,m)&&Ft(x,p))&&!(ge(x,p)&&Ft(c,m)),Ht=(c,x)=>{if(c.bs!==x.bs||c.be!==x.be||c.toks.length!==x.toks.length)return!1;let S=c.ss,w=x.ss;for(let R=0;R<c.toks.length;R++){let P=c.toks[R],X=x.toks[R];if(P.k!==X.k||P.atom&&!m.atomAt.get(S).el.isEqualNode(p.atomAt.get(w).el))return!1;S+=P.len,w+=X.len}return!0},Wt=(c,x,S,w)=>{for(let R of u.atoms){if(R.i<c.bs||R.i>=c.be||w.has(R)||rt.has(R))continue;let P=x.bTo[R.i],X=P>=0?S.atomAt.get(P):null;if(X&&!X.el.isEqualNode(R.el))return!0}return!1},Tt=[],Et=_e.hunks,T=dt.hunks,D=0,F=0,z=0,q=0,U=0,Q=c=>{c>z&&(Tt.push({src:"base",from:z,to:c,dL:q,dR:U}),z=c)};for(;D<Et.length||F<T.length;){let c=Et[D],x=T[F],S=!!c&&(!x||c.bs<x.bs||c.bs===x.bs&&c.be<=x.be&&!x.lead);if(c&&x&&c.bs===x.bs&&ce(c)&&ce(x)){let Ot=ge(c,m),Ln=ge(x,p);Ot!==Ln&&(S=Ln)}let w=S?c:x,R=S?x:c,P=!!R&&Ht(c,x),X=!!R&&(S?!!Et[D+1]&&Ht(Et[D+1],x):!!T[F+1]&&Ht(c,T[F+1])),ne=!!R&&!P&&!X&&(nt===0||vt(c,x)),Ae=ne,ee=$(w,S?j:N);if(ee==="straddle"&&(Ae=!0),!Ae&&w.be>w.bs&&(Ae=Wt(w,S?Rt:Ze,S?p:m,S?ye:se)),!Ae&&P){Q(w.bs),Tt.push({src:"both",lfrom:c.ss,rfrom:x.ss,len:w.text.length}),z=w.be,q+=w.text.length-(w.be-w.bs),U+=w.text.length-(w.be-w.bs),D++,F++;continue}if(!Ae){Q(w.bs),Tt.push({src:S?"local":"remote",from:w.ss,to:w.se,inherit:ee&&ee!=="straddle"?ee:null}),z=w.be,S?(q+=w.text.length-(w.be-w.bs),D++):(U+=w.text.length-(w.be-w.bs),F++);continue}let ae=w.bs,Be=w.be,Me=D,qe=F,kt=Ot=>Ot.bs<Be&&Ot.be>ae||ce(Ot)&&(Ot.bs===ae||Ot.bs===Be);S?Me++:qe++,ne&&(ae=Math.min(ae,R.bs),Be=Math.max(Be,R.be),S?qe++:Me++);let lt=!0;for(;lt;){for(lt=!1;Me<Et.length&&kt(Et[Me]);)ae=Math.min(ae,Et[Me].bs),Be=Math.max(Be,Et[Me].be),Me++,lt=!0;for(;qe<T.length&&kt(T[qe]);)ae=Math.min(ae,T[qe].bs),Be=Math.max(Be,T[qe].be),qe++,lt=!0}let Xt=ae+q,Bt=ae+U,sn=Be-ae,cn=Be-ae;for(let Ot=D;Ot<Me;Ot++)sn+=Et[Ot].text.length-(Et[Ot].be-Et[Ot].bs);for(let Ot=F;Ot<qe;Ot++)cn+=T[Ot].text.length-(T[Ot].be-T[Ot].bs);let gn=Xt+sn,bn=Bt+cn;Q(ae);let Ct={kind:"text",node:e.node||null,base:hi(u,ae,Be),local:hi(m,Xt,gn),remote:hi(p,Bt,bn),resolved:null,range:null,bs:ae,be:Be,lss:Xt,lse:gn,rss:Bt,rse:bn};Ct.resolved=n==="local"?Ct.local:n==="remote"?Ct.remote:Ct.local+Ct.remote,n!=="remote"&&Tt.push({src:"local",from:Xt,to:gn,conflict:Ct}),n!=="local"&&Tt.push({src:"remote",from:Bt,to:bn,conflict:Ct}),l.push(Ct),z=Be,q+=sn-(Be-ae),U+=cn-(Be-ae),D=Me,F=qe}Q(nt);let le=u.text,ke=[];if(_e.respell.size||dt.respell.size){let c=mi(xe),x=[];for(let S=0;S<xe.length;S++){let w=xe[S].raw,R=_e.respell.get(S)??w,P=dt.respell.get(S)??w;(R!==w||P!==w)&&ke.push([c[S],R!==w&&P!==w?"both":R!==w?"local":"remote"]),x.push(R===P?R:R===w?P:P===w||n==="local"?R:P)}le=x.join("")}let me="",ve=[],Pe=[],je=[],wt=[];for(let c of Tt){let x=me.length;if(c.src==="base"){for(let S=c.from;S<c.to;S++)ve.push(S),Pe.push(S+c.dL),je.push(S+c.dR),wt.push(c);me+=le.slice(c.from,c.to)}else if(c.src==="both"){for(let S=0;S<c.len;S++)ve.push(-1),Pe.push(c.lfrom+S),je.push(c.rfrom+S),wt.push(c);me+=m.text.slice(c.lfrom,c.lfrom+c.len)}else{let S=c.src==="local"?m:p;for(let w=c.from;w<c.to;w++)ve.push(-1),Pe.push(c.src==="local"?w:-1),je.push(c.src==="remote"?w:-1),wt.push(c);me+=S.text.slice(c.from,c.to)}c.ms=x,c.me=me.length,c.conflict&&(c.conflict.range||(c.conflict.range=[x,x]),c.conflict.range[1]=me.length)}let pe=me.length,Xe=new Int32Array(nt+1).fill(-1),Ee=new Int32Array(m.text.length+1).fill(-1),Dt=new Int32Array(p.text.length+1).fill(-1);for(let c=0;c<pe;c++)ve[c]>=0&&(Xe[ve[c]]=c),Pe[c]>=0&&(Ee[Pe[c]]=c),je[c]>=0&&(Dt[je[c]]=c);let At=(c,x)=>{let S=-1,w=-1;for(let R=c.from;R<c.to;R++){let P=x[R];P>=0&&(S<0&&(S=P),w=P+1)}return S<0?null:[S,w]},Mt=[],gt=[];for(let c of new Set(et.values()))c.new==="local"?Mt.push(c):c.new==="remote"&&gt.push(c);let xr=(c,x)=>{c.remote=x.remote,c.remoteMark=x.remoteMark,c.new="both",x.merged=c,et.set(x.remote,c)};if(Mt.length&&gt.length){let c=e.idOf;for(let x of Mt){let S=c?c.local(x.local):null;if(!S)continue;let w=gt.find(R=>!R.merged&&R.tag===x.tag&&!!R.block==!!x.block&&c.remote(R.remote)===S);w&&xr(x,w)}for(let x of Mt){if(x.remote)continue;let S=At(x.localMark,Ee);if(S)for(let w of gt){if(w.merged||w.tag!==x.tag||!!w.block!=!!x.block)continue;let R=At(w.remoteMark,Dt);if(R&&Math.min(S[1],R[1])-Math.max(S[0],R[0])>0){xr(x,w);break}}}}_.clear();let vr=c=>{for(let x of c)if(x.block)return y(et.get(x.el));return null},hn=u.marks.some(c=>c.block)||m.marks.some(c=>c.block)||p.marks.some(c=>c.block),nn=new Array(pe).fill(null),Un=new Set;if(hn){let c=(ee,ae,Be)=>{let Me=new Set([ee,ae,Be]);Me.delete(null);let qe=[];for(let lt of Me){let Xt=lt===ee,Bt=lt===ae,sn=lt===Be;(Bt===sn?Bt:Bt===Xt?sn:Bt)&&qe.push(lt)}if(qe.length<=1)return qe[0]||null;let kt=n==="local"?ae:Be;return qe.includes(kt)?kt:qe[0]},x=(ee,ae)=>ae>=0?vr(ee.stackAt[ae]):null,S=new Map;for(let ee=0;ee<pe;ee++){if(me[ee]!==it)continue;let ae=ve[ee]>=0?x(u,ve[ee]):null,Be=x(m,Pe[ee]),Me=x(p,je[ee]);S.set(ee,[ae,ve[ee]>=0?c(ae,Be,Me):Be||Me])}let w=new Set([...S.values()].map(ee=>ee[1])),R=ee=>ee!==it&&ee!==Yn&&!/\s/.test(ee),P=(ee,ae)=>{let Be=ee;for(;Be<ae&&!R(me[Be]);)Be++;return Be<ae&&ve[Be]>=0?x(u,ve[Be]):null},X=new Map,ne=0;for(let ee=0;ee<pe;ee++){if(me[ee]!==it)continue;let[ae,Be]=S.get(ee),Me=P(ne,ee),qe=Be,kt=X.get(qe)===qe&&Me===qe;qe&&X.has(qe)&&!kt&&ae&&!X.has(ae)&&!w.has(ae)&&(qe=ae),qe&&!X.has(qe)&&X.set(qe,Me);for(let lt=ne;lt<=ee;lt++)nn[lt]=qe;ne=ee+1}let Ae=ee=>{for(let ae=0;ae<ee.text.length;ae++)if(R(ee.text[ae])&&!x(ee,ae))return!0;return!1};if(!Ae(u)&&!Ae(m)&&!Ae(p)){let ee=[],ae=0;for(let Me=0;Me<pe;Me++)(me[Me]===it||Me===pe-1)&&(ee.push([ae,Me]),ae=Me+1);let Be=new Set(nn);for(let Me=0;Me<ee.length;Me++){let[qe,kt]=ee[Me];if(nn[kt])continue;let lt=qe;for(;lt<=kt&&!R(me[lt]);)lt++;if(lt>kt)continue;let Xt=x(u,ve[lt]),Bt=x(m,Pe[lt]),sn=x(p,je[lt]),cn=c(Xt,Bt,sn)||Bt||sn||Xt;if(cn&&!Be.has(cn)){Be.add(cn);for(let Ct=qe;Ct<=kt;Ct++)nn[Ct]=cn;continue}let gn=Me>0&&nn[ee[Me-1][1]],bn=Me+1<ee.length&&nn[ee[Me+1][1]];if(gn)Un.add(ee[Me-1][1]);else if(bn&&me[kt]===it)Un.add(kt);else continue;for(let Ct=qe;Ct<=kt;Ct++)nn[Ct]=gn||bn}}}let Qr=new Map,eo=c=>{let x=Qr.get(c);if(x)return x;x=[1/0,-1/0];for(let[S,w]of[[c.baseMark,Xe],[c.localMark,Ee],[c.remoteMark,Dt]]){let R=S&&At(S,w);R&&(x[0]=Math.min(x[0],R[0]),x[1]=Math.max(x[1],R[1]))}return Qr.set(c,x),x},to=(c,x,S)=>{let w=-1,R=-1;for(let P=0;P<c.length;P++){let X=et.get(c[P].el);X===x&&(w=P),X===S&&(R=P)}return w>=0&&R>=0?w-R:0},zn=(c,x)=>[...c].sort((S,w)=>{for(let X of x){let ne=to(X,S,w);if(ne)return ne}let R=eo(S),P=eo(w);return R[0]-P[0]||P[1]-R[1]||S.rank-w.rank||S.id-w.id}),no=new Map,Y=new Map,Te=c=>{let x=ve[c],S=Pe[c],w=je[c],R=wt[c];if(x>=0){let Me=u.stackAt[x],qe=m.stackAt[S],kt=p.stackAt[w],lt=no.get(Me);lt||no.set(Me,lt=new Map);let Xt=lt.get(qe);Xt||lt.set(qe,Xt=new Map);let Bt=Xt.get(kt);if(Bt)return Bt;let sn=E(Me),cn=E(qe),gn=E(kt),bn=new Set;for(let Ct of new Set([...sn,...cn,...gn])){let Ot=sn.has(Ct),Ln=cn.has(Ct),xs=gn.has(Ct);(Ln===xs?Ln:Ln===Ot?xs:Ln)&&bn.add(Ct)}return Bt=zn(bn,[qe,kt,Me]),Xt.set(kt,Bt),Bt}if(R.src==="both"){let Me=m.stackAt[S],qe=p.stackAt[w];return zn(new Set([...E(Me),...E(qe)]),[Me,qe])}let X=(R.src==="local"?m:p).stackAt[R.src==="local"?S:w];if(!R.inherit)return zn(E(X),[X]);let ne=Y.get(R);ne||Y.set(R,ne=new Map);let Ae=ne.get(X);if(Ae)return Ae;let ee=new Set(E(X));for(let Me of R.inherit.added)ee.add(y(Me));for(let Me of R.inherit.removed)ee.delete(y(Me));let ae=R.src==="local"?p:m,Be=(R.src==="local"?Rt.bTo:Ze.bTo)[R.inherit.bs];return Ae=zn(ee,[X,ae.stackAt[Be]]),ne.set(X,Ae),Ae},be=new Int32Array(m.text.length+1);be[m.text.length]=pe;for(let c=m.text.length-1;c>=0;c--)be[c]=Ee[c]>=0?Ee[c]:be[c+1];tu.caret+=m.text.length;let Ne=c=>c<=0?0:(c>m.text.length&&(c=m.text.length),Ee[c-1]>=0?Ee[c-1]+1:be[c]),$e=[],ie=[],Se=null,oe=[],Re="",Fe=-1,Pt=c=>{Se?Se.appendChild(c):$e.push(c)},rn=c=>{if(!Re)return;let x=t.createTextNode(Re);Pt(x),ie.push({node:x,ms:Fe,me:c,local:[],u:oe.length?oe[oe.length-1].u:null}),Re=""},pn=new Set,Ut=new Map,wn=new Set,De=c=>{let x=t.createElement(c.tag);if(c.block&&Ar.add(x),!Ut.has(c)){Ut.set(c,x),L(c.base,c.local,c.remote,x),i.set(x,{base:c.base,local:c.local,remote:c.remote});let w=(X,ne)=>d&&c[ne]&&X.reverse.get(c[ne])?ne:null,R=!c.base&&(w(r,"local")||w(o,"remote"));if(R){let X=R==="local"?r.reverse.get(c.local):o.reverse.get(c.remote),ne=i.get(x);ne.local=ne.local||r.map.get(X)||null,ne.remote=ne.remote||o.map.get(X)||null,a.push({kind:"move",el:x,source:R})}else c.base||a.push({kind:"insert",el:x,source:c.local&&c.remote?"both":c.local?"local":"remote"});let P=i.get(x);P.local&&(wn.has(P.local)?P.local=null:wn.add(P.local))}else{let w=Ut.get(c);for(let R of w.attributes)R.name!=="id"&&R.name!=="data-id"&&A(x,R,R.value);i.set(x,{base:null,local:null,remote:null})}Pt(x),oe.push({u:c,el:x}),Se=x},Ue=new Set,Z=new Map;for(let c of m.pins){let x=Ne(c.i);Z.has(x)||Z.set(x,[]),Z.get(x).push(c)}let de=c=>{let x=Z.get(c);if(x){rn(c);for(let S of x){let w=S.el.namespaceURI&&S.el.namespaceURI!=="http://www.w3.org/1999/xhtml"?t.createElementNS(S.el.namespaceURI,S.el.tagName):t.createElement(S.el.tagName);i.set(w,{base:null,local:S.el,remote:null,pinned:!0}),Ue.add(w),Pt(w)}}},we=u.atoms.length||m.atoms.length||p.atoms.length,Ie=c=>{if(!we)return null;let x=ve[c]>=0?u.atomAt.get(ve[c]):null,S=Pe[c]>=0?m.atomAt.get(Pe[c]):null,w=je[c]>=0?p.atomAt.get(je[c]):null;return x||S||w?{ab:x,al:S,ar:w}:null},Oe=(c,x,S,w)=>{if(!c||!d)return null;let R=v.get(x.reverse.get(c.el))||null;return!R||R===w||(w?R.el.isEqualNode(w.el):S.bTo[R.i]>=0)?null:R},Ye=(c,x)=>{if(!c||!d||!e.moveIn)return null;let S=x.reverse.get(c.el);return S&&!v.has(S)?S:null},ot=(c,x)=>{let S=new Map;for(let w of c.atoms)S.set(x(w),(S.get(x(w))||0)+1);return S},qt=ot(u,K),zt=ot(m,W),Jt=ot(p,he),_t=c=>{let x=K(c);return qt.get(x)===1&&(zt.get(x)||0)<=1&&(Jt.get(x)||0)<=1},Zt=new Map,mt=new Set,bt=new Set,Qt=new Set;for(let c=0;c<pe;c++){let x=Ie(c);if(!x)continue;let{ab:S,al:w,ar:R}=x,P=Oe(R,o,Rt,S),X=Oe(w,r,Ze,S),ne=S,Ae=null;if(P?(ne=P,Ae="remote"):X&&(ne=X,Ae="local"),ne){mt.has(ne)?Zt.set(c,{dup:ne.el}):(mt.add(ne),Zt.set(c,{bk:ne,from:Ae,al:w,ar:R}));continue}let ee=Ye(R,o),ae=Ye(w,r),Be=ee||ae;if(Be){bt.has(Be)?Zt.set(c,{dup:Be}):(bt.add(Be),Zt.set(c,{moveIn:Be,side:ee?"remote":"local",sideEl:ee?R.el:w.el}));continue}let Me=(kt,lt)=>kt&&d&&v.get(lt.reverse.get(kt.el))||null,qe=Me(R,o)||Me(w,r);if(qe&&(Qt.add(qe),wt[c].conflict&&_t(qe))){if(mt.has(qe)){Zt.set(c,{dup:qe.el});continue}mt.add(qe)}Zt.set(c,{al:w,ar:R})}let ln=new Map,ro=(c,x)=>{if(c[x]>=0)return c[x];for(let S=x-1;S>=0;S--)if(c[S]>=0)return c[S]+1;return 0};if(d)for(let c of u.atoms){if(mt.has(c)||Qt.has(c))continue;let x=r.map.get(c.el)||null,S=o.map.get(c.el)||null,w=x&&ct.get(x),R=S&&C.get(S);if(x&&!w||S&&!R)continue;let P=!(w&&R)&&rt.has(c);if(!P&&!(w&&R&&_t(c)))continue;let X=n==="local"?[[w,Ee],[R,Dt]]:[[R,Dt],[w,Ee]],[ne,Ae]=X.find(([ae])=>ae),ee=ro(Ae,ne.i);ln.has(ee)||ln.set(ee,[]),ln.get(ee).push({a:c,lt:x,rt:S,edited:P}),mt.add(c)}if(d&&e.moveIn){let c=[[m,r,Ee,"local"],[p,o,Dt,"remote"]];n!=="local"&&c.reverse();for(let[x,S,w,R]of c)for(let P of x.atoms){let X=Ye(P,S);if(!X||bt.has(X))continue;bt.add(X);let ne=ro(w,P.i);ln.has(ne)||ln.set(ne,[]),ln.get(ne).push({move:X,side:R,sideEl:P.el})}}let wr=c=>{let x=ln.get(c);if(x){if(rn(c),x.some(S=>Ce(S.move?S.sideEl:S.a.el)))for(;oe.length;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;for(let{a:S,lt:w,rt:R,edited:P,move:X,side:ne,sideEl:Ae}of x){if(X){let ae=e.moveIn(X,ne,Ae);ae&&Pt(ae);continue}pn.add(S);let ee=H(S.el,w,R);P&&(l.push({kind:"structure",el:ee,detail:"edit-beats-delete",base:S.el}),a.push({kind:"insert",el:ee,source:w?"local":"remote"})),Pt(ee)}}},Ar=new Set;for(let c=0;c<pe;c++){let x=Ie(c),w=!!x&&Ce((x.ab||x.al||x.ar).el)?[]:nn[c]?[nn[c],...Te(c)]:Te(c),R=0;for(;R<oe.length&&R<w.length&&oe[R].u===w[R];)R++;if(R<oe.length)for(rn(c);oe.length>R;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;if(de(c),wr(c),w.length>oe.length)for(rn(c);oe.length<w.length;)De(w[oe.length]);if(me[c]===it){if(Un.has(c))continue;rn(c);let P=oe.length;for(;P>0&&!oe[P-1].u.block;)P--;if(P>0)for(;oe.length>=P;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;continue}if(x){rn(c);let P=Zt.get(c),X;if(P.dup){l.push({kind:"structure",el:null,detail:"both-moved",base:P.dup});continue}if(P.moveIn){if(X=e.moveIn(P.moveIn,P.side,P.sideEl),!X)continue}else if(P.bk){let ne=P.bk;if(pn.add(ne),ne===x.ab)X=H(ne.el,P.al.el,P.ar.el);else{let Ae=r.map.get(ne.el)||null,ee=o.map.get(ne.el)||null;X=H(ne.el,Ae,ee),(!Ae||!ee)&&l.push({kind:"structure",el:null,detail:"move-beats-delete",base:ne.el}),a.push({kind:"move",el:X,source:P.from})}}else P.al?(X=B(P.al.el,"local"),P.ar&&(i.get(X).remote=P.ar.el),a.push({kind:"insert",el:X,source:P.ar?"both":"local"})):(X=B(P.ar.el,"remote"),a.push({kind:"insert",el:X,source:"remote"}));Pt(X);continue}Re||(Fe=c),Re+=me[c]}if(rn(pe),(Z.has(pe)||ln.has(pe))&&(oe.length=0,Se=null,de(pe),wr(pe)),pe===0&&(m.placeholder||p.placeholder||u.placeholder)){let c=t.createElement("br");i.set(c,{base:u.placeholder,local:m.placeholder,remote:p.placeholder}),$e.push(c)}let fe=0,ze=c=>{for(;fe>0&&ie[fe-1].me>=c;)fe--;for(;fe<ie.length&&ie[fe].me<c;)fe++;let x=ie[fe];if(!x)return ie[ie.length-1]||null;let S=ie[fe+1];return x.me===c&&S&&S.ms===c?S:x},st=new Map,tt={},Je=(c,x,S)=>{let w=ze(c)||(S?tt:null);if(!w)return;let R=st.get(w)||{l:!1,r:!1};x!=="remote"&&(R.l=!0),x!=="local"&&(R.r=!0),st.set(w,R)},an=c=>{if(c.conflict)return!0;let x=c.src==="local"?m.text:c.src==="remote"?p.text:"";for(let S=c.from;S<c.to;S++)if(x[S]!==Yn&&x[S]!==it)return!0;return!1};for(let c of Tt)c.src!=="base"&&Je(c.ms,c.conflict?"both":c.src,an(c));for(let[c,x]of ke)Xe[c]>=0&&Je(Xe[c],x);for(let c of ie.length?ie:[tt]){let x=st.get(c);x&&a.push({kind:"text",node:c.node||null,source:x.l&&x.r?"both":x.l?"local":"remote"})}for(let c of ut){if(Ut.has(c))continue;let x=!c.local&&!(d&&r.map.get(c.base)),S=!c.remote&&!(d&&o.map.get(c.base));!x&&!S||a.push({kind:"remove",source:x&&S?"both":x?"local":"remote",base:c.base})}let on=(c,x,S)=>{if(x<=c)return!1;for(let w=c;w<x;w++)if(S[w]>=0)return!1;return!0};for(let c of ut)for(let x of["local","remote"]){let S=c[x+"Mark"],w=c.baseMark;if(!S)continue;let R=x==="local"?Ze:Rt;if(!on(w.from,w.to,R.bTo)||!on(S.from,S.to,R.toB))continue;let P=(x==="local"?Et:T).find(X=>X.ss<=S.from&&S.from<X.se);P&&(P.be<=w.from||P.bs>=w.to)&&a.push({kind:"move",el:Ut.get(c)||null,source:x})}let An=c=>{let x=et.get(c.node.parentNode);return x?y(x):null};for(let c of m.nodes){let x=-1;for(let w=c.s;w<c.e;w++)if(Ee[w]>=0){x=Ee[w];break}let S;if(x>=0)S=ze(x);else{let w=Ne(c.s),R=An(c);S=ie.find(P=>P.u===R&&P.me>=w)||ie.filter(P=>P.u===R).pop()}S&&S.local.push(c)}let en=new Map,$t=ie[ie.length-1]||null,Yt=0;for(let c of m.nodes){let x=null;for(let S=c.s;S<=c.e;S++){let w=Ne(S);for(;Yt>0&&ie[Yt-1].me>=w;)Yt--;for(;Yt<ie.length&&ie[Yt].me<w;)Yt++;let R=X=>X&&w>=X.ms&&w<=X.me&&(w<X.me||S===c.e||X===x),P=R(ie[Yt])?ie[Yt]:R(ie[Yt+1])?ie[Yt+1]:ie[Yt]||$t;if(!P)break;if(x===P){let X=en.get(P);X[X.length-1].to=S-c.s;continue}x=P,en.has(P)||en.set(P,[]),en.get(P).push({node:c.node,from:S-c.s,to:S-c.s,flatStart:c.s})}}for(let c of ie){let x=c.local,S=!1;for(let X of x)for(let ne=X.s;ne<X.e&&!S;ne++)(Ee[ne]<c.ms||Ee[ne]>=c.me)&&(S=!0);i.set(c.node,{base:null,local:x.map(X=>X.node),remote:null,caret:en.get(c)||[],partial:S});let w=c.ms,R=c.me-c.ms,P=X=>{let ne=0,Ae=-1;for(let ee of x){let ae=ee.e-ee.s;if(X<=ne+ae){Ae=ee.s+(X-ne);break}ne+=ae}return Ae<0&&(Ae=x.length?x[x.length-1].e:0),Math.max(0,Math.min(Ne(Ae)-w,R))};P.flat=X=>Math.max(0,Math.min(Ne(X)-w,R)),s.set(c.node,P)}function Sc(){if(!m.text.includes(it))return[{flatLocal:m.text,localNodes:m.nodes,textNodes:ie,lToM:Ee,mapLocal:Ne}];let c=[],x=0,S=0;for(let w=0;w<=m.text.length;w++){if(w<m.text.length&&m.text[w]!==it)continue;let R=x,P=w;if(P>R){let X=[];for(;S<m.nodes.length&&m.nodes[S].e<=R;)S++;for(let ne=S;ne<m.nodes.length&&m.nodes[ne].s<P;ne++){let Ae=m.nodes[ne],ee=Math.max(Ae.s,R),ae=Math.min(Ae.e,P);ee<ae&&X.push({node:Ae.node,s:ee-R,e:ae-R})}c.push({flatLocal:m.text.slice(R,P),localNodes:X,textNodes:ie,lToM:Ee.subarray?Ee.subarray(R,P+1):Ee.slice(R,P+1),mapLocal:ne=>Ne(R+Math.max(0,Math.min(ne,P-R)))})}x=w+1}return c}let Tc={...e,blocks:Ar,ignored:c=>Ue.has(c)||(e.ignored?e.ignored(c):!1)},ys=e.ignoreAttribute||(()=>!1),Ec=Ms(_r($e,Tc),ys)!==Ms(p,ys);return{nodes:$e,text:me,textNodes:ie,localDiverged:Ec,mapLocal:Ne,conflicts:l.slice(h),granularity:Nt?"line":"word",segments:Sc(),localHunks:Et,remoteHunks:T,lToM:Ee}}var lu="http://www.w3.org/1999/xhtml";function au(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}function Kt(e){return!!e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.namespaceURI===lu}function cu(e){let t=(e.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return t==="application/json"||t.endsWith("+json")}function co(e,t){let n=e.getAttribute("src"),r=(e.getAttribute("type")||"text/javascript").split(";")[0].trim().toLowerCase();if(n){let o=n;try{let i=new URL(n,t);o=i.origin+i.pathname+i.search}catch{}return"script|src|"+r+"|"+o}return"script|inline|"+r+"|"+au(e.textContent.trim())}var uu={match:e=>e.hasAttribute("merge"),identity:e=>e.getAttribute("merge")};function Xn(e,t=[],n=!1){if(!Kt(e)||e.hasAttribute("src"))return null;let r=[uu,...t];for(let o=0;o<r.length;o++){let i=r[o];if(!i.match(e))continue;if(!cu(e))return n&&console.warn("[hyper-morph] merge ignored: script type is not JSON",e),null;let s=i.identity(e);return s==null||s===""?null:{key:o+":"+s,raw:s,recognizer:i}}return null}function qs(e,t,n){let r=new Set,o=i=>{Kt(i)&&!t(i)&&r.add(co(i,n))};o(e);for(let i of e.querySelectorAll("script"))o(i);return r}function Cr(e,t){let n=t.createElement("div");n.innerHTML="<script><\/script>";let r=n.firstChild;for(let o of e.attributes)r.setAttribute(o.name,o.value);return r.textContent=e.textContent,r}function Bs(e,t,n){let r=[],o=[],i=Array.from(e.querySelectorAll("script"));Kt(e)&&i.unshift(e);for(let s of i){if(!Kt(s)||n.ignored(s)||n.skip.has(s)||t.has(co(s,n.baseURI)))continue;let l=s.ownerDocument.createElement("script");for(let a of s.attributes)l.setAttribute(a.name,a.value);l.textContent=s.textContent,n.beforeNodeAdded(l)!==!1&&(l.hasAttribute("src")&&o.push(new Promise(a=>{l.addEventListener("load",()=>a()),l.addEventListener("error",()=>a())})),s.replaceWith(l),n.afterNodeAdded(l),r.push(l))}return{executed:r,loads:o}}function fu(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}function du(e,t){try{let n=new URL(e,t);return n.origin+n.pathname+n.search}catch{return e}}function Hs(e,t){let n=e.tagName;if(n==="TITLE"||n==="BASE")return n;if(n==="SCRIPT")return co(e,t);if(n==="LINK"){let r=e.getAttribute("href");return r?"link|"+(e.getAttribute("rel")||"")+"|"+du(r,t):e.outerHTML}if(n==="META"){for(let r of["charset","name","property","http-equiv","itemprop"])if(e.hasAttribute(r))return"meta|"+r+"="+e.getAttribute(r);return e.outerHTML}return n==="STYLE"?"style|"+fu(e.textContent):e.outerHTML}function gi(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
3
+ `;)t++;continue}if(e[t]==="/"&&e[t+1]==="*"){let n=e.indexOf("*/",t+2);if(n===-1)return e.length;t=n+2;continue}return t}}function hu(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,n)=>n.length%2===0?n+'\\"':t)}var mu=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,pu=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function bi(e){try{return JSON.parse(e)}catch{return JSON.parse(gu(e))}}function gu(e){let t="",n=0,r=(o,i)=>{throw new Error(`Invalid relaxed JSON: ${o} at position ${i}`)};for(;n<e.length&&(n=gi(e,n),!(n>=e.length));){let o=e[n];if("{}[]:".includes(o)){t+=o,n++;continue}if(o===","){let l=gi(e,n+1);if(e[l]==="}"||e[l]==="]"){n++;continue}t+=o,n++;continue}if(o==='"'||o==="'"){let l=n+1;for(;l<e.length&&e[l]!==o;)e[l]==="\\"&&l++,l++;l>=e.length&&r("unterminated string",n);let a=e.slice(n+1,l);o==="'"&&(a=hu(a)),t+='"'+a+'"',n=l+1;continue}let i=n;for(;i<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[i]);)i++;i===n&&r("unexpected character "+JSON.stringify(o),n);let s=e.slice(n,i);if(s==="true"||s==="false"||s==="null"||mu.test(s)){t+=s,n=i;continue}if(pu.test(s)){if(e[gi(e,i)]===":"){t+='"'+s+'"',n=i;continue}r("unquoted value "+JSON.stringify(s),n)}r("invalid token "+JSON.stringify(s),n)}return t}var yt=Symbol("hyper-morph-json-merge:missing"),$s=["id","_id","uuid","key","slug","code","name"];function Jn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Or(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function bu(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})}function Sn(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Sn(e[n],t[n]))return!1;return!0}if(Jn(e)&&Jn(t)){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Or(t,r)||!Sn(e[r],t[r]))return!1;return!0}return!1}function Us(e,t,n,r){return Sn(t,n)?t:Sn(t,e)?n:Sn(n,e)?t:Jn(t)&&Jn(n)?ku(Jn(e)?e:{},t,n,r):Array.isArray(t)&&Array.isArray(n)?wu(Array.isArray(e)?e:[],t,n,r):n}function zs(e,t,n,r){return t===yt&&n===yt?yt:t===yt?e===yt?n:Sn(n,e)?yt:n:n===yt?e===yt?t:yt:Us(e,t,n,r)}function ku(e,t,n,r){let o={},i=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(n)]);for(let s of i){let l=zs(Or(e,s)?e[s]:yt,Or(t,s)?t[s]:yt,Or(n,s)?n[s]:yt,r);l!==yt&&bu(o,s,l)}return o}function yu(e){return e===null||typeof e!="object"}function uo(e){return typeof e+":"+String(e)}function xu(e,t){for(let n of t){let r=new Set;for(let o of n){if(!Or(o,e))return!1;let i=o[e];if(typeof i!="string"&&typeof i!="number")return!1;let s=uo(i);if(r.has(s))return!1;r.add(s)}}return!0}function vu(e,t,n,r){let o=[e,t,n],i=!0;for(let s of o)for(let l of s)Jn(l)||(i=!1);if(i){for(let s of r.keyCandidates)if(xu(s,o))return{kind:"keyed",field:s};return null}for(let s of o){let l=new Set;for(let a of s){if(!yu(a))return null;let h=uo(a);if(l.has(h))return null;l.add(h)}}return{kind:"self"}}function wu(e,t,n,r){let o=vu(e,t,n,r);if(!o)return n;let i=o.kind==="self"?uo:u=>uo(u[o.field]),s=u=>{let m=new Map;for(let p of u)m.set(i(p),p);return m},l=s(e),a=s(t),h=s(n),d=new Map,b=new Set([...l.keys(),...a.keys(),...h.keys()]);for(let u of b){let m=zs(l.has(u)?l.get(u):yt,a.has(u)?a.get(u):yt,h.has(u)?h.get(u):yt,r);m!==yt&&d.set(u,m)}let f=[];for(let u of n){let m=i(u);d.has(m)&&f.push(m)}for(let u=0;u<t.length;u++){let m=i(t[u]);if(!d.has(m)||f.includes(m))continue;let p=0;for(let v=u-1;v>=0;v--){let A=f.indexOf(i(t[v]));if(A!==-1){p=A+1;break}}f.splice(p,0,m)}return f.map(u=>d.get(u))}function Vs(e,t,n,r={}){let o=r.keyCandidates?[...r.keyCandidates,...$s]:$s;return Us(e===void 0?yt:e,t,n,{keyCandidates:o})}function ki(e,t,n,r={}){let o=r.parse||bi,i=[],s=(b,f)=>{if(typeof b!="string")return yt;try{return o(b)}catch(u){return i.push(`${f} side is not valid JSON (${u.message})`),yt}},l=s(t,"local"),a=s(n,"remote");if(l===yt)return{text:n,warnings:i};if(a===yt)return{text:t,warnings:i};let h=s(e,"base"),d=Vs(h===yt?void 0:h,l,a,r);return Sn(d,a)?{text:n,warnings:i}:Sn(d,l)?{text:t,warnings:i}:{text:JSON.stringify(d,null,2),warnings:i}}var Le=e=>!!e&&e.nodeType===1,Au=new Set("P H1 H2 H3 H4 H5 H6 DIV LI DD DT BLOCKQUOTE FIGCAPTION SUMMARY ADDRESS".split(" ")),Ws=5e4;function yi(e,t,n,r){let o=r.ignored,i=_s({ignored:o,ignoreAttribute:r.ignoreAttribute}),{unitsOf:s,meta:l}=i,a=r.baseURI,h=r.mergeTags!==null,d=T=>D=>{if(h&&D.tagName==="SCRIPT"){let F=Xn(D,r.mergeTags);if(F)return"merge:"+F.key}return D.parentElement&&D.parentElement.tagName==="HEAD"?Hs(D,a):T(D)},b=d(r.identity.base),f=d(r.identity.local),u=d(r.identity.remote),m=r.authored||r.identity,p=T=>T&&T.nodeType===9?T.documentElement:T,v=p(e),A=p(t),M=p(n),L=globalThis.__hyperMorphProfile,H=L?performance.now():0,B="[id],[data-id],script,head>*",te=T=>T===In?B:null,re=so(v,b,o,te(r.identity.base)),K=r.localIsBase?Gs():oi(v,A,{analyzer:i,baseIndex:re,sideIndex:so(A,f,o,te(r.identity.local)),baseId:m.base,sideId:m.local}),W=oi(v,M,{analyzer:i,baseIndex:re,sideIndex:so(M,u,o,te(r.identity.remote)),baseId:m.base,sideId:m.remote});Ve(),Ke(K,W),Ke(W,K),L&&(L.alignTotal=(L.alignTotal||0)+(performance.now()-H),H=performance.now());let he=v.ownerDocument.implementation.createHTMLDocument(""),V=new WeakMap,xe=new WeakMap,We=[],at=[],Nt=new Set,xt=[],_e=new Set,dt=new Set,Ze=new Set,Rt=new WeakMap,nt=r.conflicts||"remote",Qe=T=>We.push(T),ct=T=>We.push(T),C=T=>at.push(T),G=Ce(),ye=y(v,K.map.get(v),W.map.get(v),!!r.localIsBase,!!r.childrenOnly);ye.tagName==="HTML"?he.replaceChild(ye,he.documentElement):he.body.appendChild(ye),L&&(L.build=(L.build||0)+(performance.now()-H));let se=r.childrenOnly?!Ge(ft(ye),ft(M)):!ht(ye,M);return{doc:he,root:ye,provenance:V,textMappers:xe,decisions:We,conflicts:at,localDiverged:se,mergedScripts:Nt,segments:xt,remoteIdOf:r.identity.remote,customIdentity:r.identity.remote!==In,L:K,R:W};function Ce(){let T=new Map,D=new Set;if(r.localIsBase||!K.insertedByHash)return{partner:T,drop:D};let F=K.insertedByHash(),z=W.insertedByHash();if(!F.size||!z.size)return{partner:T,drop:D};let q={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},U=pe=>{let Xe=0;for(let Ee=pe.parentNode;Ee;Ee=Ee.parentNode)Xe++;return Xe},Q=[],le=pe=>{let Xe=pe.textContent.trim();return Xe.split(/\s+/).length>=3||Xe.replace(/\s/g,"").length>=12},ke=pe=>{let Xe=K.map.get(pe),Ee=W.map.get(pe);return Xe&&K.reverse.get(Xe.parentNode)!==pe.parentNode||Ee&&W.reverse.get(Ee.parentNode)!==pe.parentNode},me=(pe,Xe,Ee)=>{for(let At of Ee.parentNode.children){let Mt=At!==Ee&&pe.reverse.get(At);if(Mt&&ke(Mt))return!0}let Dt=pe.reverse.get(Ee.parentNode);if(Dt){for(let At of Dt.children)if(!Xe.map.has(At)&&!o(At))return!0}return!1};for(let[pe,Xe]of F){let Ee=z.get(pe);if(!Ee)continue;let Dt=Xe.length===1&&Ee.length===1;for(let At of Xe)Dn(At,q)||Q.push([At,Ee,U(At),Dt&&(le(At)||me(K,W,At)||me(W,K,Ee[0]))])}if(!Q.length)return{partner:T,drop:D};Q.sort((pe,Xe)=>pe[2]-Xe[2]);let ve=new Set,Pe=new Set,je=pe=>{for(let Xe of pe.querySelectorAll("*"))ve.add(Xe)},wt=(pe,Xe)=>pe.reverse.get(Xe.parentNode)||null;for(let[pe,Xe,,Ee]of Q){if(ve.has(pe))continue;let Dt=wt(K,pe),At=gt=>!Pe.has(gt)&&!ve.has(gt)&&gt.tagName===pe.tagName,Mt=Xe.find(gt=>At(gt)&&Dt&&wt(W,gt)===Dt)||(Ee?Xe.find(At):null);Mt&&(Pe.add(Mt),je(pe),je(Mt),!(Dt&&wt(W,Mt)===Dt)&&(T.set(pe,Mt),T.set(Mt,pe),D.add(nt==="local"?Mt:pe)))}return{partner:T,drop:D}}function rt(T,D,F){if(_e.add(T),G.drop.has(T))return null;_e.add(F);let z=D==="local"?T:F,q=D==="local"?F:T,U;return i.unitHash(z)===i.unitHash(q)?(U=ce(z,"local",!0),V.get(U).remote=q):U=$(z,q),C({kind:"structure",el:U,detail:"both-moved",base:null,local:z,remote:q}),Qe({kind:"insert",el:U,source:"both"}),U}function Ve(){if(!K.weak||!W.weak||!K.weak.size||!W.weak.size||!K.unpair)return;let T=new Map;for(let F of K.weak){let z=K.map.get(F);Le(F)&&Le(z)&&T.set(i.unitHash(z),F)}let D=!1;for(let F of Array.from(W.weak)){let z=W.map.get(F);if(!Le(F)||!Le(z))continue;let q=T.get(i.unitHash(z));!q||q===F||!K.weak.has(q)||K.map.has(F)&&W.map.has(q)||K.map.get(q).tagName===z.tagName&&(K.unpair(q),W.unpair(F),D=!0)}D&&(K.rematch(),W.rematch())}function Ke(T,D){if(!T.weak||!T.weak.size||!D.insertedByHash)return;let F=D.insertedByHash();if(!F.size)return;let z=!1;for(let q of Array.from(T.weak)){let U=T.map.get(q);if(!U)continue;let Q=F.get(i.unitHash(U));Q&&Q.some(le=>le.tagName===U.tagName)&&(T.unpair(q),z=!0)}z&&T.rematch()}function et(T,D){if(T.map.has(D))return T.map.get(D);let F=[];for(let q=D.parentNode;q&&!T.map.has(q);q=q.parentNode)F.push(q);let z=F.length?F[F.length-1].parentNode:D.parentNode;if(!z||!T.identical.has(z))return null;T.pairIdenticalChildren(z);for(let q=F.length-1;q>=0;q--)T.pairIdenticalChildren(F[q]);return T.map.get(D)||null}function ut(T,D,F){if(dt.has(T)||Ze.has(T))return C({kind:"structure",el:null,detail:"both-moved",base:T}),dt.has(T)?null:ce(F,D);let z=et(K,T),q=et(W,T);(!z||!q)&&C({kind:"structure",el:null,detail:"move-beats-delete",base:T});let U=y(T,z,q,!1);return(D==="local"?Qe:ct)({kind:"move",el:U,source:D}),U}function k(T,D,F,z){return z||!D||D===F?{el:F,asBase:!0,twin:q=>q,baseOf:q=>q,units:s(F),here:()=>!0,parentOfTwin:()=>F}:{el:D,asBase:!1,twin:q=>T.map.get(q),baseOf:q=>T.reverse.get(q),units:s(D),here:q=>Le(q)?q.parentNode===D||D.tagName==="TEMPLATE"&&q.parentNode===D.content:q.parent===D||D.tagName==="TEMPLATE"&&q.parent===D.content}}function g(T,D,F){return!D||F&&F.identical.has(T)?!1:Le(T)?l(T).hash!==l(D).hash:T.value!==D.value}function y(T,D,F,z,q=!1){let U=z||r.remoteWins(T),Q=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName),le={base:T,local:D||null,remote:F||null};if(V.set(Q,le),_e.add(T),dt.add(T),D&&_e.add(D),F&&_e.add(F),r.skipUnchanged&&!q&&(r.localIsBase||K.identical.has(T))&&F&&W.identical.has(T)&&!r.remoteWins(T)){le.unchanged=!0;for(let me of T.attributes)me.namespaceURI?Q.setAttributeNS(me.namespaceURI,me.name,me.value):Q.setAttribute(me.name,me.value);return Q}Ze.add(T),q||E(T,U?T:D,F,Q);let ke=T.tagName;if(Kt(T))_(T,U?T:D,F,Q);else if(ke==="TEXTAREA")Q.textContent=O(T.textContent,(U?T:D)?(U?T:D).textContent:T.textContent,F?F.textContent:T.textContent,Q,"text");else{let me=ge(T,D,F,U,Q),ve=ke==="TEMPLATE"&&Q.content?Q.content:Q;for(let Pe of me)ve.appendChild(Pe)}return Ze.delete(T),Q}function O(T,D,F,z,q){if(D===F)return D;if(D===T)return F!==T&&ct({kind:q,node:z,source:"remote"}),F;if(F===T)return Qe({kind:q,node:z,source:"local"}),D;let U=nt==="local"?D:F;return C({kind:q,node:z,base:T,local:D,remote:F,resolved:U}),We.push({kind:q,node:z,source:"both"}),U}function _(T,D,F,z){let q=T.textContent,U=D?D.textContent:q,Q=F?F.textContent:q,le=h?Xn(T,r.mergeTags,!0):null;if(le&&U!==Q){let ke=F&&F.getAttribute("merge-key")||T.getAttribute("merge-key"),{text:me,warnings:ve}=ki(r.localIsBase?void 0:q,U,Q,{parse:le.recognizer.parse,keyCandidates:ke?ke.split(/[\s,]+/).filter(Boolean):void 0});for(let Pe of ve)console.warn(`[hyper-morph] merge "${le.raw}": ${Pe}`);z.textContent=me,Nt.add(z),me!==Q?Qe({kind:"text",node:z,source:me===U?"local":"both"}):me!==q&&ct({kind:"text",node:z,source:"remote"});return}z.textContent=O(q,U,Q,z,"text")}function E(T,D,F,z){let q=new Map;for(let U of[T,D,F])if(U)for(let Q of U.attributes)r.ignoreAttribute(U,Q.name)||q.set(Q.name,Q);for(let[U,Q]of q){let le=T?T.getAttribute(U):null,ke=D?D.getAttribute(U):le,me=F?F.getAttribute(U):le,ve;ke===me?ve=ke:ke===le?(ve=me,ct({kind:"attr",el:z,name:U,source:"remote"})):me===le?(ve=ke,Qe({kind:"attr",el:z,name:U,source:"local"})):(ve=I(U,le,ke,me),ve===void 0&&(ve=nt==="local"?ke:me,C({kind:"attr",el:z,name:U,base:le,local:ke,remote:me,resolved:ve})),We.push({kind:"attr",el:z,name:U,source:"both"})),ve!=null&&(Q.namespaceURI?z.setAttributeNS(Q.namespaceURI,Q.name,ve):z.setAttribute(U,ve))}}function I(T,D,F,z){if(T==="class"){let q=me=>new Set((me||"").split(/\s+/).filter(Boolean)),U=q(D),Q=q(F),le=q(z),ke=new Set;for(let me of new Set([...U,...Q,...le])){let ve=U.has(me),Pe=Q.has(me),je=le.has(me);(Pe===je?Pe:Pe===ve?je:Pe)&&ke.add(me)}return[...ke].join(" ")}if(T==="style"){let q=ve=>{let Pe=new Map;if(!ve)return Pe;let je=0,wt=null,pe="",Xe=()=>{let Ee=pe.indexOf(":");Ee>0&&Pe.set(pe.slice(0,Ee).trim(),pe.slice(Ee+1).trim()),pe=""};for(let Ee of ve){if(wt){pe+=Ee,Ee===wt&&(wt=null);continue}if(Ee==='"'||Ee==="'"){wt=Ee,pe+=Ee;continue}if(Ee==="("?je++:Ee===")"&&je--,Ee===";"&&je===0){Xe();continue}pe+=Ee}return pe.trim()&&Xe(),Pe},U=q(D),Q=q(F),le=q(z),ke=new Map,me=!1;for(let ve of new Set([...U.keys(),...Q.keys(),...le.keys()])){let Pe=U.get(ve)??null,je=Q.get(ve)??null,wt=le.get(ve)??null,pe;je===wt?pe=je:je===Pe?pe=wt:wt===Pe?pe=je:(pe=nt==="local"?je:wt,me=!0),pe!=null&&ke.set(ve,pe)}return me?void 0:[...ke].map(([ve,Pe])=>`${ve}: ${Pe}`).join("; ")}}function N(T,D,F,z){let q=T.value,U=z?q:D?D.value:"",Q=F?F.value:"";_e.add(T),D&&_e.add(D),F&&_e.add(F);let le=Tr(q,U,Q,nt),ke=le.text===""?null:he.createTextNode(le.text);ke&&(V.set(ke,{base:T.nodes,local:D?D.nodes:null,remote:F?F.nodes:null}),xe.set(ke,le.mapLocalOffset)),U!==q&&Q!==q?We.push({kind:"text",node:ke,source:"both"}):U!==q?Qe({kind:"text",node:ke,source:"local"}):Q!==q&&ct({kind:"text",node:ke,source:"remote"});for(let me of le.conflicts)C({kind:"text",node:ke,base:q.slice(me.bs,me.be),local:me.local,remote:me.remote,resolved:me.resolved});return ke}function j(T,D){return Er(T,D).every(F=>F.bs===F.be)}function J(T,D){let F=T?T.value:"",z=D?D.value:"",q;if(F===z||!z?q=F:F?j(F,z)?q=z:j(z,F)?q=F:(q=nt==="local"?F:nt==="both"?F+z:z,C({kind:"structure",el:null,detail:"insert-collision",local:F,remote:z,resolved:q})):q=z,T&&_e.add(T),D&&_e.add(D),q==="")return null;let U=he.createTextNode(q);return V.set(U,{base:null,local:T?T.nodes:null,remote:D?D.nodes:null}),F?Qe({kind:"insert",el:U,source:z&&F===z?"both":"local"}):ct({kind:"insert",el:U,source:"remote"}),U}function $(T,D){let F={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},z=le=>s(le).every(ke=>Le(ke)?Dn(ke,F):ke.kind==="text"),q=null;if(z(T)&&z(D)){let le=T.textContent,ke=D.textContent;le===ke||j(ke,le)?q=D:j(le,ke)&&(q=T)}if(!q){let le=nt==="local",ke=ce(le?T:D,le?"local":"remote",!0),me=V.get(ke);return le?me.remote=D:me.local=T,C({kind:"structure",el:ke,detail:"insert-collision",local:T,remote:D,resolved:le?T:D}),ke}let U=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName);E(null,T,D,U),V.set(U,{base:null,local:T,remote:D}),_e.add(T),_e.add(D);let Q=pi({base:Array.from(q.childNodes),local:Array.from(T.childNodes),remote:Array.from(D.childNodes),out:he,policy:nt,idOf:{local:f,remote:u},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,provenance:V,textMappers:xe,conflicts:at,decisions:We,node:U});xt.push(...Q.segments);for(let le of Q.nodes)U.appendChild(le);return U}function ce(T,D,F=!1){if(!F&&Le(T)){let Q=G.partner.get(T);if(Q)return rt(T,D,Q)}if(!Le(T)){if(T.value==="")return null;let Q=T.kind==="comment"?he.createComment(T.value):he.createTextNode(T.value);return V.set(Q,{base:null,local:D==="local"?T.nodes:null,remote:D==="remote"?T.nodes:null}),_e.add(T),Q}let z=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName);for(let Q of T.attributes)Q.namespaceURI?z.setAttributeNS(Q.namespaceURI,Q.name,Q.value):z.setAttribute(Q.name,Q.value);V.set(z,{base:null,local:D==="local"?T:null,remote:D==="remote"?T:null}),_e.add(T);let q=T.tagName==="TEMPLATE"&&z.content?z.content:z,U=D==="local"?K:W;for(let Q of s(T)){let le=Le(Q)?U.reverse.get(Q):null;if(le&&dt.has(le)){C({kind:"structure",el:null,detail:"both-moved",base:le});continue}if(le&&!Ze.has(le)){let me=K.map.get(le)||null,ve=W.map.get(le)||null;if(me||ve){let Pe=y(le,me,ve,!1);D==="local"?Qe({kind:"move",el:Pe,source:"local"}):ct({kind:"move",el:Pe,source:"remote"}),q.appendChild(Pe);continue}}let ke=ce(Q,D);ke&&q.appendChild(ke)}return z}function ge(T,D,F,z,q){D&&K.identical.has(T)&&K.pairIdenticalChildren(T),F&&W.identical.has(T)&&W.pairIdenticalChildren(T);let U=k(K,D,T,z),Q=k(W,F,T,!1),le=s(T),ke=new Set(le),me=new Map;for(let Y=0;Y<le.length;Y++)me.set(le[Y],Y);let ve=[],Pe=new Set,je=new Map,wt=new Set,pe=new Set,Xe=[];no();let Ee=Y=>{let Te=[];for(let be of Y.units){if(pe.has(be))continue;let Ne=Y.baseOf(be);Ne&&ke.has(Ne)&&Te.push(me.get(Ne))}return Te},Dt=Y=>Y.every((Te,be)=>be===0||Te>=Y[be-1]),At=!U.asBase&&!Dt(Ee(U)),Mt=!Q.asBase&&!Dt(Ee(Q));At&&Mt&&C({kind:"structure",el:null,detail:"both-reordered",base:T});let gt=Mt||!At?{V:Q,A:W,side:"remote",other:U,otherA:K,otherSide:"local"}:{V:U,A:K,side:"local",other:Q,otherA:W,otherSide:"remote"};At?Qe({kind:"move",el:null,source:Mt?"both":"local",base:T}):Mt&&ct({kind:"move",el:null,source:"remote",base:T});let xr=U.asBase?[]:U.units.filter(Y=>!U.baseOf(Y)&&!pe.has(Y)&&!G.partner.has(Y)),vr=Q.asBase?[]:Q.units.filter(Y=>!Q.baseOf(Y)&&!pe.has(Y)&&!G.partner.has(Y)),hn=new Map;if(xr.length&&vr.length){let Y=new Map,Te=new Map;for(let ie of vr){if(Le(ie)){let oe=u(ie);oe&&Y.set(oe,ie)}let Se=i.unitHash(ie);Te.has(Se)||Te.set(Se,[]),Te.get(Se).push(ie)}let be=(ie,Se)=>{let oe=ie.units.indexOf(Se);for(let Re=oe-1;Re>=0;Re--){let Fe=ie.baseOf(ie.units[Re]);if(Fe)return Fe}return"start"},Ne=new Map,$e=new Map;for(let ie of vr){let Se=be(Q,ie);Le(ie)?($e.has(Se)||$e.set(Se,[]),$e.get(Se).push(ie)):ie.kind==="text"&&!Ne.has(Se)&&Ne.set(Se,ie)}for(let ie of xr){let Se=null;if(Le(ie)){let oe=f(ie);oe&&Y.has(oe)&&!hn.has(Y.get(oe))&&(Se=Y.get(oe))}else if(ie.kind==="text"){let oe=Ne.get(be(U,ie));oe&&!hn.has(oe)&&(Se=oe)}if(!Se){let oe=Te.get(i.unitHash(ie));oe&&(Se=oe.find(Re=>!hn.has(Re)&&Le(Re)===Le(ie)&&(Le(Re)?Re.tagName===ie.tagName:Re.kind===ie.kind))||null)}if(!Se&&Le(ie)){let oe=m.local(ie),Re=($e.get(be(U,ie))||[]).filter(Fe=>{let Pt=m.remote(Fe);return!hn.has(Fe)&&Fe.tagName===ie.tagName&&!(oe&&Pt&&oe!==Pt)&&i.similar(ie,Fe)});Re.length===1&&(Se=Re[0])}Se&&(hn.set(Se,ie),hn.set(ie,Se))}}let nn=Y=>{if(_e.has(Y))return je.get(Y)||null;let Te=U.twin(Y),be=Q.twin(Y),Ne=Te&&!U.asBase&&!U.here(Te),$e=be&&!Q.asBase&&!Q.here(be);if(Ne||$e){if((!Te||!be)&&C({kind:"structure",el:null,detail:"move-beats-delete",base:Y}),!Wt(Y))return _e.add(Y),null;C({kind:"structure",el:null,detail:"both-moved",base:Y})}if(!Te&&!be)return _e.add(Y),ct({kind:"remove",source:"both",base:Y}),null;if(!Te&&!g(Y,be,W))return _e.add(Y),Qe({kind:"remove",source:"local",base:Y}),null;if(!be&&!g(Y,Te,K))return _e.add(Y),ct({kind:"remove",source:"remote",base:Y}),null;let ie=!Te||!be,Se=U.asBase?K.map.get(Y)||null:Te,oe;return Le(Y)?oe=y(Y,Se,be,U.asBase):Y.kind==="comment"?oe=vt(Y,Se,be,U.asBase):oe=N(Y,Se,be,U.asBase),_e.add(Y),oe&&(je.set(Y,oe),Te&&je.set(Te,oe),be&&je.set(be,oe),ie&&(C({kind:"structure",el:oe,detail:"edit-beats-delete",base:Y}),Te?Qe({kind:"insert",el:oe,source:"local"}):ct({kind:"insert",el:oe,source:"remote"}))),oe},Un=(Y,Te,be,Ne)=>{if(_e.has(Y))return je.get(Y)||null;let $e=Te.baseOf(Y);if($e&&ke.has($e))return pe.has($e)&&!pe.has(Y)?Qr($e,Y,Ne):nn($e);if($e)return eo($e,Y,Ne);let ie=hn.get(Y);if(ie){let oe=Ne==="local"?Y:ie,Re=Ne==="local"?ie:Y,Fe;return Le(oe)?i.unitHash(oe)===i.unitHash(Re)?(Fe=ce(oe,"local"),V.get(Fe).remote=Re):Fe=$(oe,Re):Fe=J(oe,Re),_e.add(oe),_e.add(Re),Fe&&(je.set(oe,Fe),je.set(Re,Fe),Le(oe)&&Qe({kind:"insert",el:Fe,source:"both"})),Fe}let Se=ce(Y,Ne);return Se&&(je.set(Y,Se),Ne==="local"?Qe({kind:"insert",el:Se,source:"local"}):ct({kind:"insert",el:Se,source:"remote"})),Se},Qr=(Y,Te,be)=>{let Ne;return Le(Y)?(Ne=ut(Y,be,Te),Ne&&_e.add(Te)):(Ne=ce(Te,be),_e.add(Te),Ne&&(be==="local"?Qe:ct)({kind:"insert",el:Ne,source:be})),Ne&&je.set(Te,Ne),Ne},eo=(Y,Te,be)=>{let $e=(be==="local"?W:K).map.get(Y),ie=Te,Se=$e?Tt($e,be==="local"?F:D,be==="local"?W:K):!1,oe=$e&&!Se&&!Et(Y,$e);if(oe&&be===gt.otherSide)return C({kind:"structure",el:null,detail:"both-moved",base:Y}),null;if(oe&&C({kind:"structure",el:null,detail:"both-moved",base:Y}),$e||C({kind:"structure",el:null,detail:"move-beats-delete",base:Y}),Ze.has(Y)){C({kind:"structure",el:null,detail:"both-moved",base:Y});let Fe=ce(ie,be);return Fe&&je.set(Te,Fe),Fe}let Re=Le(Y)?y(Y,be==="local"?ie:K.map.get(Y)||null,be==="remote"?ie:W.map.get(Y)||null,!1):null;return Re&&(je.set(Y,Re),je.set(Te,Re),$e&&je.set($e,Re),be==="local"?Qe({kind:"move",el:Re,source:"local"}):ct({kind:"move",el:Re,source:"remote"})),Re};for(let Y of gt.V.units){if(pe.has(Y)){let be=je.get(Y);Pe.has(be)||(ve.push(be),Pe.add(be));continue}if(_e.has(Y)&&!(je.get(Y)&&Pe.has(je.get(Y)))){let be=gt.V.baseOf(Y);be&&!ke.has(be)&&C({kind:"structure",el:null,detail:"both-moved",base:be});continue}let Te=Un(Y,gt.V,gt.A,gt.side);Te&&!Pe.has(Te)&&(ve.push(Te),Pe.add(Te),!gt.V.baseOf(Y)&&!hn.has(Y)&&!pe.has(Y)&&wt.add(Te))}for(let Y of Xe)Pe.has(Y.frag)||(ve.splice(to(Y.at),0,Y.frag),Pe.add(Y.frag));if(!gt.other.asBase){let Y=gt.other,Te=gt.otherSide,be=gt.otherA,Ne=null,$e=0,ie=null;for(let Se of Y.units){let oe=je.get(Se);if(oe&&Pe.has(oe)){Ne=oe,ie=null;continue}if(_e.has(Se)){let Pt=Y.baseOf(Se);Pt&&!ke.has(Pt)&&C({kind:"structure",el:null,detail:"both-moved",base:Pt});continue}let Re=Un(Se,Y,be,Te);if(!Re)continue;let Fe;if(ie)Fe=ve.indexOf(ie)+1;else if(Ne){if(Fe=ve.indexOf(Ne)+1,Te==="remote")for(;Fe<ve.length&&wt.has(ve[Fe]);)Fe++}else Fe=$e++;ve.splice(Fe,0,Re),Pe.add(Re),ie=Re}}for(let Y=0;Y<le.length;Y++){let Te=le[Y];if(_e.has(Te))continue;let be=nn(Te);be&&ve.splice(to(Y),0,be)}return ve;function to(Y){for(let Te=Y-1;Te>=0;Te--){let be=je.get(le[Te]);if(be){let Ne=ve.indexOf(be);if(Ne>=0)return Ne+1}}return 0}function zn(Y){let Te={ignored:o,remoteWins:()=>!1},be=Z=>Y(Z)||Le(Z)&&r.remoteWins(Z)&&mn.has(Z.tagName)&&Dn(Z,Te),Ne=new Map,$e=Z=>{if(!Le(Z)||!Au.has(Z.tagName))return!1;let de=Ne.get(Z);return de===void 0&&(de=!o(Z)&&!r.remoteWins(Z)&&s(Z).every(be),Ne.set(Z,de)),de},ie=Z=>!Le(Z)&&Z.kind==="text",Se=null,oe=new Map,Re=Z=>{let de=oe.get(Z);if(de)return de;let we=Le(Z)?Z.textContent:Z.value;de=new Set;let Ie=we.toLowerCase();if(!(we.length>Ws))if(/^[\x00-\x7f]*$/.test(Ie))for(let Oe of Ie.split(/[^\p{L}\p{N}]+/u))Oe&&de.add(Oe);else for(let Oe of ci(Ie))/^[\s\p{P}]+$/u.test(Oe)||de.add(Oe);return oe.set(Z,de),de},Fe=Z=>(Le(Z)?Z.textContent:Z.value).toLowerCase().replace(/\s+/g," ").trim(),Pt=new Map,rn=Z=>{let de=Pt.get(Z);if(de)return de;de=new Set(Re(Z));let we=Oe=>{if(Oe)for(let Ye of Re(Oe))de.add(Ye)},Ie=ke.has(Z)?Z:!U.asBase&&U.baseOf(Z)||!Q.asBase&&Q.baseOf(Z);return Ie&&(we(Ie),we(K.map.get(Ie)),we(W.map.get(Ie))),Pt.set(Z,de),de},pn=(Z,de)=>{let we=Fe(de),Ie=ke.has(Z)?Z:!U.asBase&&U.baseOf(Z)||!Q.asBase&&Q.baseOf(Z),Oe=mt=>we?mt.split(we).length-1:0;if(Ie&&Le(de)&&!ke.has(de)){let mt=Oe(Fe(Ie));for(let bt of[K.map.get(Ie),W.map.get(Ie)]){if(!bt||bt===de||bt.ownerDocument!==de.ownerDocument)continue;let Qt=Fe(bt);if(Qt.length>we.length&&Oe(Qt)>=mt&&(Qt.startsWith(we)||Qt.endsWith(we)))return!1}}let Ye=Re(de),ot=rn(Z),qt=0;for(let mt of Ye)ot.has(mt)&&qt++;if(Ye.size&&qt*2>=Ye.size)return!0;if(!we||we.length>Ws)return!1;let zt=Ie?[Z,Ie,K.map.get(Ie),W.map.get(Ie)]:[Z],Jt=(mt,bt)=>mt!==bt&&(mt.startsWith(bt)||mt.endsWith(bt));if(zt.some(mt=>mt&&Jt(Fe(mt),we)))return!0;if(!ke.has(de)||!Ie)return!1;let _t=Fe(Z),Zt=Fe(Ie);return[K.map.get(de),W.map.get(de)].some(mt=>{let bt=mt&&Fe(mt);return!!bt&&_t!==bt&&(_t.startsWith(bt)&&!Zt.startsWith(bt)||_t.endsWith(bt)&&!Zt.endsWith(bt))})},Ut=Z=>{Se||(Se=new Set),Se.add(Z)},wn=Z=>{Ut(Z);for(let[de,we]of[[K,U],[W,Q]]){if(we.asBase)continue;let Ie=de.map.get(Z);Ie&&we.here(Ie)&&Ut(Ie)}},De=(Z,de)=>Z.asBase||le.every(we=>!Le(we)||de.identical.has(we)&&Z.here(de.map.get(we)))&&Z.units.every(we=>!Le(we)||Z.baseOf(we));if(De(U,K)&&De(Q,W))return null;let Ue=Z=>{if(Z.asBase)return!1;let de=-1;for(let we of Z.units){let Ie=Le(we)?Z.baseOf(we):null;if(!Ie||!ke.has(Ie))continue;let Oe=me.get(Ie);if(Oe<de)return!0;de=Oe}return!1};if(Ue(U)||Ue(Q))return null;for(let[Z,de]of[[U,K],[Q,W]]){if(Z.asBase||De(Z,de))continue;let we=Z.units,Ie=de===K?m.local:m.remote,Oe=(fe,ze)=>{let st=Le(fe)&&m.base(fe),tt=Le(ze)&&Ie(ze);return!st||!tt||st===tt},Ye=new Map;for(let fe=0;fe<we.length;fe++)Ye.set(we[fe],fe);let ot=fe=>!!fe&&(Le(fe)?Z.here(fe):Ye.has(fe)),qt=fe=>{let ze=Z.twin(fe);return ot(ze)?ze:null},zt=le.filter(fe=>!Z.twin(fe)&&$e(fe)),Jt=we.filter(fe=>!Z.baseOf(fe)&&$e(fe)),_t=(fe,ze)=>ze===le?!!qt(fe):ke.has(Z.baseOf(fe)),Zt=fe=>{let ze=new Int32Array(fe.length),st=new Int32Array(fe.length),tt=-1;for(let Je=0;Je<fe.length;Je++)ze[Je]=tt,_t(fe[Je],fe)&&(tt=Je);tt=fe.length;for(let Je=fe.length-1;Je>=0;Je--)st[Je]=tt,_t(fe[Je],fe)&&(tt=Je);return{prev:ze,next:st}},mt=Zt(we),bt=Zt(le),Qt=(fe,ze)=>{wn(fe),Ut(ze)};for(let fe of Jt){let ze=Ye.get(fe),st=mt.prev[ze],tt=mt.next[ze],Je=st>=0?Z.baseOf(we[st]):null,an=tt<we.length?Z.baseOf(we[tt]):null,on=Je?me.get(Je):-1,An=an?me.get(an):le.length;for(let en=Math.max(0,on);en<=Math.min(An,le.length-1);en++){let $t=le[en];($e($t)||ie($t))&&(!Oe($t,fe)||!pn($t,fe)||(ie($t)?Ut(fe):Qt($t,fe)))}}let ln=(fe,ze,st)=>{for(let tt=ze+st;tt>=0&&tt<fe.length;tt+=st){let Je=fe[tt];if($e(Je))return Je;if(Le(Je)||Je.value.trim())return null}return null},ro=fe=>{let ze=new Set;for(let st of s(fe))if(!Le(st)&&st.kind==="text")for(let tt of Re(st))ze.add(tt);return ze},wr=(fe,ze)=>{let st=Re(ze),tt=new Set;for(let Je of ro(fe))st.has(Je)||tt.add(Je);return tt},Ar=(fe,ze)=>{if(!fe.size)return!1;let st=Re(ze),tt=0;for(let Je of fe)st.has(Je)&&tt++;return tt*2>=fe.size};for(let fe of le){if(de.identical.has(fe)||!$e(fe))continue;let ze=qt(fe);if(!ze||!$e(ze))continue;let st=wr(ze,fe),tt=wr(fe,ze);for(let Je of[-1,1]){let an=ln(le,me.get(fe),Je);an&&Ar(st,an)&&(Qt(fe,ze),wn(an));let on=ln(we,Ye.get(ze)??-1,Je);if(on&&Ar(tt,on)){Qt(fe,ze);let An=Z.baseOf(on);An?Qt(An,on):Ut(on)}}}for(let fe of zt){let ze=me.get(fe),st=bt.prev[ze],tt=bt.next[ze],Je=st>=0?qt(le[st]):null,an=tt<le.length?qt(le[tt]):null,on=Je?Ye.get(Je)??-1:-1,An=an?Ye.get(an)??-1:we.length;for(let en=Math.max(0,on);en<=Math.min(An,we.length-1);en++){let $t=we[en];if(($e($t)||ie($t))&&!(!Oe(fe,$t)||!pn($t,fe))&&(wn(fe),!ie($t))){let Yt=Z.baseOf($t);Yt?Qt(Yt,$t):Ut($t)}}}}if(!Se)return null;for(let Z of Array.from(Se))if(ke.has(Z))for(let de of[K,W]){let we=de.map.get(Z);we&&we.parentNode!==(de===K?D:F)&&!(de===K?U:Q).asBase&&Se.delete(Z)}return Se.size?Se:null}function no(){if((U.asBase||K.identical.has(T))&&(Q.asBase||W.identical.has(T)))return;let Y={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},Te=De=>Le(De)?Dn(De,Y):De.kind==="text",be=zn(Te),Ne=De=>be&&be.has(De)||Te(De),$e=le.map(Ne);if(!$e.includes(!0))return;let ie=De=>{let Ue=De.units,Z=new Map;for(let ot=0;ot<Ue.length;ot++)Z.set(Ue[ot],ot);let de=[],we=-1;for(let ot=0;ot<le.length;ot++){if($e[ot])continue;let qt=De.twin(le[ot]),zt=qt?Z.get(qt):void 0;zt===void 0||zt<=we||Ne(qt)||(de.push([ot,zt]),we=zt)}let Ie=[],Oe=-1,Ye=-1;for(let ot=0;ot<=de.length;ot++){let[qt,zt]=ot<de.length?de[ot]:[le.length,Ue.length],Jt={bLo:-1,bHi:-1,sLo:-1,sHi:-1,next:zt};for(let _t=Oe+1;_t<qt;_t++)$e[_t]&&(Jt.bLo<0&&(Jt.bLo=_t),Jt.bHi=_t);for(let _t=Ye+1;_t<zt;_t++)Ne(Ue[_t])&&(Jt.sLo<0&&(Jt.sLo=_t),Jt.sHi=_t);Ie.push(Jt),Oe=qt,Ye=zt}return{units:Ue,list:Ie}},Se=ie(U),oe=ie(Q),Re=[];for(let De of[Se,oe])for(let Ue of De.list)Ue.bLo>=0&&Re.push([Ue.bLo,Ue.bHi]);Re.sort((De,Ue)=>De[0]-Ue[0]);let Fe=[];for(let[De,Ue]of Re){let Z=Fe[Fe.length-1];Z&&De<=Z.hi?Z.hi=Math.max(Z.hi,Ue):Fe.push({lo:De,hi:Ue})}let Pt=(De,Ue)=>{let Z=-1,de=-1;for(let Oe=0;Oe<De.list.length;Oe++){let Ye=De.list[Oe];Ye.bLo<Ue.lo||Ye.bLo>Ue.hi||(Z<0&&(Z=Oe),de=Oe)}let we=1/0,Ie=-1;for(let Oe=Z;Oe>=0&&Oe<=de;Oe++){let Ye=De.list[Oe];Ye.sLo>=0&&(we=Math.min(we,Ye.sLo),Ie=Math.max(Ie,Ye.sHi)),Oe<de&&(we=Math.min(we,Ye.next),Ie=Math.max(Ie,Ye.next))}return Ie<0?[]:De.units.slice(we,Ie+1)},rn=(De,Ue)=>De.length===Ue.length&&De.every((Z,de)=>i.unitHash(Z)===i.unitHash(Ue[de])),pn=De=>!Le(De)&&De.kind==="comment",Ut=De=>{if(!De.length)return[];let Ue=(Oe,Ye)=>Le(Oe)?Oe:Oe.nodes[Ye?Oe.nodes.length-1:0],Z=Ue(De[0]),de=Ue(De[De.length-1],!0),we=Oe=>Oe&&Le(Oe)&&o(Oe);for(;we(Z.previousSibling);)Z=Z.previousSibling;for(;we(de.nextSibling);)de=de.nextSibling;let Ie=[];for(let Oe=Z;Oe&&(Ie.push(Oe),Oe!==de);Oe=Oe.nextSibling);return Ie},wn=De=>De.some(Ue=>Le(Ue)&&o(Ue));for(let De of Fe){let Ue=le.slice(De.lo,De.hi+1),Z=U.asBase?null:Pt(Se,De),de=Q.asBase?null:Pt(oe,De);if(Ue.some(pn)||Z&&Z.some(pn)||de&&de.some(pn))continue;let we=Ut(Z||Ue),Ie=Ut(de||Ue);if((!Z||rn(Ue,Z))&&(!de||rn(Ue,de))&&!(Z&&wn(we)))continue;let Oe=pi({base:Ut(Ue),local:we,remote:Ie,out:he,policy:nt,blocks:be,L:Z?K:Ks(K,T),R:de?W:Ks(W,T),idOf:{local:f,remote:u},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,mergeElement:(ot,qt,zt)=>y(ot,qt,zt,!1),cloneUnit:ce,mergeAttrs:E,atomKey:i.unitHash,moveIn:ut,provenance:V,textMappers:xe,conflicts:at,decisions:We,node:q});xt.push(...Oe.segments);let Ye=he.createDocumentFragment();for(let ot of Oe.nodes)Ye.appendChild(ot);for(let ot of[...Ue,...Z||[],...de||[]])_e.add(ot),pe.add(ot),je.set(ot,Ye);Xe.push({frag:Ye,at:De.lo})}}}function ht(T,D){let F=V.get(T);return F&&F.unchanged?!0:T.tagName!==D.tagName||!ue(T,D)?!1:Ge(ft(T),ft(D))}function ft(T){return T.tagName==="TEMPLATE"&&T.content?T.content:T}function ue(T,D){let F=0;for(let z of T.attributes)if(!r.ignoreAttribute(T,z.name)&&(F++,D.getAttribute(z.name)!==z.value))return!1;for(let z of D.attributes)r.ignoreAttribute(D,z.name)||F--;return F===0}function Ge(T,D){let F=Ft(T,q=>{let U=V.get(q);return!!(U&&U.pinned)}),z=Ft(D,o);if(F.length!==z.length)return!1;for(let q=0;q<F.length;q++){let U=F[q],Q=z[q];if(typeof U=="string"||typeof Q=="string"){if(U!==Q)return!1}else{if(U.nodeType!==Q.nodeType)return!1;if(U.nodeType===1){if(!ht(U,Q))return!1}else if(U.nodeValue!==Q.nodeValue)return!1}}return!0}function Ft(T,D){let F=[],z=null;for(let q=T.firstChild;q;q=q.nextSibling){if(q.nodeType===3){z=z===null?q.nodeValue:z+q.nodeValue;continue}q.nodeType===1&&D(q)||(z!==null&&(z!==""&&F.push(z),z=null),F.push(q))}return z!==null&&z!==""&&F.push(z),F}function vt(T,D,F,z){let q=T.value,U=z?q:D?D.value:"",Q=F?F.value:"";_e.add(T),D&&_e.add(D),F&&_e.add(F);let le=U===Q?U:U===q?Q:Q===q||nt==="local"?U:Q;if(U!==q&&Q!==q&&U!==Q&&C({kind:"text",node:null,base:q,local:U,remote:Q,resolved:le}),!D&&!F)return null;let ke=he.createComment(le);return V.set(ke,{base:T.nodes,local:D?D.nodes:null,remote:F?F.nodes:null}),ke}function Ht(T,D){let F=D.map.get(T);if(!F)return null;let z=Le(F)?F.parentNode:F.parent,q=Le(T)?T.parentNode:T.parent;return D.map.get(q)===z?null:D.reverse.get(z)||null}function Wt(T){let D=new Set([T]),F=T;for(let z=0;z<64;z++){let q=Ht(F,K)||Ht(F,W);if(!q)return!1;if(q===T||Le(T)&&Le(q)&&T.contains(q)||D.has(q))return!0;D.add(q),F=q}return!0}function Tt(T,D,F){if(!D)return!1;let z=Le(T)?T.parentNode:T.parent;return z===D||D.tagName==="TEMPLATE"&&z===D.content}function Et(T,D){let F=Le(T)?T.parentNode:T.parent,z=Le(D)?D.parentNode:D.parent;return!!(K.map.get(F)===z?K:W.map.get(F)===z?W:null)}}function Ks(e,t){return e.map.get(t)?Gs():{map:{get:r=>r&&r.nodeType===1&&e.map.get(r)||r,has:()=>!0},reverse:{get:r=>e.reverse.get(r)||r,has:()=>!0},moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}function Gs(){let e={get:t=>t,has:()=>!0};return{map:e,reverse:e,moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}var Ys=new Set(["INPUT","OPTION","TEXTAREA"]);function Xs(e,t,n,r){let o=e.ownerDocument,{provenance:i,textMappers:s}=n,l=r.hooks,a=[],h=[],d=[],b=new Set,f=[],u=[],m=new Set,p=new Map,v=k=>!!k&&(k===e||e.contains(k)||e.nodeType===1&&e.tagName==="TEMPLATE"&&e.content.contains(k)),A=new Map,M=new Map,L=new Map,H=new Map;(function k(g){let y=i.get(g);if(y){if(g.nodeType===1){let _=y.local?r.toLive(y.local):null;_&&v(_)&&_.nodeType===1&&(A.set(g,_),M.set(_,g))}else if(Array.isArray(y.local)){let _=K(y.local,y.local.map(E=>r.toLive(E)).filter(E=>E&&v(E)&&E.nodeType===g.nodeType));if(_.length&&(A.set(g,_[0]),M.set(_[0],g),L.set(g,_)),Array.isArray(y.caret))for(let E of y.caret){let I=r.toLive(E.node);if(!I||!v(I)||I.nodeType!==3)continue;let N=H.get(I);Array.isArray(N)||H.set(I,N=[]),N.push({merged:g,from:E.from,to:E.to,flatStart:E.flatStart})}else{let E=0;for(let I of _)H.set(I,{merged:g,shift:E}),E+=I.nodeValue.length}}}let O=g.nodeType===1&&g.tagName==="TEMPLATE"&&g.content?g.content.childNodes:g.childNodes;for(let _ of O)k(_)})(t);let B=new Set;for(let k of A.values())B.add(k);for(let k of L.values())for(let g of k)B.add(g);for(let k of n.segments||[])W(k);let te=r.restoreFocus===!1?null:Su(o,H);r.childrenOnly?We(he(e),he(t)):V(e,t);for(let{node:k,parent:g}of f)b.has(k)||!k.parentNode||k.nodeType===1&&(r.ignored(k)||at(k))||ct(k,g);return Tu(o,te,H,s,L,p),{applied:a,moved:h,replaced:d,identities:u,mergedScriptsLive:m,liveOf:A};function re(k,g){let y=k.slice(g.bs,g.be),O=0;for(;O<y.length&&O<g.text.length&&y[O]===g.text[O];)O++;let _=0;for(;_<y.length-O&&_<g.text.length-O&&y[y.length-1-_]===g.text[g.text.length-1-_];)_++;return{bs:g.bs+O,be:g.be-_,text:g.text.slice(O,g.text.length-_)}}function K(k,g){if(!g.length)return g;let y=new Set;for(let _ of k){let E=_.parentNode;if(E)for(let I=E.firstChild;I;I=I.nextSibling)I.nodeType===3&&y.add(r.toLive(I))}let O=[];for(let _ of g){O.push(_);for(let E=_.nextSibling;E&&E.nodeType===3&&!y.has(E)&&!O.includes(E);E=E.nextSibling)O.push(E)}return O}function W(k){let g=[];for(let ue of k.localNodes){let Ge=r.toLive(ue.node);if(!Ge||!v(Ge)||Ge.nodeType!==3)return;g.push(Ge)}let y=K(k.localNodes.map(ue=>ue.node),g);if(!y.length)return;let O=y.map(ue=>ue.nodeValue).join(""),{flatLocal:_,lToM:E,mapLocal:I}=k;if(O===_)return;let N=k.textNodes.map(ue=>({node:ue.node,ms:ue.ms,me:ue.me})),j=[],J=0;for(let ue of y)j.push(J),J+=ue.nodeValue.length;let $=(ue,Ge)=>y.find((Ft,vt)=>j[vt]<=ue&&ue+Ge<=j[vt]+Ft.nodeValue.length)||null,ce=[],ge=0;for(let ue of Er(_,O).map(Ge=>re(_,Ge))){let Ge=ue.bs+ge;ge+=ue.text.length-(ue.be-ue.bs);let Ft,vt;if(ue.be>ue.bs){Ft=E[ue.bs];let Ht=Ft>=0;for(let Wt=ue.bs;Ht&&Wt<ue.be;Wt++)E[Wt]!==Ft+(Wt-ue.bs)&&(Ht=!1);if(!Ht)continue;vt=Ft+(ue.be-ue.bs)}else{let Ht=ue.bs>0?E[ue.bs-1]:0,Wt=ue.bs<_.length?E[ue.bs]:0;if(Ht<0||Wt<0)continue;Ft=vt=I(ue.bs)}ce.push({ms:Ft,me:vt,text:ue.text,live:vt===Ft?$(Ge,ue.text.length):null})}ce.sort((ue,Ge)=>Ge.ms-ue.ms);let ht=(ue,Ge)=>(L.get(ue.node)||[A.get(ue.node)]).includes(Ge),ft=ue=>!!ue&&ue.nodeType===1&&mn.has(ue.tagName);for(let ue of ce){let Ge=N.find(vt=>vt.ms<=ue.ms&&ue.me<=vt.me&&ue.ms<vt.me);if(Ge&&ue.live&&Ge.ms===ue.ms&&!ht(Ge,ue.live)){let vt=N.find(Ht=>Ht.me===ue.ms&&ht(Ht,ue.live));vt&&(Ge=vt)}if(!Ge&&ue.me===ue.ms){let vt=N.find(Et=>Et.me===ue.ms),Ht=N.find(Et=>Et.ms===ue.ms),Wt=vt||Ht;if(!Wt)continue;let Tt=Wt.node;for(;ft(Tt.parentNode)&&(vt?Tt.parentNode.lastChild:Tt.parentNode.firstChild)===Tt;)Tt=Tt.parentNode;if(Tt===Wt.node)Ge=Wt;else{let Et=Tt.ownerDocument.createTextNode(ue.text);Tt.parentNode.insertBefore(Et,vt?Tt.nextSibling:Tt);continue}}if(!Ge)continue;let Ft=Ge.node.nodeValue;Ge.node.nodeValue=Ft.slice(0,ue.ms-Ge.ms)+ue.text+Ft.slice(ue.me-Ge.ms),Ge.me+=ue.text.length-(ue.me-ue.ms)}}function he(k){return k.nodeType===1&&k.tagName==="TEMPLATE"&&k.content?k.content:k}function V(k,g){b.add(k);let y=i.get(g);if(y&&y.remote&&n.remoteIdOf){let _=n.remoteIdOf(y.remote);_&&u.push([k,_])}if(y&&y.unchanged){n.customIdentity&&y.remote&&dt(k,y.remote),y.remote&&_e(k,y.remote);return}if(l.beforeNodeMorphed(k,g)===!1)return;ye(k,g);let O=k.tagName;if(Kt(k))k.textContent!==g.textContent&&(a.push({kind:"text",node:k,before:k.textContent,after:g.textContent}),k.textContent=g.textContent),n.mergedScripts.has(g)&&m.add(k);else if(O==="TEXTAREA")ut(k,g,y);else{Ke(k,g,y);let _=O==="TEMPLATE"&&k.content?k.content:k,E=O==="TEMPLATE"&&g.content?g.content:g;r.protectFocusedValue==="subtree"&&Ce(k)&&k!==o.body?xe(_):We(_,E)}l.afterNodeMorphed(k,g)}function xe(k){for(let g=k.firstChild;g;g=g.nextSibling){let y=M.get(g);y&&A.get(y.parentNode)!==k||(b.add(g),g.nodeType===1&&xe(g))}}function We(k,g){let y=nt(k.firstChild),O=new Set;for(let _ of Array.from(g.childNodes)){let E=A.get(_);E&&b.has(E)&&!O.has(E)&&(E=null);let I=i.get(_);if(I&&I.pinned){E&&E.nodeType===1&&((E.parentNode!==k||nt(E.nextSibling)!==y)&&Qe(k,E,y),b.add(E),O.add(E));continue}if(E&&E.nodeType===1){if(E!==y){let J=E.parentNode;if(J===k&&y&&rt(E)){let $=E.nextSibling;for(let ce=y;ce&&ce!==E;){let ge=ce.nextSibling;Qe(k,ce,$),ce=ge}}else Qe(k,E,y),J!==k&&(h.push(E),a.push({kind:"move",el:E,from:J,to:k}))}O.add(E),V(E,_),y=nt(E.nextSibling);continue}if(E&&E.nodeType!==1){let J=L.get(_)||[E];E!==y&&Qe(k,E,y);let $=_.nodeValue;if(_.nodeType===3){let ce=Nt(_),ge=J.map(ht=>ht.nodeValue).join("");ce!=null&&ge!==ce&&($=Tr(ce,ge,_.nodeValue).text)}l.beforeNodeMorphed(E,_)!==!1&&(E.nodeValue!==$&&(a.push({kind:"text",node:E,before:E.nodeValue,after:$}),E.nodeValue=$),l.afterNodeMorphed(E,_)),b.add(E),O.add(E),p.set(_,E),y=nt(E.nextSibling);continue}if(_.nodeType===3&&y&&y.nodeType===3&&!b.has(y)&&!H.has(y)){y.nodeValue!==_.nodeValue&&(a.push({kind:"text",node:y,before:y.nodeValue,after:_.nodeValue}),y.nodeValue=_.nodeValue),b.add(y),p.set(_,y),y=nt(y.nextSibling);continue}let N=i.get(_),j=C(N&&N.unchanged&&N.remote?N.remote:_);l.beforeNodeAdded(j)!==!1&&(k.insertBefore(j,y),b.add(j),j.nodeType===3&&p.set(_,j),j.nodeType===1&&(d.push(j),Rt(j,_),Kt(j)||G(j,_),r.formState==="property"&&Ve(N)&&_e(j,N.remote)),y=nt(j.nextSibling),a.push({kind:"insert",node:j,parent:k}),l.afterNodeAdded(j))}for(let _ of Array.from(k.childNodes))b.has(_)||O.has(_)||_.nodeType===1&&(r.ignored(_)||at(_))||(B.has(_)?f.push({node:_,parent:k}):ct(_,k))}function at(k){return r.preserve&&k.parentNode&&k.parentNode.nodeType===1&&k.parentNode.tagName==="HEAD"&&r.preserve(k)===!0}function Nt(k){let g=i.get(k);return!g||!Array.isArray(g.local)?null:g.local.map(y=>y.nodeValue).join("")}function xt(k){return i.get(k)}function _e(k,g){if(!Ys.has(k.tagName)&&!k.querySelector("input,option,textarea"))return;let y=(O,_)=>{if(O.tagName!==_.tagName)return;O.tagName==="TEXTAREA"?ut(O,_,{remote:_}):Ys.has(O.tagName)&&Ke(O,_,{remote:_});let E=Ze(O),I=Ze(_);if(E.length===I.length)for(let N=0;N<E.length;N++)y(E[N],I[N])};y(k,g)}function dt(k,g){let y=Ze(k),O=Ze(g);if(y.length===O.length)for(let _=0;_<y.length;_++){let E=n.remoteIdOf(O[_]);E&&u.push([y[_],E]),dt(y[_],O[_])}}function Ze(k){let g=k.tagName==="TEMPLATE"&&k.content?k.content:k;return Array.from(g.children).filter(y=>!r.ignored(y))}function Rt(k,g){if(!n.remoteIdOf)return;let y=(O,_)=>{let E=i.get(_);if(E&&E.remote&&_.nodeType===1){let j=n.remoteIdOf(E.remote);j&&u.push([O,j])}let I=O.childNodes,N=_.childNodes;for(let j=0;j<I.length&&j<N.length;j++)y(I[j],N[j])};y(k,g)}function nt(k){for(;k&&k.nodeType===1&&r.ignored(k);)k=k.nextSibling;return k}function Qe(k,g,y){if(typeof k.moveBefore=="function"&&g.ownerDocument===k.ownerDocument)try{k.moveBefore(g,y);return}catch{}k.insertBefore(g,y)}function ct(k,g){l.beforeNodeRemoved(k)!==!1&&(k.parentNode.removeChild(k),a.push({kind:"remove",node:k,parent:g}),l.afterNodeRemoved(k))}function C(k){if(Kt(k))return Cr(k,o);let g=o.importNode(k,!0);if(g.nodeType===1)for(let y of Array.from(g.querySelectorAll("script")))Kt(y)&&y.replaceWith(Cr(y,o));return g}function G(k,g){let y=k.tagName==="TEMPLATE"&&k.content?k.content:k,O=g.tagName==="TEMPLATE"&&g.content?g.content:g,_=Array.from(y.childNodes),E=Array.from(O.childNodes);for(let I=0;I<E.length&&I<_.length;I++){let N=E[I],j=_[I],J=A.get(N);J&&b.has(J)&&(J=null);let $=i.get(N);if($&&$.pinned){if(J&&J.nodeType===1){let ce=J.parentNode;Qe(y,J,j),ce!==y&&(h.push(J),a.push({kind:"move",el:J,from:ce,to:y})),b.add(J)}j.remove();continue}if(J){let ce=J.parentNode;Qe(y,J,j),j.remove(),J.nodeType===1?(ce!==y&&(h.push(J),a.push({kind:"move",el:J,from:ce,to:y})),V(J,N)):(b.add(J),p.set(N,J),J.nodeValue!==N.nodeValue&&(a.push({kind:"text",node:J,before:J.nodeValue,after:N.nodeValue}),J.nodeValue=N.nodeValue));continue}b.add(j),j.nodeType===3&&p.set(N,j),N.nodeType===1&&!Kt(N)&&G(j,N)}}function ye(k,g){for(let y of Array.from(g.attributes)){if(se(k,y.name)||r.ignoreAttribute(k,y.name))continue;let O=y.namespaceURI?k.getAttributeNS(y.namespaceURI,y.localName):k.getAttribute(y.name);O!==y.value&&l.beforeAttributeUpdated(y.name,k,"update")!==!1&&(y.namespaceURI?k.setAttributeNS(y.namespaceURI,y.name,y.value):k.setAttribute(y.name,y.value),a.push({kind:"attr",el:k,name:y.name,before:O,after:y.value}))}for(let y of Array.from(k.attributes)){if(se(k,y.name)||r.ignoreAttribute(k,y.name)||(y.namespaceURI?g.hasAttributeNS(y.namespaceURI,y.localName):g.hasAttribute(y.name))||l.beforeAttributeUpdated(y.name,k,"remove")===!1)continue;let _=y.value;y.namespaceURI?k.removeAttributeNS(y.namespaceURI,y.localName):k.removeAttribute(y.name),a.push({kind:"attr",el:k,name:y.name,before:_,after:null})}}function se(k,g){let y=k.tagName;return y==="INPUT"?g==="value"||g==="checked"||g==="disabled":y==="OPTION"?g==="selected":!1}function Ce(k){return k===o.activeElement}function rt(k){let g=o.activeElement;return!!g&&g!==o.body&&k.contains(g)}function Ve(k){let g=k&&k.remote;return g&&g.nodeType===1?g:null}function Ke(k,g,y){let O=k.tagName,_=Ve(y),E=r.formState==="property"&&_?_:g;if(O==="INPUT"){let I=r.protectFocusedValue&&Ce(k),N=(k.getAttribute("type")||"").toLowerCase(),j=N!=="file"&&N!=="checkbox"&&N!=="radio",J=_&&_.hasAttribute("value")&&_.value!==_.getAttribute("value")?_.value:null;if(j&&!I)if(r.formState==="property"){let $=g.getAttribute("value"),ce=k.getAttribute("value");(ce!==$||k.value!==E.value)&&l.beforeAttributeUpdated("value",k,$==null?"remove":"update")!==!1&&(ce!==$&&($==null?k.removeAttribute("value"):k.setAttribute("value",$),a.push({kind:"attr",el:k,name:"value",before:ce,after:$})),k.value!==E.value&&(k.value=E.value))}else if(g.hasAttribute("value")||J!=null){let $=J??g.getAttribute("value");k.getAttribute("value")!==$&&l.beforeAttributeUpdated("value",k,"update")!==!1?(k.setAttribute("value",$),k.value!==$&&(k.value=$),a.push({kind:"attr",el:k,name:"value",before:null,after:$})):k.value!==$&&k.getAttribute("value")===$&&(k.value=$)}else(k.hasAttribute("value")||k.value!=="")&&l.beforeAttributeUpdated("value",k,"remove")!==!1&&(k.removeAttribute("value"),k.value="",a.push({kind:"attr",el:k,name:"value",before:"",after:null}));if(!j&&N!=="file"){let $=g.getAttribute("value");$==null?k.hasAttribute("value")&&l.beforeAttributeUpdated("value",k,"remove")!==!1&&k.removeAttribute("value"):k.getAttribute("value")!==$&&l.beforeAttributeUpdated("value",k,"update")!==!1&&k.setAttribute("value",$)}I||(et(k,E,"checked"),r.formState==="property"&&k.indeterminate!==E.indeterminate&&(k.indeterminate=E.indeterminate)),et(k,E,"disabled")}else if(O==="OPTION"){let I=k.parentNode&&k.closest("select");r.protectFocusedValue&&I&&Ce(I)||et(k,E,"selected")}}function et(k,g,y){let O=r.formState==="property"?!!g[y]:g.hasAttribute(y);if(r.formState!=="property"){let _=k.hasAttribute(y);if(_!==O){if(l.beforeAttributeUpdated(y,k,O?"update":"remove")===!1)return;O?k.setAttribute(y,""):k.removeAttribute(y),a.push({kind:"attr",el:k,name:y,before:_?"":null,after:O?"":null})}}k[y]!==O&&(k[y]=O)}function ut(k,g,y){if(r.protectFocusedValue&&Ce(k)||l.beforeAttributeUpdated("value",k,"update")===!1)return;let O=Ve(y),_=g.textContent,E=O&&O.value!==O.defaultValue?O.value:_;r.formState!=="property"&&k.textContent!==_&&(a.push({kind:"text",node:k,before:k.textContent,after:_}),k.textContent=_),k.value!==E&&(k.value=E)}}function Su(e,t){let n=e.activeElement;if(!n||n===e.body||n===e.documentElement)return null;let r={el:n,id:n.getAttribute&&n.getAttribute("id"),scrollTop:n.scrollTop,scrollLeft:n.scrollLeft};if(n.tagName==="INPUT"||n.tagName==="TEXTAREA"){try{r.selection=[n.selectionStart,n.selectionEnd,n.selectionDirection]}catch{}return r}let o=e.getSelection&&e.getSelection();if(o&&o.rangeCount){let i=o.getRangeAt(0);r.range={sc:i.startContainer,so:i.startOffset,ec:i.endContainer,eo:i.endOffset}}return r}function Tu(e,t,n,r,o,i){if(!t)return;let s=t.el;if(!s.isConnected&&t.id&&(s=e.getElementById(t.id)),!s||!s.isConnected)return;if(e.activeElement!==s)try{s.focus({preventScroll:!0})}catch{}try{s.scrollTop=t.scrollTop,s.scrollLeft=t.scrollLeft}catch{}if(t.selection){try{s.setSelectionRange&&!s.selectionEnd&&t.selection[1]!=null&&s.setSelectionRange(t.selection[0],t.selection[1],t.selection[2]||"none")}catch{}return}if(!t.range)return;let l=(d,b)=>{let f=n.get(d);if(Array.isArray(f)){let u=f.find(A=>b>=A.from&&b<A.to)||f.find(A=>b===A.to)||f[f.length-1],m=i.get(u.merged);if(!m||!m.isConnected)return null;let p=r.get(u.merged),v=p&&p.flat?p.flat(u.flatStart+b):b;return[m,Math.max(0,Math.min(v,m.nodeValue.length))]}if(f){let u=(o.get(f.merged)||[d])[0];if(!u.isConnected)return null;let m=r.get(f.merged),p=f.shift+b,v=m?m(p):p;return[u,Math.max(0,Math.min(v,u.nodeValue.length))]}return d.isConnected?[d,Math.min(b,d.nodeType===3?d.nodeValue.length:d.childNodes.length)]:null},a=l(t.range.sc,t.range.so),h=l(t.range.ec,t.range.eo);if(!(!a||!h))try{let d=e.createRange();d.setStart(a[0],a[1]),d.setEnd(h[0],h[1]);let b=e.getSelection();b.removeAllRanges(),b.addRange(d)}catch{}}var jm=Symbol("hyper-morph-duplicate-key");var Eu='[editor-ui],[clay~="editor-ui"],[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]',_u='[editor-ui],[clay~="editor-ui"],[no-undo],[clay~="no-undo"]',Cu='[no-undo]:not([editor-ui]):not([clay~="editor-ui"]),[clay~="no-undo"]:not([editor-ui]):not([clay~="editor-ui"])';function Ou(e){if(e.tagName!=="LINK"&&e.tagName!=="SCRIPT")return!1;let t=e.getAttribute("src")||e.getAttribute("href")||"";return/^(chrome|moz|safari-web)-extension:/.test(t)}function Nu(e,t,n,r){if(t==null)return;if(typeof t=="string")return t;let o=t;if(o.nodeType===9){let i=e.getAttribute("id");o=i&&o.getElementById(i)||(e.tagName==="BODY"?o.body:e.tagName==="HTML"?o.documentElement:o.body&&o.body.firstElementChild)}if((!o||o.nodeType!==1||o.tagName!==e.tagName)&&(o=Ru(e,t,r)),!!o)return n?Array.from(o.childNodes):o}function Ru(e,t,n){let r=t.nodeType===9?t.documentElement:t;if(!r||r.nodeType!==1)return null;let o=new Map,i=[r,...r.querySelectorAll("script")];for(let a of i){let h=Xn(a,n);h&&!o.has(h.key)&&o.set(h.key,a.textContent)}if(!o.size)return null;let s=e.cloneNode(!0),l=!1;for(let a of[s,...s.querySelectorAll("script")]){let h=Xn(a,n);h&&o.has(h.key)&&(a.textContent=o.get(h.key),l=!0)}return l?s:null}function Js(e,t){if(typeof e=="string"||e.nodeType===9)return e;if(e.nodeType===1&&e===e.ownerDocument.documentElement)return e.ownerDocument;let n=t.implementation.createHTMLDocument(""),r=e.nodeType===1&&e.tagName==="HTML"?e:null;if(r)return n.replaceChild(n.adoptNode(r),n.documentElement),n;let o=e.nodeType===11?Array.from(e.childNodes):e.nodeType?[e]:Array.from(e);for(let i of o)n.body.appendChild(n.adoptNode(i));return n}function Tn(e,t,n={}){let r=n||{};if(!r.head?.block)return Zs(e,t,r);try{return Zs(e,t,r)}catch(o){return Promise.reject(o)}}function Zs(e,t,n){let r=n.policy||"sync",o=r==="raw"?void 0:(a,h)=>Ou(a)||(r==="history"?!(h&&a.matches(Cu))&&a.matches(_u):a.matches(Eu)),i=n.callbacks||{},s={ignore:o,hooks:i,protectFocusedValue:n.ignoreActiveValue===!0?"subtree":!1,restoreFocus:n.restoreFocus!==!1,formState:n.formStateSync||"attribute",scripts:{execute:n.scripts?.handle!==!1,merge:n.scripts?.merge!==!1,mergeTags:n.scripts?.mergeTags||[]},head:{awaitLoads:!!n.head?.block,preserve:n.head?.shouldPreserve||(()=>!1)}};if(typeof n.key=="function"&&(s.identity={base:n.key,local:n.key,remote:n.key}),e&&e.nodeType===9)return Nr(Object.assign({},s,{live:e,base:n.scripts?.mergeBase||null,remote:Js(t,e)}));if(e.tagName==="HTML"&&e.parentNode&&e.parentNode.nodeType===9){let a=Object.assign({},s,{live:e.ownerDocument,base:n.scripts?.mergeBase||null,remote:Js(t,e.ownerDocument)});return Nr(a)}n.morphStyle==="innerHTML"&&(s.children=!0);let l=Nu(e,n.scripts?.mergeBase,!!s.children,s.scripts.mergeTags);return l!==void 0&&(s.base=l),xi(e,t,s)}var Mu=new Set(["live","base","remote","local","identity","ignore","remoteWins","ignoreAttribute","conflicts","protectFocusedValue","restoreFocus","head","scripts","formState","children","hooks","beforeApply"]),un=()=>{};function Rr(e,t=[]){if(!e||typeof e!="object")throw new TypeError("options object required");for(let s of Object.keys(e))if(!Mu.has(s))throw new TypeError(`unknown option "${s}"`);let n=Object.assign({beforeNodeAdded:un,afterNodeAdded:un,beforeNodeRemoved:un,afterNodeRemoved:un,beforeNodeMorphed:un,afterNodeMorphed:un,beforeAttributeUpdated:un},e.hooks||{}),r=e.conflicts||"remote";if(!["remote","local","both"].includes(r))throw new TypeError("conflicts must be remote, local or both");let o=e.formState||"attribute";if(!["attribute","property"].includes(o))throw new TypeError("formState must be attribute or property");let i=e.protectFocusedValue;if(i!==void 0&&typeof i!="boolean"&&i!=="subtree")throw new TypeError('protectFocusedValue must be a boolean or "subtree"');return{ignored:ni(e.ignore,t),remoteWins:ni(e.remoteWins,t),ignoreAttribute:typeof e.ignoreAttribute=="function"?e.ignoreAttribute:()=>!1,conflicts:r,protectFocusedValue:i===void 0?!0:i,restoreFocus:e.restoreFocus!==!1,head:Object.assign({awaitLoads:!1,preserve:()=>!1},e.head||{}),scripts:Object.assign({execute:!0,merge:!0,mergeTags:[]},e.scripts||{}),formState:o,hooks:n,children:!!e.children,beforeApply:typeof e.beforeApply=="function"?e.beforeApply:null}}function Zn(e){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){if(typeof e.first=="function")return e.first;if(typeof e.then=="function")return e.then}return In}function Qn(e,t){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){let n=ri(t,e.map),r=typeof e.then=="function"?e.then:In;if(typeof e.first=="function"){let o=e.first;return i=>o(i)||n.get(i)||r(i)}return o=>n.get(o)||r(o)}return In}function Lu(e,t,n,r={}){let o=b=>b&&b.nodeType===9?b.documentElement:b,i=o(t),s=o(n),l=o(e)||i,a=Object.assign({},r);delete a.live,delete a.base,delete a.remote;let h=Rr(a,[l,i,s].filter(Boolean)),d=r.identity||{};return yi(l,i,s,{identity:{base:Qn(d.base,l),local:Qn(d.local,i),remote:Qn(d.remote,s)},authored:{base:Zn(d.base),local:Zn(d.local),remote:Zn(d.remote)},skipUnchanged:h.hooks.beforeNodeMorphed===un&&h.hooks.afterNodeMorphed===un,ignored:h.ignored,remoteWins:h.remoteWins,ignoreAttribute:h.ignoreAttribute,conflicts:h.conflicts,mergeTags:h.scripts.merge===!1?null:h.scripts.mergeTags,baseURI:i.ownerDocument&&i.ownerDocument.baseURI||"about:blank",localIsBase:!e||e===t,childrenOnly:h.children})}function vi({liveRoot:e,baseRoot:t,localRoot:n,remoteRoot:r,toLive:o,options:i,identity:s,childrenOnly:l,isDocument:a}){let h=Rr(i,[e,t,n,r].filter(Boolean));if(h.ignored(e))return{report:wi(),loads:[]};let d=e.ownerDocument,b=h.scripts.execute?qs(e,h.ignored,d.baseURI):null,f=yi(t||n,n,r,{identity:{base:Qn(s.base,t||n),local:Qn(s.local,n),remote:Qn(s.remote,r)},authored:{base:Zn(s.base),local:Zn(s.local),remote:Zn(s.remote)},ignored:h.ignored,remoteWins:h.remoteWins,ignoreAttribute:h.ignoreAttribute,conflicts:h.conflicts,mergeTags:h.scripts.merge===!1?null:h.scripts.mergeTags,baseURI:d.baseURI,localIsBase:!t,childrenOnly:l,skipUnchanged:h.hooks.beforeNodeMorphed===un&&h.hooks.afterNodeMorphed===un});h.beforeApply&&h.beforeApply(f.doc);let u=globalThis.__hyperMorphProfile,m=u?performance.now():0,p=Xs(e,f.root,f,{toLive:o,ignored:h.ignored,ignoreAttribute:h.ignoreAttribute,formState:h.formState,protectFocusedValue:h.protectFocusedValue,restoreFocus:h.restoreFocus,preserve:h.head.preserve,hooks:h.hooks,childrenOnly:l});u&&(u.apply=(u.apply||0)+(performance.now()-m));let v=[];if(h.head.awaitLoads)for(let L of p.applied){if(L.kind!=="insert"||L.node.nodeType!==1)continue;let H=L.node;H.tagName==="LINK"&&/\bstylesheet\b/i.test(H.getAttribute("rel")||"")&&H.getAttribute("href")&&H.closest("head")&&v.push(new Promise(te=>{H.addEventListener("load",()=>te()),H.addEventListener("error",()=>te())}))}if(b){let L=Bs(e,b,{ignored:h.ignored,skip:p.mergedScriptsLive,baseURI:d.baseURI,beforeNodeAdded:h.hooks.beforeNodeAdded,afterNodeAdded:h.hooks.afterNodeAdded});v.push(...L.loads)}let A=L=>L&&p.liveOf&&p.liveOf.get(L)||null;return{report:{applied:p.applied,decisions:f.decisions.map(L=>Object.assign({},L,{node:L.node?A(L.node):null,el:L.el?A(L.el):null,applied:!!(L.node?A(L.node):L.el&&A(L.el))})),conflicts:f.conflicts.map(L=>Object.assign({},L,{node:L.node?A(L.node):L.node,el:L.el?A(L.el):L.el})),localDiverged:f.localDiverged,identities:p.identities,moved:p.moved,replaced:p.replaced},loads:v}}var Qs=new WeakMap;function wi(){return{applied:[],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[]}}function Nr(e){let t=e||{},n=t.live;if(!n||n.nodeType!==9)throw new TypeError("live must be a Document");let r=Qs.get(n);r||(r=ti(n),Qs.set(n,r));let o=r("remote",t.remote),i=typeof t.base=="string"&&t.base===""?null:t.base,s=i?r("base",i):null,l=t.local?t.local.root:n.documentElement,a=t.local?t.local.toLive:b=>b;As(n,o);let{report:h,loads:d}=vi({liveRoot:n.documentElement,baseRoot:s?s.documentElement:null,localRoot:l,remoteRoot:o.documentElement,toLive:a,options:t,identity:t.identity||{},childrenOnly:!1,isDocument:!0});return Promise.all(d).then(()=>h)}function Iu(e,t,n={}){return Nr(Object.assign({},n,{live:e,base:null,remote:t}))}function el(e,t){if(e==null)return{root:t.createElement("template"),first:null};if(typeof e=="string"){let r=/^\s*(?:<!--[\s\S]*?-->\s*)*(?:<!doctype[^>]*>\s*)?<(html|body)[\s>]/i.exec(e);if(r){let i=io(e,t),s=r[1].toLowerCase()==="html"?i.documentElement:i.body;return{root:s,first:s}}let o=t.createElement("template");return o.innerHTML=e,{root:o,first:o.content.firstElementChild}}if(e.nodeType===9)return{root:e.documentElement,first:e.documentElement};if(e.nodeType===1){let r=t.createElement("template"),o=e.isConnected;return r.content.appendChild(o?t.importNode(e,!0):e),{root:r,first:e}}if(e.nodeType===11){let r=t.createElement("template");return r.content.appendChild(e),{root:r,first:r.content.firstElementChild}}let n=t.createElement("template");for(let r of Array.from(e))n.content.appendChild(r.parentNode?t.importNode(r,!0):r);return{root:n,first:n.content.firstElementChild}}function xi(e,t,n={}){if(!e||e.nodeType!==1)throw new TypeError("oldEl must be an Element");let r=e.ownerDocument,{base:o,...i}=n,s=!!i.children;if(Rr(i,[e]).ignored(e))return Promise.resolve(wi());let l=el(t,r),a=o!=null?el(o,r):null,h,d=null;if(s)h=l.root,d=a?a.root:null;else{if(h=l.first,d=a?a.first:null,!h){let u=Rr(i);return u.hooks.beforeNodeRemoved(e)!==!1&&(e.remove(),u.hooks.afterNodeRemoved(e)),Promise.resolve({applied:[{kind:"remove",node:e,parent:null}],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[e]})}if(h.tagName!==e.tagName){let u=Rr(i,[e,h]);if(u.hooks.beforeNodeMorphed(e,h)===!1)return Promise.resolve(wi());let m=vi({liveRoot:e,baseRoot:d&&d.tagName===e.tagName?d:null,localRoot:e,remoteRoot:h,toLive:v=>v,options:i,identity:i.identity||{},childrenOnly:!0,isDocument:!1}),p=Kt(h)?Cr(h,r):r.importNode(h,!1);if(!Kt(p))for(;e.firstChild;)p.appendChild(e.firstChild);return u.hooks.beforeNodeAdded(p)===!1||u.hooks.beforeNodeRemoved(e)===!1?Promise.resolve(m.report):(e.replaceWith(p),u.hooks.afterNodeRemoved(e),u.hooks.afterNodeAdded(p),u.hooks.afterNodeMorphed(e,h),m.report.replaced.push(p),m.report.applied.push({kind:"insert",node:p,parent:p.parentNode},{kind:"remove",node:e,parent:p.parentNode}),Promise.all(m.loads).then(()=>m.report))}}let{report:b,loads:f}=vi({liveRoot:e,baseRoot:d,localRoot:e,remoteRoot:h,toLive:u=>u,options:i,identity:i.identity||{},childrenOnly:s,isDocument:!1});return Promise.all(f).then(()=>b)}var Ai={mergeDocument:Nr,morphDocument:Iu,morphElement:xi,merge3:Lu,morph:Tn};var fo=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Si=new Set(fo),tl=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Mr=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var mo={};ei(mo,{EmptyListInsert:()=>Ir,MAX_RULE_DEPTH:()=>nr,MaxRuleDepthExceeded:()=>Pn,NoRulesTag:()=>Ti,RuleTargetReadOnly:()=>jr,RulesParseError:()=>er,ShapeMismatch:()=>Lr,UnknownRulesVersion:()=>tr,WriteRefused:()=>ho,WriteRejected:()=>Ei});var er=class extends Error{constructor(t,n){super(t),this.name="RulesParseError",this.cause=n}},tr=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},nr=20,Pn=class extends Error{constructor(t){super(`rule depth exceeded ${nr} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},Lr=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},Ir=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},jr=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},ho=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}},Ti=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},Ei=class extends Error{constructor(t,n){super(`write rejected: ${t.length} unknown key(s), ${n.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=t,this.unmatched=n}};function En(e,t,n,r={}){if(Object.prototype.hasOwnProperty.call(r,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return _i(e,t,n,{depth:0,path:[]},r)}function _i(e,t,n,r,o){if(r.depth>nr)throw new Pn(r.path);if(typeof n=="string")return qu(e,t,n,r,o);if(Array.isArray(n)){let[i,s]=n,l=e.find(t,i,o);return rl(o,r,l),l.map((a,h)=>_i(e,a,s,{depth:r.depth+1,path:[...r.path,h]},o))}if(typeof n=="object"&&n!==null){let i={};for(let[s,l]of Object.entries(n))i[s]=_i(e,t,l,{depth:r.depth+1,path:[...r.path,s]},o);return i}return null}function qu(e,t,n,r,o){if(n.endsWith("[]")){let l=n.slice(0,-2),a=e.find(t,l,o);return rl(o,r,a),a.map(h=>e.text(h))}if(n.startsWith("@"))return nl(e,t,n.slice(1));let i=St(n);if(i!==-1){let l=n.slice(0,i),a=n.slice(i+1),h=l?e.find(t,l,o):[t];return h.length===0?null:nl(e,h[0],a)}if(n===".")return e.text(t);let s=e.find(t,n,o);return s.length===0?null:e.text(s[0])}function rl(e,t,n){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),n)}catch(r){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,r)}}function nl(e,t,n){if(Si.has(n)){let o=e.prop(t,n);return o==null?null:String(o)}let r=e.attr(t,n);return r||null}var ol=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Bu=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),il=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function Ci(e,t){if(!e||e.nodeType!==1)return!1;let n=e.getAttribute?.("clay");return!!(n&&n.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Hu(e,t){if(Ci(e,t))return!0;for(let[n,r]of Object.entries(Bu))if(r.includes(t)&&Ci(e,n))return!0;return!1}function Dr(e){let t=ol[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function $u(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=ol[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Hu(n,o))||r.bundles.some(o=>Ci(n,o)))return n;n=n.parentElement}return null}function sl(e,t){return!!$u(e,t)}var Uu=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function ll(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let n=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&n!=="checkbox"&&n!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let r=0;r<e.options.length;r++)t.options[r].selected=e.options[r].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function al(e,t,n,r){if(r)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===n)break;o=o.parentElement}return!1}function cl(e,t,n,r,o,i,s,l){if(e.nodeType===1&&((s?sl(e,n):al(e,r,i,!1))||o&&al(e,o,i,s)))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let h=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;h!==e&&(l.cloneToLive.set(d,h),l.liveToClone.set(h,d));for(let b of h.childNodes||[]){let f=cl(b,t,n,r,o,i,s,l);f&&(d.appendChild(f),b.nodeType===1&&ll(b,f))}return e.nodeType===1&&ll(e,a),a}function Pr(e,{capability:t="data",exclude:n=null,inherit:r=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let i=o.implementation.createHTMLDocument(""),s=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&i.documentElement.matches(n);let h=Dr(t),d=cl(a,i,t,h,n,a,r,{cloneToLive:s,liveToClone:l});e.nodeType===9&&d&&(i.replaceChild(d,i.documentElement),l.set(e,i),s.set(i,e));let b=f=>{if(Uu.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:i,capability:t,selector:Dr(t),cloneToLive:s,liveToClone:l,original(f){return s.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,u=d){return b(f),Array.from(u.querySelectorAll(f),m=>s.get(m)||m)},text(f=d){return(f===d?d:l.get(f))?.textContent||""},html(f=d){return(f===d?d:l.get(f))?.innerHTML??""},clone(f=d){let u=f===d?d:l.get(f);return u?i.importNode(u,!0):null}}}function ul(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function zu(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var Lt={semanticExclude:!0,find(e,t,n={}){let r=zu(e);if(!r||!r.querySelectorAll)return[];let o=Array.from(r.querySelectorAll(t));n.includeRulesTag||(o=o.filter(l=>!ul(l)));let i=[];n.skip&&i.push(n.skip);let s=n.templateAttr===null?null:n.templateAttr||"cms-template";if(s&&i.push("["+s+"]"),i.length){let l=i.join(", ");o=o.filter(a=>!a.closest||!a.closest(l))}return o},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,n){if(n===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,n)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,n){if(n===void 0){let r=e?e[t]:void 0;return r!==void 0?r:null}e[t]=n},clone(e){return e.cloneNode(!0)},insertAt(e,t,n){let r=e.children[n]||null;e.insertBefore(t,r)},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=e.ownerDocument.createElement("template");r.innerHTML=t;let o=r.content.firstElementChild;if(!o)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(o,e),o},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function kn(e,t={}){if(t.exclude===null)return Lt;let n=[Dr("data"),t.exclude].filter(Boolean).join(", "),r=e.nodeType===9?e:e.ownerDocument||e,o=e.nodeType===9?e.documentElement:e;if(!t._write&&!o?.matches?.(n)&&!o?.querySelector?.(n)&&!r?.querySelector?.(n))return Lt;let i=e.nodeType===9||!e.isConnected?e:e.ownerDocument,s=e.nodeType===9?e:e.ownerDocument,l=null,a=()=>l||(l=Pr(i,{capability:"data",exclude:t.exclude||null})),h=m=>{let p=a();return m===e?p.cloneOf(e):p.cloneOf(m)||m},d=m=>l?.original(m)||m,b=(m,p)=>{a().liveToClone.set(m,p),a().cloneToLive.set(p,m);let v=m.childNodes||[],A=p.childNodes||[];for(let M=0;M<Math.min(v.length,A.length);M++)b(v[M],A[M])},f=(m,p,v,A)=>{let M=Array.from(m.childNodes).filter(re=>l.cloneOf(re)),H=M[0];for(;H&&M.includes(H);)H=H.nextSibling;for(let re of M)re.remove();if(v==="innerHTML"){let re=s.createElement("template");re.innerHTML=A;for(let K of Array.from(re.content.childNodes))m.insertBefore(K,H||null)}else m.insertBefore(s.createTextNode(A),H||null);let B=Pr(m,{capability:"data",exclude:t.exclude||null});p.replaceChildren(...Array.from(B.root?.childNodes||[]));let te=re=>{let K=B.original(re);K&&(l.liveToClone.set(K,re),l.cloneToLive.set(re,K));for(let W of Array.from(re.childNodes||[]))te(W)};for(let re of Array.from(p.childNodes))te(re)},u={...Lt,find(m,p,v={}){let A=h(m);if(!A?.querySelectorAll)return[];let M=a().query(p,A);v.includeRulesTag||(M=M.filter(B=>!ul(B)));let L=[];v.skip&&L.push(v.skip);let H=v.templateAttr===null?null:v.templateAttr||"cms-template";if(H&&L.push(`[${H}]`),L.length){let B=L.join(", ");M=M.filter(te=>!te.closest?.(B))}return M},parent(m){let p=h(m)?.parentElement;return p?d(p):null},children(m){return Array.from(h(m)?.children||[],d)},text(m,p){if(p===void 0){let M=d(m);return!M?.matches?.(n)&&!M?.querySelector?.(n)?Lt.text(M):(h(m)?.textContent||"").trim()}let v=d(m);if(!v?.matches?.(n)&&!v?.querySelector?.(n)&&!l){Lt.text(v,p);return}let A=a().cloneOf(v);A?f(v,A,"textContent",p):Lt.text(v,p)},attr(m,p,v){let A=d(m);if(v===void 0)return Lt.attr(A,p);Lt.attr(A,p,v);let M=l?.cloneOf(A);M&&(Lt.attr(M,p,v),Pr(A,{capability:"data",exclude:t.exclude||null}).root===null&&(M.remove(),l.liveToClone.delete(A),l.cloneToLive.delete(M)))},removeAttr(m,p){let v=d(m);Lt.removeAttr(v,p);let A=l?.cloneOf(v);A&&Lt.removeAttr(A,p)},prop(m,p,v){let A=d(m);if(v===void 0)return p==="innerHTML"||p==="outerHTML"||p==="textContent"||p==="innerText"?Lt.prop(h(A),p):Lt.prop(A,p);let M=p==="innerHTML"||p==="textContent"||p==="innerText",L=M?a().cloneOf(A):l?.cloneOf(A);L&&M?f(A,L,p,v):(Lt.prop(A,p,v),L&&Lt.prop(L,p,v))},clone(m){let p=h(m);return p===m?Lt.clone(m):s.importNode(p,!0)},insertAt(m,p,v){let A=d(m),L=u.children(A)[v]||(()=>{for(let te=A.children.length-1;te>=0;te--){let re=A.children[te];if(a().cloneOf(re))return re.nextElementSibling}return A.firstElementChild})(),H=d(p);A.insertBefore(H,L||null);let B=a().cloneOf(A);if(B){let te=a().cloneOf(H);te||(te=s.importNode(H,!0),b(H,te));let re=Array.from(B.children);B.insertBefore(te,re[v]||null)}},remove(m){let p=d(m),v=a().cloneOf(p);Lt.remove(p),v&&Lt.remove(v)},replaceWith(m,p){let v=d(m),A=a().cloneOf(v),M=Lt.replaceWith(v,p);if(A){let L=Pr(M,{capability:"data",exclude:t.exclude||null});if(!L.root)A.remove();else{A.replaceWith(L.root);let H=B=>{let te=L.original(B);te&&(l.liveToClone.set(te,B),l.cloneToLive.set(B,te));for(let re of Array.from(B.childNodes||[]))H(re)};H(L.root)}}return M}};return u}var rr=Lt;function Oi(e){try{return JSON.parse(e)}catch(t){throw new er(`Invalid strict JSON: ${t.message}`,t)}}function or(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function n(o){let i=[],s=0;for(;s<o.length;){let l=o[s];if(/\s/.test(l)){s++;continue}if("{}".includes(l)){i.push({type:l,value:l}),s++;continue}if(l==="["){let b=!1,f=s+1;for(;f<o.length&&/\s/.test(o[f]);)f++;if(f<o.length&&/[a-zA-Z_]/.test(o[f])&&(b=!0),!b){i.push({type:l,value:l}),s++;continue}}if(l==="]"){i.push({type:l,value:l}),s++;continue}if(l===":"){i.push({type:t.COLON,value:l}),s++;continue}if(l===","){i.push({type:t.COMMA,value:l}),s++;continue}if(l==='"'||l==="'"){let b=l,f=s+1;for(;f<o.length&&o[f]!==b;)o[f]==="\\"&&f++,f++;i.push({type:t.STRING,value:o.substring(s+1,f),quoted:!0,sourceQuote:b}),s=f+1;continue}let a=s,h;for(;a<o.length&&!/[{},]/.test(o[a]);)if(o[a]===":"){let b=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],f=!1;for(let u of b){let m=u.substring(1);if(o.substring(a+1,a+1+m.length)===m){f=!0,a+=m.length;break}}if(!f)break}else if(o[a]==="["){for(a++;a<o.length&&o[a]!=="]";){if(o[a]==='"'||o[a]==="'"){let b=o[a];for(a++;a<o.length&&o[a]!==b;)o[a]==="\\"&&a++,a++}a++}a<o.length&&o[a]==="]"&&a++}else a++;h=o.substring(s,a);let d=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(h)?d=t.NUMBER:h==="true"||h==="false"||h==="null"?d=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(h)&&(d=t.SELECTOR),i.push({type:d,value:h,quoted:!1}),s=a}return i}function r(o){let i="";for(let s=0;s<o.length;s++){let l=o[s];if("{}".includes(l.type)||"[]".includes(l.type)){i+=l.value;continue}if(l.type===t.COLON){i+=l.value;continue}if(l.type===t.COMMA){let a=o[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;i+=l.value;continue}if(l.type===t.STRING&&l.quoted){let a=l.value;l.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(h,d)=>d.length%2===0?d+'\\"':h)),i+=`"${a}"`;continue}if(l.type===t.NUMBER||l.type===t.BOOLEAN){i+=l.value;continue}if(l.type===t.SELECTOR||l.type===t.IDENTIFIER){i+=`"${l.value}"`;continue}i+=`"${l.value}"`}return i}try{let o=n(e),i=r(o);return JSON.parse(i)}catch(o){throw new er("Invalid extraction rules syntax: "+o.message,o)}}var dl="1",fl=/^[a-zA-Z0-9_-]+$/;function Fr(e,t,n){let r;if(n===void 0)r="script[data-rules-name]";else{if(typeof n!="string"||!fl.test(n))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(n)} (must match ${fl})`);r=`script[data-rules-name~="${n}"]`}let o=e.find(t,r,{includeRulesTag:!0});if(o.length===0)return null;n!==void 0&&o.length>1&&console.warn(`hyper-html-api: ${o.length} rules tags match data-rules-name~="${n}"; using the first.`);let i=o[0],s=e.attr(i,"data-rules-version");if(s!==dl)throw new tr(s);return{rules:or(e.text(i)),tagNode:i}}var Bp=new Function("url","return import(url)");function kl(e,t,n,r){let o=e.length,i=t.length,s=new Array(o).fill(-1);if(r){let v=new Set;for(let A=0;A<o;A++){let M=r[A];!(M>=0&&M<i)||v.has(M)||(s[A]=M,v.add(M))}}if(o===0||i===0)return s;let l=e.map(v=>gl(v,n)),a=t.map(v=>gl(v,n)),h=new Array(i).fill(!1);for(let v of s)v>=0&&(h[v]=!0);let d=new Map;a.forEach((v,A)=>{h[A]||d.set(v,d.has(v)?-1:A)});let b=new Map;l.forEach((v,A)=>{s[A]>=0||b.set(v,(b.get(v)||0)+1)}),l.forEach((v,A)=>{if(s[A]>=0||b.get(v)!==1)return;let M=d.get(v);M===void 0||M===-1||h[M]||(s[A]=M,h[M]=!0)});let f=[];for(let v=0;v<o;v++)s[v]<0&&f.push(v);let u=[];for(let v=0;v<i;v++)h[v]||u.push(v);if(f.length===0||u.length===0)return s;let m=o*i+1,p=(v,A)=>Wu(e[v],t[A],n)*m+Math.abs(v-A);for(let[v,A]of Ku(f,u,p))s[v]=A;return s}var yl=e=>typeof e=="object"&&e!==null;function gl(e,t){if(!yl(t))return e==null?" null":String(e);let n=Object.keys(t);return JSON.stringify(n.map(r=>{let o=JSON.stringify(e?.[r]);return o===void 0?" undef":o}))}function Wu(e,t,n){if(!yl(n))return e===t?0:1;let r=Object.keys(n);if(r.length===0)return 0;let o=0;for(let i of r){let s=JSON.stringify(e?.[i]),l=JSON.stringify(t?.[i]);s!==l&&o++}return o}function Ku(e,t,n){return e.length<=t.length?bl(e,t,n,!1):bl(t,e,(r,o)=>n(o,r),!0)}function bl(e,t,n,r){let o=e.length,i=t.length,s=[];for(let b=0;b<=o;b++)s.push(new Float64Array(i+1).fill(1/0));let l=[];for(let b=0;b<=o;b++)l.push(new Uint8Array(i+1));for(let b=0;b<=i;b++)s[o][b]=0;for(let b=o-1;b>=0;b--)for(let f=i-1;f>=0;f--){let u=n(e[b],t[f])+s[b+1][f+1],m=s[b][f+1];u<=m?(s[b][f]=u,l[b][f]=1):s[b][f]=m}let a=[],h=0,d=0;for(;h<o&&d<i;)l[h][d]&&(a.push(r?[t[d],e[h]]:[e[h],t[d]]),h++),d++;return a}function Ri(e,t,n,r,o,i,s,l={}){let a=e.find(t,n,l);if(o.length===0){a.forEach(B=>e.remove(B)),Ni(l,"onRowsApplied",i.path,[]);return}let h=o.length>a.length,d=a[0]||null;if(h&&!d&&(d=Ju(e,t,n,l),!d))throw new Ir(i.path);let b=a.map(B=>Xu(e,B,r,l)),f=null;if(h&&d){f=e.clone(d),l.templateAttr&&e.removeAttr(f,l.templateAttr);let B=e.stripIds(f);B>0&&console.warn(`[hyper-html-api] stripped ${B} id attribute(s) from cloned template at "${i.path.join(".")||"(root)"}"`)}let u=kl(o,b,r,Gu(e,a,o,i,l)),m=a[0]||d,p=e.parent(m),v=a.length>0?xl(e,p,m):0,A=Zu(e,a),M=new Set,L=[],H=o.map((B,te)=>{let re=u[te];if(re>=0)return M.add(re),L.push(!1),a[re];L.push(!0);let K=e.clone(f);return e.stripIds(K),K});a.forEach((B,te)=>{M.has(te)||e.remove(B)}),A?H.forEach((B,te)=>{let re=v+te;e.children(p).findIndex(he=>e.sameNode(he,B))!==re&&e.insertAt(p,B,re)}):Qu(e,H,L,p,v),Yu(e,H,r,o,i,s,l),Ni(l,"onRowsApplied",i.path,H)}function Ni(e,t,n,r){if(typeof e[t]=="function")try{return e[t](n.slice(),r)}catch(o){console.warn(`[hyper-html-api] ${t} threw at "${n.join(".")||"(root)"}"`,o);return}}function Gu(e,t,n,r,o){let i=Ni(o,"identifyRows",r.path,n);if(!Array.isArray(i))return null;let s=new Array(n.length).fill(-1),l=new Set;for(let a=0;a<n.length;a++)if(i[a]){for(let h=0;h<t.length;h++)if(!(l.has(h)||!e.sameNode(t[h],i[a]))){s[a]=h,l.add(h);break}}return s}function Yu(e,t,n,r,o,i,s){t.forEach((l,a)=>{if(n===null){let h=r[a],d=h==null?"":String(h);e.text(l)!==d&&e.text(l,d)}else{let h=i(e,l,n,r[a],{depth:o.depth+1,path:[...o.path,a]},s);h&&h!==l&&(t[a]=h)}})}function Xu(e,t,n,r){return n===null?e.text(t):En(e,t,n,r.onRowsRead?{...r,onRowsRead:void 0}:r)}function xl(e,t,n){let r=e.children(t);for(let o=0;o<r.length;o++)if(e.sameNode(r[o],n))return o;return-1}function Ju(e,t,n,r){if(!r.templateAttr)return null;let o=t;for(;o;){let i=e.find(o,n,{includeRulesTag:!1,templateAttr:null});for(let s of i)if(e.attr(s,r.templateAttr)!=null)return s;o=e.parent(o)}return null}function Zu(e,t){if(t.length<=1)return!0;let n=e.parent(t[0]);if(!n)return!1;let r=e.children(n),o=[];for(let i of t){let s=r.findIndex(l=>e.sameNode(l,i));if(s===-1)return!1;o.push(s)}return o.sort((i,s)=>i-s),o[o.length-1]-o[0]===o.length-1}function Qu(e,t,n,r,o){let i=null,s=o;for(let l=0;l<t.length;l++){if(!n[l]){i=t[l];continue}let a=i?e.parent(i):r;if(!a)continue;let h=i?xl(e,a,i)+1:s++;e.insertAt(a,t[l],h),i=t[l]}}var vl=new Set(["checked","selected","disabled","readOnly","paused"]);function ir(e,t,n,r,o={}){if(Object.prototype.hasOwnProperty.call(o,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let i=[];if(Mi(n,r,[],i),i.length)throw new Lr(i);po(e,t,n,r,{depth:0,path:[]},o)}function po(e,t,n,r,o,i={}){if(o.depth>nr)throw new Pn(o.path);if(r===void 0)return t;if(typeof n=="string")return ef(e,t,n,r,o,i);if(Array.isArray(n)){let[s,l]=n;return Ri(e,t,s,l,r,o,po,i),t}if(typeof n=="object"&&n!==null){for(let[s,l]of Object.entries(n)){let a=po(e,t,l,r==null?r:r[s],{depth:o.depth+1,path:[...o.path,s]},i);a&&a!==t&&(t=a)}return t}return t}function ef(e,t,n,r,o,i){if(n.endsWith("[]")){let a=n.slice(0,-2);return Ri(e,t,a,null,r,o,po,i),t}if(n.startsWith("@"))return Al(e,t,n.slice(1),r);let s=St(n);if(s!==-1){let a=n.slice(0,s),h=n.slice(s+1),d=a?e.find(t,a,i):[t];return d.length===0||Al(e,d[0],h,r),t}if(n===".")return wl(e,t,r),t;let l=e.find(t,n,i);return l.length===0||wl(e,l[0],r),t}function wl(e,t,n){let r=n==null?"":String(n);e.text(t)!==r&&e.text(t,r)}function Al(e,t,n,r){if(Mr.has(n)){let i=e.prop(t,n);if(i===r||i!=null&&r!=null&&String(i)===String(r))return t;throw new jr(n)}if(n==="outerHTML"){let i=r==null?"":String(r);return e.replaceWith(t,i)}if(tl.has(n)){let i=tf(n,r);return e.prop(t,n)!==i&&e.prop(t,n,i),t}let o=r==null?"":String(r);return e.attr(t,n)!==o&&e.attr(t,n,o),t}function tf(e,t){return t==null?vl.has(e)?!1:"":vl.has(e)?t==="false"?!1:!!t:t}function Mi(e,t,n,r){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((o,i)=>{typeof o=="object"&&o!==null&&r.push({path:Br([...n,i]),expected:"scalar",got:qr(o)})}):r.push({path:Br(n),expected:"array",got:qr(t)});return}t!==null&&typeof t=="object"&&r.push({path:Br(n),expected:"scalar",got:qr(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){r.push({path:Br(n),expected:"array",got:qr(t)});return}let o=e[1];t.forEach((i,s)=>Mi(o,i,[...n,s],r));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){r.push({path:Br(n),expected:"object",got:qr(t)});return}for(let[o,i]of Object.entries(e))Mi(i,t[o],[...n,o],r)}}}function qr(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Br(e){return e.join(".")}var mf=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...il],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"]});function Li(e,t,n){if(n&&typeof n=="object")return{rules:n,tagNode:null};if(typeof n=="string"){let r=t&&t.ownerDocument?t.ownerDocument:t;return Fr(e,r,n)}return null}var Vt={extract:(e,t,n={})=>En(kn(e,n),e,t,n),apply:(e,t,n,r={})=>ir(kn(e,{...r,_write:!0}),e,t,n,r),findRulesIn:(e,t)=>Fr(rr,e,t),findRules:(e,t)=>Li(rr,e,t),bind:(e,t,n={})=>{let r=Li(rr,e,t);if(!r){let o=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${o}`)}return{...r,get:()=>En(kn(e,n),e,r.rules,n),set:o=>ir(kn(e,{...n,_write:!0}),e,r.rules,o,n)}},parseStrict:Oi,parseRelaxed:or,ruleAttrIndex:St,splitRule:oo,errors:mo,DOM_PROPERTIES:fo};var ji={};ei(ji,{fromString:()=>yn,getRuleAtPath:()=>Fn,getValueAtPath:()=>bf,setAtPath:()=>Ii,toString:()=>gf});function gf(e){return e.map(String).join(".")}function yn(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function Fn(e,t){let n=e;for(let r of t){if(n==null)return;if(typeof n=="string"){if(n.endsWith("[]")&&(typeof r=="number"||r==="*")){n=n.slice(0,-2);continue}return}if(Array.isArray(n)){if(typeof r!="number"&&r!=="*")return;n=n[1];continue}if(typeof n=="object"){if(typeof r=="number"||!(r in n))return;n=n[r];continue}return}return n}function bf(e,t){let n=e;for(let r of t){if(n==null)return;n=n[r]}return n}function Ii(e,t,n){if(t.length===0)return n;let[r,...o]=t;if(typeof r=="number"){let i=Array.isArray(e)?[...e]:[];return i[r]=Ii(i[r],o,n),i}return{...e&&typeof e=="object"?e:{},[r]:Ii((e||{})[r],o,n)}}function Hr(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[n,r]of Object.entries(e))t[n]=Hr(r);return t}return""}function go(e,t,{ignoreActiveValue:n=!0}={}){Ai.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:n,restoreFocus:!0,formStateSync:"property",policy:"raw"})}var Tl=new WeakMap,Di=e=>e.map(String).join(".");function kf(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function El(e,t){if(!e||!e.querySelector)return null;let n=e.querySelector(`[data-hcms-path="${kf(t)}"]`),r=n&&n.querySelector(".hcms-array-items");return r?Array.from(r.children).filter(o=>o.matches&&o.matches("[data-hcms-card], [data-hcms-array-item]")):null}function _l(e,t,n){let r=El(e,t);!r||r.length!==n.length||r.forEach((o,i)=>{n[i]&&Tl.set(o,n[i])})}function bo(){let e=new Map;return{hooks:{onRowsRead(t,n){e.set(Di(t),n)}},seed(t){for(let[n,r]of e)_l(t,n,r);e.clear()}}}function Cl(e){return{identifyRows(t,n){let r=El(e,Di(t));return!r||r.length!==n.length?null:r.map(o=>Tl.get(o)||null)},onRowsApplied(t,n){_l(e,Di(t),n)}}}var Ol={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Pi="data-hcms-rollback-ui",yf=0;function Nl(e,t,n,r={}){return xf(e,t,n,r)}function xf(e,t,n,r){let{shellRoot:o,structural:i,structuralPath:s,formRoot:l}=r,a=l?{...Ol,...Cl(l)}:Ol;if(!i)try{return Vt.apply(e,t,n,a),{ok:!0}}catch(f){return{ok:!1,error:f}}let h=vf(e,t,s),d=h?Af(h):null,b=h?null:Tf(e,o);try{return Vt.apply(e,t,n,a),{ok:!0}}catch(f){return d?Sf(h,d):b&&Ef(e,o,b),{ok:!1,error:f}}}function vf(e,t,n){if(!n||!e)return null;let r=yn(n),o=[],i=t;for(let s of r){if(typeof i=="string"||i==null||Array.isArray(i))break;if(typeof i=="object"&&s in i){if(o.push(s),i=i[s],Array.isArray(i)||typeof i=="string"&&i.endsWith("[]"))break}else return null}return!Array.isArray(i)&&!(typeof i=="string"&&i.endsWith("[]"))?null:wf(e,t,o)}function wf(e,t,n){if(n.length===0)return null;let r=e,o=t;for(let i=0;i<n.length;i++){let s=n[i];if(!o||typeof o!="object"||Array.isArray(o))return null;let l=o[s];if(l==null)return null;if(i===n.length-1){if(Array.isArray(l)){let[a]=l;return r.querySelector?.(a)?.parentElement||null}if(typeof l=="string"&&l.endsWith("[]")){let a=l.slice(0,-2);return r.querySelector?.(a)?.parentElement||null}return null}o=l}return null}function Af(e){let t=[],n=[];for(let r of Array.from(e.childNodes))t.push(Fi(r,n));return{nodes:t,retained:n}}function Sf(e,t){let n=e.cloneNode(!1);for(let r of t.nodes)n.appendChild(r);Tn(e,Array.from(n.childNodes),Ml()),Rl(e,t.retained)}function Tf(e,t){let n=[],r=[];for(let o of Array.from(e.childNodes))o===t||t&&o.contains?.(t)||n.push(Fi(o,r));return{nodes:n,retained:r}}function Ef(e,t,n){let r=e.cloneNode(!1);for(let o of n.nodes)r.appendChild(o);Tn(e,Array.from(r.childNodes),Ml()),Rl(e,n.retained)}function Fi(e,t){let n=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let i=String(++yf);n.setAttribute(Pi,i),t.push({id:i,node:e})}let r=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,o=n.nodeType===1&&n.tagName==="TEMPLATE"?n.content:n;for(let i of Array.from(r.childNodes||[]))o.appendChild(Fi(i,t));return n}function Rl(e,t){for(let{id:n,node:r}of t){let o=e.querySelector(`[${Pi}="${n}"]`);o===r?r.removeAttribute(Pi):r.isConnected?o?.remove():o?.replaceWith(r)}}function Ml(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function yo(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var _f='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',qi='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',jl={"@scalar":`
3
4
  <label class="hcms-field" data-hcms-shape="scalar">
4
5
  <span class="hcms-label" data-hcms-label></span>
5
6
  <textarea class="mirk-textarea" rows="1" data-hcms-field></textarea>
@@ -39,13 +40,13 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
39
40
  </section>
40
41
  `,"@object-array-item":`
41
42
  <article class="hcms-card mirk-sortable__item" draggable="true">
42
- ${Ua}
43
+ ${_f}
43
44
  <div class="hcms-card-body mirk-sortable__body">
44
45
  <div class="hcms-card-fields"></div>
45
46
  <div class="hcms-card-controls">
46
47
  <button type="button" class="hcms-move hcms-move-up hcms-sr-only" data-hcms-action="move-up" aria-label="Move up">\u2191</button>
47
48
  <button type="button" class="hcms-move hcms-move-down hcms-sr-only" data-hcms-action="move-down" aria-label="Move down">\u2193</button>
48
- <button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${nn}</button>
49
+ <button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${qi}</button>
49
50
  </div>
50
51
  </div>
51
52
  <div class="hcms-error" hidden></div>
@@ -59,7 +60,7 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
59
60
  <span class="mirk-button__label">Choose</span>
60
61
  </label>
61
62
  <a class="mirk-file__name" data-hcms-field></a>
62
- <button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${nn}</button>
63
+ <button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${qi}</button>
63
64
  </div>
64
65
  <div class="hcms-error" hidden></div>
65
66
  </div>
@@ -73,7 +74,7 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
73
74
  </label>
74
75
  <figure class="mirk-image__thumb">
75
76
  <span class="mirk-image__frame"><img class="mirk-image__preview" data-hcms-field alt="" /></span>
76
- <button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${nn}</button>
77
+ <button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${qi}</button>
77
78
  </figure>
78
79
  </div>
79
80
  <div class="hcms-error" hidden></div>
@@ -147,11 +148,11 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
147
148
  <input class="hcms-chip-field" data-hcms-field aria-label="Item" placeholder="\u2026" />
148
149
  <button type="button" class="hcms-remove" data-hcms-action="remove" aria-label="Remove">\xD7</button>
149
150
  </span>
150
- `},Va=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function Qt(e){let t=e.head||e.documentElement;if(t)for(let r of Va)Pi(e,t,r)}function on(e,t){if(!Fi[t])return null;let r=e&&(e.head||e.documentElement);return r?Pi(e,r,t):null}var Ii={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},Xt={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},Wa=new Set([...Object.values(Xt),"@chips","@chips-item"]);function Rt(e,t,r,n){if(typeof e!="string")return"@scalar";let i=ae(e),o=rr(e,i,r,n),a=nr(o,t,"data-hcms-component");if(a&&Xt[a]){let s=Xt[a],l=Array.isArray(r)&&r.some(u=>u==="*"||typeof u=="number");return s==="@number"&&!ji(e,i,t,l,o).every(Ga)||(s==="@checkbox"||s==="@toggle")&&(i<0||e.slice(i+1)!=="checked")&&!ji(e,i,t,l,o).every(Ya)?"@scalar":s}if(i>=0){let s=e.slice(i+1);if(Ii[s])return Ii[s]}return"@scalar"}function Di(e,t,r,n){if(typeof e!="string")return null;let i=ae(e),o=nr(rr(e,i,r,n),t,"data-hcms-component");return o&&Xt[o]||null}var Ka=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Ga(e){return e==null||e===""?!0:Ka.test(String(e))}function Ya(e){return e==null||e===""||e==="true"||e==="false"}function ji(e,t,r,n,i){if(!r||!r.querySelectorAll)return[];if(!i||i===".")return[];let o=null;try{o=r.querySelectorAll(i)}catch{return[]}let a=t>=0?e.slice(t+1):null,s=[];for(let l of o)if(!(l.closest&&l.closest("[cms-template], [data-hcms-shell]"))&&(a?a==="value"&&"value"in l?s.push(l.value):s.push(l.getAttribute?l.getAttribute(a):null):s.push((l.textContent||"").trim()),!n))break;return s}function er(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let r=e.slice(0,-2).trim();if(!r)return null;let n=null;try{n=t.querySelector(r)}catch{return null}let i=n&&n.closest?n.closest("[data-hcms-component]"):null;return(i&&i.getAttribute?i.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function Qe(e,t,r){let n=e.join("."),i=e.map(o=>typeof o=="number"?"*":o).join(".");return n&&ke(r,n)||i&&i!==n&&ke(r,i)||ke(r,t)}function tr(e,t,r){let n=er(e,r);if(!n)return null;let i=Qe(t,n.array,r);return i&&i.getAttribute("data-hcms-tpl")===n.array?n:null}function qi(e,t,r,n){if(typeof e!="string")return null;let i=ae(e),o=nr(rr(e,i,r,n),t,"data-hcms-options");if(o==null)return null;let a=o.trim().split(/\s+/).filter(Boolean);return a.length?a:null}function $i(e,t,r,n){if(typeof e!="string")return null;let i=ae(e);return nr(rr(e,i,r,n),t,"data-hcms-crop")}function Ja(e,t){return t>=0?e.slice(0,t):e}function rr(e,t,r,n){let i=Ja(e,t);return i&&i!=="."?i:Xa(n,r)}function Xa(e,t){if(e==null||!Array.isArray(t))return"";let r=[],n=e;for(let i of t){if(n==null||typeof n=="string")break;if(Array.isArray(n)){if(typeof n[0]!="string"||i!=="*"&&typeof i!="number")return"";r.push(n[0]),n=n[1];continue}if(typeof n!="object"||!Object.prototype.hasOwnProperty.call(n,i))return"";n=n[i]}return r.join(" ")}function nr(e,t,r){if(!t||!t.querySelector||!e||e===".")return null;let n=null;try{n=t.querySelector(e)}catch{return null}return n&&n.getAttribute?n.getAttribute(r):null}function ir(e,t){if(!e||t==null)return;r(t,[]);function r(n,i){let o=Be(n);if(o==="scalar"){let a=Rt(n,e,i,t);Wa.has(a)&&on(e,a);return}if(o==="scalar-array"){let a=er(n,e);a&&(on(e,a.array),on(e,a.item));return}if(o==="object"){for(let[a,s]of Object.entries(n))r(s,[...i,a]);return}if(o==="object-array"){let a=n[1],s=[...i,"*"];if(a&&typeof a=="object"&&!Array.isArray(a))for(let[l,u]of Object.entries(a))r(u,[...s,l]);else r(a,s)}}}function Pi(e,t,r){let n=ke(e,r);if(n)return n;let i=e.createElement("template");return i.setAttribute("data-hcms-tpl",r),i.setAttribute("save-remove",""),i.innerHTML=Fi[r].trim(),t.appendChild(i),i}function ke(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${Za(t)}"]`)}function Za(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Be(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Mt(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var Bi={IMG:"src",A:"href"};function or(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":Bi[t]?Bi[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function zi(e,t){let r=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),i=or(e),a=`${Ui(r,n)}[data-hcms-field="${et(t)}"]`;return r==="INPUT"&&n==="radio"?`${a}:checked@value`:i?`${a}@${i}`:a}function Qa(e){let t=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),n=or(e),o=`${Ui(t,r)}[data-hcms-field]`;return t==="INPUT"&&r==="radio"?`${o}:checked@value`:n?`${o}@${n}`:o}function Ui(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function et(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Hi=new Set(["__proto__","constructor","prototype"]);function sr(e,t){return r(e,[]);function r(u,m){let y=Be(u);if(y==="scalar")return n(u,m);if(y==="scalar-array")return i(u,m);if(y==="object-array")return o(u,m);if(y==="object"){let c=Object.create(null);for(let[h,f]of Object.entries(u)){if(Hi.has(h))throw new Error(`hypercms: rule key "${h}" is forbidden at "${m.join(".")||"<root>"}"`);c[h]=r(f,[...m,h])}return c}return null}function n(u,m){let y=m.length?m[m.length-1]:null,c=typeof y=="string"?y:"__value",h=l(m,c);if(h)return zi(h,c);let f=s(Rt(u,t,m,e),c);return f?zi(f,c):`input[data-hcms-field="${et(c)}"]@value`}function i(u,m){let y=tr(u,m,t),c=y&&s(y.item,null)||s("@scalar-array-item",null),h=c?Qa(c):"input[data-hcms-field]@value";return[a(m,"[data-hcms-array-item]"),h]}function o(u,m){let[,y]=u,c=[...m,"*"],h=a(m,"[data-hcms-card]");if(y&&typeof y=="object"&&!Array.isArray(y)){let f=Object.create(null);for(let[b,k]of Object.entries(y)){if(Hi.has(b))throw new Error(`hypercms: rule key "${b}" is forbidden at "${c.join(".")}"`);f[b]=r(k,[...c,b])}return[h,f]}return[h,r(y,[...c,0])]}function a(u,m){let y=u.length?u[u.length-1]:"",c=u.some(b=>b==="*"),h=u.join(".");return`${c?`[data-hcms-field="${et(y)}"]`:`[data-hcms-path="${et(h)}"]`} > .hcms-array-items > ${m}`}function s(u,m){if(!t)return null;let y=ke(t,u);if(!y)return null;let c=y.content||y;if(m){let h=c.querySelector(`[data-hcms-field="${et(m)}"]`);if(h)return h}return c.querySelector("[data-hcms-field]")}function l(u,m){if(!t)return null;let y=u.map(f=>typeof f=="number"?"*":f).join("."),h=[u.join("."),y];for(let f=u.length-1;f>=0;f--){let b=u.slice(0,f).map(k=>typeof k=="number"?"*":k);b.push("*"),h.push(b.join("."))}for(let f of h){if(!f)continue;let b=ke(t,f);if(!b||!Mt(b))continue;let k=b.content||b,A=k.querySelector(`[data-hcms-field="${et(m)}"]`)||k.querySelector("[data-hcms-field]");if(A)return A}return null}}function sn(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],r=t.split("/").pop()||t;try{return decodeURIComponent(r)}catch{return r}}function tt({pageRules:e,formRules:t,data:r,doc:n}){let i=n.createDocumentFragment(),o=an(e,[],r,n,e);return o&&i.appendChild(o),i}function Wi({shape:e,itemShape:t,pathArr:r,data:n,doc:i,itemKey:o,pageRules:a}){if(e==="object-array-item")return Gi(t,r,n,i,a);if(e==="scalar-array-item")return Yi(r,n,i,o||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function an(e,t,r,n,i){let o=Be(e);return o==="scalar"?el(e,t,r,n,i):o==="object"?il(e,t,r,n,i):o==="object-array"?ol(e,t,r,n,i):o==="scalar-array"?sl(e,t,r,n):null}function el(e,t,r,n,i){let o=Rt(e,n,t,i),a=Qe(t,o,n);if(!a)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let s=Di(e,n,t,i);s==="@number"&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(s==="@checkbox"||s==="@toggle")&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${s}" but its value isn't true/false; rendering a text input so the value is preserved`),Ki(a,s===o?s:null,t);let l=rt(a,n);nt(l,t);let u=a.getAttribute?.("data-hcms-tpl");if((o==="@select"||o==="@radio")&&u===o&&tl(l,e,t,r,n,o,i),o==="@image"&&u==="@image"){let m=$i(e,n,t,i);m!=null&&!l.hasAttribute("data-hcms-crop")&&l.setAttribute("data-hcms-crop",m)}return al(l,Ee(t)),ar(l,Ee(t)),lr(l,Ee(t)),eo(l,r),o==="@file"&&nl(l),l}function Ki(e,t,r){if(!t)return;let n=e.getAttribute?.("data-hcms-tpl");n&&n!==t&&console.info(`[hypercms] field "${r.join(".")}" declares component "${t}" but custom template "${n}" wins`)}function tl(e,t,r,n,i,o,a){let s=qi(t,i,r,a),l=s?[...s]:[],u=n==null?"":String(n);if(u!==""&&!l.includes(u)&&l.unshift(u),!s&&(rl(e,"data-hcms-options required (space-separated values)"),l.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(o==="@select"){let c=e.querySelector("select[data-hcms-field]");if(!c)return;for(let h of l){let f=i.createElement("option");f.value=h,f.textContent=Zt(h),c.appendChild(f)}return}let m=e.querySelector(".mirk-radio");if(!m||!m.parentNode)return;let y=ln(r.join("."));for(let c of l){let h=m.cloneNode(!0),f=h.querySelector('input[type="radio"]');f&&(f.value=c,f.name=y);let b=h.querySelector(".mirk-radio__label");b&&(b.textContent=Zt(c)),m.parentNode.insertBefore(h,m)}m.remove()}function ln(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function rl(e,t){let r=e.querySelector?e.querySelector(".hcms-error"):null;r&&(r.textContent=t,r.hidden=!1)}function nl(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=sn(t.getAttribute("href")))}function il(e,t,r,n,i){let o=Qe(t,"@object",n);if(!o)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let a=rt(o,n);if(nt(a,t),ar(a,Ee(t)),lr(a,Ee(t)),Mt(o))return ro(a,e,t),to(a,e,r),a;let s=cr(a,".hcms-object-fields",o,t);for(let[l,u]of Object.entries(e)){let m=r==null?null:r[l],y=an(u,[...t,l],m,n,i);y&&s.appendChild(y)}return a}function ol(e,t,r,n,i){let o=Qe(t,"@object-array",n);if(!o)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let a=rt(o,n);nt(a,t),ar(a,Ee(t)),lr(a,Ee(t)),Xi(a,o),Qi(a,o,t);let s=cr(a,".hcms-array-items",o,t),[,l]=e;return(Array.isArray(r)?r:[]).forEach((m,y)=>{let c=Gi(l,[...t,y],m,n,i);c&&s.appendChild(c)}),Zi(a),a}function Gi(e,t,r,n,i){let o=Ji(t,"object-array-item",n);if(!o)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let a=rt(o,n);if(a.setAttribute("data-hcms-card",""),a.classList.contains("hcms-card")||a.classList.add("hcms-card"),nt(a,t),Mt(o))return e&&typeof e=="object"&&!Array.isArray(e)&&(ro(a,e,t),to(a,e,r)),a;let s=cr(a,".hcms-card-fields",o,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[l,u]of Object.entries(e)){let m=r==null?null:r[l],y=an(u,[...t,l],m,n,i);y&&s.appendChild(y)}return a}function sl(e,t,r,n){let i=er(e,n),o=tr(e,t,n),a=i?i.array:"@scalar-array",s=Qe(t,a,n);if(!s)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Ki(s,i?i.array:null,t);let l=rt(s,n);nt(l,t),ar(l,Ee(t)),lr(l,Ee(t)),Xi(l,s),Qi(l,s,t),o&&l.setAttribute("data-hcms-item-tpl",o.item);let u=cr(l,".hcms-array-items",s,t);return(Array.isArray(r)?r:[]).forEach((y,c)=>{let h=Yi([...t,c],y,n,o?o.item:null);h&&u.appendChild(h)}),Zi(l),l}function Yi(e,t,r,n){let i=Ji(e,"scalar-array-item",r,n);if(!i)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let o=rt(i,r);return o.setAttribute("data-hcms-array-item",""),o.classList.contains("hcms-array-item")||o.classList.add("hcms-array-item"),nt(o,e),eo(o,t),o}function Ji(e,t,r,n){let i=e.map(o=>typeof o=="number"?"*":o).join(".");return ke(r,i)||n&&ke(r,n)||ke(r,"@"+t)}function rt(e,t){let r=e.content||e,n=t.createElement("div");return n.appendChild(r.cloneNode(!0)),n.firstElementChild||n}function nt(e,t){e.setAttribute("data-hcms-path",t.join("."))}function al(e,t){let r=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",r);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{i.getAttribute("data-hcms-field")||i.setAttribute("data-hcms-field",r)})}function ar(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function lr(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(n=>{(n.textContent||"").trim()===""&&(n.textContent=Zt(String(t)))})}function Xi(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,t.getAttribute(r))})}function Zi(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Vi(e,"data-hcms-max-items"),o=Vi(e,"data-hcms-min-items"),a=e.hasAttribute("data-hcms-no-add"),s=e.hasAttribute("data-hcms-no-remove"),l=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector('[data-hcms-action="add"]');u&&(u.hidden=a||i!=null&&n>=i),r.forEach((m,y)=>{let c=m.querySelector('[data-hcms-action="remove"]');c&&(c.hidden=s||o!=null&&n<=o);let h=m.querySelector('[data-hcms-action="move-up"]');h&&(h.hidden=l||y===0);let f=m.querySelector('[data-hcms-action="move-down"]');f&&(f.hidden=l||y===n-1)})}function Vi(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function Qi(e,t,r){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let n=e.querySelector(".hcms-array-items");if(!n)return;let i="hcms-"+r.join(".");n.setAttribute("sortable",i),n.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function Ee(e){return e.length?e[e.length-1]:null}function eo(e,t){let r=ll(e);if(r.length!==0)for(let n of r)no(n,t)}function ll(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&cl(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(n=>t.push(n)),t}function cl(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function to(e,t,r){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o)return;if(!t||typeof t!="object"||!(o in t)){console.warn(`[hypercms] inline template field "${o}" is not in the rule shape; ignoring`);return}let a=r==null?null:r[o];no(i,a)})}function ro(e,t,r){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o||t&&typeof t=="object"&&!(o in t))return;let a=[...r,o].join(".");i.setAttribute("data-hcms-path",a)})}function cr(e,t,r,n){if(!e.querySelector)return e;let i=e.querySelector(t);if(i)return i;let o=r?.getAttribute?.("data-hcms-tpl")||n.join(".");throw new Error(`hypercms: template "${o}" is in slotted mode but has no ${t} element`)}function no(e,t){let r=or(e),n=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(n==="INPUT"&&i==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(r==="checked"){e.checked=t===!0||t==="true";return}if(r){e[r]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var ul={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?hl(t.uploadFileBasic):null)},dl={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},cn=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function hl(e){return async function(r,{onProgress:n,signal:i}={}){if(i?.aborted)return cn();try{let o=await e(r,{onProgress:s=>{n?.({loaded:null,total:null,percent:s})}});if(i?.aborted)return cn();let a=o&&o.uploads||[];return typeof a[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:o.msg||"Uploaded",msgType:o.msgType||"success",code:o.code||null,uploads:a}}catch(o){if(i?.aborted)return cn();let a={};try{a=JSON.parse(o?.response||"{}")}catch{a={}}let s=a.code||dl[o?.status]||"error";return{ok:!1,msg:o&&o.message||"Upload failed",msgType:"error",code:s,uploads:[]}}}}function ue(e,t){let r=ul[e];if(!r)throw new Error(`hypercms: unknown platform capability "${e}"`);let n=t||(typeof window<"u"?window:null);return n&&r(n.clay,n.hyperclay)||null}var io=["clay:mutation-ready","hyperclay:mutation-ready"],oo=["clay:sync-applied","hyperclay:livesync-applied"],so=["clay:ready","hyperclay:ready"];function it(e,t,r){let n=null,i=o=>{n!==null&&n!==o.type||(n=o.type,queueMicrotask(()=>{n=null}),r(o))};for(let o of t)e.addEventListener(o,i);return()=>{for(let o of t)e.removeEventListener(o,i)}}var ve="data-hcms-bound",Re="data-hcms-bound-id",un=new Map;function ao(e,t){un.set(e,t)}function lo(e){un.delete(e)}function co(e){let t=e.getAttribute(Re);if(!t)return null;let r=un.get(t);return!r||!r.restorable()?null:r.originalHTML}var ze="data-hcms-owns-richclay";function ot(e){return e&&e.richclay&&e.richclay.RichClay||ue("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function uo(e,t,r){!e||typeof e.setAttribute!="function"||(e.setAttribute(ve,t?"rich":"plain"),r&&e.setAttribute(ze,"true"))}function ho(e,t){if(!e||typeof e.querySelectorAll!="function")return;let r=e.querySelectorAll(`[${ve}]`);if(!r.length)return;let n=ot(t);if(n&&typeof n.stripFromClone=="function")try{n.stripFromClone(e)}catch(i){console.warn("[hypercms] richclay strip failed; editor state may reach the save",i)}for(let i of r)i.getAttribute(ze)==="true"&&i.removeAttribute("data-richclay"),i.removeAttribute(ze),i.removeAttribute(ve)}function mo(e,t){if(!e||typeof e.removeAttribute!="function")return;let r=ot(t);if(r&&typeof r.stripElement=="function")try{r.stripElement(e)}catch(n){console.warn("[hypercms] richclay element strip failed; the clone stays editable",n)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(ze)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(ze),e.removeAttribute(ve),e.removeAttribute(Re)}function fo(e,t){if(!t||e==null)return e;return r(e);function r(n){if(typeof n=="string"){if(n.endsWith("[]")||ae(n)!==-1)return n;let i=null;try{i=t.querySelector(n)}catch{return n}return i&&i.children.length>0?n+"@innerHTML":n}if(Array.isArray(n))return n;if(n&&typeof n=="object"){let i=Object.create(null);for(let[o,a]of Object.entries(n))i[o]=r(a);return i}return n}}function po(e,t){if(!t||e==null)return e;return r(e,[t]);function r(n,i){if(typeof n=="string")return n.endsWith("[]")||ae(n)!==-1?n:i.some(o=>ml(o,n))?n+"@innerHTML":n;if(Array.isArray(n)){let[o,a]=n;if(typeof o!="string"||!o)return n;let s=fl(t,o);return s.length?[o,r(a,s)]:n}if(n&&typeof n=="object"){let o=Object.create(null);for(let[a,s]of Object.entries(n))o[a]=r(s,i);return o}return n}}function ml(e,t){let r=null;try{r=e.querySelector(t)}catch{return!1}return r?r.hasAttribute(ve)?r.getAttribute(ve)==="rich":r.children.length>0:!1}function fl(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function st(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function Me(e,t,r=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(st),r===!1))return;let n=t&&t.defaultView||(typeof window<"u"?window:null),i=ot(n);i&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(o=>{if(o.__hcmsRichclay)return;let a;try{a=new i(o,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(l){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",l);return}o.__hcmsRichclay=a;let s=a&&a.squire;s&&typeof s.addEventListener=="function"&&s.addEventListener("input",()=>{let l=n&&n.Event||Event;o.dispatchEvent(new l("input",{bubbles:!0}))})})}var dn=new WeakSet;function He(e,t){let r=ue("undo");if(!r)return t();r.pause();try{let n=t();return n&&n.ok?r.commitCaptured(e):r.discardCaptured(),n}finally{r.resume()}}function _e(e){let t=ue("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function hr(e){let{formRoot:t}=e;if(!t||dn.has(t))return;dn.add(t);let r=a=>{let s=a.target;!s||!s.closest||s.closest("[data-hcms-form-root]")&&s.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(s.tagName==="TEXTAREA"&&st(s),!s.matches('input[type="file"]')&&(!s.closest("[data-hcms-field]")&&!s.hasAttribute?.("data-hcms-field")||go(s,e)))},n=a=>{let s=a.target;if(!(!s||!s.closest)&&s.closest("[data-hcms-form-root]")){if(s.matches('input[type="file"][data-hcms-upload]')){wl(s,e);return}s.matches('input[type="checkbox"], input[type="radio"], select')&&go(s,e)}},i=a=>{let s=a.target;if(!s||!s.closest)return;let l=s.closest("[data-hcms-action]");if(!l)return;let u=l.getAttribute("data-hcms-action");if(u==="add"||u==="remove"||u==="move-up"||u==="move-down"||u==="clear-upload"){if(!l.closest("[data-hcms-form-root]"))return}else if(u==="close"&&!l.closest("[data-hcms-shell]"))return;if(u==="add"){let m=l.closest("[data-hcms-path]");if(!m)return;let y=m.getAttribute("data-hcms-path");Nt(y,e)}else if(u==="remove"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;fn(m,e)}else if(u==="move-up"||u==="move-down"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;mn(m,u==="move-up"?-1:1,e)}else u==="clear-upload"?_l(l,e):u==="close"&&e.onCloseRequested?.()},o=t.ownerDocument;o.addEventListener("input",r,!0),o.addEventListener("change",n,!0),o.addEventListener("click",i,!0),e.detachEvents=()=>{o.removeEventListener("input",r,!0),o.removeEventListener("change",n,!0),o.removeEventListener("click",i,!0),dn.delete(t)}}var pl=new Set(["value","checked"]);function gl(e,t){if(!t)return null;let r=Se(t);if(r.some(l=>typeof l=="number"||l==="*"))return null;let n=Pe(e.pageRules,r);if(typeof n!="string")return null;let i=fe.ruleAttrIndex(n);if(i===-1)return null;let o=n.slice(i+1);if(!pl.has(o))return null;let a=n.slice(0,i),s=a?e.pageRoot.querySelector(a):e.pageRoot;return s?{el:s,prop:o,oldValue:s[o]}:null}function go(e,t){let n=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",i=gl(t,n);if(be(pe(t),{path:n,structural:!1},t),i){let o=ue("undo");o&&typeof o.recordValue=="function"&&o.recordValue(i.el,{prop:i.prop,oldValue:i.oldValue,newValue:i.el[i.prop]})}}var bl={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function yl(e,t){let r=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(r==null)return{file:e};let n=ue("quickcrop");if(typeof n!="function")return{file:e};try{let i=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",o=await n(e,{aspect:kl(r),modal:i,...bl});return o===null?null:{file:vl(o.blob,e.name),dataURL:o.dataURL}}catch(i){return lt(t,i&&i.message||"Crop failed"),null}}function kl(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let r=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!r)return null;let n=parseFloat(r[1]),i=parseFloat(r[2]);return!n||!i?null:n/i}function vl(e,t){let r=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",n=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],n+r,{type:e.type})}catch{return e}}var xl=new Set(["unsupported","payment-required"]);async function wl(e,t){let r=e.files&&e.files[0];if(!r)return;let n=e.closest("[data-hcms-path]");if(!n)return;let i=n.getAttribute("data-hcms-path")||"";lt(n,null);let o=await yl(r,n);if(!o||t.closed){Ne(e);return}let a=o.file,s=o.dataURL||null,l=ue("upload");if(typeof l!="function")return hn(e,n,t,i,await bo(a,s,n),a);xo(n,s),yo(n,0);let u=Sl(t),m;try{m=await l(a,{signal:u?.signal,onProgress:({percent:c})=>yo(n,c)})}finally{El(t,u),Cl(n)}if(t.closed){Ne(e);return}if(m.code==="aborted"){Ne(e);return}if(m.ok)return hn(e,n,t,i,m.uploads[0].url,a);if(!xl.has(m.code)){lt(n,m.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(m.msg||"Upload failed"),code:m.code,path:i}),Ne(e);return}let y=m.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return hn(e,n,t,i,await bo(a,s,n),a,y)}function hn(e,t,r,n,i,o,a=null){if(r.closed){Ne(e);return}if(xo(t,null),lt(t,null),!i){Ne(e);return}vo(t,i,o.name),be(pe(r),{path:n,structural:!1},r),a&&lt(t,a,"info"),Ne(e)}async function bo(e,t,r){return t||await Al(e,r)}function Al(e,t){let r=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return r?new Promise(n=>{let i=new r;i.onload=()=>n(typeof i.result=="string"?i.result:""),i.onerror=()=>n("");try{i.readAsDataURL(e)}catch{n("")}}):Promise.resolve("")}function Sl(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function El(e,t){t&&e.uploads?.delete(t)}function _l(e,t){let r=e.closest("[data-hcms-path]");if(!r)return;let n=r.getAttribute("data-hcms-path")||"";vo(r,"","");let i=r.querySelector('input[type="file"][data-hcms-upload]');i&&Ne(i),lt(r,null),be(pe(t),{path:n,structural:!1},t)}function Tl(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function vo(e,t,r){let n=Tl(e);if(!n)return;let i=(n.tagName||"").toUpperCase();i==="IMG"?n.src=t||"":i==="A"&&(n.href=t||"",n.textContent=t?r||sn(t):"")}function Ne(e){try{e.value=""}catch{}}function xo(e,t){let r=e.querySelector?e.querySelector(".mirk-image__frame"):null;r&&(t?r.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:r.style.removeProperty("background-image"))}function yo(e,t){let r=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${r}%`)}function Cl(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function lt(e,t,r="error"){let n=e.querySelector?e.querySelector(":scope > .hcms-error"):null;n&&(n.classList.toggle("hcms-error--info",!!t&&r==="info"),t?(n.textContent=t,n.hidden=!1):(n.textContent="",n.hidden=!0))}function Nt(e,t){let{formRoot:r,pageRules:n}=t,i=r.querySelector(`[data-hcms-path="${ct(e)}"]`);if(!i)throw new Error(`hypercms: no element at path "${e}"`);let o=i.querySelector(".hcms-array-items");if(!o)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let a=Se(e),s=Ll(n,a),l=Array.isArray(s),u=typeof s=="string"&&s.endsWith("[]");if(!l&&!u)throw new Error(`hypercms: path "${e}" is not an array`);let m=dr(i,"data-hcms-max-items"),y=o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(i.hasAttribute("data-hcms-no-add")||m!=null&&y.length>=m)return;let c=y.length,h=l?s[1]:s.replace(/\[\]$/,""),f=Ot(l?h:"string"),b=Wi({shape:l?"object-array-item":"scalar-array-item",itemShape:h,pathArr:[...a,c],data:f,doc:t.doc,itemKey:i.getAttribute("data-hcms-item-tpl")||null,pageRules:n});return o.appendChild(b),Me(b,t.doc,t.view?.enhanceFormRichText!==!1),gn(i),He(`Add ${e}`,()=>be(pe(t),{path:e,structural:!0},t))}function mn(e,t,r){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!n||n.hasAttribute("data-hcms-no-reorder"))return;let i=n.querySelector(".hcms-array-items");if(!i)return;let o=Array.from(i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),a=o.indexOf(e);if(a<0)return;let s=a+t;if(s<0||s>=o.length)return;let l=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?i.insertBefore(e,o[s]):i.insertBefore(e,o[s].nextSibling),bn(i),gn(n),l&&typeof l.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),He(`Reorder ${n.getAttribute("data-hcms-path")||""}`,()=>be(pe(r),{path:n.getAttribute("data-hcms-path")||"",structural:!0},r))}var ur="Delete this item?";function Ol(e,t){let r=e&&e.getAttribute("data-hcms-confirm-remove");if(r!=null)return/^(off|false|no|0)$/i.test(r.trim())?null:r||ur;let n=t&&t.confirmRemove;return n===!1?null:typeof n=="string"?n||ur:n===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?ur:null}function fn(e,t){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),n=Ol(r,t);if(n==null)return at(e,t);let i=ue("consent")||typeof window<"u"&&window.consent;typeof i=="function"?Promise.resolve(i(n)).then(()=>{t.closed||at(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(n)&&at(e,t):at(e,t)}function at(e,t){let r=e.getAttribute("data-hcms-path")||"",n=e.parentElement,i=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!i?.hasAttribute("data-hcms-no-remove")){if(i){let o=dr(i,"data-hcms-min-items"),a=i.querySelector(".hcms-array-items"),s=a?a.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(o!=null&&s<=o)return}return e.remove(),n&&bn(n),i&&gn(i),He(`Remove ${r}`,()=>be(pe(t),{path:r,structural:!0},t))}}function be(e,t,r){if(r.closed)return{ok:!1,skipped:!0,closed:!0};let n=Lt(e);if(!t.structural&&n===r.lastFingerprint)return{ok:!0,skipped:!0};let i=Object.hasOwn(r,"writeRules")?r.writeRules:r.pageRules,o=Mi(r.pageRoot,i,e,{shellRoot:r.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:r.formRoot});return o.ok?(r.lastFingerprint=n,r.lastData=e,ko(r,null),r.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),r.onChange?.(e,t)):(ko(r,Nl(o.error,t.path)),r.dispatch?.("hcms:error",{error:o.error,attemptedData:e}),r.onError?.(o.error)),o}function mr(e,t){let r=ct(t),n=`[data-hcms-path="${r}"] input[data-hcms-field], [data-hcms-path="${r}"] textarea[data-hcms-field], [data-hcms-path="${r}"] select[data-hcms-field], [data-hcms-path="${r}"] img[data-hcms-field], [data-hcms-path="${r}"] a[data-hcms-field], [data-hcms-path="${r}"] [contenteditable][data-hcms-field], input[data-hcms-path="${r}"][data-hcms-field], textarea[data-hcms-path="${r}"][data-hcms-field], select[data-hcms-path="${r}"][data-hcms-field], img[data-hcms-path="${r}"][data-hcms-field], a[data-hcms-path="${r}"][data-hcms-field], [contenteditable][data-hcms-path="${r}"][data-hcms-field]`;return e.querySelector(n)}function fr(e,t,r,n){let i=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(i==="INPUT"&&o==="checkbox"){e.checked=t===!0||t==="true";return}if(i==="INPUT"&&o==="radio"){let a=ct(n),s=r.querySelectorAll(`[data-hcms-path="${a}"][data-hcms-field][type="radio"], [data-hcms-path="${a}"] [data-hcms-field][type="radio"]`);s.length?s.forEach(l=>{l.checked=String(l.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(i==="IMG"){e.src=t==null?"":String(t);return}if(i==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function pe(e){let t=fe.extract(e.formRoot,e.formRules,{exclude:null});return Le(t,e.formRules)}function Le(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,r]=t;return e.map(n=>Le(n,r))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(t))r[n]=Le(e[n],i);return r}return e}function ko(e,t){e.lastErrors=t&&t.length?t:null,pn(e)}function pn(e){if(Rl(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:r,path:n}of e.lastErrors){if(n!=null&&n!==""){let i=Ml(e.formRoot,n);if(i){i.textContent=i.textContent?`${i.textContent}
151
- ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
152
- `),e.errorEl.hidden=!1)}function Rl(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function Ml(e,t){if(!e)return null;let r=t.split(".");for(;r.length>0;){let n=r.join("."),i=typeof CSS<"u"&&CSS.escape?CSS.escape(n):n.replace(/[^a-zA-Z0-9_\-.*]/g,a=>"\\"+a),o=e.querySelector(`[data-hcms-path="${i}"]`);if(o){for(let a of o.children)if(a.classList&&a.classList.contains("hcms-error"))return a}r.pop()}return null}function Nl(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(r=>({message:`Shape mismatch: expected ${r.expected}, got ${r.got}`,path:r.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function Ll(e,t){let r=e;for(let n of t){if(r==null||typeof r=="string")return;if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function dr(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function gn(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=dr(e,"data-hcms-max-items"),o=dr(e,"data-hcms-min-items"),a=e.hasAttribute("data-hcms-no-add"),s=e.hasAttribute("data-hcms-no-remove"),l=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');u&&(u.hidden=a||i!=null&&n>=i),r.forEach((m,y)=>{let c=m.querySelector('[data-hcms-action="remove"]');c&&(c.hidden=s||o!=null&&n<=o);let h=m.querySelector('[data-hcms-action="move-up"]');h&&(h.hidden=l||y===0);let f=m.querySelector('[data-hcms-action="move-down"]');f&&(f.hidden=l||y===n-1)})}function pr(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>bn(t))}function bn(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),n=>[n,n.checked]):[],r=0;for(let n of e.children){if(!n.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let i=n.getAttribute("data-hcms-path");if(!i)continue;let o=i.split(".");o[o.length-1]=String(r);let a=o.join(".");a!==i&&Il(n,i,a),r++}for(let[n,i]of t)n.checked!==i&&(n.checked=i)}function Il(e,t,r){let n=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",r);for(let i of n){let o=i.getAttribute("data-hcms-path");o===t?i.setAttribute("data-hcms-path",r):o&&o.startsWith(t+".")&&i.setAttribute("data-hcms-path",r+o.slice(t.length))}jl(e)}function jl(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let r=t.closest("[data-hcms-path]");r&&(t.name=ln(r.getAttribute("data-hcms-path")))}}function Lt(e){return JSON.stringify(e,(t,r)=>{if(r&&typeof r=="object"&&!Array.isArray(r)){let n=Object.create(null);for(let i of Object.keys(r).sort())n[i]=r[i];return n}return r})}function ct(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Bl={},gr="hcms-shell-styles",Fl="hcms-bundled-styles-installed",br="hcms-session-open",Dl='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',ut=new WeakSet,yn="";function Ao(e){yn=e}function It(e){e?.body?.classList.add(br)}function kn(e){e?.body?.classList.remove(br)}var ql=0;function wo(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}function So({mountTo:e,side:t="right",overlay:r=!1,showSaveButton:n=!1,title:i="Page content",eyebrow:o="Edit",theme:a=null,doc:s}){Eo(s);let l=`hcms-shell-title-${++ql}`,u=s.createElement("div");u.setAttribute("data-hcms-shell",""),u.setAttribute("editor-ui",""),u.setAttribute("save-remove",""),u.setAttribute("save-ignore",""),u.setAttribute("tabindex","-1"),u.setAttribute("role","dialog"),u.setAttribute("aria-modal","true"),u.setAttribute("aria-labelledby",l);let m=a==="dark"?" dark":a==="light"?" light":"";u.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(r?" hcms-overlay":"")+m;let y=wo(i),c=wo(o);u.innerHTML=`
151
+ `},Cf=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function xo(e){let t=e.head||e.documentElement;if(t)for(let n of Cf)ql(e,t,n)}function Bi(e,t){if(!jl[t])return null;let n=e&&(e.head||e.documentElement);return n?ql(e,n,t):null}var Ll={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},ko={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},Of=new Set([...Object.values(ko),"@chips","@chips-item"]);function $r(e,t,n,r){if(typeof e!="string")return"@scalar";let o=St(e),i=Ao(e,o,n,r),s=So(i,t,"data-hcms-component");if(s&&ko[s]){let l=ko[s],a=Array.isArray(n)&&n.some(h=>h==="*"||typeof h=="number");return l==="@number"&&!Il(e,o,t,a,i).every(Rf)||(l==="@checkbox"||l==="@toggle")&&(o<0||e.slice(o+1)!=="checked")&&!Il(e,o,t,a,i).every(Mf)?"@scalar":l}if(o>=0){let l=e.slice(o+1);if(Ll[l])return Ll[l]}return"@scalar"}function Dl(e,t,n,r){if(typeof e!="string")return null;let o=St(e),i=So(Ao(e,o,n,r),t,"data-hcms-component");return i&&ko[i]||null}var Nf=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Rf(e){return e==null||e===""?!0:Nf.test(String(e))}function Mf(e){return e==null||e===""||e==="true"||e==="false"}function Il(e,t,n,r,o){if(!n||!n.querySelectorAll)return[];if(!o||o===".")return[];let i=null;try{i=n.querySelectorAll(o)}catch{return[]}let s=t>=0?e.slice(t+1):null,l=[];for(let a of i)if(!(a.closest&&a.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in a?l.push(a.value):l.push(a.getAttribute?a.getAttribute(s):null):l.push((a.textContent||"").trim()),!r))break;return l}function vo(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let n=e.slice(0,-2).trim();if(!n)return null;let r=null;try{r=t.querySelector(n)}catch{return null}let o=r&&r.closest?r.closest("[data-hcms-component]"):null;return(o&&o.getAttribute?o.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function sr(e,t,n){let r=e.join("."),o=e.map(i=>typeof i=="number"?"*":i).join(".");return r&&fn(n,r)||o&&o!==r&&fn(n,o)||fn(n,t)}function wo(e,t,n){let r=vo(e,n);if(!r)return null;let o=sr(t,r.array,n);return o&&o.getAttribute("data-hcms-tpl")===r.array?r:null}function Pl(e,t,n,r){if(typeof e!="string")return null;let o=St(e),i=So(Ao(e,o,n,r),t,"data-hcms-options");if(i==null)return null;let s=i.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function Fl(e,t,n,r){if(typeof e!="string")return null;let o=St(e);return So(Ao(e,o,n,r),t,"data-hcms-crop")}function Lf(e,t){return t>=0?e.slice(0,t):e}function Ao(e,t,n,r){let o=Lf(e,t);return o&&o!=="."?o:If(r,n)}function If(e,t){if(e==null||!Array.isArray(t))return"";let n=[],r=e;for(let o of t){if(r==null||typeof r=="string")break;if(Array.isArray(r)){if(typeof r[0]!="string"||o!=="*"&&typeof o!="number")return"";n.push(r[0]),r=r[1];continue}if(typeof r!="object"||!Object.prototype.hasOwnProperty.call(r,o))return"";r=r[o]}return n.join(" ")}function So(e,t,n){if(!t||!t.querySelector||!e||e===".")return null;let r=null;try{r=t.querySelector(e)}catch{return null}return r&&r.getAttribute?r.getAttribute(n):null}function To(e,t){if(!e||t==null)return;n(t,[]);function n(r,o){let i=qn(r);if(i==="scalar"){let s=$r(r,e,o,t);Of.has(s)&&Bi(e,s);return}if(i==="scalar-array"){let s=vo(r,e);s&&(Bi(e,s.array),Bi(e,s.item));return}if(i==="object"){for(let[s,l]of Object.entries(r))n(l,[...o,s]);return}if(i==="object-array"){let s=r[1],l=[...o,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[a,h]of Object.entries(s))n(h,[...l,a]);else n(s,l)}}}function ql(e,t,n){let r=fn(e,n);if(r)return r;let o=e.createElement("template");return o.setAttribute("data-hcms-tpl",n),o.setAttribute("save-remove",""),o.innerHTML=jl[n].trim(),t.appendChild(o),o}function fn(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${jf(t)}"]`)}function jf(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function qn(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Ur(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var Bl={IMG:"src",A:"href"};function Eo(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":Bl[t]?Bl[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function Hl(e,t){let n=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),o=Eo(e),s=`${Ul(n,r)}[data-hcms-field="${lr(t)}"]`;return n==="INPUT"&&r==="radio"?`${s}:checked@value`:o?`${s}@${o}`:s}function Df(e){let t=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),r=Eo(e),i=`${Ul(t,n)}[data-hcms-field]`;return t==="INPUT"&&n==="radio"?`${i}:checked@value`:r?`${i}@${r}`:i}function Ul(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function lr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var $l=new Set(["__proto__","constructor","prototype"]);function _o(e,t){return n(e,[]);function n(h,d){let b=qn(h);if(b==="scalar")return r(h,d);if(b==="scalar-array")return o(h,d);if(b==="object-array")return i(h,d);if(b==="object"){let f=Object.create(null);for(let[u,m]of Object.entries(h)){if($l.has(u))throw new Error(`hypercms: rule key "${u}" is forbidden at "${d.join(".")||"<root>"}"`);f[u]=n(m,[...d,u])}return f}return null}function r(h,d){let b=d.length?d[d.length-1]:null,f=typeof b=="string"?b:"__value",u=a(d,f);if(u)return Hl(u,f);let m=l($r(h,t,d,e),f);return m?Hl(m,f):`input[data-hcms-field="${lr(f)}"]@value`}function o(h,d){let b=wo(h,d,t),f=b&&l(b.item,null)||l("@scalar-array-item",null),u=f?Df(f):"input[data-hcms-field]@value";return[s(d,"[data-hcms-array-item]"),u]}function i(h,d){let[,b]=h,f=[...d,"*"],u=s(d,"[data-hcms-card]");if(b&&typeof b=="object"&&!Array.isArray(b)){let m=Object.create(null);for(let[p,v]of Object.entries(b)){if($l.has(p))throw new Error(`hypercms: rule key "${p}" is forbidden at "${f.join(".")}"`);m[p]=n(v,[...f,p])}return[u,m]}return[u,n(b,[...f,0])]}function s(h,d){let b=h.length?h[h.length-1]:"",f=h.some(p=>p==="*"),u=h.join(".");return`${f?`[data-hcms-field="${lr(b)}"]`:`[data-hcms-path="${lr(u)}"]`} > .hcms-array-items > ${d}`}function l(h,d){if(!t)return null;let b=fn(t,h);if(!b)return null;let f=b.content||b;if(d){let u=f.querySelector(`[data-hcms-field="${lr(d)}"]`);if(u)return u}return f.querySelector("[data-hcms-field]")}function a(h,d){if(!t)return null;let b=h.map(m=>typeof m=="number"?"*":m).join("."),u=[h.join("."),b];for(let m=h.length-1;m>=0;m--){let p=h.slice(0,m).map(v=>typeof v=="number"?"*":v);p.push("*"),u.push(p.join("."))}for(let m of u){if(!m)continue;let p=fn(t,m);if(!p||!Ur(p))continue;let v=p.content||p,A=v.querySelector(`[data-hcms-field="${lr(d)}"]`)||v.querySelector("[data-hcms-field]");if(A)return A}return null}}function Hi(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],n=t.split("/").pop()||t;try{return decodeURIComponent(n)}catch{return n}}function ar({pageRules:e,formRules:t,data:n,doc:r}){let o=r.createDocumentFragment(),i=$i(e,[],n,r,e);return i&&o.appendChild(i),o}function Vl({shape:e,itemShape:t,pathArr:n,data:r,doc:o,itemKey:i,pageRules:s}){if(e==="object-array-item")return Kl(t,n,r,o,s);if(e==="scalar-array-item")return Gl(n,r,o,i||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function $i(e,t,n,r,o){let i=qn(e);return i==="scalar"?Pf(e,t,n,r,o):i==="object"?Hf(e,t,n,r,o):i==="object-array"?$f(e,t,n,r,o):i==="scalar-array"?Uf(e,t,n,r):null}function Pf(e,t,n,r,o){let i=$r(e,r,t,o),s=sr(t,i,r);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let l=Dl(e,r,t,o);l==="@number"&&i==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(l==="@checkbox"||l==="@toggle")&&i==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${l}" but its value isn't true/false; rendering a text input so the value is preserved`),Wl(s,l===i?l:null,t);let a=cr(s,r);ur(a,t);let h=s.getAttribute?.("data-hcms-tpl");if((i==="@select"||i==="@radio")&&h===i&&Ff(a,e,t,n,r,i,o),i==="@image"&&h==="@image"){let d=Fl(e,r,t,o);d!=null&&!a.hasAttribute("data-hcms-crop")&&a.setAttribute("data-hcms-crop",d)}return zf(a,xn(t)),Co(a,xn(t)),Oo(a,xn(t)),Ql(a,n),i==="@file"&&Bf(a),a}function Wl(e,t,n){if(!t)return;let r=e.getAttribute?.("data-hcms-tpl");r&&r!==t&&console.info(`[hypercms] field "${n.join(".")}" declares component "${t}" but custom template "${r}" wins`)}function Ff(e,t,n,r,o,i,s){let l=Pl(t,o,n,s),a=l?[...l]:[],h=r==null?"":String(r);if(h!==""&&!a.includes(h)&&a.unshift(h),!l&&(qf(e,"data-hcms-options required (space-separated values)"),a.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(i==="@select"){let f=e.querySelector("select[data-hcms-field]");if(!f)return;for(let u of a){let m=o.createElement("option");m.value=u,m.textContent=yo(u),f.appendChild(m)}return}let d=e.querySelector(".mirk-radio");if(!d||!d.parentNode)return;let b=Ui(n.join("."));for(let f of a){let u=d.cloneNode(!0),m=u.querySelector('input[type="radio"]');m&&(m.value=f,m.name=b);let p=u.querySelector(".mirk-radio__label");p&&(p.textContent=yo(f)),d.parentNode.insertBefore(u,d)}d.remove()}function Ui(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function qf(e,t){let n=e.querySelector?e.querySelector(".hcms-error"):null;n&&(n.textContent=t,n.hidden=!1)}function Bf(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=Hi(t.getAttribute("href")))}function Hf(e,t,n,r,o){let i=sr(t,"@object",r);if(!i)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=cr(i,r);if(ur(s,t),Co(s,xn(t)),Oo(s,xn(t)),Ur(i))return ta(s,e,t),ea(s,e,n),s;let l=No(s,".hcms-object-fields",i,t);for(let[a,h]of Object.entries(e)){let d=n==null?null:n[a],b=$i(h,[...t,a],d,r,o);b&&l.appendChild(b)}return s}function $f(e,t,n,r,o){let i=sr(t,"@object-array",r);if(!i)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=cr(i,r);ur(s,t),Co(s,xn(t)),Oo(s,xn(t)),Xl(s,i),Zl(s,i,t);let l=No(s,".hcms-array-items",i,t),[,a]=e;return(Array.isArray(n)?n:[]).forEach((d,b)=>{let f=Kl(a,[...t,b],d,r,o);f&&l.appendChild(f)}),Jl(s),s}function Kl(e,t,n,r,o){let i=Yl(t,"object-array-item",r);if(!i)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=cr(i,r);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),ur(s,t),Ur(i))return e&&typeof e=="object"&&!Array.isArray(e)&&(ta(s,e,t),ea(s,e,n)),s;let l=No(s,".hcms-card-fields",i,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[a,h]of Object.entries(e)){let d=n==null?null:n[a],b=$i(h,[...t,a],d,r,o);b&&l.appendChild(b)}return s}function Uf(e,t,n,r){let o=vo(e,r),i=wo(e,t,r),s=o?o.array:"@scalar-array",l=sr(t,s,r);if(!l)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Wl(l,o?o.array:null,t);let a=cr(l,r);ur(a,t),Co(a,xn(t)),Oo(a,xn(t)),Xl(a,l),Zl(a,l,t),i&&a.setAttribute("data-hcms-item-tpl",i.item);let h=No(a,".hcms-array-items",l,t);return(Array.isArray(n)?n:[]).forEach((b,f)=>{let u=Gl([...t,f],b,r,i?i.item:null);u&&h.appendChild(u)}),Jl(a),a}function Gl(e,t,n,r){let o=Yl(e,"scalar-array-item",n,r);if(!o)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let i=cr(o,n);return i.setAttribute("data-hcms-array-item",""),i.classList.contains("hcms-array-item")||i.classList.add("hcms-array-item"),ur(i,e),Ql(i,t),i}function Yl(e,t,n,r){let o=e.map(i=>typeof i=="number"?"*":i).join(".");return fn(n,o)||r&&fn(n,r)||fn(n,"@"+t)}function cr(e,t){let n=e.content||e,r=t.createElement("div");return r.appendChild(n.cloneNode(!0)),r.firstElementChild||r}function ur(e,t){e.setAttribute("data-hcms-path",t.join("."))}function zf(e,t){let n=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",n);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{o.getAttribute("data-hcms-field")||o.setAttribute("data-hcms-field",n)})}function Co(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function Oo(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(r=>{(r.textContent||"").trim()===""&&(r.textContent=yo(String(t)))})}function Xl(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(n=>{t.hasAttribute(n)&&e.setAttribute(n,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(n=>{t.hasAttribute(n)&&e.setAttribute(n,t.getAttribute(n))})}function Jl(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let n=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),r=n.length,o=zl(e,"data-hcms-max-items"),i=zl(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),h=e.querySelector('[data-hcms-action="add"]');h&&(h.hidden=s||o!=null&&r>=o),n.forEach((d,b)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||i!=null&&r<=i);let u=d.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=a||b===0);let m=d.querySelector('[data-hcms-action="move-down"]');m&&(m.hidden=a||b===r-1)})}function zl(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Zl(e,t,n){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let r=e.querySelector(".hcms-array-items");if(!r)return;let o="hcms-"+n.join(".");r.setAttribute("sortable",o),r.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function xn(e){return e.length?e[e.length-1]:null}function Ql(e,t){let n=Vf(e);if(n.length!==0)for(let r of n)na(r,t)}function Vf(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&Wf(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(r=>t.push(r)),t}function Wf(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function ea(e,t,n){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{let i=o.getAttribute("data-hcms-field");if(!i)return;if(!t||typeof t!="object"||!(i in t)){console.warn(`[hypercms] inline template field "${i}" is not in the rule shape; ignoring`);return}let s=n==null?null:n[i];na(o,s)})}function ta(e,t,n){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(o=>{let i=o.getAttribute("data-hcms-field");if(!i||t&&typeof t=="object"&&!(i in t))return;let s=[...n,i].join(".");o.setAttribute("data-hcms-path",s)})}function No(e,t,n,r){if(!e.querySelector)return e;let o=e.querySelector(t);if(o)return o;let i=n?.getAttribute?.("data-hcms-tpl")||r.join(".");throw new Error(`hypercms: template "${i}" is in slotted mode but has no ${t} element`)}function na(e,t){let n=Eo(e),r=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(r==="INPUT"&&o==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(n==="checked"){e.checked=t===!0||t==="true";return}if(n){e[n]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var Kf={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?Yf(t.uploadFileBasic):null)},Gf={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},zi=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function Yf(e){return async function(n,{onProgress:r,signal:o}={}){if(o?.aborted)return zi();try{let i=await e(n,{onProgress:l=>{r?.({loaded:null,total:null,percent:l})}});if(o?.aborted)return zi();let s=i&&i.uploads||[];return typeof s[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:i.msg||"Uploaded",msgType:i.msgType||"success",code:i.code||null,uploads:s}}catch(i){if(o?.aborted)return zi();let s={};try{s=JSON.parse(i?.response||"{}")}catch{s={}}let l=s.code||Gf[i?.status]||"error";return{ok:!1,msg:i&&i.message||"Upload failed",msgType:"error",code:l,uploads:[]}}}}function It(e,t){let n=Kf[e];if(!n)throw new Error(`hypercms: unknown platform capability "${e}"`);let r=t||(typeof window<"u"?window:null);return r&&n(r.clay,r.hyperclay)||null}var ra=["clay:mutation-ready","hyperclay:mutation-ready"],oa=["clay:sync-applied","hyperclay:livesync-applied"],ia=["clay:ready","hyperclay:ready"];function fr(e,t,n){let r=null,o=i=>{r!==null&&r!==i.type||(r=i.type,queueMicrotask(()=>{r=null}),n(i))};for(let i of t)e.addEventListener(i,o);return()=>{for(let i of t)e.removeEventListener(i,o)}}var dn="data-hcms-bound",_n="data-hcms-bound-id",Vi=new Map;function sa(e,t){Vi.set(e,t)}function la(e){Vi.delete(e)}function aa(e){let t=e.getAttribute(_n);if(!t)return null;let n=Vi.get(t);return!n||!n.restorable()?null:n.originalHTML}var Bn="data-hcms-owns-richclay";function dr(e){return e&&e.richclay&&e.richclay.RichClay||It("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function ca(e,t,n){!e||typeof e.setAttribute!="function"||(e.setAttribute(dn,t?"rich":"plain"),n&&e.setAttribute(Bn,"true"))}function ua(e,t){if(!e||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll(`[${dn}]`);if(!n.length)return;let r=dr(t);if(r&&typeof r.stripFromClone=="function")try{r.stripFromClone(e)}catch(o){console.warn("[hypercms] richclay strip failed; editor state may reach the save",o)}for(let o of n)o.getAttribute(Bn)==="true"&&o.removeAttribute("data-richclay"),o.removeAttribute(Bn),o.removeAttribute(dn)}function fa(e,t){if(!e||typeof e.removeAttribute!="function")return;let n=dr(t);if(n&&typeof n.stripElement=="function")try{n.stripElement(e)}catch(r){console.warn("[hypercms] richclay element strip failed; the clone stays editable",r)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(Bn)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(Bn),e.removeAttribute(dn),e.removeAttribute(_n)}function da(e,t){if(!t||e==null)return e;return n(e);function n(r){if(typeof r=="string"){if(r.endsWith("[]")||St(r)!==-1)return r;let o=null;try{o=t.querySelector(r)}catch{return r}return o&&o.children.length>0?r+"@innerHTML":r}if(Array.isArray(r))return r;if(r&&typeof r=="object"){let o=Object.create(null);for(let[i,s]of Object.entries(r))o[i]=n(s);return o}return r}}function ha(e,t){if(!t||e==null)return e;return n(e,[t]);function n(r,o){if(typeof r=="string")return r.endsWith("[]")||St(r)!==-1?r:o.some(i=>Xf(i,r))?r+"@innerHTML":r;if(Array.isArray(r)){let[i,s]=r;if(typeof i!="string"||!i)return r;let l=Jf(t,i);return l.length?[i,n(s,l)]:r}if(r&&typeof r=="object"){let i=Object.create(null);for(let[s,l]of Object.entries(r))i[s]=n(l,o);return i}return r}}function Xf(e,t){let n=null;try{n=e.querySelector(t)}catch{return!1}return n?n.hasAttribute(dn)?n.getAttribute(dn)==="rich":n.children.length>0:!1}function Jf(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function hr(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function Cn(e,t,n=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(hr),n===!1))return;let r=t&&t.defaultView||(typeof window<"u"?window:null),o=dr(r);o&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(i=>{if(i.__hcmsRichclay)return;let s;try{s=new o(i,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}i.__hcmsRichclay=s;let l=s&&s.squire;l&&typeof l.addEventListener=="function"&&l.addEventListener("input",()=>{let a=r&&r.Event||Event;i.dispatchEvent(new a("input",{bubbles:!0}))})})}var Wi=new WeakSet;function Hn(e,t){let n=It("undo");if(!n)return t();n.pause();try{let r=t();return r&&r.ok?n.commitCaptured(e):n.discardCaptured(),r}finally{n.resume()}}function vn(e){let t=It("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Lo(e){let{formRoot:t}=e;if(!t||Wi.has(t))return;Wi.add(t);let n=s=>{let l=s.target;!l||!l.closest||l.closest("[data-hcms-form-root]")&&l.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(l.tagName==="TEXTAREA"&&hr(l),!l.matches('input[type="file"]')&&(!l.closest("[data-hcms-field]")&&!l.hasAttribute?.("data-hcms-field")||ma(l,e)))},r=s=>{let l=s.target;if(!(!l||!l.closest)&&l.closest("[data-hcms-form-root]")){if(l.matches('input[type="file"][data-hcms-upload]')){id(l,e);return}l.matches('input[type="checkbox"], input[type="radio"], select')&&ma(l,e)}},o=s=>{let l=s.target;if(!l||!l.closest)return;let a=l.closest("[data-hcms-action]");if(!a)return;let h=a.getAttribute("data-hcms-action");if(h==="add"||h==="remove"||h==="move-up"||h==="move-down"||h==="clear-upload"){if(!a.closest("[data-hcms-form-root]"))return}else if(h==="close"&&!a.closest("[data-hcms-shell]"))return;if(h==="add"){let d=a.closest("[data-hcms-path]");if(!d)return;let b=d.getAttribute("data-hcms-path");zr(b,e)}else if(h==="remove"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Yi(d,e)}else if(h==="move-up"||h==="move-down"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Gi(d,h==="move-up"?-1:1,e)}else h==="clear-upload"?cd(a,e):h==="close"&&e.onCloseRequested?.()},i=t.ownerDocument;i.addEventListener("input",n,!0),i.addEventListener("change",r,!0),i.addEventListener("click",o,!0),e.detachEvents=()=>{i.removeEventListener("input",n,!0),i.removeEventListener("change",r,!0),i.removeEventListener("click",o,!0),Wi.delete(t)}}var Zf=new Set(["value","checked"]);function Qf(e,t){if(!t)return null;let n=yn(t);if(n.some(a=>typeof a=="number"||a==="*"))return null;let r=Fn(e.pageRules,n);if(typeof r!="string")return null;let o=Vt.ruleAttrIndex(r);if(o===-1)return null;let i=r.slice(o+1);if(!Zf.has(i))return null;let s=r.slice(0,o),l=s?e.pageRoot.querySelector(s):e.pageRoot;return l?{el:l,prop:i,oldValue:l[i]}:null}function ma(e,t){let r=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",o=Qf(t,r);if(tn(Gt(t),{path:r,structural:!1},t),o){let i=It("undo");i&&typeof i.recordValue=="function"&&i.recordValue(o.el,{prop:o.prop,oldValue:o.oldValue,newValue:o.el[o.prop]})}}var ed={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function td(e,t){let n=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(n==null)return{file:e};let r=It("quickcrop");if(typeof r!="function")return{file:e};try{let o=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",i=await r(e,{aspect:nd(n),modal:o,...ed});return i===null?null:{file:rd(i.blob,e.name),dataURL:i.dataURL}}catch(o){return pr(t,o&&o.message||"Crop failed"),null}}function nd(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let n=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!n)return null;let r=parseFloat(n[1]),o=parseFloat(n[2]);return!r||!o?null:r/o}function rd(e,t){let n=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",r=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],r+n,{type:e.type})}catch{return e}}var od=new Set(["unsupported","payment-required"]);async function id(e,t){let n=e.files&&e.files[0];if(!n)return;let r=e.closest("[data-hcms-path]");if(!r)return;let o=r.getAttribute("data-hcms-path")||"";pr(r,null);let i=await td(n,r);if(!i||t.closed){On(e);return}let s=i.file,l=i.dataURL||null,a=It("upload");if(typeof a!="function")return Ki(e,r,t,o,await pa(s,l,r),s);ya(r,l),ga(r,0);let h=ld(t),d;try{d=await a(s,{signal:h?.signal,onProgress:({percent:f})=>ga(r,f)})}finally{ad(t,h),fd(r)}if(t.closed){On(e);return}if(d.code==="aborted"){On(e);return}if(d.ok)return Ki(e,r,t,o,d.uploads[0].url,s);if(!od.has(d.code)){pr(r,d.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(d.msg||"Upload failed"),code:d.code,path:o}),On(e);return}let b=d.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return Ki(e,r,t,o,await pa(s,l,r),s,b)}function Ki(e,t,n,r,o,i,s=null){if(n.closed){On(e);return}if(ya(t,null),pr(t,null),!o){On(e);return}ka(t,o,i.name),tn(Gt(n),{path:r,structural:!1},n),s&&pr(t,s,"info"),On(e)}async function pa(e,t,n){return t||await sd(e,n)}function sd(e,t){let n=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return n?new Promise(r=>{let o=new n;o.onload=()=>r(typeof o.result=="string"?o.result:""),o.onerror=()=>r("");try{o.readAsDataURL(e)}catch{r("")}}):Promise.resolve("")}function ld(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function ad(e,t){t&&e.uploads?.delete(t)}function cd(e,t){let n=e.closest("[data-hcms-path]");if(!n)return;let r=n.getAttribute("data-hcms-path")||"";ka(n,"","");let o=n.querySelector('input[type="file"][data-hcms-upload]');o&&On(o),pr(n,null),tn(Gt(t),{path:r,structural:!1},t)}function ud(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function ka(e,t,n){let r=ud(e);if(!r)return;let o=(r.tagName||"").toUpperCase();o==="IMG"?r.src=t||"":o==="A"&&(r.href=t||"",r.textContent=t?n||Hi(t):"")}function On(e){try{e.value=""}catch{}}function ya(e,t){let n=e.querySelector?e.querySelector(".mirk-image__frame"):null;n&&(t?n.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:n.style.removeProperty("background-image"))}function ga(e,t){let n=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${n}%`)}function fd(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function pr(e,t,n="error"){let r=e.querySelector?e.querySelector(":scope > .hcms-error"):null;r&&(r.classList.toggle("hcms-error--info",!!t&&n==="info"),t?(r.textContent=t,r.hidden=!1):(r.textContent="",r.hidden=!0))}function zr(e,t){let{formRoot:n,pageRules:r}=t,o=n.querySelector(`[data-hcms-path="${gr(e)}"]`);if(!o)throw new Error(`hypercms: no element at path "${e}"`);let i=o.querySelector(".hcms-array-items");if(!i)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let s=yn(e),l=gd(r,s),a=Array.isArray(l),h=typeof l=="string"&&l.endsWith("[]");if(!a&&!h)throw new Error(`hypercms: path "${e}" is not an array`);let d=Mo(o,"data-hcms-max-items"),b=i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(o.hasAttribute("data-hcms-no-add")||d!=null&&b.length>=d)return;let f=b.length,u=a?l[1]:l.replace(/\[\]$/,""),m=Hr(a?u:"string"),p=Vl({shape:a?"object-array-item":"scalar-array-item",itemShape:u,pathArr:[...s,f],data:m,doc:t.doc,itemKey:o.getAttribute("data-hcms-item-tpl")||null,pageRules:r});return i.appendChild(p),Cn(p,t.doc,t.view?.enhanceFormRichText!==!1),Ji(o),Hn(`Add ${e}`,()=>tn(Gt(t),{path:e,structural:!0},t))}function Gi(e,t,n){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!r||r.hasAttribute("data-hcms-no-reorder"))return;let o=r.querySelector(".hcms-array-items");if(!o)return;let i=Array.from(o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),s=i.indexOf(e);if(s<0)return;let l=s+t;if(l<0||l>=i.length)return;let a=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?o.insertBefore(e,i[l]):o.insertBefore(e,i[l].nextSibling),Zi(o),Ji(r),a&&typeof a.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),Hn(`Reorder ${r.getAttribute("data-hcms-path")||""}`,()=>tn(Gt(n),{path:r.getAttribute("data-hcms-path")||"",structural:!0},n))}var Ro="Delete this item?";function dd(e,t){let n=e&&e.getAttribute("data-hcms-confirm-remove");if(n!=null)return/^(off|false|no|0)$/i.test(n.trim())?null:n||Ro;let r=t&&t.confirmRemove;return r===!1?null:typeof r=="string"?r||Ro:r===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Ro:null}function Yi(e,t){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),r=dd(n,t);if(r==null)return mr(e,t);let o=It("consent")||typeof window<"u"&&window.consent;typeof o=="function"?Promise.resolve(o(r)).then(()=>{t.closed||mr(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(r)&&mr(e,t):mr(e,t)}function mr(e,t){let n=e.getAttribute("data-hcms-path")||"",r=e.parentElement,o=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!o?.hasAttribute("data-hcms-no-remove")){if(o){let i=Mo(o,"data-hcms-min-items"),s=o.querySelector(".hcms-array-items"),l=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(i!=null&&l<=i)return}return e.remove(),r&&Zi(r),o&&Ji(o),Hn(`Remove ${n}`,()=>tn(Gt(t),{path:n,structural:!0},t))}}function tn(e,t,n){if(n.closed)return{ok:!1,skipped:!0,closed:!0};let r=Vr(e);if(!t.structural&&r===n.lastFingerprint)return{ok:!0,skipped:!0};let o=Object.hasOwn(n,"writeRules")?n.writeRules:n.pageRules,i=Nl(n.pageRoot,o,e,{shellRoot:n.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:n.formRoot});return i.ok?(n.lastFingerprint=r,n.lastData=e,ba(n,null),n.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),n.onChange?.(e,t)):(ba(n,pd(i.error,t.path)),n.dispatch?.("hcms:error",{error:i.error,attemptedData:e}),n.onError?.(i.error)),i}function Io(e,t){let n=gr(t),r=`[data-hcms-path="${n}"] input[data-hcms-field], [data-hcms-path="${n}"] textarea[data-hcms-field], [data-hcms-path="${n}"] select[data-hcms-field], [data-hcms-path="${n}"] img[data-hcms-field], [data-hcms-path="${n}"] a[data-hcms-field], [data-hcms-path="${n}"] [contenteditable][data-hcms-field], input[data-hcms-path="${n}"][data-hcms-field], textarea[data-hcms-path="${n}"][data-hcms-field], select[data-hcms-path="${n}"][data-hcms-field], img[data-hcms-path="${n}"][data-hcms-field], a[data-hcms-path="${n}"][data-hcms-field], [contenteditable][data-hcms-path="${n}"][data-hcms-field]`;return e.querySelector(r)}function jo(e,t,n,r){let o=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(o==="INPUT"&&i==="checkbox"){e.checked=t===!0||t==="true";return}if(o==="INPUT"&&i==="radio"){let s=gr(r),l=n.querySelectorAll(`[data-hcms-path="${s}"][data-hcms-field][type="radio"], [data-hcms-path="${s}"] [data-hcms-field][type="radio"]`);l.length?l.forEach(a=>{a.checked=String(a.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(o==="IMG"){e.src=t==null?"":String(t);return}if(o==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function Gt(e){let t=Vt.extract(e.formRoot,e.formRules,{exclude:null});return Nn(t,e.formRules)}function Nn(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,n]=t;return e.map(r=>Nn(r,n))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let n={};for(let[r,o]of Object.entries(t))n[r]=Nn(e[r],o);return n}return e}function ba(e,t){e.lastErrors=t&&t.length?t:null,Xi(e)}function Xi(e){if(hd(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:n,path:r}of e.lastErrors){if(r!=null&&r!==""){let o=md(e.formRoot,r);if(o){o.textContent=o.textContent?`${o.textContent}
152
+ ${n}`:n,o.hidden=!1;continue}}t.push(n)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
153
+ `),e.errorEl.hidden=!1)}function hd(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function md(e,t){if(!e)return null;let n=t.split(".");for(;n.length>0;){let r=n.join("."),o=typeof CSS<"u"&&CSS.escape?CSS.escape(r):r.replace(/[^a-zA-Z0-9_\-.*]/g,s=>"\\"+s),i=e.querySelector(`[data-hcms-path="${o}"]`);if(i){for(let s of i.children)if(s.classList&&s.classList.contains("hcms-error"))return s}n.pop()}return null}function pd(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(n=>({message:`Shape mismatch: expected ${n.expected}, got ${n.got}`,path:n.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function gd(e,t){let n=e;for(let r of t){if(n==null||typeof n=="string")return;if(Array.isArray(n)){if(typeof r!="number"&&r!=="*")return;n=n[1];continue}if(typeof n=="object"){if(typeof r=="number"||!(r in n))return;n=n[r];continue}return}return n}function Mo(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Ji(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let n=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),r=n.length,o=Mo(e,"data-hcms-max-items"),i=Mo(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),h=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');h&&(h.hidden=s||o!=null&&r>=o),n.forEach((d,b)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||i!=null&&r<=i);let u=d.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=a||b===0);let m=d.querySelector('[data-hcms-action="move-down"]');m&&(m.hidden=a||b===r-1)})}function Do(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>Zi(t))}function Zi(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),r=>[r,r.checked]):[],n=0;for(let r of e.children){if(!r.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let o=r.getAttribute("data-hcms-path");if(!o)continue;let i=o.split(".");i[i.length-1]=String(n);let s=i.join(".");s!==o&&bd(r,o,s),n++}for(let[r,o]of t)r.checked!==o&&(r.checked=o)}function bd(e,t,n){let r=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",n);for(let o of r){let i=o.getAttribute("data-hcms-path");i===t?o.setAttribute("data-hcms-path",n):i&&i.startsWith(t+".")&&o.setAttribute("data-hcms-path",n+i.slice(t.length))}kd(e)}function kd(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let n=t.closest("[data-hcms-path]");n&&(t.name=Ui(n.getAttribute("data-hcms-path")))}}function Vr(e){return JSON.stringify(e,(t,n)=>{if(n&&typeof n=="object"&&!Array.isArray(n)){let r=Object.create(null);for(let o of Object.keys(n).sort())r[o]=n[o];return r}return n})}function gr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Sd={},Po="hcms-shell-styles",yd="hcms-bundled-styles-installed",Fo="hcms-session-open",xd='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',br=new WeakSet,Qi="";function va(e){Qi=e}function Wr(e){e?.body?.classList.add(Fo)}function es(e){e?.body?.classList.remove(Fo)}var vd=0;function xa(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[t])}function wa({mountTo:e,side:t="right",overlay:n=!1,showSaveButton:r=!1,title:o="Page content",eyebrow:i="Edit",theme:s=null,doc:l}){Aa(l);let a=`hcms-shell-title-${++vd}`,h=l.createElement("div");h.setAttribute("data-hcms-shell",""),h.setAttribute("editor-ui",""),h.setAttribute("save-remove",""),h.setAttribute("save-ignore",""),h.setAttribute("tabindex","-1"),h.setAttribute("role","dialog"),h.setAttribute("aria-modal","true"),h.setAttribute("aria-labelledby",a);let d=s==="dark"?" dark":s==="light"?" light":"";h.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(n?" hcms-overlay":"")+d;let b=xa(o),f=xa(i);h.innerHTML=`
153
154
  <div class="hcms-shell-minibar" aria-hidden="true">
154
- <span class="hcms-shell-minibar-title">${y}</span>
155
+ <span class="hcms-shell-minibar-title">${b}</span>
155
156
  <button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
156
157
  <span class="mirk-button__label">\xD7</span>
157
158
  </button>
@@ -159,8 +160,8 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
159
160
  <div class="hcms-shell-body">
160
161
  <header class="hcms-shell-header">
161
162
  <div class="hcms-shell-heading">
162
- <div class="hcms-shell-eyebrow">${c}</div>
163
- <h2 class="hcms-shell-title" id="${l}">${y}</h2>
163
+ <div class="hcms-shell-eyebrow">${f}</div>
164
+ <h2 class="hcms-shell-title" id="${a}">${b}</h2>
164
165
  </div>
165
166
  <button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
166
167
  <span class="mirk-button__label">\xD7</span>
@@ -169,14 +170,14 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
169
170
  <div class="hcms-shell-notice" role="status" hidden></div>
170
171
  <div class="hcms-shell-error" role="alert" hidden></div>
171
172
  <div data-hcms-form-root class="hcms-form"></div>
172
- <footer class="hcms-shell-footer"${n?"":" hidden"}>
173
+ <footer class="hcms-shell-footer"${r?"":" hidden"}>
173
174
  <button type="button" class="hcms-shell-save mirk-button" trigger-save>
174
175
  <span class="mirk-button__label">Save</span>
175
176
  </button>
176
177
  </footer>
177
178
  </div>
178
- `,(e||s.body).appendChild(u);let f=s.body;f.classList.add("hcms-open"),It(s),r&&f.classList.add("hcms-overlay"),t==="left"&&f.classList.add("hcms-side-left");let b=Pl(u,s),k=$l(u);return{root:u,formRoot:u.querySelector("[data-hcms-form-root]"),noticeEl:u.querySelector(".hcms-shell-notice"),errorEl:u.querySelector(".hcms-shell-error"),saveButton:u.querySelector(".hcms-shell-save"),destroy(){b.detach(),k.detach(),u.remove(),f.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),kn(s)},restoreChrome(){Ie(s),f.classList.add("hcms-open"),It(s),r&&f.classList.add("hcms-overlay"),t==="left"&&f.classList.add("hcms-side-left")}}}function Ie(e){e&&(e.getElementById(gr)||e.querySelector("style[data-hcms-bundled-styles]")||(ut.delete(e),Eo(e)))}function Eo(e){if(e&&!ut.has(e)){if(e[Fl]){ut.add(e);return}if(e.getElementById(gr)||e.querySelector("style[data-hcms-bundled-styles]")){ut.add(e);return}if(yn){let t=e.createElement("style");t.id=gr,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=yn,(e.head||e.documentElement).appendChild(t),ut.add(e);return}try{let t=new URL("./theme.generated.css",Bl.url).href,r=e.createElement("link");r.rel="stylesheet",r.id=gr,r.setAttribute("save-remove",""),r.setAttribute("save-ignore",""),r.href=t,(e.head||e.documentElement).appendChild(r),ut.add(e)}catch{let r=()=>{link.isConnected&&console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")};e.defaultView?.queueMicrotask?e.defaultView.queueMicrotask(r):r()}}}function $l(e){let t=e.querySelector(".hcms-shell-body"),r=e.querySelector(".hcms-shell-header");if(!t||!r||typeof t.addEventListener!="function")return{detach(){}};let n=()=>{let i=(r.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>i)};return t.addEventListener("scroll",n,{passive:!0}),n(),{detach(){t.removeEventListener("scroll",n)}}}function Pl(e,t){function r(n){if(n.key!=="Tab"||!e.contains(t.activeElement))return;let i=Array.from(e.querySelectorAll(Dl));if(i.length===0)return;let o=i[0],a=i[i.length-1];n.shiftKey&&t.activeElement===o?(n.preventDefault(),a.focus()):!n.shiftKey&&t.activeElement===a&&(n.preventDefault(),o.focus())}return t.addEventListener("keydown",r),{detach:()=>t.removeEventListener("keydown",r)}}var zl="[hypercms]",_o={skip:"[data-hcms-shell]",templateAttr:"cms-template"},To={skip:"[data-hcms-shell]",templateAttr:null},vn=class extends Error{constructor(t,r,n){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${r}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=r,this.cause=n}};function kr(e,t){let r=[],n=[],i=[];return wn(Ae(e),e,t,[],r,n,i),{missing:Co(r),twins:Kl(n),readOnly:Co(i)}}function vr(e){return xn(e)}function xn(e){if(typeof e=="string")return Oo(e)?void 0:e;if(Array.isArray(e)){let[t,r]=e;return[t,xn(r)]}if(e&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e)){let i=xn(n);i!==void 0&&(t[r]=i)}return t}return e}function wn(e,t,r,n,i,o,a){if(typeof r=="string"){let s=Hl(r),l=s?yr(e,t,s,_o,n):[];if(Oo(r)){a.push(dt(n));return}if(!s)return;if(r.endsWith("[]")){l.length===0&&yr(e,t,s,To,n).length===0&&i.push(dt(n));return}l.length===0?i.push(dt(n)):l.length>1&&o.push({path:dt(n),count:l.length});return}if(Array.isArray(r)){let[s,l]=r;if(typeof s!="string"||!s)return;let u=yr(e,t,s,_o,n);if(u.length===0){yr(e,t,s,To,n).length===0&&i.push(dt(n));return}for(let m of u)wn(e,m,l,[...n,"*"],i,o,a);return}if(r&&typeof r=="object")for(let[s,l]of Object.entries(r))wn(e,t,l,[...n,s],i,o,a)}function yr(e,t,r,n,i){try{return e.find(t,r,n)}catch(o){throw new vn(dt(i),r,o)}}function Hl(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=ae(e);return(t===-1?e:e.slice(0,t))||null}function Ul(e){if(e.endsWith("[]"))return null;let t=ae(e);return t===-1?null:e.slice(t+1)||null}function Oo(e){let t=Ul(e);return t!=null&&vt.has(t)}function ht(e){Vl(e),Wl(e)}function Vl(e){let t=e.noticeEl;if(!t)return;let r=e.unresolved&&e.unresolved.missing||[],n=e.unresolved&&e.unresolved.readOnly||[];if(r.length===0&&n.length===0){t.textContent="",t.hidden=!0;return}let i=[];if(r.length){let o=r.length===1?"1 field no longer matches this page":`${r.length} fields no longer match this page`;i.push(`${o}: ${r.join(", ")}`)}if(n.length){let o=n.length===1?"1 field reads a property the browser will not let anything write":`${n.length} fields read properties the browser will not let anything write`;i.push(`${o}: ${n.join(", ")}`)}t.textContent=i.join(`
179
- `),t.hidden=!1}function Wl(e){let t=e.unresolved&&e.unresolved.twins||[],r=t.map(n=>`${n.path}:${n.count}`).join("|");if(r!==e.lastTwinSignature){e.lastTwinSignature=r;for(let{path:n,count:i}of t)console.warn(`${zl} "${n}" matches ${i} elements; edits go to the first one.`)}}function Co(e){return[...new Set(e)]}function Kl(e){let t=new Map;for(let r of e){let n=t.get(r.path);(!n||r.count>n.count)&&t.set(r.path,r)}return[...t.values()]}function dt(e){return e.length?e.join("."):"(whole page)"}var Gl={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function je(e,{ignoreActiveValue:t}={}){return Yl(e,{ignoreActiveValue:t})}function Yl(e,{ignoreActiveValue:t}){let r=fe.findRules(e.doc,e.rulesSource||"cms");r&&(e.pageRules=e.view.prepareRules(r.rules),e.rulesTagNode=r.tagNode),Qt(e.doc),ir(e.doc,e.pageRules),e.formRules=sr(e.pageRules,e.doc),e.writeRules=vr(e.pageRules),e.unresolved=kr(e.pageRoot,e.pageRules);let n=Jt(),i=Le(fe.extract(e.pageRoot,e.pageRules,{...Gl,...n.hooks}),e.pageRules),o=tt({pageRules:e.pageRules,formRules:e.formRules,data:i,doc:e.doc});Yt(e.formRoot,o,{ignoreActiveValue:t}),n.seed(e.formRoot),Me(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),pn(e),ht(e),e.updateFingerprint&&e.updateFingerprint()}function Ro({debounce:e=100,onRefresh:t}){let r=ue("Mutation");if(!r||typeof r.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let n=r.onAnyChange({debounce:e},i=>{t(i)});return{unsubscribe:typeof n=="function"?n:()=>{}}}var Jl='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Mo({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null;return{name:"sidebar",richText:n,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(o){return n?fo(o,t):o},mount(o){let a=this.ctx;i=_e(()=>So({mountTo:r.mountTo||e.body,side:r.side||"right",overlay:!!r.overlay,showSaveButton:!!r.showSaveButton,title:r.title,eyebrow:r.eyebrow,theme:r.theme,doc:e})),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl;let s=tt({pageRules:a.pageRules,formRules:a.formRules,data:o,doc:e});i.formRoot.appendChild(s),a.seeder.seed(i.formRoot),Me(i.formRoot,e),ht(a),hr(a)},refresh(o){if(o==="livesync"){i?.restoreChrome?.(),je(this.ctx,{ignoreActiveValue:!0});return}if(o==="undo"){je(this.ctx,{ignoreActiveValue:!1});return}je(this.ctx)},focusOnOpen(){let o=this.root&&this.root.querySelector(Jl);o&&typeof o.focus=="function"&&o.focus()},destroy(){i?.destroy(),i=null}}}var Xl="[cms-template], [data-hcms-shell]";function jt(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(Xl))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var Zl={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Ql={skip:"[data-hcms-shell]",templateAttr:null},ec="text",tc="native",No="handle",rc=new Set(["INPUT","TEXTAREA","SELECT"]),jo=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function Sn(e,t){return nc(e,t)}function nc(e,t){let r=[],n=[],i=Ae(e);return An(i,e,t,[],r,n),{targets:r,lists:n}}function An(e,t,r,n,i,o){if(typeof r=="string"){if(r.endsWith("[]")){let m=r.slice(0,-2);if(!m)return;let y=xr(e,t,m);y.forEach((c,h)=>{i.push(Io([...n,h],c,r,null))}),o.push(Lo(e,t,n,m,y,!0));return}let a=ae(r),s=a===-1?null:r.slice(a+1),l=a===-1?r:r.slice(0,a),u=!l||l==="."?t:xr(e,t,l)[0];u&&i.push(Io(n,u,r,s));return}if(Array.isArray(r)){let[a,s]=r;if(typeof a!="string"||!a)return;let l=xr(e,t,a);l.forEach((u,m)=>An(e,u,s,[...n,m],i,o)),o.push(Lo(e,t,n,a,l,typeof s=="string"));return}if(r&&typeof r=="object")for(let[a,s]of Object.entries(r))An(e,t,s,[...n,a],i,o)}function Lo(e,t,r,n,i,o){let a=i[0]?i[0].parentElement:null;if(!a){let s=xr(e,t,n,Ql)[0];a=s?s.parentElement:null}return{path:r,items:i,container:a,scalar:o}}function Io(e,t,r,n){return{path:e,el:t,rule:r,attr:n,kind:ic(t,n),icon:sc(t,n)}}function ic(e,t){let r=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?jo.has(r)?No:ec:t==="value"&&rc.has(r)&&!e.readOnly&&!oc(e)?tc:No}function oc(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function sc(e,t){let r=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!jo.has(r)?null:r==="IMG"||t==="srcset"?"camera":r==="A"&&t==="href"?"paperclip":"pencil"}function xr(e,t,r,n=Zl){try{return e.find(t,r,n)}catch{return[]}}var Fo=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),ac=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),xm=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function En(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function lc(e,t){if(En(e,t))return!0;for(let[r,n]of Object.entries(ac))if(n.includes(t)&&En(e,r))return!0;return!1}function Ft(e){let t=Fo[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function cc(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=Fo[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>lc(r,i))||n.bundles.some(i=>En(r,i)))return r;r=r.parentElement}return null}function Do(e,t){return!!cc(e,t)}var uc=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function qo(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let n=0;n<e.options.length;n++)t.options[n].selected=e.options[n].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function $o(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function Po(e,t,r,n,i,o,a,s){if(e.nodeType===1&&((a?Do(e,r):$o(e,n,o,!1))||i&&$o(e,i,o,a)))return null;let l=t.importNode(e,!1);s.cloneToLive.set(l,e),s.liveToClone.set(e,l);let u=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,m=l.nodeType===1&&l.tagName==="TEMPLATE"?l.content:l;u!==e&&(s.cloneToLive.set(m,u),s.liveToClone.set(u,m));for(let y of u.childNodes||[]){let c=Po(y,t,r,n,i,o,a,s);c&&(m.appendChild(c),y.nodeType===1&&qo(y,c))}return e.nodeType===1&&qo(e,l),l}function _n(e,{capability:t="data",exclude:r=null,inherit:n=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let i=e.nodeType===9?e:e.ownerDocument;if(!i?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let o=i.implementation.createHTMLDocument(""),a=new WeakMap,s=new WeakMap,l=e.nodeType===9?e.documentElement:e;r&&o.documentElement.matches(r);let u=Ft(t),m=Po(l,o,t,u,r,l,n,{cloneToLive:a,liveToClone:s});e.nodeType===9&&m&&(o.replaceChild(m,o.documentElement),s.set(e,o),a.set(o,e));let y=c=>{if(uc.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:m,document:o,capability:t,selector:Ft(t),cloneToLive:a,liveToClone:s,original(c){return a.get(c)||null},cloneOf(c){return s.get(c)||null},query(c,h=m){return y(c),Array.from(h.querySelectorAll(c),f=>a.get(f)||f)},text(c=m){return(c===m?m:s.get(c))?.textContent||""},html(c=m){return(c===m?m:s.get(c))?.innerHTML??""},clone(c=m){let h=c===m?m:s.get(c);return h?o.importNode(h,!0):null}}}var dc=[16,8,0],de=8,hc=4;function Bo({anchor:e,bar:t,rail:r=t,viewport:n,current:i=null}){let o=c=>i===c?hc:0;if(e.bottom<=0||e.top>=n.height||e.right<=0||e.left>=n.width)return{mode:"hidden",x:0,y:0};let a=c=>Math.max(de,Math.min(e.left,n.width-c-de)),s=e.top-16-t.height;if(s>=de-o("above"))return{mode:"above",x:a(t.width),y:s};let l=e.bottom+16;if(l+t.height<=n.height-de+o("below"))return{mode:"below",x:a(t.width),y:l};let u=n.width-e.right-de,m=e.left-de,y=u>=m?[["rail-right",u],["rail-left",m]]:[["rail-left",m],["rail-right",u]];for(let[c,h]of y)for(let f of dc){if(r.width+f>h+o(c))continue;let b=c==="rail-right"?Math.min(e.right+f,n.width-r.width-de):Math.max(e.left-f-r.width,de),k=Math.min(e.bottom,n.height-de)-r.height,A=Math.max(de,Math.min(Math.max(e.top,de),k));return{mode:c,x:b,y:A,gap:f}}return{mode:"pinned",x:a(t.width),y:de}}function Tn({anchor:e,handle:t,viewport:r,inset:n=6,prefer:i="auto"}){let o=e.height>=t.height*1.5&&e.width>=t.width*2;if(i==="corner"||o){let c=Math.max(de,Math.min(e.right-t.width+n,r.width-t.width-de)),h=Math.max(de,Math.min(e.top-n,r.height-t.height-de));return{x:c,y:h,mode:"over"}}let a=4,s=e.right+a+t.width<=r.width-de,l=s?e.right+a:e.left-a-t.width,u=Math.max(de,l),m=e.top+e.height/2-t.height/2,y=Math.max(de,Math.min(m,r.height-t.height-de));return{x:u,y,mode:s?"beside-right":"beside-left"}}var Ar=!1;function zo(){if(Ar)return;let e=ue("onPrepareForSave");typeof e=="function"&&(e(t=>{Uo(t),Ho(t)}),Ar=!0)}function Ho(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",br)}function Uo(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${Re}]`)){let r=co(t);r!==null&&(t.innerHTML=r),t.removeAttribute(Re)}}var Sr=!1;function Er(){if(Sr)return;let e=ue("onSnapshot");typeof e=="function"&&(e(t=>{Uo(t),ho(t,typeof window<"u"?window:null),Ho(t)}),Sr=!0)}function Vo(){zo(),Er(),(!Ar||!Sr)&&mc()}var wr=null;function mc(){if(wr||typeof document>"u")return;wr=it(document,so,()=>{zo(),Er(),Ar&&Sr&&(wr?.(),wr=null)})}var fc={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function Ue(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",r=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${fc[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${r}</svg>`}var Wo="data-hcms-ghost",pc=Ft("history");function gc(e){let t=e.container,r=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)r=t,t=t.parentElement;return{parent:t,anchor:r}}function Ko({doc:e,themeRoot:t,onAdd:r,onResize:n}){let i=e.defaultView,o=[],a=!1,s=null,l=new Map;function u(h,f,b){h.style[f]!==b&&(h.style[f]=b)}function m(){let h=new Set(o.map(f=>f.node.parentElement));for(let[f,b]of l)h.has(f)&&i?.Sortable?.get(f)===b.instance||(b.instance.option("draggable")===b.selector&&b.instance.option("draggable",b.original),l.delete(f));for(let f of h){let b=i?.Sortable?.get(f);if(!b)continue;let k=b.option("draggable");if(l.get(f)?.selector===k)continue;let A=k,L=`${A.trim().startsWith(">")?"> ":""}:is(${A.trim().replace(/^>\s*/,"")}):not(${pc})`;b.option("draggable",L),l.set(f,{instance:b,original:A,selector:L})}}function y(){for(let h of o){let{node:f,slot:b,list:k}=h,A=k.items.filter(E=>E.isConnected).map(E=>E.getBoundingClientRect()).filter(E=>E.width>0&&E.height>0);A.length&&(h.width=A.reduce((E,L)=>E+L.width,0)/A.length,h.height=A.reduce((E,L)=>E+L.height,0)/A.length),u(f,"width",h.width?`${Math.round(h.width)}px`:"100%"),u(b,"height",`${Math.max(48,Math.round(h.height||64))}px`),b!==f&&(b.colSpan=Math.max(1,...k.items.map(E=>[...E.children].reduce((L,D)=>L+(D.colSpan||1),0)))),f.hidden!==a&&(f.hidden=a)}m()}function c(h,f){let b=f.tagName,k=["TBODY","THEAD","TFOOT","TABLE"].includes(b),A=e.createElement(k?"tr":["UL","OL","MENU"].includes(b)?"li":"div");for(let O of[Wo,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])A.setAttribute(O,"");A.setAttribute("draggable","false"),A.setAttribute("contenteditable","false"),A.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let O of["light","dark"])A.classList.toggle(O,!!t?.classList.contains(O));let E=k?e.createElement("td"):A;E!==A&&(E.className="hcms-inline-ghost-cell",A.appendChild(E));let L=e.createElement("button");L.type="button",L.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",L.setAttribute("data-hcms-list-action","add"),L.innerHTML=`<span class="mirk-button__label">${Ue("add")}<span>Add</span></span>`,E.appendChild(L);let D={node:A,slot:E,button:L,list:h,width:0,height:0};L.addEventListener("click",O=>{O.preventDefault(),O.stopPropagation(),r(D.list)});for(let O of["pointerdown","mousedown","touchstart","click"])A.addEventListener(O,W=>W.stopPropagation());return A.addEventListener("dragstart",O=>{O.preventDefault(),O.stopPropagation()}),D}return{setLists(h){let f=new Set(o),b=[],k=new Set(o.map(E=>E.node)),A=new Set;for(let E of h||[]){if(!E.container||!E.container.isConnected)continue;let{parent:L,anchor:D}=gc(E);if(!L)continue;if(!A.has(L)){for(let U of L.querySelectorAll(`:scope > [${Wo}]`))k.has(U)||U.remove();A.add(L)}let O=o.find(U=>f.has(U)&&U.list.container===E.container&&U.list.path.join(".")===E.path.join("."))||c(E,L);f.delete(O),O.list=E,O.button.setAttribute("data-hcms-list",E.path.join(".")),O.button.setAttribute("aria-label",`Add to ${E.path.join(".")||"the list"}`);let W=D||E.items.filter(U=>U.parentElement===L).at(-1);W?W.nextSibling!==O.node&&W.after(O.node):O.node.parentElement!==L&&L.appendChild(O.node),b.push(O)}for(let E of f)E.node.remove();o=b,s?.disconnect(),!s&&typeof i?.ResizeObserver=="function"&&(s=new i.ResizeObserver(()=>{y(),n?.()}));for(let E of o)for(let L of E.list.items)s?.observe(L);y()},update:y,setHidden(h){a=!!h,y()},destroy(){s?.disconnect();for(let h of o)h.node.remove();o=[],m()}}}var Go=[["move-up","Move up"],["move-down","Move down"]],bc={prefer:"corner",inset:0};function yc(e,t){return t.width<=e.width&&t.height<=e.height}function Yo({doc:e,layerEl:t,onActivate:r,onListAction:n}){let i=e.defaultView,o=[],a=new Map,s=0,l=new Map,u=null,m=new Set,y=0,c=!1,h=null,f=null,b=null,k=null,A=new Map,E=!1,L=null,D=Ko({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:W,onAdd:d=>n?.({action:"add",list:d,index:d.items.length})}),O=e.createElement("div");O.className="hcms-inline-highlight",O.hidden=!0,O.setAttribute("aria-hidden","true"),t.appendChild(O);function W(){if(!(y||!i)){if(typeof i.requestAnimationFrame!="function")return ie();y=i.requestAnimationFrame(()=>{y=0,ie()})}}let U=()=>b||k;function ie(){if(!i)return;D.update();let d={width:i.innerWidth,height:i.innerHeight},g=U();for(let p of o){if(!p.visible){p.node.hidden=!0;continue}for(let V of p.members)V.node.hidden=E&&V.kind!=="handle";p.node.hidden=!1;let S=p.el.getBoundingClientRect(),w=p.node.getBoundingClientRect(),R=w.width,B=p.kind==="row"&&!yc(S,w);if(B&&p.el!==g){for(let V of p.members)V.kind==="row"&&(V.node.hidden=!0);w=p.node.getBoundingClientRect()}if(p.members.every(V=>V.node.hidden)){p.node.hidden=!0;continue}let M=p.kind==="handle"?null:bc,{x:z,y:$}=Tn({anchor:S,handle:w,viewport:d,...M}),H=p.members.find(V=>V.kind==="handle");if(B&&H){let V=H.node.getBoundingClientRect(),se=Tn({anchor:S,handle:V,viewport:d}),he=p.members.slice(p.members.indexOf(H)+1).filter(Z=>!Z.node.hidden).reduce((Z,G)=>Z+G.node.getBoundingClientRect().width+2,0);z=Math.max(8+R,Math.min(d.width-8,se.x+V.width+he))-w.width,$=se.y}p.node.style.transform=`translate(${Math.round(z)}px, ${Math.round($)}px)`}if(L)if(!L.node.isConnected||L.node.closest("[hidden]"))ge();else{let p=L.button.getBoundingClientRect(),S=L.menu.getBoundingClientRect();L.menu.style.left=`${Math.max(8,p.right-S.width)-p.left}px`,L.menu.style.right="auto",L.menu.style.top=p.bottom+6+S.height>d.height-8?"auto":"calc(100% + 6px)",L.menu.style.bottom=p.bottom+6+S.height>d.height-8?"calc(100% + 6px)":"auto"}te(),h?.()}function ee(d){if(d?.closest?.("[data-hcms-ghost]"))return null;for(let g=d;g&&g.nodeType===1;g=g.parentElement){let p=A.get(g);if(p)return p}return null}function me(d){L&&!L.node.contains(d.target)&&ge();let g=U();k=ee(d.target),k&&t.contains(d.target)&&(b=null),U()!==g&&W()}function q(d){if(d.relatedTarget||!k)return;let g=U();k=null,U()!==g&&W()}function te(){if(!f||O.hidden)return;let d=f.getBoundingClientRect();O.style.width=`${Math.round(d.width)}px`,O.style.height=`${Math.round(d.height)}px`,O.style.transform=`translate(${Math.round(d.left)}px, ${Math.round(d.top)}px)`}function xe(){if(!i||typeof i.IntersectionObserver!="function"){for(let g of o)g.visible=!0;return}u||(u=new i.IntersectionObserver(g=>{let p=!1;for(let S of g)for(let w of a.get(S.target)||[])w.visible!==S.isIntersecting&&(w.visible=S.isIntersecting,p=!0);p&&W()},{threshold:0}));let d=new Set(a.keys());for(let g of m)d.has(g)||u.unobserve(g);for(let g of d)m.has(g)||u.observe(g);m=d}function Nr(){c||!i||(i.addEventListener("scroll",W,{passive:!0,capture:!0}),i.addEventListener("resize",W,{passive:!0}),e.addEventListener("focusin",me),e.addEventListener("focusout",q),e.addEventListener("pointerdown",v,!0),e.addEventListener("keydown",I,!0),c=!0)}function Lr(){!c||!i||(i.removeEventListener("scroll",W,{capture:!0}),i.removeEventListener("resize",W),e.removeEventListener("focusin",me),e.removeEventListener("focusout",q),e.removeEventListener("pointerdown",v,!0),e.removeEventListener("keydown",I,!0),c=!1)}function Bt(d){return`${d.kind}\0${d.attr||""}`}function mt(d,g){return d.container===g.container&&d.scalar===g.scalar}function zt(d,g){return d.kind!==g.kind?!1:d.kind==="handle"?Bt(d.target)===Bt(g.target):d.kind==="row"?d.row===g.row&&mt(d.list,g.list):mt(d.list,g.list)}function ft(d,g){d.target=g;let p=g.path.join(".");d.node.setAttribute("data-hcms-target",p),g.icon?d.node.setAttribute("data-hcms-icon",g.icon):d.node.removeAttribute("data-hcms-icon"),d.node.setAttribute("aria-label",`Edit ${p}`)}function Fe(d){let g=e.createElement("button");g.type="button",g.className="hcms-inline-handle mirk-button mirk-button--small",g.innerHTML=`<span class="mirk-button__label">${Ue("edit")}</span>`;let p={node:g,kind:"handle",target:d};return ft(p,d),g.addEventListener("click",S=>{S.preventDefault(),S.stopPropagation(),r?.(p.target,g)}),p}function pt(d,g){let p=e.createElement("button");return p.type="button",p.className="hcms-inline-list-button mirk-button mirk-button--small",p.setAttribute("data-hcms-list-action",d),p.setAttribute("aria-label",g),p.innerHTML=`<span class="mirk-button__label">${Ue(d)}${d==="add"?"<span>Add</span>":""}</span>`,p}function we(d,{list:g,row:p,rowIndex:S,count:w}){let R=g.path.join(".");d.list=g,d.row=p,d.index=S,d.count=w,d.node.setAttribute("data-hcms-list",R),d.node.setAttribute("data-hcms-row",String(S));for(let B of d.node.querySelectorAll("[data-hcms-list-action]")){let M=B.getAttribute("data-hcms-list-action"),z=Go.find(([$])=>$===M)?.[1]||M;B.setAttribute("aria-label",`${z} ${R}.${S}`),B.disabled=M==="move-up"&&S===0||M==="move-down"&&S===w-1}}function Ir(d,g,p,S){let w=e.createElement("div");w.className="hcms-inline-row-controls";let R={node:w,kind:"row",list:d,row:g,index:p,count:S};for(let[B,M]of Go){let z=pt(B,M);z.addEventListener("click",$=>{$.preventDefault(),$.stopPropagation(),!z.disabled&&n?.({action:B,list:R.list,index:R.index,row:R.row})}),w.appendChild(z)}return we(R,{list:d,row:g,rowIndex:p,count:S}),R}function ge(d=!1){if(!L)return;let g=L;L=null,g.menu.hidden=!0,g.button.setAttribute("aria-expanded","false"),g.node.parentElement?.classList.remove("has-open-settings"),d&&g.button.isConnected&&g.button.focus({preventScroll:!0})}function v(d){L&&!L.node.contains(d.target)&&ge()}function I(d){L&&(d.key==="Escape"?(d.preventDefault(),d.stopPropagation(),ge(!0)):d.key==="Tab"?ge(!0):["ArrowDown","ArrowUp","Home","End"].includes(d.key)&&L.menu.contains(d.target)&&(d.preventDefault(),L.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function N(d,{list:g,row:p,rowIndex:S}){Object.assign(d,{list:g,row:p,index:S}),d.node.setAttribute("data-hcms-list",g.path.join(".")),d.node.setAttribute("data-hcms-row",String(S)),d.button.setAttribute("aria-label",`Settings ${g.path.join(".")}.${S}`)}function F(d){let g=e.createElement("div");g.className="hcms-inline-settings";let p=pt("settings","Settings");p.setAttribute("aria-haspopup","menu"),p.setAttribute("aria-expanded","false");let S=e.createElement("div");S.className="hcms-inline-settings-menu",S.setAttribute("role","menu"),S.setAttribute("aria-label","Item settings"),S.hidden=!0;let w=e.createElement("button");w.type="button",w.setAttribute("role","menuitem"),w.setAttribute("data-hcms-list-action","remove"),w.textContent="Delete",S.appendChild(w),g.append(p,S);let R={node:g,button:p,menu:S,kind:"settings"};N(R,d);let B=()=>{ge(),L=R,S.hidden=!1,p.setAttribute("aria-expanded","true"),g.parentElement.classList.add("has-open-settings"),w.focus({preventScroll:!0}),W()};return p.addEventListener("click",M=>{M.preventDefault(),M.stopPropagation(),L===R?ge(!0):B()}),p.addEventListener("keydown",M=>{(M.key==="ArrowDown"||M.key==="ArrowUp")&&(M.preventDefault(),B())}),w.addEventListener("click",M=>{M.preventDefault(),M.stopPropagation(),ge(!0),n?.({action:"remove",list:R.list,index:R.index,row:R.row})}),R}function j(d,g){d.kind==="handle"?ft(d,g.target):d.kind==="row"?we(d,g):d.kind==="settings"&&N(d,g)}function P(d,g,p,S,w){let R=g.get(p)?.find(B=>B.category===w);if(!R){R={el:p,category:w,members:[]},d.push(R);let B=g.get(p);B?B.push(R):g.set(p,[R])}R.members.push(S)}function _(d,g,p){let S=p.items||[];S.forEach((w,R)=>{jt(w)&&(P(d,g,w,{kind:"row",list:p,row:w,rowIndex:R,count:S.length},"item"),P(d,g,w,{kind:"settings",list:p,row:w,rowIndex:R},"item"))})}function T(d,g){let p=new Set(d.members),S=[];for(let w of g){let R=d.members.find(B=>p.has(B)&&zt(B,w))||(w.kind==="handle"?Fe(w.target):w.kind==="row"?Ir(w.list,w.row,w.rowIndex,w.count):F(w));p.delete(R),j(R,w),E&&R.kind!=="handle"&&(R.node.hidden=!0),S.push(R)}for(let w of p)w===L&&ge(),w.node.remove();S.sort((w,R)=>["row","handle","settings"].indexOf(w.kind)-["row","handle","settings"].indexOf(R.kind)),S.forEach((w,R)=>{d.node.children[R]!==w.node&&d.node.insertBefore(w.node,d.node.children[R]||null)}),d.members=S}function C(d,g){let p=[],S=new Map,w=new Map,R=0;for(let $ of d||[])w.has($.el)||w.set($.el,$),!($.kind!=="handle"||!jt($.el))&&(P(p,S,$.el,{kind:"handle",target:$},"item"),R++);for(let $ of g||[])_(p,S,$);let B=new Set(o),M=new Map;for(let $ of o)M.has($.el)||M.set($.el,$.visible);let z=[];for(let $ of p){let H=o.find(V=>B.has(V)&&V.el===$.el&&V.category===$.category);if(!H){let V=e.createElement("div");V.className="hcms-inline-item-controls",V.setAttribute("role","group"),H={el:$.el,node:V,category:$.category,kind:$.category==="add"?"add":"handle",members:[],visible:M.get($.el)??!1},t.appendChild(V)}B.delete(H),H.el=$.el,H.category=$.category,T(H,$.members),H.kind=H.members.some(V=>V.kind==="row")?"row":H.members.some(V=>V.kind==="handle")?"handle":"add",H.node.setAttribute("aria-label",H.category==="add"?"List controls":"Item controls"),z.push(H)}for(let $ of B)$.node.remove();o=z,a=new Map,A=new Map;for(let $ of o){let H=a.get($.el);H?H.push($):a.set($.el,[$]);for(let V of $.members)V.kind!=="row"&&V.kind!=="settings"||(A.set(V.row,V.row),A.set(V.node,V.row),A.set($.node,V.row))}b&&!A.has(b)&&(b=null),k&&!A.has(k)&&(k=null),l=w,s=R}function x(){ge(),u?.disconnect(),u=null,m=new Set;for(let d of o)d.node.remove();o=[],a=new Map,l=new Map,A=new Map,s=0}return{setTargets(d,g){C(d,g),D.setLists(g),xe(),Nr(),W()},refresh:W,get count(){return s},get controlsHidden(){return E},setControlsHidden(d){if(E=!!d,D.setHidden(E),E){ge();for(let g of o){for(let p of g.members)p.kind!=="handle"&&(p.node.hidden=!0);g.members.every(p=>p.node.hidden)&&(g.node.hidden=!0)}}W()},elementToTarget(d){if(d?.closest?.("[data-hcms-ghost]"))return null;for(let g=d;g&&g.nodeType===1;g=g.parentElement){let p=l.get(g);if(p)return p}return null},setHoveredRow(d){let g=U();b=d?ee(d):null,U()!==g&&W()},showHighlight(d){d&&(f=d,O.hidden=!1,te())},hideHighlight(){f=null,O.hidden=!0},setFollower(d){h=typeof d=="function"?d:null},destroy(){D.destroy(),y&&i&&i.cancelAnimationFrame(y),y=0,h=null,f=null,b=null,k=null,O.remove(),Lr(),x()}}}var kc="hypercms-inline",$t="is-hcms-inline-active",Cn="is-hcms-inline-onpath",Jo='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',vc=["bold","italic","link","undo","redo"],xc=/^H[1-6]$/,wc=0;function Qo({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null,o=null,a=null,s=new Map,l=null,u=null,m=null;function y(c,h,f,b,k){let A=ot(e.defaultView);if(typeof A!="function")return null;let E=k||{},L=E.originalHTML??_n(h,{capability:"history"}).html(),D=E.richClayIsOurs??!h.hasAttribute("data-richclay"),O=E.adopted??h.getAttribute("data-richclay-active")==="true",W=Dt(h,b,"history"),U=Ac(c,A,h,b,D);if(!U)return null;uo(h,b==="innerHTML",D);let ie=String(++wc);h.setAttribute(Re,ie),Er();let ee={el:h,editor:U,path:f,prop:b,boundId:ie,originalHTML:L,oldValue:W,richClayIsOurs:D,adopted:O,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};s.set(h,ee),ao(ie,ee);let me=U.squire;if(me&&typeof me.addEventListener=="function"){let te=()=>{ee.dirty=!0,ee.lastEdited=Dt(h,ee.prop,"history"),Sc(c,ee)};me.addEventListener("input",te),ee.detachInput=()=>me.removeEventListener?.("input",te)}let q=()=>es(ee);return h.addEventListener("blur",q),ee.detachBlur=()=>h.removeEventListener("blur",q),ee}return{name:"inline",richText:n,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(c){return n?po(c,t):c},bindText(c,h,f,b){return y(this.ctx,c,h,f,b)},mount(c){let h=this.ctx;i=Oc(e,r.theme),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl,this.handoffEl=i.handoffEl,this.handoffCountEl=i.handoffCountEl,this.popEl=i.popEl,_e(()=>It(e));let f=tt({pageRules:h.pageRules,formRules:h.formRules,data:c,doc:e});i.formRoot.appendChild(f),h.seeder.seed(i.formRoot),Me(i.formRoot,e,this.enhanceFormRichText),ht(h),hr(h),o=Yo({doc:e,layerEl:i.layerEl,onActivate:(b,k)=>this.activate(b,k),onListAction:b=>this.listAction(b)}),o.setFollower(()=>this.placePopover()),i.closeEl.addEventListener("click",()=>this.deactivate()),i.toggleEl.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),this.toggleControls()}),i.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),h.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:c,list:h,index:f,row:b}){let k=this.ctx,A=h.path.join("."),E=k.formRoot.querySelector(`[data-hcms-path="${ct(A)}"]`);if(!E)return;if(c==="add"){Nt(A,k);return}let L=b?Mc(k,A,b):f;if(L===-1)return;let D=Rc(E,L);if(D){if(c==="remove"){fn(D,k),this.syncTargets();return}mn(D,c==="move-up"?-1:1,k),this.syncTargets()}},toggleControls(){if(!o||!i)return;let c=!o.controlsHidden;o.setControlsHidden(c),i.toggleEl.setAttribute("aria-pressed",String(c));let h=i.toggleEl.querySelector(".mirk-button__label");h&&(h.textContent=c?"Show controls":"Hide controls")},bindPage(){let c=this.ctx.pageRoot,h=i.root,f=D=>{let O=o&&o.elementToTarget(D.target);O?o.showHighlight(O.el):o?.hideHighlight(),o?.setHoveredRow(D.target)},b=()=>{o?.hideHighlight(),o?.setHoveredRow(null)},k=D=>{if(h.contains(D.target))return;let O=o&&o.elementToTarget(D.target);!O||O.kind!=="text"||s.has(O.el)||y(this.ctx,O.el,O.path.join("."),Tr(O))},A=D=>{if(h.contains(D.target))return;let O=o&&o.elementToTarget(D.target);if(!O){this.deactivate();return}(typeof D.target.closest=="function"&&D.target.closest("a[href]")||O.kind!=="text")&&D.preventDefault(),this.activate(O)},E=D=>{D.key==="Escape"&&this.deactivate()},L=D=>{let O=D.detail;if(!(!O||O.pageRoot!==this.ctx.pageRoot||!O.path))for(let W of s.values())W.path===O.path&&(W.written=!0)};c.addEventListener("pointerover",f),c.addEventListener("pointerleave",b),c.addEventListener("pointerdown",k),c.addEventListener("click",A),h.addEventListener("keydown",E),e.addEventListener("hcms:change",L),a=()=>{c.removeEventListener("pointerover",f),c.removeEventListener("pointerleave",b),c.removeEventListener("pointerdown",k),c.removeEventListener("click",A),h.removeEventListener("keydown",E),e.removeEventListener("hcms:change",L)}},activate(c,h){if(!c||!i||c.kind==="text"&&this.activateText(c))return;let f=Xo(this,i,c.path.join("."));if(!f){this.deactivate();return}l=c,u=h||null,m=null,i.popEl.hidden=!1,i.formRoot.querySelectorAll(`.${$t}`).forEach(Zo),this.placePopover(),Cc(f)},activateText(c){let h=c.el,f=s.get(h);if(f)return _r(f),!0;let b=y(this.ctx,h,c.path.join("."),Tr(c));return b?(_r(b),!0):!1},placePopover(){if(!i||!l||i.popEl.hidden)return;let c=e.defaultView;if(!c)return;let h={width:c.innerWidth,height:c.innerHeight},f=l.el.getBoundingClientRect(),b=i.popEl.getBoundingClientRect(),{mode:k,x:A,y:E}=Bo({anchor:f,bar:b,viewport:h,current:m});m=k,i.popEl.style.transform=`translate(${Math.round(A)}px, ${Math.round(E)}px)`},deactivate(){if(!i||!l&&i.popEl.hidden)return;i.popEl.hidden=!0,rs(i.root);let c=u;if(l=null,u=null,m=null,c&&e.contains(c)&&typeof c.focus=="function")try{c.focus({preventScroll:!0})}catch{c.focus()}},syncTargets(){if(!o)return;let c=this.ctx,{targets:h,lists:f}=Sn(c.pageRoot,c.pageRules);o.setTargets(h,f);let b=Ec(this,s,h,e);if(l){let A=b.get(l.el)||[],E=A.find(L=>_c(L,l))||A.find(L=>L.path.join(".")===l.path.join("."))||(A.length===1?A[0]:null);E?l=E:this.deactivate()}Tc(this.ctx,s,e);let k=h.reduce((A,E)=>A+(jt(E.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=k===0?"":`${k} ${k===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=k===0)},refresh(c,h){c==="livesync"?(Ie(e),It(e),je(this.ctx,{ignoreActiveValue:!0})):c==="undo"?je(this.ctx,{ignoreActiveValue:!1}):je(this.ctx),this.syncTargets(),(c==="livesync"||c==="undo")&&this.rebindText(c),this.restoreActive()},rebindText(c){let h=c!=="undo";for(let[f,b]of[...s]){if(!e.contains(f)){qt(this.ctx,b,{restore:!1,record:h}),s.delete(f);continue}if(f.hasAttribute(ve)){let E=Dt(f,b.prop);E!==b.lastEdited&&(b.oldValue=E,b.lastEdited=void 0);continue}let k=e.activeElement===f;qt(this.ctx,b,{restore:!1,record:h}),s.delete(f);let A=y(this.ctx,f,b.path,b.prop,{richClayIsOurs:b.richClayIsOurs,adopted:b.adopted});A&&k&&_r(A)}},restoreActive(){if(!i||!l||i.popEl.hidden)return;if(!e.contains(l.el)){this.deactivate();return}if(!Xo(this,i,l.path.join("."))){this.deactivate();return}i.formRoot.querySelectorAll(`.${$t}`).forEach(Zo),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){u=null,this.deactivate();for(let c of s.values())qt(this.ctx,c);s.clear(),a?.(),a=null,o?.destroy(),o=null,i?.destroy(),i=null,kn(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function Ac(e,t,r,n,i){return _e(()=>{let o=null;try{o=new t(r,{inline:!0,hyperclay:!1,toolbar:n==="innerHTML"?vc:!1,...xc.test(r.tagName)?{singleLine:!0}:null})}catch(a){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",a),null}if(o.unsupported||!o.active){if(i)try{o.destroy()}catch{}return null}return typeof o.reattach=="function"&&o.reattach(),o})}function Sc(e,{path:t,el:r,prop:n}){let i=mr(e.formRoot,t);i&&(fr(i,Dt(r,n),e.formRoot,t),be(pe(e),{path:t,structural:!1},e))}function Dt(e,t,r="data"){let n=_n(e,{capability:r});return t==="innerHTML"?n.html():n.text().trim()}function es(e){let{el:t,prop:r,oldValue:n,lastEdited:i}=e,o=i;if(o===void 0||o===n)return;e.oldValue=o;let a=ue("undo");if(!a||typeof a.recordValue!="function")return;let s={prop:r,oldValue:n,newValue:o,read:l=>Dt(l,r,"history"),write:(l,u)=>ts(l,r,u)};a.isPaused?queueMicrotask(()=>{t.isConnected&&a.recordValue(t,s)}):a.recordValue(t,s)}function ts(e,t,r){let n=e.cloneNode(!1);t==="innerHTML"?n.innerHTML=r:n.textContent=r,kt(e,Array.from(n.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function qt(e,t,{restore:r=!0,record:n=!0}={}){n&&es(t),t.detachInput?.(),t.detachBlur?.(),_e(()=>{if(!t.adopted){try{t.editor.destroy()}catch(i){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",i)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(ve),t.el.removeAttribute(ze),t.el.removeAttribute(Re),lo(t.boundId),r&&t.restorable()&&ts(t.el,"innerHTML",t.originalHTML)})}function _r(e){let{editor:t,el:r}=e;if(r.ownerDocument.activeElement!==r)try{typeof t.focus=="function"?t.focus():r.focus()}catch{}}function Ec(e,t,r,n){let i=new Map;for(let o of r){let a=i.get(o.el);a?a.push(o):i.set(o.el,[o])}for(let[o,a]of[...t]){let s=i.get(o)||[],l=s.find(c=>Tr(c)===a.prop)||s[0];if(!l){qt(e.ctx,a,{restore:!0}),t.delete(o);continue}a.path=l.path.join(".");let u=Tr(l);if(u===a.prop)continue;let m=n.activeElement===o;qt(e.ctx,a,{restore:!1}),t.delete(o);let y=e.bindText(o,a.path,u,{richClayIsOurs:a.richClayIsOurs,adopted:a.adopted,originalHTML:a.originalHTML});y&&m&&_r(y)}return i}function _c(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Tr(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function Tc(e,t,r){for(let n of e.pageRoot.querySelectorAll(`[${ve}]`))t.has(n)||_e(()=>mo(n,r.defaultView))}function Xo(e,t,r){let n=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${ct(r)}"]`);if(rs(t.root),!n)return null;let i=n.closest("[data-hcms-card]"),o=i?[...i.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(a=>a.closest("[data-hcms-card]")===i&&a.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===i.parentElement.closest('[data-hcms-shape="object-array"]')):[n];o.includes(n)||o.push(n);for(let a of o){a.classList.add($t),a.removeAttribute("draggable");for(let s=a.parentElement;s&&(s.classList.add(Cn),s.removeAttribute("draggable"),s!==e.formRoot);s=s.parentElement);}return n}function rs(e){if(e)for(let t of e.querySelectorAll(`.${$t}, .${Cn}`))t.classList.remove($t,Cn)}function Zo(e){e.tagName==="TEXTAREA"&&st(e),e.querySelectorAll?.("textarea").forEach(st)}function Cc(e){let t=e.matches?.(Jo)?e:e.querySelector?.(Jo);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function Oc(e,t){Ie(e);let r=e.createElement(kc),n=t==="dark"?" dark":t==="light"?" light":"";return r.className="hcms-shell pixel-quiet hcms-inline"+n,r.setAttribute("data-hcms-shell",""),r.setAttribute("editor-ui",""),r.setAttribute("no-save",""),r.setAttribute("save-remove",""),r.setAttribute("snapshot-remove",""),r.setAttribute("no-watch",""),r.setAttribute("tabindex","-1"),r.innerHTML=`
179
+ `,(e||l.body).appendChild(h);let m=l.body;m.classList.add("hcms-open"),Wr(l),n&&m.classList.add("hcms-overlay"),t==="left"&&m.classList.add("hcms-side-left");let p=Ad(h,l),v=wd(h);return{root:h,formRoot:h.querySelector("[data-hcms-form-root]"),noticeEl:h.querySelector(".hcms-shell-notice"),errorEl:h.querySelector(".hcms-shell-error"),saveButton:h.querySelector(".hcms-shell-save"),destroy(){p.detach(),v.detach(),h.remove(),m.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),es(l)},restoreChrome(){Rn(l),m.classList.add("hcms-open"),Wr(l),n&&m.classList.add("hcms-overlay"),t==="left"&&m.classList.add("hcms-side-left")}}}function Rn(e){e&&(e.getElementById(Po)||e.querySelector("style[data-hcms-bundled-styles]")||(br.delete(e),Aa(e)))}function Aa(e){if(e&&!br.has(e)){if(e[yd]){br.add(e);return}if(e.getElementById(Po)||e.querySelector("style[data-hcms-bundled-styles]")){br.add(e);return}if(Qi){let t=e.createElement("style");t.id=Po,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=Qi,(e.head||e.documentElement).appendChild(t),br.add(e);return}try{let t=new URL("./theme.generated.css",Sd.url).href,n=e.createElement("link");n.rel="stylesheet",n.id=Po,n.setAttribute("save-remove",""),n.setAttribute("save-ignore",""),n.href=t,(e.head||e.documentElement).appendChild(n),br.add(e)}catch{let n=()=>{link.isConnected&&console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")};e.defaultView?.queueMicrotask?e.defaultView.queueMicrotask(n):n()}}}function wd(e){let t=e.querySelector(".hcms-shell-body"),n=e.querySelector(".hcms-shell-header");if(!t||!n||typeof t.addEventListener!="function")return{detach(){}};let r=()=>{let o=(n.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>o)};return t.addEventListener("scroll",r,{passive:!0}),r(),{detach(){t.removeEventListener("scroll",r)}}}function Ad(e,t){function n(r){if(r.key!=="Tab"||!e.contains(t.activeElement))return;let o=Array.from(e.querySelectorAll(xd));if(o.length===0)return;let i=o[0],s=o[o.length-1];r.shiftKey&&t.activeElement===i?(r.preventDefault(),s.focus()):!r.shiftKey&&t.activeElement===s&&(r.preventDefault(),i.focus())}return t.addEventListener("keydown",n),{detach:()=>t.removeEventListener("keydown",n)}}var Td="[hypercms]",Sa={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Ta={skip:"[data-hcms-shell]",templateAttr:null},ts=class extends Error{constructor(t,n,r){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${n}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=n,this.cause=r}};function Bo(e,t){let n=[],r=[],o=[];return rs(kn(e),e,t,[],n,r,o),{missing:Ea(n),twins:Nd(r),readOnly:Ea(o)}}function Ho(e){return ns(e)}function ns(e){if(typeof e=="string")return _a(e)?void 0:e;if(Array.isArray(e)){let[t,n]=e;return[t,ns(n)]}if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e)){let o=ns(r);o!==void 0&&(t[n]=o)}return t}return e}function rs(e,t,n,r,o,i,s){if(typeof n=="string"){let l=Ed(n),a=l?qo(e,t,l,Sa,r):[];if(_a(n)){s.push(kr(r));return}if(!l)return;if(n.endsWith("[]")){a.length===0&&qo(e,t,l,Ta,r).length===0&&o.push(kr(r));return}a.length===0?o.push(kr(r)):a.length>1&&i.push({path:kr(r),count:a.length});return}if(Array.isArray(n)){let[l,a]=n;if(typeof l!="string"||!l)return;let h=qo(e,t,l,Sa,r);if(h.length===0){qo(e,t,l,Ta,r).length===0&&o.push(kr(r));return}for(let d of h)rs(e,d,a,[...r,"*"],o,i,s);return}if(n&&typeof n=="object")for(let[l,a]of Object.entries(n))rs(e,t,a,[...r,l],o,i,s)}function qo(e,t,n,r,o){try{return e.find(t,n,r)}catch(i){throw new ts(kr(o),n,i)}}function Ed(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=St(e);return(t===-1?e:e.slice(0,t))||null}function _d(e){if(e.endsWith("[]"))return null;let t=St(e);return t===-1?null:e.slice(t+1)||null}function _a(e){let t=_d(e);return t!=null&&Mr.has(t)}function yr(e){Cd(e),Od(e)}function Cd(e){let t=e.noticeEl;if(!t)return;let n=e.unresolved&&e.unresolved.missing||[],r=e.unresolved&&e.unresolved.readOnly||[];if(n.length===0&&r.length===0){t.textContent="",t.hidden=!0;return}let o=[];if(n.length){let i=n.length===1?"1 field no longer matches this page":`${n.length} fields no longer match this page`;o.push(`${i}: ${n.join(", ")}`)}if(r.length){let i=r.length===1?"1 field reads a property the browser will not let anything write":`${r.length} fields read properties the browser will not let anything write`;o.push(`${i}: ${r.join(", ")}`)}t.textContent=o.join(`
180
+ `),t.hidden=!1}function Od(e){let t=e.unresolved&&e.unresolved.twins||[],n=t.map(r=>`${r.path}:${r.count}`).join("|");if(n!==e.lastTwinSignature){e.lastTwinSignature=n;for(let{path:r,count:o}of t)console.warn(`${Td} "${r}" matches ${o} elements; edits go to the first one.`)}}function Ea(e){return[...new Set(e)]}function Nd(e){let t=new Map;for(let n of e){let r=t.get(n.path);(!r||n.count>r.count)&&t.set(n.path,n)}return[...t.values()]}function kr(e){return e.length?e.join("."):"(whole page)"}var Rd={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function Mn(e,{ignoreActiveValue:t}={}){return Md(e,{ignoreActiveValue:t})}function Md(e,{ignoreActiveValue:t}){let n=Vt.findRules(e.doc,e.rulesSource||"cms");n&&(e.pageRules=e.view.prepareRules(n.rules),e.rulesTagNode=n.tagNode),xo(e.doc),To(e.doc,e.pageRules),e.formRules=_o(e.pageRules,e.doc),e.writeRules=Ho(e.pageRules),e.unresolved=Bo(e.pageRoot,e.pageRules);let r=bo(),o=Nn(Vt.extract(e.pageRoot,e.pageRules,{...Rd,...r.hooks}),e.pageRules),i=ar({pageRules:e.pageRules,formRules:e.formRules,data:o,doc:e.doc});go(e.formRoot,i,{ignoreActiveValue:t}),r.seed(e.formRoot),Cn(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),Xi(e),yr(e),e.updateFingerprint&&e.updateFingerprint()}function Ca({debounce:e=100,onRefresh:t}){let n=It("Mutation");if(!n||typeof n.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let r=n.onAnyChange({debounce:e},o=>{t(o)});return{unsubscribe:typeof r=="function"?r:()=>{}}}var Ld='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Oa({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null;return{name:"sidebar",richText:r,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(i){return r?da(i,t):i},mount(i){let s=this.ctx;o=vn(()=>wa({mountTo:n.mountTo||e.body,side:n.side||"right",overlay:!!n.overlay,showSaveButton:!!n.showSaveButton,title:n.title,eyebrow:n.eyebrow,theme:n.theme,doc:e})),this.root=o.root,this.formRoot=o.formRoot,this.errorEl=o.errorEl,this.noticeEl=o.noticeEl;let l=ar({pageRules:s.pageRules,formRules:s.formRules,data:i,doc:e});o.formRoot.appendChild(l),s.seeder.seed(o.formRoot),Cn(o.formRoot,e),yr(s),Lo(s)},refresh(i){if(i==="livesync"){o?.restoreChrome?.(),Mn(this.ctx,{ignoreActiveValue:!0});return}if(i==="undo"){Mn(this.ctx,{ignoreActiveValue:!1});return}Mn(this.ctx)},focusOnOpen(){let i=this.root&&this.root.querySelector(Ld);i&&typeof i.focus=="function"&&i.focus()},destroy(){o?.destroy(),o=null}}}var Id="[cms-template], [data-hcms-shell]";function Kr(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(Id))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var jd={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Dd={skip:"[data-hcms-shell]",templateAttr:null},Pd="text",Fd="native",Na="handle",qd=new Set(["INPUT","TEXTAREA","SELECT"]),La=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function is(e,t){return Bd(e,t)}function Bd(e,t){let n=[],r=[],o=kn(e);return os(o,e,t,[],n,r),{targets:n,lists:r}}function os(e,t,n,r,o,i){if(typeof n=="string"){if(n.endsWith("[]")){let d=n.slice(0,-2);if(!d)return;let b=$o(e,t,d);b.forEach((f,u)=>{o.push(Ma([...r,u],f,n,null))}),i.push(Ra(e,t,r,d,b,!0));return}let s=St(n),l=s===-1?null:n.slice(s+1),a=s===-1?n:n.slice(0,s),h=!a||a==="."?t:$o(e,t,a)[0];h&&o.push(Ma(r,h,n,l));return}if(Array.isArray(n)){let[s,l]=n;if(typeof s!="string"||!s)return;let a=$o(e,t,s);a.forEach((h,d)=>os(e,h,l,[...r,d],o,i)),i.push(Ra(e,t,r,s,a,typeof l=="string"));return}if(n&&typeof n=="object")for(let[s,l]of Object.entries(n))os(e,t,l,[...r,s],o,i)}function Ra(e,t,n,r,o,i){let s=o[0]?o[0].parentElement:null;if(!s){let l=$o(e,t,r,Dd)[0];s=l?l.parentElement:null}return{path:n,items:o,container:s,scalar:i}}function Ma(e,t,n,r){return{path:e,el:t,rule:n,attr:r,kind:Hd(t,r),icon:Ud(t,r)}}function Hd(e,t){let n=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?La.has(n)?Na:Pd:t==="value"&&qd.has(n)&&!e.readOnly&&!$d(e)?Fd:Na}function $d(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function Ud(e,t){let n=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!La.has(n)?null:n==="IMG"||t==="srcset"?"camera":n==="A"&&t==="href"?"paperclip":"pencil"}function $o(e,t,n,r=jd){try{return e.find(t,n,r)}catch{return[]}}var Ia=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),zd=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),nk=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ss(e,t){if(!e||e.nodeType!==1)return!1;let n=e.getAttribute?.("clay");return!!(n&&n.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Vd(e,t){if(ss(e,t))return!0;for(let[n,r]of Object.entries(zd))if(r.includes(t)&&ss(e,n))return!0;return!1}function Gr(e){let t=Ia[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function Wd(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=Ia[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Vd(n,o))||r.bundles.some(o=>ss(n,o)))return n;n=n.parentElement}return null}function ja(e,t){return!!Wd(e,t)}var Kd=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Da(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let n=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&n!=="checkbox"&&n!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let r=0;r<e.options.length;r++)t.options[r].selected=e.options[r].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function Pa(e,t,n,r){if(r)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===n)break;o=o.parentElement}return!1}function Fa(e,t,n,r,o,i,s,l){if(e.nodeType===1&&((s?ja(e,n):Pa(e,r,i,!1))||o&&Pa(e,o,i,s)))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let h=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;h!==e&&(l.cloneToLive.set(d,h),l.liveToClone.set(h,d));for(let b of h.childNodes||[]){let f=Fa(b,t,n,r,o,i,s,l);f&&(d.appendChild(f),b.nodeType===1&&Da(b,f))}return e.nodeType===1&&Da(e,a),a}function ls(e,{capability:t="data",exclude:n=null,inherit:r=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let i=o.implementation.createHTMLDocument(""),s=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&i.documentElement.matches(n);let h=Gr(t),d=Fa(a,i,t,h,n,a,r,{cloneToLive:s,liveToClone:l});e.nodeType===9&&d&&(i.replaceChild(d,i.documentElement),l.set(e,i),s.set(i,e));let b=f=>{if(Kd.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:i,capability:t,selector:Gr(t),cloneToLive:s,liveToClone:l,original(f){return s.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,u=d){return b(f),Array.from(u.querySelectorAll(f),m=>s.get(m)||m)},text(f=d){return(f===d?d:l.get(f))?.textContent||""},html(f=d){return(f===d?d:l.get(f))?.innerHTML??""},clone(f=d){let u=f===d?d:l.get(f);return u?i.importNode(u,!0):null}}}var Gd=[16,8,0],jt=8,Yd=4;function qa({anchor:e,bar:t,rail:n=t,viewport:r,current:o=null}){let i=f=>o===f?Yd:0;if(e.bottom<=0||e.top>=r.height||e.right<=0||e.left>=r.width)return{mode:"hidden",x:0,y:0};let s=f=>Math.max(jt,Math.min(e.left,r.width-f-jt)),l=e.top-16-t.height;if(l>=jt-i("above"))return{mode:"above",x:s(t.width),y:l};let a=e.bottom+16;if(a+t.height<=r.height-jt+i("below"))return{mode:"below",x:s(t.width),y:a};let h=r.width-e.right-jt,d=e.left-jt,b=h>=d?[["rail-right",h],["rail-left",d]]:[["rail-left",d],["rail-right",h]];for(let[f,u]of b)for(let m of Gd){if(n.width+m>u+i(f))continue;let p=f==="rail-right"?Math.min(e.right+m,r.width-n.width-jt):Math.max(e.left-m-n.width,jt),v=Math.min(e.bottom,r.height-jt)-n.height,A=Math.max(jt,Math.min(Math.max(e.top,jt),v));return{mode:f,x:p,y:A,gap:m}}return{mode:"pinned",x:s(t.width),y:jt}}function as({anchor:e,handle:t,viewport:n,inset:r=6,prefer:o="auto"}){let i=e.height>=t.height*1.5&&e.width>=t.width*2;if(o==="corner"||i){let f=Math.max(jt,Math.min(e.right-t.width+r,n.width-t.width-jt)),u=Math.max(jt,Math.min(e.top-r,n.height-t.height-jt));return{x:f,y:u,mode:"over"}}let s=4,l=e.right+s+t.width<=n.width-jt,a=l?e.right+s:e.left-s-t.width,h=Math.max(jt,a),d=e.top+e.height/2-t.height/2,b=Math.max(jt,Math.min(d,n.height-t.height-jt));return{x:h,y:b,mode:l?"beside-right":"beside-left"}}var zo=!1;function Ba(){if(zo)return;let e=It("onPrepareForSave");typeof e=="function"&&(e(t=>{$a(t),Ha(t)}),zo=!0)}function Ha(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",Fo)}function $a(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${_n}]`)){let n=aa(t);n!==null&&(t.innerHTML=n),t.removeAttribute(_n)}}var Vo=!1;function Wo(){if(Vo)return;let e=It("onSnapshot");typeof e=="function"&&(e(t=>{$a(t),ua(t,typeof window<"u"?window:null),Ha(t)}),Vo=!0)}function Ua(){Ba(),Wo(),(!zo||!Vo)&&Xd()}var Uo=null;function Xd(){if(Uo||typeof document>"u")return;Uo=fr(document,ia,()=>{Ba(),Wo(),zo&&Vo&&(Uo?.(),Uo=null)})}var Jd={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function $n(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",n=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${Jd[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${n}</svg>`}var za="data-hcms-ghost",Zd=Gr("history");function Qd(e){let t=e.container,n=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)n=t,t=t.parentElement;return{parent:t,anchor:n}}function Va({doc:e,themeRoot:t,onAdd:n,onResize:r}){let o=e.defaultView,i=[],s=!1,l=null,a=new Map;function h(u,m,p){u.style[m]!==p&&(u.style[m]=p)}function d(){let u=new Set(i.map(m=>m.node.parentElement));for(let[m,p]of a)u.has(m)&&o?.Sortable?.get(m)===p.instance||(p.instance.option("draggable")===p.selector&&p.instance.option("draggable",p.original),a.delete(m));for(let m of u){let p=o?.Sortable?.get(m);if(!p)continue;let v=p.option("draggable");if(a.get(m)?.selector===v)continue;let A=v,L=`${A.trim().startsWith(">")?"> ":""}:is(${A.trim().replace(/^>\s*/,"")}):not(${Zd})`;p.option("draggable",L),a.set(m,{instance:p,original:A,selector:L})}}function b(){for(let u of i){let{node:m,slot:p,list:v}=u,A=v.items.filter(M=>M.isConnected).map(M=>M.getBoundingClientRect()).filter(M=>M.width>0&&M.height>0);A.length&&(u.width=A.reduce((M,L)=>M+L.width,0)/A.length,u.height=A.reduce((M,L)=>M+L.height,0)/A.length),h(m,"width",u.width?`${Math.round(u.width)}px`:"100%"),h(p,"height",`${Math.max(48,Math.round(u.height||64))}px`),p!==m&&(p.colSpan=Math.max(1,...v.items.map(M=>[...M.children].reduce((L,H)=>L+(H.colSpan||1),0)))),m.hidden!==s&&(m.hidden=s)}d()}function f(u,m){let p=m.tagName,v=["TBODY","THEAD","TFOOT","TABLE"].includes(p),A=e.createElement(v?"tr":["UL","OL","MENU"].includes(p)?"li":"div");for(let B of[za,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])A.setAttribute(B,"");A.setAttribute("draggable","false"),A.setAttribute("contenteditable","false"),A.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let B of["light","dark"])A.classList.toggle(B,!!t?.classList.contains(B));let M=v?e.createElement("td"):A;M!==A&&(M.className="hcms-inline-ghost-cell",A.appendChild(M));let L=e.createElement("button");L.type="button",L.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",L.setAttribute("data-hcms-list-action","add"),L.innerHTML=`<span class="mirk-button__label">${$n("add")}<span>Add</span></span>`,M.appendChild(L);let H={node:A,slot:M,button:L,list:u,width:0,height:0};L.addEventListener("click",B=>{B.preventDefault(),B.stopPropagation(),n(H.list)});for(let B of["pointerdown","mousedown","touchstart","click"])A.addEventListener(B,te=>te.stopPropagation());return A.addEventListener("dragstart",B=>{B.preventDefault(),B.stopPropagation()}),H}return{setLists(u){let m=new Set(i),p=[],v=new Set(i.map(M=>M.node)),A=new Set;for(let M of u||[]){if(!M.container||!M.container.isConnected)continue;let{parent:L,anchor:H}=Qd(M);if(!L)continue;if(!A.has(L)){for(let re of L.querySelectorAll(`:scope > [${za}]`))v.has(re)||re.remove();A.add(L)}let B=i.find(re=>m.has(re)&&re.list.container===M.container&&re.list.path.join(".")===M.path.join("."))||f(M,L);m.delete(B),B.list=M,B.button.setAttribute("data-hcms-list",M.path.join(".")),B.button.setAttribute("aria-label",`Add to ${M.path.join(".")||"the list"}`);let te=H||M.items.filter(re=>re.parentElement===L).at(-1);te?te.nextSibling!==B.node&&te.after(B.node):B.node.parentElement!==L&&L.appendChild(B.node),p.push(B)}for(let M of m)M.node.remove();i=p,l?.disconnect(),!l&&typeof o?.ResizeObserver=="function"&&(l=new o.ResizeObserver(()=>{b(),r?.()}));for(let M of i)for(let L of M.list.items)l?.observe(L);b()},update:b,setHidden(u){s=!!u,b()},destroy(){l?.disconnect();for(let u of i)u.node.remove();i=[],d()}}}var Wa=[["move-up","Move up"],["move-down","Move down"]],eh={prefer:"corner",inset:0};function th(e,t){return t.width<=e.width&&t.height<=e.height}function Ka({doc:e,layerEl:t,onActivate:n,onListAction:r}){let o=e.defaultView,i=[],s=new Map,l=0,a=new Map,h=null,d=new Set,b=0,f=!1,u=null,m=null,p=null,v=null,A=new Map,M=!1,L=null,H=Va({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:te,onAdd:g=>r?.({action:"add",list:g,index:g.items.length})}),B=e.createElement("div");B.className="hcms-inline-highlight",B.hidden=!0,B.setAttribute("aria-hidden","true"),t.appendChild(B);function te(){if(!(b||!o)){if(typeof o.requestAnimationFrame!="function")return K();b=o.requestAnimationFrame(()=>{b=0,K()})}}let re=()=>p||v;function K(){if(!o)return;H.update();let g={width:o.innerWidth,height:o.innerHeight},y=re();for(let O of i){if(!O.visible){O.node.hidden=!0;continue}for(let ge of O.members)ge.node.hidden=M&&ge.kind!=="handle";O.node.hidden=!1;let _=O.el.getBoundingClientRect(),E=O.node.getBoundingClientRect(),I=E.width,N=O.kind==="row"&&!th(_,E);if(N&&O.el!==y){for(let ge of O.members)ge.kind==="row"&&(ge.node.hidden=!0);E=O.node.getBoundingClientRect()}if(O.members.every(ge=>ge.node.hidden)){O.node.hidden=!0;continue}let j=O.kind==="handle"?null:eh,{x:J,y:$}=as({anchor:_,handle:E,viewport:g,...j}),ce=O.members.find(ge=>ge.kind==="handle");if(N&&ce){let ge=ce.node.getBoundingClientRect(),ht=as({anchor:_,handle:ge,viewport:g}),ft=O.members.slice(O.members.indexOf(ce)+1).filter(ue=>!ue.node.hidden).reduce((ue,Ge)=>ue+Ge.node.getBoundingClientRect().width+2,0);J=Math.max(8+I,Math.min(g.width-8,ht.x+ge.width+ft))-E.width,$=ht.y}O.node.style.transform=`translate(${Math.round(J)}px, ${Math.round($)}px)`}if(L)if(!L.node.isConnected||L.node.closest("[hidden]"))C();else{let O=L.button.getBoundingClientRect(),_=L.menu.getBoundingClientRect();L.menu.style.left=`${Math.max(8,O.right-_.width)-O.left}px`,L.menu.style.right="auto",L.menu.style.top=O.bottom+6+_.height>g.height-8?"auto":"calc(100% + 6px)",L.menu.style.bottom=O.bottom+6+_.height>g.height-8?"calc(100% + 6px)":"auto"}xe(),u?.()}function W(g){if(g?.closest?.("[data-hcms-ghost]"))return null;for(let y=g;y&&y.nodeType===1;y=y.parentElement){let O=A.get(y);if(O)return O}return null}function he(g){L&&!L.node.contains(g.target)&&C();let y=re();v=W(g.target),v&&t.contains(g.target)&&(p=null),re()!==y&&te()}function V(g){if(g.relatedTarget||!v)return;let y=re();v=null,re()!==y&&te()}function xe(){if(!m||B.hidden)return;let g=m.getBoundingClientRect();B.style.width=`${Math.round(g.width)}px`,B.style.height=`${Math.round(g.height)}px`,B.style.transform=`translate(${Math.round(g.left)}px, ${Math.round(g.top)}px)`}function We(){if(!o||typeof o.IntersectionObserver!="function"){for(let y of i)y.visible=!0;return}h||(h=new o.IntersectionObserver(y=>{let O=!1;for(let _ of y)for(let E of s.get(_.target)||[])E.visible!==_.isIntersecting&&(E.visible=_.isIntersecting,O=!0);O&&te()},{threshold:0}));let g=new Set(s.keys());for(let y of d)g.has(y)||h.unobserve(y);for(let y of g)d.has(y)||h.observe(y);d=g}function at(){f||!o||(o.addEventListener("scroll",te,{passive:!0,capture:!0}),o.addEventListener("resize",te,{passive:!0}),e.addEventListener("focusin",he),e.addEventListener("focusout",V),e.addEventListener("pointerdown",G,!0),e.addEventListener("keydown",ye,!0),f=!0)}function Nt(){!f||!o||(o.removeEventListener("scroll",te,{capture:!0}),o.removeEventListener("resize",te),e.removeEventListener("focusin",he),e.removeEventListener("focusout",V),e.removeEventListener("pointerdown",G,!0),e.removeEventListener("keydown",ye,!0),f=!1)}function xt(g){return`${g.kind}\0${g.attr||""}`}function _e(g,y){return g.container===y.container&&g.scalar===y.scalar}function dt(g,y){return g.kind!==y.kind?!1:g.kind==="handle"?xt(g.target)===xt(y.target):g.kind==="row"?g.row===y.row&&_e(g.list,y.list):_e(g.list,y.list)}function Ze(g,y){g.target=y;let O=y.path.join(".");g.node.setAttribute("data-hcms-target",O),y.icon?g.node.setAttribute("data-hcms-icon",y.icon):g.node.removeAttribute("data-hcms-icon"),g.node.setAttribute("aria-label",`Edit ${O}`)}function Rt(g){let y=e.createElement("button");y.type="button",y.className="hcms-inline-handle mirk-button mirk-button--small",y.innerHTML=`<span class="mirk-button__label">${$n("edit")}</span>`;let O={node:y,kind:"handle",target:g};return Ze(O,g),y.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),n?.(O.target,y)}),O}function nt(g,y){let O=e.createElement("button");return O.type="button",O.className="hcms-inline-list-button mirk-button mirk-button--small",O.setAttribute("data-hcms-list-action",g),O.setAttribute("aria-label",y),O.innerHTML=`<span class="mirk-button__label">${$n(g)}${g==="add"?"<span>Add</span>":""}</span>`,O}function Qe(g,{list:y,row:O,rowIndex:_,count:E}){let I=y.path.join(".");g.list=y,g.row=O,g.index=_,g.count=E,g.node.setAttribute("data-hcms-list",I),g.node.setAttribute("data-hcms-row",String(_));for(let N of g.node.querySelectorAll("[data-hcms-list-action]")){let j=N.getAttribute("data-hcms-list-action"),J=Wa.find(([$])=>$===j)?.[1]||j;N.setAttribute("aria-label",`${J} ${I}.${_}`),N.disabled=j==="move-up"&&_===0||j==="move-down"&&_===E-1}}function ct(g,y,O,_){let E=e.createElement("div");E.className="hcms-inline-row-controls";let I={node:E,kind:"row",list:g,row:y,index:O,count:_};for(let[N,j]of Wa){let J=nt(N,j);J.addEventListener("click",$=>{$.preventDefault(),$.stopPropagation(),!J.disabled&&r?.({action:N,list:I.list,index:I.index,row:I.row})}),E.appendChild(J)}return Qe(I,{list:g,row:y,rowIndex:O,count:_}),I}function C(g=!1){if(!L)return;let y=L;L=null,y.menu.hidden=!0,y.button.setAttribute("aria-expanded","false"),y.node.parentElement?.classList.remove("has-open-settings"),g&&y.button.isConnected&&y.button.focus({preventScroll:!0})}function G(g){L&&!L.node.contains(g.target)&&C()}function ye(g){L&&(g.key==="Escape"?(g.preventDefault(),g.stopPropagation(),C(!0)):g.key==="Tab"?C(!0):["ArrowDown","ArrowUp","Home","End"].includes(g.key)&&L.menu.contains(g.target)&&(g.preventDefault(),L.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function se(g,{list:y,row:O,rowIndex:_}){Object.assign(g,{list:y,row:O,index:_}),g.node.setAttribute("data-hcms-list",y.path.join(".")),g.node.setAttribute("data-hcms-row",String(_)),g.button.setAttribute("aria-label",`Settings ${y.path.join(".")}.${_}`)}function Ce(g){let y=e.createElement("div");y.className="hcms-inline-settings";let O=nt("settings","Settings");O.setAttribute("aria-haspopup","menu"),O.setAttribute("aria-expanded","false");let _=e.createElement("div");_.className="hcms-inline-settings-menu",_.setAttribute("role","menu"),_.setAttribute("aria-label","Item settings"),_.hidden=!0;let E=e.createElement("button");E.type="button",E.setAttribute("role","menuitem"),E.setAttribute("data-hcms-list-action","remove"),E.textContent="Delete",_.appendChild(E),y.append(O,_);let I={node:y,button:O,menu:_,kind:"settings"};se(I,g);let N=()=>{C(),L=I,_.hidden=!1,O.setAttribute("aria-expanded","true"),y.parentElement.classList.add("has-open-settings"),E.focus({preventScroll:!0}),te()};return O.addEventListener("click",j=>{j.preventDefault(),j.stopPropagation(),L===I?C(!0):N()}),O.addEventListener("keydown",j=>{(j.key==="ArrowDown"||j.key==="ArrowUp")&&(j.preventDefault(),N())}),E.addEventListener("click",j=>{j.preventDefault(),j.stopPropagation(),C(!0),r?.({action:"remove",list:I.list,index:I.index,row:I.row})}),I}function rt(g,y){g.kind==="handle"?Ze(g,y.target):g.kind==="row"?Qe(g,y):g.kind==="settings"&&se(g,y)}function Ve(g,y,O,_,E){let I=y.get(O)?.find(N=>N.category===E);if(!I){I={el:O,category:E,members:[]},g.push(I);let N=y.get(O);N?N.push(I):y.set(O,[I])}I.members.push(_)}function Ke(g,y,O){let _=O.items||[];_.forEach((E,I)=>{Kr(E)&&(Ve(g,y,E,{kind:"row",list:O,row:E,rowIndex:I,count:_.length},"item"),Ve(g,y,E,{kind:"settings",list:O,row:E,rowIndex:I},"item"))})}function et(g,y){let O=new Set(g.members),_=[];for(let E of y){let I=g.members.find(N=>O.has(N)&&dt(N,E))||(E.kind==="handle"?Rt(E.target):E.kind==="row"?ct(E.list,E.row,E.rowIndex,E.count):Ce(E));O.delete(I),rt(I,E),M&&I.kind!=="handle"&&(I.node.hidden=!0),_.push(I)}for(let E of O)E===L&&C(),E.node.remove();_.sort((E,I)=>["row","handle","settings"].indexOf(E.kind)-["row","handle","settings"].indexOf(I.kind)),_.forEach((E,I)=>{g.node.children[I]!==E.node&&g.node.insertBefore(E.node,g.node.children[I]||null)}),g.members=_}function ut(g,y){let O=[],_=new Map,E=new Map,I=0;for(let $ of g||[])E.has($.el)||E.set($.el,$),!($.kind!=="handle"||!Kr($.el))&&(Ve(O,_,$.el,{kind:"handle",target:$},"item"),I++);for(let $ of y||[])Ke(O,_,$);let N=new Set(i),j=new Map;for(let $ of i)j.has($.el)||j.set($.el,$.visible);let J=[];for(let $ of O){let ce=i.find(ge=>N.has(ge)&&ge.el===$.el&&ge.category===$.category);if(!ce){let ge=e.createElement("div");ge.className="hcms-inline-item-controls",ge.setAttribute("role","group"),ce={el:$.el,node:ge,category:$.category,kind:$.category==="add"?"add":"handle",members:[],visible:j.get($.el)??!1},t.appendChild(ge)}N.delete(ce),ce.el=$.el,ce.category=$.category,et(ce,$.members),ce.kind=ce.members.some(ge=>ge.kind==="row")?"row":ce.members.some(ge=>ge.kind==="handle")?"handle":"add",ce.node.setAttribute("aria-label",ce.category==="add"?"List controls":"Item controls"),J.push(ce)}for(let $ of N)$.node.remove();i=J,s=new Map,A=new Map;for(let $ of i){let ce=s.get($.el);ce?ce.push($):s.set($.el,[$]);for(let ge of $.members)ge.kind!=="row"&&ge.kind!=="settings"||(A.set(ge.row,ge.row),A.set(ge.node,ge.row),A.set($.node,ge.row))}p&&!A.has(p)&&(p=null),v&&!A.has(v)&&(v=null),a=E,l=I}function k(){C(),h?.disconnect(),h=null,d=new Set;for(let g of i)g.node.remove();i=[],s=new Map,a=new Map,A=new Map,l=0}return{setTargets(g,y){ut(g,y),H.setLists(y),We(),at(),te()},refresh:te,get count(){return l},get controlsHidden(){return M},setControlsHidden(g){if(M=!!g,H.setHidden(M),M){C();for(let y of i){for(let O of y.members)O.kind!=="handle"&&(O.node.hidden=!0);y.members.every(O=>O.node.hidden)&&(y.node.hidden=!0)}}te()},elementToTarget(g){if(g?.closest?.("[data-hcms-ghost]"))return null;for(let y=g;y&&y.nodeType===1;y=y.parentElement){let O=a.get(y);if(O)return O}return null},setHoveredRow(g){let y=re();p=g?W(g):null,re()!==y&&te()},showHighlight(g){g&&(m=g,B.hidden=!1,xe())},hideHighlight(){m=null,B.hidden=!0},setFollower(g){u=typeof g=="function"?g:null},destroy(){H.destroy(),b&&o&&o.cancelAnimationFrame(b),b=0,u=null,m=null,p=null,v=null,B.remove(),Nt(),k()}}}var nh="hypercms-inline",Jr="is-hcms-inline-active",cs="is-hcms-inline-onpath",Ga='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',rh=["bold","italic","link","undo","redo"],oh=/^H[1-6]$/,ih=0;function Ja({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null,i=null,s=null,l=new Map,a=null,h=null,d=null;function b(f,u,m,p,v){let A=dr(e.defaultView);if(typeof A!="function")return null;let M=v||{},L=M.originalHTML??ls(u,{capability:"history"}).html(),H=M.richClayIsOurs??!u.hasAttribute("data-richclay"),B=M.adopted??u.getAttribute("data-richclay-active")==="true",te=Yr(u,p,"history"),re=sh(f,A,u,p,H);if(!re)return null;ca(u,p==="innerHTML",H);let K=String(++ih);u.setAttribute(_n,K),Wo();let W={el:u,editor:re,path:m,prop:p,boundId:K,originalHTML:L,oldValue:te,richClayIsOurs:H,adopted:B,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};l.set(u,W),sa(K,W);let he=re.squire;if(he&&typeof he.addEventListener=="function"){let xe=()=>{W.dirty=!0,W.lastEdited=Yr(u,W.prop,"history"),lh(f,W)};he.addEventListener("input",xe),W.detachInput=()=>he.removeEventListener?.("input",xe)}let V=()=>Za(W);return u.addEventListener("blur",V),W.detachBlur=()=>u.removeEventListener("blur",V),W}return{name:"inline",richText:r,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(f){return r?ha(f,t):f},bindText(f,u,m,p){return b(this.ctx,f,u,m,p)},mount(f){let u=this.ctx;o=dh(e,n.theme),this.root=o.root,this.formRoot=o.formRoot,this.errorEl=o.errorEl,this.noticeEl=o.noticeEl,this.handoffEl=o.handoffEl,this.handoffCountEl=o.handoffCountEl,this.popEl=o.popEl,vn(()=>Wr(e));let m=ar({pageRules:u.pageRules,formRules:u.formRules,data:f,doc:e});o.formRoot.appendChild(m),u.seeder.seed(o.formRoot),Cn(o.formRoot,e,this.enhanceFormRichText),yr(u),Lo(u),i=Ka({doc:e,layerEl:o.layerEl,onActivate:(p,v)=>this.activate(p,v),onListAction:p=>this.listAction(p)}),i.setFollower(()=>this.placePopover()),o.closeEl.addEventListener("click",()=>this.deactivate()),o.toggleEl.addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),this.toggleControls()}),o.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),u.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:f,list:u,index:m,row:p}){let v=this.ctx,A=u.path.join("."),M=v.formRoot.querySelector(`[data-hcms-path="${gr(A)}"]`);if(!M)return;if(f==="add"){zr(A,v);return}let L=p?mh(v,A,p):m;if(L===-1)return;let H=hh(M,L);if(H){if(f==="remove"){Yi(H,v),this.syncTargets();return}Gi(H,f==="move-up"?-1:1,v),this.syncTargets()}},toggleControls(){if(!i||!o)return;let f=!i.controlsHidden;i.setControlsHidden(f),o.toggleEl.setAttribute("aria-pressed",String(f));let u=o.toggleEl.querySelector(".mirk-button__label");u&&(u.textContent=f?"Show controls":"Hide controls")},bindPage(){let f=this.ctx.pageRoot,u=o.root,m=H=>{let B=i&&i.elementToTarget(H.target);B?i.showHighlight(B.el):i?.hideHighlight(),i?.setHoveredRow(H.target)},p=()=>{i?.hideHighlight(),i?.setHoveredRow(null)},v=H=>{if(u.contains(H.target))return;let B=i&&i.elementToTarget(H.target);!B||B.kind!=="text"||l.has(B.el)||b(this.ctx,B.el,B.path.join("."),Go(B))},A=H=>{if(u.contains(H.target))return;let B=i&&i.elementToTarget(H.target);if(!B){this.deactivate();return}(typeof H.target.closest=="function"&&H.target.closest("a[href]")||B.kind!=="text")&&H.preventDefault(),this.activate(B)},M=H=>{H.key==="Escape"&&this.deactivate()},L=H=>{let B=H.detail;if(!(!B||B.pageRoot!==this.ctx.pageRoot||!B.path))for(let te of l.values())te.path===B.path&&(te.written=!0)};f.addEventListener("pointerover",m),f.addEventListener("pointerleave",p),f.addEventListener("pointerdown",v),f.addEventListener("click",A),u.addEventListener("keydown",M),e.addEventListener("hcms:change",L),s=()=>{f.removeEventListener("pointerover",m),f.removeEventListener("pointerleave",p),f.removeEventListener("pointerdown",v),f.removeEventListener("click",A),u.removeEventListener("keydown",M),e.removeEventListener("hcms:change",L)}},activate(f,u){if(!f||!o||f.kind==="text"&&this.activateText(f))return;let m=Ya(this,o,f.path.join("."));if(!m){this.deactivate();return}a=f,h=u||null,d=null,o.popEl.hidden=!1,o.formRoot.querySelectorAll(`.${Jr}`).forEach(Xa),this.placePopover(),fh(m)},activateText(f){let u=f.el,m=l.get(u);if(m)return Ko(m),!0;let p=b(this.ctx,u,f.path.join("."),Go(f));return p?(Ko(p),!0):!1},placePopover(){if(!o||!a||o.popEl.hidden)return;let f=e.defaultView;if(!f)return;let u={width:f.innerWidth,height:f.innerHeight},m=a.el.getBoundingClientRect(),p=o.popEl.getBoundingClientRect(),{mode:v,x:A,y:M}=qa({anchor:m,bar:p,viewport:u,current:d});d=v,o.popEl.style.transform=`translate(${Math.round(A)}px, ${Math.round(M)}px)`},deactivate(){if(!o||!a&&o.popEl.hidden)return;o.popEl.hidden=!0,ec(o.root);let f=h;if(a=null,h=null,d=null,f&&e.contains(f)&&typeof f.focus=="function")try{f.focus({preventScroll:!0})}catch{f.focus()}},syncTargets(){if(!i)return;let f=this.ctx,{targets:u,lists:m}=is(f.pageRoot,f.pageRules);i.setTargets(u,m);let p=ah(this,l,u,e);if(a){let A=p.get(a.el)||[],M=A.find(L=>ch(L,a))||A.find(L=>L.path.join(".")===a.path.join("."))||(A.length===1?A[0]:null);M?a=M:this.deactivate()}uh(this.ctx,l,e);let v=u.reduce((A,M)=>A+(Kr(M.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=v===0?"":`${v} ${v===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=v===0)},refresh(f,u){f==="livesync"?(Rn(e),Wr(e),Mn(this.ctx,{ignoreActiveValue:!0})):f==="undo"?Mn(this.ctx,{ignoreActiveValue:!1}):Mn(this.ctx),this.syncTargets(),(f==="livesync"||f==="undo")&&this.rebindText(f),this.restoreActive()},rebindText(f){let u=f!=="undo";for(let[m,p]of[...l]){if(!e.contains(m)){Xr(this.ctx,p,{restore:!1,record:u}),l.delete(m);continue}if(m.hasAttribute(dn)){let M=Yr(m,p.prop);M!==p.lastEdited&&(p.oldValue=M,p.lastEdited=void 0);continue}let v=e.activeElement===m;Xr(this.ctx,p,{restore:!1,record:u}),l.delete(m);let A=b(this.ctx,m,p.path,p.prop,{richClayIsOurs:p.richClayIsOurs,adopted:p.adopted});A&&v&&Ko(A)}},restoreActive(){if(!o||!a||o.popEl.hidden)return;if(!e.contains(a.el)){this.deactivate();return}if(!Ya(this,o,a.path.join("."))){this.deactivate();return}o.formRoot.querySelectorAll(`.${Jr}`).forEach(Xa),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){h=null,this.deactivate();for(let f of l.values())Xr(this.ctx,f);l.clear(),s?.(),s=null,i?.destroy(),i=null,o?.destroy(),o=null,es(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function sh(e,t,n,r,o){return vn(()=>{let i=null;try{i=new t(n,{inline:!0,hyperclay:!1,toolbar:r==="innerHTML"?rh:!1,...oh.test(n.tagName)?{singleLine:!0}:null})}catch(s){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",s),null}if(i.unsupported||!i.active){if(o)try{i.destroy()}catch{}return null}return typeof i.reattach=="function"&&i.reattach(),i})}function lh(e,{path:t,el:n,prop:r}){let o=Io(e.formRoot,t);o&&(jo(o,Yr(n,r),e.formRoot,t),tn(Gt(e),{path:t,structural:!1},e))}function Yr(e,t,n="data"){let r=ls(e,{capability:n});return t==="innerHTML"?r.html():r.text().trim()}function Za(e){let{el:t,prop:n,oldValue:r,lastEdited:o}=e,i=o;if(i===void 0||i===r)return;e.oldValue=i;let s=It("undo");if(!s||typeof s.recordValue!="function")return;let l={prop:n,oldValue:r,newValue:i,read:a=>Yr(a,n,"history"),write:(a,h)=>Qa(a,n,h)};s.isPaused?queueMicrotask(()=>{t.isConnected&&s.recordValue(t,l)}):s.recordValue(t,l)}function Qa(e,t,n){let r=e.cloneNode(!1);t==="innerHTML"?r.innerHTML=n:r.textContent=n,Tn(e,Array.from(r.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function Xr(e,t,{restore:n=!0,record:r=!0}={}){r&&Za(t),t.detachInput?.(),t.detachBlur?.(),vn(()=>{if(!t.adopted){try{t.editor.destroy()}catch(o){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",o)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(dn),t.el.removeAttribute(Bn),t.el.removeAttribute(_n),la(t.boundId),n&&t.restorable()&&Qa(t.el,"innerHTML",t.originalHTML)})}function Ko(e){let{editor:t,el:n}=e;if(n.ownerDocument.activeElement!==n)try{typeof t.focus=="function"?t.focus():n.focus()}catch{}}function ah(e,t,n,r){let o=new Map;for(let i of n){let s=o.get(i.el);s?s.push(i):o.set(i.el,[i])}for(let[i,s]of[...t]){let l=o.get(i)||[],a=l.find(f=>Go(f)===s.prop)||l[0];if(!a){Xr(e.ctx,s,{restore:!0}),t.delete(i);continue}s.path=a.path.join(".");let h=Go(a);if(h===s.prop)continue;let d=r.activeElement===i;Xr(e.ctx,s,{restore:!1}),t.delete(i);let b=e.bindText(i,s.path,h,{richClayIsOurs:s.richClayIsOurs,adopted:s.adopted,originalHTML:s.originalHTML});b&&d&&Ko(b)}return o}function ch(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Go(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function uh(e,t,n){for(let r of e.pageRoot.querySelectorAll(`[${dn}]`))t.has(r)||vn(()=>fa(r,n.defaultView))}function Ya(e,t,n){let r=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${gr(n)}"]`);if(ec(t.root),!r)return null;let o=r.closest("[data-hcms-card]"),i=o?[...o.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(s=>s.closest("[data-hcms-card]")===o&&s.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===o.parentElement.closest('[data-hcms-shape="object-array"]')):[r];i.includes(r)||i.push(r);for(let s of i){s.classList.add(Jr),s.removeAttribute("draggable");for(let l=s.parentElement;l&&(l.classList.add(cs),l.removeAttribute("draggable"),l!==e.formRoot);l=l.parentElement);}return r}function ec(e){if(e)for(let t of e.querySelectorAll(`.${Jr}, .${cs}`))t.classList.remove(Jr,cs)}function Xa(e){e.tagName==="TEXTAREA"&&hr(e),e.querySelectorAll?.("textarea").forEach(hr)}function fh(e){let t=e.matches?.(Ga)?e:e.querySelector?.(Ga);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function dh(e,t){Rn(e);let n=e.createElement(nh),r=t==="dark"?" dark":t==="light"?" light":"";return n.className="hcms-shell pixel-quiet hcms-inline"+r,n.setAttribute("data-hcms-shell",""),n.setAttribute("editor-ui",""),n.setAttribute("no-save",""),n.setAttribute("save-remove",""),n.setAttribute("snapshot-remove",""),n.setAttribute("no-watch",""),n.setAttribute("tabindex","-1"),n.innerHTML=`
180
181
  <div class="hcms-inline-bar">
181
182
  <div class="hcms-inline-handoff" hidden>
182
183
  <span class="hcms-inline-handoff-count"></span>
@@ -195,24 +196,24 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
195
196
  <div class="hcms-inline-pop-header">
196
197
  <span>Edit content</span>
197
198
  <button type="button" class="hcms-inline-pop-close mirk-button mirk-button--small" aria-label="Close field editor">
198
- <span class="mirk-button__label">${Ue("remove")}</span>
199
+ <span class="mirk-button__label">${$n("remove")}</span>
199
200
  </button>
200
201
  </div>
201
202
  <div data-hcms-form-root class="hcms-form"></div>
202
203
  </div>
203
- `,e.body.appendChild(r),{root:r,formRoot:r.querySelector("[data-hcms-form-root]"),noticeEl:r.querySelector(".hcms-inline-notice"),errorEl:r.querySelector(".hcms-inline-error"),handoffEl:r.querySelector(".hcms-inline-handoff"),handoffCountEl:r.querySelector(".hcms-inline-handoff-count"),layerEl:r.querySelector(".hcms-inline-layer"),popEl:r.querySelector(".hcms-inline-pop"),closeEl:r.querySelector(".hcms-inline-pop-close"),toggleEl:r.querySelector("[data-hcms-controls-toggle]"),destroy(){r.remove()}}}function Rc(e,t){let r=e.querySelector(".hcms-array-items");return r&&r.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")[t]||null}function Mc(e,t,r){let{lists:n}=Sn(e.pageRoot,e.pageRules),i=n.find(o=>o.path.join(".")===t);return i?i.items.indexOf(r):-1}var Nc="[hypercms]";function ns(e,t){if(!e||!e.querySelectorAll||!t)return;let r=Lc(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(i=>{let o=i.getAttribute("data-hcms-tpl");o&&(o.startsWith("@")||r.has(o)||console.warn(`${Nc} template "${o}" doesn't match any rule path; ignored`))})}function Lc(e){let t=new Set;return r([],e),t;function r(n,i){let o=n.join("."),a=n.map(l=>typeof l=="number"?"*":l).join(".");o&&t.add(o),a&&t.add(a);let s=Be(i);if(s==="object")for(let[l,u]of Object.entries(i))r([...n,l],u);else if(s==="object-array"||s==="scalar-array"){let l=[...n,"*"],u=l.map(m=>typeof m=="number"?"*":m).join(".");if(t.add(u),s==="object-array"){let m=i[1];if(m&&typeof m=="object"&&!Array.isArray(m))for(let[y,c]of Object.entries(m))r([...l,y],c)}}}}var os={skip:"[data-hcms-shell]",templateAttr:"cms-template"},J={isOpen:!1,ctx:null,opts:null};function ss({view:e,doc:t,pageRoot:r,opts:n={},onCloseRequested:i,onViewRequested:o}){let a=n.rules!==void 0?n.rules:"cms",s=fe.findRules(t,a);if(!s){let k=typeof a=="string"?`data-rules-name~="${a}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${k}`)}let l=e.prepareRules(s.rules),u=s.tagNode;Qt(t),ir(t,l),ns(t,l);let m=sr(l,t),y=vr(l),c=kr(r,l),h=Jt(),f=Le(fe.extract(r,l,{...os,...h.hooks}),l),b={doc:t,pageRoot:r,pageRules:l,writeRules:y,formRules:m,rulesTagNode:u,rulesSource:a,richText:e.richText,view:e,seeder:h,initialData:f,get formRoot(){return e.formRoot},get shellRoot(){return e.root},get errorEl(){return e.errorEl},get noticeEl(){return e.noticeEl},unresolved:c,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:n.onChange,onError:n.onError,confirmRemove:n.confirmRemove,previouslyFocused:t.activeElement,dispatch(k,A){let E=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!E)return;let L={...A||{},pageRoot:r,view:e.name},D=new E(k,{bubbles:!0,cancelable:k==="hcms:change",detail:L});(e.root&&e.root.isConnected!==!1?e.root:r).dispatchEvent(D)},onCloseRequested:i,onViewRequested:o};return b.updateFingerprint=()=>{b.lastFingerprint=Lt(pe(b))},e.ctx=b,b}function as(e){e.updateFingerprint(),e.observerHandle=Ro({onRefresh:n=>e.view.refresh("observer",n)});let t=ue("undo");if(t&&typeof t.on=="function"){let n=()=>{if(J.ctx!==e)return;is(e,"undo");let i=Le(fe.extract(e.pageRoot,e.pageRules,os),e.pageRules);Lt(i)!==Lt(e.lastData)&&(e.lastData=i,e.onChange?.(i,{path:"",structural:!1}))};t.on("undo",n),t.on("redo",n),e.undoUnsub=()=>{t.off("undo",n),t.off("redo",n)}}let r=()=>is(e,"livesync");e.livesyncUnsub=it(e.doc,oo,r),Rn.ctx=e,jc(e.doc)}function is(e,t){J.ctx===e&&e.view.refresh(t)}function Cr(e,{dispatch:t=!0,restoreFocus:r=!0,updateUrl:n=!0,reason:i="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let a of e.uploads||[])try{a.abort()}catch{}e.uploads?.clear();let o=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:i}),n&&Fc(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),_e(()=>e.view.destroy()),Ic(),r&&typeof o?.focus=="function")try{o.focus()}catch{}}function Ic(){J.isOpen=!1,J.ctx=null,J.opts=null,Rn.ctx=null}var Rn={ctx:null};function jc(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let r=function(){let i=Rn.ctx;if(i)return pr(i.formRoot),He("Reorder",()=>be(pe(i),{path:"",structural:!0},i))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=r),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=r)}var On="cms";function ls(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);if(!n)return t;let i=new URLSearchParams(n);return i.get(On)!=="true"?t:(i.set(On,"false"),"?"+i.toString())}function cs(e){let t=typeof e=="string"?e:"",r=t.indexOf("?"),n=r===-1?t:t.slice(r+1);return n?new URLSearchParams(n).get(On)==="true":!1}function Fc(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=ls(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var us="hcms-toggle",ne="data-hcms-toggle-host",ds="hcms-toggle-style",hs="data-hcms-toggle-style",Or="data-hcms-session",ks="data-hcms-split",vs="hcms.view",Rr=["sidebar","inline"],Dc={sidebar:"In the sidebar",inline:"On the page"},Ln="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function ms(e){try{let t=e&&e.localStorage?e.localStorage.getItem(vs):null;return Rr.includes(t)?t:null}catch{return null}}function qc(e,t){if(Rr.includes(t))try{e?.localStorage?.setItem(vs,t)}catch{}}var $c="#fafafa",Pc="#0a0a0a",Bc=`
204
- [${ne}] {
204
+ `,e.body.appendChild(n),{root:n,formRoot:n.querySelector("[data-hcms-form-root]"),noticeEl:n.querySelector(".hcms-inline-notice"),errorEl:n.querySelector(".hcms-inline-error"),handoffEl:n.querySelector(".hcms-inline-handoff"),handoffCountEl:n.querySelector(".hcms-inline-handoff-count"),layerEl:n.querySelector(".hcms-inline-layer"),popEl:n.querySelector(".hcms-inline-pop"),closeEl:n.querySelector(".hcms-inline-pop-close"),toggleEl:n.querySelector("[data-hcms-controls-toggle]"),destroy(){n.remove()}}}function hh(e,t){let n=e.querySelector(".hcms-array-items");return n&&n.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")[t]||null}function mh(e,t,n){let{lists:r}=is(e.pageRoot,e.pageRules),o=r.find(i=>i.path.join(".")===t);return o?o.items.indexOf(n):-1}var ph="[hypercms]";function tc(e,t){if(!e||!e.querySelectorAll||!t)return;let n=gh(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(o=>{let i=o.getAttribute("data-hcms-tpl");i&&(i.startsWith("@")||n.has(i)||console.warn(`${ph} template "${i}" doesn't match any rule path; ignored`))})}function gh(e){let t=new Set;return n([],e),t;function n(r,o){let i=r.join("."),s=r.map(a=>typeof a=="number"?"*":a).join(".");i&&t.add(i),s&&t.add(s);let l=qn(o);if(l==="object")for(let[a,h]of Object.entries(o))n([...r,a],h);else if(l==="object-array"||l==="scalar-array"){let a=[...r,"*"],h=a.map(d=>typeof d=="number"?"*":d).join(".");if(t.add(h),l==="object-array"){let d=o[1];if(d&&typeof d=="object"&&!Array.isArray(d))for(let[b,f]of Object.entries(d))n([...a,b],f)}}}}var rc={skip:"[data-hcms-shell]",templateAttr:"cms-template"},He={isOpen:!1,ctx:null,opts:null};function oc({view:e,doc:t,pageRoot:n,opts:r={},onCloseRequested:o,onViewRequested:i}){let s=r.rules!==void 0?r.rules:"cms",l=Vt.findRules(t,s);if(!l){let v=typeof s=="string"?`data-rules-name~="${s}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${v}`)}let a=e.prepareRules(l.rules),h=l.tagNode;xo(t),To(t,a),tc(t,a);let d=_o(a,t),b=Ho(a),f=Bo(n,a),u=bo(),m=Nn(Vt.extract(n,a,{...rc,...u.hooks}),a),p={doc:t,pageRoot:n,pageRules:a,writeRules:b,formRules:d,rulesTagNode:h,rulesSource:s,richText:e.richText,view:e,seeder:u,initialData:m,get formRoot(){return e.formRoot},get shellRoot(){return e.root},get errorEl(){return e.errorEl},get noticeEl(){return e.noticeEl},unresolved:f,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:r.onChange,onError:r.onError,confirmRemove:r.confirmRemove,previouslyFocused:t.activeElement,dispatch(v,A){let M=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!M)return;let L={...A||{},pageRoot:n,view:e.name},H=new M(v,{bubbles:!0,cancelable:v==="hcms:change",detail:L});(e.root&&e.root.isConnected!==!1?e.root:n).dispatchEvent(H)},onCloseRequested:o,onViewRequested:i};return p.updateFingerprint=()=>{p.lastFingerprint=Vr(Gt(p))},e.ctx=p,p}function ic(e){e.updateFingerprint(),e.observerHandle=Ca({onRefresh:r=>e.view.refresh("observer",r)});let t=It("undo");if(t&&typeof t.on=="function"){let r=()=>{if(He.ctx!==e)return;nc(e,"undo");let o=Nn(Vt.extract(e.pageRoot,e.pageRules,rc),e.pageRules);Vr(o)!==Vr(e.lastData)&&(e.lastData=o,e.onChange?.(o,{path:"",structural:!1}))};t.on("undo",r),t.on("redo",r),e.undoUnsub=()=>{t.off("undo",r),t.off("redo",r)}}let n=()=>nc(e,"livesync");e.livesyncUnsub=fr(e.doc,oa,n),fs.ctx=e,kh(e.doc)}function nc(e,t){He.ctx===e&&e.view.refresh(t)}function Yo(e,{dispatch:t=!0,restoreFocus:n=!0,updateUrl:r=!0,reason:o="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let s of e.uploads||[])try{s.abort()}catch{}e.uploads?.clear();let i=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:o}),r&&yh(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),vn(()=>e.view.destroy()),bh(),n&&typeof i?.focus=="function")try{i.focus()}catch{}}function bh(){He.isOpen=!1,He.ctx=null,He.opts=null,fs.ctx=null}var fs={ctx:null};function kh(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let n=function(){let o=fs.ctx;if(o)return Do(o.formRoot),Hn("Reorder",()=>tn(Gt(o),{path:"",structural:!0},o))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=n),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=n)}var us="cms";function sc(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);if(!r)return t;let o=new URLSearchParams(r);return o.get(us)!=="true"?t:(o.set(us,"false"),"?"+o.toString())}function lc(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);return r?new URLSearchParams(r).get(us)==="true":!1}function yh(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=sc(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var ac="hcms-toggle",pt="data-hcms-toggle-host",cc="hcms-toggle-style",uc="data-hcms-toggle-style",Xo="data-hcms-session",bc="data-hcms-split",kc="hcms.view",Jo=["sidebar","inline"],xh={sidebar:"In the sidebar",inline:"On the page"},ms="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function fc(e){try{let t=e&&e.localStorage?e.localStorage.getItem(kc):null;return Jo.includes(t)?t:null}catch{return null}}function vh(e,t){if(Jo.includes(t))try{e?.localStorage?.setItem(kc,t)}catch{}}var wh="#fafafa",Ah="#0a0a0a",Sh=`
205
+ [${pt}] {
205
206
  all: unset;
206
207
  box-sizing: border-box;
207
208
  display: var(--hcms-toggle-display, inline-flex);
208
209
  font-family: 'Departure Mono', ui-monospace, Menlo, monospace;
209
- --hcms-toggle-_surface: ${$c};
210
+ --hcms-toggle-_surface: ${wh};
210
211
  }
211
- [${ne}][data-hcms-surface="dark"] {
212
- --hcms-toggle-_surface: ${Pc};
212
+ [${pt}][data-hcms-surface="dark"] {
213
+ --hcms-toggle-_surface: ${Ah};
213
214
  }
214
- [${ne}] .hcms-toggle__main,
215
- [${ne}] .hcms-toggle__arrow {
215
+ [${pt}] .hcms-toggle__main,
216
+ [${pt}] .hcms-toggle__arrow {
216
217
  all: unset;
217
218
  box-sizing: border-box;
218
219
  display: inline-flex;
@@ -231,34 +232,34 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
231
232
  cursor: pointer;
232
233
  box-shadow: none;
233
234
  }
234
- [${ne}] .hcms-toggle__main:hover,
235
- [${ne}] .hcms-toggle__arrow:hover {
235
+ [${pt}] .hcms-toggle__main:hover,
236
+ [${pt}] .hcms-toggle__arrow:hover {
236
237
  border-color: var(--mirk-focus-color, #C7AE93);
237
238
  box-shadow: none;
238
239
  }
239
- [${ne}] .hcms-toggle__main:active,
240
- [${ne}] .hcms-toggle__arrow:active {
240
+ [${pt}] .hcms-toggle__main:active,
241
+ [${pt}] .hcms-toggle__arrow:active {
241
242
  border-color: var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-br, #E2D4BF);
242
243
  }
243
- [${ne}] .hcms-toggle__main:focus-visible,
244
- [${ne}] .hcms-toggle__arrow:focus-visible {
244
+ [${pt}] .hcms-toggle__main:focus-visible,
245
+ [${pt}] .hcms-toggle__arrow:focus-visible {
245
246
  outline: 2px solid currentColor;
246
247
  outline-offset: -5px;
247
248
  }
248
- [${ne}] .hcms-toggle__close { display: none; }
249
- [${ne}][${Or}="open"] .hcms-toggle__open { display: none; }
250
- [${ne}][${Or}="open"] .hcms-toggle__close { display: inline; }
251
- [${ne}][${ks}] .hcms-toggle__main {
249
+ [${pt}] .hcms-toggle__close { display: none; }
250
+ [${pt}][${Xo}="open"] .hcms-toggle__open { display: none; }
251
+ [${pt}][${Xo}="open"] .hcms-toggle__close { display: inline; }
252
+ [${pt}][${bc}] .hcms-toggle__main {
252
253
  border-radius: 0;
253
254
  padding-right: 12px;
254
255
  }
255
- [${ne}] .hcms-toggle__arrow {
256
+ [${pt}] .hcms-toggle__arrow {
256
257
  gap: 0;
257
258
  padding: 0 10px;
258
259
  border-radius: 0;
259
260
  border-left-width: 0;
260
261
  }
261
- [${ne}] .hcms-toggle__menu {
262
+ [${pt}] .hcms-toggle__menu {
262
263
  all: unset;
263
264
  box-sizing: border-box;
264
265
  min-width: 180px;
@@ -267,12 +268,12 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
267
268
  font-size: 14px;
268
269
  line-height: 1.5;
269
270
  color: var(--hcms-toggle-color, currentColor);
270
- background: ${Ln};
271
+ background: ${ms};
271
272
  border: 1px solid var(--mirk-input-border, #D8C8AF);
272
273
  border-radius: var(--mirk-radius, 5px);
273
274
  box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45);
274
275
  }
275
- [${ne}] .hcms-toggle__item {
276
+ [${pt}] .hcms-toggle__item {
276
277
  all: unset;
277
278
  box-sizing: border-box;
278
279
  display: block;
@@ -281,27 +282,27 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
281
282
  border-radius: 0;
282
283
  cursor: pointer;
283
284
  }
284
- [${ne}] .hcms-toggle__item::before {
285
+ [${pt}] .hcms-toggle__item::before {
285
286
  content: "\u25CB";
286
287
  margin-right: 8px;
287
288
  opacity: .55;
288
289
  }
289
- [${ne}] .hcms-toggle__item[aria-checked="true"]::before {
290
+ [${pt}] .hcms-toggle__item[aria-checked="true"]::before {
290
291
  content: "\u25CF";
291
292
  opacity: 1;
292
293
  }
293
- [${ne}] .hcms-toggle__item:hover {
294
+ [${pt}] .hcms-toggle__item:hover {
294
295
  background: color-mix(in srgb, currentColor 12%, transparent);
295
296
  }
296
- [${ne}] .hcms-toggle__item:focus-visible {
297
+ [${pt}] .hcms-toggle__item:focus-visible {
297
298
  outline: 2px solid currentColor;
298
299
  outline-offset: -3px;
299
300
  }
300
301
  @media (pointer: coarse) {
301
- [${ne}] .hcms-toggle__main,
302
- [${ne}] .hcms-toggle__arrow { min-height: 44px; }
302
+ [${pt}] .hcms-toggle__main,
303
+ [${pt}] .hcms-toggle__arrow { min-height: 44px; }
303
304
  }
304
- `;function zc({search:e="",cookie:t="",forced:r=null}={}){let n=typeof e=="string"?e:"",i=n.indexOf("?"),o=i===-1?n:n.slice(i+1),a=new URLSearchParams(o).get("editmode");return a?a==="true":r!=null?!!r:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var Mn=new WeakMap;function xs(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let r=e.getImageData(0,0,1,1).data;return{r:r[0],g:r[1],b:r[2],a:r[3]/255}}catch{return null}}function Hc(e){if(Mn.has(e))return Mn.get(e);let t=null;try{let r=e.createElement("canvas");if(r.width=r.height=1,t=r.getContext?r.getContext("2d",{willReadFrequently:!0}):null,t){let n=xs(t,"rgb(1, 2, 3)");(!n||n.r!==1||n.g!==2||n.b!==3||n.a!==1)&&(t=null)}}catch{t=null}return Mn.set(e,t),t}function Uc(e,t){let r=String(e??"").trim();if(!r)return null;let n=Vc(r);if(n)return n;let i=t&&t.defaultView;if(!i||!i.CSS||typeof i.CSS.supports!="function"||!i.CSS.supports("color",r))return null;let o=Hc(t);return o?xs(o,r):null}function Vc(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let r=t[1].split(/[\s,/]+/).filter(Boolean);if(r.length<3)return null;let n=r.slice(0,3).map(Number);if(n.some(Number.isNaN))return null;let i=r[3],o=i===void 0?1:i.endsWith("%")?Number(i.slice(0,-1))/100:Number(i);return{r:n[0],g:n[1],b:n[2],a:Number.isNaN(o)?1:o}}function fs({r:e,g:t,b:r}){let n=i=>{let o=i/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*n(e)+.7152*n(t)+.0722*n(r)}function ps(e,t){let r=fs(e),n=fs(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}var gs={r:10,g:10,b:10},bs={r:250,g:250,b:250};function ys(e,t){let r=e.a==null?1:e.a;return{r:e.r*r+t.r*(1-r),g:e.g*r+t.g*(1-r),b:e.b*r+t.b*(1-r)}}function Wc(e){if(!e)return"light";let t=ps(ys(e,gs),gs),r=ps(ys(e,bs),bs);return t>r?"dark":"light"}function Pt(e,t){for(let[r,n]of Object.entries(t))e.style.setProperty(r,n,"important")}function Nn(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,r=e.querySelector(".hcms-toggle__main");if(!t||!r||typeof t.getComputedStyle!="function")return;let n=Uc(t.getComputedStyle(r).color,e.ownerDocument);e.setAttribute("data-hcms-surface",Wc(n))}function Kc(e){Nn(e);let t=e.ownerDocument,r=t&&t.defaultView;if(!r)return;let n=0,i=()=>{if(!n){if(typeof r.requestAnimationFrame!="function")return e.isConnected?Nn(e):s();n=r.requestAnimationFrame(()=>{if(n=0,!e.isConnected)return s();Nn(e)})}};typeof r.requestAnimationFrame=="function"&&i(),t.readyState!=="complete"&&r.addEventListener("load",i,{once:!0});let o=typeof r.MutationObserver=="function"?new r.MutationObserver(i):null;o&&(o.observe(t.documentElement,{attributes:!0}),t.body&&o.observe(t.body,{attributes:!0}));let a=typeof r.matchMedia=="function"?r.matchMedia("(prefers-color-scheme: dark)"):null;a&&typeof a.addEventListener=="function"&&a.addEventListener("change",i);function s(){o&&o.disconnect(),a&&typeof a.removeEventListener=="function"&&a.removeEventListener("change",i)}}function Gc({open:e,close:t,isOpen:r,getTheme:n=()=>null,views:i=Rr},o=document){let a=o.querySelector(`[${ne}]`);if(a)return a;if(!o.querySelector(`[${hs}]`)){let q=o.createElement("style");q.setAttribute(hs,""),q.setAttribute("editor-ui",""),o.getElementById(ds)||(q.id=ds),q.setAttribute("no-save",""),q.setAttribute("snapshot-remove",""),q.setAttribute("save-ignore",""),q.textContent=Bc,o.head.insertBefore(q,o.head.firstChild)}let s=o.createElement("hypercms-toggle");s.className="hcms-shell pixel-quiet",o.getElementById(us)||(s.id=us),s.setAttribute(ne,""),s.setAttribute("editor-ui",""),s.setAttribute("no-save",""),s.setAttribute("snapshot-remove",""),s.setAttribute("save-ignore",""),s.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let l=o.defaultView,u=s.querySelector(".hcms-toggle__main"),m=Rr.filter(q=>i.includes(q)),y=m.length>1,c=y?Yc(o):null,h=y?Jc(o,m):null;y&&(s.setAttribute(ks,""),s.appendChild(c),s.appendChild(h)),Pt(s,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),Pt(u,{background:Ln}),c&&Pt(c,{background:Ln}),h&&Pt(h,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let f=()=>h?[...h.querySelectorAll('[role="menuitemradio"]')]:[];function b(q){if(!(!q||typeof q.focus!="function"))try{q.focus({preventScroll:!0})}catch{q.focus()}}function k(q){let te=f();te.length&&b(te[(q+te.length)%te.length])}function A(){let q=ms(l);for(let te of f())te.setAttribute("aria-checked",String(te.getAttribute("data-hcms-view")===q))}function E(q){s.contains(q.target)||O()}function L(q){h&&(h.hidden=!q,Pt(h,{display:q?"block":"none"}),c.setAttribute("aria-expanded",String(q)),q?(A(),o.addEventListener("pointerdown",E,!0)):o.removeEventListener("pointerdown",E,!0))}function D(q=0){L(!0),k(q)}function O({focusArrow:q=!1}={}){!h||h.hidden||(L(!1),q&&b(c))}function W(){let q=ms(l);return q&&m.includes(q)?q:null}async function U(q){await e({view:q}),qc(l,q)}async function ie(){if(r()){t();return}let q=W();return q?e({view:q}):y?D():e(m[0]?{view:m[0]}:{})}async function ee(q){try{await q()}catch(te){console.warn("hypercms: toggle failed to open the CMS",te)}}s.addEventListener("click",async q=>{c&&c.contains(q.target)||h&&h.contains(q.target)||await ee(ie)}),c&&(c.addEventListener("click",q=>{q.preventDefault(),h.hidden?D():O({focusArrow:!0})}),c.addEventListener("keydown",q=>{if(q.key==="ArrowUp"){q.preventDefault(),D(-1);return}(q.key==="ArrowDown"||q.key==="Enter"||q.key===" ")&&(q.preventDefault(),D(0))}),h.addEventListener("click",q=>{let te=q.target.closest?.('[role="menuitemradio"]');te&&(q.preventDefault(),O(),ee(()=>U(te.getAttribute("data-hcms-view"))))}),h.addEventListener("keydown",q=>{let te=f(),xe=te.indexOf(o.activeElement);switch(q.key){case"ArrowDown":q.preventDefault(),k(xe+1);break;case"ArrowUp":q.preventDefault(),k(xe-1);break;case"Home":q.preventDefault(),k(0);break;case"End":q.preventDefault(),k(te.length-1);break;case"Enter":case" ":if(q.preventDefault(),xe===-1)break;O(),ee(()=>U(te[xe].getAttribute("data-hcms-view")));break;case"Escape":q.preventDefault(),O({focusArrow:!0});break;case"Tab":O();break}}));let me=q=>{let te=n();s.classList.toggle("light",te==="light"),s.classList.toggle("dark",te==="dark"),q?s.setAttribute(Or,"open"):s.removeAttribute(Or)};return me(r()),o.addEventListener("hcms:open",()=>me(!0)),o.addEventListener("hcms:close",()=>me(!1)),o.body.appendChild(s),Ie(o),Kc(s),s}function Yc(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function Jc(e,t){let r=e.createElement("div");r.className="hcms-toggle__menu",r.setAttribute("role","menu"),r.setAttribute("aria-label","Where to edit"),r.hidden=!0;for(let n of t){let i=e.createElement("button");i.type="button",i.className="hcms-toggle__item",i.setAttribute("role","menuitemradio"),i.setAttribute("aria-checked","false"),i.setAttribute("data-hcms-view",n),i.tabIndex=-1,i.textContent=Dc[n],r.appendChild(i)}return r}function ws(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!zc({search:window.location.search,cookie:document.cookie,forced:t}))return;let r=()=>{document.body&&e.hasRules(document)&&Gc(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function As(e){if(Ao(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),Ie(document)}}var jn={sidebar:Mo,inline:Qo};function Mr(e={}){let t=e.view||(J.isOpen?J.ctx.view.name:"sidebar"),r=jn[t];if(!r)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(jn).join(" or ")})`);let n=J.isOpen?{...J.opts,...e,view:t}:e,i=n.pageRoot||(typeof document<"u"?document.body:null);if(!i)throw new Error("hypercms: no pageRoot available");let o=i.ownerDocument||(typeof document<"u"?document:null);if(!o)throw new Error("hypercms: no document available");let a=null,s=null;if(J.isOpen){if(J.ctx.view.name===t)return;a=J.ctx.previouslyFocused,s=J.ctx.view.name,Cr(J.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Vo();let l=r({doc:o,pageRoot:i,opts:n}),u=ss({view:l,doc:o,pageRoot:i,opts:n,onCloseRequested:()=>Fn(),onViewRequested:m=>Mr({view:m})});a&&(u.previouslyFocused=a);try{l.mount(u.initialData),as(u),l.focusOnOpen(),J.isOpen=!0,J.ctx=u,J.opts=n,u.dispatch("hcms:open",{pageRoot:i,previous:s})}catch(m){throw Cr(u,{dispatch:!1,restoreFocus:!!a,updateUrl:!1}),m}}function Fn(){J.isOpen&&Cr(J.ctx)}function Ss(){J.isOpen&&J.ctx.view.refresh("api")}function Xc(){return J.isOpen}function Zc(){return J.isOpen&&J.ctx?J.ctx.view.name:null}var Qc={getData(){return J.isOpen?pe(J.ctx):null},setValue(e,t){if(!J.isOpen)throw new Error("hypercms: cms is not open");let r=J.ctx,n=Se(e),i=Pe(r.pageRules,n);if(i===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof i!="string"||i.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let o=mr(r.formRoot,e);if(!o)throw new Error(`hypercms: no field element at path "${e}"`);fr(o,t,r.formRoot,e),be(pe(r),{path:e,structural:!1},r)},addItem(e){if(!J.isOpen)throw new Error("hypercms: cms is not open");Nt(e,J.ctx)},removeItem(e){if(!J.isOpen)throw new Error("hypercms: cms is not open");let t=J.ctx,r=Se(e);if(typeof r[r.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let i=Pe(t.pageRules,r.slice(0,-1));if(!(Array.isArray(i)||typeof i=="string"&&i.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let a=t.formRoot.querySelector(`[data-hcms-path="${iu(e)}"]`);if(!a)throw new Error(`hypercms: no element at path "${e}"`);at(a,t)},refresh:Ss,_commit(){if(!J.isOpen)return;let e=J.ctx;return pr(e.formRoot),He("Update",()=>be(pe(e),{path:"",structural:!0},e))}},eu=250,tu=1e4;function ru(){typeof window>"u"||typeof document>"u"||cs(window.location?window.location.search:"")&&(J.isOpen||nu(()=>{if(!J.isOpen)try{Mr()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function In(){return!!document.body&&!!ue("Mutation")}function nu(e){if(In()){queueMicrotask(e);return}let t=Date.now()+tu,r=!1,n=null,i=null,o=()=>{r||(r=!0,n!==null&&clearInterval(n),i&&i())};function a(){if(J.isOpen){o();return}In()&&(o(),e())}i=it(document,io,a),n=setInterval(()=>{if(J.isOpen){o();return}if(In()){o(),e();return}Date.now()>=t&&(o(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},eu)}ru();ws({open:Mr,close:Fn,isOpen:Xc,getTheme:()=>J.opts?.theme,views:Object.keys(jn),hasRules:e=>!!fe.findRules(e,"cms")});var Dn={open:Mr,close:Fn,refresh:Ss,api:Qc,get isOpen(){return J.isOpen},currentView:Zc,path:Qr,scaffold:Ot,morphForm:Yt};function iu(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Es=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
305
+ `;function Th({search:e="",cookie:t="",forced:n=null}={}){let r=typeof e=="string"?e:"",o=r.indexOf("?"),i=o===-1?r:r.slice(o+1),s=new URLSearchParams(i).get("editmode");return s?s==="true":n!=null?!!n:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var ds=new WeakMap;function yc(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let n=e.getImageData(0,0,1,1).data;return{r:n[0],g:n[1],b:n[2],a:n[3]/255}}catch{return null}}function Eh(e){if(ds.has(e))return ds.get(e);let t=null;try{let n=e.createElement("canvas");if(n.width=n.height=1,t=n.getContext?n.getContext("2d",{willReadFrequently:!0}):null,t){let r=yc(t,"rgb(1, 2, 3)");(!r||r.r!==1||r.g!==2||r.b!==3||r.a!==1)&&(t=null)}}catch{t=null}return ds.set(e,t),t}function _h(e,t){let n=String(e??"").trim();if(!n)return null;let r=Ch(n);if(r)return r;let o=t&&t.defaultView;if(!o||!o.CSS||typeof o.CSS.supports!="function"||!o.CSS.supports("color",n))return null;let i=Eh(t);return i?yc(i,n):null}function Ch(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let n=t[1].split(/[\s,/]+/).filter(Boolean);if(n.length<3)return null;let r=n.slice(0,3).map(Number);if(r.some(Number.isNaN))return null;let o=n[3],i=o===void 0?1:o.endsWith("%")?Number(o.slice(0,-1))/100:Number(o);return{r:r[0],g:r[1],b:r[2],a:Number.isNaN(i)?1:i}}function dc({r:e,g:t,b:n}){let r=o=>{let i=o/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function hc(e,t){let n=dc(e),r=dc(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}var mc={r:10,g:10,b:10},pc={r:250,g:250,b:250};function gc(e,t){let n=e.a==null?1:e.a;return{r:e.r*n+t.r*(1-n),g:e.g*n+t.g*(1-n),b:e.b*n+t.b*(1-n)}}function Oh(e){if(!e)return"light";let t=hc(gc(e,mc),mc),n=hc(gc(e,pc),pc);return t>n?"dark":"light"}function Zr(e,t){for(let[n,r]of Object.entries(t))e.style.setProperty(n,r,"important")}function hs(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,n=e.querySelector(".hcms-toggle__main");if(!t||!n||typeof t.getComputedStyle!="function")return;let r=_h(t.getComputedStyle(n).color,e.ownerDocument);e.setAttribute("data-hcms-surface",Oh(r))}function Nh(e){hs(e);let t=e.ownerDocument,n=t&&t.defaultView;if(!n)return;let r=0,o=()=>{if(!r){if(typeof n.requestAnimationFrame!="function")return e.isConnected?hs(e):l();r=n.requestAnimationFrame(()=>{if(r=0,!e.isConnected)return l();hs(e)})}};typeof n.requestAnimationFrame=="function"&&o(),t.readyState!=="complete"&&n.addEventListener("load",o,{once:!0});let i=typeof n.MutationObserver=="function"?new n.MutationObserver(o):null;i&&(i.observe(t.documentElement,{attributes:!0}),t.body&&i.observe(t.body,{attributes:!0}));let s=typeof n.matchMedia=="function"?n.matchMedia("(prefers-color-scheme: dark)"):null;s&&typeof s.addEventListener=="function"&&s.addEventListener("change",o);function l(){i&&i.disconnect(),s&&typeof s.removeEventListener=="function"&&s.removeEventListener("change",o)}}function Rh({open:e,close:t,isOpen:n,getTheme:r=()=>null,views:o=Jo},i=document){let s=i.querySelector(`[${pt}]`);if(s)return s;if(!i.querySelector(`[${uc}]`)){let V=i.createElement("style");V.setAttribute(uc,""),V.setAttribute("editor-ui",""),i.getElementById(cc)||(V.id=cc),V.setAttribute("no-save",""),V.setAttribute("snapshot-remove",""),V.setAttribute("save-ignore",""),V.textContent=Sh,i.head.insertBefore(V,i.head.firstChild)}let l=i.createElement("hypercms-toggle");l.className="hcms-shell pixel-quiet",i.getElementById(ac)||(l.id=ac),l.setAttribute(pt,""),l.setAttribute("editor-ui",""),l.setAttribute("no-save",""),l.setAttribute("snapshot-remove",""),l.setAttribute("save-ignore",""),l.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let a=i.defaultView,h=l.querySelector(".hcms-toggle__main"),d=Jo.filter(V=>o.includes(V)),b=d.length>1,f=b?Mh(i):null,u=b?Lh(i,d):null;b&&(l.setAttribute(bc,""),l.appendChild(f),l.appendChild(u)),Zr(l,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),Zr(h,{background:ms}),f&&Zr(f,{background:ms}),u&&Zr(u,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let m=()=>u?[...u.querySelectorAll('[role="menuitemradio"]')]:[];function p(V){if(!(!V||typeof V.focus!="function"))try{V.focus({preventScroll:!0})}catch{V.focus()}}function v(V){let xe=m();xe.length&&p(xe[(V+xe.length)%xe.length])}function A(){let V=fc(a);for(let xe of m())xe.setAttribute("aria-checked",String(xe.getAttribute("data-hcms-view")===V))}function M(V){l.contains(V.target)||B()}function L(V){u&&(u.hidden=!V,Zr(u,{display:V?"block":"none"}),f.setAttribute("aria-expanded",String(V)),V?(A(),i.addEventListener("pointerdown",M,!0)):i.removeEventListener("pointerdown",M,!0))}function H(V=0){L(!0),v(V)}function B({focusArrow:V=!1}={}){!u||u.hidden||(L(!1),V&&p(f))}function te(){let V=fc(a);return V&&d.includes(V)?V:null}async function re(V){await e({view:V}),vh(a,V)}async function K(){if(n()){t();return}let V=te();return V?e({view:V}):b?H():e(d[0]?{view:d[0]}:{})}async function W(V){try{await V()}catch(xe){console.warn("hypercms: toggle failed to open the CMS",xe)}}l.addEventListener("click",async V=>{f&&f.contains(V.target)||u&&u.contains(V.target)||await W(K)}),f&&(f.addEventListener("click",V=>{V.preventDefault(),u.hidden?H():B({focusArrow:!0})}),f.addEventListener("keydown",V=>{if(V.key==="ArrowUp"){V.preventDefault(),H(-1);return}(V.key==="ArrowDown"||V.key==="Enter"||V.key===" ")&&(V.preventDefault(),H(0))}),u.addEventListener("click",V=>{let xe=V.target.closest?.('[role="menuitemradio"]');xe&&(V.preventDefault(),B(),W(()=>re(xe.getAttribute("data-hcms-view"))))}),u.addEventListener("keydown",V=>{let xe=m(),We=xe.indexOf(i.activeElement);switch(V.key){case"ArrowDown":V.preventDefault(),v(We+1);break;case"ArrowUp":V.preventDefault(),v(We-1);break;case"Home":V.preventDefault(),v(0);break;case"End":V.preventDefault(),v(xe.length-1);break;case"Enter":case" ":if(V.preventDefault(),We===-1)break;B(),W(()=>re(xe[We].getAttribute("data-hcms-view")));break;case"Escape":V.preventDefault(),B({focusArrow:!0});break;case"Tab":B();break}}));let he=V=>{let xe=r();l.classList.toggle("light",xe==="light"),l.classList.toggle("dark",xe==="dark"),V?l.setAttribute(Xo,"open"):l.removeAttribute(Xo)};return he(n()),i.addEventListener("hcms:open",()=>he(!0)),i.addEventListener("hcms:close",()=>he(!1)),i.body.appendChild(l),Rn(i),Nh(l),l}function Mh(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function Lh(e,t){let n=e.createElement("div");n.className="hcms-toggle__menu",n.setAttribute("role","menu"),n.setAttribute("aria-label","Where to edit"),n.hidden=!0;for(let r of t){let o=e.createElement("button");o.type="button",o.className="hcms-toggle__item",o.setAttribute("role","menuitemradio"),o.setAttribute("aria-checked","false"),o.setAttribute("data-hcms-view",r),o.tabIndex=-1,o.textContent=xh[r],n.appendChild(o)}return n}function xc(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!Th({search:window.location.search,cookie:document.cookie,forced:t}))return;let n=()=>{document.body&&e.hasRules(document)&&Rh(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}function vc(e){if(va(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),Rn(document)}}var gs={sidebar:Oa,inline:Ja};function Zo(e={}){let t=e.view||(He.isOpen?He.ctx.view.name:"sidebar"),n=gs[t];if(!n)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(gs).join(" or ")})`);let r=He.isOpen?{...He.opts,...e,view:t}:e,o=r.pageRoot||(typeof document<"u"?document.body:null);if(!o)throw new Error("hypercms: no pageRoot available");let i=o.ownerDocument||(typeof document<"u"?document:null);if(!i)throw new Error("hypercms: no document available");let s=null,l=null;if(He.isOpen){if(He.ctx.view.name===t)return;s=He.ctx.previouslyFocused,l=He.ctx.view.name,Yo(He.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Ua();let a=n({doc:i,pageRoot:o,opts:r}),h=oc({view:a,doc:i,pageRoot:o,opts:r,onCloseRequested:()=>bs(),onViewRequested:d=>Zo({view:d})});s&&(h.previouslyFocused=s);try{a.mount(h.initialData),ic(h),a.focusOnOpen(),He.isOpen=!0,He.ctx=h,He.opts=r,h.dispatch("hcms:open",{pageRoot:o,previous:l})}catch(d){throw Yo(h,{dispatch:!1,restoreFocus:!!s,updateUrl:!1}),d}}function bs(){He.isOpen&&Yo(He.ctx)}function wc(){He.isOpen&&He.ctx.view.refresh("api")}function Ih(){return He.isOpen}function jh(){return He.isOpen&&He.ctx?He.ctx.view.name:null}var Dh={getData(){return He.isOpen?Gt(He.ctx):null},setValue(e,t){if(!He.isOpen)throw new Error("hypercms: cms is not open");let n=He.ctx,r=yn(e),o=Fn(n.pageRules,r);if(o===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof o!="string"||o.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let i=Io(n.formRoot,e);if(!i)throw new Error(`hypercms: no field element at path "${e}"`);jo(i,t,n.formRoot,e),tn(Gt(n),{path:e,structural:!1},n)},addItem(e){if(!He.isOpen)throw new Error("hypercms: cms is not open");zr(e,He.ctx)},removeItem(e){if(!He.isOpen)throw new Error("hypercms: cms is not open");let t=He.ctx,n=yn(e);if(typeof n[n.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let o=Fn(t.pageRules,n.slice(0,-1));if(!(Array.isArray(o)||typeof o=="string"&&o.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let s=t.formRoot.querySelector(`[data-hcms-path="${Hh(e)}"]`);if(!s)throw new Error(`hypercms: no element at path "${e}"`);mr(s,t)},refresh:wc,_commit(){if(!He.isOpen)return;let e=He.ctx;return Do(e.formRoot),Hn("Update",()=>tn(Gt(e),{path:"",structural:!0},e))}},Ph=250,Fh=1e4;function qh(){typeof window>"u"||typeof document>"u"||lc(window.location?window.location.search:"")&&(He.isOpen||Bh(()=>{if(!He.isOpen)try{Zo()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function ps(){return!!document.body&&!!It("Mutation")}function Bh(e){if(ps()){queueMicrotask(e);return}let t=Date.now()+Fh,n=!1,r=null,o=null,i=()=>{n||(n=!0,r!==null&&clearInterval(r),o&&o())};function s(){if(He.isOpen){i();return}ps()&&(i(),e())}o=fr(document,ra,s),r=setInterval(()=>{if(He.isOpen){i();return}if(ps()){i(),e();return}Date.now()>=t&&(i(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},Ph)}qh();xc({open:Zo,close:bs,isOpen:Ih,getTheme:()=>He.opts?.theme,views:Object.keys(gs),hasRules:e=>!!Vt.findRules(e,"cms")});var ks={open:Zo,close:bs,refresh:wc,api:Dh,get isOpen(){return He.isOpen},currentView:jh,path:ji,scaffold:Hr,morphForm:go};function Hh(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Ac=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
305
306
  Source of truth: mirk-interface/mirk.css + src/theme/pixel-quiet.overrides.css.
306
307
  Regenerate with: npm run build:theme */
307
308
 
@@ -2197,4 +2198,4 @@ tr.hcms-shell.hcms-inline-ghost { display: table-row; }
2197
2198
  will-change: transform;
2198
2199
  }
2199
2200
  .hcms-inline-highlight[hidden] { display: none; }
2200
- `;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",r=>{let n=r.target.closest(".mirk-number__step");if(!n)return;let i=n.closest(".mirk-number").querySelector("input[type=number]");i&&(n.dataset.step==="up"?i.stepUp():i.stepDown(),i.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",r=>{let n=r.target.closest(".mirk-slider__input");n&&n.closest(".mirk-slider").style.setProperty("--mirk-value",`${n.value}%`)}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-file__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-file"),o=i.querySelector(".mirk-file__name");if(!o)return;let a=n.files[0],s=document.createElement("a");if(s.className="mirk-file__name",s.dataset.filled="",s.href=URL.createObjectURL(a),s.target="_blank",s.rel="noopener",s.textContent=a.name,o.replaceWith(s),!i.querySelector(".mirk-file__remove")){let l=document.createElement("button");l.type="button",l.className="mirk-file__remove",l.setAttribute("aria-label","Remove file"),l.innerHTML=e,s.after(l)}}),document.addEventListener("change",r=>{let n=r.target.closest(".mirk-image__input");if(!n||!n.files.length)return;let i=n.closest(".mirk-image"),o=i.querySelector(".mirk-image__preview");if(!o)return;let a=i.querySelector(".mirk-image__placeholder"),s=new FileReader;s.onload=l=>{o.src=l.target.result,o.removeAttribute("hidden"),a&&a.setAttribute("hidden",""),i.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),i.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},s.readAsDataURL(n.files[0])}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-file__remove");if(n){let o=n.closest(".mirk-file"),a=o?.querySelector(".mirk-file__input"),s=o?.querySelector(".mirk-file__name");if(a&&(a.value=""),s){let l=document.createElement("span");l.className="mirk-file__name",l.textContent="No file chosen",s.replaceWith(l)}n.remove();return}let i=r.target.closest(".mirk-image__remove");if(i){let o=i.closest(".mirk-image"),a=o?.querySelector(".mirk-image__input"),s=o?.querySelector(".mirk-image__preview");a&&(a.value=""),s&&(s.removeAttribute("src"),s.setAttribute("hidden","")),o?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),o?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(r,n){let i=document.createElement("span");i.textContent=r;let o=document.createElement("input");o.type="hidden",o.name="tags[]",o.value=r;let a=document.createElement("button");a.type="button",a.className="mirk-tags__remove",a.textContent="\xD7";let s=document.createElement("span");if(s.className="mirk-tags__chip",n){let l=document.createElement("span");l.className="mirk-tags__chip-inner",l.append(i,o,a),s.append(l)}else s.append(i,o,a);return s}document.addEventListener("keydown",r=>{let n=r.target.closest(".mirk-tags__input");if(!n)return;let i=n.closest(".mirk-tags");if(r.key==="Enter"||r.key===","){let o=n.value.trim();if(!o)return;r.preventDefault(),n.before(t(o,i.classList.contains("mirk-tags--round"))),n.value=""}else if(r.key==="Backspace"&&!n.value){let o=i.querySelectorAll(".mirk-tags__chip");o[o.length-1]?.remove()}}),document.addEventListener("click",r=>{let n=r.target.closest(".mirk-tags__remove");if(n){n.closest(".mirk-tags__chip").remove();return}let i=r.target.closest(".mirk-tags");i&&r.target===i&&i.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",r=>{let n=r.target.closest("[data-mirk-chip]");if(!n)return;let i=n.getAttribute("data-mirk-chip");if(i==="open")n.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(i==="collapse")n.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(i==="changes"){let o=n.closest(".mirk-chip__panel")?.classList.toggle("is-changes");n.textContent=o?"(hide changes)":"(view changes)"}}),document.addEventListener("click",r=>{let n=r.target.closest("[data-copy-btn]");if(!n)return;let i=n.closest("[data-copy]");if(!i)return;let o=i.cloneNode(!0);o.querySelectorAll("[data-copy-btn]").forEach(l=>l.remove());let s=i.getAttribute("data-copy")==="text"?o.textContent.replace(/^\s+|\s+$/g,""):o.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(s).then(()=>{let l=n.textContent;n.textContent="copied",n.dataset.copied="",setTimeout(()=>{n.textContent=l,delete n.dataset.copied},1200)}).catch(()=>{n.textContent="error",setTimeout(()=>{n.textContent="copy"},1200)})})})();As(Es);var au=Dn,lu={cms:Dn};return Rs(cu);})();
2201
+ `;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",n=>{let r=n.target.closest(".mirk-number__step");if(!r)return;let o=r.closest(".mirk-number").querySelector("input[type=number]");o&&(r.dataset.step==="up"?o.stepUp():o.stepDown(),o.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",n=>{let r=n.target.closest(".mirk-slider__input");r&&r.closest(".mirk-slider").style.setProperty("--mirk-value",`${r.value}%`)}),document.addEventListener("change",n=>{let r=n.target.closest(".mirk-file__input");if(!r||!r.files.length)return;let o=r.closest(".mirk-file"),i=o.querySelector(".mirk-file__name");if(!i)return;let s=r.files[0],l=document.createElement("a");if(l.className="mirk-file__name",l.dataset.filled="",l.href=URL.createObjectURL(s),l.target="_blank",l.rel="noopener",l.textContent=s.name,i.replaceWith(l),!o.querySelector(".mirk-file__remove")){let a=document.createElement("button");a.type="button",a.className="mirk-file__remove",a.setAttribute("aria-label","Remove file"),a.innerHTML=e,l.after(a)}}),document.addEventListener("change",n=>{let r=n.target.closest(".mirk-image__input");if(!r||!r.files.length)return;let o=r.closest(".mirk-image"),i=o.querySelector(".mirk-image__preview");if(!i)return;let s=o.querySelector(".mirk-image__placeholder"),l=new FileReader;l.onload=a=>{i.src=a.target.result,i.removeAttribute("hidden"),s&&s.setAttribute("hidden",""),o.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),o.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},l.readAsDataURL(r.files[0])}),document.addEventListener("click",n=>{let r=n.target.closest(".mirk-file__remove");if(r){let i=r.closest(".mirk-file"),s=i?.querySelector(".mirk-file__input"),l=i?.querySelector(".mirk-file__name");if(s&&(s.value=""),l){let a=document.createElement("span");a.className="mirk-file__name",a.textContent="No file chosen",l.replaceWith(a)}r.remove();return}let o=n.target.closest(".mirk-image__remove");if(o){let i=o.closest(".mirk-image"),s=i?.querySelector(".mirk-image__input"),l=i?.querySelector(".mirk-image__preview");s&&(s.value=""),l&&(l.removeAttribute("src"),l.setAttribute("hidden","")),i?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),i?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(n,r){let o=document.createElement("span");o.textContent=n;let i=document.createElement("input");i.type="hidden",i.name="tags[]",i.value=n;let s=document.createElement("button");s.type="button",s.className="mirk-tags__remove",s.textContent="\xD7";let l=document.createElement("span");if(l.className="mirk-tags__chip",r){let a=document.createElement("span");a.className="mirk-tags__chip-inner",a.append(o,i,s),l.append(a)}else l.append(o,i,s);return l}document.addEventListener("keydown",n=>{let r=n.target.closest(".mirk-tags__input");if(!r)return;let o=r.closest(".mirk-tags");if(n.key==="Enter"||n.key===","){let i=r.value.trim();if(!i)return;n.preventDefault(),r.before(t(i,o.classList.contains("mirk-tags--round"))),r.value=""}else if(n.key==="Backspace"&&!r.value){let i=o.querySelectorAll(".mirk-tags__chip");i[i.length-1]?.remove()}}),document.addEventListener("click",n=>{let r=n.target.closest(".mirk-tags__remove");if(r){r.closest(".mirk-tags__chip").remove();return}let o=n.target.closest(".mirk-tags");o&&n.target===o&&o.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",n=>{let r=n.target.closest("[data-mirk-chip]");if(!r)return;let o=r.getAttribute("data-mirk-chip");if(o==="open")r.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(o==="collapse")r.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(o==="changes"){let i=r.closest(".mirk-chip__panel")?.classList.toggle("is-changes");r.textContent=i?"(hide changes)":"(view changes)"}}),document.addEventListener("click",n=>{let r=n.target.closest("[data-copy-btn]");if(!r)return;let o=r.closest("[data-copy]");if(!o)return;let i=o.cloneNode(!0);i.querySelectorAll("[data-copy-btn]").forEach(a=>a.remove());let l=o.getAttribute("data-copy")==="text"?i.textContent.replace(/^\s+|\s+$/g,""):i.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(l).then(()=>{let a=r.textContent;r.textContent="copied",r.dataset.copied="",setTimeout(()=>{r.textContent=a,delete r.dataset.copied},1200)}).catch(()=>{r.textContent="error",setTimeout(()=>{r.textContent="copy"},1200)})})})();vc(Ac);var zh=ks,Vh={cms:ks};return Rc(Wh);})();