@panphora/clayjs 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/clay.standalone.js +8715 -5949
- package/entries/clay-data.js +8 -6
- package/package.json +1 -1
- package/src/core/conflict-notice.js +2 -4
- package/src/core/page-data.js +321 -0
- package/src/core/save-core.js +35 -2
- package/src/core/save.js +123 -13
- package/src/core/unsaved-warning.js +43 -20
- package/src/lib/content-dom.js +3 -3
- package/src/lib/dirty-gate.js +28 -1
- package/src/loader-logic.js +2 -0
- package/src/loader.js +13 -2
- package/src/plugins/wire.js +4 -4
- package/src/sync/conflict-footprints.js +41 -0
- package/src/sync/conflict-revert.js +3 -0
- package/src/sync/conflicts.js +28 -1
- package/src/sync/live-sync.js +5 -3
- package/src/ui/bevel-controls.js +8 -2
- package/src/ui/bevel-dialog.js +2 -4
- package/src/ui/bevel.js +22 -2
- package/src/ui/dialogs.js +1 -1
- package/src/ui/skins/cms.js +1 -1
- package/src/ui/skins/quickcrop.js +1 -1
- package/src/ui/skins/richclay.js +2 -2
- package/src/ui/toast.js +7 -15
- package/src/vendor/hyper-morph.vendor.js +4 -4
- package/src/vendor/hypercms.vendor.js +12 -12
- package/src/vendor/quickcrop.vendor.js +1 -1
- package/src/vendor/richclay.vendor.js +27 -19
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var HyperMorph=(()=>{var So=Object.defineProperty;var $s=Object.getOwnPropertyDescriptor;var Gs=Object.getOwnPropertyNames;var Ys=Object.prototype.hasOwnProperty;var Js=(e,o)=>{for(var t in o)So(e,t,{get:o[t],enumerable:!0})},Xs=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of Gs(o))!Ys.call(e,r)&&r!==t&&So(e,r,{get:()=>o[r],enumerable:!(n=$s(o,r))||n.enumerable});return e};var Qs=e=>Xs(So({},"__esModule",{value:!0}),e);var ni={};Js(ni,{createIdentityStore:()=>Zo,createParseCache:()=>uo,default:()=>ti,diff:()=>Wn,findChangedRoots:()=>Us,importMap:()=>ho,merge3:()=>Fs,merge3Text:()=>Kn,mergeDocument:()=>Xn,mergeJson:()=>zo,mergeScriptText:()=>wo,morph:()=>Ao,morphDocument:()=>zs,morphElement:()=>vo,parseJsonRelaxed:()=>ko,parseRulesRelaxed:()=>bs,spliceProtected:()=>Vs,tieredIdentity:()=>Io});function fo(e,o){if(typeof e=="string"){let t=o&&o.defaultView,n=t&&t.DOMParser||globalThis.DOMParser;return new n().parseFromString(e,"text/html")}if(e&&e.nodeType===9)return e;throw new TypeError("expected an HTML string or a Document")}function uo(e){let o=new Map;return(t,n)=>{if(typeof n!="string")return fo(n,e);let r=o.get(t);if(r&&r.text===n)return r.doc;let a=fo(n,e);return o.set(t,{text:n,doc:a}),a}}function Qo(e,o){let t=o.doctype;if(!t)return!1;let n=e.doctype;if(n&&n.name===t.name&&n.publicId===t.publicId&&n.systemId===t.systemId)return!1;let r=e.implementation.createDocumentType(t.name,t.publicId,t.systemId);return n?e.replaceChild(r,n):e.insertBefore(r,e.documentElement),!0}var Oo=()=>!1;function Mo(e,o=[]){if(typeof e!="function")return Oo;let t=new WeakMap,n=new Set(o);return r=>{if(!r||r.nodeType!==1)return!1;let a=t.get(r);if(a!==void 0)return a;let l=[],i=r,u=!1;for(;i&&i.nodeType===1;){let A=t.get(i);if(A!==void 0){u=A;break}if(l.push(i),e(i,n.has(i))){u=!0;break}if(n.has(i))break;i=i.parentElement}for(let A of l)t.set(A,u);return u}}var ii=Object.freeze(["root-tag","equal","root-attrs","root-level","not-in-body","ignored-ancestor","remote-wins-ancestor","form-ancestor","script-or-template","no-live-twin","live-detached","ancestor-live","sibling-live","outside-id-changed","chain-unpaired"]);function Mn(){return{lazyTwins:0,hashRejected:0,similarTiesStrict:0,similarTiesLoose:0,ambiguousMoves:0,certificationPairs:0,certificationVisited:0,fastPathAttempted:0,fastPathTaken:0,fastPathFallback:null}}function Zo(e){let o=new WeakMap,t=0,n=i=>o.get(i)||null,r=i=>{let u=o.get(i);return u||(u=`${e}:${++t}`,o.set(i,u)),u};return{idOf:n,ensure:r,adopt:(i,u)=>{i&&typeof u=="string"&&u&&o.set(i,u)},exportMap:(i,u)=>{let A={},N=[],h=[],M=(L,R)=>{let F=u(L);F&&(A[R]=r(F));let k=L.children;N.push(k.length),h.push(L.tagName.toLowerCase());for(let d=0;d<k.length;d++)M(k[d],R===""?String(d):`${R}.${d}`)};return M(i,""),A["~"]=N.join(","),A["^"]=h.join(","),A}}}function ho(e,o){let t=new WeakMap;if(!e||!o||typeof o!="object"||Array.isArray(o))return t;let n=o["~"],r=typeof n=="string"?n.split(",").map(Number):null,a=r&&typeof o["^"]=="string"?o["^"].split(","):null,l=h=>Number.isInteger(h)&&h>=0,i=0,u=!1,A=h=>{let M=h;for(;M>0;){let L=r[i++];if(i>r.length||!l(L))return!1;M+=L-1}return!0},N=(h,M)=>{if(u)return;if(r){let F=i++,k=r[F];if(F>=r.length||!l(k)){u=!0;return}let d=!a||a[F]===h.tagName.toLowerCase();if(!d||k!==h.children.length){let w=d&&o[M];typeof w=="string"&&w&&t.set(h,w),A(k)||(u=!0);return}}let L=o[M];typeof L=="string"&&L&&t.set(h,L);let R=h.children;for(let F=0;F<R.length;F++)N(R[F],M===""?String(F):`${M}.${F}`)};return N(e,""),t}function Io(e){return o=>{for(let t of e){let n=t(o);if(typeof n=="string"&&n!=="")return n}return null}}var an=Io([e=>e.getAttribute("data-id"),e=>e.getAttribute("id")]);function po(e,o,t,n=null){let r=new Map,a=new Set,l=i=>{if(t(i))return;let u=o(i);u&&(r.has(u)?a.add(u):r.set(u,i))};if(n){let i=u=>{for(let A of u.querySelectorAll(n))l(A);for(let A of u.querySelectorAll("template"))A.content&&i(A.content)};l(e),i(e.tagName==="TEMPLATE"&&e.content?e.content:e)}else{let i=u=>{l(u);let A=u.tagName==="TEMPLATE"&&u.content?u.content.children:u.children;for(let N=0;N<A.length;N++)i(A[N])};i(e)}for(let i of a)r.delete(i),Lo(i);return r}function Lo(e){e.startsWith("merge:")&&console.warn(`[hyper-morph] merge disabled for duplicate identity "${e.slice(e.indexOf(":",6)+1)}"`)}var Zs=new Set(["href","src","name","type","role"]),ts=new Set(["SCRIPT","STYLE","TEXTAREA","TEMPLATE","IFRAME","OBJECT","CANVAS","VIDEO","AUDIO","svg","SVG"]);function Vn(e,o=5381){let t=o;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return t>>>0}function es(e){return e.replace(/\s+/g," ")}var er=0;function ns({ignored:e=()=>!1,ignoreAttribute:o=()=>!1,stats:t=null}={}){let n=new WeakMap,r=new WeakMap;function a(ee){let oe=ee.attributes,re=oe.length;if(re===0)return{all:"",sig:ee.tagName+"|"};let ne=[],K="",D=[];for(let Ne=0;Ne<re;Ne++){let ae=oe[Ne],te=ae.name;o(ee,te)||ne.push(te+"="+ae.value),te==="class"?K=ae.value.indexOf(" ")<0?ae.value:ae.value.split(/\s+/).filter(Boolean).sort().join(" "):Zs.has(te)&&D.push(te+"="+ae.value)}return ne.length>1&&ne.sort(),D.length>1&&D.sort(),{all:ne.join(""),sig:ee.tagName+"|"+K+(D.length?"|"+D.join("|"):"")}}function l(ee){return ee.nodeType===1&&ee.tagName==="TEMPLATE"&&ee.content?ee.content.childNodes:ee.childNodes}function i(ee){let oe=n.get(ee);if(oe)return oe;if(ee.nodeType===3)oe={hash:"T"+Vn(ee.nodeValue),hint:es(ee.nodeValue).slice(0,64),sig:null,tok:null};else if(ee.nodeType===8)oe={hash:"C"+Vn(ee.nodeValue),hint:"",sig:null,tok:null};else if(ee.nodeType===1){let re=a(ee),ne=Vn(ee.tagName+""+re.all),K="";for(let D of A(ee))if(D.nodeType===1){let Ne=i(D);ne=Vn(Ne.hash,ne),K.length<64&&(K+=" "+Ne.hint)}else ne=Vn(N(D),ne),D.kind==="text"&&K.length<64&&(K+=D.value.slice(0,64));oe={hash:"E"+ne,hint:es(K).trim().slice(0,64),sig:re.sig,tok:null}}else oe={hash:"N"+ee.nodeType,hint:"",sig:null,tok:null};return n.set(ee,oe),oe}function u(ee){if(!ee.tok){ee.tok=new Set;for(let oe of ee.hint.toLowerCase().split(/[^\p{L}\p{N}]+/u))oe&&ee.tok.add(oe)}return ee.tok}function A(ee){let oe=r.get(ee);if(oe)return oe;oe=[];let re=null,ne=()=>{re&&(re.value=re.nodes.map(K=>K.nodeValue).join(""),oe.push(re),re=null)};for(let K of l(ee)){if(K.nodeType===3){re||(re={kind:"text",nodes:[],value:"",parent:ee,hash:void 0}),re.nodes.push(K);continue}ne(),K.nodeType===8?oe.push({kind:"comment",nodes:[K],value:K.nodeValue,parent:ee,hash:void 0}):K.nodeType===1&&!e(K)&&oe.push(K)}return ne(),r.set(ee,oe),oe}function N(ee){return ee.nodeType===1?i(ee).hash:(ee.hash===void 0&&(ee.hash=(ee.kind==="text"?"T":"C")+Vn(ee.value)),ee.hash)}function h(ee,oe){let re=u(i(ee)),ne=u(i(oe));if(re.size===0&&ne.size===0)return{coef:1,share:1};if(re.size===0||ne.size===0)return null;let K=0;for(let D of re)ne.has(D)&&K++;return{coef:K/Math.min(re.size,ne.size),share:K/Math.max(re.size,ne.size)}}function M(ee,oe){let re=h(ee,oe);return!!re&&re.coef>=.5}let L=new WeakMap;function R(ee){let oe=L.get(ee);if(oe)return oe;oe=[];for(let re of ee.attributes)o(ee,re.name)||oe.push([re.namespaceURI||"",re.localName,re.value]);return oe.sort((re,ne)=>re[0]<ne[0]?-1:re[0]>ne[0]?1:re[1]<ne[1]?-1:re[1]>ne[1]?1:0),L.set(ee,oe),oe}let F=new WeakMap;function k(ee,oe){if(ee===oe)return!0;if(N(ee)!==N(oe))return!1;let re=F.get(ee);if(re&&re.has(oe))return re.get(oe);let ne=F.get(oe);if(ne&&ne.has(ee))return ne.get(ee);let K=d(ee,oe),D=K===!0;return K===!1&&t&&t.hashRejected++,re||F.set(ee,re=new WeakMap),re.set(oe,D),D}function d(ee,oe){if(ee.nodeType===1){if(oe.nodeType!==1||ee.tagName!==oe.tagName||ee.namespaceURI!==oe.namespaceURI)return!1;let re=R(ee),ne=R(oe);if(re.length!==ne.length)return!1;for(let Ne=0;Ne<re.length;Ne++)if(re[Ne][0]!==ne[Ne][0]||re[Ne][1]!==ne[Ne][1]||re[Ne][2]!==ne[Ne][2])return!1;let K=A(ee),D=A(oe);if(K.length!==D.length)return!1;for(let Ne=0;Ne<K.length;Ne++){if(N(K[Ne])!==N(D[Ne]))return!1;if(!k(K[Ne],D[Ne]))return er}return!0}return oe.nodeType===1?!1:ee.kind===oe.kind&&ee.value===oe.value}let w=new WeakMap,Z=new Map,he=0;function xe(ee){let oe=w.get(ee);if(oe)return oe;let re=N(ee),ne=Z.get(re);ne||Z.set(re,ne=[]);let K=ne.find(D=>k(D.unit,ee));return oe=K?K.key:"K"+he++,K||ne.push({unit:ee,key:oe}),w.set(ee,oe),oe}return{meta:i,unitsOf:A,unitHash:N,similar:M,score:h,childrenOf:l,equalUnits:k,exactUnitKey:xe,ignored:e}}var os=16,tr=2e3,nr=3,Co={align:0,certifyVisited:0,certifyScheduled:0};function Eo(e,o,t){let{meta:n,unitsOf:r,unitHash:a,similar:l,score:i,childrenOf:u,equalUnits:A,ignored:N}=t.analyzer,h=t.baseId||(()=>null),M=t.sideId||(()=>null),L=t.stats||null,R=L?new Set:null,F=L?new Set:null,k=new Map,d=new Map,w=new Set,Z=new Map,he=new Set,xe=new Set,ee=new Set,oe=[],re=[],ne=[],K=[],D=tr,Ne=new Map,ae=new Map,te=(f,m)=>{k.set(f,m),d.set(m,f)},V=new Set,ye=new Set,be=null,Oe=f=>{let m=f.nodeType?f.parentNode:f.parent;if(!m||m.nodeType!==11)return m;if(!be){be=new WeakMap;let C=W=>{for(let j of W.querySelectorAll("template"))j.content&&(be.set(j.content,j),C(j.content))};for(let W of[e,o])C(W.tagName==="TEMPLATE"&&W.content?W.content:W)}return be.get(m)||null},He=(f,m)=>{for(let C=Oe(f);C&&!V.has(C);C=Oe(C))V.add(C);for(let C=Oe(m);C&&!ye.has(C);C=Oe(C))ye.add(C)},Ue=f=>{for(let m=Oe(f);m;m=Oe(m))if(k.has(m))return xe.has(m);return!1},ze=f=>{for(let m=Oe(f);m;m=Oe(m)){let C=d.get(m);if(C!==void 0)return xe.has(C)}return!1},se=f=>!!f&&f.nodeType===1,at=(f,m)=>{let C=Z.get(f);return!!C&&C.has(m)},ft=f=>ts.has(f.tagName),le=t.comparisons||t.scope,b=(f,m)=>{if(le){if(le.same.get(f)===m)return!0;if(le.differ.get(f)===m)return!1}if(!f.isEqualNode(m))return!1;if(f.tagName==="TEMPLATE")return A(f,m);let C=f.getElementsByTagName("template");if(C.length===0)return!0;let W=m.getElementsByTagName("template");if(C.length!==W.length)return!1;for(let j=0;j<C.length;j++)if(!A(C[j],W[j]))return!1;return!0},H=(f,m)=>{let C=h(f);if(!C)return!0;let W=M(m);return!W||C===W},fe=globalThis.__hyperMorphProfile,we=fe?performance.now():0;fe&&!t.scope&&(n(e),n(o),fe.meta=(fe.meta||0)+(performance.now()-we),we=performance.now()),te(e,o);let pe=new Set;for(let[f,m]of t.baseIndex){let C=t.sideIndex.get(f);C&&C.tagName===m.tagName&&!k.has(m)&&!d.has(C)&&(te(m,C),He(m,C),pe.add(m))}if(pe.size){let f=[];if(t.scope)for(let j of t.scope.chain)pe.has(j)&&f.push(j);let m=[t.scope?t.scope.root:e];for(;m.length;){let j=m.pop();pe.has(j)&&f.push(j);let z=u(j);for(let x=z.length-1;x>=0;x--)z[x].nodeType===1&&m.push(z[x])}let C=new Set;for(let j=f.length-1;j>=0;j--){let z=f[j];t.scope&&t.scope.onChain.has(z)?C.add(z):Jt(z,k.get(z),C)?(xe.add(z),ee.add(z),L&&L.certificationPairs++):C.add(z)}let W=new Set;for(let j of f)xe.has(j)&&!W.has(j)&&Ge(j,W)}t.scope&&t.scope.head&&Dt(t.scope.head[0],t.scope.head[1]);function Ge(f,m){let C=[f];for(;C.length;){let W=C.pop();if(!m.has(W)){m.add(W),v(W);for(let j of r(W))se(j)&&k.has(j)&&C.push(j)}}}K.push([e,o]);for(let[f,m]of k)se(f)&&f!==e&&K.push([f,m]);return wt(),je(),fe&&(fe.align=(fe.align||0)+(performance.now()-we)),{map:k,reverse:d,moved:he,identical:xe,pairIdenticalChildren:v,weak:w,unpair:Ze,rematch:je,insertedByHash:rt,refused:F,identityPaired:pe};function je(){E(),wt();for(let f=0;f<ne.length;){let m=ne.length;tn(f,m),f=m,wt(),E(),wt()}}function Ze(f){let m=k.get(f);if(!m)return;Z.has(f)||Z.set(f,new Set),Z.get(f).add(m);let C=(j,z)=>{k.delete(j),d.delete(z),he.delete(j),xe.delete(j),w.delete(j),ee.delete(j)},W=(j,z)=>{for(let x of r(j)){let S=k.get(x);!S||pe.has(x)||!(se(S)?z.contains(S):z.contains(S.nodes[0]))||(C(x,S),se(x)&&W(x,S))}};C(f,m),se(f)&&W(f,m),oe.push(f),re.push(m)}function rt(){let f=new Map;for(let m of new Set(re)){if(d.has(m))continue;let C=n(m).hash;f.has(C)||f.set(C,[]),f.get(C).push(m)}return f}function wt(){for(;K.length;){let[f,m]=K.shift();k.get(f)!==m||ee.has(f)||xe.has(f)||Tt(f,m)}}function bt(f,m){if(!ft(f))for(let C of r(f))se(C)&&(m.push(C),bt(C,m))}function Tt(f,m){ee.add(f);let C=r(f),W=r(m);Co.align+=C.length+W.length,Ne=new Map,ae=new Map;for(let G=0;G<C.length;G++)Ne.set(C[G],G);for(let G=0;G<W.length;G++)ae.set(W[G],G);if(f.tagName==="HTML")for(let G of["HEAD","BODY"]){let ge=C.find(c=>se(c)&&c.tagName===G),Me=W.find(c=>se(c)&&c.tagName===G);ge&&Me&&!k.has(ge)&&!d.has(Me)&&te(ge,Me)}for(let G=0;G<C.length&&G<W.length;G++){let ge=C[G],Me=W[G];k.has(ge)||d.has(Me)||(se(ge)?se(Me)&&ge.tagName===Me.tagName&&b(ge,Me)&&Dt(ge,Me):!se(Me)&&ge.kind===Me.kind&&ge.value===Me.value&&Dt(ge,Me))}y(C,W);let j=C.filter(G=>!k.has(G)),z=W.filter(G=>!d.has(G));j.length&&z.length&&(Xt(j,z),X(j,z),Q(j,z,C,W),ue(C,W));let x=!1,S=!1;for(let G of C){if(!k.has(G)){se(G)&&(oe.push(G),bt(G,oe),x=!0);continue}se(G)&&!xe.has(G)&&K.push([G,k.get(G)])}for(let G of W)!d.has(G)&&se(G)&&(re.push(G),bt(G,re),S=!0);x&&S&&ne.push([f,m])}function tn(f,m){for(let C=f;C<m;C++){let[W,j]=ne[C];if(k.get(W)!==j)continue;let z=r(W),x=r(j),S=new Map,G=new Map,ge=null;for(let Me of z)se(Me)&&(k.has(Me)?ge=Me:(S.has(ge)||S.set(ge,[]),S.get(ge).push(Me)));ge=null;for(let Me of x)se(Me)&&(d.has(Me)?ge=d.get(Me):(G.has(ge)||G.set(ge,[]),G.get(ge).push(Me)));for(let[Me,c]of S){let T=G.get(Me);if(!(!T||c.length!==T.length)&&c.every((P,U)=>T[U].tagName===P.tagName&&H(P,T[U])&&!at(P,T[U])))for(let P=0;P<c.length;P++)Fe(c[P],T[P])}}}function Fe(f,m){te(f,m),w.add(f),K.push([f,m]),wt()}function Xt(f,m){let C=_n(f,a),W=_n(m,a),j=new Map;for(let z of m){let x=a(z);W.get(x)===1&&j.set(x,z)}for(let z of f){if(k.has(z))continue;let x=a(z);if(C.get(x)!==1)continue;let S=j.get(x);S&&!d.has(S)&&A(z,S)&&Dt(z,S)}}function Jt(f,m,C){let W=[[f,m]];for(;W.length;){let[j,z]=W.pop();if(Co.certifyVisited++,L&&L.certificationVisited++,j.nodeType!==z.nodeType)return!1;if(j.nodeType===3||j.nodeType===8){if(j.nodeValue!==z.nodeValue)return!1;continue}if(j.nodeType!==1){if(!j.isEqualNode(z))return!1;continue}if(j.tagName!==z.tagName||j.namespaceURI!==z.namespaceURI||N(j)!==N(z))return!1;let x=j.attributes,S=z.attributes;if(x.length!==S.length)return!1;for(let T=0;T<x.length;T++){let P=x[T];if(z.getAttributeNS(P.namespaceURI,P.localName)!==P.value)return!1}let G=k.get(j);if(G!==void 0&&G!==z)return!1;let ge=d.get(z);if(ge!==void 0&&ge!==j)return!1;if(j!==f){if(xe.has(j))continue;if(C.has(j))return!1}let Me=u(j),c=u(z);if(Me.length!==c.length)return!1;Co.certifyScheduled+=Me.length;for(let T=Me.length-1;T>=0;T--)W.push([Me[T],c[T]])}return!0}function Dt(f,m){if(se(f)&&(V.has(f)||ye.has(m))){let C=Et(f,m);if(!C){te(f,m),K.push([f,m]);return}for(let W=0;W<C.length;W+=2){let j=C[W],z=C[W+1],x=k.get(j);x!==void 0&&x!==z&&It(j,x);let S=d.get(z);S!==void 0&&S!==j&&It(S,z),k.get(j)===z&&(he.delete(j),w.delete(j),xe.add(j),ee.add(j))}}sn(f,m)}function It(f,m){k.delete(f),d.delete(m),he.delete(f),xe.delete(f),w.delete(f),ee.delete(f)}function Et(f,m){let C=[f,m,!1],W=[];for(;C.length;){let j=C.pop(),z=C.pop(),x=C.pop(),S=k.get(x),G=d.get(z);if(x!==f&&(S!==void 0&&S!==z&&pe.has(x)||G!==void 0&&G!==x&&pe.has(G)))return null;if(!(S===z&&xe.has(x))&&((S!==void 0||G!==void 0)&&W.push(x,z),!!se(x))){if(j||S!==void 0&&S!==z||G!==void 0&&G!==x){let ge=r(x),Me=r(z);for(let c=0;c<ge.length&&c<Me.length;c++)C.push(ge[c],Me[c],!0)}else if(V.has(x)||ye.has(z)){let ge=x.tagName==="TEMPLATE"?x.content:x,Me=z.tagName==="TEMPLATE"?z.content:z;for(let c=ge.firstElementChild,T=Me.firstElementChild;c&&T;){if(N(c)){c=c.nextElementSibling;continue}if(N(T)){T=T.nextElementSibling;continue}(k.has(c)||d.has(T)||V.has(c)||ye.has(T))&&C.push(c,T,!1),c=c.nextElementSibling,T=T.nextElementSibling}}}}return W}function sn(f,m){te(f,m),xe.add(f),se(f)&&ee.add(f)}function v(f){let m=k.get(f);if(!m||!se(f))return;let C=r(f),W=r(m);for(let j=0;j<C.length&&j<W.length;j++)k.has(C[j])||sn(C[j],W[j])}function X(f,m){let C=x=>se(x)&&!ft(x)?n(x).sig+""+n(x).hint:null,W=_n(f,C),j=_n(m,C),z=new Map;for(let x of m){let S=C(x);S!=null&&j.get(S)===1&&z.set(S,x)}for(let x of f){if(k.has(x))continue;let S=C(x);if(S==null||W.get(S)!==1)continue;let G=z.get(S);G&&!d.has(G)&&H(x,G)&&te(x,G)}}function Q(f,m,C,W){let j=new Map;for(let x of m){if(!se(x)||d.has(x)||ft(x))continue;let S=n(x).sig;j.has(S)||j.set(S,[]),j.get(S).push({el:x,index:ae.get(x)})}let z=[];for(let x of f){if(k.has(x)||!se(x)||ft(x))continue;let S=j.get(n(x).sig);if(!S||!S.length)continue;let G=Ne.get(x),ge=S.filter(Me=>!d.has(Me.el)).map(Me=>({c:Me,d:Math.abs(Me.index-G)}));ge.sort((Me,c)=>Me.d-c.d),ge.length>os&&(ge=ge.slice(0,os));for(let{c:Me,d:c}of ge){if(!H(x,Me.el))continue;let T=i(x,Me.el);T&&T.coef>=.5&&z.push({b:x,s:Me.el,coef:T.coef,share:T.share,d:c,bi:G})}}if(z.sort((x,S)=>S.coef-x.coef||S.share-x.share||x.d-S.d||x.bi-S.bi),L&&z.length>1){let x=new Map;for(let S of z){let G=x.get(S.b);G?G.coef===S.coef&&(G.share===S.share?G.strict++:G.loose++):x.set(S.b,{coef:S.coef,share:S.share,strict:0,loose:0})}for(let[S,G]of x)R.has(S)||!(G.strict||G.loose)||(R.add(S),G.strict?L.similarTiesStrict++:L.similarTiesLoose++)}for(let x of z)!k.has(x.b)&&!d.has(x.s)&&te(x.b,x.s)}function de(f,m){return se(f)!==se(m)?!1:se(f)?f.tagName!==m.tagName||!H(f,m)?!1:ft(f)||n(f).hint===""||n(m).hint===""?!0:l(f,m):f.kind===m.kind}function ie(f,m){let C=(j,z)=>{let x=z===null?-1:j===m?ae.get(z):Ne.get(z),S=j[x+1];return S&&!se(S)?S:null},W=null;for(let j of f){if(se(j)){W=j;continue}if(k.has(j))continue;let z=W===null?null:k.get(W);if(W!==null&&!z)continue;let x=C(m,z);x&&!d.has(x)&&x.kind===j.kind&&te(j,x)}}function ue(f,m){ie(f,m);let C=p(f,m),W=(z,x)=>se(z)&&n(z).hint!==""&&n(x).hint===""&&!!x.querySelector("br")&&!C(z,x),j=0;for(let z of f){if(k.has(z)){let S=ae.get(k.get(z));S!==void 0&&S>=j&&(j=S+1);continue}let x=0;for(let S=j;S<m.length&&x<nr;S++){let G=m[S];if(!d.has(G)&&(x++,de(z,G)&&!at(z,G)&&!W(z,G))){te(z,G),se(z)&&(n(z).hint===""||n(G).hint==="")&&w.add(z),j=S+1;break}}}y(f,m)}function p(f,m){let C=(W,j,z)=>{for(let x=j-1;x>=0;x--)if(se(W[x])&&z(W[x]))return W[x];return null};return(W,j)=>{let z=Ne.get(W),x=ae.get(j);if(z===x)return!0;let S=C(f,z,ge=>k.has(ge)),G=C(m,x,ge=>d.has(ge));return S?k.get(S)===G:!G}}function y(f,m){let C=f.filter(S=>se(S)&&!k.has(S)),W=m.filter(S=>se(S)&&!d.has(S));if(!C.length||!W.length)return;let j=_n(C,S=>S.tagName),z=_n(W,S=>S.tagName),x=p(f,m);for(let S of C){let G=S.tagName;if(j.get(G)!==1||z.get(G)!==1)continue;let ge=W.find(Me=>Me.tagName===G);ge&&!d.has(ge)&&x(S,ge)&&H(S,ge)&&!at(S,ge)&&(A(S,ge)?Dt(S,ge):(te(S,ge),w.add(S)))}}function E(){let f=new Map;for(let S of w)if(se(S)&&se(k.get(S))){let G=n(S).hash;f.has(G)||f.set(G,[]),f.get(G).push(S)}if(f.size)for(let S of re){if(d.has(S)||!se(S)||ze(S))continue;let G=f.get(n(S).hash),ge=G&&G.find(Me=>w.has(Me)&&!at(Me,S)&&H(Me,S)&&A(Me,S));ge&&(Ze(ge),Dt(ge,S),He(ge,S),he.add(ge))}let m=new Map,C=new Map,W=new Map;for(let S of w){let G=k.get(S);se(S)&&se(G)&&W.set(G,S)}let j=(S,G)=>{if(!d.has(S))return!ze(S);let ge=W.get(S);return ge===d.get(S)&&ge!==G&&!ge.contains(G)},z=S=>{if(d.has(S)){let G=W.get(S);W.delete(S),Ze(G)}};for(let S of[...re,...W.keys()]){if(d.has(S)&&!W.has(S))continue;let G=n(S).hash;if(m.has(G)||m.set(G,[]),m.get(G).push(S),ft(S))continue;let ge=n(S).sig;C.has(ge)||C.set(ge,[]),C.get(ge).push(S)}let x=new Set;for(let S of w){let G=k.get(S);!se(S)||!se(G)||ft(S)||n(S).hint===""||n(G).hint===""||l(S,G)||x.add(S)}for(let S of[...oe,...x]){let G=k.get(S);if(G?!(w.has(S)&&x.has(S)):Ue(S))continue;let ge=U=>{G&&Ze(S),z(U)},Me=m.get(n(S).hash);if(Me){let U=Me.find(_=>_!==G&&j(_,S)&&!at(S,_)&&A(S,_));if(U){ge(U),Dt(S,U),He(S,U),he.add(S);continue}}if(ft(S)||D<=0)continue;let c=C.get(n(S).sig);if(!c)continue;let T=null,P=0;for(let U of c)if(!(U===G||!j(U,S)||!H(S,U)||at(S,U))&&(D--<=0||l(S,U)&&(P++,T=U,P>1)))break;P>1&&F&&F.add(S),P===1&&(ge(T),te(S,T),He(S,T),he.add(S),K.push([S,T]))}}}function _n(e,o){let t=new Map;for(let n of e){let r=o(n);r!=null&&t.set(r,(t.get(r)||0)+1)}return t}var or={diff:0},ss=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"word"}):null,sr=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}]/u,rr=/[\p{L}\p{M}\p{N}_'’]+|\s+|[\s\S]/gu,ir=/\P{M}\p{M}*/gu;function Do(e){if(e==="")return[];if(ss){let t=[];for(let n of ss.segment(e))t.push(n.segment);return t}let o=[];for(let t of e.match(rr))if(sr.test(t))for(let n of t.match(ir))o.push(n);else o.push(t);return o}var lr=/^[ ]+$/,cr=e=>lr.test(e)?" ".repeat(e.length):e,In=e=>typeof e.k=="string"&&/^\s+$/.test(e.k),gt="",Ro=e=>e.every(o=>In(o)||o.k===gt),ar=/^[\x00-\x7f\u00A0]*$/,fr=/[A-Za-z0-9_']+|[ \u00A0]+|\s|./g;function ur(e){return e===""?[]:e.match(fr)}function Pn(e,o=!1){return(o?ur(e):Do(e)).map(t=>({k:cr(t),raw:t,len:t.length}))}var mo=(...e)=>e.every(o=>ar.test(o));function Po(e,o,t){let n=e.length,r=o.length,a=Math.min(n+r,t),l=a+1,i=new Int32Array(2*a+3),u=[],A=n===0&&r===0;for(let L=0;L<=a&&!A;L++){u.push(i.slice(l-L,l+L+1));for(let R=-L;R<=L;R+=2){let F;R===-L||R!==L&&i[l+R-1]<i[l+R+1]?F=i[l+R+1]:F=i[l+R-1]+1;let k=F-R,d=F;for(;F<n&&k<r&&e[F].k===o[k].k;)F++,k++;if(or.diff+=1+F-d,i[l+R]=F,F>=n&&k>=r){A=!0;break}}}if(!A)return null;let N=[],h=n,M=r;for(let L=u.length-1;L>0;L--){let R=u[L],F=h-M,k=F+L,d=F===-L||F!==L&&R[k-1]<R[k+1]?F+1:F-1,w=R[d+L],Z=w-d;for(;h>w&&M>Z;)N.push([0,h-1,M-1]),h--,M--;h===w?(N.push([1,h,M-1]),M--):(N.push([-1,h-1,M]),h--)}for(;h>0&&M>0;)N.push([0,h-1,M-1]),h--,M--;return N.reverse(),N}function dr(e,o,t){let n=h=>h.k===gt;if(!e.some(n)&&!o.some(n))return Po(e,o,t);let r=[],a=[];for(let h=0;h<e.length;h++)n(e[h])||r.push(h);for(let h=0;h<o.length;h++)n(o[h])||a.push(h);let l=Po(r.map(h=>e[h]),a.map(h=>o[h]),t);if(!l)return null;let i=[],u=0,A=0,N=(h,M)=>{for(;u<h&&A<M&&e[u].k===o[A].k;)i.push([0,u++,A++]);let L=Po(e.slice(u,h),o.slice(A,M),t);if(!L)return!1;for(let[R,F,k]of L)i.push([R,F+u,k+A]);return u=h,A=M,!0};for(let[h,M,L]of l)if(h===0){if(!N(r[M],a[L]))return null;i.push([0,u,A]),u++,A++}return N(e.length,o.length)?i:null}function qn(e,o,t=4e3){let n=[],r=0;for(;r<e.length&&r<o.length&&e[r].k===o[r].k;)e[r].raw!==o[r].raw&&n.push({bi:r,tok:o[r]}),r++;let a=0;for(;a<e.length-r&&a<o.length-r&&e[e.length-1-a].k===o[o.length-1-a].k;)e[e.length-1-a].raw!==o[o.length-1-a].raw&&n.push({bi:e.length-1-a,tok:o[o.length-1-a]}),a++;let l=e.slice(r,e.length-a),i=o.slice(r,o.length-a),u=kr(l,i)?null:dr(l,i,t);if(!u){let d=l.length||i.length?[{bs:r,be:r+l.length,toks:i}]:[];return{hunks:d,cosmetic:n,coarse:!0,parts:d.map(w=>({...w,gap:[],group:0})),cosmeticEq:n}}let A=[],N=(d,w)=>{l[d].raw!==i[w].raw&&n.push({bi:r+d,tok:i[w]})},h=null,M=[],L=0,R=0,F=()=>{h&&A.push(h),h=null;for(let[d,w]of M)N(d,w);M=[],L++};for(let[d,w,Z]of u){if(d===0){h&&In(l[w])&&!l[w].k.includes(`
|
|
2
|
-
`)?
|
|
3
|
-
`))return!1;let ee=be=>t.slice(he,xe).map((Oe,He)=>be.raw.get(he+He)||Oe),oe=[...w.toks,...ee(R)],re=[...ee(k),...Z.toks],ne=(be,Oe,He)=>Oe>=0&&Oe+He.length<=be.length&&He.every((Ue,ze)=>be[Oe+ze].k===Ue.k),K=(be,Oe,He)=>Ro(be)&&t.slice(Oe,He).some(Ue=>!In(Ue)),D=be=>be.some(Oe=>!In(Oe)),Ne,ae,te,V;if(i(w)&&D(w.toks)&&ne(re,0,w.toks)){let be=re.slice(w.toks.length);K(be,he,Z.be)||(Ne=he,ae=w.toks,te=re.slice(0,w.toks.length),V=[null,{bs:he,be:Z.be,toks:be}])}if(Ne===void 0&&i(Z)&&D(Z.toks)){let be=oe.length-Z.toks.length,Oe=oe.slice(0,be);ne(oe,be,Z.toks)&&!K(Oe,w.bs,xe)&&(Ne=xe,ae=oe.slice(be),te=Z.toks,V=[{bs:w.bs,be:xe,toks:Oe},null])}if(Ne===void 0)return!1;let ye=be=>be&&(be.bs<be.be||be.toks.length);return R.list.splice(F,1,...[V[0],{bs:Ne,be:Ne,toks:ae}].filter(ye)),k.list.splice(d,1,...[{bs:Ne,be:Ne,toks:te},V[1]].filter(ye)),!0},M=l[0],L=l[1];for(let R=0;R<64;R++){let F=!1;e:for(let k=0;k<M.list.length;k++)for(let d=0;d<L.list.length;d++){let w=M.list[k],Z=L.list[d];if(!(w.bs===Z.bs&&w.be===Z.be&&Vo(w.toks,Z.toks))){for(let he of[!0,!1]){let xe=oe=>he?oe.be:oe.bs,ee=i(w)?[xe(Z),w.bs]:[xe(w)];for(let oe of ee){let re=u(M,k,oe,xe),ne=re&&u(L,d,oe,xe);if(!ne)continue;let K=(V,ye)=>he?V[V.length-1-ye]:V[ye],D=0;for(;D<re.length&&D<ne.length&&K(re,D).k===K(ne,D).k;)D++;if(!D)continue;let Ne=he?re.slice(0,re.length-D):re.slice(D),ae=he?ne.slice(0,ne.length-D):ne.slice(D);if(!(D<re.length&&D<ne.length&&!Ro(Ne)&&!Ro(ae)&&(i(w)&&i(Z)||w.bs===Z.bs&&w.be===Z.be)||!(he?re.slice(re.length-D):re.slice(0,D)).some(V=>!In(V)))){if(D===re.length&&D===ne.length&&i(w)&&i(Z)){if(w.bs===oe&&Z.bs===oe)continue;M.list[k]={bs:oe,be:oe,toks:re},L.list[d]={bs:oe,be:oe,toks:ne}}else!i(w)&&w.bs===Z.bs&&w.be===Z.be?(N(M,k,re,D,he),N(L,d,ne,D,he)):(A(M,k,re,D,he,oe),A(L,d,ne,D,he,oe));F=!0;break e}}}if(h(M,k,L,d)||h(L,d,M,k)){F=!0;break e}}}if(!F)break}return[M.list,L.list]}var gr=48,br=.3;function kr(e,o){let t=e.filter(l=>!In(l)),n=o.filter(l=>!In(l));if(Math.min(t.length,n.length)<gr)return!1;let r=new Map;for(let l of t)r.set(l.k,(r.get(l.k)||0)+1);let a=0;for(let l of n){let i=r.get(l.k);i>0&&(a++,r.set(l.k,i-1))}return a/Math.min(t.length,n.length)<br}var yr=(e,o)=>{let t=new Set;for(let n of e.toks)typeof n.k!="string"&&t.add(n.k.el);for(let n=e.bs;n<e.be;n++)typeof o[n].k!="string"&&t.add(o[n].k.el);return t},Vo=(e,o)=>e.length===o.length&&e.every((t,n)=>t.k===o[n].k);function rs(e,o,t,n="remote"){let r=qn(e,o),a=qn(e,t),{lh:l,rh:i,cosL:u,cosR:A}=Uo(r,a,e),N=b=>b.bs===b.be,h=b=>b.toks.some(H=>typeof H.k=="string"),M=b=>N(b)&&!h(b),L=(b,H)=>H.bs<b.be&&b.bs<H.be,R=(b,H)=>!L(b,H)&&H.bs<=b.be&&b.bs<=H.be&&(N(b)&&h(b)||N(H)&&h(H))&&!(N(b)&&N(H)),F=(b,H)=>b.bs===H.bs&&b.be===H.be&&Vo(b.toks,H.toks),k=[],d=new Set;for(let b of l){let H=i.find(fe=>!d.has(fe)&&F(b,fe));H?(d.add(H),k.push({bs:b.bs,be:b.be,side:"both",l:b,r:H,toks:b.toks})):k.push({bs:b.bs,be:b.be,side:"L",l:b,toks:b.toks,lead:!!b.lead})}for(let b of i)d.has(b)||k.push({bs:b.bs,be:b.be,side:"R",r:b,toks:b.toks,lead:!!b.lead});k.sort((b,H)=>b.bs-H.bs||b.be-H.be||H.lead-b.lead);let w=0,Z=0;for(let b of k)b.side==="both"&&(w+=b.toks.length-(b.be-b.bs));let he=k.map((b,H)=>H),xe=b=>he[b]===b?b:he[b]=xe(he[b]),ee=(b,H)=>(b=xe(b),H=xe(H),b===H?!1:(he[b]=H,!0)),oe=k.map(b=>yr({bs:b.bs,be:b.be,toks:b.toks},e)),re={L:new Map,R:new Map};k.forEach((b,H)=>{let fe=b.side==="both"?["L","R"]:[b.side];for(let we of fe)for(let pe of oe[H])re[we].has(pe)||re[we].set(pe,[]),re[we].get(pe).push(H)});for(let b of[re.L,re.R])for(let H of b.values())for(let fe=1;fe<H.length;fe++)ee(H[0],H[fe]);for(let b=0;b<k.length;b++)for(let H=b+1;H<k.length;H++){let fe=k[b],we=k[H];fe.side===we.side&&fe.side!=="both"||fe.bs>we.be||(L(fe,we)||R(fe,we)?ee(b,H):fe.bs===we.bs&&N(fe)&&N(we)&&Z++)}let ne=(b,H)=>{let fe=b==="L"?l:i;for(let we of fe)if(we.toks.some(pe=>pe.kind==="close"&&pe.k.el===H.el))return we.bs;for(let we=0;we<e.length;we++)if(e[we].kind==="close"&&e[we].k.el===H.el)return we;return-1};k.forEach((b,H)=>{if(!(!M(b)||b.side==="both"))for(let fe of b.toks){if(fe.kind!=="open")continue;let we=ne(b.side,fe.k);if(we<=b.bs)continue;let pe=new Uint8Array(we-b.bs),Ge=[];if(k.forEach((je,Ze)=>{if(!(je.side===b.side||N(je))&&je.bs<we&&je.be>b.bs){Ge.push(Ze);for(let rt=Math.max(je.bs,b.bs);rt<Math.min(je.be,we);rt++)pe[rt-b.bs]=1}}),Ge.length&&pe.every(je=>je===1))for(let je of Ge)ee(H,je)}});let K=!0;for(;K;){K=!1;let b=new Map;k.forEach((H,fe)=>{let we=xe(fe),pe=b.get(we)||{bs:H.bs,be:H.be,L:!1,R:!1};pe.bs=Math.min(pe.bs,H.bs),pe.be=Math.max(pe.be,H.be),H.side!=="R"&&(pe.L=!0),H.side!=="L"&&(pe.R=!0),b.set(we,pe)}),k.forEach((H,fe)=>{for(let[we,pe]of b){if(xe(fe)===xe(we)||!(pe.L&&pe.R))continue;let Ge=H.bs<pe.be&&H.be>pe.bs,je=N(H)&&h(H)&&(H.bs===pe.be||H.bs===pe.bs);(Ge||je)&&ee(fe,we)&&(K=!0)}})}let D=new Map;k.forEach((b,H)=>{let fe=xe(H);D.has(fe)||D.set(fe,[]),D.get(fe).push(b)});let Ne=[];for(let b of D.values()){let H=b.some(we=>we.side==="L"),fe=b.some(we=>we.side==="R");if(H&&fe){let we=Math.min(...b.map(Ze=>Ze.bs)),pe=Math.max(...b.map(Ze=>Ze.be)),Ge=b.filter(Ze=>Ze.side!=="R").map(Ze=>Ze.l).sort((Ze,rt)=>Ze.bs-rt.bs),je=b.filter(Ze=>Ze.side!=="L").map(Ze=>Ze.r).sort((Ze,rt)=>Ze.bs-rt.bs);Ne.push({bs:we,be:pe,kind:"conflict",localHunks:Ge,remoteHunks:je})}else for(let we of b)Ne.push({bs:we.bs,be:we.be,kind:we.side,u:we})}let ae=(b,H)=>{let fe=b==="L"?l:i;for(let we of fe)if(we.toks.some(pe=>pe.kind==="close"&&pe.k.el===H.el))return we.bs+.5;for(let we=0;we<e.length;we++)if(e[we].kind==="close"&&e[we].k.el===H.el)return we;return 1/0},te=(b,H)=>{let fe=b==="L"?l:i;for(let we of fe)if(we.toks.some(pe=>pe.kind==="open"&&pe.k.el===H.el))return we.bs-.5;for(let we=0;we<e.length;we++)if(e[we].kind==="open"&&e[we].k.el===H.el)return we;return-1/0},V=b=>b.kind==="R"?"R":"L",ye=b=>b.kind==="R"?1:0;Ne.sort((b,H)=>{if(b.bs!==H.bs)return b.bs-H.bs;let fe=b.bs===b.be,we=H.bs===H.be;if(fe!==we)return fe?-1:1;if(fe&&we&&b.kind!=="conflict"&&H.kind!=="conflict"){let Ge=b.u.toks,je=H.u.toks,Ze=wt=>wt.length&&wt.every(bt=>bt.kind==="open"),rt=wt=>wt.length&&wt.every(bt=>bt.kind==="close");if(Ze(Ge)&&Ze(je)){let wt=Math.max(...Ge.map(Tt=>ae(V(b),Tt.k))),bt=Math.max(...je.map(Tt=>ae(V(H),Tt.k)));if(wt!==bt)return bt-wt}if(rt(Ge)&&rt(je)){let wt=Math.min(...Ge.map(Tt=>te(V(b),Tt.k))),bt=Math.min(...je.map(Tt=>te(V(H),Tt.k)));return wt!==bt?bt-wt:ye(H)-ye(b)}}let pe=Ge=>Ge.u&&Ge.u.lead?1:0;return pe(H)-pe(b)||ye(b)-ye(H)||b.be-H.be});let be=[],Oe=[],He=0,Ue=b=>{b>He&&(be.push({bs:He,be:b,toks:e.slice(He,b),source:"base"}),He=b)};for(let b of Ne){if(Ue(b.bs),b.kind==="conflict"){let H=jo(e,b.localHunks,b.bs,b.be),fe=jo(e,b.remoteHunks,b.bs,b.be),we=n==="local"?H:n==="both"?H.concat(fe):fe,pe=(Ze,rt)=>{let wt=0;for(let bt of Ze)bt.be<=b.bs&&!rt.includes(bt)&&(wt+=bt.toks.length-(bt.be-bt.bs));return wt},Ge=b.bs+pe(l,b.localHunks),je=b.bs+pe(i,b.remoteHunks);Oe.push({bs:b.bs,be:b.be,ls:Ge,le:Ge+H.length,rs:je,re:je+fe.length,ms:0,me:0,base:e.slice(b.bs,b.be),local:H,remote:fe,resolved:we}),be.push({bs:b.bs,be:b.be,toks:we,source:"conflict",localHunks:b.localHunks,localToks:H,keepsLocal:n!=="remote"})}else be.push({bs:b.bs,be:b.be,toks:b.u.toks,source:b.kind==="R"?"remote":"local",localHunks:b.kind==="R"?[]:[b.u.l]});He=Math.max(He,b.be)}Ue(e.length);let ze=0,se=0;for(let b of be)b.source==="conflict"&&(Oe[se].ms=ze,Oe[se].me=ze+b.toks.length,se++),ze+=b.toks.length;let at=new Map(u.map(b=>[b.bi,b.tok])),ft=new Map(A.map(b=>[b.bi,b.tok])),le=[];for(let b of be){b.source==="base"&&(b.toks=b.toks.map((H,fe)=>{let we=b.bs+fe,pe=at.get(we),Ge=ft.get(we),je=pe&&Ge?n==="remote"?Ge:pe:pe||Ge||H;return je===H?H:{...je,cosmetic:!0}}));for(let H of b.toks)le.push({...H,src:b.source})}return{tokens:le,segments:be,conflicts:Oe,localHunks:l,remoteHunks:i,collapsedDelta:w,samePoint:Z,mapLocalOffset:wr(e,l,be)}}function jo(e,o,t,n){let r=[],a=t;for(let l of o)r=r.concat(e.slice(a,l.bs),l.toks),a=l.be;return r.concat(e.slice(a,n))}var Bo=e=>e.reduce((o,t)=>o+t.len,0);function wr(e,o,t){let n=new Int32Array(e.length+1);for(let l=0;l<e.length;l++)n[l+1]=n[l]+e[l].len;let r=o.map(l=>({bs:n[l.bs],be:n[l.be],text:l.toks.map(i=>i.raw).join(""),ref:l})),a=t.map(l=>({bs:n[l.bs],be:n[l.be],len:Bo(l.toks),source:l.source,localHunks:l.localHunks||[],localLen:l.localToks?Bo(l.localToks):0,keepsLocal:l.keepsLocal,ref:l}));return l=>{let i=null,u=null,A=0,N=0,h=0;for(let L of r){let R=L.bs-h;if(l<=N+R){i=h+(l-N);break}if(N+=R,h=L.bs,l<=N+L.text.length){u=L,A=l-N,i=L.bs;break}N+=L.text.length,h=L.be}i===null&&(i=h+(l-N));let M=0;for(let L of a){if(!u&&i<=L.bs)return M;if(!(u?L.localHunks.includes(u.ref):i<L.be)){M+=L.len;continue}if(L.source==="base")return M+(i-L.bs);if(L.source==="remote")return M+L.len;if(L.source==="local")return M+Math.min(A,L.len);if(!L.keepsLocal||!u)return M+L.len;let F=L.localHunks.indexOf(u.ref),k=Bo(jo(e,L.localHunks.slice(0,F),L.ref.bs,u.ref.bs));return M+Math.min(k+A,L.localLen)}return M}}function Kn(e,o,t,n="remote"){if(o===t||t===e)return{text:o,conflicts:[],mapLocalOffset:d=>Math.min(d,o.length),granularity:"word"};let r=mo(e,o,t),a=Pn(e,r),l=Pn(o,r),i=Pn(t,r),u=a.length<=2e4&&l.length<=2e4&&i.length<=2e4?rs(a,l,i,n):null,A="word",N=a;if(!u){let d=w=>w.split(/(?<=\n)/).map(Z=>({k:Z,raw:Z,len:Z.length}));N=d(e),u=rs(N,d(o),d(t),n),A="line"}let h=d=>d.map(w=>w.raw).join(""),M=d=>{let w=[0];for(let Z of d)w.push(w[w.length-1]+Z.len);return w},L=M(N),R=null,F=null,k=null;if(u.conflicts.length){let d=w=>w.split(/(?<=\n)/).map(Z=>({k:Z,raw:Z,len:Z.length}));R=M(A==="line"?d(o):l),F=M(A==="line"?d(t):i),k=M(u.tokens)}return{text:h(u.tokens),conflicts:u.conflicts.map(d=>({bs:L[d.bs],be:L[d.be],ls:R[d.ls],le:R[d.le],rs:F[d.rs],re:F[d.re],ms:k[d.ms],me:k[d.me],base:h(d.base),local:h(d.local),remote:h(d.remote),resolved:h(d.resolved)})),mapLocalOffset:u.mapLocalOffset,granularity:A}}function Wn(e,o,t=4e3){if(e===o)return[];let n=mo(e,o),r=Pn(e,n),a=Pn(o,n),l=qn(r,a,t),i=[0];for(let u of r)i.push(i[i.length-1]+u.len);return l.hunks.map(u=>({bs:i[u.bs],be:i[u.be],text:u.toks.map(A=>A.raw).join("")}))}var $n="\uFFFC";var xr={caret:0},wn=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(" ")),us=new Set(["BR","WBR","IMG"]),Ko=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 Bn(e,o={}){if(e.nodeType===3)return!0;if(e.nodeType!==1)return!1;if(o.ignored&&o.ignored(e)||us.has(e.tagName))return!0;if(!wn.has(e.tagName))return!Ko.has(e.tagName);if(o.remoteWins&&o.remoteWins(e))return!1;let t=o.inlineCache&&o.inlineCache.get(e);if(t!==void 0)return t;let n=!0;for(let r of e.childNodes)if(!Bn(r,o)){n=!1;break}return o.inlineCache&&o.inlineCache.set(e,n),n}function Tr(e){return!e.firstChild||e.textContent===""&&!e.querySelector("br,img,wbr")}function Nn(e,o={}){let t={text:"",marks:[],atoms:[],nodes:[],stackAt:[],pins:[],placeholder:null,via:null},n=(r,a)=>{for(let l of r){if(l.nodeType===3){let h=l.nodeValue;if(!h)continue;t.nodes.push({node:l,s:t.text.length,e:t.text.length+h.length}),t.text+=h;for(let M=0;M<h.length;M++)t.stackAt.push(a);continue}if(l.nodeType!==1)continue;if(o.ignored&&o.ignored(l)){t.pins.push({el:l,i:t.text.length});continue}if(o.skip&&o.skip.has(l))continue;let i=o.via&&o.via(l)||l;i!==l&&(t.via||(t.via=new Map)).set(i,l);let u=l.tagName;if(o.blocks&&o.blocks.has(l)){t.text.length&&t.text[t.text.length-1]!==gt&&(t.stackAt.push(a),t.text+=gt);let h={el:l,tag:u,from:t.text.length,to:-1,depth:a.length,block:!0};t.marks.push(h);let M=a.concat([h]);n(i.childNodes,M),t.stackAt.push(M),t.text+=gt,h.to=t.text.length;continue}let A=wn.has(u)&&Tr(i);if(us.has(u)||!wn.has(u)||o.remoteWins&&o.remoteWins(l)||o.atomize&&o.atomize(l)||A){t.atoms.push({i:t.text.length,el:l,key:A?u+":empty":u,stack:a}),t.stackAt.push(a),t.text+=$n;continue}let N={el:l,tag:u,from:t.text.length,to:-1,depth:a.length};t.marks.push(N),n(i.childNodes,a.concat([N])),N.to=t.text.length}};if(n(e,[]),t.atoms.length===1&&t.atoms[0].el.tagName==="BR"&&t.marks.length===0&&go(t).trim()===""){let r=t.atoms[0];t.placeholder=r.el,t.text=t.text.slice(0,r.i)+t.text.slice(r.i+1),t.stackAt.splice(r.i,1);for(let a of t.nodes)a.s>r.i&&(a.s--,a.e--);t.atoms=[]}return t.atomAt=new Map(t.atoms.map(r=>[r.i,r])),t}function Nr(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ")}function Ar(e){let o="<"+e.tagName.toLowerCase();for(let t of e.attributes)o+=` ${t.name}="${t.value.replace(/"/g,""")}"`;return o+">"}function zn(e,o,t){let n="",r=[];for(let a=o;a<t;a++){let l=e.stackAt[a],i=0;for(;i<r.length&&i<l.length&&r[i]===l[i];)i++;for(;r.length>i;)n+=`</${r.pop().tag.toLowerCase()}>`;for(;r.length<l.length;){let A=l[r.length];n+=Ar(A.el),r.push(A)}let u=e.atomAt.get(a);n+=u?u.el.outerHTML:e.text[a]===gt?"":Nr(e.text[a])}for(;r.length;)n+=`</${r.pop().tag.toLowerCase()}>`;return n}function vr(e,o){let t=[...e.el.attributes].filter(n=>!o(e.el,n.name)).map(n=>n.name+"="+n.value).sort().join("");return e.tag+"|"+t}function ds(e,o){let t=[...e.attributes].filter(n=>!o(e,n.name)).map(n=>n.name+"="+n.value).sort().join("");return e.tagName+"|"+t+"|"+e.innerHTML}function is(e,o=()=>!1){let t=new Map,n=a=>{let l=t.get(a);return l===void 0&&(l="{"+a.map(i=>vr(i,o)).sort().join(",")+"}",t.set(a,l)),l},r="";for(let a=0;a<e.text.length;a++){let l=e.atomAt.get(a);r+=(l?"["+ds(l.el,o)+"]":e.text[a])+n(e.stackAt[a])}return e.text.length===0&&e.placeholder&&(r+="[br]"),r}function Fn(e,o,t,n=r=>r.key){let r=[],a=e.text,l=0,i=u=>{if(u<=l)return;let A=a.slice(l,u);if(t)for(let N of A.split(/(?<=\n)/))r.push({k:N,raw:N,len:N.length});else for(let N of Pn(A,o))r.push(N)};for(let u of e.atoms)i(u.i),r.push({k:"\0"+n(u),raw:$n,len:1,atom:!0}),l=u.i+1;return i(a.length),r}function go(e){if(!e.atoms.length)return e.text;let o="",t=0;for(let n of e.atoms)o+=e.text.slice(t,n.i),t=n.i+1;return o+e.text.slice(t)}var qo=e=>{let o=new Int32Array(e.length+1);for(let t=0;t<e.length;t++)o[t+1]=o[t]+e[t].len;return o};function ls(e,o,t,n){let r=qo(o),a=qo(t),l=[],i=0,u=0;for(let N of n.hunks){u+=N.bs-i;let h=u+N.toks.length;l.push({bs:r[N.bs],be:r[N.be],ss:a[u],se:a[h],text:e.text.slice(a[u],a[h]),toks:N.toks,lead:!!N.lead}),u=h,i=N.be}let A=new Map;for(let N of n.cosmetic)A.set(N.bi,N.tok.raw);return{hunks:l,respell:A}}function cs(e,o,t){let n=l=>l===gt||/\s/.test(l),r=l=>l.replace(/[\u001E\s]/g,""),a=[];for(let l of e){let i=o.slice(l.bs,l.be),u=t.slice(l.ss,l.se);if(!i.includes(gt)&&!u.includes(gt)||i.includes($n)||u.includes($n)||r(i)!==r(u)){a.push(l);continue}let A=0,N=0;for(;;){let h=A,M=N;for(;h<i.length&&n(i[h]);)h++;for(;M<u.length&&n(u[M]);)M++;let L=A,R=N;for(;L<h&&R<M&&i[L]===u[R];)L++,R++;let F=h,k=M;for(;F>L&&k>R&&i[F-1]===u[k-1];)F--,k--;if(F>L||k>R){let d=u.slice(R,k);a.push({bs:l.bs+L,be:l.bs+F,ss:l.ss+R,se:l.ss+k,text:d,toks:[...d].map(w=>({k:w,raw:w,len:1})),lead:l.lead})}if(h>=i.length)break;A=h+1,N=M+1}}return a}function as(e,o,t){let n=new Int32Array(o+1).fill(-1),r=new Int32Array(t+1).fill(-1),a=0,l=0,i=u=>{for(;a<u;)n[a]=l,r[l]=a,a++,l++};for(let u of e)i(u.bs),a=u.be,l=u.se;return i(o),n[o]=l,r[l]=o,{bTo:n,toB:r}}function fs(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}function Wo(e){let{out:o,policy:t="remote",L:n,R:r}=e,a=e.provenance||new WeakMap,l=e.textMappers||new WeakMap,i=e.conflicts||[],u=e.decisions||[],A=i.length,N=e.conflict||(s=>i.push(s)),h={textNodes:null,text:"",out:null,atomOut:new Map,breakOut:new Map,node:e.node||null},M=[],L=!!(n&&n.reverse&&n.map&&r&&r.reverse&&r.map),R={base:null,local:null,remote:null};if(L&&e.moveIn){let s=Ae=>qe=>Ae.some(Te=>Te===qe||Te.nodeType===1&&Te.contains(qe)),g=s(e.local),I=s(e.remote),O=s(e.base),B=new Set,$=Ae=>{if(!wn.has(Ae.tagName))return;let qe=n.map.get(Ae),Te=r.map.get(Ae);(qe&&!g(qe)||Te&&!I(Te))&&B.add(Ae);for(let Le of Ae.children)$(Le)};for(let Ae of e.base)Ae.nodeType===1&&$(Ae);let me=Ae=>qe=>{if(!wn.has(qe.tagName))return!1;let Te=Ae.reverse.get(qe);return!!Te&&(B.has(Te)||!O(Te))};B.size&&(R.base=Ae=>B.has(Ae)),R.local=me(n),R.remote=me(r)}let F={base:new Set,local:new Set,remote:new Set};if(L&&e.moveIn){let s=O=>B=>O.some($=>$===B||$.nodeType===1&&$.contains(B)),g=s(e.local),I=s(e.remote);for(let O of Nn(e.base,{...e,atomize:R.base}).atoms){let B=n.map.get(O.el),$=r.map.get(O.el),me=!!B&&!g(B),Ae=!!$&&!I($);!me&&!Ae||(F.base.add(O.el),B&&!me&&F.local.add(B),$&&!Ae&&F.remote.add($),g(O.el)&&F.local.add(O.el),I(O.el)&&F.remote.add(O.el))}}let k=Nn(e.base,{...e,atomize:R.base,skip:F.base}),d=Nn(e.local,{...e,atomize:R.local,skip:F.local}),w=Nn(e.remote,{...e,atomize:R.remote,skip:F.remote}),Z=new Map(k.atoms.map(s=>[s.el,s])),he={},xe=s=>F[s].size?(he[s]||(he[s]=Nn(e[s],{...e,atomize:R[s]})),he[s]):null,ee=(s,g,I)=>{g.namespaceURI?s.setAttributeNS(g.namespaceURI,g.name,I):s.setAttribute(g.name,I)},oe=(s,g,I,O)=>{if(!g&&(!I||!O)){for(let $ of(I||O).attributes)ee(s,$,$.value);return}let B=new Map;for(let $ of[g,I,O])if($)for(let me of $.attributes)B.set(me.name,me);for(let[$,me]of B){let Ae=g?g.getAttribute($):null,qe=I?I.getAttribute($):Ae,Te=O?O.getAttribute($):Ae,Le;qe===Te?Le=qe:qe===Ae?(Le=Te,u.push({kind:"attr",el:s,name:$,source:"remote"})):Te===Ae?(Le=qe,u.push({kind:"attr",el:s,name:$,source:"local"})):(Le=t==="local"?qe:Te,N({kind:"attr",el:s,name:$,base:Ae,local:qe,remote:Te,resolved:Le},{el:s,sample:me}),u.push({kind:"attr",el:s,name:$,source:"both"})),Le!=null&&ee(s,me,Le)}},re=(s,g,I,O)=>s&&e.mergeAttrs?e.mergeAttrs(s,g,I,O):oe(O,s,g,I),ne=e.mergeElement||((s,g,I)=>{let O=o.createElement(s.tagName);re(s,g,I,O);let B=g||s,$=I||s,me=t==="local"?B.isEqualNode(s)?$:B:$.isEqualNode(s)?B:$;for(let Ae of me.childNodes)O.appendChild(o.importNode(Ae,!0));return a.set(O,{base:s,local:g,remote:I}),O}),K=e.cloneUnit||((s,g)=>{let I=o.importNode(s,!0);return a.set(I,{base:null,local:g==="local"?s:null,remote:g==="remote"?s:null}),I}),D=e.atomKey||(s=>ds(s,()=>!1)),Ne=(s,g)=>{let I=new Map;for(let O of s.atoms)if(e.remoteWins&&e.remoteWins(O.el)&&wn.has(O.el.tagName))I.set(O,"w"+O.el.tagName+"#"+(O.el.id||""));else if(!L)I.set(O,O.key);else if(s===k)I.set(O,"="+D(O.el));else{let B=g.reverse.get(O.el),$=B?Z.get(B):null;$?I.set(O,"="+D($.el)):B?I.set(O,"m"+D(O.el)):I.set(O,"="+D(O.el))}return O=>I.get(O)},ae=Ne(k,null),te=Ne(d,n),V=Ne(w,r),ye=mo(go(k),go(d),go(w)),be=Fn(k,ye,!1,ae),Oe=Fn(d,ye,!1,te),He=Fn(w,ye,!1,V),Ue=be.length>2e4||Oe.length>2e4||He.length>2e4;Ue&&(be=Fn(k,ye,!0,ae),Oe=Fn(d,ye,!0,te),He=Fn(w,ye,!0,V));let ze=Uo(qn(be,Oe),qn(be,He),be),se=ls(d,be,Oe,{hunks:ze.lh,cosmetic:ze.cosL}),at=ls(w,be,He,{hunks:ze.rh,cosmetic:ze.cosR});se.hunks=cs(se.hunks,k.text,d.text),at.hunks=cs(at.hunks,k.text,w.text);let ft=as(se.hunks,k.text.length,d.text.length),le=as(at.hunks,k.text.length,w.text.length),b=k.text.length,H=s=>new Map(s.atoms.map(g=>[g.el,g])),fe=H(d),we=H(w),pe=(s,g,I)=>{let O=new Set;if(!L)return O;for(let B of s.atoms){let $=Z.get(g.reverse.get(B.el));$&&I.bTo[$.i]<0&&O.add($)}return O},Ge=pe(d,n,ft),je=pe(w,r,le),Ze=s=>!Bn(s,{...e,remoteWins:null}),rt=new Set;if(L)for(let s of k.atoms){if(!Ze(s.el))continue;let g=n.map.get(s.el)||null,I=r.map.get(s.el)||null,O=g&&!I?g:I&&!g?I:null;O&&(fe.has(O)||we.has(O))&&!O.isEqualNode(s.el)&&rt.add(s)}let wt=1,bt=(s,g)=>({id:wt++,tag:s,base:null,local:null,remote:null,rank:g}),Tt=new Map,tn=[];for(let s of k.marks){let g=bt(s.tag,s.depth);g.block=!!s.block,g.base=s.el,g.baseMark=s,Tt.set(s.el,g),tn.push(g)}let Fe=(s,g)=>{let I=-1,O=-1;for(let B=s.from;B<s.to;B++){let $=g[B];$>=0&&(I<0&&(I=$),O=$+1)}return I<0?null:[I,O]},Xt=(s,g,I,O)=>{for(let B of s.marks){let $=I?I.reverse.get(B.el):null;$&&I.identical.has($)&&I.pairIdenticalChildren&&I.pairIdenticalChildren($);let me=$?Tt.get($):null;if(me&&me[g]&&(me=null),!me){let Ae=Fe(B,O),qe=0;if(Ae)for(let Te of tn){if(Te.tag!==B.tag||Te[g]||!!Te.block!=!!B.block)continue;let Le=Math.min(Ae[1],Te.baseMark.to)-Math.max(Ae[0],Te.baseMark.from);(Le>qe||Le===qe&&Le>0&&Math.abs(Te.rank-B.depth)<Math.abs(me.rank-B.depth))&&(me=Te,qe=Le)}}me||(me=bt(B.tag,B.depth),me.block=!!B.block,me.new=g),me[g]=B.el,me[g+"Mark"]=B,Tt.set(B.el,me)}};Xt(d,"local",n,ft.toB),Xt(w,"remote",r,le.toB);let Jt=s=>s.merged||s,Dt=s=>{let g=new Set;for(let I of s)I.block||g.add(Tt.get(I.el));return g},It=new Map,Et=s=>{let g=It.get(s);return g||(g=Dt(s),It.set(s,g)),g},sn=(s,g)=>{let I=[],O=null;for(let B=0;B<b;B++){let $=g[B];if($<0){O&&I.push(O),O=null;continue}let me=Et(k.stackAt[B]),Ae=Et(s.stackAt[$]),qe=new Set,Te=new Set;for(let Le of Ae)me.has(Le)||qe.add(Le);for(let Le of me)Ae.has(Le)||Te.add(Le);if(!qe.size&&!Te.size){O&&I.push(O),O=null;continue}if(O&&fs(O.added,qe)&&fs(O.removed,Te)){O.be=B+1;continue}O&&I.push(O),O={bs:B,be:B+1,added:qe,removed:Te}}return O&&I.push(O),I},v=sn(d,ft.bTo),X=sn(w,le.bTo),Q=s=>s.be>s.bs?[s.bs,s.be-1]:[s.bs-1,s.bs],de=(s,g)=>{if(b===0)return null;let[I,O]=Q(s);for(let B of g){if(B.be<=I)continue;if(B.bs>O)break;let $=B.bs<=I&&O<B.be;return $&&s.text===""&&B.bs===s.bs&&B.be===s.be?"straddle":$?B:s.be>s.bs?"straddle":null}return null},ie=s=>s.bs===s.be,ue=(s,g)=>{let I=!1;for(let O=s.bs;O<s.be;O++){let B=k.text[O];if(B===gt)I=!0;else if(!/\s/.test(B))return!1}for(let O=s.ss;O<s.se;O++){let B=g.text[O];if(B===gt)I=!0;else if(!/\s/.test(B))return!1}return I},p=(s,g)=>s.bs<g.be&&g.bs<s.be,y=(s,g)=>s.bs<=g.be&&g.bs<=s.be&&ie(s)!==ie(g),E=(s,g)=>k.text.slice(s.bs,s.be).includes(gt)||g.text.slice(s.ss,s.se).includes(gt),f=s=>{if(ie(s))return!1;let g=s.bs,I=s.be;for(;g>0&&/\s/.test(k.text[g-1]);)g--;for(;I<k.text.length&&/\s/.test(k.text[I]);)I++;return(g===0||k.text[g-1]===gt)&&(I===k.text.length||k.text[I]===gt)},m=(s,g)=>!E(s,g)&&!f(s),C=(s,g)=>p(s,g)||y(s,g)&&!(ue(s,d)&&m(g,w))&&!(ue(g,w)&&m(s,d)),W=(s,g)=>{if(s.bs!==g.bs||s.be!==g.be||s.toks.length!==g.toks.length)return!1;let I=s.ss,O=g.ss;for(let B=0;B<s.toks.length;B++){let $=s.toks[B],me=g.toks[B];if($.k!==me.k||$.atom&&!d.atomAt.get(I).el.isEqualNode(w.atomAt.get(O).el))return!1;I+=$.len,O+=me.len}return!0},j=(s,g,I,O)=>{for(let B of k.atoms){if(B.i<s.bs||B.i>=s.be||O.has(B)||rt.has(B))continue;let $=g.bTo[B.i],me=$>=0?I.atomAt.get($):null;if(me&&!me.el.isEqualNode(B.el))return!0}return!1},z=[],x=se.hunks,S=at.hunks,G=0,ge=0,Me=0,c=0,T=0,P=s=>{s>Me&&(z.push({src:"base",from:Me,to:s,dL:c,dR:T}),Me=s)};for(;G<x.length||ge<S.length;){let s=x[G],g=S[ge],I=!!s&&(!g||s.bs<g.bs||s.bs===g.bs&&s.be<=g.be&&!g.lead);if(s&&g&&s.bs===g.bs&&ie(s)&&ie(g)){let Ct=ue(s,d),to=ue(g,w);Ct!==to&&(I=to)}let O=I?s:g,B=I?g:s,$=!!B&&W(s,g),me=!!B&&(I?!!x[G+1]&&W(x[G+1],g):!!S[ge+1]&&W(s,S[ge+1])),Ae=!!B&&!$&&!me&&(b===0||C(s,g)),qe=Ae,Te=de(O,I?X:v);if(Te==="straddle"&&(qe=!0),!qe&&O.be>O.bs&&(qe=j(O,I?le:ft,I?w:d,I?Ge:je)),!qe&&$){P(O.bs),z.push({src:"both",lfrom:s.ss,rfrom:g.ss,len:O.text.length}),Me=O.be,c+=O.text.length-(O.be-O.bs),T+=O.text.length-(O.be-O.bs),G++,ge++;continue}if(!qe){P(O.bs),z.push({src:I?"local":"remote",from:O.ss,to:O.se,inherit:Te&&Te!=="straddle"?Te:null}),Me=O.be,I?(c+=O.text.length-(O.be-O.bs),G++):(T+=O.text.length-(O.be-O.bs),ge++);continue}let Le=O.bs,ct=O.be,Je=G,st=ge,Bt=Ct=>Ct.bs<ct&&Ct.be>Le||ie(Ct)&&(Ct.bs===Le||Ct.bs===ct);I?Je++:st++,Ae&&(Le=Math.min(Le,B.bs),ct=Math.max(ct,B.be),I?st++:Je++);let vt=!0;for(;vt;){for(vt=!1;Je<x.length&&Bt(x[Je]);)Le=Math.min(Le,x[Je].bs),ct=Math.max(ct,x[Je].be),Je++,vt=!0;for(;st<S.length&&Bt(S[st]);)Le=Math.min(Le,S[st].bs),ct=Math.max(ct,S[st].be),st++,vt=!0}let on=Le+c,Gt=Le+T,dn=ct-Le,gn=ct-Le;for(let Ct=G;Ct<Je;Ct++)dn+=x[Ct].text.length-(x[Ct].be-x[Ct].bs);for(let Ct=ge;Ct<st;Ct++)gn+=S[Ct].text.length-(S[Ct].be-S[Ct].bs);let xn=on+dn,Tn=Gt+gn;P(Le);let qt={kind:"text",node:e.node||null,base:zn(k,Le,ct),local:zn(d,on,xn),remote:zn(w,Gt,Tn),resolved:null,range:null,bs:Le,be:ct,lss:on,lse:xn,rss:Gt,rse:Tn};qt.resolved=t==="local"?qt.local:t==="remote"?qt.remote:qt.local+qt.remote,t!=="remote"&&z.push({src:"local",from:on,to:xn,conflict:qt}),t!=="local"&&z.push({src:"remote",from:Gt,to:Tn,conflict:qt});let ao={site:"inline",fb:k,fl:d,fr:w,scope:e.scope||null,synthetic:!!e.synthetic,full:xe,merged:h};M.push(ao),N(qt,ao),Me=ct,c+=dn-(ct-Le),T+=gn-(ct-Le),G=Je,ge=st}P(b);let U=k.text,_=[];if(se.respell.size||at.respell.size){let s=qo(be),g=[];for(let I=0;I<be.length;I++){let O=be[I].raw,B=se.respell.get(I)??O,$=at.respell.get(I)??O;(B!==O||$!==O)&&_.push([s[I],B!==O&&$!==O?"both":B!==O?"local":"remote"]),g.push(B===$?B:B===O?$:$===O||t==="local"?B:$)}U=g.join("")}let q="",Y=[],ce=[],Se=[],Ee=[];for(let s of z){let g=q.length;if(s.src==="base"){for(let I=s.from;I<s.to;I++)Y.push(I),ce.push(I+s.dL),Se.push(I+s.dR),Ee.push(s);q+=U.slice(s.from,s.to)}else if(s.src==="both"){for(let I=0;I<s.len;I++)Y.push(-1),ce.push(s.lfrom+I),Se.push(s.rfrom+I),Ee.push(s);q+=d.text.slice(s.lfrom,s.lfrom+s.len)}else{let I=s.src==="local"?d:w;for(let O=s.from;O<s.to;O++)Y.push(-1),ce.push(s.src==="local"?O:-1),Se.push(s.src==="remote"?O:-1),Ee.push(s);q+=I.text.slice(s.from,s.to)}s.ms=g,s.me=q.length,s.conflict&&(s.conflict.range||(s.conflict.range=[g,g]),s.conflict.range[1]=q.length)}let Ie=q.length,et=new Int32Array(b+1).fill(-1),Be=new Int32Array(d.text.length+1).fill(-1),St=new Int32Array(w.text.length+1).fill(-1);for(let s=0;s<Ie;s++)Y[s]>=0&&(et[Y[s]]=s),ce[s]>=0&&(Be[ce[s]]=s),Se[s]>=0&&(St[Se[s]]=s);let Ve=(s,g)=>{let I=-1,O=-1;for(let B=s.from;B<s.to;B++){let $=g[B];$>=0&&(I<0&&(I=$),O=$+1)}return I<0?null:[I,O]},pt=[],it=[];for(let s of new Set(Tt.values()))s.new==="local"?pt.push(s):s.new==="remote"&&it.push(s);let Ft=(s,g)=>{s.remote=g.remote,s.remoteMark=g.remoteMark,s.new="both",g.merged=s,Tt.set(g.remote,s)};if(pt.length&&it.length){let s=e.idOf;for(let g of pt){let I=s?s.local(g.local):null;if(!I)continue;let O=it.find(B=>!B.merged&&B.tag===g.tag&&!!B.block==!!g.block&&s.remote(B.remote)===I);O&&Ft(g,O)}for(let g of pt){if(g.remote)continue;let I=Ve(g.localMark,Be);if(I)for(let O of it){if(O.merged||O.tag!==g.tag||!!O.block!=!!g.block)continue;let B=Ve(O.remoteMark,St);if(B&&Math.min(I[1],B[1])-Math.max(I[0],B[0])>0){Ft(g,O);break}}}}It.clear();let Rt=s=>{for(let g of s)if(g.block)return Jt(Tt.get(g.el));return null},Kt=k.marks.some(s=>s.block)||d.marks.some(s=>s.block)||w.marks.some(s=>s.block),Lt=new Array(Ie).fill(null),ut=new Set;if(Kt){let s=(Te,Le,ct)=>{let Je=new Set([Te,Le,ct]);Je.delete(null);let st=[];for(let vt of Je){let on=vt===Te,Gt=vt===Le,dn=vt===ct;(Gt===dn?Gt:Gt===on?dn:Gt)&&st.push(vt)}if(st.length<=1)return st[0]||null;let Bt=t==="local"?Le:ct;return st.includes(Bt)?Bt:st[0]},g=(Te,Le)=>Le>=0?Rt(Te.stackAt[Le]):null,I=new Map;for(let Te=0;Te<Ie;Te++){if(q[Te]!==gt)continue;let Le=Y[Te]>=0?g(k,Y[Te]):null,ct=g(d,ce[Te]),Je=g(w,Se[Te]);I.set(Te,[Le,Y[Te]>=0?s(Le,ct,Je):ct||Je])}let O=new Set([...I.values()].map(Te=>Te[1])),B=Te=>Te!==gt&&Te!==$n&&!/\s/.test(Te),$=(Te,Le)=>{let ct=Te;for(;ct<Le&&!B(q[ct]);)ct++;return ct<Le&&Y[ct]>=0?g(k,Y[ct]):null},me=new Map,Ae=0;for(let Te=0;Te<Ie;Te++){if(q[Te]!==gt)continue;let[Le,ct]=I.get(Te),Je=$(Ae,Te),st=ct,Bt=me.get(st)===st&&Je===st;st&&me.has(st)&&!Bt&&Le&&!me.has(Le)&&!O.has(Le)&&(st=Le),st&&!me.has(st)&&me.set(st,Je);for(let vt=Ae;vt<=Te;vt++)Lt[vt]=st;Ae=Te+1}let qe=Te=>{for(let Le=0;Le<Te.text.length;Le++)if(B(Te.text[Le])&&!g(Te,Le))return!0;return!1};if(!qe(k)&&!qe(d)&&!qe(w)){let Te=[],Le=0;for(let Je=0;Je<Ie;Je++)(q[Je]===gt||Je===Ie-1)&&(Te.push([Le,Je]),Le=Je+1);let ct=new Set(Lt);for(let Je=0;Je<Te.length;Je++){let[st,Bt]=Te[Je];if(Lt[Bt])continue;let vt=st;for(;vt<=Bt&&!B(q[vt]);)vt++;if(vt>Bt)continue;let on=g(k,Y[vt]),Gt=g(d,ce[vt]),dn=g(w,Se[vt]),gn=s(on,Gt,dn)||Gt||dn||on;if(gn&&!ct.has(gn)){ct.add(gn);for(let qt=st;qt<=Bt;qt++)Lt[qt]=gn;continue}let xn=Je>0&&Lt[Te[Je-1][1]],Tn=Je+1<Te.length&&Lt[Te[Je+1][1]];if(xn)ut.add(Te[Je-1][1]);else if(Tn&&q[Bt]===gt)ut.add(Bt);else continue;for(let qt=st;qt<=Bt;qt++)Lt[qt]=xn||Tn}}}let At=new Map,Nt=s=>{let g=At.get(s);if(g)return g;g=[1/0,-1/0];for(let[I,O]of[[s.baseMark,et],[s.localMark,Be],[s.remoteMark,St]]){let B=I&&Ve(I,O);B&&(g[0]=Math.min(g[0],B[0]),g[1]=Math.max(g[1],B[1]))}return At.set(s,g),g},jt=(s,g,I)=>{let O=-1,B=-1;for(let $=0;$<s.length;$++){let me=Tt.get(s[$].el);me===g&&(O=$),me===I&&(B=$)}return O>=0&&B>=0?O-B:0},Qt=(s,g)=>[...s].sort((I,O)=>{for(let me of g){let Ae=jt(me,I,O);if(Ae)return Ae}let B=Nt(I),$=Nt(O);return B[0]-$[0]||$[1]-B[1]||I.rank-O.rank||I.id-O.id}),fn=new Map,An=new Map,vn=s=>{let g=Y[s],I=ce[s],O=Se[s],B=Ee[s];if(g>=0){let Je=k.stackAt[g],st=d.stackAt[I],Bt=w.stackAt[O],vt=fn.get(Je);vt||fn.set(Je,vt=new Map);let on=vt.get(st);on||vt.set(st,on=new Map);let Gt=on.get(Bt);if(Gt)return Gt;let dn=Et(Je),gn=Et(st),xn=Et(Bt),Tn=new Set;for(let qt of new Set([...dn,...gn,...xn])){let ao=dn.has(qt),Ct=gn.has(qt),to=xn.has(qt);(Ct===to?Ct:Ct===ao?to:Ct)&&Tn.add(qt)}return Gt=Qt(Tn,[st,Bt,Je]),on.set(Bt,Gt),Gt}if(B.src==="both"){let Je=d.stackAt[I],st=w.stackAt[O];return Qt(new Set([...Et(Je),...Et(st)]),[Je,st])}let me=(B.src==="local"?d:w).stackAt[B.src==="local"?I:O];if(!B.inherit)return Qt(Et(me),[me]);let Ae=An.get(B);Ae||An.set(B,Ae=new Map);let qe=Ae.get(me);if(qe)return qe;let Te=new Set(Et(me));for(let Je of B.inherit.added)Te.add(Jt(Je));for(let Je of B.inherit.removed)Te.delete(Jt(Je));let Le=B.src==="local"?w:d,ct=(B.src==="local"?le.bTo:ft.bTo)[B.inherit.bs];return qe=Qt(Te,[me,Le.stackAt[ct]]),Ae.set(me,qe),qe},kn=new Int32Array(d.text.length+1);kn[d.text.length]=Ie;for(let s=d.text.length-1;s>=0;s--)kn[s]=Be[s]>=0?Be[s]:kn[s+1];xr.caret+=d.text.length;let rn=s=>s<=0?0:(s>d.text.length&&(s=d.text.length),Be[s-1]>=0?Be[s-1]+1:kn[s]),zt=[],J=[],Re=null,ve=[],Ye="",lt=-1,De=s=>{Re?Re.appendChild(s):zt.push(s)},Ke=s=>{if(!Ye)return;let g=o.createTextNode(Ye);De(g),J.push({node:g,ms:lt,me:s,local:[],u:ve.length?ve[ve.length-1].u:null}),Ye=""},tt=new Set,_e=new Map,ot=new Set,Zt=s=>{let g=o.createElement(s.tag);if(s.block&&Vt.add(g),!_e.has(s)){_e.set(s,g),re(s.base,s.local,s.remote,g),a.set(g,{base:s.base,local:s.local,remote:s.remote});let O=(me,Ae)=>L&&s[Ae]&&me.reverse.get(s[Ae])?Ae:null,B=!s.base&&(O(n,"local")||O(r,"remote"));if(B){let me=B==="local"?n.reverse.get(s.local):r.reverse.get(s.remote),Ae=a.get(g);Ae.local=Ae.local||n.map.get(me)||null,Ae.remote=Ae.remote||r.map.get(me)||null,u.push({kind:"move",el:g,source:B})}else s.base||u.push({kind:"insert",el:g,source:s.local&&s.remote?"both":s.local?"local":"remote"});let $=a.get(g);$.local&&(ot.has($.local)?$.local=null:ot.add($.local))}else{let O=_e.get(s);for(let B of O.attributes)B.name!=="id"&&B.name!=="data-id"&&ee(g,B,B.value);a.set(g,{base:null,local:null,remote:null})}De(g),ve.push({u:s,el:g}),Re=g},En=new Set,un=new Map;for(let s of d.pins){let g=rn(s.i);un.has(g)||un.set(g,[]),un.get(g).push(s)}let ln=s=>{let g=un.get(s);if(g){Ke(s);for(let I of g){let O=I.el.namespaceURI&&I.el.namespaceURI!=="http://www.w3.org/1999/xhtml"?o.createElementNS(I.el.namespaceURI,I.el.tagName):o.createElement(I.el.tagName);a.set(O,{base:null,local:I.el,remote:null,pinned:!0}),En.add(O),De(O)}}},Rn=k.atoms.length||d.atoms.length||w.atoms.length,Xe=s=>{if(!Rn)return null;let g=Y[s]>=0?k.atomAt.get(Y[s]):null,I=ce[s]>=0?d.atomAt.get(ce[s]):null,O=Se[s]>=0?w.atomAt.get(Se[s]):null;return g||I||O?{ab:g,al:I,ar:O}:null},dt=(s,g,I,O)=>{if(!s||!L)return null;let B=Z.get(g.reverse.get(s.el))||null;return!B||B===O||(O?B.el.isEqualNode(O.el):I.bTo[B.i]>=0)?null:B},ke=(s,g)=>{if(!s||!L||!e.moveIn)return null;let I=g.reverse.get(s.el);return I&&!Z.has(I)?I:null},Ce=(s,g)=>{let I=new Map;for(let O of s.atoms)I.set(g(O),(I.get(g(O))||0)+1);return I},We=Ce(k,ae),nt=Ce(d,te),$e=Ce(w,V),yt=s=>{let g=ae(s);return We.get(g)===1&&(nt.get(g)||0)<=1&&($e.get(g)||0)<=1},kt=new Map,Pt=new Set,Wt=new Set,nn=new Set;for(let s=0;s<Ie;s++){let g=Xe(s);if(!g)continue;let{ab:I,al:O,ar:B}=g,$=dt(B,r,le,I),me=dt(O,n,ft,I),Ae=I,qe=null;if($?(Ae=$,qe="remote"):me&&(Ae=me,qe="local"),Ae){Pt.has(Ae)?kt.set(s,{dup:Ae.el}):(Pt.add(Ae),kt.set(s,{bk:Ae,from:qe,al:O,ar:B}));continue}let Te=ke(B,r),Le=ke(O,n),ct=Te||Le;if(ct){Wt.has(ct)?kt.set(s,{dup:ct}):(Wt.add(ct),kt.set(s,{moveIn:ct,side:Te?"remote":"local",sideEl:Te?B.el:O.el}));continue}let Je=(Bt,vt)=>Bt&&L&&Z.get(vt.reverse.get(Bt.el))||null,st=Je(B,r)||Je(O,n);if(st&&(nn.add(st),Ee[s].conflict&&yt(st))){if(Pt.has(st)){kt.set(s,{dup:st.el});continue}Pt.add(st)}kt.set(s,{al:O,ar:B})}let Ot=new Map,Sn=(s,g)=>{if(s[g]>=0)return s[g];for(let I=g-1;I>=0;I--)if(s[I]>=0)return s[I]+1;return 0};if(L)for(let s of k.atoms){if(Pt.has(s)||nn.has(s))continue;let g=n.map.get(s.el)||null,I=r.map.get(s.el)||null,O=g&&fe.get(g),B=I&&we.get(I);if(g&&!O||I&&!B)continue;let $=!(O&&B)&&rt.has(s);if(!$&&!(O&&B&&yt(s)))continue;let me=t==="local"?[[O,Be],[B,St]]:[[B,St],[O,Be]],[Ae,qe]=me.find(([Le])=>Le),Te=Sn(qe,Ae.i);Ot.has(Te)||Ot.set(Te,[]),Ot.get(Te).push({a:s,lt:g,rt:I,edited:$}),Pt.add(s)}if(L&&e.moveIn){let s=[[d,n,Be,"local"],[w,r,St,"remote"]];t!=="local"&&s.reverse();for(let[g,I,O,B]of s)for(let $ of g.atoms){let me=ke($,I);if(!me||Wt.has(me))continue;Wt.add(me);let Ae=Sn(O,$.i);Ot.has(Ae)||Ot.set(Ae,[]),Ot.get(Ae).push({move:me,side:B,sideEl:$.el})}}let Ut=s=>{let g=Ot.get(s);if(g){if(Ke(s),g.some(I=>Ze(I.move?I.sideEl:I.a.el)))for(;ve.length;)ve.pop(),Re=ve.length?ve[ve.length-1].el:null;for(let{a:I,lt:O,rt:B,edited:$,move:me,side:Ae,sideEl:qe}of g){if(me){let Le=e.moveIn(me,Ae,qe);Le&&De(Le);continue}tt.add(I);let Te=ne(I.el,O,B);$&&(N({kind:"structure",el:Te,detail:"edit-beats-delete",base:I.el},{subject:I.el,deleted:O?"remote":"local"}),u.push({kind:"insert",el:Te,source:O?"local":"remote"})),De(Te)}}},Vt=new Set,cn=i.length>A;for(let s=0;s<Ie;s++){let g=Xe(s),O=!!g&&Ze((g.ab||g.al||g.ar).el)?[]:Lt[s]?[Lt[s],...vn(s)]:vn(s),B=0;for(;B<ve.length&&B<O.length&&ve[B].u===O[B];)B++;if(B<ve.length)for(Ke(s);ve.length>B;)ve.pop(),Re=ve.length?ve[ve.length-1].el:null;if(ln(s),Ut(s),O.length>ve.length)for(Ke(s);ve.length<O.length;)Zt(O[ve.length]);if(q[s]===gt){if(ut.has(s))continue;Ke(s);let $=ve.length;for(;$>0&&!ve[$-1].u.block;)$--;if($>0)for(cn&&h.breakOut.set(s,ve[$-1].el);ve.length>=$;)ve.pop(),Re=ve.length?ve[ve.length-1].el:null;continue}if(g){Ke(s);let $=kt.get(s),me;if($.dup){N({kind:"structure",el:null,detail:"both-moved",base:$.dup},{subject:$.dup});continue}if($.moveIn){if(me=e.moveIn($.moveIn,$.side,$.sideEl),!me)continue}else if($.bk){let Ae=$.bk;if(tt.add(Ae),Ae===g.ab)me=ne(Ae.el,$.al.el,$.ar.el);else{let qe=n.map.get(Ae.el)||null,Te=r.map.get(Ae.el)||null;me=ne(Ae.el,qe,Te),(!qe||!Te)&&N({kind:"structure",el:null,detail:"move-beats-delete",base:Ae.el},{subject:Ae.el,deleted:qe?"remote":"local"}),u.push({kind:"move",el:me,source:$.from})}}else $.al?(me=K($.al.el,"local"),$.ar&&(a.get(me).remote=$.ar.el),u.push({kind:"insert",el:me,source:$.ar?"both":"local"})):(me=K($.ar.el,"remote"),u.push({kind:"insert",el:me,source:"remote"}));cn&&h.atomOut.set(s,me),De(me);continue}Ye||(lt=s),Ye+=q[s]}if(Ke(Ie),(un.has(Ie)||Ot.has(Ie))&&(ve.length=0,Re=null,ln(Ie),Ut(Ie)),Ie===0&&(d.placeholder||w.placeholder||k.placeholder)){let s=o.createElement("br");a.set(s,{base:k.placeholder,local:d.placeholder,remote:w.placeholder}),zt.push(s)}let pn=0,lo=s=>{for(;pn>0&&J[pn-1].me>=s;)pn--;for(;pn<J.length&&J[pn].me<s;)pn++;let g=J[pn];if(!g)return J[J.length-1]||null;let I=J[pn+1];return g.me===s&&I&&I.ms===s?I:g},Un=new Map,eo={},Pe=(s,g,I)=>{let O=lo(s)||(I?eo:null);if(!O)return;let B=Un.get(O)||{l:!1,r:!1};g!=="remote"&&(B.l=!0),g!=="local"&&(B.r=!0),Un.set(O,B)},ht=s=>{if(s.conflict)return!0;let g=s.src==="local"?d.text:s.src==="remote"?w.text:"";for(let I=s.from;I<s.to;I++)if(g[I]!==$n&&g[I]!==gt)return!0;return!1};for(let s of z)s.src!=="base"&&Pe(s.ms,s.conflict?"both":s.src,ht(s));for(let[s,g]of _)et[s]>=0&&Pe(et[s],g);for(let s of J.length?J:[eo]){let g=Un.get(s);g&&u.push({kind:"text",node:s.node||null,source:g.l&&g.r?"both":g.l?"local":"remote"})}for(let s of tn){if(_e.has(s))continue;let g=!s.local&&!(L&&n.map.get(s.base)),I=!s.remote&&!(L&&r.map.get(s.base));!g&&!I||u.push({kind:"remove",source:g&&I?"both":g?"local":"remote",base:s.base})}let Mt=(s,g,I)=>{if(g<=s)return!1;for(let O=s;O<g;O++)if(I[O]>=0)return!1;return!0};for(let s of tn)for(let g of["local","remote"]){let I=s[g+"Mark"],O=s.baseMark;if(!I)continue;let B=g==="local"?ft:le;if(!Mt(O.from,O.to,B.bTo)||!Mt(I.from,I.to,B.toB))continue;let $=(g==="local"?x:S).find(me=>me.ss<=I.from&&I.from<me.se);$&&($.be<=O.from||$.bs>=O.to)&&u.push({kind:"move",el:_e.get(s)||null,source:g})}let xt=s=>{let g=Tt.get(s.node.parentNode);return g?Jt(g):null};for(let s of d.nodes){let g=-1;for(let O=s.s;O<s.e;O++)if(Be[O]>=0){g=Be[O];break}let I;if(g>=0)I=lo(g);else{let O=rn(s.s),B=xt(s);I=J.find($=>$.u===B&&$.me>=O)||J.filter($=>$.u===B).pop()}I&&I.local.push(s)}let mt=new Map,mn=J[J.length-1]||null,_t=0;for(let s of d.nodes){let g=null;for(let I=s.s;I<=s.e;I++){let O=rn(I);for(;_t>0&&J[_t-1].me>=O;)_t--;for(;_t<J.length&&J[_t].me<O;)_t++;let B=me=>me&&O>=me.ms&&O<=me.me&&(O<me.me||I===s.e||me===g),$=B(J[_t])?J[_t]:B(J[_t+1])?J[_t+1]:J[_t]||mn;if(!$)break;if(g===$){let me=mt.get($);me[me.length-1].to=I-s.s;continue}g=$,mt.has($)||mt.set($,[]),mt.get($).push({node:s.node,from:I-s.s,to:I-s.s,flatStart:s.s})}}for(let s of J){let g=s.local,I=!1;for(let me of g)for(let Ae=me.s;Ae<me.e&&!I;Ae++)(Be[Ae]<s.ms||Be[Ae]>=s.me)&&(I=!0);a.set(s.node,{base:null,local:g.map(me=>me.node),remote:null,caret:mt.get(s)||[],partial:I});let O=s.ms,B=s.me-s.ms,$=me=>{let Ae=0,qe=-1;for(let Te of g){let Le=Te.e-Te.s;if(me<=Ae+Le){qe=Te.s+(me-Ae);break}Ae+=Le}return qe<0&&(qe=g.length?g[g.length-1].e:0),Math.max(0,Math.min(rn(qe)-O,B))};$.flat=me=>Math.max(0,Math.min(rn(me)-O,B)),l.set(s.node,$)}function On(){if(!d.text.includes(gt))return[{flatLocal:d.text,localNodes:d.nodes,textNodes:J,lToM:Be,mapLocal:rn}];let s=[],g=0,I=0;for(let O=0;O<=d.text.length;O++){if(O<d.text.length&&d.text[O]!==gt)continue;let B=g,$=O;if($>B){let me=[];for(;I<d.nodes.length&&d.nodes[I].e<=B;)I++;for(let Ae=I;Ae<d.nodes.length&&d.nodes[Ae].s<$;Ae++){let qe=d.nodes[Ae],Te=Math.max(qe.s,B),Le=Math.min(qe.e,$);Te<Le&&me.push({node:qe.node,s:Te-B,e:Le-B})}s.push({flatLocal:d.text.slice(B,$),localNodes:me,textNodes:J,lToM:Be.subarray?Be.subarray(B,$+1):Be.slice(B,$+1),mapLocal:Ae=>rn(B+Math.max(0,Math.min(Ae,$-B)))})}g=O+1}return s}let yn={...e,blocks:Vt,ignored:s=>En.has(s)||(e.ignored?e.ignored(s):!1)},$t=e.ignoreAttribute||(()=>!1),co=is(Nn(zt,yn),$t)!==is(w,$t);if(M.length){let s=g=>{let I=a.get(g);return I&&I.unchanged?I.remote:null};h.text=q,h.textNodes=J,h.out=Nn(zt,{...yn,via:s})}return{nodes:zt,text:q,textNodes:J,localDiverged:co,mapLocal:rn,conflicts:i.slice(A),granularity:Ue?"line":"word",segments:On(),localHunks:x,remoteHunks:S,lToM:Be}}var Sr="http://www.w3.org/1999/xhtml";function Or(e){let o=5381;for(let t=0;t<e.length;t++)o=(o<<5)+o^e.charCodeAt(t);return(o>>>0).toString(36)}function en(e){return!!e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.namespaceURI===Sr}function Mr(e){let o=(e.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return o==="application/json"||o.endsWith("+json")}function bo(e,o){let t=e.getAttribute("src"),n=(e.getAttribute("type")||"text/javascript").split(";")[0].trim().toLowerCase();if(t){let r=t;try{let a=new URL(t,o);r=a.origin+a.pathname+a.search}catch{}return"script|src|"+n+"|"+r}return"script|inline|"+n+"|"+Or(e.textContent.trim())}var Ir={match:e=>e.hasAttribute("merge"),identity:e=>e.getAttribute("merge")};function Gn(e,o=[],t=!1){if(!en(e)||e.hasAttribute("src"))return null;let n=[Ir,...o];for(let r=0;r<n.length;r++){let a=n[r];if(!a.match(e))continue;if(!Mr(e))return t&&console.warn("[hyper-morph] merge ignored: script type is not JSON",e),null;let l=a.identity(e);return l==null||l===""?null:{key:r+":"+l,raw:l,recognizer:a}}return null}function hs(e,o,t){let n=new Set,r=a=>{en(a)&&!o(a)&&n.add(bo(a,t))};r(e);for(let a of e.querySelectorAll("script"))r(a);return n}function no(e,o){let t=o.createElement("div");t.innerHTML="<script><\/script>";let n=t.firstChild;for(let r of e.attributes)n.setAttribute(r.name,r.value);return n.textContent=e.textContent,n}function ps(e,o,t){let n=[],r=[],a=new Map,l=t.trackRecovery?new Set:null,i=Array.from(e.querySelectorAll("script"));en(e)&&i.unshift(e);for(let u of i){if(!en(u)||t.ignored(u)||t.skip.has(u)||o.has(bo(u,t.baseURI)))continue;let A=u.ownerDocument.createElement("script");for(let N of u.attributes)A.setAttribute(N.name,N.value);if(A.textContent=u.textContent,t.beforeNodeAdded(A)===!1){l?.add(u);continue}A.hasAttribute("src")&&r.push(new Promise(N=>{A.addEventListener("load",()=>N()),A.addEventListener("error",()=>N())})),u.replaceWith(A),a.set(u,A),t.afterNodeAdded(A),n.push(A)}return{executed:n,loads:r,swapped:a,vetoed:l}}function Lr(e){let o=5381;for(let t=0;t<e.length;t++)o=(o<<5)+o^e.charCodeAt(t);return(o>>>0).toString(36)}function Cr(e,o){try{let t=new URL(e,o);return t.origin+t.pathname+t.search}catch{return e}}function ms(e,o){let t=e.tagName;if(t==="TITLE"||t==="BASE")return t;if(t==="SCRIPT")return bo(e,o);if(t==="LINK"){let n=e.getAttribute("href");return n?"link|"+(e.getAttribute("rel")||"")+"|"+Cr(n,o):e.outerHTML}if(t==="META"){for(let n of["charset","name","property","http-equiv","itemprop"])if(e.hasAttribute(n))return"meta|"+n+"="+e.getAttribute(n);return e.outerHTML}return t==="STYLE"?"style|"+Lr(e.textContent):e.outerHTML}function Fo(e,o){for(;;){for(;o<e.length&&/\s/.test(e[o]);)o++;if(e[o]==="/"&&e[o+1]==="/"){for(;o<e.length&&e[o]!==`
|
|
4
|
-
`;)o++;continue}if(e[o]==="/"&&e[o+1]==="*"){let t=e.indexOf("*/",o+2);if(t===-1)return e.length;o=t+2;continue}return o}}function gs(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(o,t)=>t.length%2===0?t+'\\"':o)}var Er=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Rr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function ko(e){try{return JSON.parse(e)}catch{return JSON.parse(Pr(e))}}function Pr(e){let o="",t=0,n=(r,a)=>{throw new Error(`Invalid relaxed JSON: ${r} at position ${a}`)};for(;t<e.length&&(t=Fo(e,t),!(t>=e.length));){let r=e[t];if("{}[]:".includes(r)){o+=r,t++;continue}if(r===","){let i=Fo(e,t+1);if(e[i]==="}"||e[i]==="]"){t++;continue}o+=r,t++;continue}if(r==='"'||r==="'"){let i=t+1;for(;i<e.length&&e[i]!==r;)e[i]==="\\"&&i++,i++;i>=e.length&&n("unterminated string",t);let u=e.slice(t+1,i);r==="'"&&(u=gs(u)),o+='"'+u+'"',t=i+1;continue}let a=t;for(;a<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[a]);)a++;a===t&&n("unexpected character "+JSON.stringify(r),t);let l=e.slice(t,a);if(l==="true"||l==="false"||l==="null"||Er.test(l)){o+=l,t=a;continue}if(Rr.test(l)){if(e[Fo(e,a)]===":"){o+='"'+l+'"',t=a;continue}n("unquoted value "+JSON.stringify(l),t)}n("invalid token "+JSON.stringify(l),t)}return o}function bs(e){try{return JSON.parse(e)}catch{}let o={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function t(r){let a=[],l=0;for(;l<r.length;){let i=r[l];if(/\s/.test(i)){l++;continue}if("{}".includes(i)){a.push({type:i,value:i}),l++;continue}if(i==="["){let h=!1,M=l+1;for(;M<r.length&&/\s/.test(r[M]);)M++;if(M<r.length&&/[a-zA-Z_]/.test(r[M])&&(h=!0),!h){a.push({type:i,value:i}),l++;continue}}if(i==="]"){a.push({type:i,value:i}),l++;continue}if(i===":"){a.push({type:o.COLON,value:i}),l++;continue}if(i===","){a.push({type:o.COMMA,value:i}),l++;continue}if(i==='"'||i==="'"){let h=i,M=l+1;for(;M<r.length&&r[M]!==h;)r[M]==="\\"&&M++,M++;a.push({type:o.STRING,value:r.substring(l+1,M),quoted:!0,sourceQuote:h}),l=M+1;continue}let u=l,A;for(;u<r.length&&!/[{},]/.test(r[u]);)if(r[u]===":"){let h=[":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"],M=!1;for(let L of h){let R=L.substring(1);if(r.substring(u+1,u+1+R.length)===R){M=!0,u+=R.length;break}}if(!M)break}else if(r[u]==="["){for(u++;u<r.length&&r[u]!=="]";){if(r[u]==='"'||r[u]==="'"){let h=r[u];for(u++;u<r.length&&r[u]!==h;)r[u]==="\\"&&u++,u++}u++}u<r.length&&r[u]==="]"&&u++}else u++;A=r.substring(l,u);let N=o.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(A)?N=o.NUMBER:A==="true"||A==="false"||A==="null"?N=o.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(A)&&(N=o.SELECTOR),a.push({type:N,value:A,quoted:!1}),l=u}return a}function n(r){let a="";for(let l=0;l<r.length;l++){let i=r[l];if("{}".includes(i.type)||"[]".includes(i.type)){a+=i.value;continue}if(i.type===o.COLON){a+=i.value;continue}if(i.type===o.COMMA){let u=r[l+1];if(u&&(u.type==="}"||u.type==="]"))continue;a+=i.value;continue}if(i.type===o.STRING){let u=i.value;i.sourceQuote==="'"&&(u=gs(u)),a+=`"${u}"`;continue}if(i.type===o.NUMBER||i.type===o.BOOLEAN){a+=i.value;continue}a+=`"${i.value}"`}return a}try{let r=t(e),a=n(r);return JSON.parse(a)}catch(r){throw new Error("Invalid extraction rules syntax: "+r.message)}}var Ht=Symbol("hyper-morph-json-merge:missing"),ks=["id","_id","uuid","key","slug","code","name"];function Yn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function oo(e,o){return Object.prototype.hasOwnProperty.call(e,o)}function Br(e,o,t){Object.defineProperty(e,o,{value:t,enumerable:!0,writable:!0,configurable:!0})}function Ln(e,o){if(e===o)return!0;if(Array.isArray(e)&&Array.isArray(o)){if(e.length!==o.length)return!1;for(let t=0;t<e.length;t++)if(!Ln(e[t],o[t]))return!1;return!0}if(Yn(e)&&Yn(o)){let t=Object.keys(e);if(t.length!==Object.keys(o).length)return!1;for(let n of t)if(!oo(o,n)||!Ln(e[n],o[n]))return!1;return!0}return!1}function ys(e,o,t,n){return Ln(o,t)?o:Ln(o,e)?t:Ln(t,e)?o:Yn(o)&&Yn(t)?Hr(Yn(e)?e:{},o,t,n):Array.isArray(o)&&Array.isArray(t)?Vr(Array.isArray(e)?e:[],o,t,n):t}function ws(e,o,t,n){return o===Ht&&t===Ht?Ht:o===Ht?e===Ht?t:Ln(t,e)?Ht:t:t===Ht?e===Ht?o:Ht:ys(e,o,t,n)}function Hr(e,o,t,n){let r={},a=new Set([...Object.keys(e),...Object.keys(o),...Object.keys(t)]);for(let l of a){let i=ws(oo(e,l)?e[l]:Ht,oo(o,l)?o[l]:Ht,oo(t,l)?t[l]:Ht,n);i!==Ht&&Br(r,l,i)}return r}function jr(e){return e===null||typeof e!="object"}function yo(e){return typeof e+":"+String(e)}function Dr(e,o){for(let t of o){let n=new Set;for(let r of t){if(!oo(r,e))return!1;let a=r[e];if(typeof a!="string"&&typeof a!="number")return!1;let l=yo(a);if(n.has(l))return!1;n.add(l)}}return!0}function Ur(e,o,t,n){let r=[e,o,t],a=!0;for(let l of r)for(let i of l)Yn(i)||(a=!1);if(a){for(let l of n.keyCandidates)if(Dr(l,r))return{kind:"keyed",field:l};return null}for(let l of r){let i=new Set;for(let u of l){if(!jr(u))return null;let A=yo(u);if(i.has(A))return null;i.add(A)}}return{kind:"self"}}function Vr(e,o,t,n){let r=Ur(e,o,t,n);if(!r)return t;let a=r.kind==="self"?yo:L=>yo(L[r.field]),l=L=>{let R=new Map;for(let F of L)R.set(a(F),F);return R},i=l(e),u=l(o),A=l(t),N=new Map,h=new Set([...i.keys(),...u.keys(),...A.keys()]);for(let L of h){let R=ws(i.has(L)?i.get(L):Ht,u.has(L)?u.get(L):Ht,A.has(L)?A.get(L):Ht,n);R!==Ht&&N.set(L,R)}let M=[];for(let L of t){let R=a(L);N.has(R)&&M.push(R)}for(let L=0;L<o.length;L++){let R=a(o[L]);if(!N.has(R)||M.includes(R))continue;let F=0;for(let k=L-1;k>=0;k--){let d=M.indexOf(a(o[k]));if(d!==-1){F=d+1;break}}M.splice(F,0,R)}return M.map(L=>N.get(L))}function zo(e,o,t,n={}){let r=n.keyCandidates?[...n.keyCandidates,...ks]:ks;return ys(e===void 0?Ht:e,o,t,{keyCandidates:r})}function wo(e,o,t,n={}){let r=n.parse||ko,a=[],l=(h,M)=>{if(typeof h!="string")return Ht;try{return r(h)}catch(L){return a.push(`${M} side is not valid JSON (${L.message})`),Ht}},i=l(o,"local"),u=l(t,"remote");if(i===Ht)return{text:t,warnings:a};if(u===Ht)return{text:o,warnings:a};let A=l(e,"base"),N=zo(A===Ht?void 0:A,i,u,n);return Ln(N,u)?{text:t,warnings:a}:Ln(N,i)?{text:o,warnings:a}:{text:JSON.stringify(N,null,2),warnings:a}}var xs=e=>e.nodeType===3||e.nodeType===8?e.nodeValue.length:e.childNodes.length;function jn(e){if(!e)return!1;let{startContainer:o,startOffset:t,endContainer:n,endOffset:r}=e;if(!o||!n||!Number.isInteger(t)||!Number.isInteger(r)||t<0||r<0||t>xs(o)||r>xs(n)||o.getRootNode()!==n.getRootNode())return!1;let a=o.ownerDocument.createRange();return a.setStart(o,t),a.setEnd(n,r),a.startContainer===o&&a.startOffset===t}function Cn(e,o,t={}){if(!jn(e))return null;let{startContainer:n,startOffset:r,endContainer:a,endOffset:l}=e;if(n===a&&(n.nodeType===3||n.nodeType===8))return n.nodeValue.slice(r,l);if(n===a&&r===l)return"";let i=new Set;for(let k=n;k;k=k.parentNode)i.add(k);let u=a;for(;!i.has(u);)u=u.parentNode;let A=(k,d)=>{let w=u.ownerDocument.createRange(),Z=u.ownerDocument.createRange();return w.setStart(k[0],k[1]),w.collapse(!0),Z.setStart(d[0],d[1]),Z.collapse(!0),w.compareBoundaryPoints(0,Z)},N=(k,d=!1)=>[k.parentNode,Array.prototype.indexOf.call(k.parentNode.childNodes,k)+Number(d)],h=[],M;if(o==="plain"){M="";let k=d=>{if(d.nodeType===3||d.nodeType===8){let w=M.length;M+=d.nodeValue,h.push({s:w,e:M.length,a:[d,0],b:[d,d.nodeValue.length],node:d})}else for(let w of d.childNodes)k(w)};k(u)}else{let k=t.blocks;if(!k){k=new Set;let w=Z=>{Z!==u&&Z.nodeType===1&&Ko.has(Z.tagName)&&k.add(Z);for(let he of Z.childNodes)w(he)};w(u)}let d=Nn(Array.from(u.childNodes),{blocks:k,atomize:w=>!!t.atoms?.has(w),ignored:t.ignored});M=d.text;for(let w of d.nodes)h.push({s:w.s,e:w.e,a:[w.node,0],b:[w.node,w.e-w.s],node:w.node});for(let w of d.atoms)h.push({s:w.i,e:w.i+1,a:N(w.el),b:N(w.el,!0)});for(let w=0;w<d.text.length;w++){if(d.text[w]!==gt)continue;let Z=d.marks.find(xe=>xe.block&&xe.to===w+1),he=d.marks.find(xe=>xe.block&&xe.from===w+1);if(Z)h.push({s:w,e:w+1,a:[Z.el,Z.el.childNodes.length],b:N(Z.el,!0)});else if(he)h.push({s:w,e:w+1,a:N(he.el),b:[he.el,0]});else return null}}h.sort((k,d)=>k.s-d.s);let L=k=>{if(k[0].nodeType===3||k[0].nodeType===8){let w=h.find(Z=>Z.node===k[0]);return w?w.s+k[1]:null}let d=0;for(let w of h){if(A(k,w.a)<=0)return w.s;if(A(k,w.b)<0)return null;d=w.e}return d},R=L([n,r]),F=L([a,l]);return R!==null&&F!==null&&R<=F?M.slice(R,F):null}function Hn(e,o){let t=e;for(let n of o.path)if(t=n==="content"?t?.content:t?.childNodes[n],!t)return null;return[t,o.offset]}function Ts(e,o){if(!e||!o)return null;let t=Hn(e,o.start),n=Hn(e,o.end);return t&&n?{startContainer:t[0],startOffset:t[1],endContainer:n[0],endOffset:n[1]}:null}var Ns=e=>e.nodeType===1?e.outerHTML:e.nodeValue;function As(e,o,t){if(!o)return;let n=new Map,r=new Map,a=i=>{if(!i)return null;if(r.has(i))return r.get(i);let A=i.local.map(N=>Hn(o.localRoot,{path:N,offset:0})?.[0]).map(N=>N&&t(N)).filter(Boolean).map(N=>({node:N,parent:N.parentNode,previous:N.previousSibling,next:N.nextSibling,fragment:Ns(N)}));return r.set(i,A),A},l=i=>{let u=Ts(o.localRoot,i);if(!u)return null;let A=t(u.startContainer),N=t(u.endContainer);if(!A||!N)return null;let h={...u,startContainer:A,endContainer:N};return jn(h)?h:null};for(let i of e){let u=i.recovery;if(n.has(u))continue;let A={subject:a(u.subject),span:null,scope:null,touched:new Set};if(u.text){A.span=l(u.text.local.span),A.scope=l(u.text.local.scope);let N=A.span;if(N){let h=N.startContainer.ownerDocument.createRange();h.setStart(N.startContainer,N.startOffset),h.setEnd(N.endContainer,N.endOffset);let M=L=>{if(h.intersectsNode(L)){A.touched.add(L);for(let R of L.childNodes)M(R)}};M(h.commonAncestorContainer)}}if(u.structure){for(let N of[u.structure.localPlacement])N&&(a(N.parent),N.before.forEach(a),N.after.forEach(a));for(let N of u.structure.localOrder||[])a(N)}n.set(u,A)}o.localState={states:n,refs:r}}function vs(e,o,t,n){let r=t.localState?.states.get(e);if(!r)return!1;let a=i=>{let u=i.node;if(!n(u)||u.parentNode!==i.parent)return!1;let A=N=>Array.prototype.indexOf.call(u.parentNode.childNodes,N);return!(i.previous&&n(i.previous)&&i.previous.parentNode===u.parentNode&&A(i.previous)>=A(u)||i.next&&n(i.next)&&i.next.parentNode===u.parentNode&&A(i.next)<=A(u))};if(e.structure?.localAction==="deleted")return e.subject.live.length===0;if(!r.subject.length||!r.subject.every(a))return!1;if(e.text){let i=e.text.local,u=A=>A&&n(A.startContainer)&&n(A.endContainer);return u(r.span)&&u(r.scope)&&Cn(r.scope,e.text.encoding)===i.text&&Cn(r.span,e.text.encoding)===i.text.slice(i.start,i.end)}if(e.attribute){let i=e.attribute,u=r.subject[0].node;return(i.namespaceURI?u.getAttributeNS(i.namespaceURI,i.localName):u.getAttribute(i.qualifiedName))===o.local}let l=e.structure;if(l.localOrder){let i=-1,u=null;for(let A of l.localOrder){let N=t.localState.refs.get(A)?.[0]?.node;if(!N||!n(N)||u&&N.parentNode!==u)return!1;let h=Array.prototype.indexOf.call(N.parentNode.childNodes,N);if(h<=i)return!1;u=N.parentNode,i=h}return!0}return l.localAction==="moved"||r.subject.every(i=>Ns(i.node)===i.fragment)}var _r=1,Yt=e=>!!e&&e.nodeType===1,xo=e=>Yt(e)&&e.tagName==="TEMPLATE"&&!!e.content;function Dn(e,o=null,t=null){let n=new Map,r=new Map,a=N=>{if(!o){o=new WeakMap;let h=[e];for(;h.length;){let M=h.pop();xo(M)&&(o.set(M.content,M),h.push(M.content));for(let L=M.firstChild;L;L=L.nextSibling)L.nodeType===1&&h.push(L)}}return o.get(N)||null},l=(N,h)=>{let M=r.get(N);if(!M){M=new Map;let L=0;for(let R=N.firstChild;R;R=R.nextSibling)M.set(R,L++);r.set(N,M)}return M.get(h)},i=N=>{if(!N)return null;if(t&&t.has(N))return i(t.get(N));if(N===e)return[];let h=n.get(N);if(h!==void 0)return h;let M=N.parentNode,L=null;if(M&&M.nodeType===11){let R=a(M),F=R?i(R):null;F&&(L=F.concat(["content",l(M,N)]))}else if(M){let R=i(M);R&&(L=R.concat([l(M,N)]))}return n.set(N,L),L};return{root:e,pathOf:i,logicalParent:N=>{let h=N.parentNode;return h&&h.nodeType===11?a(h):h},indexIn:l,containerPath:N=>{if(N.nodeType===11){let M=a(N),L=i(M);return L?L.concat(["content"]):null}let h=i(N);return h&&xo(N)?h.concat(["content"]):h},ownerOf:a}}var bn=e=>xo(e)?e.content:e;function Ss(e){let{L:o,R:t,unitsOf:n,provenance:r,policy:a}=e,l=[];return{note:(N,h)=>{l.push([N,h])},finish:N=>l.length?A(N):null};function A(N){let h={base:Dn(e.roots.base),local:Dn(e.roots.local),remote:Dn(e.roots.remote)},M=p=>p==="local"?o:t,L=(p,y)=>{if(!y)return null;if(p.map.has(y))return p.map.get(y);let E=[],f=Yt(y)?h.base.logicalParent(y):y.parent;for(;f&&!p.map.has(f);f=h.base.logicalParent(f))E.push(f);if(!f||!p.identical.has(f))return null;let m=p.map.get(f);for(let C=E.length-1;C>=0&&m;C--)m=bn(m).childNodes[h.base.indexIn(E[C].parentNode,E[C])];return m?Yt(y)?bn(m).childNodes[h.base.indexIn(y.parentNode,y)]||null:n(m)[n(y.parent).indexOf(y)]||null:null},R=new Map,F=new Map,k=new WeakMap,d=0,w=(p,y)=>{let E=R.get(p);E||R.set(p,E=[]),E.push(y)};(function p(y){F.set(y,d++);let E=r.get(y);if(E&&!E.pinned){for(let f of[E.base,E.local,E.remote])if(f)if(Array.isArray(f))for(let m of f)w(m,y);else w(f,y)}if(xo(y)){k.set(y.content,y);for(let f=y.content.firstChild;f;f=f.nextSibling)p(f)}for(let f=y.firstChild;f;f=f.nextSibling)p(f)})(N);let Z=new Map;h.out=Dn(N,k,Z);let he={refs:new Map,spans:new Map,anchors:new Map,via:Z,outOwners:k,outRoot:N,localRoot:e.roots.local},xe=p=>Yt(p)?[p]:p.nodes,ee=(p,y)=>{let E=h[y].logicalParent(p);if(!E)return null;for(let f of n(E))if(!Yt(f)&&f.nodes.includes(p))return f;return null},oe=(p,y)=>p==null?null:Array.isArray(p)?p.length?ee(p[0],y):null:p,re=p=>{let y=new Set,E=[];for(let f of p)for(let m of R.get(f)||[])y.has(m)||(y.add(m),E.push(m));return E.sort((f,m)=>F.get(f)-F.get(m))},ne=new Map,K=p=>{let y=p.b||p.l||p.r,E=ne.get(y);if(E)return E;let f=[];for(let m of[p.b,p.l,p.r])m&&f.push(...xe(m));return E=re(f),ne.set(y,E),E},D=p=>({b:p,l:L(o,p),r:L(t,p)}),Ne=(p,y)=>{let E=M(y).reverse.get(p);if(E)return D(E);for(let f of re(xe(p))){let m=r.get(f);if(m&&!m.base&&m.local&&m.remote)return{b:null,l:oe(m.local,"local"),r:oe(m.remote,"remote")}}return y==="local"?{b:null,l:p,r:null}:{b:null,l:null,r:p}},ae=new Map,te=p=>{let y=r.get(p);if(!y||y.pinned)return null;let E=oe(y.base,"base");if(E)return D(E);let f=oe(y.local,"local"),m=oe(y.remote,"remote");if(f){let C=o.reverse.get(f);if(C)return D(C)}if(m){let C=t.reverse.get(m);if(C)return D(C)}return f||m?{b:null,l:f,r:m}:null},V=p=>(ae.has(p)||ae.set(p,te(p)),ae.get(p)),ye=(p,y)=>Yt(p)?h[y].logicalParent(p):p.parent,be=new Map,Oe=new Map,He=(p,y)=>(Yt(p)?[h[y].pathOf(p)]:p.nodes.map(E=>h[y].pathOf(E))).filter(Boolean),Ue=p=>{let y=p.b||p.l||p.r,E=p.b?"base":p.l?"local":"remote",f=Oe.get(y);if(f)return f;let m=!Yt(y),C=He(y,E)[0],W=`${E[0]}:${JSON.stringify(C===void 0?null:C)}${m?":run":""}`,j=be.get(W);if(j)return Oe.set(y,j),j;let z=K(p);return j={key:W,nodeType:Yt(y)?1:y.kind==="comment"?8:3,base:p.b?He(p.b,"base"):[],local:p.l?He(p.l,"local"):[],remote:p.r?He(p.r,"remote"):[],merged:z.map(x=>h.out.pathOf(x)).filter(Boolean),live:[]},be.set(W,j),Oe.set(y,j),he.refs.set(j,z),j},ze={base:new Map,local:new Map,remote:new Map},se=new Map,at=(p,y)=>{let E=ye(p,y);if(!E||E.nodeType!==1)return null;let f=ze[y].get(E);if(!f){let C=n(E),W=j=>Ue(y==="base"?D(j):Ne(j,y));f={parent:W(E),refs:C.map(W),index:new Map(C.map((j,z)=>[j,z]))},ze[y].set(E,f)}let m=f.index.get(p)??-1;return{parent:f.parent,before:f.refs.slice(m+1),after:f.refs.slice(0,Math.max(0,m)).reverse()}},ft=p=>{let y=p.parentNode;if(!y)return null;let E=se.get(y);if(!E){let m=y.nodeType===11?k.get(y):y,C=m&&m.nodeType===1?V(m):null;if(!C)return null;let W=[],j=[],z=new Map;for(let S of y.childNodes){let G=V(S),ge=G&&Ue(G),Me=W.length,c=W.length-1;ge&&ge!==W[c]&&(W.push(ge),c++);let T={ref:ge,group:c,after:Me};j.push(T),z.set(S,T)}let x=W.length;for(let S=j.length-1;S>=0;S--){let G=j[S];G.before=x,G.ref&&(x=G.group)}E={parent:Ue(C),refs:W,index:z},se.set(y,E)}let f=E.index.get(p);return{parent:E.parent,before:E.refs.slice(f.before),after:E.refs.slice(0,f.after).reverse()}},le=p=>Yt(p)?p.outerHTML:p.value,b=p=>Yt(p)?"element":p.kind==="comment"?"comment":"text",H=(p,y)=>({path:p,offset:y}),fe=(p,y,E)=>{if(!p)return null;let f=h[E],m=0;if(y){let C=Yt(y)?y:y.nodes[y.nodes.length-1];C.parentNode&&(m=f.indexIn(C.parentNode,C)+1)}return H(f.containerPath(p),m)},we=(p,y)=>{let E=ye(p,"base"),f=E?L(M(y),E):null;if(!Yt(f))return null;let m=n(E),C=null;for(let W=m.indexOf(p)-1;W>=0&&!C;W--){let j=L(M(y),m[W]);j&&ye(j,y)===f&&(C=j)}return fe(f,C,y)},pe=(p,y,E,f)=>{let m=h[f],C=0;for(let W=0;W<p.nodes.length;W++){let j=p.nodes[W],z=j.nodeValue.length,x=W===p.nodes.length-1;if((E==="start"?y<C+z:y<=C+z)||x)return H(m.pathOf(j),Math.max(0,Math.min(y-C,z)));C+=z}return null},Ge=(p,y)=>{let E=h[y],f=p.firstChild,m=p.lastChild;return f&&f.nodeType===3&&m.nodeType===3?{start:H(E.pathOf(f),0),end:H(E.pathOf(m),m.nodeValue.length)}:{start:H(E.pathOf(p),0),end:H(E.pathOf(p),p.childNodes.length)}},je=(p,y,E)=>{for(let W of p.nodes)if(E==="start"?W.s<=y&&y<W.e:W.s<y&&y<=W.e)return{kind:"text",node:W.node,offset:y-W.s};let f=E==="start"?y:y-1,m=()=>{for(let W of p.nodes)if(W.s===y||W.e===y)return{kind:"text",node:W.node,offset:y-W.s};return null},C=p.atomAt.get(f);if(C)return{kind:E==="start"?"before":"after",node:C.el};if(p.text[f]===gt){let W=p.marks.find(z=>z.block&&z.to===f+1);if(W)return E==="start"?{kind:"end",node:W.el}:{kind:"after",node:W.el};let j=p.marks.find(z=>z.block&&z.from===f+1);if(j)return E==="start"?{kind:"before",node:j.el}:{kind:"startOf",node:j.el}}return m()},Ze=(p,y)=>je(p,y,"end")||je(p,y,"start"),rt=(p,y)=>{switch(y.kind){case"text":return H(p.pathOf(y.node),y.offset);case"end":return H(p.containerPath(y.node),bn(y.node).childNodes.length);case"startOf":return H(p.containerPath(y.node),0);default:{let E=y.node.parentNode;return H(p.containerPath(E),p.indexIn(E,y.node)+(y.kind==="after"?1:0))}}},wt=(p,y,E,f,m)=>{let C=je(p,y,E);return C?rt(h[f],C):m()},bt=(p,y,E,f)=>{let m=p.textNodes.map(x=>({s:x.ms,e:x.me,start:{kind:"text",node:x.node,offset:0},end:{kind:"text",node:x.node,offset:x.me-x.ms}}));for(let[x,S]of p.atomOut)m.push({s:x,e:x+1,start:{kind:"before",node:S},end:{kind:"after",node:S}});for(let[x,S]of p.breakOut)m.push({s:x,e:x+1,start:{kind:"end",node:S},end:{kind:"after",node:S}});for(let x of m)if(x.start.kind==="text"&&x.s<y&&y<x.e)return{kind:"text",node:x.start.node,offset:y-x.s};if(E!=="empty"){let x=m.find(S=>E==="start"?S.s===y:S.e===y);if(x)return E==="start"?x.start:x.end}let C=m.find(x=>x.e===y);if(C)return C.end;let W=m.find(x=>x.s===y);if(W)return W.start;let j=null,z=null;for(let x of m)x.e<=y&&(!j||x.e>j.e)&&(j=x),x.s>=y&&(!z||x.s<z.s)&&(z=x);return j?j.end:z?z.start:f()},Tt=(p,y)=>{if(!y)return null;if(y.kind==="text"){let m=p.nodes.find(C=>C.node===y.node);return m?m.s+Math.min(y.offset,m.e-m.s):null}let E=p.atoms.find(m=>m.el===y.node);if(E)return y.kind==="after"?E.i+1:E.i;let f=p.marks.find(m=>m.el===y.node);return f?y.kind==="before"&&f.block&&p.text[f.from-1]===gt&&!p.marks.some(m=>m.block&&m.to===f.from)?f.from-1:y.kind==="startOf"||y.kind==="before"?f.from:y.kind==="end"&&f.block?f.to-1:f.to:null},tn=(p,y,E,f)=>{for(let j of p.nodes)if(E==="start"?j.s<=y&&y<j.e:j.s<y&&y<=j.e)return{kind:"text",node:j.node,offset:y-j.s};let m=E==="start"?y:y-1;if(!p.atomAt.has(m)&&p.text[m]!==gt){for(let j of p.nodes)if(j.s===y||j.e===y)return{kind:"text",node:j.node,offset:y-j.s}}let C=p.atomAt.get(m);if(C)return{kind:E==="start"?"before":"after",node:C.el};if(p.text[m]===gt){let j=p.marks.find(x=>x.block&&x.to===m+1);if(j)return E==="start"?{kind:"end",node:j.el}:{kind:"after",node:j.el};let z=p.marks.find(x=>x.block&&x.from===m+1);if(z)return E==="start"?{kind:"before",node:z.el}:{kind:"startOf",node:z.el}}let W=p.marks.find(j=>j.block&&j.from===y);return W?{kind:"startOf",node:W.el}:f?{kind:E==="start"?"startOf":"end",node:f}:null},Fe=p=>{if(!p)return null;if(p.kind==="wholeStart"||p.kind==="wholeEnd"){let y=Xt(p.node);return p.kind==="wholeStart"?y.start:y.end}return rt(h.out,p)},Xt=p=>{let y=p.firstChild,E=p.lastChild;return y&&y.nodeType===3&&E.nodeType===3?{start:H(h.out.pathOf(y),0),end:H(h.out.pathOf(E),E.nodeValue.length)}:{start:H(h.out.pathOf(p),0),end:H(h.out.pathOf(p),p.childNodes.length)}},Jt=p=>{let y=ye(p,"base"),E=y?K(D(y))[0]:null;if(!E)return null;let f=bn(E),m=n(y);for(let C=m.indexOf(p)-1;C>=0;C--){let W=K(D(m[C])).filter(j=>j.parentNode===f);if(W.length)return{kind:"after",node:W[W.length-1]}}return{kind:"startOf",node:E}},Dt=(p,y,E,f,m,C)=>({text:p,start:y,end:E,fragment:f,span:m,scope:C}),It=(p,y,E,f,m)=>Dt(p,y,E,p.slice(y,E),f,m),Et=(p,y,E,f,m)=>(he.spans.set(p,{start:y,end:E,scopeStart:f,scopeEnd:m}),p),sn=new Map,v=new Map,X=(p,y,E)=>{let f=`text:${p.key}:${y}:${E}`,m=v.get(f)||0;return v.set(f,m+1),`${f}:${m}`},Q=(p,y)=>{let E,f,m,C="plain",W,j,z,x,S,G=(c,T,P,U,_)=>{if(!c){let q=we(_,U);return It("",0,0,{start:q,end:q},{start:q,end:q})}return It(c.value,T,P,{start:pe(c,T,T===P?"end":"start",U),end:pe(c,P,"end",U)},{start:pe(c,0,"start",U),end:pe(c,c.value.length,"end",U)})};if(y.site==="run"){let{bRun:c,lRun:T,rRun:P,node:U,c:_}=y;E=D(c),f=_.bs,m=_.be,W=G(c,_.bs,_.be,"base",c),j=G(T,_.ls,_.le,"local",c),z=G(P,_.rs,_.re,"remote",c);let q=U?U.nodeValue:"",Y=ce=>U?{kind:"text",node:U,offset:ce}:Jt(c);x=Et(It(q,_.ms,_.me,{start:Fe(Y(_.ms)),end:Fe(Y(_.me))},{start:Fe(Y(0)),end:Fe(Y(q.length))}),Y(_.ms),Y(_.me),Y(0),Y(q.length)),S=U||(Jt(c)||{}).node||null}else if(y.site==="whole"){let c=y.el,T=r.get(c);E=D(T.base),f=0,m=p.base.length;let P=(_,q,Y)=>{let ce=Ge(q,Y);return It(_,0,_.length,ce,ce)};W=P(p.base,T.base,"base"),j=P(p.local,T.local,"local"),z=P(p.remote,T.remote,"remote");let U=Xt(c);x=Et(It(p.resolved,0,p.resolved.length,U,U),{kind:"wholeStart",node:c},{kind:"wholeEnd",node:c},{kind:"wholeStart",node:c},{kind:"wholeEnd",node:c}),S=c}else if(y.site==="comment"){let{bRun:c,lRun:T,rRun:P,node:U}=y;E=D(c),f=0,m=p.base.length;let _=(Se,Ee)=>{if(!Se){let Be=we(c,Ee);return It("",0,0,{start:Be,end:Be},{start:Be,end:Be})}let Ie=Se.nodes[0],et={start:H(h[Ee].pathOf(Ie),0),end:H(h[Ee].pathOf(Ie),Se.value.length)};return It(Se.value,0,Se.value.length,et,et)};W=_(c,"base"),j=_(T,"local"),z=_(P,"remote");let q=p.resolved,Y=Se=>U?{kind:"text",node:U,offset:Se}:Jt(c),ce={start:Fe(Y(0)),end:Fe(Y(q.length))};x=Et(It(q,0,q.length,ce,ce),Y(0),Y(q.length),Y(0),Y(q.length)),S=U||(Jt(c)||{}).node||null}else{let{fb:c,fl:T,fr:P,scope:U}=y,_=y.merged;C="html",E=U.base?D(U.base):Ne(U.local,"local"),f=p.bs,m=p.be;let q=ut=>{let At=U[ut];for(let Nt=U.at-1;Nt>=0;Nt--){let jt=U.units[Nt],Qt=ut==="base"?jt:L(M(ut),jt);if(Qt&&ye(Qt,ut)===At)return Qt}return null},Y=ut=>()=>fe(U[ut],q(ut),ut),ce=(ut,At,Nt,jt,Qt)=>{let fn=De=>De?rt(h[Qt],De):Y(Qt)(),An=At===Nt?Ze(ut,At):je(ut,At,"start"),vn=At===Nt?Ze(ut,At):je(ut,Nt,"end"),kn=fn(An),rn={start:kn,end:At===Nt?kn:fn(vn)},zt=y.full?y.full(Qt):null;if(!zt)return Dt(ut.text,At,Nt,jt,rn,{start:fn(je(ut,0,"start")),end:fn(je(ut,ut.text.length,"end"))});let J=An?Tt(zt,An):null,Re=vn?Tt(zt,vn):null,ve=J===null?0:J,Ye=Math.max(ve,Re===null?zt.text.length:Re),lt=fn(je(zt,0,"start"));return Dt(zt.text,ve,Ye,zn(zt,ve,Ye),rn,{start:lt,end:zt.text.length?fn(je(zt,zt.text.length,"end")):lt})};W=y.synthetic?null:ce(c,p.bs,p.be,p.base,"base"),j=ce(T,p.lss,p.lse,p.local,"local"),z=ce(P,p.rss,p.rse,p.remote,"remote");let[Se,Ee]=p.range||[0,0],Ie=_.out,et=()=>{let ut=bn(_.node);for(let At=U.at-1;At>=0;At--){let Nt=K(D(U.units[At])).filter(jt=>jt.parentNode===ut);if(Nt.length)return{kind:"after",node:Nt[Nt.length-1]}}for(let At=U.at;At<U.units.length;At++){let Nt=K(D(U.units[At])).filter(jt=>jt.parentNode===ut);if(Nt.length)return{kind:"before",node:Nt[0]}}return{kind:"startOf",node:_.node}};if(Ie.via)for(let[ut,At]of Ie.via)Z.set(ut,At);let Be=bt(_,Se,Se===Ee?"empty":"start",et),St=Se===Ee?Be:bt(_,Ee,"end",et),Ve=Ie.text.length?tn(Ie,0,"start",_.node):et(),pt=Ie.text.length?tn(Ie,Ie.text.length,"end",_.node):Ve,it=Tt(Ie,Be),Ft=Tt(Ie,St),Rt=it===null?0:it,Kt=Math.max(Rt,Ft===null?Ie.text.length:Ft);x=Et(Dt(Ie.text,Rt,Kt,zn(Ie,Rt,Kt),{start:Fe(Be),end:Fe(St)},{start:Fe(Ve),end:Fe(pt)}),Be,St,Ve,pt);let Lt=he.spans.get(x);if(Lt.flat=Ie,!Ie.text.length){let ut=Fe(Ve),At=Hn(N,ut),Nt=At[0],jt=At[1];Lt.empty={parent:Nt.nodeType===11?k.get(Nt):Nt,previous:Nt.childNodes[jt-1]||null,next:Nt.childNodes[jt]||null}}S=Be?Be.node:_.node}let ge=Ue(E),Me=(y.site==="whole"||y.site==="comment"||a!=="both")&&p.resolved!==p.local;return{key:y.site==="comment"&&sn.get(E.b||E.l||E.r)||X(ge,f,m),subject:ge,localLost:Me,anchor:S,text:{encoding:C,base:W,local:j,remote:z,merged:x,liveSpan:null,liveScope:null}}},de=(p,y)=>{let E=V(y.el),f=Ue(E),m=y.sample;return{key:`attr:${f.key}:${m.namespaceURI||""}:${m.localName}`,subject:f,localLost:p.resolved!==p.local,anchor:y.el,attribute:{namespaceURI:m.namespaceURI||null,localName:m.localName,qualifiedName:m.name}}},ie=(p,y)=>{let E=p.detail,f=y.unit||D(y.subject),m=Ue(f),C=he.refs.get(m),W=f.l?at(f.l,"local"):null,j=f.r?at(f.r,"remote"):null,z=C.length?ft(C[0]):null,x,S,G,ge=null,Me=null,c=y.deleted;switch(E){case"both-reordered":{x=S="reordered";let T=new Set(y.rKept),P=y.lKept.filter(ce=>T.has(ce)&&K(D(ce)).length),U=ce=>F.get(K(D(ce))[0]);ge=P.map(ce=>Ue(D(ce))),Me=P.slice().sort((ce,Se)=>U(ce)-U(Se)).map(ce=>Ue(D(ce)));let _=ce=>!Yt(ce)&&ce.kind!=="comment"&&ce.nodes.every(Se=>!/[^\t\n\f\r ]/.test(Se.data)),q=P.filter(ce=>!_(ce)),Y=q.slice().sort((ce,Se)=>U(ce)-U(Se));G=q.some((ce,Se)=>ce!==Y[Se]);break}case"both-moved":x=S="moved",G=!W||!C.some(T=>{let P=T===C[0]?z:ft(T);return P&&P.parent===W.parent});break;case"edit-beats-delete":x=c==="local"?"deleted":"edited",S=c==="remote"?"deleted":"edited",G=c==="local";break;case"move-beats-delete":x=c==="local"?"deleted":"moved",S=c==="remote"?"deleted":"moved",G=c==="local";break;default:x=S="inserted",G=y.localLost}return{key:`structure:${m.key}:${E}`,subject:m,localLost:G,anchor:C[0]||null,structure:{localAction:x,remoteAction:S,localPlacement:W,remotePlacement:j,mergedPlacement:z,localOrder:ge,mergedOrder:Me,localFragment:E==="both-reordered"||!f.l?null:le(f.l),fragmentKind:b(f.b||f.l||f.r)}}};for(let[p,y]of l){if(p.kind!=="structure")continue;let E=y.unit||D(y.subject),f=E.b||E.l||E.r;!Yt(f)&&f.kind==="comment"&&sn.set(f,`structure:${Ue(E).key}:${p.detail}`)}let ue=new Map;for(let[p,y]of l){if(p.kind==="structure"){let C=Ue(y.unit||D(y.subject)),W=`structure:${C.key}:${p.detail}`,j=ue.get(W);if(j&&j.structure){p.recovery=j;let z=he.refs.get(C);p.el==null&&z.length&&(p.el=Yt(z[0])?z[0]:h.out.logicalParent(z[0]));continue}}let E=p.kind==="text"?Q(p,y):p.kind==="attr"?de(p,y):ie(p,y),f=ue.get(E.key);f||(f={version:_r,key:E.key,localLost:E.localLost,subject:E.subject,applied:!1,unavailable:null},ue.set(E.key,f),he.anchors.set(f,E.anchor)),E.text&&(f.text=E.text),E.attribute&&(f.attribute=E.attribute),E.structure&&(f.structure=E.structure),E.text&&(f.localLost=E.localLost),p.recovery=f;let m=he.refs.get(E.subject);p.kind==="structure"&&p.el==null&&m.length&&(p.el=Yt(m[0])?m[0]:h.out.logicalParent(m[0])),p.kind==="text"&&p.node==null&&m.length&&E.subject.nodeType===8&&(p.node=m[0])}return he}}function Os(e,o,t){if(!o)return;let{lookup:n,vetoed:r,vetoedAttrs:a,liveAttr:l}=t,i=t.ignored||(()=>!1),u=Dn(t.liveRoot),A=te=>!!te&&u.containerPath(te)!==null,N=te=>{let V=te.parentNode;return V&&V.nodeType===11?o.outOwners.get(V)||null:V},h=te=>{for(let V=te;V;V=N(V))if(o.via.has(V)&&(V=o.via.get(V)),r.has(V)||t.vetoedLive?.has(d(V)))return!0;return!1},M=te=>Array.from(bn(te).children).filter(V=>!i(V)),L=(te,V)=>M(te)[M(V.parentNode).indexOf(V)],R=(te,V)=>{let ye=null,be=null,Oe=0;for(let se=V.previousSibling;se;se=se.previousSibling){if(se.nodeType===1&&!i(se)){ye=se;break}se.nodeType===3&&(Oe+=se.nodeValue.length)}for(let se=V.nextSibling;se&&!be;se=se.nextSibling)se.nodeType===1&&!i(se)&&(be=se);let He=ye?L(te,ye):null,Ue=be?L(te,be):null;if(ye&&!He||be&&!Ue)return null;let ze=[];for(let se=He?He.nextSibling:bn(te).firstChild;se&&se!==Ue;se=se.nextSibling)se.nodeType===3&&ze.push(se);return ze.length?{nodes:ze,lead:Oe}:null},F=te=>{let V=[],ye=te;for(;ye&&!o.via.has(ye);ye=ye.parentNode)V.push(ye);if(!ye||!V.length)return null;let be=d(o.via.get(ye));for(let Ue=V.length-1;Ue>0&&be;Ue--)be=L(be,V[Ue]);if(!be)return null;let Oe=V[0];if(Oe.nodeType===3)return R(be,Oe);let He=Oe.nodeType===1?L(be,Oe):null;return He?{nodes:[He],lead:0}:null},k=te=>{let V=n(te),ye=V?{nodes:Array.isArray(V)?V:[V],lead:0}:o.via.size?F(te):null;if(!ye)return null;let be=ye.nodes.filter(A);return be.length?{nodes:be,lead:ye.lead}:null},d=te=>{let V=k(te);return V?V.nodes[0]:null},w=te=>{if(!te)return null;if(te.kind==="text"){let Oe=k(te.node);if(!Oe)return null;let He=Oe.nodes,Ue=te.offset+Oe.lead,ze=0;for(let se=0;se<He.length;se++){let at=He[se].nodeValue.length;if(Ue<=ze+at||se===He.length-1)return Ue>=ze&&Ue<=ze+at?[He[se],Ue-ze]:null;ze+=at}return null}let V=d(te.node);if(!V)return null;if(te.kind==="end")return[bn(V),bn(V).childNodes.length];if(te.kind==="startOf")return[bn(V),0];if(te.kind==="wholeStart")return V.firstChild?[V.firstChild,0]:[V,0];if(te.kind==="wholeEnd")return V.lastChild?[V.lastChild,V.lastChild.nodeValue.length]:[V,V.childNodes.length];let ye=V.parentNode;if(!ye)return null;let be=Array.prototype.indexOf.call(ye.childNodes,V);return[ye,te.kind==="after"?be+1:be]},Z=te=>({blocks:new Set((te.flat?.marks||[]).filter(V=>V.block).map(V=>d(V.el)).filter(Boolean)),atoms:new Set((te.flat?.atoms||[]).map(V=>d(V.el)).filter(Boolean)),ignored:i}),he=(te,V,ye,be)=>{if(!te||!V||!jn(te)||!jn(V))return!1;for(let Ue of[te,V])if(!A(Ue.startContainer)||!A(Ue.endContainer))return!1;let Oe=ye.merged;if(Oe.start===Oe.end&&(te.startContainer!==te.endContainer||te.startOffset!==te.endOffset))return!1;let He=Z(be);return Cn(V,ye.encoding,He)===Oe.text&&Cn(te,ye.encoding,He)===Oe.text.slice(Oe.start,Oe.end)},xe=new Map,ee=te=>{let V=te.parentNode;return V?(xe.has(V)||xe.set(V,new Map(Array.from(V.childNodes,(ye,be)=>[ye,be]))),xe.get(V).get(te)):-1},oe=(te,V)=>{if(!V)return!1;let ye=u.logicalParent(te);if(!V.parent.live.includes(ye))return!1;let be=ee(te);for(let[Oe,He]of[["before",1],["after",-1]]){let Ue=be;for(let ze of V[Oe]){if(ze.live.includes(te))continue;let se=ze.live.filter(ft=>ft!==te&&ft.parentNode===te.parentNode);if(!se.length)continue;let at=He===1?Math.min(...se.map(ee)):Math.max(...se.map(ee));if(He*(at-Ue)<=0)return!1;Ue=at}}return!0},re=te=>{let V=te.structure;if(V.mergedOrder){let ye=new Set(te.subject.live.map(bn)),be=null,Oe=-1;for(let He of V.mergedOrder){let Ue=He.live.find(ze=>ye.has(ze.parentNode));if(!Ue||be&&Ue.parentNode!==be||ee(Ue)<=Oe)return!1;be=Ue.parentNode,Oe=ee(Ue)}return te.subject.live.length>0}return te.subject.live.some(ye=>oe(ye,V.mergedPlacement))},ne=(te,V)=>{let ye=w(te),be=w(V);return ye&&be?{startContainer:ye[0],startOffset:ye[1],endContainer:be[0],endOffset:be[1]}:null},K=new Set,D=te=>{if(!te||K.has(te))return;K.add(te);let V=[];for(let ye of o.refs.get(te)||[]){let be=k(ye);if(be)for(let Oe of be.nodes)V.includes(Oe)||V.push(Oe)}te.live=V},Ne=te=>{te&&(D(te.parent),te.before.forEach(D),te.after.forEach(D))},ae=new Set;for(let te of e){let V=te.recovery;if(!V||ae.has(V))continue;ae.add(V),D(V.subject),V.structure&&(Ne(V.structure.localPlacement),Ne(V.structure.remotePlacement),Ne(V.structure.mergedPlacement),(V.structure.localOrder||[]).forEach(D),(V.structure.mergedOrder||[]).forEach(D));let ye=o.anchors.get(V),be=ye?d(ye):null,Oe=!!be;if(V.text){let b=o.spans.get(V.text.merged),H=b?ne(b.start,b.end):null,fe=b?ne(b.scopeStart,b.scopeEnd):null;if(b?.empty){let we=b.empty,pe=we.previous?{kind:"after",node:we.previous}:{kind:"startOf",node:we.parent},Ge=we.next?{kind:"before",node:we.next}:{kind:"end",node:we.parent},je=ne(pe,Ge);!je||je.startContainer!==je.endContainer||je.startOffset!==je.endOffset?H=null:H=fe=je}he(H,fe,V.text,b)||(H=fe=null),V.text.liveSpan=H,V.text.liveScope=H?fe:null,H||(Oe=!1)}V.structure&&Oe&&(Oe=re(V)),V.attribute&&Oe&&(Oe=l(be,V.attribute,te.resolved));let He=(!!V.attribute||!!V.text&&be?.tagName==="TEXTAREA")&&!!a&&[ye,be].some(b=>a.get(b)?.has(V.attribute?V.attribute.qualifiedName:"value")),Ue=o.localState?.states.get(V),ze=!!V.text&&[...t.removedVetoes||[]].some(b=>Ue?.touched.has(b)),se=V.structure?.localAction==="inserted"&&[...r].some(b=>b===ye||ye?.contains(b)),at=ye&&h(ye)||He||ze||se,ft=at&&vs(V,te,o,A);ft&&(ze||se&&V.localLost)&&(Oe=!1);let le=!Oe&&ft&&at;V.applied=Oe,V.unavailable=Oe?null:le?"hook-veto":"missing-output",le&&(V.localLost=!1),!Oe&&V.text&&(V.text.liveSpan=V.text.liveScope=null)}}function To(e,o,t){let n=Dn(o),r=Dn(t),a=h=>!!h&&r.containerPath(h)!==null,l=h=>{if(h===o)return t;let M=n.pathOf(h);if(M&&o!==t){let L=Hn(t,{path:M,offset:0});if(L&&L[0].nodeType===h.nodeType)return L[0]}return h},i=new Set,u=h=>{!h||i.has(h)||(i.add(h),h.live=h.live.map(l).filter(a))},A=h=>{h&&(h.startContainer=l(h.startContainer),h.endContainer=l(h.endContainer))},N=new Set;for(let h of e){h.node===o&&t.tagName==="SCRIPT"&&(h.node=t),h.el===o&&h.kind==="structure"&&(h.el=t);let M=h.recovery;if(!M||N.has(M))continue;if(N.add(M),u(M.subject),M.text){A(M.text.liveSpan),A(M.text.liveScope);let R=M.text.liveSpan,F=M.text.liveScope,k=M.text.merged,d=w=>!!w&&jn(w)&&a(w.startContainer)&&a(w.endContainer);(!d(R)||!d(F)||Cn(F,M.text.encoding)!==k.text||Cn(R,M.text.encoding)!==k.text.slice(k.start,k.end))&&(M.text.liveSpan=null,M.text.liveScope=null,M.applied=!1,M.unavailable="missing-output")}let L=M.structure;if(L){for(let R of[L.localPlacement,L.remotePlacement,L.mergedPlacement])R&&(u(R.parent),R.before.forEach(u),R.after.forEach(u));(L.localOrder||[]).forEach(u),(L.mergedOrder||[]).forEach(u),M.subject.live.length||(M.applied=!1,M.unavailable="missing-output")}}}var Qe=e=>!!e&&e.nodeType===1,qr=new Set("P H1 H2 H3 H4 H5 H6 DIV LI DD DT BLOCKQUOTE FIGCAPTION SUMMARY ADDRESS".split(" ")),Ms=5e4,so="[id],[data-id],script,head>*";function $o(e,o){return t=>{if(e!==null&&t.tagName==="SCRIPT"){let n=Gn(t,e);if(n)return"merge:"+n.key}return t.parentElement&&t.parentElement.tagName==="HEAD"?ms(t,o):null}}function No(e,o,t,n){let r=n.ignored,a=n.stats||Mn(),l=ns({ignored:r,ignoreAttribute:n.ignoreAttribute,stats:a}),{unitsOf:i,meta:u}=l,A=n.baseURI,N=n.mergeTags!==null,h=$o(n.mergeTags,A),M=c=>T=>{let P=h(T);return P!==null?P:c(T)},L=M(n.identity.base),R=M(n.identity.local),F=M(n.identity.remote),k=n.authored||n.identity,d=c=>c&&c.nodeType===9?c.documentElement:c,w=d(e),Z=d(o),he=d(t),xe=globalThis.__hyperMorphProfile,ee=xe?performance.now():0,oe=c=>c===an?so:null,re=n.scope||null,ne=re?re.baseIndex:po(w,L,r,oe(n.identity.base)),K=n.localIsBase||w===Z?Ls():Eo(w,Z,{analyzer:l,baseIndex:ne,sideIndex:po(Z,R,r,oe(n.identity.local)),baseId:k.base,sideId:k.local,stats:a}),D=Eo(w,he,{analyzer:l,baseIndex:ne,sideIndex:re?re.remoteIndex:po(he,F,r,oe(n.identity.remote)),baseId:k.base,sideId:k.remote,stats:a,scope:re,comparisons:n.comparisons});if(re){if(!re.held(D))return null;for(let c of re.dropped)Lo(c)}let Ne=null;function ae(c){if(!Ne){Ne=new WeakMap;let T=[w];for(;T.length;){let P=T.pop();P.tagName==="TEMPLATE"&&P.content&&Ne.set(P.content,P);for(let U of l.childrenOf(P))U.nodeType===1&&T.push(U)}}return Ne.get(c)||null}let te=c=>{let T=Qe(c)||c.nodeType?c.parentNode:c.parent;return T&&T.nodeType===11?ae(T):T};Tt(),tn(K,D),tn(D,K);for(let c of[K,D])if(c.refused)for(let T of c.refused)c.moved.has(T)||a.ambiguousMoves++;xe&&(xe.alignTotal=(xe.alignTotal||0)+(performance.now()-ee),ee=performance.now());let V=w.ownerDocument.implementation.createHTMLDocument(""),ye=new WeakMap,be=new WeakMap,Oe=[],He=[],Ue=new Set,ze=[],se=new Set,at=new Set,ft=new Set,le=new WeakMap,b=n.conflicts||"remote",H=c=>Oe.push(c),fe=c=>Oe.push(c),we=Ss({roots:{base:w,local:Z,remote:he},L:K,R:D,unitsOf:i,provenance:ye,policy:b}),pe=(c,T)=>{He.push(c),T&&we.note(c,T)},Ge=wt(),je=It(w,K.map.get(w),D.map.get(w),!!n.localIsBase,!!n.childrenOnly);je.tagName==="HTML"?V.replaceChild(je,V.documentElement):V.body.appendChild(je),xe&&(xe.build=(xe.build||0)+(performance.now()-ee));let Ze=n.childrenOnly?!j(C(je),C(he)):!E(je,he),rt=we.finish(je);return{doc:V,root:je,provenance:ye,textMappers:be,decisions:Oe,conflicts:He,recoveryLinks:rt,localDiverged:Ze,mergedScripts:Ue,segments:ze,remoteIdOf:n.identity.remote,customIdentity:n.identity.remote!==an,L:K,R:D,stats:a};function wt(){let c=new Map,T=new Set;if(n.localIsBase||!K.insertedByHash)return{partner:c,drop:T};let P=K.insertedByHash(),U=D.insertedByHash();if(!P.size||!U.size)return{partner:c,drop:T};let _={ignored:r,remoteWins:n.remoteWins,inlineCache:le},q=Ve=>{let pt=0;for(let it=Ve.parentNode;it;it=it.parentNode)pt++;return pt},Y=[],ce=Ve=>{let pt=Ve.textContent.trim();return pt.split(/\s+/).length>=3||pt.replace(/\s/g,"").length>=12},Se=Ve=>{let pt=Fe(K,Ve),it=Fe(D,Ve);return pt&&K.reverse.get(pt.parentNode)!==Ve.parentNode||it&&D.reverse.get(it.parentNode)!==Ve.parentNode},Ee=(Ve,pt,it)=>{for(let Rt of it.parentNode.children){let Kt=Rt!==it&&Ve.reverse.get(Rt);if(Kt&&Se(Kt))return!0}let Ft=Ve.reverse.get(it.parentNode);if(Ft){for(let Rt of Ft.children)if(!Fe(pt,Rt)&&!r(Rt))return!0}return!1};for(let[Ve,pt]of P){let it=U.get(Ve);if(!it)continue;let Ft=pt.length===1&&it.length===1;for(let Rt of pt)Bn(Rt,_)||Y.push([Rt,it,q(Rt),Ft&&(ce(Rt)||Ee(K,D,Rt)||Ee(D,K,it[0]))])}if(!Y.length)return{partner:c,drop:T};Y.sort((Ve,pt)=>Ve[2]-pt[2]);let Ie=new Set,et=new Set,Be=Ve=>{for(let pt of Ve.querySelectorAll("*"))Ie.add(pt)},St=(Ve,pt)=>Ve.reverse.get(pt.parentNode)||null;for(let[Ve,pt,,it]of Y){if(Ie.has(Ve))continue;let Ft=St(K,Ve),Rt=Lt=>!et.has(Lt)&&!Ie.has(Lt)&&Lt.tagName===Ve.tagName&&l.equalUnits(Ve,Lt),Kt=pt.find(Lt=>Ft&&St(D,Lt)===Ft&&Rt(Lt))||(it?pt.find(Rt):null);Kt&&(et.add(Kt),Be(Ve),Be(Kt),!(Ft&&St(D,Kt)===Ft)&&(c.set(Ve,Kt),c.set(Kt,Ve),T.add(b==="local"?Kt:Ve)))}return{partner:c,drop:T}}function bt(c,T,P){if(se.add(c),Ge.drop.has(c))return null;se.add(P);let U=T==="local"?c:P,_=T==="local"?P:c,q;return l.equalUnits(U,_)?(q=p(U,"local",!0),ye.get(q).remote=_):q=ue(U,_),pe({kind:"structure",el:q,detail:"both-moved",base:null,local:U,remote:_},{unit:{b:null,l:U,r:_}}),H({kind:"insert",el:q,source:"both"}),q}function Tt(){if(!K.weak||!D.weak||!K.weak.size||!D.weak.size||!K.unpair)return;let c=new Map;for(let P of K.weak){let U=Fe(K,P);Qe(P)&&Qe(U)&&c.set(l.unitHash(U),P)}let T=!1;for(let P of Array.from(D.weak)){let U=Fe(D,P);if(!Qe(P)||!Qe(U))continue;let _=c.get(l.unitHash(U));if(!_||_===P||!K.weak.has(_)||Fe(K,P)&&Fe(D,_))continue;let q=Fe(K,_);q.tagName===U.tagName&&l.equalUnits(q,U)&&(K.unpair(_),D.unpair(P),T=!0)}T&&(K.rematch(),D.rematch())}function tn(c,T){if(!c.weak||!c.weak.size||!T.insertedByHash)return;let P=T.insertedByHash();if(!P.size)return;let U=!1;for(let _ of Array.from(c.weak)){let q=Fe(c,_);if(!q)continue;let Y=P.get(l.unitHash(q));Y&&Y.some(ce=>ce.tagName===q.tagName&&l.equalUnits(ce,q))&&(c.unpair(_),U=!0)}U&&c.rematch()}function Fe(c,T){if(!T)return null;if(c.map.has(T))return c.map.get(T);let P=[],U=te(T);for(;U&&!c.map.has(U);U=te(U))P.push(U);let _=U;if(!_||!c.identical.has(_))return null;c.pairIdenticalChildren(_);for(let Y=P.length-1;Y>=0;Y--)c.pairIdenticalChildren(P[Y]);let q=c.map.get(T)||null;return q&&a.lazyTwins++,q}function Xt(c,T,P){if(at.has(c)||ft.has(c))return pe({kind:"structure",el:null,detail:"both-moved",base:c},{subject:c}),at.has(c)?null:p(P,T);let U=Fe(K,c),_=Fe(D,c);(!U||!_)&&pe({kind:"structure",el:null,detail:"move-beats-delete",base:c},{subject:c,deleted:U?"remote":"local"});let q=It(c,U,_,!1);return(T==="local"?H:fe)({kind:"move",el:q,source:T}),q}function Jt(c,T,P,U){return U||!T||T===P?{el:P,asBase:!0,twin:_=>_,baseOf:_=>_,units:i(P),here:()=>!0,parentOfTwin:()=>P}:{el:T,asBase:!1,twin:_=>Fe(c,_),baseOf:_=>c.reverse.get(_),units:i(T),here:_=>Qe(_)?_.parentNode===T||T.tagName==="TEMPLATE"&&_.parentNode===T.content:_.parent===T||T.tagName==="TEMPLATE"&&_.parent===T.content}}function Dt(c,T,P){return!T||P&&P.identical.has(c)?!1:Qe(c)?!l.equalUnits(c,T):c.value!==T.value}function It(c,T,P,U,_=!1){let q=U||n.remoteWins(c),Y=c.namespaceURI&&c.namespaceURI!=="http://www.w3.org/1999/xhtml"?V.createElementNS(c.namespaceURI,c.tagName):V.createElement(c.tagName),ce={base:c,local:T||null,remote:P||null};if(ye.set(Y,ce),se.add(c),at.add(c),T&&se.add(T),P&&se.add(P),n.skipUnchanged&&!_&&(n.localIsBase||K.identical.has(c))&&P&&D.identical.has(c)&&!n.remoteWins(c)){ce.unchanged=!0;for(let Ee of c.attributes)Ee.namespaceURI?Y.setAttributeNS(Ee.namespaceURI,Ee.name,Ee.value):Y.setAttribute(Ee.name,Ee.value);return Y}ft.add(c),_||v(c,q?c:T,P,Y);let Se=c.tagName;if(en(c))sn(c,q?c:T,P,Y);else if(Se==="TEXTAREA")Y.textContent=Et(c.textContent,(q?c:T)?(q?c:T).textContent:c.textContent,P?P.textContent:c.textContent,Y,"text");else{let Ee=y(c,T,P,q,Y),Ie=Se==="TEMPLATE"&&Y.content?Y.content:Y;for(let et of Ee)Ie.appendChild(et)}return ft.delete(c),Y}function Et(c,T,P,U,_){if(T===P)return T;if(T===c)return P!==c&&fe({kind:_,node:U,source:"remote"}),P;if(P===c)return H({kind:_,node:U,source:"local"}),T;let q=b==="local"?T:P;return pe({kind:_,node:U,base:c,local:T,remote:P,resolved:q},{site:"whole",el:U}),Oe.push({kind:_,node:U,source:"both"}),q}function sn(c,T,P,U){let _=c.textContent,q=T?T.textContent:_,Y=P?P.textContent:_,ce=N?Gn(c,n.mergeTags,!0):null;if(ce&&q!==Y){let Se=P&&P.getAttribute("merge-key")||c.getAttribute("merge-key"),{text:Ee,warnings:Ie}=wo(n.localIsBase?void 0:_,q,Y,{parse:ce.recognizer.parse,keyCandidates:Se?Se.split(/[\s,]+/).filter(Boolean):void 0});for(let et of Ie)console.warn(`[hyper-morph] merge "${ce.raw}": ${et}`);U.textContent=Ee,Ue.add(U),Ee!==Y?H({kind:"text",node:U,source:Ee===q?"local":"both"}):Ee!==_&&fe({kind:"text",node:U,source:"remote"});return}U.textContent=Et(_,q,Y,U,"text")}function v(c,T,P,U){let _=new Map;for(let q of[c,T,P])if(q)for(let Y of q.attributes)n.ignoreAttribute(q,Y.name)||_.set(Y.name,Y);for(let[q,Y]of _){let ce=c?c.getAttribute(q):null,Se=T?T.getAttribute(q):ce,Ee=P?P.getAttribute(q):ce,Ie;Se===Ee?Ie=Se:Se===ce?(Ie=Ee,fe({kind:"attr",el:U,name:q,source:"remote"})):Ee===ce?(Ie=Se,H({kind:"attr",el:U,name:q,source:"local"})):(Ie=X(q,ce,Se,Ee),Ie===void 0&&(Ie=b==="local"?Se:Ee,pe({kind:"attr",el:U,name:q,base:ce,local:Se,remote:Ee,resolved:Ie},{el:U,sample:Y})),Oe.push({kind:"attr",el:U,name:q,source:"both"})),Ie!=null&&(Y.namespaceURI?U.setAttributeNS(Y.namespaceURI,Y.name,Ie):U.setAttribute(q,Ie))}}function X(c,T,P,U){if(c==="class"){let _=Ee=>new Set((Ee||"").split(/\s+/).filter(Boolean)),q=_(T),Y=_(P),ce=_(U),Se=new Set;for(let Ee of new Set([...q,...Y,...ce])){let Ie=q.has(Ee),et=Y.has(Ee),Be=ce.has(Ee);(et===Be?et:et===Ie?Be:et)&&Se.add(Ee)}return[...Se].join(" ")}if(c==="style"){let _=Ie=>{let et=new Map;if(!Ie)return et;let Be=0,St=null,Ve="",pt=()=>{let it=Ve.indexOf(":");it>0&&et.set(Ve.slice(0,it).trim(),Ve.slice(it+1).trim()),Ve=""};for(let it of Ie){if(St){Ve+=it,it===St&&(St=null);continue}if(it==='"'||it==="'"){St=it,Ve+=it;continue}if(it==="("?Be++:it===")"&&Be--,it===";"&&Be===0){pt();continue}Ve+=it}return Ve.trim()&&pt(),et},q=_(T),Y=_(P),ce=_(U),Se=new Map,Ee=!1;for(let Ie of new Set([...q.keys(),...Y.keys(),...ce.keys()])){let et=q.get(Ie)??null,Be=Y.get(Ie)??null,St=ce.get(Ie)??null,Ve;Be===St?Ve=Be:Be===et?Ve=St:St===et?Ve=Be:(Ve=b==="local"?Be:St,Ee=!0),Ve!=null&&Se.set(Ie,Ve)}return Ee?void 0:[...Se].map(([Ie,et])=>`${Ie}: ${et}`).join("; ")}}function Q(c,T,P,U){let _=c.value,q=U?_:T?T.value:"",Y=P?P.value:"";se.add(c),T&&se.add(T),P&&se.add(P);let ce=Kn(_,q,Y,b),Se=ce.text===""?null:V.createTextNode(ce.text);Se&&(ye.set(Se,{base:c.nodes,local:T?T.nodes:null,remote:P?P.nodes:null}),be.set(Se,ce.mapLocalOffset)),q!==_&&Y!==_?Oe.push({kind:"text",node:Se,source:"both"}):q!==_?H({kind:"text",node:Se,source:"local"}):Y!==_&&fe({kind:"text",node:Se,source:"remote"});for(let Ee of ce.conflicts)pe({kind:"text",node:Se,base:_.slice(Ee.bs,Ee.be),local:Ee.local,remote:Ee.remote,resolved:Ee.resolved},{site:"run",bRun:c,lRun:T,rRun:P,node:Se,c:Ee});return Se}function de(c,T){return Wn(c,T).every(P=>P.bs===P.be)}function ie(c,T){let P=c?c.value:"",U=T?T.value:"",_;if(P===U||!U?_=P:P?de(P,U)?_=U:de(U,P)?_=P:(_=b==="local"?P:b==="both"?P+U:U,pe({kind:"structure",el:null,detail:"insert-collision",local:P,remote:U,resolved:_},{unit:{b:null,l:c,r:T},localLost:b==="remote"})):_=U,c&&se.add(c),T&&se.add(T),_==="")return null;let q=V.createTextNode(_);return ye.set(q,{base:null,local:c?c.nodes:null,remote:T?T.nodes:null}),P?H({kind:"insert",el:q,source:U&&P===U?"both":"local"}):fe({kind:"insert",el:q,source:"remote"}),q}function ue(c,T){let P={ignored:r,remoteWins:n.remoteWins,inlineCache:le},U=ce=>i(ce).every(Se=>Qe(Se)?Bn(Se,P):Se.kind==="text"),_=null;if(U(c)&&U(T)){let ce=c.textContent,Se=T.textContent;ce===Se||de(Se,ce)?_=T:de(ce,Se)&&(_=c)}if(!_){let ce=b==="local",Se=p(ce?c:T,ce?"local":"remote",!0),Ee=ye.get(Se);return ce?Ee.remote=T:Ee.local=c,pe({kind:"structure",el:Se,detail:"insert-collision",local:c,remote:T,resolved:ce?c:T},{unit:{b:null,l:c,r:T},localLost:!ce}),Se}let q=c.namespaceURI&&c.namespaceURI!=="http://www.w3.org/1999/xhtml"?V.createElementNS(c.namespaceURI,c.tagName):V.createElement(c.tagName);v(null,c,T,q),ye.set(q,{base:null,local:c,remote:T}),se.add(c),se.add(T);let Y=Wo({base:Array.from(_.childNodes),local:Array.from(c.childNodes),remote:Array.from(T.childNodes),out:V,policy:b,idOf:{local:R,remote:F},ignored:r,ignoreAttribute:n.ignoreAttribute,remoteWins:n.remoteWins,provenance:ye,textMappers:be,conflicts:He,conflict:pe,scope:{base:null,local:c,remote:T,units:[],at:0},synthetic:!0,decisions:Oe,node:q});ze.push(...Y.segments);for(let ce of Y.nodes)q.appendChild(ce);return q}function p(c,T,P=!1){if(!P&&Qe(c)){let Y=Ge.partner.get(c);if(Y)return bt(c,T,Y)}if(!Qe(c)){if(c.value==="")return null;let Y=c.kind==="comment"?V.createComment(c.value):V.createTextNode(c.value);return ye.set(Y,{base:null,local:T==="local"?c.nodes:null,remote:T==="remote"?c.nodes:null}),se.add(c),Y}let U=c.namespaceURI&&c.namespaceURI!=="http://www.w3.org/1999/xhtml"?V.createElementNS(c.namespaceURI,c.tagName):V.createElement(c.tagName);for(let Y of c.attributes)Y.namespaceURI?U.setAttributeNS(Y.namespaceURI,Y.name,Y.value):U.setAttribute(Y.name,Y.value);ye.set(U,{base:null,local:T==="local"?c:null,remote:T==="remote"?c:null}),se.add(c);let _=c.tagName==="TEMPLATE"&&U.content?U.content:U,q=T==="local"?K:D;for(let Y of i(c)){let ce=Qe(Y)?q.reverse.get(Y):null;if(ce&&at.has(ce)){pe({kind:"structure",el:null,detail:"both-moved",base:ce},{subject:ce});continue}if(ce&&!ft.has(ce)){let Ee=Fe(K,ce)||null,Ie=Fe(D,ce)||null;if(Ee||Ie){let et=It(ce,Ee,Ie,!1);T==="local"?H({kind:"move",el:et,source:"local"}):fe({kind:"move",el:et,source:"remote"}),_.appendChild(et);continue}}let Se=p(Y,T);Se&&_.appendChild(Se)}return U}function y(c,T,P,U,_){T&&K.identical.has(c)&&K.pairIdenticalChildren(c),P&&D.identical.has(c)&&D.pairIdenticalChildren(c);let q=Jt(K,T,c,U),Y=Jt(D,P,c,!1),ce=i(c),Se=new Set(ce),Ee=new Map;for(let J=0;J<ce.length;J++)Ee.set(ce[J],J);let Ie=[],et=new Set,Be=new Map,St=new Set,Ve=new Set,pt=[];zt();let it=J=>{let Re=[];for(let ve of J.units){if(Ve.has(ve))continue;let Ye=J.baseOf(ve);Ye&&Se.has(Ye)&&Re.push(Ye)}return Re},Ft=J=>it(J).map(Re=>Ee.get(Re)),Rt=J=>J.every((Re,ve)=>ve===0||Re>=J[ve-1]),Kt=!q.asBase&&!Rt(Ft(q)),Lt=!Y.asBase&&!Rt(Ft(Y));Kt&&Lt&&pe({kind:"structure",el:_,detail:"both-reordered",base:c},{subject:c,lKept:it(q),rKept:it(Y)});let ut=Lt||!Kt?{V:Y,A:D,side:"remote",other:q,otherA:K,otherSide:"local"}:{V:q,A:K,side:"local",other:Y,otherA:D,otherSide:"remote"};Kt?H({kind:"move",el:null,source:Lt?"both":"local",base:c}):Lt&&fe({kind:"move",el:null,source:"remote",base:c});let At=q.asBase?[]:q.units.filter(J=>!q.baseOf(J)&&!Ve.has(J)&&!Ge.partner.has(J)),Nt=Y.asBase?[]:Y.units.filter(J=>!Y.baseOf(J)&&!Ve.has(J)&&!Ge.partner.has(J)),jt=new Map;if(At.length&&Nt.length){let J=new Map,Re=new Map;for(let De of Nt){if(Qe(De)){let tt=F(De);tt&&J.set(tt,De)}let Ke=l.unitHash(De);Re.has(Ke)||Re.set(Ke,[]),Re.get(Ke).push(De)}let ve=(De,Ke)=>{let tt=De.units.indexOf(Ke);for(let _e=tt-1;_e>=0;_e--){let ot=De.baseOf(De.units[_e]);if(ot)return ot}return"start"},Ye=new Map,lt=new Map;for(let De of Nt){let Ke=ve(Y,De);Qe(De)?(lt.has(Ke)||lt.set(Ke,[]),lt.get(Ke).push(De)):De.kind==="text"&&!Ye.has(Ke)&&Ye.set(Ke,De)}for(let De of At){let Ke=null;if(Qe(De)){let tt=R(De);tt&&J.has(tt)&&!jt.has(J.get(tt))&&(Ke=J.get(tt))}else if(De.kind==="text"){let tt=Ye.get(ve(q,De));tt&&!jt.has(tt)&&(Ke=tt)}if(!Ke){let tt=Re.get(l.unitHash(De));tt&&(Ke=tt.find(_e=>!jt.has(_e)&&Qe(_e)===Qe(De)&&(Qe(_e)?_e.tagName===De.tagName:_e.kind===De.kind)&&l.equalUnits(De,_e))||null)}if(!Ke&&Qe(De)){let tt=k.local(De),_e=(lt.get(ve(q,De))||[]).filter(ot=>{let Zt=k.remote(ot);return!jt.has(ot)&&ot.tagName===De.tagName&&!(tt&&Zt&&tt!==Zt)&&l.similar(De,ot)});_e.length===1&&(Ke=_e[0])}Ke&&(jt.set(Ke,De),jt.set(De,Ke))}}let Qt=J=>{if(se.has(J))return Be.get(J)||null;let Re=q.twin(J),ve=Y.twin(J),Ye=Re&&!q.asBase&&!q.here(Re),lt=ve&&!Y.asBase&&!Y.here(ve);if(Ye||lt){if((!Re||!ve)&&pe({kind:"structure",el:null,detail:"move-beats-delete",base:J},{subject:J,deleted:Re?"remote":"local"}),!G(J))return se.add(J),null;pe({kind:"structure",el:null,detail:"both-moved",base:J},{subject:J})}if(!Re&&!ve)return se.add(J),fe({kind:"remove",source:"both",base:J}),null;if(!Re&&!Dt(J,ve,D))return se.add(J),H({kind:"remove",source:"local",base:J}),null;if(!ve&&!Dt(J,Re,K))return se.add(J),fe({kind:"remove",source:"remote",base:J}),null;let De=!Re||!ve,Ke=q.asBase?Fe(K,J)||null:Re,tt=Y.asBase&&Qe(J)&&(D.identityPaired.has(J)||!k.base(J))&&Fe(D,J)||ve,_e;return Qe(J)?_e=It(J,Ke,tt,q.asBase):J.kind==="comment"?_e=x(J,Ke,ve,q.asBase):_e=Q(J,Ke,ve,q.asBase),se.add(J),_e&&(Be.set(J,_e),Re&&Be.set(Re,_e),ve&&Be.set(ve,_e),De&&(pe({kind:"structure",el:_e,detail:"edit-beats-delete",base:J},{subject:J,deleted:Re?"remote":"local"}),Re?H({kind:"insert",el:_e,source:"local"}):fe({kind:"insert",el:_e,source:"remote"}))),_e},fn=(J,Re,ve,Ye)=>{if(se.has(J))return Be.get(J)||null;let lt=Re.baseOf(J);if(lt&&Se.has(lt))return Ve.has(lt)&&!Ve.has(J)?An(lt,J,Ye):Qt(lt);if(lt)return vn(lt,J,Ye);let De=jt.get(J);if(De){let tt=Ye==="local"?J:De,_e=Ye==="local"?De:J,ot;return Qe(tt)?l.equalUnits(tt,_e)?(ot=p(tt,"local"),ye.get(ot).remote=_e):ot=ue(tt,_e):ot=ie(tt,_e),se.add(tt),se.add(_e),ot&&(Be.set(tt,ot),Be.set(_e,ot),Qe(tt)&&H({kind:"insert",el:ot,source:"both"})),ot}let Ke=p(J,Ye);return Ke&&(Be.set(J,Ke),Ye==="local"?H({kind:"insert",el:Ke,source:"local"}):fe({kind:"insert",el:Ke,source:"remote"})),Ke},An=(J,Re,ve)=>{let Ye;return Qe(J)?(Ye=Xt(J,ve,Re),Ye&&se.add(Re)):(Ye=p(Re,ve),se.add(Re),Ye&&(ve==="local"?H:fe)({kind:"insert",el:Ye,source:ve})),Ye&&Be.set(Re,Ye),Ye},vn=(J,Re,ve)=>{let lt=Fe(ve==="local"?D:K,J),De=Re,Ke=lt?ge(lt,ve==="local"?P:T,ve==="local"?D:K):!1,tt=lt&&!Ke&&!Me(J,lt);if(tt&&ve===ut.otherSide)return pe({kind:"structure",el:null,detail:"both-moved",base:J},{subject:J}),null;if(tt&&pe({kind:"structure",el:null,detail:"both-moved",base:J},{subject:J}),lt||pe({kind:"structure",el:null,detail:"move-beats-delete",base:J},{subject:J,deleted:ve==="local"?"remote":"local"}),ft.has(J)){pe({kind:"structure",el:null,detail:"both-moved",base:J},{subject:J});let ot=p(De,ve);return ot&&Be.set(Re,ot),ot}let _e=Qe(J)?It(J,ve==="local"?De:Fe(K,J)||null,ve==="remote"?De:Fe(D,J)||null,!1):null;return _e&&(Be.set(J,_e),Be.set(Re,_e),lt&&Be.set(lt,_e),ve==="local"?H({kind:"move",el:_e,source:"local"}):fe({kind:"move",el:_e,source:"remote"})),_e};for(let J of ut.V.units){if(Ve.has(J)){let ve=Be.get(J);et.has(ve)||(Ie.push(ve),et.add(ve));continue}if(se.has(J)&&!(Be.get(J)&&et.has(Be.get(J)))){let ve=ut.V.baseOf(J);ve&&!Se.has(ve)&&pe({kind:"structure",el:null,detail:"both-moved",base:ve},{subject:ve});continue}let Re=fn(J,ut.V,ut.A,ut.side);Re&&!et.has(Re)&&(Ie.push(Re),et.add(Re),!ut.V.baseOf(J)&&!jt.has(J)&&!Ve.has(J)&&St.add(Re))}for(let J of pt)et.has(J.frag)||(Ie.splice(kn(J.at),0,J.frag),et.add(J.frag));if(!ut.other.asBase){let J=ut.other,Re=ut.otherSide,ve=ut.otherA,Ye=null,lt=0,De=null;for(let Ke of J.units){let tt=Be.get(Ke);if(tt&&et.has(tt)){Ye=tt,De=null;continue}if(se.has(Ke)){let Zt=J.baseOf(Ke);Zt&&!Se.has(Zt)&&pe({kind:"structure",el:null,detail:"both-moved",base:Zt},{subject:Zt});continue}let _e=fn(Ke,J,ve,Re);if(!_e)continue;let ot;if(De)ot=Ie.indexOf(De)+1;else if(Ye){if(ot=Ie.indexOf(Ye)+1,Re==="remote")for(;ot<Ie.length&&St.has(Ie[ot]);)ot++}else ot=lt++;Ie.splice(ot,0,_e),et.add(_e),De=_e}}for(let J=0;J<ce.length;J++){let Re=ce[J];if(se.has(Re))continue;let ve=Qt(Re);ve&&Ie.splice(kn(J),0,ve)}return Ie;function kn(J){for(let Re=J-1;Re>=0;Re--){let ve=Be.get(ce[Re]);if(ve){let Ye=Ie.indexOf(ve);if(Ye>=0)return Ye+1}}return 0}function rn(J){let Re={ignored:r,remoteWins:()=>!1},ve=ke=>J(ke)||Qe(ke)&&n.remoteWins(ke)&&wn.has(ke.tagName)&&Bn(ke,Re),Ye=new Map,lt=ke=>{if(!Qe(ke)||!qr.has(ke.tagName))return!1;let Ce=Ye.get(ke);return Ce===void 0&&(Ce=!r(ke)&&!n.remoteWins(ke)&&i(ke).every(ve),Ye.set(ke,Ce)),Ce},De=ke=>!Qe(ke)&&ke.kind==="text",Ke=null,tt=new Map,_e=ke=>{let Ce=tt.get(ke);if(Ce)return Ce;let We=Qe(ke)?ke.textContent:ke.value;Ce=new Set;let nt=We.toLowerCase();if(!(We.length>Ms))if(/^[\x00-\x7f]*$/.test(nt))for(let $e of nt.split(/[^\p{L}\p{N}]+/u))$e&&Ce.add($e);else for(let $e of Do(nt))/^[\s\p{P}]+$/u.test($e)||Ce.add($e);return tt.set(ke,Ce),Ce},ot=ke=>(Qe(ke)?ke.textContent:ke.value).toLowerCase().replace(/\s+/g," ").trim(),Zt=new Map,En=ke=>{let Ce=Zt.get(ke);if(Ce)return Ce;Ce=new Set(_e(ke));let We=$e=>{if($e)for(let yt of _e($e))Ce.add(yt)},nt=Se.has(ke)?ke:!q.asBase&&q.baseOf(ke)||!Y.asBase&&Y.baseOf(ke);return nt&&(We(nt),We(Fe(K,nt)),We(Fe(D,nt))),Zt.set(ke,Ce),Ce},un=(ke,Ce)=>{let We=ot(Ce),nt=Se.has(ke)?ke:!q.asBase&&q.baseOf(ke)||!Y.asBase&&Y.baseOf(ke),$e=Ut=>We?Ut.split(We).length-1:0;if(nt&&Qe(Ce)&&!Se.has(Ce)){let Ut=$e(ot(nt));for(let Vt of[Fe(K,nt),Fe(D,nt)]){if(!Vt||Vt===Ce||Vt.ownerDocument!==Ce.ownerDocument)continue;let cn=ot(Vt);if(cn.length>We.length&&$e(cn)>=Ut&&(cn.startsWith(We)||cn.endsWith(We)))return!1}}let yt=_e(Ce),kt=En(ke),Pt=0;for(let Ut of yt)kt.has(Ut)&&Pt++;if(yt.size&&Pt*2>=yt.size)return!0;if(!We||We.length>Ms)return!1;let Wt=nt?[ke,nt,Fe(K,nt),Fe(D,nt)]:[ke],nn=(Ut,Vt)=>Ut!==Vt&&(Ut.startsWith(Vt)||Ut.endsWith(Vt));if(Wt.some(Ut=>Ut&&nn(ot(Ut),We)))return!0;if(!Se.has(Ce)||!nt)return!1;let Ot=ot(ke),Sn=ot(nt);return[Fe(K,Ce),Fe(D,Ce)].some(Ut=>{let Vt=Ut&&ot(Ut);return!!Vt&&Ot!==Vt&&(Ot.startsWith(Vt)&&!Sn.startsWith(Vt)||Ot.endsWith(Vt)&&!Sn.endsWith(Vt))})},ln=ke=>{Ke||(Ke=new Set),Ke.add(ke)},Rn=ke=>{ln(ke);for(let[Ce,We]of[[K,q],[D,Y]]){if(We.asBase)continue;let nt=Fe(Ce,ke);nt&&We.here(nt)&&ln(nt)}},Xe=(ke,Ce)=>ke.asBase||ce.every(We=>!Qe(We)||Ce.identical.has(We)&&ke.here(Fe(Ce,We)))&&ke.units.every(We=>!Qe(We)||ke.baseOf(We));if(Xe(q,K)&&Xe(Y,D))return null;let dt=ke=>{if(ke.asBase)return!1;let Ce=-1;for(let We of ke.units){let nt=Qe(We)?ke.baseOf(We):null;if(!nt||!Se.has(nt))continue;let $e=Ee.get(nt);if($e<Ce)return!0;Ce=$e}return!1};if(dt(q)||dt(Y))return null;for(let[ke,Ce]of[[q,K],[Y,D]]){if(ke.asBase||Xe(ke,Ce))continue;let We=ke.units,nt=Ce===K?k.local:k.remote,$e=(Pe,ht)=>{let Mt=Qe(Pe)&&k.base(Pe),xt=Qe(ht)&&nt(ht);return!Mt||!xt||Mt===xt},yt=new Map;for(let Pe=0;Pe<We.length;Pe++)yt.set(We[Pe],Pe);let kt=Pe=>!!Pe&&(Qe(Pe)?ke.here(Pe):yt.has(Pe)),Pt=Pe=>{let ht=ke.twin(Pe);return kt(ht)?ht:null},Wt=ce.filter(Pe=>!ke.twin(Pe)&<(Pe)),nn=We.filter(Pe=>!ke.baseOf(Pe)&<(Pe)),Ot=(Pe,ht)=>ht===ce?!!Pt(Pe):Se.has(ke.baseOf(Pe)),Sn=Pe=>{let ht=new Int32Array(Pe.length),Mt=new Int32Array(Pe.length),xt=-1;for(let mt=0;mt<Pe.length;mt++)ht[mt]=xt,Ot(Pe[mt],Pe)&&(xt=mt);xt=Pe.length;for(let mt=Pe.length-1;mt>=0;mt--)Mt[mt]=xt,Ot(Pe[mt],Pe)&&(xt=mt);return{prev:ht,next:Mt}},Ut=Sn(We),Vt=Sn(ce),cn=(Pe,ht)=>{Rn(Pe),ln(ht)};for(let Pe of nn){let ht=yt.get(Pe),Mt=Ut.prev[ht],xt=Ut.next[ht],mt=Mt>=0?ke.baseOf(We[Mt]):null,mn=xt<We.length?ke.baseOf(We[xt]):null,_t=mt?Ee.get(mt):-1,On=mn?Ee.get(mn):ce.length;for(let yn=Math.max(0,_t);yn<=Math.min(On,ce.length-1);yn++){let $t=ce[yn];(lt($t)||De($t))&&(!$e($t,Pe)||!un($t,Pe)||(De($t)?ln(Pe):cn($t,Pe)))}}let pn=(Pe,ht,Mt)=>{for(let xt=ht+Mt;xt>=0&&xt<Pe.length;xt+=Mt){let mt=Pe[xt];if(lt(mt))return mt;if(Qe(mt)||mt.value.trim())return null}return null},lo=Pe=>{let ht=new Set;for(let Mt of i(Pe))if(!Qe(Mt)&&Mt.kind==="text")for(let xt of _e(Mt))ht.add(xt);return ht},Un=(Pe,ht)=>{let Mt=_e(ht),xt=new Set;for(let mt of lo(Pe))Mt.has(mt)||xt.add(mt);return xt},eo=(Pe,ht)=>{if(!Pe.size)return!1;let Mt=_e(ht),xt=0;for(let mt of Pe)Mt.has(mt)&&xt++;return xt*2>=Pe.size};for(let Pe of ce){if(Ce.identical.has(Pe)||!lt(Pe))continue;let ht=Pt(Pe);if(!ht||!lt(ht))continue;let Mt=Un(ht,Pe),xt=Un(Pe,ht);for(let mt of[-1,1]){let mn=pn(ce,Ee.get(Pe),mt);mn&&eo(Mt,mn)&&(cn(Pe,ht),Rn(mn));let _t=pn(We,yt.get(ht)??-1,mt);if(_t&&eo(xt,_t)){cn(Pe,ht);let On=ke.baseOf(_t);On?cn(On,_t):ln(_t)}}}for(let Pe of Wt){let ht=Ee.get(Pe),Mt=Vt.prev[ht],xt=Vt.next[ht],mt=Mt>=0?Pt(ce[Mt]):null,mn=xt<ce.length?Pt(ce[xt]):null,_t=mt?yt.get(mt)??-1:-1,On=mn?yt.get(mn)??-1:We.length;for(let yn=Math.max(0,_t);yn<=Math.min(On,We.length-1);yn++){let $t=We[yn];if((lt($t)||De($t))&&!(!$e(Pe,$t)||!un($t,Pe))&&(Rn(Pe),!De($t))){let co=ke.baseOf($t);co?cn(co,$t):ln($t)}}}}if(!Ke)return null;for(let ke of Array.from(Ke))if(Se.has(ke))for(let Ce of[K,D]){let We=Fe(Ce,ke);We&&!ge(We,Ce===K?T:P,Ce)&&!(Ce===K?q:Y).asBase&&(Ke.delete(ke),Ke.delete(Fe(K,ke)),Ke.delete(Fe(D,ke)))}return Ke.size?Ke:null}function zt(){if((q.asBase||K.identical.has(c))&&(Y.asBase||D.identical.has(c)))return;let J={ignored:r,remoteWins:n.remoteWins,inlineCache:le},Re=Xe=>Qe(Xe)?Bn(Xe,J):Xe.kind==="text",ve=rn(Re),Ye=Xe=>ve&&ve.has(Xe)||Re(Xe),lt=ce.map(Ye);if(!lt.includes(!0))return;let De=Xe=>{let dt=Xe.units,ke=new Map;for(let kt=0;kt<dt.length;kt++)ke.set(dt[kt],kt);let Ce=[],We=-1;for(let kt=0;kt<ce.length;kt++){if(lt[kt])continue;let Pt=Xe.twin(ce[kt]),Wt=Pt?ke.get(Pt):void 0;Wt===void 0||Wt<=We||Ye(Pt)||(Ce.push([kt,Wt]),We=Wt)}let nt=[],$e=-1,yt=-1;for(let kt=0;kt<=Ce.length;kt++){let[Pt,Wt]=kt<Ce.length?Ce[kt]:[ce.length,dt.length],nn={bLo:-1,bHi:-1,sLo:-1,sHi:-1,next:Wt};for(let Ot=$e+1;Ot<Pt;Ot++)lt[Ot]&&(nn.bLo<0&&(nn.bLo=Ot),nn.bHi=Ot);for(let Ot=yt+1;Ot<Wt;Ot++)Ye(dt[Ot])&&(nn.sLo<0&&(nn.sLo=Ot),nn.sHi=Ot);nt.push(nn),$e=Pt,yt=Wt}return{units:dt,list:nt}},Ke=De(q),tt=De(Y),_e=[];for(let Xe of[Ke,tt])for(let dt of Xe.list)dt.bLo>=0&&_e.push([dt.bLo,dt.bHi]);_e.sort((Xe,dt)=>Xe[0]-dt[0]);let ot=[];for(let[Xe,dt]of _e){let ke=ot[ot.length-1];ke&&Xe<=ke.hi?ke.hi=Math.max(ke.hi,dt):ot.push({lo:Xe,hi:dt})}let Zt=(Xe,dt)=>{let ke=-1,Ce=-1;for(let $e=0;$e<Xe.list.length;$e++){let yt=Xe.list[$e];yt.bLo<dt.lo||yt.bLo>dt.hi||(ke<0&&(ke=$e),Ce=$e)}let We=1/0,nt=-1;for(let $e=ke;$e>=0&&$e<=Ce;$e++){let yt=Xe.list[$e];yt.sLo>=0&&(We=Math.min(We,yt.sLo),nt=Math.max(nt,yt.sHi)),$e<Ce&&(We=Math.min(We,yt.next),nt=Math.max(nt,yt.next))}return nt<0?[]:Xe.units.slice(We,nt+1)},En=(Xe,dt)=>Xe.length===dt.length&&Xe.every((ke,Ce)=>l.equalUnits(ke,dt[Ce])),un=Xe=>!Qe(Xe)&&Xe.kind==="comment",ln=Xe=>{if(!Xe.length)return[];let dt=($e,yt)=>Qe($e)?$e:$e.nodes[yt?$e.nodes.length-1:0],ke=dt(Xe[0]),Ce=dt(Xe[Xe.length-1],!0),We=$e=>$e&&Qe($e)&&r($e);for(;We(ke.previousSibling);)ke=ke.previousSibling;for(;We(Ce.nextSibling);)Ce=Ce.nextSibling;let nt=[];for(let $e=ke;$e&&(nt.push($e),$e!==Ce);$e=$e.nextSibling);return nt},Rn=Xe=>Xe.some(dt=>Qe(dt)&&r(dt));for(let Xe of ot){let dt=ce.slice(Xe.lo,Xe.hi+1),ke=q.asBase?null:Zt(Ke,Xe),Ce=Y.asBase?null:Zt(tt,Xe);if(dt.some(un)||ke&&ke.some(un)||Ce&&Ce.some(un))continue;let We=ln(ke||dt),nt=ln(Ce||dt);if((!ke||En(dt,ke))&&(!Ce||En(dt,Ce))&&!(ke&&Rn(We)))continue;let $e=Wo({base:ln(dt),local:We,remote:nt,out:V,policy:b,blocks:ve,L:ke?K:Is(K,c),R:Ce?D:Is(D,c),idOf:{local:R,remote:F},ignored:r,ignoreAttribute:n.ignoreAttribute,remoteWins:n.remoteWins,mergeElement:(kt,Pt,Wt)=>It(kt,Pt,Wt,!1),cloneUnit:p,mergeAttrs:v,atomKey:l.exactUnitKey,moveIn:Xt,provenance:ye,textMappers:be,conflicts:He,conflict:pe,scope:{base:c,local:q.asBase?null:q.el,remote:Y.asBase?null:Y.el,units:ce,at:Xe.lo},decisions:Oe,node:_});ze.push(...$e.segments);let yt=V.createDocumentFragment();for(let kt of $e.nodes)yt.appendChild(kt);for(let kt of[...dt,...ke||[],...Ce||[]])se.add(kt),Ve.add(kt),Be.set(kt,yt);pt.push({frag:yt,at:Xe.lo})}}}function E(c,T){let P=ye.get(c);return P&&P.unchanged?!P.remote||P.remote===T?!0:f(P.remote,T):c.tagName!==T.tagName||!W(c,T)?!1:j(C(c),C(T))}function f(c,T){return c===T?!0:c.tagName!==T.tagName||c.namespaceURI!==T.namespaceURI||!W(c,T)?!1:m(C(c),C(T))}function m(c,T){let P=z(c,r),U=z(T,r);if(P.length!==U.length)return!1;for(let _=0;_<P.length;_++){let q=P[_],Y=U[_];if(typeof q=="string"||typeof Y=="string"){if(q!==Y)return!1}else{if(q.nodeType!==Y.nodeType)return!1;if(q.nodeType===1){if(!f(q,Y))return!1}else if(q.nodeValue!==Y.nodeValue)return!1}}return!0}function C(c){return c.tagName==="TEMPLATE"&&c.content?c.content:c}function W(c,T){let P=0;for(let U of c.attributes)if(!n.ignoreAttribute(c,U.name)&&(P++,T.getAttribute(U.name)!==U.value))return!1;for(let U of T.attributes)n.ignoreAttribute(T,U.name)||P--;return P===0}function j(c,T){let P=z(c,_=>{let q=ye.get(_);return!!(q&&q.pinned)}),U=z(T,r);if(P.length!==U.length)return!1;for(let _=0;_<P.length;_++){let q=P[_],Y=U[_];if(typeof q=="string"||typeof Y=="string"){if(q!==Y)return!1}else{if(q.nodeType!==Y.nodeType)return!1;if(q.nodeType===1){if(!E(q,Y))return!1}else if(q.nodeValue!==Y.nodeValue)return!1}}return!0}function z(c,T){let P=[],U=null;for(let _=c.firstChild;_;_=_.nextSibling){if(_.nodeType===3){U=U===null?_.nodeValue:U+_.nodeValue;continue}_.nodeType===1&&T(_)||(U!==null&&(U!==""&&P.push(U),U=null),P.push(_))}return U!==null&&U!==""&&P.push(U),P}function x(c,T,P,U){let _=c.value,q=U?_:T?T.value:"",Y=P?P.value:"";se.add(c),T&&se.add(T),P&&se.add(P);let ce=q===Y?q:q===_?Y:Y===_||b==="local"?q:Y,Se={site:"comment",bRun:c,lRun:T,rRun:P,node:null};if(q!==_&&Y!==_&&q!==Y&&pe({kind:"text",node:null,base:_,local:q,remote:Y,resolved:ce},Se),!T&&!P)return null;let Ee=V.createComment(ce);return Se.node=Ee,ye.set(Ee,{base:c.nodes,local:T?T.nodes:null,remote:P?P.nodes:null}),Ee}function S(c,T){let P=Fe(T,c);if(!P)return null;let U=Qe(P)?P.parentNode:P.parent,_=Qe(c)?c.parentNode:c.parent;return Fe(T,_)===U?null:T.reverse.get(U)||null}function G(c){let T=new Set([c]),P=c;for(let U=0;U<64;U++){let _=S(P,K)||S(P,D);if(!_)return!1;if(_===c||Qe(c)&&Qe(_)&&c.contains(_)||T.has(_))return!0;T.add(_),P=_}return!0}function ge(c,T,P){if(!T)return!1;let U=Qe(c)?c.parentNode:c.parent;return U===T||T.tagName==="TEMPLATE"&&U===T.content}function Me(c,T){let P=te(c),U=Fe(K,P);if(U&&ge(T,U,K))return!0;let _=Fe(D,P);return!!(_&&ge(T,_,D))}}function Is(e,o){return e.map.get(o)?Ls():{map:{get:n=>n&&n.nodeType===1&&e.map.get(n)||n,has:()=>!0},reverse:{get:n=>e.reverse.get(n)||n,has:()=>!0},moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}function Ls(){let e={get:o=>o,has:()=>!0};return{map:e,reverse:e,moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}var Cs=new Set(["INPUT","OPTION","TEXTAREA"]),Go=/[\t\n\f\r ]+/;function Es(e,o,t,n){let r=e.ownerDocument,{provenance:a,textMappers:l}=t,i=n.hooks,u=[],A=[],N=[],h=new Set,M=[],L=[],R=new Map,F=new Set,k=new Map,d=t.conflicts.length>0,w=new Map,Z=new Set,he=new Map,xe=(v,X)=>{let Q=he.get(v);Q||he.set(v,Q=new Set),Q.add(X)},ee=d?new Set:null,oe=(v,X,Q)=>{let de=i.beforeAttributeUpdated(v,X,Q);return d&&de===!1&&xe(X,v),de},re=v=>!!v&&(v===e||e.contains(v)||e.nodeType===1&&e.tagName==="TEMPLATE"&&e.content.contains(v)),ne=new Map,K=new Map,D=new Map,Ne=new Set,ae=new Map;(function v(X){let Q=a.get(X);if(Q){if(X.nodeType===1){let ie=Q.local?n.toLive(Q.local):null;ie&&re(ie)&&ie.nodeType===1&&(ne.set(X,ie),K.set(ie,X))}else if(Array.isArray(Q.local)){let ie=be(Q.local,Q.local.map(ue=>n.toLive(ue)).filter(ue=>ue&&re(ue)&&ue.nodeType===X.nodeType));if(ie.length&&(ne.set(X,ie[0]),K.set(ie[0],X),D.set(X,ie)),Array.isArray(Q.caret))for(let ue of Q.caret){let p=n.toLive(ue.node);if(!p||!re(p)||p.nodeType!==3)continue;let y=ae.get(p);Array.isArray(y)||ae.set(p,y=[]),y.push({merged:X,from:ue.from,to:ue.to,flatStart:ue.flatStart})}else{let ue=0;for(let p of ie)ae.set(p,{merged:X,shift:ue}),ue+=p.nodeValue.length}}}let de=X.nodeType===1&&X.tagName==="TEMPLATE"&&X.content?X.content.childNodes:X.childNodes;for(let ie of de)v(ie)})(o);let te=new Set;for(let v of ne.values())te.add(v);for(let v of D.values())for(let X of v)te.add(X);for(let v of t.segments||[])Oe(v);let V=n.restoreFocus===!1?null:Kr(r,ae);n.childrenOnly?se(He(e),He(o)):Ue(e,o);for(let{node:v,parent:X}of M)h.has(v)||!v.parentNode||v.nodeType===1&&(n.ignored(v)||at(v))||je(v,X);return Wr(r,V,ae,l,D,k,Ne),{applied:u,moved:A,replaced:N,identities:L,mergedScriptsLive:F,liveOf:ne,heldBy:k,runOf:D,keptRuns:Ne,insertedLive:w,vetoed:Z,vetoedAttrs:he,removedVetoes:ee};function ye(v,X){let Q=v.slice(X.bs,X.be),de=0;for(;de<Q.length&&de<X.text.length&&Q[de]===X.text[de];)de++;let ie=0;for(;ie<Q.length-de&&ie<X.text.length-de&&Q[Q.length-1-ie]===X.text[X.text.length-1-ie];)ie++;return{bs:X.bs+de,be:X.be-ie,text:X.text.slice(de,X.text.length-ie)}}function be(v,X){if(!X.length)return X;let Q=[];for(let ue of v){let p=ue.parentNode;if(!p)continue;let y=R.get(p);if(!y){y=new Set;for(let E=p.firstChild;E;E=E.nextSibling)E.nodeType===3&&y.add(n.toLive(E));R.set(p,y)}Q.includes(y)||Q.push(y)}let de={has:ue=>Q.some(p=>p.has(ue))},ie=[];for(let ue of X){ie.push(ue);for(let p=ue.nextSibling;p&&p.nodeType===3&&!de.has(p)&&!ie.includes(p);p=p.nextSibling)ie.push(p)}return ie}function Oe(v){let X=[];for(let x of v.localNodes){let S=n.toLive(x.node);if(!S||!re(S)||S.nodeType!==3)return;X.push(S)}let Q=be(v.localNodes.map(x=>x.node),X);if(!Q.length)return;let de=Q.map(x=>x.nodeValue).join(""),{flatLocal:ie,lToM:ue,mapLocal:p}=v;if(de===ie)return;let y=v.textNodes.map(x=>({node:x.node,ms:x.ms,me:x.me})),E=[],f=0;for(let x of Q)E.push(f),f+=x.nodeValue.length;let m=(x,S)=>Q.find((G,ge)=>E[ge]<=x&&x+S<=E[ge]+G.nodeValue.length)||null,C=[],W=0;for(let x of Wn(ie,de).map(S=>ye(ie,S))){let S=x.bs+W;W+=x.text.length-(x.be-x.bs);let G,ge;if(x.be>x.bs){G=ue[x.bs];let Me=G>=0;for(let c=x.bs;Me&&c<x.be;c++)ue[c]!==G+(c-x.bs)&&(Me=!1);if(!Me)continue;ge=G+(x.be-x.bs)}else{let Me=x.bs>0?ue[x.bs-1]:0,c=x.bs<ie.length?ue[x.bs]:0;if(Me<0||c<0)continue;G=ge=p(x.bs)}C.push({ms:G,me:ge,text:x.text,live:ge===G?m(S,x.text.length):null})}C.sort((x,S)=>S.ms-x.ms);let j=(x,S)=>(D.get(x.node)||[ne.get(x.node)]).includes(S),z=x=>!!x&&x.nodeType===1&&wn.has(x.tagName);for(let x of C){let S=y.find(ge=>ge.ms<=x.ms&&x.me<=ge.me&&x.ms<ge.me);if(S&&x.live&&S.ms===x.ms&&!j(S,x.live)){let ge=y.find(Me=>Me.me===x.ms&&j(Me,x.live));ge&&(S=ge)}if(!S&&x.me===x.ms){let ge=y.find(P=>P.me===x.ms),Me=y.find(P=>P.ms===x.ms),c=ge||Me;if(!c)continue;let T=c.node;for(;z(T.parentNode)&&(ge?T.parentNode.lastChild:T.parentNode.firstChild)===T;)T=T.parentNode;if(T===c.node)S=c;else{let P=T.ownerDocument.createTextNode(x.text);T.parentNode.insertBefore(P,ge?T.nextSibling:T);continue}}if(!S)continue;let G=S.node.nodeValue;S.node.nodeValue=G.slice(0,x.ms-S.ms)+x.text+G.slice(x.me-S.ms),S.me+=x.text.length-(x.me-x.ms)}}function He(v){return v.nodeType===1&&v.tagName==="TEMPLATE"&&v.content?v.content:v}function Ue(v,X){h.add(v);let Q=a.get(X);if(Q&&Q.remote&&t.remoteIdOf){let ie=t.remoteIdOf(Q.remote);ie&&L.push([v,ie])}if(Q&&Q.unchanged){t.customIdentity&&Q.remote&&H(v,Q.remote),Q.remote&&b(v,Q.remote);return}if(i.beforeNodeMorphed(v,X)===!1){Z.add(X);return}tn(v,X,n.keepLiveOnly&&Q&&Q.local&&Q.local.nodeType===1&&Q.local!==v?Q.local:null);let de=v.tagName;if(en(v))v.textContent!==X.textContent&&(u.push({kind:"text",node:v,before:v.textContent,after:X.textContent}),v.textContent=X.textContent),t.mergedScripts.has(X)&&F.add(v);else if(de==="TEXTAREA")sn(v,X,Q);else{It(v,X,Q);let ie=de==="TEMPLATE"&&v.content?v.content:v,ue=de==="TEMPLATE"&&X.content?X.content:X;n.protectFocusedValue==="subtree"&&Xt(v)&&v!==r.body?ze(ie):se(ie,ue)}i.afterNodeMorphed(v,X)}function ze(v){for(let X=v.firstChild;X;X=X.nextSibling){let Q=K.get(X);Q&&ne.get(Q.parentNode)!==v||(h.add(X),X.nodeType===1&&ze(X))}}function se(v,X){let Q=pe(v.firstChild),de=new Set;for(let ie of Array.from(X.childNodes)){let ue=ne.get(ie);ue&&h.has(ue)&&!de.has(ue)&&(ue=null);let p=a.get(ie);if(p&&p.pinned){ue&&ue.nodeType===1&&((ue.parentNode!==v||pe(ue.nextSibling)!==Q)&&Ge(v,ue,Q),h.add(ue),de.add(ue));continue}if(ue&&ue.nodeType===1){if(ue!==Q){let f=ue.parentNode;if(f===v&&Q&&Jt(ue)){let m=ue.nextSibling;for(let C=Q;C&&C!==ue;){let W=C.nextSibling;Ge(v,C,m),C=W}}else Ge(v,ue,Q),f!==v&&(A.push(ue),u.push({kind:"move",el:ue,from:f,to:v}))}de.add(ue),Ue(ue,ie),Q=pe(ue.nextSibling);continue}if(ue&&ue.nodeType!==1){let f=D.get(ie)||[ue],m=f.map(W=>W.nodeValue).join(""),C=ie.nodeValue;if(ie.nodeType===3){let W=ft(ie);W!=null&&m!==W&&(C=Kn(W,m,ie.nodeValue).text)}if(f.length>1&&m===C&&!f.includes(Q,1)&&f.every((W,j)=>W.parentNode===v&&(j===0||f[j-1].nextSibling===W))){if(ue!==Q)for(let W of f)Ge(v,W,Q);i.beforeNodeMorphed(ue,ie)!==!1?i.afterNodeMorphed(ue,ie):d&&Z.add(ie);for(let W of f)h.add(W),de.add(W);k.set(ie,ue),Ne.add(ie),Q=pe(f[f.length-1].nextSibling);continue}ue!==Q&&Ge(v,ue,Q),i.beforeNodeMorphed(ue,ie)!==!1?(ue.nodeValue!==C&&(u.push({kind:"text",node:ue,before:ue.nodeValue,after:C}),ue.nodeValue=C),i.afterNodeMorphed(ue,ie)):Z.add(ie),h.add(ue),de.add(ue),k.set(ie,ue),Q=pe(ue.nextSibling);continue}if(ie.nodeType===3&&Q&&Q.nodeType===3&&!h.has(Q)&&!ae.has(Q)){Q.nodeValue!==ie.nodeValue&&(u.push({kind:"text",node:Q,before:Q.nodeValue,after:ie.nodeValue}),Q.nodeValue=ie.nodeValue),h.add(Q),k.set(ie,Q),Q=pe(Q.nextSibling);continue}let y=a.get(ie),E=Ze(y&&y.unchanged&&y.remote?y.remote:ie);if(i.beforeNodeAdded(E)===!1){Z.add(ie);continue}v.insertBefore(E,Q),h.add(E),d&&w.set(ie,E),E.nodeType===3&&k.set(ie,E),E.nodeType===1&&(N.push(E),we(E,ie),t.customIdentity&&y&&y.unchanged&&y.remote&&H(E,y.remote),en(E)||rt(E,ie),n.formState==="property"&&Dt(y)&&b(E,y.remote)),Q=pe(E.nextSibling),u.push({kind:"insert",node:E,parent:v}),i.afterNodeAdded(E)}for(let ie of Array.from(v.childNodes))h.has(ie)||de.has(ie)||ie.nodeType===1&&(n.ignored(ie)||at(ie))||(te.has(ie)?M.push({node:ie,parent:v}):je(ie,v))}function at(v){return n.preserve&&v.parentNode&&v.parentNode.nodeType===1&&v.parentNode.tagName==="HEAD"&&n.preserve(v)===!0}function ft(v){let X=a.get(v);return!X||!Array.isArray(X.local)?null:X.local.map(Q=>Q.nodeValue).join("")}function le(v){return a.get(v)}function b(v,X){if(!Cs.has(v.tagName)&&!v.querySelector("input,option,textarea"))return;let Q=(de,ie)=>{if(de.tagName!==ie.tagName)return;de.tagName==="TEXTAREA"?sn(de,ie,{remote:ie}):Cs.has(de.tagName)&&It(de,ie,{remote:ie});let ue=fe(de),p=fe(ie);if(ue.length===p.length)for(let y=0;y<ue.length;y++)Q(ue[y],p[y])};Q(v,X)}function H(v,X){let Q=fe(v),de=fe(X);if(Q.length===de.length)for(let ie=0;ie<Q.length;ie++){let ue=t.remoteIdOf(de[ie]);ue&&L.push([Q[ie],ue]),H(Q[ie],de[ie])}}function fe(v){let X=v.tagName==="TEMPLATE"&&v.content?v.content:v;return Array.from(X.children).filter(Q=>!n.ignored(Q))}function we(v,X){if(!t.remoteIdOf)return;let Q=(de,ie)=>{let ue=a.get(ie);if(ue&&ue.remote&&ie.nodeType===1){let E=t.remoteIdOf(ue.remote);E&&L.push([de,E])}let p=de.childNodes,y=ie.childNodes;for(let E=0;E<p.length&&E<y.length;E++)Q(p[E],y[E])};Q(v,X)}function pe(v){for(;v&&v.nodeType===1&&n.ignored(v);)v=v.nextSibling;return v}function Ge(v,X,Q){if(typeof v.moveBefore=="function"&&X.ownerDocument===v.ownerDocument)try{v.moveBefore(X,Q);return}catch{}v.insertBefore(X,Q)}function je(v,X){if(i.beforeNodeRemoved(v)===!1){d&&ee.add(v);return}v.parentNode.removeChild(v),u.push({kind:"remove",node:v,parent:X}),i.afterNodeRemoved(v)}function Ze(v){if(en(v))return no(v,r);let X=r.importNode(v,!0);if(X.nodeType===1)for(let Q of Array.from(X.querySelectorAll("script")))en(Q)&&Q.replaceWith(no(Q,r));return X}function rt(v,X){let Q=v.tagName==="TEMPLATE"&&v.content?v.content:v,de=X.tagName==="TEMPLATE"&&X.content?X.content:X,ie=Array.from(Q.childNodes),ue=Array.from(de.childNodes);for(let p=0;p<ue.length&&p<ie.length;p++){let y=ue[p],E=ie[p],f=ne.get(y);f&&h.has(f)&&(f=null);let m=a.get(y);if(m&&m.pinned){if(f&&f.nodeType===1){let C=f.parentNode;Ge(Q,f,E),C!==Q&&(A.push(f),u.push({kind:"move",el:f,from:C,to:Q})),h.add(f)}E.remove();continue}if(f){let C=f.parentNode;Ge(Q,f,E),E.remove(),f.nodeType===1?(C!==Q&&(A.push(f),u.push({kind:"move",el:f,from:C,to:Q})),Ue(f,y)):(h.add(f),k.set(y,f),f.nodeValue!==y.nodeValue&&(u.push({kind:"text",node:f,before:f.nodeValue,after:y.nodeValue}),f.nodeValue=y.nodeValue));continue}h.add(E),d&&w.set(y,E),E.nodeType===3&&k.set(y,E),m&&m.unchanged&&m.remote?(wt(E,m.remote),t.customIdentity&&H(E,m.remote)):y.nodeType===1&&!en(y)&&rt(E,y)}}function wt(v,X){let Q=v.tagName==="TEMPLATE"&&v.content?v.content:v,de=X.tagName==="TEMPLATE"&&X.content?X.content:X;for(let ie of Array.from(de.childNodes))Q.appendChild(Ze(ie))}function bt(v,X){return X.namespaceURI?v.getAttributeNS(X.namespaceURI,X.localName):v.getAttribute(X.name)}function Tt(v,X){let Q=new Set((X||"").split(Go).filter(Boolean));return(v||"").split(Go).filter(de=>de&&!Q.has(de))}function tn(v,X,Q){for(let de of Array.from(X.attributes)){if(Fe(v,de.name)||n.ignoreAttribute(v,de.name))continue;let ie=bt(v,de);if(ie===de.value||Q&&bt(Q,de)===de.value)continue;let ue=de.value;if(Q&&de.name==="class"&&!de.namespaceURI){let p=de.value.split(Go).filter(Boolean),y=Tt(ie,Q.getAttribute("class")).filter(E=>!p.includes(E));y.length&&(ue=[...p,...y].join(" "))}if(ie!==ue){if(i.beforeAttributeUpdated(de.name,v,"update")===!1){d&&xe(X,de.name);continue}de.namespaceURI?v.setAttributeNS(de.namespaceURI,de.name,ue):v.setAttribute(de.name,ue),u.push({kind:"attr",el:v,name:de.name,before:ie,after:ue})}}for(let de of Array.from(v.attributes)){if(Fe(v,de.name)||n.ignoreAttribute(v,de.name)||(de.namespaceURI?X.hasAttributeNS(de.namespaceURI,de.localName):X.hasAttribute(de.name)))continue;if(Q&&de.name==="class"&&!de.namespaceURI){let p=Tt(de.value,Q.getAttribute("class"));if(p.length){let y=p.join(" ");if(y===de.value)continue;if(i.beforeAttributeUpdated("class",v,"update")===!1){d&&xe(X,"class");continue}v.setAttribute("class",y),u.push({kind:"attr",el:v,name:"class",before:de.value,after:y});continue}}if(Q&&bt(Q,de)===null)continue;if(i.beforeAttributeUpdated(de.name,v,"remove")===!1){d&&xe(X,de.name);continue}let ue=de.value;de.namespaceURI?v.removeAttributeNS(de.namespaceURI,de.localName):v.removeAttribute(de.name),u.push({kind:"attr",el:v,name:de.name,before:ue,after:null})}}function Fe(v,X){let Q=v.tagName;return Q==="INPUT"?X==="value"||X==="checked"||X==="disabled":Q==="OPTION"?X==="selected":!1}function Xt(v){return v===r.activeElement}function Jt(v){let X=r.activeElement;return!!X&&X!==r.body&&v.contains(X)}function Dt(v){let X=v&&v.remote;return X&&X.nodeType===1?X:null}function It(v,X,Q){let de=v.tagName,ie=Dt(Q),ue=n.formState==="property"&&ie?ie:X;if(de==="INPUT"){let p=n.protectFocusedValue&&Xt(v),y=(v.getAttribute("type")||"").toLowerCase(),E=y!=="file"&&y!=="checkbox"&&y!=="radio",f=ie&&ie.hasAttribute("value")&&ie.value!==ie.getAttribute("value")?ie.value:null;if(E&&!p)if(n.formState==="property"){let m=X.getAttribute("value"),C=v.getAttribute("value");(C!==m||v.value!==ue.value)&&oe("value",v,m==null?"remove":"update")!==!1&&(C!==m&&(m==null?v.removeAttribute("value"):v.setAttribute("value",m),u.push({kind:"attr",el:v,name:"value",before:C,after:m})),v.value!==ue.value&&(v.value=ue.value))}else if(X.hasAttribute("value")||f!=null){let m=f??X.getAttribute("value");v.getAttribute("value")!==m&&oe("value",v,"update")!==!1?(v.setAttribute("value",m),v.value!==m&&(v.value=m),u.push({kind:"attr",el:v,name:"value",before:null,after:m})):v.value!==m&&v.getAttribute("value")===m&&(v.value=m)}else(v.hasAttribute("value")||v.value!=="")&&oe("value",v,"remove")!==!1&&(v.removeAttribute("value"),v.value="",u.push({kind:"attr",el:v,name:"value",before:"",after:null}));if(!E&&y!=="file"){let m=X.getAttribute("value");m==null?v.hasAttribute("value")&&oe("value",v,"remove")!==!1&&v.removeAttribute("value"):v.getAttribute("value")!==m&&oe("value",v,"update")!==!1&&v.setAttribute("value",m)}p||(Et(v,ue,"checked"),n.formState==="property"&&v.indeterminate!==ue.indeterminate&&(v.indeterminate=ue.indeterminate)),Et(v,ue,"disabled")}else if(de==="OPTION"){let p=v.parentNode&&v.closest("select");n.protectFocusedValue&&p&&Xt(p)||Et(v,ue,"selected")}}function Et(v,X,Q){let de=n.formState==="property"?!!X[Q]:X.hasAttribute(Q);if(n.formState!=="property"){let ie=v.hasAttribute(Q);if(ie!==de){if(oe(Q,v,de?"update":"remove")===!1)return;de?v.setAttribute(Q,""):v.removeAttribute(Q),u.push({kind:"attr",el:v,name:Q,before:ie?"":null,after:de?"":null})}}v[Q]!==de&&(v[Q]=de)}function sn(v,X,Q){if(n.protectFocusedValue&&Xt(v)||oe("value",v,"update")===!1)return;let de=Dt(Q),ie=X.textContent,ue=de&&de.value!==de.defaultValue?de.value:ie;n.formState!=="property"&&v.textContent!==ie&&(u.push({kind:"text",node:v,before:v.textContent,after:ie}),v.textContent=ie),v.value!==ue&&(v.value=ue)}}function Kr(e,o){let t=e.activeElement;if(!t||t===e.body||t===e.documentElement)return null;let n={el:t,id:t.getAttribute&&t.getAttribute("id"),scrollTop:t.scrollTop,scrollLeft:t.scrollLeft};if(t.tagName==="INPUT"||t.tagName==="TEXTAREA"){try{n.selection=[t.selectionStart,t.selectionEnd,t.selectionDirection]}catch{}return n}let r=e.getSelection&&e.getSelection();if(r&&r.rangeCount){let a=r.getRangeAt(0);n.range={sc:a.startContainer,so:a.startOffset,ec:a.endContainer,eo:a.endOffset}}return n}function Wr(e,o,t,n,r,a,l){if(!o)return;let i=o.el;if(!i.isConnected&&o.id&&(i=e.getElementById(o.id)),!i||!i.isConnected)return;if(e.activeElement!==i)try{i.focus({preventScroll:!0})}catch{}try{i.scrollTop=o.scrollTop,i.scrollLeft=o.scrollLeft}catch{}if(o.selection){try{i.setSelectionRange&&!i.selectionEnd&&o.selection[1]!=null&&i.setSelectionRange(o.selection[0],o.selection[1],o.selection[2]||"none")}catch{}return}if(!o.range)return;let u=(h,M)=>{let L=t.get(h);if(Array.isArray(L)){let R=L.find(w=>M>=w.from&&M<w.to)||L.find(w=>M===w.to)||L[L.length-1],F=a.get(R.merged);if(!F||!F.isConnected)return null;let k=n.get(R.merged),d=k&&k.flat?k.flat(R.flatStart+M):M;return[F,Math.max(0,Math.min(d,F.nodeValue.length))]}if(L&&!l.has(L.merged)){let R=(r.get(L.merged)||[h])[0];if(!R.isConnected)return null;let F=n.get(L.merged),k=L.shift+M,d=F?F(k):k;return[R,Math.max(0,Math.min(d,R.nodeValue.length))]}return h.isConnected?[h,Math.min(M,h.nodeType===3?h.nodeValue.length:h.childNodes.length)]:null},A=u(o.range.sc,o.range.so),N=u(o.range.ec,o.range.eo);if(!(!A||!N))try{let h=e.createRange();h.setStart(A[0],A[1]),h.setEnd(N[0],N[1]);let M=e.getSelection();M.removeAllRanges(),M.addRange(h)}catch{}}var Fr={compared:0},zr=new Set(["INPUT","SELECT","OPTION","TEXTAREA"]);function $r(e,o,t){let n=0;for(let r of e.attributes)if(!t(e,r.name)&&(n++,o.getAttribute(r.name)!==r.value))return!1;for(let r of o.attributes)t(o,r.name)||n--;return n===0}function Yo(e,o){if(e.namespaceURI!==o.namespaceURI||e.prefix!==o.prefix||e.localName!==o.localName)return!1;let t=e.attributes;if(t.length!==o.attributes.length)return!1;for(let n of t)if(o.getAttributeNS(n.namespaceURI,n.localName)!==n.value)return!1;return!0}function Rs(e,o,t,n,r,a,l,i){let u=new Map,A=new Set,N=h=>{if(n(h))return;let M=t(h);M&&(a.add(M),r.has(M)||u.has(M)?A.add(M):u.set(M,h))};for(let h of e)N(h);N(o);for(let h of l||o.querySelectorAll("*"))N(h);for(let h of A)u.delete(h),i.add(h);return u}function Ps(e,o,t,n,r,a){let l=!1;for(let N of r)N.startsWith("merge:")&&(l=!0);if(!l)return[...n];let i=new Map,u=[],A=a===an?so:"*";for(let N of[e,...e.querySelectorAll(A)]){if(t(N))continue;let h=o(N);if(!h||!(n.has(h)||r.has(h)))continue;let M=(i.get(h)||0)+1;i.set(h,M),M===2&&u.push(h)}return u}function Bs({baseRoot:e,remoteRoot:o,liveRoot:t,toLive:n,o:r,identity:a,baseURI:l}){if(e.tagName!==o.tagName)return{bail:"root-tag"};if(e.getElementsByTagName("template").length||o.getElementsByTagName("template").length)return{bail:"script-or-template"};if(!$r(e,o,r.ignoreAttribute))return{bail:"root-attrs"};let{ignored:i,remoteWins:u}=r,A=$o(r.scripts.merge===!1?null:r.scripts.mergeTags,l),N=le=>{let b=A(le);return b!==null?b:a.base(le)||null},h=le=>{let b=A(le);return b!==null?b:a.remote(le)||null},M=[],L=[],R=new Map,F=new Map,k={same:R,differ:F},d=le=>({bail:le,comparisons:k}),w=(le,b,H=!0)=>{if(R.get(le)===b)return!0;if(F.get(le)===b)return!1;if(Fr.compared++,H&&le.isEqualNode(b))return R.set(le,b),!0;let fe=le.nodeType===b.nodeType;if(fe&&le.nodeType===1){if(fe=Yo(le,b),fe){let we=le.firstChild,pe=b.firstChild;for(;we&&pe;we=we.nextSibling,pe=pe.nextSibling)if(!w(we,pe,!1)){fe=!1;break}(we||pe)&&(fe=!1)}}else fe&&(fe=le.isEqualNode(b));return(fe?R:F).set(le,b),fe},Z=e,he=o,xe=!1,ee=()=>{R.set(Z,he);for(let le=0;le<M.length;le++)R.set(M[le],L[le]);return d("equal")};for(;;){let le=Z.childNodes,b=he.childNodes;if(le.length!==b.length)break;let H=rt=>w(le[rt],b[rt])?(R.set(le[rt],b[rt]),!1):!0,fe=-1,we=-1;for(let rt=0;rt<le.length;rt++){if(le[rt].nodeType!==1)continue;let wt=0;for(let bt=le[rt].firstElementChild;bt;bt=bt.nextElementSibling)wt++;wt>=we&&(we=wt,fe=rt)}let pe=[],Ge=!1;for(let rt=0;rt<le.length&&pe.length<2;rt++)rt!==fe&&H(rt)&&pe.push(rt);if(fe>=0&&pe.length<2&&(pe.length===0&&Yo(Z,he)?(pe.push(fe),Ge=!0):H(fe)&&pe.push(fe)),pe.length!==1){if(!xe&&pe.length===0&&Yo(Z,he))return ee();break}let je=le[pe[0]],Ze=b[pe[0]];if(xe=xe||!Ge,xe&&F.set(je,Ze),je.nodeType!==1||Ze.nodeType!==1||je.tagName!==Ze.tagName)break;if(N(je)!==h(Ze)){if(!xe&&w(je,Ze))return ee();break}M.push(Z),L.push(he),Z=je,he=Ze}F.set(Z,he);for(let le=0;le<M.length;le++)F.set(M[le],L[le]);if(Z===e||Z.tagName==="HEAD"||Z.tagName==="BODY")return d("root-level");if(M.length<2||M[1].tagName!=="BODY")return d("not-in-body");if(i(Z)||i(he))return d("ignored-ancestor");if(u(Z)||u(he))return d("remote-wins-ancestor");for(let le of M)if(zr.has(le.tagName))return d("form-ancestor");if(Z.tagName==="SCRIPT"||Z.getElementsByTagName("script").length||he.getElementsByTagName("script").length)return d("script-or-template");let oe=n(Z);if(!oe||oe.nodeType!==1||oe.tagName!==Z.tagName)return d("no-live-twin");if(!t.contains(oe))return d("live-detached");for(let le of M){let b=n(le);if(!b||b.nodeType!==1)return d("ancestor-live")}let re=a.base===an&&a.remote===an&&i===Oo,ne=new Set,K=new Set,D=[],Ne=null,ae=le=>{le&&(ne.has(le)?K.add(le):ne.add(le))},te=(le,b)=>{let H=A(le),fe=H!==null?H:a.base(le)||null;return fe!==(H!==null?H:a.remote(b)||null)?!1:(ae(fe),!0)},V=(le,b)=>{for(let H=le.firstElementChild,fe=b.firstElementChild;H;H=H.nextElementSibling,fe=fe.nextElementSibling){let we=i(H);if(we!==i(fe))return!1;if(!we&&(!te(H,fe)||!V(H,fe)))return!1}return!0},ye=le=>{let b=le+1<M.length?M[le+1]:Z;for(let H=M[le].firstElementChild,fe=L[le].firstElementChild;H;H=H.nextElementSibling,fe=fe.nextElementSibling){if(H===b){let Ge=le+1<M.length?ye(le+1):null;if(Ge)return Ge;continue}let we=i(H);if(we!==i(fe))return"outside-id-changed";if(we)continue;let pe=n(H);if(!pe||pe.nodeType!==1)return"sibling-live";if(D.push([H,fe]),!re&&(!te(H,fe)||!V(H,fe)))return"outside-id-changed";le===0&&H.tagName==="HEAD"&&N(H)&&(Ne=[H,fe])}return null},be=ye(0);if(be)return d(be);let Oe=new Set(M),He=null;if(a.base===an){He=[];for(let le of e.querySelectorAll(so))le===Z||Oe.has(le)||(Z.contains(le)?He.push(le):re&&ae(N(le)))}let Ue=new Set,ze=new Set,se=new Set,at=Rs(M,Z,N,i,ne,Ue,He,ze),ft=Rs(L,he,h,i,ne,Ue,a.remote===an&&he.querySelectorAll(so),se);return Ne&&(K.has(N(Ne[0]))||Ue.has(N(Ne[0])))&&(Ne=null),{scope:{chain:M,root:Z,onChain:Oe,baseIndex:at,remoteIndex:ft,head:Ne,same:R,differ:F,dropped:[...Ps(e,N,i,K,ze,a.base),...Ps(o,h,i,K,se,a.remote)],held:le=>{for(let b=1;b<M.length;b++)if(le.map.get(M[b])!==L[b])return!1;for(let[b,H]of D)if(le.map.get(b)!==H)return!1;return!0}}}}var Hs=Symbol("hyper-morph-duplicate-key"),js=[e=>e.getAttribute("data-id"),e=>e.getAttribute("id")];function ro(e,o){return o.map(t=>{let n=new Map;for(let r of e){if(r.nodeType!==1)continue;let a=t(r);a==null||a===""||n.set(a,n.has(a)?Hs:r)}return n})}function Ds(e,o,t,n){for(let r=0;r<n.length;r++){let a=n[r](e);if(a==null||a===""||o[r].get(a)!==e)continue;let l=t[r].get(a);if(!(!l||l===Hs)&&l.tagName===e.tagName)return l}return null}function Jn(e,o,t){for(let n=0;n<t.length;n++){let r=t[n](e);if(!(r==null||r==="")&&o[n].get(r)===e)return!0}return!1}function Us(e,o,t={}){let n=t.skip||(()=>!1),r=t.ignoreAttr||(()=>!1),a=t.tiers&&t.tiers.length?t.tiers:js,l=null;function i(){return l||(l=ro([e,...e.querySelectorAll("*")],a)),l}let u=null;function A(){return u||(u=ro([o,...o.querySelectorAll("*")],a)),u}function N(ne){return!ne.parentElement||!ne.parentElement.parentElement}function h(ne,K,D){return N(ne)||Jn(ne,i(),a)?(D.push({type:"subtree",el:ne,base:K}),!1):!0}function M(ne,K){let D=[];for(let Ne of ne.attributes)r(ne,Ne.name)||K.getAttribute(Ne.name)!==Ne.value&&D.push(Ne.name);for(let Ne of K.attributes)r(ne,Ne.name)||ne.hasAttribute(Ne.name)||D.push(Ne.name);return D}function L(ne){let K=[],D=null,Ne=()=>{D!==null&&(K.push({nodeType:3,nodeValue:D}),D=null)};for(let ae of ne.childNodes){if(ae.nodeType===3){D=(D===null?"":D)+ae.nodeValue;continue}ae.nodeType===1&&n(ae)||(Ne(),(ae.nodeType===1||ae.nodeType===8)&&K.push(ae))}return Ne(),K}function R(ne,K){if(ne.nodeType!==K.nodeType)return!1;if(ne.nodeType!==1)return!0;if(ne.tagName!==K.tagName)return!1;for(let D of a){let Ne=D(ne),ae=D(K);if(Ne!=null&&Ne!==""&&ae!=null&&ae!==""&&Ne!==ae)return!1}return!0}function F(ne){let K="";for(let D of ne)D.nodeType===3&&D.nodeValue.trim()!==""?K+="\0"+D.nodeValue:D.nodeType===8&&(K+=""+D.nodeValue);return K}function k(ne,K,D){let Ne=L(ne),ae=L(K);if(Ne.length===ae.length){let le=!0;for(let b=0;b<Ne.length;b++)if(!R(Ne[b],ae[b])){le=!1;break}if(le){for(let b=0;b<Ne.length;b++){let H=Ne[b];if(H.nodeType===1){if(d(H,ae[b],D))return!0}else if(H.nodeValue!==ae[b].nodeValue)return!0}return!1}}let te=Ne.filter(le=>le.nodeType===1),V=ae.filter(le=>le.nodeType===1);if(F(Ne)!==F(ae))return!0;let ye=ro(te,a),be=ro(V,a),Oe=[],He=new Set,Ue=[];for(let le of te){let b=Ds(le,ye,be,a);b&&!He.has(b)?(Oe.push([le,b]),He.add(b)):Ue.push(le)}let ze=[];for(let le of Ue)Jn(le,ye,a)?D.push({type:"subtree",el:le,base:null}):ze.push(le);let se=[];for(let le of V)He.has(le)||(Jn(le,be,a)?D.push({type:"deletion",el:le}):se.push(le));if(ze.length!==se.length)return!0;for(let le=0;le<ze.length;le++)if(!R(ze[le],se[le]))return!0;let at=new Map(Oe);for(let le=0;le<ze.length;le++)at.set(ze[le],se[le]);let ft=-1;for(let le of te){let b=at.get(le);if(!b)continue;let H=V.indexOf(b);if(H<ft)return!0;ft=H}for(let le=0;le<ze.length;le++)if(d(ze[le],se[le],D))return!0;for(let[le,b]of Oe)if(d(le,b,D))return!0;return!1}function d(ne,K,D){if(ne.tagName!==K.tagName)return h(ne,K,D);let Ne=M(ne,K),ae=[];if(k(ne,K,ae))return h(ne,K,D);if(Ne.length){if(!N(ne)&&!Jn(K,A(),a))return!0;D.push({type:"attrs",el:ne,names:Ne,base:K})}return D.push(...ae),!1}let w=[],Z=M(e,o);Z.length&&w.push({type:"attrs",el:e,names:Z});let he=(ne,K)=>Array.from(ne.children).find(D=>D.tagName===K)||null,xe=he(e,"HEAD"),ee=he(o,"HEAD");if(xe&&ee){let ne=[];d(xe,ee,ne),ne.length&&w.push({type:"head",el:xe})}else(xe||ee)&&xe&&w.push({type:"head",el:xe});let oe=he(e,"BODY"),re=he(o,"BODY");return oe&&re?d(oe,re,w):oe&&w.push({type:"subtree",el:oe,base:null}),{entries:w}}function Vs(e,o,t={}){let n=t.tiers&&t.tiers.length?t.tiers:js,r=e.documentElement,a=[],l=0,i=d=>({ok:!1,placed:a,held:d,skippedAttrs:l});if(!r)return i(null);function u(d){let w=[d,...d.querySelectorAll("*")];return ro(w,n)}let A=u(r),N=new Map,h=d=>{let w=d.getRootNode(),Z=N.get(w);if(!Z){let he=w.nodeType===9?w.documentElement:w;Z=u(he),N.set(w,Z)}return Z};function M(d){if(!d.parentElement&&d.tagName==="HTML")return r;if(d.parentElement&&!d.parentElement.parentElement&&d.parentElement.tagName==="HTML"){if(d.tagName==="BODY")return e.body||null;if(d.tagName==="HEAD")return e.head||null}return null}function L(d){let w=M(d);return w||Ds(d,h(d),A,n)}function R(d){if(!d)return null;let w=L(d);return w&&w.isConnected?w:null}function F(d){for(let w=0;w<n.length;w++){let Z=n[w](d);Z!=null&&Z!==""&&A[w].set(Z,d)}}for(let d of o){if(d.type!=="deletion")continue;let w=L(d.el);w&&w!==r&&w.remove()}let k=o.filter(d=>d.type!=="deletion").sort((d,w)=>d.el===w.el?0:d.el.compareDocumentPosition(w.el)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let d of k){if(d.type==="head"){let re=e.importNode(d.el,!0);e.head?e.head.replaceWith(re):r.insertBefore(re,r.firstChild),a.push({entry:d,imported:re});continue}if(d.type==="attrs"){let re=R(d.el)||R(d.base);if(!re){l++;continue}for(let ne of d.names)d.el.hasAttribute(ne)?re.setAttribute(ne,d.el.getAttribute(ne)):re.removeAttribute(ne);continue}let w=d.el;if(M(w))return i(d);let Z=R(w)||R(d.base);if(Z){let re=e.importNode(w,!0);Z.replaceWith(re),F(re),a.push({entry:d,imported:re});continue}if(d.base!=null&&!Jn(d.base,h(d.base),n)||!Jn(w,h(w),n))return i(d);let he=w.parentElement;if(!he)return i(d);let xe=R(he);if(!xe)return i(d);let ee=null;for(let re=w.previousElementSibling;re;re=re.previousElementSibling){let ne=R(re);if(ne&&ne.parentNode===xe){ee=ne;break}}let oe=e.importNode(w,!0);if(ee)xe.insertBefore(oe,ee.nextSibling);else{let re=Array.prototype.indexOf.call(he.children,w);xe.insertBefore(oe,xe.children[re]||null)}F(oe),a.push({entry:d,imported:oe})}return{ok:!0,placed:a,held:null,skippedAttrs:l}}var Gr='[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"]',Yr='[editor-ui],[clay~="editor-ui"],[no-undo],[clay~="no-undo"]',Jr='[no-undo]:not([editor-ui]):not([clay~="editor-ui"]),[clay~="no-undo"]:not([editor-ui]):not([clay~="editor-ui"])';function Xr(e){if(e.tagName!=="LINK"&&e.tagName!=="SCRIPT")return!1;let o=e.getAttribute("src")||e.getAttribute("href")||"";return/^(chrome|moz|safari-web)-extension:/.test(o)}function Qr(e,o,t,n){if(o==null)return;if(typeof o=="string")return o;let r=o;if(r.nodeType===9){let a=e.getAttribute("id");r=a&&r.getElementById(a)||(e.tagName==="BODY"?r.body:e.tagName==="HTML"?r.documentElement:r.body&&r.body.firstElementChild)}if((!r||r.nodeType!==1||r.tagName!==e.tagName)&&(r=Zr(e,o,n)),!!r)return t?Array.from(r.childNodes):r}function Zr(e,o,t){let n=o.nodeType===9?o.documentElement:o;if(!n||n.nodeType!==1)return null;let r=new Map,a=[n,...n.querySelectorAll("script")];for(let u of a){let A=Gn(u,t);A&&!r.has(A.key)&&r.set(A.key,u.textContent)}if(!r.size)return null;let l=e.cloneNode(!0),i=!1;for(let u of[l,...l.querySelectorAll("script")]){let A=Gn(u,t);A&&r.has(A.key)&&(u.textContent=r.get(A.key),i=!0)}return i?l:null}function _s(e,o){if(typeof e=="string"||e.nodeType===9)return e;if(e.nodeType===1&&e===e.ownerDocument.documentElement)return e.ownerDocument;let t=o.implementation.createHTMLDocument(""),n=e.nodeType===1&&e.tagName==="HTML"?e:null;if(n)return t.replaceChild(t.adoptNode(n),t.documentElement),t;let r=e.nodeType===11?Array.from(e.childNodes):e.nodeType?[e]:Array.from(e);for(let a of r)t.body.appendChild(t.adoptNode(a));return t}function Ao(e,o,t={}){let n=t||{};if(!n.head?.block)return qs(e,o,n);try{return qs(e,o,n)}catch(r){return Promise.reject(r)}}function qs(e,o,t){let n=t.policy||"sync",r=n==="raw"?void 0:(u,A)=>Xr(u)||(n==="history"?!(A&&u.matches(Jr))&&u.matches(Yr):u.matches(Gr)),a=t.callbacks||{},l={ignore:r,hooks:a,protectFocusedValue:t.ignoreActiveValue===!0?"subtree":!1,restoreFocus:t.restoreFocus!==!1,formState:t.formStateSync||"attribute",scripts:{execute:t.scripts?.handle!==!1,merge:t.scripts?.merge!==!1,mergeTags:t.scripts?.mergeTags||[]},head:{awaitLoads:!!t.head?.block,preserve:t.head?.shouldPreserve||(()=>!1)}};if(typeof t.key=="function"&&(l.identity={base:t.key,local:t.key,remote:t.key}),e&&e.nodeType===9)return Xn(Object.assign({},l,{live:e,base:t.scripts?.mergeBase||null,remote:_s(o,e)}));if(e.tagName==="HTML"&&e.parentNode&&e.parentNode.nodeType===9){let u=Object.assign({},l,{live:e.ownerDocument,base:t.scripts?.mergeBase||null,remote:_s(o,e.ownerDocument)});return Xn(u)}t.morphStyle==="innerHTML"&&(l.children=!0);let i=Qr(e,t.scripts?.mergeBase,!!l.children,l.scripts.mergeTags);return i!==void 0&&(l.base=i),vo(e,o,l)}var ei=new Set(["live","base","remote","local","identity","ignore","remoteWins","ignoreAttribute","conflicts","protectFocusedValue","restoreFocus","head","scripts","formState","children","hooks","beforeApply","fastPath","keepLiveOnly"]),hn=()=>{};function io(e,o=[]){if(!e||typeof e!="object")throw new TypeError("options object required");for(let l of Object.keys(e))if(!ei.has(l))throw new TypeError(`unknown option "${l}"`);let t=Object.assign({beforeNodeAdded:hn,afterNodeAdded:hn,beforeNodeRemoved:hn,afterNodeRemoved:hn,beforeNodeMorphed:hn,afterNodeMorphed:hn,beforeAttributeUpdated:hn},e.hooks||{}),n=e.conflicts||"remote";if(!["remote","local","both"].includes(n))throw new TypeError("conflicts must be remote, local or both");let r=e.formState||"attribute";if(!["attribute","property"].includes(r))throw new TypeError("formState must be attribute or property");let a=e.protectFocusedValue;if(a!==void 0&&typeof a!="boolean"&&a!=="subtree")throw new TypeError('protectFocusedValue must be a boolean or "subtree"');if(e.fastPath!==void 0&&typeof e.fastPath!="boolean")throw new TypeError("fastPath must be a boolean");if(e.keepLiveOnly!==void 0&&typeof e.keepLiveOnly!="boolean")throw new TypeError("keepLiveOnly must be a boolean");return{ignored:Mo(e.ignore,o),remoteWins:Mo(e.remoteWins,o),ignoreAttribute:typeof e.ignoreAttribute=="function"?e.ignoreAttribute:()=>!1,conflicts:n,protectFocusedValue:a===void 0?!0:a,restoreFocus:e.restoreFocus!==!1,head:Object.assign({awaitLoads:!1,preserve:()=>!1},e.head||{}),scripts:Object.assign({execute:!0,merge:!0,mergeTags:[]},e.scripts||{}),formState:r,hooks:t,children:!!e.children,beforeApply:typeof e.beforeApply=="function"?e.beforeApply:null,fastPath:e.fastPath===!0,keepLiveOnly:e.keepLiveOnly===!0}}function Qn(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 an}function Zn(e,o){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){let t=ho(o,e.map),n=typeof e.then=="function"?e.then:an;if(typeof e.first=="function"){let r=e.first;return a=>r(a)||t.get(a)||n(a)}return r=>t.get(r)||n(r)}return an}function Fs(e,o,t,n={}){let r=L=>L&&L.nodeType===9?L.documentElement:L,a=r(o),l=r(t),i=r(e)||a,u=Object.assign({},n);delete u.live,delete u.base,delete u.remote;let A=io(u,[i,a,l].filter(Boolean)),N=n.identity||{},h=Mn(),M=No(i,a,l,{identity:{base:Zn(N.base,i),local:Zn(N.local,a),remote:Zn(N.remote,l)},authored:{base:Qn(N.base),local:Qn(N.local),remote:Qn(N.remote)},skipUnchanged:A.hooks.beforeNodeMorphed===hn&&A.hooks.afterNodeMorphed===hn,ignored:A.ignored,remoteWins:A.remoteWins,ignoreAttribute:A.ignoreAttribute,conflicts:A.conflicts,mergeTags:A.scripts.merge===!1?null:A.scripts.mergeTags,baseURI:a.ownerDocument&&a.ownerDocument.baseURI||"about:blank",localIsBase:!e||e===o,childrenOnly:A.children,stats:h});return delete M.recoveryLinks,M}function Jo({liveRoot:e,baseRoot:o,localRoot:t,remoteRoot:n,toLive:r,options:a,identity:l,childrenOnly:i,isDocument:u}){let A=io(a,[e,o,t,n].filter(Boolean));if(A.ignored(e))return{report:Xo(),loads:[]};let N=e.ownerDocument,h=A.scripts.execute?hs(e,A.ignored,N.baseURI):null,M=Mn(),L=A.hooks.beforeNodeMorphed===hn&&A.hooks.afterNodeMorphed===hn,R={identity:{base:Zn(l.base,o||t),local:Zn(l.local,t),remote:Zn(l.remote,n)},authored:{base:Qn(l.base),local:Qn(l.local),remote:Qn(l.remote)},ignored:A.ignored,remoteWins:A.remoteWins,ignoreAttribute:A.ignoreAttribute,conflicts:A.conflicts,mergeTags:A.scripts.merge===!1?null:A.scripts.mergeTags,baseURI:N.baseURI,localIsBase:!o,childrenOnly:i,skipUnchanged:L},F=A.fastPath&&u&&!i&&L&&o===t,k=null,d=null;if(F){let ae=Bs({baseRoot:o,remoteRoot:n,liveRoot:e,toLive:r,o:A,identity:R.identity,baseURI:N.baseURI});R.comparisons=ae.comparisons||ae.scope,ae.bail?d=ae.bail:(k=No(o,t,n,Object.assign({},R,{stats:M,scope:ae.scope})),k||(d="chain-unpaired",M=Mn()))}k||(k=No(o||t,t,n,Object.assign({},R,{stats:M}))),F&&(M.fastPathAttempted=1,M.fastPathTaken=d?0:1,M.fastPathFallback=d),k.recoveryLinks&&["beforeNodeMorphed","beforeNodeAdded","beforeNodeRemoved","beforeAttributeUpdated"].some(ae=>A.hooks[ae]!==hn)&&As(k.conflicts,k.recoveryLinks,r),A.beforeApply&&A.beforeApply(k.doc);let w=globalThis.__hyperMorphProfile,Z=w?performance.now():0,he=Es(e,k.root,k,{toLive:r,ignored:A.ignored,ignoreAttribute:A.ignoreAttribute,formState:A.formState,protectFocusedValue:A.protectFocusedValue,restoreFocus:A.restoreFocus,preserve:A.head.preserve,hooks:A.hooks,childrenOnly:i,keepLiveOnly:A.keepLiveOnly});w&&(w.apply=(w.apply||0)+(performance.now()-Z));let xe=[];if(A.head.awaitLoads)for(let ae of he.applied){if(ae.kind!=="insert"||ae.node.nodeType!==1)continue;let te=ae.node;te.tagName==="LINK"&&/\bstylesheet\b/i.test(te.getAttribute("rel")||"")&&te.getAttribute("href")&&te.closest("head")&&xe.push(new Promise(ye=>{te.addEventListener("load",()=>ye()),te.addEventListener("error",()=>ye())}))}let ee=null,oe=null;if(h){let ae=ps(e,h,{ignored:A.ignored,skip:he.mergedScriptsLive,baseURI:N.baseURI,beforeNodeAdded:A.hooks.beforeNodeAdded,afterNodeAdded:A.hooks.afterNodeAdded,trackRecovery:!!k.recoveryLinks});xe.push(...ae.loads),ee=ae.swapped,oe=ae.vetoed}let re=ae=>ee&&ee.get(ae)||ae,ne=ae=>{if(he.keptRuns.has(ae))return he.runOf.get(ae);let te=he.liveOf.get(ae)||he.heldBy.get(ae)||he.insertedLive.get(ae);return te?re(te):null},K=ae=>{let te=ae&&he.liveOf.get(ae);return te?re(te):null},D=ae=>{let te=ae&&ne(ae);return Array.isArray(te)?te[0]:te};if(k.recoveryLinks){let ae=(te,V,ye)=>(V.namespaceURI?te.getAttributeNS(V.namespaceURI,V.localName):te.getAttribute(V.qualifiedName))===ye;Os(k.conflicts,k.recoveryLinks,{lookup:ne,vetoed:he.vetoed,vetoedAttrs:he.vetoedAttrs,removedVetoes:he.removedVetoes,vetoedLive:oe,liveAttr:ae,ignored:A.ignored,liveRoot:e})}return{report:{applied:he.applied,decisions:k.decisions.map(ae=>Object.assign({},ae,{node:ae.node?K(ae.node):null,el:ae.el?K(ae.el):null,applied:!!(ae.node?K(ae.node):ae.el&&K(ae.el))})),conflicts:k.conflicts.map(ae=>Object.assign({},ae,{node:ae.node?ae.kind==="text"&&ae.recovery.subject.nodeType===8?D(ae.node):K(ae.node):ae.node,el:ae.el?ae.kind==="structure"?D(ae.el):K(ae.el):ae.el})),localDiverged:k.localDiverged,identities:he.identities,moved:he.moved,replaced:he.replaced,stats:M},loads:xe}}var Ks=new WeakMap;function Xo(){return{applied:[],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[],stats:Mn()}}function Xn(e){let o=e||{},t=o.live;if(!t||t.nodeType!==9)throw new TypeError("live must be a Document");let n=Ks.get(t);n||(n=uo(t),Ks.set(t,n));let r=n("remote",o.remote),a=typeof o.base=="string"&&o.base===""?null:o.base,l=a?n("base",a):null,i=o.local?o.local.root:t.documentElement,u=o.local?o.local.toLive:h=>h;Qo(t,r);let{report:A,loads:N}=Jo({liveRoot:t.documentElement,baseRoot:l?l.documentElement:null,localRoot:i,remoteRoot:r.documentElement,toLive:u,options:o,identity:o.identity||{},childrenOnly:!1,isDocument:!0});return Promise.all(N).then(()=>A)}function zs(e,o,t={}){return Xn(Object.assign({},t,{live:e,base:null,remote:o}))}function Ws(e,o){if(e==null)return{root:o.createElement("template"),first:null};if(typeof e=="string"){let n=/^\s*(?:<!--[\s\S]*?-->\s*)*(?:<!doctype[^>]*>\s*)?<(html|body)[\s>]/i.exec(e);if(n){let a=fo(e,o),l=n[1].toLowerCase()==="html"?a.documentElement:a.body;return{root:l,first:l}}let r=o.createElement("template");return r.innerHTML=e,{root:r,first:r.content.firstElementChild}}if(e.nodeType===9)return{root:e.documentElement,first:e.documentElement};if(e.nodeType===1){let n=o.createElement("template"),r=e.isConnected;return n.content.appendChild(r?o.importNode(e,!0):e),{root:n,first:e}}if(e.nodeType===11){let n=o.createElement("template");return n.content.appendChild(e),{root:n,first:n.content.firstElementChild}}let t=o.createElement("template");for(let n of Array.from(e))t.content.appendChild(n.parentNode?o.importNode(n,!0):n);return{root:t,first:t.content.firstElementChild}}function vo(e,o,t={}){if(!e||e.nodeType!==1)throw new TypeError("oldEl must be an Element");let n=e.ownerDocument,{base:r,...a}=t,l=!!a.children;if(io(a,[e]).ignored(e))return Promise.resolve(Xo());let i=Ws(o,n),u=r!=null?Ws(r,n):null,A,N=null;if(l)A=i.root,N=u?u.root:null;else{if(A=i.first,N=u?u.first:null,!A){let L=io(a);return L.hooks.beforeNodeRemoved(e)!==!1&&(e.remove(),L.hooks.afterNodeRemoved(e)),Promise.resolve({applied:[{kind:"remove",node:e,parent:null}],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[e],stats:Mn()})}if(A.tagName!==e.tagName){let L=io(a,[e,A]);if(L.hooks.beforeNodeMorphed(e,A)===!1)return Promise.resolve(Xo());let R=Jo({liveRoot:e,baseRoot:N&&N.tagName===e.tagName?N:null,localRoot:e,remoteRoot:A,toLive:k=>k,options:a,identity:a.identity||{},childrenOnly:!0,isDocument:!1}),F=en(A)?no(A,n):n.importNode(A,!1);if(!en(F))for(;e.firstChild;)F.appendChild(e.firstChild);return L.hooks.beforeNodeAdded(F)===!1?(To(R.report.conflicts,e,e),Promise.resolve(R.report)):L.hooks.beforeNodeRemoved(e)===!1?(To(R.report.conflicts,e,e),Promise.resolve(R.report)):(e.replaceWith(F),To(R.report.conflicts,e,F),L.hooks.afterNodeRemoved(e),L.hooks.afterNodeAdded(F),L.hooks.afterNodeMorphed(e,A),R.report.replaced.push(F),R.report.applied.push({kind:"insert",node:F,parent:F.parentNode},{kind:"remove",node:e,parent:F.parentNode}),Promise.all(R.loads).then(()=>R.report))}}let{report:h,loads:M}=Jo({liveRoot:e,baseRoot:N,localRoot:e,remoteRoot:A,toLive:L=>L,options:a,identity:a.identity||{},childrenOnly:l,isDocument:!1});return Promise.all(M).then(()=>h)}var ti={mergeDocument:Xn,morphDocument:zs,morphElement:vo,merge3:Fs,morph:Ao};return Qs(ni);})();
|
|
1
|
+
var HyperMorph=(()=>{var Go=Object.defineProperty;var _r=Object.getOwnPropertyDescriptor;var qr=Object.getOwnPropertyNames;var zr=Object.prototype.hasOwnProperty;var $r=(e,o)=>{for(var t in o)Go(e,t,{get:o[t],enumerable:!0})},Gr=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of qr(o))!zr.call(e,s)&&s!==t&&Go(e,s,{get:()=>o[s],enumerable:!(n=_r(o,s))||n.enumerable});return e};var Yr=e=>Gr(Go({},"__esModule",{value:!0}),e);var ul={};$r(ul,{createIdentityStore:()=>Is,createParseCache:()=>Io,default:()=>fl,diff:()=>Fn,findChangedRoots:()=>Er,importMap:()=>Co,merge3:()=>Dr,merge3Text:()=>no,mergeDocument:()=>ho,mergeJson:()=>ms,mergeScriptText:()=>Vo,morph:()=>_o,morphDocument:()=>Ur,morphElement:()=>qo,parseJsonRelaxed:()=>Uo,parseRulesRelaxed:()=>nr,spliceProtected:()=>Lr,tieredIdentity:()=>Jo});function Oo(e,o){if(typeof e=="string"){let t=o&&o.defaultView,n=t&&t.DOMParser||globalThis.DOMParser;return new n().parseFromString(e,"text/html")}if(e&&e.nodeType===9)return e;throw new TypeError("expected an HTML string or a Document")}function Io(e){let o=new Map;return(t,n)=>{if(typeof n!="string")return Oo(n,e);let s=o.get(t);if(s&&s.text===n)return s.doc;let d=Oo(n,e);return o.set(t,{text:n,doc:d}),d}}function Os(e,o){let t=o.doctype;if(!t)return!1;let n=e.doctype;if(n&&n.name===t.name&&n.publicId===t.publicId&&n.systemId===t.systemId)return!1;let s=e.implementation.createDocumentType(t.name,t.publicId,t.systemId);return n?e.replaceChild(s,n):e.insertBefore(s,e.documentElement),!0}var Yo=()=>!1;function Xo(e,o=[]){if(typeof e!="function")return Yo;let t=new WeakMap,n=new Set(o);return s=>{if(!s||s.nodeType!==1)return!1;let d=t.get(s);if(d!==void 0)return d;let l=[],r=s,i=!1;for(;r&&r.nodeType===1;){let u=t.get(r);if(u!==void 0){i=u;break}if(l.push(r),e(r,n.has(r))){i=!0;break}if(n.has(r))break;r=r.parentElement}for(let u of l)t.set(u,i);return i}}var ml=Object.freeze(["root-tag","equal","root-attrs","root-level","not-in-body","ignored-ancestor","remote-wins-ancestor","form-ancestor","script-or-template","no-live-twin","live-detached","ancestor-live","sibling-live","outside-id-changed","chain-unpaired"]);function Wn(){return{lazyTwins:0,hashRejected:0,similarTiesStrict:0,similarTiesLoose:0,ambiguousMoves:0,certificationPairs:0,certificationVisited:0,fastPathAttempted:0,fastPathTaken:0,fastPathFallback:null}}function Is(e){let o=new WeakMap,t=0,n=r=>o.get(r)||null,s=r=>{let i=o.get(r);return i||(i=`${e}:${++t}`,o.set(r,i)),i};return{idOf:n,ensure:s,adopt:(r,i)=>{r&&typeof i=="string"&&i&&o.set(r,i)},exportMap:(r,i)=>{let u={},w=[],c=[],h=(p,y)=>{let C=i(p);C&&(u[y]=s(C));let g=p.children;w.push(g.length),c.push(p.tagName.toLowerCase());for(let f=0;f<g.length;f++)h(g[f],y===""?String(f):`${y}.${f}`)};return h(r,""),u["~"]=w.join(","),u["^"]=c.join(","),u}}}function Co(e,o){let t=new WeakMap;if(!e||!o||typeof o!="object"||Array.isArray(o))return t;let n=o["~"],s=typeof n=="string"?n.split(",").map(Number):null,d=s&&typeof o["^"]=="string"?o["^"].split(","):null,l=c=>Number.isInteger(c)&&c>=0,r=0,i=!1,u=c=>{let h=c;for(;h>0;){let p=s[r++];if(r>s.length||!l(p))return!1;h+=p-1}return!0},w=(c,h)=>{if(i)return;if(s){let C=r++,g=s[C];if(C>=s.length||!l(g)){i=!0;return}let f=!d||d[C]===c.tagName.toLowerCase();if(!f||g!==c.children.length){let m=f&&o[h];typeof m=="string"&&m&&t.set(c,m),u(g)||(i=!0);return}}let p=o[h];typeof p=="string"&&p&&t.set(c,p);let y=c.children;for(let C=0;C<y.length;C++)w(y[C],h===""?String(C):`${h}.${C}`)};return w(e,""),t}function Jo(e){return o=>{for(let t of e){let n=t(o);if(typeof n=="string"&&n!=="")return n}return null}}var gn=Jo([e=>e.getAttribute("data-id"),e=>e.getAttribute("id")]);function Eo(e,o,t,n=null,s=null){let d=new Map,l=new Set,r=i=>{if(t(i))return;let u=o(i);u&&(d.has(u)?l.add(u):d.set(u,i))};if(n){let i=u=>{for(let w of u.querySelectorAll(n))r(w);for(let w of u.querySelectorAll("template"))w.content&&i(w.content)};r(e),i(e.tagName==="TEMPLATE"&&e.content?e.content:e)}else{let i=u=>{r(u);let w=u.tagName==="TEMPLATE"&&u.content?u.content.children:u.children;for(let c=0;c<w.length;c++)i(w[c])};i(e)}for(let i of l)d.delete(i),s&&s.add(i),Qo(i);return d}function Qo(e){e.startsWith("merge:")&&console.warn(`[hyper-morph] merge disabled for duplicate identity "${e.slice(e.indexOf(":",6)+1)}"`)}var Xr=new Set(["href","src","name","type","role"]),Es=new Set(["SCRIPT","STYLE","TEXTAREA","TEMPLATE","IFRAME","OBJECT","CANVAS","VIDEO","AUDIO","svg","SVG"]);function eo(e,o=5381){let t=o;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return t>>>0}function Cs(e){return e.replace(/\s+/g," ")}var Jr=0;function Ls({ignored:e=()=>!1,ignoreAttribute:o=()=>!1,stats:t=null}={}){let n=new WeakMap,s=new WeakMap;function d(E){let P=E.attributes,v=P.length;if(v===0)return{all:"",sig:E.tagName+"|"};let N=[],L="",D=[];for(let B=0;B<v;B++){let M=P[B],x=M.name;o(E,x)||N.push(x+"="+M.value),x==="class"?L=M.value.indexOf(" ")<0?M.value:M.value.split(/\s+/).filter(Boolean).sort().join(" "):Xr.has(x)&&D.push(x+"="+M.value)}return N.length>1&&N.sort(),D.length>1&&D.sort(),{all:N.join(""),sig:E.tagName+"|"+L+(D.length?"|"+D.join("|"):"")}}function l(E){return E.nodeType===1&&E.tagName==="TEMPLATE"&&E.content?E.content.childNodes:E.childNodes}function r(E){let P=n.get(E);if(P)return P;if(E.nodeType===3)P={hash:"T"+eo(E.nodeValue),hint:Cs(E.nodeValue).slice(0,64),sig:null,tok:null};else if(E.nodeType===8)P={hash:"C"+eo(E.nodeValue),hint:"",sig:null,tok:null};else if(E.nodeType===1){let v=d(E),N=eo(E.tagName+""+v.all),L="";for(let D of u(E))if(D.nodeType===1){let B=r(D);N=eo(B.hash,N),L.length<64&&(L+=" "+B.hint)}else N=eo(w(D),N),D.kind==="text"&&L.length<64&&(L+=D.value.slice(0,64));P={hash:"E"+N,hint:Cs(L).trim().slice(0,64),sig:v.sig,tok:null}}else P={hash:"N"+E.nodeType,hint:"",sig:null,tok:null};return n.set(E,P),P}function i(E){if(!E.tok){E.tok=new Set;for(let P of E.hint.toLowerCase().split(/[^\p{L}\p{N}]+/u))P&&E.tok.add(P)}return E.tok}function u(E){let P=s.get(E);if(P)return P;P=[];let v=null,N=()=>{v&&(v.value=v.nodes.map(L=>L.nodeValue).join(""),P.push(v),v=null)};for(let L of l(E)){if(L.nodeType===3){v||(v={kind:"text",nodes:[],value:"",parent:E,hash:void 0}),v.nodes.push(L);continue}N(),L.nodeType===8?P.push({kind:"comment",nodes:[L],value:L.nodeValue,parent:E,hash:void 0}):L.nodeType===1&&!e(L)&&P.push(L)}return N(),s.set(E,P),P}function w(E){return E.nodeType===1?r(E).hash:(E.hash===void 0&&(E.hash=(E.kind==="text"?"T":"C")+eo(E.value)),E.hash)}function c(E,P){let v=i(r(E)),N=i(r(P));if(v.size===0&&N.size===0)return{coef:1,share:1};if(v.size===0||N.size===0)return null;let L=0;for(let D of v)N.has(D)&&L++;return{coef:L/Math.min(v.size,N.size),share:L/Math.max(v.size,N.size)}}function h(E,P){let v=c(E,P);return!!v&&v.coef>=.5}let p=new WeakMap;function y(E){let P=p.get(E);if(P)return P;P=[];for(let v of E.attributes)o(E,v.name)||P.push([v.namespaceURI||"",v.localName,v.value]);return P.sort((v,N)=>v[0]<N[0]?-1:v[0]>N[0]?1:v[1]<N[1]?-1:v[1]>N[1]?1:0),p.set(E,P),P}let C=new WeakMap;function g(E,P){if(E===P)return!0;if(w(E)!==w(P))return!1;let v=C.get(E);if(v&&v.has(P))return v.get(P);let N=C.get(P);if(N&&N.has(E))return N.get(E);let L=f(E,P),D=L===!0;return L===!1&&t&&t.hashRejected++,v||C.set(E,v=new WeakMap),v.set(P,D),D}function f(E,P){if(E.nodeType===1){if(P.nodeType!==1||E.tagName!==P.tagName||E.namespaceURI!==P.namespaceURI)return!1;let v=y(E),N=y(P);if(v.length!==N.length)return!1;for(let B=0;B<v.length;B++)if(v[B][0]!==N[B][0]||v[B][1]!==N[B][1]||v[B][2]!==N[B][2])return!1;let L=u(E),D=u(P);if(L.length!==D.length)return!1;for(let B=0;B<L.length;B++){if(w(L[B])!==w(D[B]))return!1;if(!g(L[B],D[B]))return Jr}return!0}return P.nodeType===1?!1:E.kind===P.kind&&E.value===P.value}let m=new WeakMap,R=new Map,S=0;function O(E){let P=m.get(E);if(P)return P;let v=w(E),N=R.get(v);N||R.set(v,N=[]);let L=N.find(D=>g(D.unit,E));return P=L?L.key:"K"+S++,L||N.push({unit:E,key:P}),m.set(E,P),P}return{meta:r,unitsOf:u,unitHash:w,similar:h,score:c,childrenOf:l,equalUnits:g,exactUnitKey:O,ignored:e}}var Rs=16,Qr=2e3,Zr=3,Zo={align:0,certifyVisited:0,certifyScheduled:0};function es(e,o,t){let{meta:n,unitsOf:s,unitHash:d,similar:l,score:r,childrenOf:i,equalUnits:u,ignored:w}=t.analyzer,c=t.baseId||(()=>null),h=t.sideId||(()=>null),p=t.baseKey||(()=>null),y=t.sideKey||(()=>null),C=t.baseDropped||new Set,g=t.sideDropped||new Set,f=t.stats||null,m=f?new Set:null,R=f?new Set:null,S=new Map,O=new Map,E=new Set,P=new Map,v=new Set,N=new Set,L=new Set,D=[],B=[],M=[],x=[],k=Qr,z=new Map,U=new Map,K=(H,G)=>{S.set(H,G),O.set(G,H)},Ae=new Set,Me=new Set,Be=null,te=H=>{let G=H.nodeType?H.parentNode:H.parent;if(!G||G.nodeType!==11)return G;if(!Be){Be=new WeakMap;let de=pe=>{for(let ce of pe.querySelectorAll("template"))ce.content&&(Be.set(ce.content,ce),de(ce.content))};for(let pe of[e,o])de(pe.tagName==="TEMPLATE"&&pe.content?pe.content:pe)}return Be.get(G)||null},ve=(H,G)=>{for(let de=te(H);de&&!Ae.has(de);de=te(de))Ae.add(de);for(let de=te(G);de&&!Me.has(de);de=te(de))Me.add(de)},ze=H=>{for(let G=te(H);G;G=te(G))if(S.has(G))return N.has(G);return!1},re=H=>{for(let G=te(H);G;G=te(G)){let de=O.get(G);if(de!==void 0)return N.has(de)}return!1},b=H=>!!H&&H.nodeType===1,_=(H,G)=>{let de=P.get(H);return!!de&&de.has(G)},oe=H=>Es.has(H.tagName),ee=t.comparisons||t.scope,Pe=(H,G)=>{if(ee){if(ee.same.get(H)===G)return!0;if(ee.differ.get(H)===G)return!1}if(!H.isEqualNode(G))return!1;if(H.tagName==="TEMPLATE")return u(H,G);let de=H.getElementsByTagName("template");if(de.length===0)return!0;let pe=G.getElementsByTagName("template");if(de.length!==pe.length)return!1;for(let ce=0;ce<de.length;ce++)if(!u(de[ce],pe[ce]))return!1;return!0},Ke=(H,G)=>{let de=c(H);if(!de)return!0;let pe=h(G);return!pe||de===pe},Ne=H=>{let G=p(H);return G&&t.baseIndex.get(G)===H&&!g.has(G)?G:null},ot=H=>{let G=y(H);return G&&t.sideIndex.get(G)===H&&!C.has(G)?G:null},Qe=(H,G)=>{let de=Ne(H);if(!de)return!0;let pe=ot(G);return!pe||de===pe},Ze=globalThis.__hyperMorphProfile,Xe=Ze?performance.now():0;Ze&&!t.scope&&(n(e),n(o),Ze.meta=(Ze.meta||0)+(performance.now()-Xe),Xe=performance.now()),K(e,o);let wt=new Set;for(let[H,G]of t.baseIndex){let de=t.sideIndex.get(H);de&&de.tagName===G.tagName&&!S.has(G)&&!O.has(de)&&(K(G,de),ve(G,de),wt.add(G))}if(wt.size){let H=[];if(t.scope)for(let ce of t.scope.chain)wt.has(ce)&&H.push(ce);let G=[t.scope?t.scope.root:e];for(;G.length;){let ce=G.pop();wt.has(ce)&&H.push(ce);let xe=i(ce);for(let ne=xe.length-1;ne>=0;ne--)xe[ne].nodeType===1&&G.push(xe[ne])}let de=new Set;for(let ce=H.length-1;ce>=0;ce--){let xe=H[ce];t.scope&&t.scope.onChain.has(xe)?de.add(xe):le(xe,S.get(xe),de)?(N.add(xe),L.add(xe),f&&f.certificationPairs++):de.add(xe)}let pe=new Set;for(let ce of H)N.has(ce)&&!pe.has(ce)&&dt(ce,pe)}t.scope&&t.scope.head&&me(t.scope.head[0],t.scope.head[1]);function dt(H,G){let de=[H];for(;de.length;){let pe=de.pop();if(!G.has(pe)){G.add(pe),Y(pe);for(let ce of s(pe))b(ce)&&S.has(ce)&&de.push(ce)}}}x.push([e,o]);for(let[H,G]of S)b(H)&&H!==e&&x.push([H,G]);return Ht(),gt(),Ze&&(Ze.align=(Ze.align||0)+(performance.now()-Xe)),{map:S,reverse:O,moved:v,identical:N,pairIdenticalChildren:Y,weak:E,unpair:zt,rematch:gt,insertedByHash:_t,refused:R,identityPaired:wt};function gt(){be(),Ht();for(let H=0;H<M.length;){let G=M.length;Kt(H,G),H=G,Ht(),be(),Ht()}}function zt(H){let G=S.get(H);if(!G)return;P.has(H)||P.set(H,new Set),P.get(H).add(G);let de=(ce,xe)=>{S.delete(ce),O.delete(xe),v.delete(ce),N.delete(ce),E.delete(ce),L.delete(ce)},pe=(ce,xe)=>{for(let ne of s(ce)){let $=S.get(ne);!$||wt.has(ne)||!(b($)?xe.contains($):xe.contains($.nodes[0]))||(de(ne,$),b(ne)&&pe(ne,$))}};de(H,G),b(H)&&pe(H,G),D.push(H),B.push(G)}function _t(){let H=new Map;for(let G of new Set(B)){if(O.has(G))continue;let de=n(G).hash;H.has(de)||H.set(de,[]),H.get(de).push(G)}return H}function Ht(){for(;x.length;){let[H,G]=x.shift();S.get(H)!==G||L.has(H)||N.has(H)||an(H,G)}}function Bt(H,G){if(!oe(H))for(let de of s(H))b(de)&&(G.push(de),Bt(de,G))}function an(H,G){L.add(H);let de=s(H),pe=s(G);Zo.align+=de.length+pe.length,z=new Map,U=new Map;for(let fe=0;fe<de.length;fe++)z.set(de[fe],fe);for(let fe=0;fe<pe.length;fe++)U.set(pe[fe],fe);if(H.tagName==="HTML")for(let fe of["HEAD","BODY"]){let Ee=de.find(Ve=>b(Ve)&&Ve.tagName===fe),Re=pe.find(Ve=>b(Ve)&&Ve.tagName===fe);Ee&&Re&&!S.has(Ee)&&!O.has(Re)&&K(Ee,Re)}for(let fe=0;fe<de.length&&fe<pe.length;fe++){let Ee=de[fe],Re=pe[fe];S.has(Ee)||O.has(Re)||(b(Ee)?b(Re)&&Ee.tagName===Re.tagName&&Pe(Ee,Re)&&me(Ee,Re):!b(Re)&&Ee.kind===Re.kind&&Ee.value===Re.value&&me(Ee,Re))}Ce(de,pe);let ce=de.filter(fe=>!S.has(fe)),xe=pe.filter(fe=>!O.has(fe));ce.length&&xe.length&&(F(ce,xe),J(ce,xe),se(ce,xe,de,pe),Ie(de,pe));let ne=!1,$=!1;for(let fe of de){if(!S.has(fe)){b(fe)&&(D.push(fe),Bt(fe,D),ne=!0);continue}b(fe)&&!N.has(fe)&&x.push([fe,S.get(fe)])}for(let fe of pe)!O.has(fe)&&b(fe)&&(B.push(fe),Bt(fe,B),$=!0);ne&&$&&M.push([H,G])}function Kt(H,G){for(let de=H;de<G;de++){let[pe,ce]=M[de];if(S.get(pe)!==ce)continue;let xe=s(pe),ne=s(ce),$=new Map,fe=new Map,Ee=null;for(let Re of xe)b(Re)&&(S.has(Re)?Ee=Re:($.has(Ee)||$.set(Ee,[]),$.get(Ee).push(Re)));Ee=null;for(let Re of ne)b(Re)&&(O.has(Re)?Ee=O.get(Re):(fe.has(Ee)||fe.set(Ee,[]),fe.get(Ee).push(Re)));for(let[Re,Ve]of $){let Oe=fe.get(Re);if(!(!Oe||Ve.length!==Oe.length)&&Ve.every(($e,tt)=>Oe[tt].tagName===$e.tagName&&Ke($e,Oe[tt])&&!_($e,Oe[tt])))for(let $e=0;$e<Ve.length;$e++)$t(Ve[$e],Oe[$e])}}}function $t(H,G){K(H,G),E.add(H),x.push([H,G]),Ht()}function F(H,G){let de=to(H,d),pe=to(G,d),ce=new Map;for(let xe of G){let ne=d(xe);pe.get(ne)===1&&ce.set(ne,xe)}for(let xe of H){if(S.has(xe))continue;let ne=d(xe);if(de.get(ne)!==1)continue;let $=ce.get(ne);$&&!O.has($)&&u(xe,$)&&me(xe,$)}}function le(H,G,de){let pe=[[H,G]];for(;pe.length;){let[ce,xe]=pe.pop();if(Zo.certifyVisited++,f&&f.certificationVisited++,ce.nodeType!==xe.nodeType)return!1;if(ce.nodeType===3||ce.nodeType===8){if(ce.nodeValue!==xe.nodeValue)return!1;continue}if(ce.nodeType!==1){if(!ce.isEqualNode(xe))return!1;continue}if(ce.tagName!==xe.tagName||ce.namespaceURI!==xe.namespaceURI||w(ce)!==w(xe))return!1;let ne=ce.attributes,$=xe.attributes;if(ne.length!==$.length)return!1;for(let Oe=0;Oe<ne.length;Oe++){let $e=ne[Oe];if(xe.getAttributeNS($e.namespaceURI,$e.localName)!==$e.value)return!1}let fe=S.get(ce);if(fe!==void 0&&fe!==xe)return!1;let Ee=O.get(xe);if(Ee!==void 0&&Ee!==ce)return!1;if(ce!==H){if(N.has(ce))continue;if(de.has(ce))return!1}let Re=i(ce),Ve=i(xe);if(Re.length!==Ve.length)return!1;Zo.certifyScheduled+=Re.length;for(let Oe=Re.length-1;Oe>=0;Oe--)pe.push([Re[Oe],Ve[Oe]])}return!0}function ge(H,G){return!b(H)||!(Ae.has(H)||Me.has(G))?!0:!!A(H,G)||!(Ne(H)||ot(G))}function me(H,G){if(b(H)&&(Ae.has(H)||Me.has(G))){let de=A(H,G);if(!de){if(Ne(H)||ot(G))return;K(H,G),x.push([H,G]);return}for(let pe=0;pe<de.length;pe+=2){let ce=de[pe],xe=de[pe+1],ne=S.get(ce);ne!==void 0&&ne!==xe&&Te(ce,ne);let $=O.get(xe);$!==void 0&&$!==ce&&Te($,xe),S.get(ce)===xe&&(v.delete(ce),E.delete(ce),N.add(ce),L.add(ce))}}j(H,G)}function Te(H,G){S.delete(H),O.delete(G),v.delete(H),N.delete(H),E.delete(H),L.delete(H)}function A(H,G){let de=[H,G,!1],pe=[];for(;de.length;){let ce=de.pop(),xe=de.pop(),ne=de.pop(),$=S.get(ne),fe=O.get(xe);if(ne!==H&&($!==void 0&&$!==xe&&wt.has(ne)||fe!==void 0&&fe!==ne&&wt.has(fe)))return null;if(!($===xe&&N.has(ne))&&(($!==void 0||fe!==void 0)&&pe.push(ne,xe),!!b(ne))){if(ce||$!==void 0&&$!==xe||fe!==void 0&&fe!==ne){let Ee=s(ne),Re=s(xe);for(let Ve=0;Ve<Ee.length&&Ve<Re.length;Ve++)de.push(Ee[Ve],Re[Ve],!0)}else if(Ae.has(ne)||Me.has(xe)){let Ee=ne.tagName==="TEMPLATE"?ne.content:ne,Re=xe.tagName==="TEMPLATE"?xe.content:xe;for(let Ve=Ee.firstElementChild,Oe=Re.firstElementChild;Ve&&Oe;){if(w(Ve)){Ve=Ve.nextElementSibling;continue}if(w(Oe)){Oe=Oe.nextElementSibling;continue}(S.has(Ve)||O.has(Oe)||Ae.has(Ve)||Me.has(Oe))&&de.push(Ve,Oe,!1),Ve=Ve.nextElementSibling,Oe=Oe.nextElementSibling}}}}return pe}function j(H,G){K(H,G),N.add(H),b(H)&&L.add(H)}function Y(H){let G=S.get(H);if(!G||!b(H))return;let de=s(H),pe=s(G);for(let ce=0;ce<de.length&&ce<pe.length;ce++)S.has(de[ce])||j(de[ce],pe[ce])}function J(H,G){let de=ne=>b(ne)&&!oe(ne)?n(ne).sig+""+n(ne).hint:null,pe=to(H,de),ce=to(G,de),xe=new Map;for(let ne of G){let $=de(ne);$!=null&&ce.get($)===1&&xe.set($,ne)}for(let ne of H){if(S.has(ne))continue;let $=de(ne);if($==null||pe.get($)!==1)continue;let fe=xe.get($);fe&&!O.has(fe)&&Ke(ne,fe)&&K(ne,fe)}}function se(H,G,de,pe){let ce=new Map;for(let ne of G){if(!b(ne)||O.has(ne)||oe(ne))continue;let $=n(ne).sig;ce.has($)||ce.set($,[]),ce.get($).push({el:ne,index:U.get(ne)})}let xe=[];for(let ne of H){if(S.has(ne)||!b(ne)||oe(ne))continue;let $=ce.get(n(ne).sig);if(!$||!$.length)continue;let fe=z.get(ne),Ee=$.filter(Re=>!O.has(Re.el)).map(Re=>({c:Re,d:Math.abs(Re.index-fe)}));Ee.sort((Re,Ve)=>Re.d-Ve.d),Ee.length>Rs&&(Ee=Ee.slice(0,Rs));for(let{c:Re,d:Ve}of Ee){if(!Ke(ne,Re.el))continue;let Oe=r(ne,Re.el);Oe&&Oe.coef>=.5&&xe.push({b:ne,s:Re.el,coef:Oe.coef,share:Oe.share,d:Ve,bi:fe})}}if(xe.sort((ne,$)=>$.coef-ne.coef||$.share-ne.share||ne.d-$.d||ne.bi-$.bi),f&&xe.length>1){let ne=new Map;for(let $ of xe){let fe=ne.get($.b);fe?fe.coef===$.coef&&(fe.share===$.share?fe.strict++:fe.loose++):ne.set($.b,{coef:$.coef,share:$.share,strict:0,loose:0})}for(let[$,fe]of ne)m.has($)||!(fe.strict||fe.loose)||(m.add($),fe.strict?f.similarTiesStrict++:f.similarTiesLoose++)}for(let ne of xe)!S.has(ne.b)&&!O.has(ne.s)&&K(ne.b,ne.s)}function je(H,G){return b(H)!==b(G)?!1:b(H)?H.tagName!==G.tagName||!Ke(H,G)?!1:oe(H)||n(H).hint===""||n(G).hint===""?!0:l(H,G):H.kind===G.kind}function Z(H,G){let de=(ce,xe)=>{let ne=xe===null?-1:ce===G?U.get(xe):z.get(xe),$=ce[ne+1];return $&&!b($)?$:null},pe=null;for(let ce of H){if(b(ce)){pe=ce;continue}if(S.has(ce))continue;let xe=pe===null?null:S.get(pe);if(pe!==null&&!xe)continue;let ne=de(G,xe);ne&&!O.has(ne)&&ne.kind===ce.kind&&K(ce,ne)}}function Ie(H,G){Z(H,G);let de=He(H,G),pe=(xe,ne)=>b(xe)&&n(xe).hint!==""&&n(ne).hint===""&&!!ne.querySelector("br")&&!de(xe,ne),ce=0;for(let xe of H){if(S.has(xe)){let $=U.get(S.get(xe));$!==void 0&&$>=ce&&(ce=$+1);continue}let ne=0;for(let $=ce;$<G.length&&ne<Zr;$++){let fe=G[$];if(!O.has(fe)&&(ne++,je(xe,fe)&&!_(xe,fe)&&!pe(xe,fe))){K(xe,fe),b(xe)&&(n(xe).hint===""||n(fe).hint==="")&&E.add(xe),ce=$+1;break}}}Ce(H,G)}function He(H,G){let de=(pe,ce,xe)=>{for(let ne=ce-1;ne>=0;ne--)if(b(pe[ne])&&xe(pe[ne]))return pe[ne];return null};return(pe,ce)=>{let xe=z.get(pe),ne=U.get(ce);if(xe===ne)return!0;let $=de(H,xe,Ee=>S.has(Ee)),fe=de(G,ne,Ee=>O.has(Ee));return $?S.get($)===fe:!fe}}function Ce(H,G){let de=H.filter($=>b($)&&!S.has($)),pe=G.filter($=>b($)&&!O.has($));if(!de.length||!pe.length)return;let ce=to(de,$=>$.tagName),xe=to(pe,$=>$.tagName),ne=He(H,G);for(let $ of de){let fe=$.tagName;if(ce.get(fe)!==1||xe.get(fe)!==1)continue;let Ee=pe.find(Re=>Re.tagName===fe);Ee&&!O.has(Ee)&&ne($,Ee)&&Ke($,Ee)&&!_($,Ee)&&(u($,Ee)?me($,Ee):(K($,Ee),E.add($)))}}function be(){let H=new Map;for(let $ of E)if(b($)&&b(S.get($))){let fe=n($).hash;H.has(fe)||H.set(fe,[]),H.get(fe).push($)}if(H.size)for(let $ of B){if(O.has($)||!b($)||re($))continue;let fe=H.get(n($).hash),Ee=fe&&fe.find(Re=>E.has(Re)&&!_(Re,$)&&Ke(Re,$)&&Qe(Re,$)&&u(Re,$)&&ge(Re,$));Ee&&(zt(Ee),me(Ee,$),ve(Ee,$),v.add(Ee))}let G=new Map,de=new Map,pe=new Map;for(let $ of E){let fe=S.get($);b($)&&b(fe)&&pe.set(fe,$)}let ce=($,fe)=>{if(!O.has($))return!re($);let Ee=pe.get($);return Ee===O.get($)&&Ee!==fe&&!Ee.contains(fe)},xe=$=>{if(O.has($)){let fe=pe.get($);pe.delete($),zt(fe)}};for(let $ of[...B,...pe.keys()]){if(O.has($)&&!pe.has($))continue;let fe=n($).hash;if(G.has(fe)||G.set(fe,[]),G.get(fe).push($),oe($))continue;let Ee=n($).sig;de.has(Ee)||de.set(Ee,[]),de.get(Ee).push($)}let ne=new Set;for(let $ of E){let fe=S.get($);!b($)||!b(fe)||oe($)||n($).hint===""||n(fe).hint===""||l($,fe)||ne.add($)}for(let $ of[...D,...ne]){let fe=S.get($);if(fe?!(E.has($)&&ne.has($)):ze($))continue;let Ee=tt=>{fe&&zt($),xe(tt)},Re=G.get(n($).hash);if(Re){let tt=Re.find(T=>T!==fe&&ce(T,$)&&!_($,T)&&Qe($,T)&&u($,T)&&ge($,T));if(tt){Ee(tt),me($,tt),ve($,tt),v.add($);continue}}if(oe($)||k<=0)continue;let Ve=de.get(n($).sig);if(!Ve)continue;let Oe=null,$e=0;for(let tt of Ve)if(!(tt===fe||!ce(tt,$)||!Ke($,tt)||!Qe($,tt)||_($,tt))&&(k--<=0||l($,tt)&&($e++,Oe=tt,$e>1)))break;$e>1&&R&&R.add($),$e===1&&(Ee(Oe),K($,Oe),ve($,Oe),v.add($),x.push([$,Oe]))}}}function to(e,o){let t=new Map;for(let n of e){let s=o(n);s!=null&&t.set(s,(t.get(s)||0)+1)}return t}var ei={diff:0},Ps=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"word"}):null,ti=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}]/u,ni=/[\p{L}\p{M}\p{N}_'’]+|\s+|[\s\S]/gu,oi=/\P{M}\p{M}*/gu;function si(e){if(e==="")return[];if(Ps){let t=[];for(let n of Ps.segment(e))t.push(n.segment);return t}let o=[];for(let t of e.match(ni))if(ti.test(t))for(let n of t.match(oi))o.push(n);else o.push(t);return o}var ri=/^[ ]+$/,ii=e=>ri.test(e)?" ".repeat(e.length):e,Kn=e=>typeof e.k=="string"&&/^\s+$/.test(e.k),yt="",ts=e=>e.every(o=>Kn(o)||o.k===yt),li=/^[\x00-\x7f\u00A0]*$/,ai=/[A-Za-z0-9_']+|[ \u00A0]+|\s|./g;function ci(e){return e===""?[]:e.match(ai)}function rn(e,o=!1){return(o?ci(e):si(e)).map(t=>({k:ii(t),raw:t,len:t.length}))}var bn=(...e)=>e.every(o=>li.test(o));function ns(e,o,t){let n=e.length,s=o.length,d=Math.min(n+s,t),l=d+1,r=new Int32Array(2*d+3),i=[],u=n===0&&s===0;for(let p=0;p<=d&&!u;p++){i.push(r.slice(l-p,l+p+1));for(let y=-p;y<=p;y+=2){let C;y===-p||y!==p&&r[l+y-1]<r[l+y+1]?C=r[l+y+1]:C=r[l+y-1]+1;let g=C-y,f=C;for(;C<n&&g<s&&e[C].k===o[g].k;)C++,g++;if(ei.diff+=1+C-f,r[l+y]=C,C>=n&&g>=s){u=!0;break}}}if(!u)return null;let w=[],c=n,h=s;for(let p=i.length-1;p>0;p--){let y=i[p],C=c-h,g=C+p,f=C===-p||C!==p&&y[g-1]<y[g+1]?C+1:C-1,m=y[f+p],R=m-f;for(;c>m&&h>R;)w.push([0,c-1,h-1]),c--,h--;c===m?(w.push([1,c,h-1]),h--):(w.push([-1,c-1,h]),c--)}for(;c>0&&h>0;)w.push([0,c-1,h-1]),c--,h--;return w.reverse(),w}function fi(e,o,t){let n=c=>c.k===yt;if(!e.some(n)&&!o.some(n))return ns(e,o,t);let s=[],d=[];for(let c=0;c<e.length;c++)n(e[c])||s.push(c);for(let c=0;c<o.length;c++)n(o[c])||d.push(c);let l=ns(s.map(c=>e[c]),d.map(c=>o[c]),t);if(!l)return null;let r=[],i=0,u=0,w=(c,h)=>{for(;i<c&&u<h&&e[i].k===o[u].k;)r.push([0,i++,u++]);let p=ns(e.slice(i,c),o.slice(u,h),t);if(!p)return!1;for(let[y,C,g]of p)r.push([y,C+i,g+u]);return i=c,u=h,!0};for(let[c,h,p]of l)if(c===0){if(!w(s[h],d[p]))return null;r.push([0,i,u]),i++,u++}return w(e.length,o.length)?r:null}function Un(e,o,t=4e3){let n=[],s=0;for(;s<e.length&&s<o.length&&e[s].k===o[s].k;)e[s].raw!==o[s].raw&&n.push({bi:s,tok:o[s]}),s++;let d=0;for(;d<e.length-s&&d<o.length-s&&e[e.length-1-d].k===o[o.length-1-d].k;)e[e.length-1-d].raw!==o[o.length-1-d].raw&&n.push({bi:e.length-1-d,tok:o[o.length-1-d]}),d++;let l=e.slice(s,e.length-d),r=o.slice(s,o.length-d),i=gi(l,r)?null:fi(l,r,t);if(!i){let f=l.length||r.length?[{bs:s,be:s+l.length,toks:r}]:[];return{hunks:f,cosmetic:n,coarse:!0,parts:f.map(m=>({...m,gap:[],group:0})),cosmeticEq:n}}let u=[],w=(f,m)=>{l[f].raw!==r[m].raw&&n.push({bi:s+f,tok:r[m]})},c=null,h=[],p=0,y=0,C=()=>{c&&u.push(c),c=null;for(let[f,m]of h)w(f,m);h=[],p++};for(let[f,m,R]of i){if(f===0){c&&Kn(l[m])&&!l[m].k.includes(`
|
|
2
|
+
`)?h.push([m,R]):(C(),w(m,R)),y=m+1;continue}(!c||h.length)&&(c&&u.push(c),c={bs:s+y,be:s+y,toks:[],gap:h.map(([S,O])=>({bi:s+S,tok:r[O]})),group:p},h=[]),f===-1?(c.be=s+y+1,y=m+1):c.toks.push(r[R])}C(),ui(u,e);let g=ss(u);return{hunks:g.hunks,cosmetic:n.concat(g.cosmetic),parts:u,cosmeticEq:n}}function ui(e,o){for(let t=0;t<e.length;t++){let n=e[t];if(n.gap.length)continue;let s=t+1<e.length?e[t+1].bs:1/0;if(n.toks.length){if(n.bs===n.be)for(;n.bs+1<s&&n.bs<o.length&&n.toks[0].k===yt&&o[n.bs].k===yt;)n.toks=[...n.toks.slice(1),n.toks[0]],n.bs++,n.be++}else for(;n.be+1<s&&n.be<o.length&&o[n.bs].k===yt&&o[n.be].k===yt;)n.bs++,n.be++}}function ss(e,o=()=>!1){let t=[],n=[],s=null,d=-1;for(let l of e){let r=o(l);if(s&&!s.alone&&!r&&l.group===d){s.be=l.be;for(let i of l.gap)s.toks.push(i.tok);for(let i of l.toks)s.toks.push(i);continue}s&&t.push({bs:s.bs,be:s.be,toks:s.toks});for(let i of l.gap)n.push(i);s={bs:l.bs,be:l.be,toks:l.toks.slice(),alone:r},d=l.group}return s&&t.push({bs:s.bs,be:s.be,toks:s.toks}),{hunks:t,cosmetic:n}}var di=(e,o)=>e.bs===o.bs&&e.be===o.be&&ls(e.toks,o.toks);function is(e,o,t){let n=w=>c=>w.some(h=>di(c,h)),s=ss(e.parts,n(o.parts)),d=ss(o.parts,n(e.parts)),l=e.cosmeticEq.concat(s.cosmetic),r=o.cosmeticEq.concat(d.cosmetic),[i,u]=t?hi(s.hunks,d.hunks,t,l,r):[s.hunks,d.hunks];return{lh:i,rh:u,cosL:l,cosR:r}}function hi(e,o,t,n,s){let d=(y,C)=>y.k===C.k&&y.raw===C.raw,l=[{list:e.map(y=>({...y})),resp:new Set(n.map(y=>y.bi)),raw:new Map(n.map(y=>[y.bi,y.tok]))},{list:o.map(y=>({...y})),resp:new Set(s.map(y=>y.bi)),raw:new Map(s.map(y=>[y.bi,y.tok]))}],r=y=>y.bs===y.be,i=(y,C,g,f)=>{let m=y.list[C];if(!r(m))return f(m)===g?m.toks:null;let R=C?y.list[C-1].be:0,S=C+1<y.list.length?y.list[C+1].bs:t.length;if(g<R||g>S)return null;let O=m.toks,E=m.bs;for(;E>g;){let P=O[O.length-1];if(!d(P,t[E-1])||y.resp.has(E-1))return null;O=[P,...O.slice(0,-1)],E--}for(;E<g;){if(!d(O[0],t[E])||y.resp.has(E))return null;O=[...O.slice(1),O[0]],E++}return O},u=(y,C,g,f,m,R)=>{let S=y.list[C],O=m?g.slice(g.length-f):g.slice(0,f),E=m?g.slice(0,g.length-f):g.slice(f),P={bs:R,be:R,toks:O};if(r(S)){if(!E.length){y.list[C]=P;return}let N={bs:R,be:R,toks:E};m&&(N.lead=!0),y.list.splice(C,1,...m?[N,P]:[P,N]);return}let v={bs:S.bs,be:S.be,toks:E};y.list.splice(C,1,...m?[v,P]:[P,v])},w=(y,C,g,f,m)=>{let R=y.list[C],S=m?g.slice(g.length-f):g.slice(0,f),O=m?g.slice(0,g.length-f):g.slice(f),E={bs:R.bs,be:R.be,toks:S};if(!O.length){y.list[C]=E;return}let P=m?{bs:R.bs,be:R.bs,toks:O,lead:!0}:{bs:R.be,be:R.be,toks:O};y.list.splice(C,1,...m?[P,E]:[E,P])},c=(y,C,g,f)=>{let m=y.list[C],R=g.list[f],S=m.be,O=R.bs;if(S>=O||C+1<y.list.length&&y.list[C+1].bs<=R.be||f>0&&g.list[f-1].be>=m.bs)return!1;for(let U=S;U<O;U++)if(!Kn(t[U])||t[U].k.includes(`
|
|
3
|
+
`))return!1;let E=U=>t.slice(S,O).map((K,Ae)=>U.raw.get(S+Ae)||K),P=[...m.toks,...E(y)],v=[...E(g),...R.toks],N=(U,K,Ae)=>K>=0&&K+Ae.length<=U.length&&Ae.every((Me,Be)=>U[K+Be].k===Me.k),L=(U,K,Ae)=>ts(U)&&t.slice(K,Ae).some(Me=>!Kn(Me)),D=U=>U.some(K=>!Kn(K)),B,M,x,k;if(r(m)&&D(m.toks)&&N(v,0,m.toks)){let U=v.slice(m.toks.length);L(U,S,R.be)||(B=S,M=m.toks,x=v.slice(0,m.toks.length),k=[null,{bs:S,be:R.be,toks:U}])}if(B===void 0&&r(R)&&D(R.toks)){let U=P.length-R.toks.length,K=P.slice(0,U);N(P,U,R.toks)&&!L(K,m.bs,O)&&(B=O,M=P.slice(U),x=R.toks,k=[{bs:m.bs,be:O,toks:K},null])}if(B===void 0)return!1;let z=U=>U&&(U.bs<U.be||U.toks.length);return y.list.splice(C,1,...[k[0],{bs:B,be:B,toks:M}].filter(z)),g.list.splice(f,1,...[{bs:B,be:B,toks:x},k[1]].filter(z)),!0},h=l[0],p=l[1];for(let y=0;y<64;y++){let C=!1;e:for(let g=0;g<h.list.length;g++)for(let f=0;f<p.list.length;f++){let m=h.list[g],R=p.list[f];if(!(m.bs===R.bs&&m.be===R.be&&ls(m.toks,R.toks))){for(let S of[!0,!1]){let O=P=>S?P.be:P.bs,E=r(m)?[O(R),m.bs]:[O(m)];for(let P of E){let v=i(h,g,P,O),N=v&&i(p,f,P,O);if(!N)continue;let L=(k,z)=>S?k[k.length-1-z]:k[z],D=0;for(;D<v.length&&D<N.length&&L(v,D).k===L(N,D).k;)D++;if(!D)continue;let B=S?v.slice(0,v.length-D):v.slice(D),M=S?N.slice(0,N.length-D):N.slice(D);if(!(D<v.length&&D<N.length&&!ts(B)&&!ts(M)&&(r(m)&&r(R)||m.bs===R.bs&&m.be===R.be)||!(S?v.slice(v.length-D):v.slice(0,D)).some(k=>!Kn(k)))){if(D===v.length&&D===N.length&&r(m)&&r(R)){if(m.bs===P&&R.bs===P)continue;h.list[g]={bs:P,be:P,toks:v},p.list[f]={bs:P,be:P,toks:N}}else!r(m)&&m.bs===R.bs&&m.be===R.be?(w(h,g,v,D,S),w(p,f,N,D,S)):(u(h,g,v,D,S,P),u(p,f,N,D,S,P));C=!0;break e}}}if(c(h,g,p,f)||c(p,f,h,g)){C=!0;break e}}}if(!C)break}return[h.list,p.list]}var pi=48,mi=.3;function gi(e,o){let t=e.filter(l=>!Kn(l)),n=o.filter(l=>!Kn(l));if(Math.min(t.length,n.length)<pi)return!1;let s=new Map;for(let l of t)s.set(l.k,(s.get(l.k)||0)+1);let d=0;for(let l of n){let r=s.get(l.k);r>0&&(d++,s.set(l.k,r-1))}return d/Math.min(t.length,n.length)<mi}var bi=(e,o)=>{let t=new Set;for(let n of e.toks)typeof n.k!="string"&&t.add(n.k.el);for(let n=e.bs;n<e.be;n++)typeof o[n].k!="string"&&t.add(o[n].k.el);return t},ls=(e,o)=>e.length===o.length&&e.every((t,n)=>t.k===o[n].k);function Bs(e,o,t,n="remote"){let s=Un(e,o),d=Un(e,t),{lh:l,rh:r,cosL:i,cosR:u}=is(s,d,e),w=b=>b.bs===b.be,c=b=>b.toks.some(_=>typeof _.k=="string"),h=b=>w(b)&&!c(b),p=(b,_)=>_.bs<b.be&&b.bs<_.be,y=(b,_)=>!p(b,_)&&_.bs<=b.be&&b.bs<=_.be&&(w(b)&&c(b)||w(_)&&c(_))&&!(w(b)&&w(_)),C=(b,_)=>b.bs===_.bs&&b.be===_.be&&ls(b.toks,_.toks),g=[],f=new Set;for(let b of l){let _=r.find(oe=>!f.has(oe)&&C(b,oe));_?(f.add(_),g.push({bs:b.bs,be:b.be,side:"both",l:b,r:_,toks:b.toks})):g.push({bs:b.bs,be:b.be,side:"L",l:b,toks:b.toks,lead:!!b.lead})}for(let b of r)f.has(b)||g.push({bs:b.bs,be:b.be,side:"R",r:b,toks:b.toks,lead:!!b.lead});g.sort((b,_)=>b.bs-_.bs||b.be-_.be||_.lead-b.lead);let m=0,R=0;for(let b of g)b.side==="both"&&(m+=b.toks.length-(b.be-b.bs));let S=g.map((b,_)=>_),O=b=>S[b]===b?b:S[b]=O(S[b]),E=(b,_)=>(b=O(b),_=O(_),b===_?!1:(S[b]=_,!0)),P=g.map(b=>bi({bs:b.bs,be:b.be,toks:b.toks},e)),v={L:new Map,R:new Map};g.forEach((b,_)=>{let oe=b.side==="both"?["L","R"]:[b.side];for(let ee of oe)for(let Pe of P[_])v[ee].has(Pe)||v[ee].set(Pe,[]),v[ee].get(Pe).push(_)});for(let b of[v.L,v.R])for(let _ of b.values())for(let oe=1;oe<_.length;oe++)E(_[0],_[oe]);for(let b=0;b<g.length;b++)for(let _=b+1;_<g.length;_++){let oe=g[b],ee=g[_];oe.side===ee.side&&oe.side!=="both"||oe.bs>ee.be||(p(oe,ee)||y(oe,ee)?E(b,_):oe.bs===ee.bs&&w(oe)&&w(ee)&&R++)}let N=(b,_)=>{let oe=b==="L"?l:r;for(let ee of oe)if(ee.toks.some(Pe=>Pe.kind==="close"&&Pe.k.el===_.el))return ee.bs;for(let ee=0;ee<e.length;ee++)if(e[ee].kind==="close"&&e[ee].k.el===_.el)return ee;return-1};g.forEach((b,_)=>{if(!(!h(b)||b.side==="both"))for(let oe of b.toks){if(oe.kind!=="open")continue;let ee=N(b.side,oe.k);if(ee<=b.bs)continue;let Pe=new Uint8Array(ee-b.bs),Ke=[];if(g.forEach((Ne,ot)=>{if(!(Ne.side===b.side||w(Ne))&&Ne.bs<ee&&Ne.be>b.bs){Ke.push(ot);for(let Qe=Math.max(Ne.bs,b.bs);Qe<Math.min(Ne.be,ee);Qe++)Pe[Qe-b.bs]=1}}),Ke.length&&Pe.every(Ne=>Ne===1))for(let Ne of Ke)E(_,Ne)}});let L=!0;for(;L;){L=!1;let b=new Map;g.forEach((_,oe)=>{let ee=O(oe),Pe=b.get(ee)||{bs:_.bs,be:_.be,L:!1,R:!1};Pe.bs=Math.min(Pe.bs,_.bs),Pe.be=Math.max(Pe.be,_.be),_.side!=="R"&&(Pe.L=!0),_.side!=="L"&&(Pe.R=!0),b.set(ee,Pe)}),g.forEach((_,oe)=>{for(let[ee,Pe]of b){if(O(oe)===O(ee)||!(Pe.L&&Pe.R))continue;let Ke=_.bs<Pe.be&&_.be>Pe.bs,Ne=w(_)&&c(_)&&(_.bs===Pe.be||_.bs===Pe.bs);(Ke||Ne)&&E(oe,ee)&&(L=!0)}})}let D=new Map;g.forEach((b,_)=>{let oe=O(_);D.has(oe)||D.set(oe,[]),D.get(oe).push(b)});let B=[];for(let b of D.values()){let _=b.some(ee=>ee.side==="L"),oe=b.some(ee=>ee.side==="R");if(_&&oe){let ee=Math.min(...b.map(ot=>ot.bs)),Pe=Math.max(...b.map(ot=>ot.be)),Ke=b.filter(ot=>ot.side!=="R").map(ot=>ot.l).sort((ot,Qe)=>ot.bs-Qe.bs),Ne=b.filter(ot=>ot.side!=="L").map(ot=>ot.r).sort((ot,Qe)=>ot.bs-Qe.bs);B.push({bs:ee,be:Pe,kind:"conflict",localHunks:Ke,remoteHunks:Ne})}else for(let ee of b)B.push({bs:ee.bs,be:ee.be,kind:ee.side,u:ee})}let M=(b,_)=>{let oe=b==="L"?l:r;for(let ee of oe)if(ee.toks.some(Pe=>Pe.kind==="close"&&Pe.k.el===_.el))return ee.bs+.5;for(let ee=0;ee<e.length;ee++)if(e[ee].kind==="close"&&e[ee].k.el===_.el)return ee;return 1/0},x=(b,_)=>{let oe=b==="L"?l:r;for(let ee of oe)if(ee.toks.some(Pe=>Pe.kind==="open"&&Pe.k.el===_.el))return ee.bs-.5;for(let ee=0;ee<e.length;ee++)if(e[ee].kind==="open"&&e[ee].k.el===_.el)return ee;return-1/0},k=b=>b.kind==="R"?"R":"L",z=b=>b.kind==="R"?1:0;B.sort((b,_)=>{if(b.bs!==_.bs)return b.bs-_.bs;let oe=b.bs===b.be,ee=_.bs===_.be;if(oe!==ee)return oe?-1:1;if(oe&&ee&&b.kind!=="conflict"&&_.kind!=="conflict"){let Ke=b.u.toks,Ne=_.u.toks,ot=Ze=>Ze.length&&Ze.every(Xe=>Xe.kind==="open"),Qe=Ze=>Ze.length&&Ze.every(Xe=>Xe.kind==="close");if(ot(Ke)&&ot(Ne)){let Ze=Math.max(...Ke.map(wt=>M(k(b),wt.k))),Xe=Math.max(...Ne.map(wt=>M(k(_),wt.k)));if(Ze!==Xe)return Xe-Ze}if(Qe(Ke)&&Qe(Ne)){let Ze=Math.min(...Ke.map(wt=>x(k(b),wt.k))),Xe=Math.min(...Ne.map(wt=>x(k(_),wt.k)));return Ze!==Xe?Xe-Ze:z(_)-z(b)}}let Pe=Ke=>Ke.u&&Ke.u.lead?1:0;return Pe(_)-Pe(b)||z(b)-z(_)||b.be-_.be});let U=[],K=[],Ae=0,Me=b=>{b>Ae&&(U.push({bs:Ae,be:b,toks:e.slice(Ae,b),source:"base"}),Ae=b)};for(let b of B){if(Me(b.bs),b.kind==="conflict"){let _=rs(e,b.localHunks,b.bs,b.be),oe=rs(e,b.remoteHunks,b.bs,b.be),ee=n==="local"?_:n==="both"?_.concat(oe):oe,Pe=(ot,Qe)=>{let Ze=0;for(let Xe of ot)Xe.be<=b.bs&&!Qe.includes(Xe)&&(Ze+=Xe.toks.length-(Xe.be-Xe.bs));return Ze},Ke=b.bs+Pe(l,b.localHunks),Ne=b.bs+Pe(r,b.remoteHunks);K.push({bs:b.bs,be:b.be,ls:Ke,le:Ke+_.length,rs:Ne,re:Ne+oe.length,ms:0,me:0,base:e.slice(b.bs,b.be),local:_,remote:oe,resolved:ee}),U.push({bs:b.bs,be:b.be,toks:ee,source:"conflict",localHunks:b.localHunks,localToks:_,keepsLocal:n!=="remote"})}else U.push({bs:b.bs,be:b.be,toks:b.u.toks,source:b.kind==="R"?"remote":"local",localHunks:b.kind==="R"?[]:[b.u.l]});Ae=Math.max(Ae,b.be)}Me(e.length);let Be=0,te=0;for(let b of U)b.source==="conflict"&&(K[te].ms=Be,K[te].me=Be+b.toks.length,te++),Be+=b.toks.length;let ve=new Map(i.map(b=>[b.bi,b.tok])),ze=new Map(u.map(b=>[b.bi,b.tok])),re=[];for(let b of U){b.source==="base"&&(b.toks=b.toks.map((_,oe)=>{let ee=b.bs+oe,Pe=ve.get(ee),Ke=ze.get(ee),Ne=Pe&&Ke?n==="remote"?Ke:Pe:Pe||Ke||_;return Ne===_?_:{...Ne,cosmetic:!0}}));for(let _ of b.toks)re.push({..._,src:b.source})}return{tokens:re,segments:U,conflicts:K,localHunks:l,remoteHunks:r,collapsedDelta:m,samePoint:R,mapLocalOffset:wi(e,l,U)}}function rs(e,o,t,n){let s=[],d=t;for(let l of o)s=s.concat(e.slice(d,l.bs),l.toks),d=l.be;return s.concat(e.slice(d,n))}var os=e=>e.reduce((o,t)=>o+t.len,0);function wi(e,o,t){let n=new Int32Array(e.length+1);for(let l=0;l<e.length;l++)n[l+1]=n[l]+e[l].len;let s=o.map(l=>({bs:n[l.bs],be:n[l.be],text:l.toks.map(r=>r.raw).join(""),ref:l})),d=t.map(l=>({bs:n[l.bs],be:n[l.be],len:os(l.toks),source:l.source,localHunks:l.localHunks||[],localLen:l.localToks?os(l.localToks):0,keepsLocal:l.keepsLocal,ref:l}));return l=>{let r=null,i=null,u=0,w=0,c=0;for(let p of s){let y=p.bs-c;if(l<=w+y){r=c+(l-w);break}if(w+=y,c=p.bs,l<=w+p.text.length){i=p,u=l-w,r=p.bs;break}w+=p.text.length,c=p.be}r===null&&(r=c+(l-w));let h=0;for(let p of d){if(!i&&r<=p.bs)return h;if(!(i?p.localHunks.includes(i.ref):r<p.be)){h+=p.len;continue}if(p.source==="base")return h+(r-p.bs);if(p.source==="remote")return h+p.len;if(p.source==="local")return h+Math.min(u,p.len);if(!p.keepsLocal||!i)return h+p.len;let C=p.localHunks.indexOf(i.ref),g=os(rs(e,p.localHunks.slice(0,C),p.ref.bs,i.ref.bs));return h+Math.min(g+u,p.localLen)}return h}}function no(e,o,t,n="remote"){if(o===t||t===e)return{text:o,conflicts:[],mapLocalOffset:f=>Math.min(f,o.length),granularity:"word"};let s=bn(e,o,t),d=rn(e,s),l=rn(o,s),r=rn(t,s),i=d.length<=2e4&&l.length<=2e4&&r.length<=2e4?Bs(d,l,r,n):null,u="word",w=d;if(!i){let f=m=>m.split(/(?<=\n)/).map(R=>({k:R,raw:R,len:R.length}));w=f(e),i=Bs(w,f(o),f(t),n),u="line"}let c=f=>f.map(m=>m.raw).join(""),h=f=>{let m=[0];for(let R of f)m.push(m[m.length-1]+R.len);return m},p=h(w),y=null,C=null,g=null;if(i.conflicts.length){let f=m=>m.split(/(?<=\n)/).map(R=>({k:R,raw:R,len:R.length}));y=h(u==="line"?f(o):l),C=h(u==="line"?f(t):r),g=h(i.tokens)}return{text:c(i.tokens),conflicts:i.conflicts.map(f=>({bs:p[f.bs],be:p[f.be],ls:y[f.ls],le:y[f.le],rs:C[f.rs],re:C[f.re],ms:g[f.ms],me:g[f.me],base:c(f.base),local:c(f.local),remote:c(f.remote),resolved:c(f.resolved)})),mapLocalOffset:i.mapLocalOffset,granularity:u}}function Fn(e,o,t=4e3){if(e===o)return[];let n=bn(e,o),s=rn(e,n),d=rn(o,n),l=Un(s,d,t),r=[0];for(let i of s)r.push(r[r.length-1]+i.len);return l.hunks.map(i=>({bs:r[i.bs],be:r[i.be],text:i.toks.map(u=>u.raw).join("")}))}function qt(e=2e4*8){return{remaining:e,comparisons:0,sortComparisons:0,mapCells:0,mapWrites:0,coverageChecks:0}}function Ln({base:e,side:o,retained:t,transfers:n,baseAtomKey:s=r=>r.el,sideAtomKey:d=r=>r.el,budget:l=qt()}){let r=[],i=O=>({status:"fallback",reason:O}),u=O=>O>l.remaining?!1:(l.remaining-=O,!0);if(!u((t.length+n.length)*3))return i("work-limit");for(let[O,E]of[["retained",t],["transfer",n]])for(let P of E){let{from:v,to:N,target:L}=P;if(!Number.isInteger(v)||!Number.isInteger(N)||!Number.isInteger(L)||v<0||N<=v||N>e.text.length||L<0||L+N-v>o.text.length)return i("invalid-range");r.push({...P,kind:O})}let w=Symbol(),c=O=>(E,P)=>{if(!u(1))throw w;return l.sortComparisons++,O(E,P)},h,p;try{h=r.slice().sort(c((O,E)=>O.from-E.from||O.to-E.to)),p=r.slice().sort(c((O,E)=>O.target-E.target||O.to-O.from-(E.to-E.from)))}catch(O){if(O===w)return i("work-limit");throw O}if(!u(r.length*2))return i("work-limit");for(let O=1;O<h.length;O++)if(h[O].from<h[O-1].to)return i("source-overlap");for(let O=1;O<p.length;O++)if(p[O].target<p[O-1].target+p[O-1].to-p[O-1].from)return i("target-overlap");for(let O of h){let E=O.to-O.from;if(!u(E))return i("work-limit");for(let P=0;P<E;P++){let v=O.from+P,N=O.target+P;if(l.comparisons++,e.text[v]!==o.text[N])return i("unequal-occurrence");let L=e.atomAt.get(v),D=o.atomAt.get(N);if(!!L!=!!D||L&&s(L)!==d(D))return i("different-atom")}}let y=e.text.length+o.text.length+2,C=r.reduce((O,E)=>O+(E.to-E.from)*2,2);if(!u(y+C+r.length))return i("work-limit");let g=new Int32Array(e.text.length+1).fill(-1),f=new Int32Array(o.text.length+1).fill(-1);l.mapCells+=y,l.mapWrites+=C;let m=-1,R=!0;for(let O of h){O.target<m&&(R=!1),m=O.target+O.to-O.from;for(let E=0;E<O.to-O.from;E++)g[O.from+E]=O.target+E,f[O.target+E]=O.from+E}return g[e.text.length]=o.text.length,f[o.text.length]=e.text.length,{status:"ready",runs:h,bTo:g,toB:f,monotone:R,covers:(O,E)=>{if(!u(E-O))return null;l.coverageChecks+=E-O;for(let P=O;P<E;P++)if(e.text[P]!==yt&&!/\s/.test(e.text[P])&&g[P]<0)return!1;return!0}}}function as({base:e,side:o,baseOf:t=()=>null,budget:n=qt()}){if(e.text===o.text||!e.text.includes(yt)&&!o.text.includes(yt))return{status:"none"};let s=(e.text.length+o.text.length)*8;if(s>n.remaining)return{status:"fallback",reason:"work-limit"};n.remaining-=s,n.boundarySteps=(n.boundarySteps||0)+s;let d=(y,C)=>C<y.length&&(y[C]===yt||/\s/.test(y[C])),l=new Map,r=Symbol(),i=(y,C)=>{let g=y.stackAt[C]||[];if(!l.has(g)){if(g.length>n.remaining)throw r;n.remaining-=g.length,n.boundarySteps+=g.length,l.set(g,g.find(f=>f.block)?.el||null)}return l.get(g)},u=[],w=(y,C)=>{let g=i(e,y),f=i(o,C),m=g&&f&&t(f)!==g?"transfer":"retained",R=u[u.length-1];R&&R.to===y&&R.target+R.to-R.from===C&&R.kind===m&&R.destination===f?R.to++:u.push({from:y,to:y+1,target:C,destination:f,kind:m})},c=0,h=0,p=!1;try{for(;c<e.text.length||h<o.text.length;){if(c<e.text.length&&h<o.text.length&&e.text[c]===o.text[h]){let R=e.atomAt.get(c),S=o.atomAt.get(h);if(!!R!=!!S||R&&t(S.el)!==R.el)return{status:"none"};w(c++,h++);continue}if(!d(e.text,c)&&!d(o.text,h))return{status:"none"};let y=c,C=h;for(;d(e.text,c);)c++;for(;d(o.text,h);)h++;let g=e.text.slice(y,c),f=o.text.slice(C,h);(g.includes(yt)||f.includes(yt))&&(p=!0);let m=0;for(;m<c-y&&m<h-C&&e.text[c-m-1]===o.text[h-m-1];)m++;for(let R=m;R>0;R--)w(c-R,h-R)}}catch(y){if(y===r)return{status:"fallback",reason:"work-limit"};throw y}return p?Ln({base:e,side:o,retained:u.filter(y=>y.kind==="retained"),transfers:u.filter(y=>y.kind==="transfer"),sideAtomKey:y=>t(y.el)||y.el,budget:n}):{status:"none"}}var js=/\s/,Lo=/\S/;function Nn(e,o,t,n,s,d,l=-1,r=-1){if(!e.length)return-1;s(n,e.length);let i=new Int32Array(e.length),u=0;for(let p=1;p<e.length;p++){for(s(n,1);u&&(s(n,1),e[u]!==e[p]);)u=i[u-1];s(n,1),e[u]===e[p]&&u++,i[p]=u}let w=-1,c=0,h=0;u=0;for(let p=0;p<o.length;p++){for(s(n,1);u&&(s(n,1),e[u]!==o[p]);)u=i[u-1];if(s(n,1),e[u]===o[p]&&u++,u!==e.length)continue;let y=p+1-e.length,C=p+1;for(u=i[u-1];c<t.length&&t[c].from<y;)s(n,1),c++;for(;h<t.length&&t[h].to<C;)s(n,1),h++;if(s(n,6),!(c===t.length||h===t.length||t[c].from!==y||t[h].to!==C||l>=0&&y<r&&C>l)){if(!d)return y;if(w>=0)return-1;w=y}}return w}function yo(e){return!e.flat.atoms.length&&!e.flat.pins?.length}function cs(e,o,t,n){let s=null;for(let l of o)if(n(t,1),!(l.source!==e.source||l.side!==e.side))for(let r of l.runs){if(n(t,1),r.source!==e.source)continue;let i=Math.max(e.from,r.from),u=Math.min(e.to,r.to);i>=u||(s||(n(t,e.to-e.from),s=new Uint8Array(e.to-e.from)),n(t,u-i),s.fill(1,i-e.from,u-e.from))}if(!s)return!1;n(t,e.to-e.from);let d=!1;for(let l=e.from;l<e.to;l++)if(Lo.test(e.flat.text[l])){if(!s[l-e.from])return!1;d=!0}return d}function fs({source:e,side:o,views:t,eligible:n,blocked:s,baseId:d,model:l,tokensOf:r,budget:i,charge:u}){let{V:w,A:c,idOf:h}=t[o],p=t[1-o];if(e.nodeType!==1||c.identical.has(e)||p.A.identical.has(e)||s.has(e)||!n(e))return null;let y=w.twin(e),C=p.V.twin(e);if(!y||!C||c.map.get(e)!==y||c.reverse.get(y)!==e||p.A.map.get(e)!==C||p.A.reverse.get(C)!==e||!w.here(y)||!p.V.here(C)||!n(y)||!n(C))return null;let g=d(e);if(g!==h(y)||g!==p.idOf(C))return null;let f=l(e,null,i),m=l(y,c,i),R=l(C,p.A,i);if(!yo(f)||!yo(m)||!yo(R))return null;let S=f.flat.text,O=m.flat.text;if(u(i,S.length+O.length*3),!Lo.test(O)||O.length>=S.length)return null;let E=S.startsWith(O),P=S.endsWith(O);if(E===P)return null;let v=E?O.length:0,N=E?S.length:S.length-O.length,L=v,D=N;for(;L<D&&(u(i,1),!!js.test(S[L]));)L++;for(;D>L&&(u(i,1),!!js.test(S[D-1]));)D--;if(L===D)return null;let B=r(f,i),M=!1,x=!1;for(let k of B)u(i,1),k.from===L&&(M=!0),k.to===D&&(x=!0);return!M||!x?null:{source:e,side:o,flat:f.flat,from:v,to:N}}function Ds({base:e,views:o,side:t,attempt:n,eligible:s,blocked:d,baseId:l,model:r,tokensOf:i,certificates:u,charge:w,exhausted:c,limit:h}){if(h<=0)return null;let p=qt(h),{V:y,A:C,idOf:g}=o[t],f=o[1-t],[m,R,S,O]=n,E=null;try{for(let P=m;P<=R;P++){w(p,1);let v=e[P];if(v.nodeType!==1||C.identical.has(v)||f.A.identical.has(v)||d.has(v)||!s(v))continue;let N=fs({source:v,side:t,views:o,eligible:s,blocked:d,baseId:l,model:r,tokensOf:i,budget:p,charge:w});if(!N||cs(N,u,p,w))continue;let{flat:L,from:D,to:B}=N;w(p,(B-D)*2);let M=L.text.slice(D,B).trim();for(let x=S;x<=O;x++){w(p,1);let k=y.units[x],z=y.baseOf(k);if(!z||z===v||z.nodeType!==1||k.nodeType!==1||z.parentNode!==v.parentNode||k.parentNode!==C.map.get(v).parentNode||C.map.get(z)!==k||C.reverse.get(k)!==z||d.has(z)||!s(z)||!s(k)||l(z)!==g(k))continue;let U=r(z,null,p),K=r(k,C,p);if(!yo(U)||!yo(K))continue;let Ae=U.flat.text,Me=K.flat.text;if(w(p,Ae.length),!Lo.test(Ae)||Me.length<=Ae.length)continue;let Be=i(K,p),te=Nn(Ae,Me,Be,p,w,!0);if(!(te<0)&&!(Nn(M,Me,Be,p,w,!1,te,te+Ae.length)<0)){(E||=[]).push(N);break}}}}catch(P){if(P!==c)throw P}return E}function Us(e,o,t,n,s,d,l){if(d==="both"||t.atoms.length||n.atoms.length||s.atoms.length)return d;let r=d==="remote";if(r?l.rss!==l.rse||l.lss===l.lse||l.local===l.base:l.lss!==l.lse||l.rss===l.rse||l.remote===l.base)return d;for(let i of e){if(i.source!==o||i.side!==(r?1:0)||i.flat.text!==t.text||i.flat.nodes.length!==t.nodes.length||l.be<=i.from||l.bs>=i.to)continue;let u=!0;for(let c=0;c<t.nodes.length;c++){let h=i.flat.nodes[c],p=t.nodes[c];if(h.node!==p.node||h.s!==p.s||h.e!==p.e){u=!1;break}}if(!u)continue;let w=!1;for(let c=l.bs;c<l.be;c++)if(Lo.test(t.text[c])){if(c<i.from||c>=i.to){u=!1;break}w=!0}if(u&&w)return r?"local":"remote"}return d}var Rn="\uFFFC";var yi={caret:0},wn=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(" ")),zs=new Set(["BR","WBR","IMG"]),us=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 Pn(e,o={}){if(e.nodeType===3)return!0;if(e.nodeType!==1)return!1;if(o.ignored&&o.ignored(e)||zs.has(e.tagName))return!0;if(!wn.has(e.tagName))return!us.has(e.tagName);if(o.remoteWins&&o.remoteWins(e))return!1;let t=o.inlineCache&&o.inlineCache.get(e);if(t!==void 0)return t;let n=!0;for(let s of e.childNodes)if(!Pn(s,o)){n=!1;break}return o.inlineCache&&o.inlineCache.set(e,n),n}function ki(e){return!e.firstChild||e.textContent===""&&!e.querySelector("br,img,wbr")}function en(e,o={}){let t={text:"",marks:[],atoms:[],nodes:[],stackAt:[],pins:[],placeholder:null,via:null},n=(s,d)=>{for(let l of s){if(l.nodeType===3){let c=l.nodeValue;if(!c)continue;t.nodes.push({node:l,s:t.text.length,e:t.text.length+c.length}),t.text+=c;for(let h=0;h<c.length;h++)t.stackAt.push(d);continue}if(l.nodeType!==1)continue;if(o.ignored&&o.ignored(l)){t.pins.push({el:l,i:t.text.length});continue}if(o.skip&&o.skip.has(l))continue;let r=o.via&&o.via(l)||l;r!==l&&(t.via||(t.via=new Map)).set(r,l);let i=l.tagName;if(o.blocks&&o.blocks.has(l)){t.text.length&&t.text[t.text.length-1]!==yt&&(t.stackAt.push(d),t.text+=yt);let c={el:l,tag:i,from:t.text.length,to:-1,depth:d.length,block:!0};t.marks.push(c);let h=d.concat([c]);n(r.childNodes,h),t.stackAt.push(h),t.text+=yt,c.to=t.text.length;continue}let u=wn.has(i)&&ki(r);if(zs.has(i)||!wn.has(i)||o.remoteWins&&o.remoteWins(l)||o.atomize&&o.atomize(l)||u){t.atoms.push({i:t.text.length,el:l,key:u?i+":empty":i,stack:d}),t.stackAt.push(d),t.text+=Rn;continue}let w={el:l,tag:i,from:t.text.length,to:-1,depth:d.length};t.marks.push(w),n(r.childNodes,d.concat([w])),w.to=t.text.length}};if(n(e,[]),t.atoms.length===1&&t.atoms[0].el.tagName==="BR"&&t.marks.length===0&&Bo(t).trim()===""){let s=t.atoms[0];t.placeholder=s.el,t.text=t.text.slice(0,s.i)+t.text.slice(s.i+1),t.stackAt.splice(s.i,1);for(let d of t.nodes)d.s>s.i&&(d.s--,d.e--);t.atoms=[]}return t.atomAt=new Map(t.atoms.map(s=>[s.i,s])),t}function xi(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ")}function Ti(e){let o="<"+e.tagName.toLowerCase();for(let t of e.attributes)o+=` ${t.name}="${t.value.replace(/"/g,""")}"`;return o+">"}function so(e,o,t){let n="",s=[];for(let d=o;d<t;d++){let l=e.stackAt[d],r=0;for(;r<s.length&&r<l.length&&s[r]===l[r];)r++;for(;s.length>r;)n+=`</${s.pop().tag.toLowerCase()}>`;for(;s.length<l.length;){let u=l[s.length];n+=Ti(u.el),s.push(u)}let i=e.atomAt.get(d);n+=i?i.el.outerHTML:e.text[d]===yt?"":xi(e.text[d])}for(;s.length;)n+=`</${s.pop().tag.toLowerCase()}>`;return n}function vi(e,o){let t=[...e.el.attributes].filter(n=>!o(e.el,n.name)).map(n=>n.name+"="+n.value).sort().join("");return e.tag+"|"+t}function $s(e,o){let t=[...e.attributes].filter(n=>!o(e,n.name)).map(n=>n.name+"="+n.value).sort().join("");return e.tagName+"|"+t+"|"+e.innerHTML}function Hs(e,o=()=>!1){let t=new Map,n=d=>{let l=t.get(d);return l===void 0&&(l="{"+d.map(r=>vi(r,o)).sort().join(",")+"}",t.set(d,l)),l},s="";for(let d=0;d<e.text.length;d++){let l=e.atomAt.get(d);s+=(l?"["+$s(l.el,o)+"]":e.text[d])+n(e.stackAt[d])}return e.text.length===0&&e.placeholder&&(s+="[br]"),s}function oo(e,o,t,n=s=>s.key){let s=[],d=e.text,l=0,r=i=>{if(i<=l)return;let u=d.slice(l,i);if(t)for(let w of u.split(/(?<=\n)/))s.push({k:w,raw:w,len:w.length});else for(let w of rn(u,o))s.push(w)};for(let i of e.atoms)r(i.i),s.push({k:"\0"+n(i),raw:Rn,len:1,atom:!0}),l=i.i+1;return r(d.length),s}function Bo(e){if(!e.atoms.length)return e.text;let o="",t=0;for(let n of e.atoms)o+=e.text.slice(t,n.i),t=n.i+1;return o+e.text.slice(t)}var ro=e=>{let o=new Int32Array(e.length+1);for(let t=0;t<e.length;t++)o[t+1]=o[t]+e[t].len;return o};function Ro(e,o,t,n){let s=ro(o),d=ro(t),l=[],r=0,i=0;for(let w of n.hunks){i+=w.bs-r;let c=i+w.toks.length;l.push({bs:s[w.bs],be:s[w.be],ss:d[i],se:d[c],text:e.text.slice(d[i],d[c]),toks:w.toks,lead:!!w.lead}),i=c,r=w.be}let u=new Map;for(let w of n.cosmetic)u.set(w.bi,w.tok.raw);return{hunks:l,respell:u}}function Vs(e,o,t){let n=l=>l===yt||/\s/.test(l),s=l=>l.replace(/[\u001E\s]/g,""),d=[];for(let l of e){let r=o.slice(l.bs,l.be),i=t.slice(l.ss,l.se);if(!r.includes(yt)&&!i.includes(yt)||r.includes(Rn)||i.includes(Rn)||s(r)!==s(i)){d.push(l);continue}let u=0,w=0;for(;;){let c=u,h=w;for(;c<r.length&&n(r[c]);)c++;for(;h<i.length&&n(i[h]);)h++;let p=u,y=w;for(;p<c&&y<h&&r[p]===i[y];)p++,y++;let C=c,g=h;for(;C>p&&g>y&&r[C-1]===i[g-1];)C--,g--;if(C>p||g>y){let f=i.slice(y,g);d.push({bs:l.bs+p,be:l.bs+C,ss:l.ss+y,se:l.ss+g,text:f,toks:[...f].map(m=>({k:m,raw:m,len:1})),lead:l.lead})}if(c>=r.length)break;u=c+1,w=h+1}}return d}function Ws(e,o,t){let n=new Int32Array(o+1).fill(-1),s=new Int32Array(t+1).fill(-1),d=0,l=0,r=i=>{for(;d<i;)n[d]=l,s[l]=d,d++,l++};for(let i of e)r(i.bs),d=i.be,l=i.se;return r(o),n[o]=l,s[l]=o,{bTo:n,toB:s}}function Ks(e,o,t){let n=[],s=0,d=0,l=(r,i)=>{if(s===r&&d===i)return;let u=o.text.slice(d,i);n.push({bs:s,be:r,ss:d,se:i,text:u,toks:rn(u,bn(u)),lead:!1})};for(let r of t.runs)l(r.from,r.target),s=r.to,d=r.target+r.to-r.from;return l(e.text.length,o.text.length),{hunks:n,respell:new Map}}function Fs(e,o,t,n){let s=ro(o),d=ro(t),l=(i,u)=>{let w=0,c=i.length;for(;w<c;){let h=w+c>>>1;i[h]<u?w=h+1:c=h}return i[w]===u?w:-1};for(let i of e.hunks)if(l(s,i.bs)<0||l(s,i.be)<0)return null;if(e.hunks.some(i=>l(d,i.ss)<0||l(d,i.se)<0)){if(!n)return null;let i=[];for(let h of e.hunks)i.push(h.ss,h.se);let u=[],w=0,c=0;for(let h of t){let p=c+h.len;for(;w<i.length&&i[w]<=c;)w++;let y=c;for(;w<i.length&&i[w]<p;){let C=i[w++];if(C>y){let g=h.raw.slice(y-c,C-c);u.push(...rn(g,bn(g))),y=C}}if(y===c)u.push(h);else{let C=h.raw.slice(y-c);u.push(...rn(C,bn(C)))}c=p}t=u,d=ro(t)}let r=[];for(let i of e.hunks){let u=l(s,i.bs),w=l(s,i.be),c=l(d,i.ss),h=l(d,i.se);if(u<0||w<0||c<0||h<0)return null;r.push({bs:u,be:w,toks:t.slice(c,h),gap:[],group:r.length})}return{parts:r,cosmeticEq:[],tokens:t}}function ds(e,o,t,n={},s=null){return Gs(e,o,t,n.base,n.local,n.remote,s,{})}function Gs(e,o,t,n,s,d,l,r){let i=bn(Bo(e),Bo(o),Bo(t)),u=oo(e,i,!1,n),w=oo(o,i,!1,s),c=oo(t,i,!1,d),h=u.length>2e4||w.length>2e4||c.length>2e4;h&&(u=oo(e,i,!0,n),w=oo(o,i,!0,s),c=oo(t,i,!0,d));let p=l?.local?Ks(e,o,l.local):null,y=l?.remote?Ks(e,t,l.remote):null,C=p?Fs(p,u,w,!h):Un(u,w),g=y?Fs(y,u,c,!h):Un(u,c);p&&C&&(w=C.tokens),y&&g&&(c=g.tokens);let f,m;if(C&&g){let R=is(C,g,u);f=Ro(o,u,w,{hunks:R.lh,cosmetic:R.cosL}),m=Ro(t,u,c,{hunks:R.rh,cosmetic:R.cosR})}else f=p||Ro(o,u,w,C),m=y||Ro(t,u,c,g);return f.hunks=Vs(f.hunks,e.text,o.text),m.hunks=Vs(m.hunks,e.text,t.text),r.base=e,r.local=o,r.remote=t,r.lines=h,r.baseTokens=u,r.localEdits=f,r.remoteEdits=m,r.localMap=Ws(f.hunks,e.text.length,o.text.length),r.remoteMap=Ws(m.hunks,e.text.length,t.text.length),r.full=null,r}function _s(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var io=/\s/;function Po(e,o,t){for(let n=o;n<t;n++)if(!io.test(e[n]))return!1;return!0}function Si(e,o,t){let n=e.cache[t]||(e.cache[t]=new Map);if(n.has(o))return n.get(o);let s=t===0?"local":"remote",d=t===0?"remote":"local",l=o.baseMark,r=o[d+"Mark"],i=!o.block&&!o[s]&&!!r&&l.to>l.from;if(i){let u=t===0?e.ML:e.MR,w=t===0?e.MR:e.ML,c=t===0?e.fr:e.fl,h=!1;for(let p=l.from;p<l.to;p++){if(u.bTo[p]>=0){i=!1;break}w.bTo[p]<0&&!io.test(e.fb.text[p])&&(h=!0)}if(i&&!h){for(let p=r.from;p<r.to;p++)if(w.toB[p]<0&&!io.test(c.text[p])){h=!0;break}}i&&=h}return n.set(o,i),i}function qs(e,o,t,n,s,d,l,r,i){let u=r===0?e.fl:e.fr,w=null;for(let c=t;c<n;c++){let h=o[c];if(!Po(u.text,h.ss,h.se))return null;if(Po(e.fb.text,h.bs,h.be)){if(h.bs<h.be&&h.ss<h.se||io.test(e.fb.text[h.bs-1]||"")||io.test(e.fb.text[h.be]||""))continue;return null}let p=!1;for(let y=h.bs;y<h.be;y++){if(io.test(e.fb.text[y]))continue;let C=null;for(let g of e.fb.stackAt[y]){let f=e.byEl.get(g.el);if(f&&Si(e,f,r)){C=f;break}}if(!C)return null;(w||(w=new Set)).add(C),p=!0}if(!p)return null}if(!w){if((r===0?"local":"remote")!==i)return null;let c=r===0?e.fr:e.fl,h=!1;for(let p=d;p<l;p++){let y=s[p];if(!Po(e.fb.text,y.bs,y.be))return null;Po(c.text,y.ss,y.se)||(h=!0)}if(!h)return null}return w||0}function Gn(e){let{out:o,policy:t="remote",L:n,R:s}=e,d=e.provenance||new WeakMap,l=e.textMappers||new WeakMap,r=e.conflicts||[],i=e.decisions||[],u=r.length,w=e.conflict||(a=>r.push(a)),c={textNodes:null,text:"",out:null,atomOut:new Map,breakOut:new Map,node:e.node||null},h=[],p=!!(n&&n.reverse&&n.map&&s&&s.reverse&&s.map),y={base:null,local:null,remote:null};if(!e.prepared&&p&&e.moveIn){let a=Se=>We=>Se.some(Le=>Le===We||Le.nodeType===1&&Le.contains(We)),I=a(e.local),V=a(e.remote),W=a(e.base),X=new Set,he=Se=>{if(!wn.has(Se.tagName))return;let We=n.map.get(Se),Le=s.map.get(Se);(We&&!I(We)||Le&&!V(Le))&&X.add(Se);for(let Fe of Se.children)he(Fe)};for(let Se of e.base)Se.nodeType===1&&he(Se);let ke=Se=>We=>{if(!wn.has(We.tagName))return!1;let Le=Se.reverse.get(We);return!!Le&&(X.has(Le)||!W(Le))};X.size&&(y.base=Se=>X.has(Se)),y.local=ke(n),y.remote=ke(s)}let C={base:new Set,local:new Set,remote:new Set};if(!e.prepared&&p&&e.moveIn){let a=W=>X=>W.some(he=>he===X||he.nodeType===1&&he.contains(X)),I=a(e.local),V=a(e.remote);for(let W of en(e.base,{...e,atomize:y.base}).atoms){let X=n.map.get(W.el),he=s.map.get(W.el),ke=!!X&&!I(X),Se=!!he&&!V(he);!ke&&!Se||(ke&&e.movePlanned?.(W.el,"local",X,null),Se&&e.movePlanned?.(W.el,"remote",he,null),C.base.add(W.el),X&&!ke&&C.local.add(X),he&&!Se&&C.remote.add(he),I(W.el)&&C.local.add(W.el),V(W.el)&&C.remote.add(W.el))}}let g=e.prepared?.base||en(e.base,{...e,atomize:y.base,skip:C.base}),f=e.prepared?.local||en(e.local,{...e,atomize:y.local,skip:C.local}),m=e.prepared?.remote||en(e.remote,{...e,atomize:y.remote,skip:C.remote}),R=new Map(g.atoms.map(a=>[a.el,a])),S={},O=a=>e.prepared?e.prepared.full?.(a)||null:C[a].size?(S[a]||(S[a]=en(e[a],{...e,atomize:y[a]})),S[a]):null,E=(a,I,V)=>{I.namespaceURI?a.setAttributeNS(I.namespaceURI,I.name,V):a.setAttribute(I.name,V)},P=(a,I,V,W)=>{if(!I&&(!V||!W)){for(let he of(V||W).attributes)E(a,he,he.value);return}let X=new Map;for(let he of[I,V,W])if(he)for(let ke of he.attributes)X.set(ke.name,ke);for(let[he,ke]of X){let Se=I?I.getAttribute(he):null,We=V?V.getAttribute(he):Se,Le=W?W.getAttribute(he):Se,Fe;We===Le?Fe=We:We===Se?(Fe=Le,i.push({kind:"attr",el:a,name:he,source:"remote"})):Le===Se?(Fe=We,i.push({kind:"attr",el:a,name:he,source:"local"})):(Fe=t==="local"?We:Le,w({kind:"attr",el:a,name:he,base:Se,local:We,remote:Le,resolved:Fe},{el:a,sample:ke}),i.push({kind:"attr",el:a,name:he,source:"both"})),Fe!=null&&E(a,ke,Fe)}},v=(a,I,V,W)=>a&&e.mergeAttrs?e.mergeAttrs(a,I,V,W):P(W,a,I,V),N=e.mergeElement||((a,I,V)=>{let W=o.createElement(a.tagName);v(a,I,V,W);let X=I||a,he=V||a,ke=t==="local"?X.isEqualNode(a)?he:X:he.isEqualNode(a)?X:he;for(let Se of ke.childNodes)W.appendChild(o.importNode(Se,!0));return d.set(W,{base:a,local:I,remote:V}),W}),L=e.cloneUnit||((a,I)=>{let V=o.importNode(a,!0);return d.set(V,{base:null,local:I==="local"?a:null,remote:I==="remote"?a:null}),V}),D=e.atomKey||(a=>$s(a,()=>!1)),B=(a,I)=>{let V=new Map;for(let W of a.atoms)if(e.remoteWins&&e.remoteWins(W.el)&&wn.has(W.el.tagName))V.set(W,"w"+W.el.tagName+"#"+(W.el.id||""));else if(!p)V.set(W,W.key);else if(a===g)V.set(W,"="+D(W.el));else{let X=I.reverse.get(W.el),he=X?R.get(X):null;he?V.set(W,"="+D(he.el)):X?V.set(W,"m"+D(W.el)):V.set(W,"="+D(W.el))}return W=>V.get(W)},M=B(g,null),x=B(f,n),k=B(m,s),z=e.certifiedOrigins?e.certifiedOrigins(g,f,m,M,x,k):null;if(z?.fallback)return null;if(!z&&!e.prepared&&e.blocks){let a=qt(),I=as({base:g,side:f,baseOf:W=>n?.reverse?.get(W)||null,budget:a}),V=as({base:g,side:m,baseOf:W=>s?.reverse?.get(W)||null,budget:a});(I.status==="ready"||V.status==="ready")&&(z={local:I.status==="ready"?I:null,remote:V.status==="ready"?V:null})}let U=e.prepared||Gs(g,f,m,M,x,k,z,c),K=U.lines,Ae=U.baseTokens,Me=U.localEdits,Be=U.remoteEdits,te=U.localMap,ve=U.remoteMap,ze=g.text.length,re=a=>new Map(a.atoms.map(I=>[I.el,I])),b=re(f),_=re(m),oe=(a,I,V)=>{let W=new Set;if(!p)return W;for(let X of a.atoms){let he=R.get(I.reverse.get(X.el));he&&V.bTo[he.i]<0&&W.add(he)}return W},ee=oe(f,n,te),Pe=oe(m,s,ve),Ke=a=>!Pn(a,{...e,remoteWins:null}),Ne=new Set;if(p)for(let a of g.atoms){if(!Ke(a.el))continue;let I=n.map.get(a.el)||null,V=s.map.get(a.el)||null,W=I&&!V?I:V&&!I?V:null;W&&(b.has(W)||_.has(W))&&!W.isEqualNode(a.el)&&Ne.add(a)}let ot=1,Qe=(a,I)=>({id:ot++,tag:a,base:null,local:null,remote:null,rank:I}),Ze=new Map,Xe=[];for(let a of g.marks){let I=Qe(a.tag,a.depth);I.block=!!a.block,I.base=a.el,I.baseMark=a,Ze.set(a.el,I),Xe.push(I)}let wt=(a,I)=>{let V=-1,W=-1;for(let X=a.from;X<a.to;X++){let he=I[X];he>=0&&(V<0&&(V=he),W=he+1)}return V<0?null:[V,W]},dt=(a,I,V,W)=>{for(let X of a.marks){let he=V?V.reverse.get(X.el):null;he&&V.identical.has(he)&&V.pairIdenticalChildren&&V.pairIdenticalChildren(he);let ke=he?Ze.get(he):null;if(ke&&ke[I]&&(ke=null),!ke){let Se=wt(X,W),We=0;if(Se)for(let Le of Xe){if(Le.tag!==X.tag||Le[I]||!!Le.block!=!!X.block)continue;let Fe=Math.min(Se[1],Le.baseMark.to)-Math.max(Se[0],Le.baseMark.from);(Fe>We||Fe===We&&Fe>0&&Math.abs(Le.rank-X.depth)<Math.abs(ke.rank-X.depth))&&(ke=Le,We=Fe)}}ke||(ke=Qe(X.tag,X.depth),ke.block=!!X.block,ke.new=I),ke[I]=X.el,ke[I+"Mark"]=X,Ze.set(X.el,ke)}};dt(f,"local",n,te.toB),dt(m,"remote",s,ve.toB);let gt=a=>a.merged||a,zt=a=>{let I=new Set;for(let V of a)V.block||I.add(Ze.get(V.el));return I},_t=new Map,Ht=a=>{let I=_t.get(a);return I||(I=zt(a),_t.set(a,I)),I},Bt=(a,I)=>{let V=[],W=null;for(let X=0;X<ze;X++){let he=I[X];if(he<0){W&&V.push(W),W=null;continue}let ke=Ht(g.stackAt[X]),Se=Ht(a.stackAt[he]),We=new Set,Le=new Set;for(let Fe of Se)ke.has(Fe)||We.add(Fe);for(let Fe of ke)Se.has(Fe)||Le.add(Fe);if(!We.size&&!Le.size){W&&V.push(W),W=null;continue}if(W&&_s(W.added,We)&&_s(W.removed,Le)){W.be=X+1;continue}W&&V.push(W),W={bs:X,be:X+1,added:We,removed:Le}}return W&&V.push(W),V},an=Bt(f,te.bTo),Kt=Bt(m,ve.bTo),$t=a=>a.be>a.bs?[a.bs,a.be-1]:[a.bs-1,a.bs],F=(a,I)=>{if(ze===0)return null;let[V,W]=$t(a);for(let X of I){if(X.be<=V)continue;if(X.bs>W)break;let he=X.bs<=V&&W<X.be;return he&&a.text===""&&X.bs===a.bs&&X.be===a.be?"straddle":he?X:a.be>a.bs?"straddle":null}return null},le=a=>a.bs===a.be,ge=(a,I,V=null)=>{let W=!1;for(let X=a.bs;X<a.be;X++){let he=g.text[X];if(he===yt)W=!0;else if(!/\s/.test(he))return!1}for(let X=a.ss;X<a.se;X++){let he=I.text[X];if(he===yt)W=!0;else if(!/\s/.test(he)){let ke=V&&e.scopeUnits&&le(a)&&I.atomAt.get(X);if(!ke||!Ke(ke.el)||V.ss!==V.se||V.bs>=V.be)return!1;for(let We=V.bs;We<V.be;We++)if(!/\s/.test(g.text[We]))return!1;let Se=I===f?1:2;if(!e.scopeUnits[Se].includes(ke.el)||(Se===1?n:s)?.reverse.has(ke.el))return!1;W=!0}}return W},me=(a,I)=>a.bs<I.be&&I.bs<a.be,Te=(a,I)=>a.bs<=I.be&&I.bs<=a.be&&le(a)!==le(I),A=(a,I)=>g.text.slice(a.bs,a.be).includes(yt)||I.text.slice(a.ss,a.se).includes(yt),j=a=>{if(le(a))return!1;let I=a.bs,V=a.be;for(;I>0&&/\s/.test(g.text[I-1]);)I--;for(;V<g.text.length&&/\s/.test(g.text[V]);)V++;return(I===0||g.text[I-1]===yt)&&(V===g.text.length||g.text[V]===yt)},Y=(a,I)=>!A(a,I)&&!j(a),J=(a,I)=>me(a,I)||Te(a,I)&&!(a.transferIn||a.transferOut||I.transferIn||I.transferOut)&&!(ge(a,f,I)&&Y(I,m))&&!(ge(I,m,a)&&Y(a,f)),se=(a,I)=>{if(a.bs!==I.bs||a.be!==I.be||a.toks.length!==I.toks.length)return!1;let V=a.ss,W=I.ss;for(let X=0;X<a.toks.length;X++){let he=a.toks[X],ke=I.toks[X];if(he.k!==ke.k||he.atom&&!f.atomAt.get(V).el.isEqualNode(m.atomAt.get(W).el))return!1;V+=he.len,W+=ke.len}return!0},je=(a,I,V,W)=>{for(let X of g.atoms){if(X.i<a.bs||X.i>=a.be||W.has(X)||Ne.has(X))continue;let he=I.bTo[X.i],ke=he>=0?V.atomAt.get(he):null;if(ke&&!ke.el.isEqualNode(X.el))return!0}return!1},Z=[],Ie=null,He=null,Ce=Me.hunks,be=Be.hunks,H=0,G=0,de=0,pe=0,ce=0,xe=a=>{a>de&&(Z.push({src:"base",from:de,to:a,dL:pe,dR:ce}),de=a)};for(;H<Ce.length||G<be.length;){let a=Ce[H],I=be[G],V=!!a&&(!I||a.bs<I.bs||a.bs===I.bs&&a.be<=I.be&&!I.lead);if(a&&I&&a.bs===I.bs&&le(a)&&le(I)){let Ft=ge(a,f),wo=ge(I,m);Ft!==wo&&(V=wo)}let W=V?a:I,X=V?I:a,he=!!X&&se(a,I),ke=!!X&&(V?!!Ce[H+1]&&se(Ce[H+1],I):!!be[G+1]&&se(a,be[G+1])),Se=!!X&&!he&&!ke&&(ze===0||J(a,I)),We=Se,Le=F(W,V?Kt:an);if(Le==="straddle"&&(We=!0),!We&&W.be>W.bs&&(We=je(W,V?ve:te,V?m:f,V?ee:Pe)),!We&&he){xe(W.bs),Z.push({src:"both",lfrom:a.ss,rfrom:I.ss,len:W.text.length,owner:a.owner||I.owner||null,transfer:a.transferIn||I.transferIn||null}),de=W.be,pe+=W.text.length-(W.be-W.bs),ce+=W.text.length-(W.be-W.bs),H++,G++;continue}if(!We){xe(W.bs),Z.push({src:V?"local":"remote",from:W.ss,to:W.se,inherit:Le&&Le!=="straddle"?Le:null,owner:W.owner||null,transfer:W.transferIn||null}),de=W.be,V?(pe+=W.text.length-(W.be-W.bs),H++):(ce+=W.text.length-(W.be-W.bs),G++);continue}let Fe=W.bs,ht=W.be,lt=H,ft=G,Ut=Ft=>Ft.bs<ht&&Ft.be>Fe||le(Ft)&&(Ft.bs===Fe||Ft.bs===ht);V?lt++:ft++,Se&&(Fe=Math.min(Fe,X.bs),ht=Math.max(ht,X.be),V?ft++:lt++);let Pt=!0;for(;Pt;){for(Pt=!1;lt<Ce.length&&Ut(Ce[lt]);)Fe=Math.min(Fe,Ce[lt].bs),ht=Math.max(ht,Ce[lt].be),lt++,Pt=!0;for(;ft<be.length&&Ut(be[ft]);)Fe=Math.min(Fe,be[ft].bs),ht=Math.max(ht,be[ft].be),ft++,Pt=!0}let un=Fe+pe,on=Fe+ce,mn=ht-Fe,xn=ht-Fe;for(let Ft=H;Ft<lt;Ft++)mn+=Ce[Ft].text.length-(Ce[Ft].be-Ce[Ft].bs);for(let Ft=G;Ft<ft;Ft++)xn+=be[Ft].text.length-(be[Ft].be-be[Ft].bs);let Cn=un+mn,En=on+xn;if(xe(Fe),H<lt&&G<ft&&!z&&!e.prepared&&!e.nativeTransfers&&!e.sourceRetentions&&!g.atoms.length&&!f.atoms.length&&!m.atoms.length&&!g.pins.length&&!f.pins.length&&!m.pins.length){Ie||={fb:g,fl:f,fr:m,ML:te,MR:ve,byEl:Ze,cache:[null,null]};let Ft=qs(Ie,Ce,H,lt,be,G,ft,0,t),wo=qs(Ie,be,G,ft,Ce,H,lt,1,t);if(Ft===null!=(wo===null)){let $o=Ft!==null,Ms=$o?Ft:wo;if(Ms){He||=new Map;for(let Fr of Ms)He.set(Fr,$o?"local":"remote")}Z.push($o?{src:"remote",from:on,to:En}:{src:"local",from:un,to:Cn}),de=ht,pe+=mn-(ht-Fe),ce+=xn-(ht-Fe),H=lt,G=ft;continue}}let Zt={kind:"text",node:e.node||null,base:so(g,Fe,ht),local:so(f,un,Cn),remote:so(m,on,En),resolved:null,range:null,bs:Fe,be:ht,lss:un,lse:Cn,rss:on,rse:En},zn=e.sourceRetentions?Us(e.sourceRetentions,e.scope?.base,g,f,m,t,Zt):t;Zt.resolved=zn==="local"?Zt.local:zn==="remote"?Zt.remote:Zt.local+Zt.remote,zn!=="remote"&&Z.push({src:"local",from:un,to:Cn,conflict:Zt}),zn!=="local"&&Z.push({src:"remote",from:on,to:En,conflict:Zt});let $n={site:"inline",policy:zn,fb:g,fl:f,fr:m,scope:e.scope||null,synthetic:!!e.synthetic,full:O,merged:c};h.push($n),w(Zt,$n),de=ht,pe+=mn-(ht-Fe),ce+=xn-(ht-Fe),H=lt,G=ft}xe(ze);let ne=g.text,$=[];if(Me.respell.size||Be.respell.size){let a=ro(Ae),I=[];for(let V=0;V<Ae.length;V++){let W=Ae[V].raw,X=Me.respell.get(V)??W,he=Be.respell.get(V)??W;(X!==W||he!==W)&&$.push([a[V],X!==W&&he!==W?"both":X!==W?"local":"remote"]),I.push(X===he?X:X===W?he:he===W||t==="local"?X:he)}ne=I.join("")}let fe="",Ee=[],Re=[],Ve=[],Oe=[];for(let a of Z){let I=fe.length;if(a.src==="base"){for(let V=a.from;V<a.to;V++)Ee.push(V),Re.push(e.nativeTransfers?te.bTo[V]:V+a.dL),Ve.push(e.nativeTransfers?ve.bTo[V]:V+a.dR),Oe.push(a);fe+=ne.slice(a.from,a.to)}else if(a.src==="both"){for(let V=0;V<a.len;V++){let W=a.transfer&&(a.transfer.side==="remote"?a.rfrom+V:a.lfrom+V);Ee.push(a.transfer&&W>=a.transfer.ss&&W<a.transfer.se?a.transfer.bs+W-a.transfer.ss:-1),Re.push(a.lfrom+V),Ve.push(a.rfrom+V),Oe.push(a)}fe+=f.text.slice(a.lfrom,a.lfrom+a.len)}else{let V=a.src==="local"?f:m,W=a.transfer&&e.nativeTransfers.byOrigin[a.src==="local"?"remote":"local"].get(a.transfer.key);for(let X=a.from;X<a.to;X++){let he=a.transfer&&X>=a.transfer.ss&&X<a.transfer.se?a.transfer.bs+X-a.transfer.ss:-1,ke=he>=0&&(!W||W.destination===a.owner)?(a.src==="local"?ve:te).bTo[he]:-1;Ee.push(he),Re.push(a.src==="local"?X:ke),Ve.push(a.src==="remote"?X:ke),Oe.push(a)}fe+=V.text.slice(a.from,a.to)}a.ms=I,a.me=fe.length,a.conflict&&(a.conflict.range||(a.conflict.range=[I,I]),a.conflict.range[1]=fe.length)}let $e=fe.length,tt=new Int32Array(ze+1).fill(-1),T=new Int32Array(f.text.length+1).fill(-1),q=new Int32Array(m.text.length+1).fill(-1);for(let a=0;a<$e;a++)Ee[a]>=0&&(tt[Ee[a]]=a),Re[a]>=0&&(T[Re[a]]=a),Ve[a]>=0&&(q[Ve[a]]=a);let Q=(a,I)=>{let V=-1,W=-1;for(let X=a.from;X<a.to;X++){let he=I[X];he>=0&&(V<0&&(V=he),W=he+1)}return V<0?null:[V,W]},we=[],ue=[];for(let a of new Set(Ze.values()))a.new==="local"?we.push(a):a.new==="remote"&&ue.push(a);let ie=(a,I)=>{a.remote=I.remote,a.remoteMark=I.remoteMark,a.new="both",I.merged=a,Ze.set(I.remote,a)};if(we.length&&ue.length){let a=e.idOf;for(let I of we){let V=a?a.local(I.local):null;if(!V)continue;let W=ue.find(X=>!X.merged&&X.tag===I.tag&&!!X.block==!!I.block&&a.remote(X.remote)===V);W&&ie(I,W)}for(let I of we){if(I.remote)continue;let V=Q(I.localMark,T);if(V)for(let W of ue){if(W.merged||W.tag!==I.tag||!!W.block!=!!I.block)continue;let X=Q(W.remoteMark,q);if(X&&Math.min(V[1],X[1])-Math.max(V[0],X[0])>0){ie(I,W);break}}}}_t.clear();let ae=a=>{for(let I of a)if(I.block)return gt(Ze.get(I.el));return null},De=g.marks.some(a=>a.block)||f.marks.some(a=>a.block)||m.marks.some(a=>a.block),qe=new Array($e).fill(null),Ue=new Set;if(e.nativeTransfers)for(let a=0;a<$e;a++){let I=Oe[a].owner;qe[a]=I?gt(Ze.get(I)):Ee[a]>=0?ae(g.stackAt[Ee[a]]):null}else if(De){let a=(Le,Fe,ht)=>{let lt=new Set([Le,Fe,ht]);lt.delete(null);let ft=[];for(let Pt of lt){let un=Pt===Le,on=Pt===Fe,mn=Pt===ht;(on===mn?on:on===un?mn:on)&&ft.push(Pt)}if(ft.length<=1)return ft[0]||null;let Ut=t==="local"?Fe:ht;return ft.includes(Ut)?Ut:ft[0]},I=(Le,Fe)=>Fe>=0?ae(Le.stackAt[Fe]):null,V=new Map;for(let Le=0;Le<$e;Le++){if(fe[Le]!==yt)continue;let Fe=Ee[Le]>=0?I(g,Ee[Le]):null,ht=I(f,Re[Le]),lt=I(m,Ve[Le]);V.set(Le,[Fe,Ee[Le]>=0?a(Fe,ht,lt):ht||lt])}let W=new Set([...V.values()].map(Le=>Le[1])),X=Le=>Le!==yt&&Le!==Rn&&!/\s/.test(Le),he=(Le,Fe)=>{let ht=Le;for(;ht<Fe&&!X(fe[ht]);)ht++;return ht<Fe&&Ee[ht]>=0?I(g,Ee[ht]):null},ke=new Map,Se=0;for(let Le=0;Le<$e;Le++){if(fe[Le]!==yt)continue;let[Fe,ht]=V.get(Le),lt=he(Se,Le),ft=ht,Ut=ke.get(ft)===ft&<===ft;ft&&ke.has(ft)&&!Ut&&Fe&&!ke.has(Fe)&&!W.has(Fe)&&(ft=Fe),ft&&!ke.has(ft)&&ke.set(ft,lt);for(let Pt=Se;Pt<=Le;Pt++)qe[Pt]=ft;Se=Le+1}let We=Le=>{for(let Fe=0;Fe<Le.text.length;Fe++)if(X(Le.text[Fe])&&!I(Le,Fe))return!0;return!1};if(!We(g)&&!We(f)&&!We(m)){let Le=[],Fe=0;for(let lt=0;lt<$e;lt++)(fe[lt]===yt||lt===$e-1)&&(Le.push([Fe,lt]),Fe=lt+1);let ht=new Set(qe);for(let lt=0;lt<Le.length;lt++){let[ft,Ut]=Le[lt];if(qe[Ut])continue;let Pt=ft;for(;Pt<=Ut&&!X(fe[Pt]);)Pt++;if(Pt>Ut)continue;let un=I(g,Ee[Pt]),on=I(f,Re[Pt]),mn=I(m,Ve[Pt]),xn=a(un,on,mn)||on||mn||un;if(xn&&!ht.has(xn)){ht.add(xn);for(let Zt=ft;Zt<=Ut;Zt++)qe[Zt]=xn;continue}let Cn=lt>0&&qe[Le[lt-1][1]],En=lt+1<Le.length&&qe[Le[lt+1][1]];if(Cn)Ue.add(Le[lt-1][1]);else if(En&&fe[Ut]===yt)Ue.add(Ut);else continue;for(let Zt=ft;Zt<=Ut;Zt++)qe[Zt]=Cn||En}}}let _e=new Map,Ge=a=>{let I=_e.get(a);if(I)return I;I=[1/0,-1/0];for(let[V,W]of[[a.baseMark,tt],[a.localMark,T],[a.remoteMark,q]]){let X=V&&Q(V,W);X&&(I[0]=Math.min(I[0],X[0]),I[1]=Math.max(I[1],X[1]))}return _e.set(a,I),I},et=(a,I,V)=>{let W=-1,X=-1;for(let he=0;he<a.length;he++){let ke=Ze.get(a[he].el);ke===I&&(W=he),ke===V&&(X=he)}return W>=0&&X>=0?W-X:0},Mt=(a,I)=>[...a].sort((V,W)=>{for(let ke of I){let Se=et(ke,V,W);if(Se)return Se}let X=Ge(V),he=Ge(W);return X[0]-he[0]||he[1]-X[1]||V.rank-W.rank||V.id-W.id}),kt=new Map,Jt=new Map,Ot=e.nativeTransfers?[]:null,pt=a=>{if(Ot)return Ot;let I=Ee[a],V=Re[a],W=Ve[a],X=Oe[a];if(I>=0){let lt=g.stackAt[I],ft=f.stackAt[V],Ut=m.stackAt[W],Pt=kt.get(lt);Pt||kt.set(lt,Pt=new Map);let un=Pt.get(ft);un||Pt.set(ft,un=new Map);let on=un.get(Ut);if(on)return on;let mn=Ht(lt),xn=Ht(ft),Cn=Ht(Ut),En=new Set;for(let Zt of new Set([...mn,...xn,...Cn])){let zn=mn.has(Zt),$n=xn.has(Zt),Ft=Cn.has(Zt);($n===Ft?$n:$n===zn?Ft:$n)&&En.add(Zt)}return on=Mt(En,[ft,Ut,lt]),un.set(Ut,on),on}if(X.src==="both"){let lt=f.stackAt[V],ft=m.stackAt[W];return Mt(new Set([...Ht(lt),...Ht(ft)]),[lt,ft])}let ke=(X.src==="local"?f:m).stackAt[X.src==="local"?V:W];if(!X.inherit)return Mt(Ht(ke),[ke]);let Se=Jt.get(X);Se||Jt.set(X,Se=new Map);let We=Se.get(ke);if(We)return We;let Le=new Set(Ht(ke));for(let lt of X.inherit.added)Le.add(gt(lt));for(let lt of X.inherit.removed)Le.delete(gt(lt));let Fe=X.src==="local"?m:f,ht=(X.src==="local"?ve.bTo:te.bTo)[X.inherit.bs];return We=Mt(Le,[ke,Fe.stackAt[ht]]),Se.set(ke,We),We},bt=new Int32Array(f.text.length+1);bt[f.text.length]=$e;for(let a=f.text.length-1;a>=0;a--)bt[a]=T[a]>=0?T[a]:bt[a+1];yi.caret+=f.text.length;let mt=a=>a<=0?0:(a>f.text.length&&(a=f.text.length),T[a-1]>=0?T[a-1]+1:bt[a]),Ct=[],at=[],Vt=null,St=[],cn="",Gt=-1,jn=a=>{Vt?Vt.appendChild(a):Ct.push(a)},On=a=>{if(!cn)return;let I=o.createTextNode(cn);jn(I),at.push({node:I,ms:Gt,me:a,local:[],u:St.length?St[St.length-1].u:null}),cn=""},Ao=new Set,Dn=new Map,go=new Set,zo=a=>{let I=o.createElement(a.tag);if(a.block&&Et.add(I),!Dn.has(a)){Dn.set(a,I),v(a.base,a.local,a.remote,I),d.set(I,{base:a.base,local:a.local,remote:a.remote});let W=(ke,Se)=>p&&a[Se]&&ke.reverse.get(a[Se])?Se:null,X=!a.base&&(W(n,"local")||W(s,"remote"));if(X){let ke=X==="local"?n.reverse.get(a.local):s.reverse.get(a.remote),Se=d.get(I);Se.local=Se.local||n.map.get(ke)||null,Se.remote=Se.remote||s.map.get(ke)||null,i.push({kind:"move",el:I,source:X}),e.moveBuilt?.(ke,X,a[X],I)}else a.base||i.push({kind:"insert",el:I,source:a.local&&a.remote?"both":a.local?"local":"remote"});let he=d.get(I);he.local&&(go.has(he.local)?he.local=null:go.add(he.local))}else{let W=Dn.get(a);for(let X of W.attributes)X.name!=="id"&&X.name!=="data-id"&&E(I,X,X.value);d.set(I,{base:null,local:null,remote:null})}jn(I),St.push({u:a,el:I}),Vt=I},ye=new Set,Je=new Map;for(let a of f.pins){let I=mt(a.i);Je.has(I)||Je.set(I,[]),Je.get(I).push(a)}let Ye=a=>{let I=Je.get(a);if(I){On(a);for(let V of I){let W=V.el.namespaceURI&&V.el.namespaceURI!=="http://www.w3.org/1999/xhtml"?o.createElementNS(V.el.namespaceURI,V.el.tagName):o.createElement(V.el.tagName);d.set(W,{base:null,local:V.el,remote:null,pinned:!0}),ye.add(W),jn(W)}}},xt=g.atoms.length||f.atoms.length||m.atoms.length,jt=a=>{if(!xt)return null;let I=Ee[a]>=0?g.atomAt.get(Ee[a]):null,V=Re[a]>=0?f.atomAt.get(Re[a]):null,W=Ve[a]>=0?m.atomAt.get(Ve[a]):null;return I||V||W?{ab:I,al:V,ar:W}:null},st=(a,I,V)=>{let W=e.idOf;if(!W||!W.base)return!1;let X=W.base(a.el);return X!=null&&X===W[V](I.el)},vt=(a,I,V,W,X)=>{if(!a||!p)return null;let he=R.get(I.reverse.get(a.el))||null;return!he||he===W||(W?he.el.isEqualNode(W.el)&&!st(he,a,X):V.bTo[he.i]>=0)?null:he},Rt=(a,I)=>{if(!a||!p||!e.moveIn)return null;let V=I.reverse.get(a.el);return V&&!R.has(V)?V:null},ct=(a,I)=>{let V=new Map;for(let W of a.atoms)V.set(I(W),(V.get(I(W))||0)+1);return V},Nt=ct(g,M),sn=ct(f,x),fn=ct(m,k),yn=a=>{let I=M(a);return Nt.get(I)===1&&(sn.get(I)||0)<=1&&(fn.get(I)||0)<=1},pn=new Map,kn=new Set,In=new Set,Mo=new Set,it=null;for(let a=0;a<$e;a++){let I=jt(a);if(!I)continue;let{ab:V,al:W,ar:X}=I,he=vt(X,s,ve,V,"remote"),ke=vt(W,n,te,V,"local"),Se=V,We=null;if(he?(Se=he,We="remote"):ke&&(Se=ke,We="local"),Se){V&&Se!==V&&(it||=new Map).set(V,We),kn.has(Se)?pn.set(a,{dup:Se.el}):(kn.add(Se),pn.set(a,{bk:Se,from:We,al:W,ar:X}));continue}let Le=Rt(X,s),Fe=Rt(W,n),ht=Le||Fe;if(ht){In.has(ht)?pn.set(a,{dup:ht}):(In.add(ht),pn.set(a,{moveIn:ht,side:Le?"remote":"local",sideEl:Le?X.el:W.el}));continue}let lt=(Ut,Pt)=>Ut&&p&&R.get(Pt.reverse.get(Ut.el))||null,ft=lt(X,s)||lt(W,n);if(ft&&(Mo.add(ft),Oe[a].conflict&&(yn(ft)||X&&(X.el===ft.el||s.identityPaired?.has(ft.el))&&st(ft,X,"remote")||W&&(W.el===ft.el||n.identityPaired?.has(ft.el))&&st(ft,W,"local")))){if(kn.has(ft)){pn.set(a,{dup:ft.el});continue}kn.add(ft)}pn.set(a,{al:W,ar:X})}let nt=new Map,Lt,rt,It=(a,I)=>{if(a[I]>=0)return a[I];for(let V=I-1;V>=0;V--)if(a[V]>=0)return a[V]+1;return 0};if(p)for(let a of g.atoms){if(kn.has(a)||Mo.has(a))continue;let I=n.map.get(a.el)||null,V=s.map.get(a.el)||null,W=I&&b.get(I),X=V&&_.get(V);if(I&&!W||V&&!X)continue;let he=!(W&&X)&&Ne.has(a);if(!he&&!(W&&X&&(yn(a)||it?.has(a)||(W.el===a.el||n.identityPaired?.has(a.el))&&(X.el===a.el||s.identityPaired?.has(a.el))&&st(a,W,"local")&&st(a,X,"remote"))))continue;let ke=it?.get(a),Se=t;if(ke){let lt=ke==="local"?m:f,ft=ke==="local"?s:n,Ut=ke==="local"?rt:Lt;if(Ut===void 0){Ut=lt.atoms.length===g.atoms.length;for(let Pt=0;Ut&&Pt<g.atoms.length;Pt++)Ut=ft.reverse.get(lt.atoms[Pt].el)===g.atoms[Pt].el;ke==="local"?rt=Ut:Lt=Ut}Ut&&(Se=ke)}let We=Se==="local"?[[W,T],[X,q]]:[[X,q],[W,T]],[Le,Fe]=We.find(([lt])=>lt),ht=It(Fe,Le.i);nt.has(ht)||nt.set(ht,[]),nt.get(ht).push({a,lt:I,rt:V,edited:he}),kn.add(a)}if(p&&e.moveIn){let a=[[f,n,T,"local"],[m,s,q,"remote"]];t!=="local"&&a.reverse();for(let[I,V,W,X]of a)for(let he of I.atoms){let ke=Rt(he,V);if(!ke||In.has(ke))continue;In.add(ke);let Se=It(W,he.i);nt.has(Se)||nt.set(Se,[]),nt.get(Se).push({move:ke,side:X,sideEl:he.el})}}let Yt=a=>{let I=nt.get(a);if(I){if(On(a),I.some(V=>Ke(V.move?V.sideEl:V.a.el)))for(;St.length;)St.pop(),Vt=St.length?St[St.length-1].el:null;for(let{a:V,lt:W,rt:X,edited:he,move:ke,side:Se,sideEl:We}of I){if(ke){let Fe=e.moveIn(ke,Se,We);Fe&&jn(Fe);continue}Ao.add(V);let Le=N(V.el,W,X);he&&(w({kind:"structure",el:Le,detail:"edit-beats-delete",base:V.el},{subject:V.el,deleted:W?"remote":"local"}),i.push({kind:"insert",el:Le,source:W?"local":"remote"})),jn(Le)}}},Et=new Set,tn=r.length>u;for(let a=0;a<$e;a++){let I=jt(a),V=e.scopeUnits&&I&&(I.ab?.stack.some(ke=>ke.block)||I.al?.stack.some(ke=>ke.block)||I.ar?.stack.some(ke=>ke.block)),X=!!I&&Ke((I.ab||I.al||I.ar).el)&&!V?[]:qe[a]?[qe[a],...pt(a)]:pt(a),he=0;for(;he<St.length&&he<X.length&&St[he].u===X[he];)he++;if(he<St.length)for(On(a);St.length>he;)St.pop(),Vt=St.length?St[St.length-1].el:null;if(Ye(a),Yt(a),X.length>St.length)for(On(a);St.length<X.length;)zo(X[St.length]);if(fe[a]===yt){if(Ue.has(a))continue;On(a);let ke=St.length;for(;ke>0&&!St[ke-1].u.block;)ke--;if(ke>0)for(tn&&c.breakOut.set(a,St[ke-1].el);St.length>=ke;)St.pop(),Vt=St.length?St[St.length-1].el:null;continue}if(I){On(a);let ke=pn.get(a),Se;if(ke.dup){w({kind:"structure",el:null,detail:"both-moved",base:ke.dup},{subject:ke.dup});continue}if(ke.moveIn){if(Se=e.moveIn(ke.moveIn,ke.side,ke.sideEl),!Se)continue}else if(ke.bk){let We=ke.bk;if(Ao.add(We),We===I.ab)Se=N(We.el,ke.al.el,ke.ar.el);else{let Le=n.map.get(We.el)||null,Fe=s.map.get(We.el)||null;Se=N(We.el,Le,Fe),(!Le||!Fe)&&w({kind:"structure",el:null,detail:"move-beats-delete",base:We.el},{subject:We.el,deleted:Le?"remote":"local"}),i.push({kind:"move",el:Se,source:ke.from})}}else ke.al?(Se=L(ke.al.el,"local"),ke.ar&&(d.get(Se).remote=ke.ar.el),i.push({kind:"insert",el:Se,source:ke.ar?"both":"local"})):(Se=L(ke.ar.el,"remote"),i.push({kind:"insert",el:Se,source:"remote"}));tn&&c.atomOut.set(a,Se),jn(Se);continue}cn||(Gt=a),cn+=fe[a]}if(On($e),(Je.has($e)||nt.has($e))&&(St.length=0,Vt=null,Ye($e),Yt($e)),$e===0&&(f.placeholder||m.placeholder||g.placeholder)){let a=o.createElement("br");d.set(a,{base:g.placeholder,local:f.placeholder,remote:m.placeholder}),Ct.push(a)}let Wt=0,At=a=>{for(;Wt>0&&at[Wt-1].me>=a;)Wt--;for(;Wt<at.length&&at[Wt].me<a;)Wt++;let I=at[Wt];if(!I)return at[at.length-1]||null;let V=at[Wt+1];return I.me===a&&V&&V.ms===a?V:I},Tt=new Map,Dt={},Qt=(a,I,V)=>{let W=At(a)||(V?Dt:null);if(!W)return;let X=Tt.get(W)||{l:!1,r:!1};I!=="remote"&&(X.l=!0),I!=="local"&&(X.r=!0),Tt.set(W,X)},Hn=a=>{if(a.conflict)return!0;let I=a.src==="local"?f.text:a.src==="remote"?m.text:"";for(let V=a.from;V<a.to;V++)if(I[V]!==Rn&&I[V]!==yt)return!0;return!1};for(let a of Z)a.src!=="base"&&Qt(a.ms,a.conflict?"both":a.src,Hn(a));for(let[a,I]of $)tt[a]>=0&&Qt(tt[a],I);for(let a of at.length?at:[Dt]){let I=Tt.get(a);I&&i.push({kind:"text",node:a.node||null,source:I.l&&I.r?"both":I.l?"local":"remote"})}for(let a of Xe){if(Dn.has(a))continue;let I=!a.local&&!(p&&n.map.get(a.base)),V=!a.remote&&!(p&&s.map.get(a.base));!I&&!V||i.push({kind:"remove",source:I&&V?"both":I?"local":"remote",base:a.base})}if(He)for(let[a,I]of He)Dn.has(a)&&w({kind:"structure",el:Dn.get(a),detail:"edit-beats-delete",base:a.base},{subject:a.base,deleted:I});let Vn=(a,I,V)=>{if(I<=a)return!1;for(let W=a;W<I;W++)if(V[W]>=0)return!1;return!0};for(let a of Xe)for(let I of["local","remote"]){let V=a[I+"Mark"],W=a.baseMark;if(!V)continue;let X=I==="local"?te:ve;if(!Vn(W.from,W.to,X.bTo)||!Vn(V.from,V.to,X.toB))continue;let he=(I==="local"?Ce:be).find(ke=>ke.ss<=V.from&&V.from<ke.se);he&&(he.be<=W.from||he.bs>=W.to)&&i.push({kind:"move",el:Dn.get(a)||null,source:I})}let Hr=a=>{let I=Ze.get(a.node.parentNode);return I?gt(I):null};for(let a of f.nodes){let I=-1;for(let W=a.s;W<a.e;W++)if(T[W]>=0){I=T[W];break}let V;if(I>=0)V=At(I);else{let W=mt(a.s),X=Hr(a);V=at.find(he=>he.u===X&&he.me>=W)||at.filter(he=>he.u===X).pop()}V&&V.local.push(a)}let bo=new Map,Vr=at[at.length-1]||null,Sn=0;for(let a of f.nodes){let I=null;for(let V=a.s;V<=a.e;V++){let W=mt(V);for(;Sn>0&&at[Sn-1].me>=W;)Sn--;for(;Sn<at.length&&at[Sn].me<W;)Sn++;let X=ke=>ke&&W>=ke.ms&&W<=ke.me&&(W<ke.me||V===a.e||ke===I),he=X(at[Sn])?at[Sn]:X(at[Sn+1])?at[Sn+1]:at[Sn]||Vr;if(!he)break;if(I===he){let ke=bo.get(he);ke[ke.length-1].to=V-a.s;continue}I=he,bo.has(he)||bo.set(he,[]),bo.get(he).push({node:a.node,from:V-a.s,to:V-a.s,flatStart:a.s})}}for(let a of at){let I=a.local,V=!1;for(let ke of I)for(let Se=ke.s;Se<ke.e&&!V;Se++)(T[Se]<a.ms||T[Se]>=a.me)&&(V=!0);d.set(a.node,{base:null,local:I.map(ke=>ke.node),remote:null,caret:bo.get(a)||[],partial:V});let W=a.ms,X=a.me-a.ms,he=ke=>{let Se=0,We=-1;for(let Le of I){let Fe=Le.e-Le.s;if(ke<=Se+Fe){We=Le.s+(ke-Se);break}Se+=Fe}return We<0&&(We=I.length?I[I.length-1].e:0),Math.max(0,Math.min(mt(We)-W,X))};he.flat=ke=>Math.max(0,Math.min(mt(ke)-W,X)),l.set(a.node,he)}function Wr(){if(!f.text.includes(yt))return[{flatLocal:f.text,localNodes:f.nodes,textNodes:at,lToM:T,mapLocal:mt}];let a=[],I=0,V=0;for(let W=0;W<=f.text.length;W++){if(W<f.text.length&&f.text[W]!==yt)continue;let X=I,he=W;if(he>X){let ke=[];for(;V<f.nodes.length&&f.nodes[V].e<=X;)V++;for(let Se=V;Se<f.nodes.length&&f.nodes[Se].s<he;Se++){let We=f.nodes[Se],Le=Math.max(We.s,X),Fe=Math.min(We.e,he);Le<Fe&&ke.push({node:We.node,s:Le-X,e:Fe-X})}a.push({flatLocal:f.text.slice(X,he),localNodes:ke,textNodes:at,lToM:T.subarray?T.subarray(X,he+1):T.slice(X,he+1),mapLocal:Se=>mt(X+Math.max(0,Math.min(Se,he-X)))})}I=W+1}return a}let Ns={...e,blocks:Et,ignored:a=>ye.has(a)||(e.ignored?e.ignored(a):!1)},As=e.ignoreAttribute||(()=>!1),Kr=Hs(en(Ct,Ns),As)!==Hs(m,As);if(h.length){let a=I=>{let V=d.get(I);return V&&V.unchanged?V.remote:null};c.text=fe,c.textNodes=at,c.out=en(Ct,{...Ns,via:a})}let Zn=null;if(e.scopeUnits){Zn=new Map;let a=new Set(Ct),I=Se=>{for(;Se&&!a.has(Se);)Se=Se.parentNode;return Se},V=e.scopeUnits.map(Se=>{let We=new Map;for(let Le of Se)if(Le.nodeType===1)We.set(Le,Le);else for(let Fe of Le.nodes)We.set(Fe,Le);return We}),W=(Se,We)=>{for(;Se&&!We.has(Se);)Se=Se.parentNode;return Se?We.get(Se):null},X=[g,f,m].map((Se,We)=>{let Le=new Array(Se.text.length);for(let Fe of Se.nodes){let ht=W(Fe.node,V[We]);ht&&Le.fill(ht,Fe.s,Fe.e)}for(let Fe of Se.atoms)Le[Fe.i]=W(Fe.el,V[We]);return Le}),he=(Se,We)=>{if(!Se||!We)return;let Le=Zn.get(Se);Le||Zn.set(Se,Le=new Set),Le.add(We)};for(let Se of Ct){let We=d.get(Se);We&&(he(W(We.base,V[0]),Se),he(W(We.local,V[1]),Se),he(W(We.remote,V[2]),Se))}for(let Se of at){let We=I(Se.node);for(let Le=Se.ms;Le<Se.me;Le++)he(X[0][Ee[Le]],We),he(X[1][Re[Le]],We),he(X[2][Ve[Le]],We)}let ke=new Map(Ct.map((Se,We)=>[Se,We]));for(let[Se,We]of Zn)Zn.set(Se,Array.from(We).sort((Le,Fe)=>ke.get(Le)-ke.get(Fe)))}return{unitOutputs:Zn,nodes:Ct,text:fe,textNodes:at,localDiverged:Kr,mapLocal:mt,conflicts:r.slice(u),granularity:K?"line":"word",segments:Wr(),localHunks:Ce,remoteHunks:be,lToM:T}}function Ys(e,o,t,n,s){if(!s(e.length*8+1))return null;let d=0,l=o===0,r=!1;for(let i of rn(e,n)){if(!s(1))return null;if(d+=i.len,d===o&&(l=!0),d===t&&(r=!0),d>=t)break}return l&&r}function Ni(e,o,t,n,s,d,l){if(!l(o.length*2))return!1;let r=new Map,i=new Map,u=new Set;for(let w of o){let c=w.bs<w.be,h=c?t[w.ownerIndex].text.base:t[w.ownerIndex].text[e],p=c?w.bs:w.ss,y=c?w.be:w.se;if(!l((y-p)*4+1))return!1;for(;p<y&&/\s/.test(h[p]);)p++;for(;y>p&&/\s/.test(h[y-1]);)y--;if(p===y)continue;let C=h.slice(p,y),g=c?r:i;c&&w.text&&u.add(C),g.has(C)?g.set(C,null):g.set(C,{h:w,from:p,to:y})}for(let w of n){if(!l(1))return!1;if(w.side!==e)continue;let c=w.deletion,h=t[c.ownerIndex].text.base;if(!l((c.be-c.bs)*3)||u.has(h.slice(c.bs,c.be).trim()))return!1}for(let[w,c]of r){if(!l(w.length+1))return!1;let h=i.get(w);if(!c||!h)continue;let p=c.h,y=h.h;if(!p.text||p.transferOut||y.transferIn||p.owner===y.owner)continue;let C=t[p.ownerIndex],g=t[y.ownerIndex];if(!l(C.text.base.length))return!1;if(!/\S/.test(C.text.base.slice(0,p.bs)+C.text.base.slice(p.be)))continue;let f=Ys(C.text.base,c.from,c.to,d,l),m=Ys(g.text[e],h.from,h.to,d,l);if(f===null||m===null)return!1;if(!f||!m)continue;let R=`${C.index}:${c.from}:${c.to}`,S={key:R,side:e,source:p.owner,destination:y.owner,deletion:p,insertion:y,sourceOffset:c.from-p.bs,targetOffset:h.from-y.ss,length:c.to-c.from};p.transferOut=S,y.transferIn=S,s[e].set(R,S),n.push(S)}return!0}function Xs({base:e,local:o,remote:t,localTwin:n,remoteTwin:s,eligible:d,nodes:l,budget:r=qt(2e4*32)}){let i=v=>v>r.remaining?!1:(r.remaining-=v,r.nativeSteps=(r.nativeSteps||0)+v,!0);if(e.length<2||o.length!==e.length||t.length!==e.length||!i(e.length*12))return null;for(let[v,N]of[["base",e],["local",o],["remote",t]]){let L=l[v];if(L.length!==N.length||L.some((D,B)=>D!==N[B]))return null}let u=[],w=0;for(let v=0;v<e.length;v++){let N=e[v],L=o[v],D=t[v];if(n(N)!==L||s(N)!==D)return null;let B={};for(let[M,x]of[["base",N],["local",L],["remote",D]]){if(!d(x)||x.tagName!==N.tagName||x.namespaceURI!==N.namespaceURI||!i(x.childNodes.length+1))return null;let k="";for(let z of x.childNodes){if(z.nodeType!==3||!i(z.data.length*4+1))return null;k+=z.data}if(k.includes(yt)||(w+=k.length+1,w>2e4))return null;B[M]=k}u.push({base:N,local:L,remote:D,index:v,text:B})}let c=u.every(v=>bn(v.text.base,v.text.local,v.text.remote)),h={local:[],remote:[]};for(let v of u){v.hunks={local:[],remote:[]};for(let N of["local","remote"]){let L=v.text.base,D=v.text[N];if(L===D)continue;let B=L.length+D.length+4,M=B*8;if(!i(M))return null;let x=Math.floor(r.remaining/8),k=Math.min(4e3,Math.max(0,Math.floor((Math.sqrt(B*B+x)-B)/2)));if(k<1||!i(4*(k+1)*(B+k+1)))return null;let z=0;for(let U of Fn(L,D,k)){if(!i(U.text.length+1))return null;let K=U.bs+z,Ae={...U,ss:K,se:K+U.text.length,toks:rn(U.text,c),owner:v.base,ownerIndex:v.index};v.hunks[N].push(Ae),h[N].push(Ae),z+=U.text.length-(U.be-U.bs)}}}let p=[],y={local:new Map,remote:new Map};for(let v of["local","remote"]){let N=new Map,L=new Map,D=!1,B=(M,x,k)=>{M.has(x)?M.set(x,null):M.set(x,k)};for(let M of h[v]){if(!i(1))return null;let x=u[M.ownerIndex].text.base;if(M.bs<M.be&&M.text===""){let k=x.slice(M.bs,M.be);if(!i(k.length*2))return null;/\S/.test(k)&&B(N,k,M)}else if(M.bs===M.be&&/\S/.test(M.text)){if(!i(M.text.length*2))return null;B(L,M.text,M)}else M.bs<M.be&&(D=!0)}for(let[M,x]of N){if(!i(M.length+1))return null;let k=L.get(M);if(!x||!k||x.owner===k.owner)continue;let z=u[x.ownerIndex];if(!i(z.text.base.length))return null;if(!/\S/.test(z.text.base.slice(0,x.bs)+z.text.base.slice(x.be)))continue;let U=`${z.index}:${x.bs}:${x.be}`,K={key:U,side:v,source:x.owner,destination:k.owner,deletion:x,insertion:k};x.transferOut=K,k.transferIn=K,y[v].set(U,K),p.push(K)}if(D&&L.size&&!Ni(v,h[v],u,p,y,c,i))return null}if(!p.length)return null;let C=(v,N)=>v.bs<N.be&&N.bs<v.be,g=v=>v.bs===v.be,f=(v,N)=>v.bs<=N.be&&N.bs<=v.be&&g(v)!==g(N),m=(v,N)=>v.bs===N.bs&&v.be===N.be&&v.text===N.text,R=(v,N)=>!!(v.transferIn||v.transferOut&&(!v.text||N.bs===v.be&&/\s/.test(N.text[0])||N.bs===v.bs&&/\s/.test(N.text[N.text.length-1])));for(let v of p){let N=v.side==="local"?"remote":"local",L=u[v.deletion.ownerIndex];for(let D of L.hunks[N])if(!i(1)||C(v.deletion,D)&&D.transferOut?.key!==v.key)return null}for(let v of u)for(let N of v.hunks.local)for(let L of v.hunks.remote){if(!i(1))return null;if(m(N,L)){if(N.transferIn?.key!==L.transferIn?.key)return null;continue}if(C(N,L)||f(N,L)&&!R(N,L)&&!R(L,N))return null}if(!i(w*8))return null;let S=new Set([...e,...o,...t]),O={base:en(e,{blocks:S}),local:en(o,{blocks:S}),remote:en(t,{blocks:S})},E={};for(let v of["base","local","remote"]){let N=O[v];if(N.atoms.length||N.pins.length)return null;E[v]=new Map(N.marks.filter(L=>L.block).map(L=>[L.el,L.from]))}for(let v of u){let N=E.base.get(v.base);if(N===void 0)return null;for(let L of["local","remote"]){let D=E[L].get(v[L]);if(D===void 0)return null;for(let B of v.hunks[L])B.bs+=N,B.be+=N,B.ss+=D,B.se+=D}}for(let v of p)v.bs=v.deletion.bs+(v.sourceOffset||0),v.be=v.length===void 0?v.deletion.be:v.bs+v.length,v.ss=v.insertion.ss+(v.targetOffset||0),v.se=v.length===void 0?v.insertion.se:v.ss+v.length;let P={};for(let v of["local","remote"]){let N=0,L=0,D=[];for(let M of h[v]){if(!i(1))return null;M.bs>N&&D.push({from:N,to:M.bs,target:L}),N=M.be,L=M.se}N<O.base.text.length&&D.push({from:N,to:O.base.text.length,target:L});let B=p.filter(M=>M.side===v).map(M=>({from:M.bs,to:M.be,target:M.ss,destination:M.destination}));if(P[v]=Ln({base:O.base,side:O[v],retained:D,transfers:B,budget:r}),P[v].status!=="ready")return null}return i(O.base.text.length)?{owners:u,blocks:S,transfers:p,byOrigin:y,budget:r,prepared:{base:O.base,local:O.local,remote:O.remote,lines:!1,baseTokens:rn(O.base.text,c),localEdits:{hunks:h.local,respell:new Map},remoteEdits:{hunks:h.remote,respell:new Map},localMap:P.local,remoteMap:P.remote,full:null}}:null}var hs=/\S/;function Js({certificates:e,scopes:o,views:t,eligible:n,baseId:s,limit:d=2e4*32}){let l=qt(d),r=Symbol(),i=[],u=c=>{if(c>l.remaining)throw r;l.remaining-=c},w=(c,h=null)=>{if(u(1),!c||c.nodeType!==1||c.parentNode?.nodeType!==1||!n(c))return null;for(let C=c.parentNode;C;C=C.parentNode)if(u(1),C.nodeType===11)return null;let p="",y=0;for(let C of c.childNodes){if(u(1),C.nodeType!==3)return null;if(u(C.data.length*4+1),h){let g=h.flat.nodes[y++];if(!g||g.node!==C||g.s!==p.length||g.e!==p.length+C.data.length)return null}p+=C.data}return u(p.length*3+1),h&&(h.flat.atoms.length||h.flat.pins?.length||y!==h.flat.nodes.length||h.flat.text!==p)?null:hs.test(p)?p:null};try{u(o[0].length+o[1].length+o[2].length+e.length);let c=o.map(p=>new Set(p)),h=new Map;for(let p of e){u(1);let y=h.get(p.source);y||h.set(p.source,y=[]),y.push(p)}for(let p of h.values()){let y=[null,null],C=[];for(let g of p){u(1);let{source:f,target:m,side:R,models:S,runs:O}=g;if(R!==0&&R!==1||!c[0].has(f)||!c[R+1].has(m))continue;let{V:E,A:P,idOf:v}=t[R],N=t[1-R],L=E.twin(f),D=N.V.twin(f),B=E.baseOf(m);if(!L||!D||!B||B===f||!c[0].has(B)||!c[R+1].has(L)||!c[2-R].has(D)||P.map.get(f)!==L||P.reverse.get(L)!==f||N.A.map.get(f)!==D||N.A.reverse.get(D)!==f||P.map.get(B)!==m||P.reverse.get(m)!==B||m.parentNode!==L.parentNode||B.parentNode!==f.parentNode||f.tagName!==L.tagName||f.tagName!==D.tagName||s(f)!==v(L)||s(f)!==N.idOf(D)||s(B)!==v(m))continue;let M=S.get(f),x=S.get(m);if(!M||!x)continue;let k=w(f,M),z=w(m,x),U=w(L),K=w(D);if(u((k?.length||0)+(K?.length||0)),k===null||z===null||U===null||K===null||K===k)continue;let Ae=O.length>0,Me=!1;for(let te of O){if(u(1),te.source!==f||te.target!==m||!Number.isInteger(te.from)||!Number.isInteger(te.to)||!Number.isInteger(te.targetFrom)||te.from<0||te.to<=te.from||te.to>k.length||te.targetFrom<0||te.targetFrom+te.to-te.from>z.length){Ae=!1;break}u((te.to-te.from)*3);for(let ve=te.from;ve<te.to;ve++){if(k[ve]!==z[te.targetFrom+ve-te.from]){Ae=!1;break}hs.test(k[ve])&&(Me=!0)}if(!Ae)break}if(!Ae||!Me)continue;let Be=y[R];Be||(u(k.length),Be=y[R]={source:f,side:R,flat:M.flat,before:k,covered:new Uint8Array(k.length)});for(let te of O)u(te.to-te.from),Be.covered.fill(1,te.from,te.to)}for(let g of y){if(!g)continue;let{source:f,side:m,flat:R,before:S,covered:O}=g;u(S.length*3+1);let E=-1,P=-1;for(let v=0;v<=S.length;v++)v<S.length&&O[v]?(E<0&&(E=v),P=v+1):(v===S.length||hs.test(S[v]))&&E>=0&&(C.push({source:f,side:m,flat:R,from:E,to:P}),E=P=-1)}u(C.length),i.push(...C)}}catch(c){if(c!==r)throw c}return{records:i,budget:l}}var Ai="http://www.w3.org/1999/xhtml";function Mi(e){let o=5381;for(let t=0;t<e.length;t++)o=(o<<5)+o^e.charCodeAt(t);return(o>>>0).toString(36)}function dn(e){return!!e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.namespaceURI===Ai}function Oi(e){let o=(e.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return o==="application/json"||o.endsWith("+json")}function Do(e,o){let t=e.getAttribute("src"),n=(e.getAttribute("type")||"text/javascript").split(";")[0].trim().toLowerCase();if(t){let s=t;try{let d=new URL(t,o);s=d.origin+d.pathname+d.search}catch{}return"script|src|"+n+"|"+s}return"script|inline|"+n+"|"+Mi(e.textContent.trim())}var Ii={match:e=>e.hasAttribute("merge"),identity:e=>e.getAttribute("merge")};function lo(e,o=[],t=!1){if(!dn(e)||e.hasAttribute("src"))return null;let n=[Ii,...o];for(let s=0;s<n.length;s++){let d=n[s];if(!d.match(e))continue;if(!Oi(e))return t&&console.warn("[hyper-morph] merge ignored: script type is not JSON",e),null;let l=d.identity(e);return l==null||l===""?null:{key:s+":"+l,raw:l,recognizer:d}}return null}function Qs(e,o,t){let n=new Set,s=d=>{dn(d)&&!o(d)&&n.add(Do(d,t))};s(e);for(let d of e.querySelectorAll("script"))s(d);return n}function ko(e,o){let t=o.createElement("div");t.innerHTML="<script><\/script>";let n=t.firstChild;for(let s of e.attributes)n.setAttribute(s.name,s.value);return n.textContent=e.textContent,n}function Zs(e,o,t){let n=[],s=[],d=new Map,l=t.trackRecovery?new Set:null,r=Array.from(e.querySelectorAll("script"));dn(e)&&r.unshift(e);for(let i of r){if(!dn(i)||t.ignored(i)||t.skip.has(i)||o.has(Do(i,t.baseURI)))continue;let u=i.ownerDocument.createElement("script");for(let w of i.attributes)u.setAttribute(w.name,w.value);if(u.textContent=i.textContent,t.beforeNodeAdded(u)===!1){l?.add(i);continue}u.hasAttribute("src")&&s.push(new Promise(w=>{u.addEventListener("load",()=>w()),u.addEventListener("error",()=>w())})),i.replaceWith(u),d.set(i,u),t.afterNodeAdded(u),n.push(u)}return{executed:n,loads:s,swapped:d,vetoed:l}}function Ci(e){let o=5381;for(let t=0;t<e.length;t++)o=(o<<5)+o^e.charCodeAt(t);return(o>>>0).toString(36)}function Ei(e,o){try{let t=new URL(e,o);return t.origin+t.pathname+t.search}catch{return e}}function er(e,o){let t=e.tagName;if(t==="TITLE"||t==="BASE")return t;if(t==="SCRIPT")return Do(e,o);if(t==="LINK"){let n=e.getAttribute("href");return n?"link|"+(e.getAttribute("rel")||"")+"|"+Ei(n,o):e.outerHTML}if(t==="META"){for(let n of["charset","name","property","http-equiv","itemprop"])if(e.hasAttribute(n))return"meta|"+n+"="+e.getAttribute(n);return e.outerHTML}return t==="STYLE"?"style|"+Ci(e.textContent):e.outerHTML}function ps(e,o){for(;;){for(;o<e.length&&/\s/.test(e[o]);)o++;if(e[o]==="/"&&e[o+1]==="/"){for(;o<e.length&&e[o]!==`
|
|
4
|
+
`;)o++;continue}if(e[o]==="/"&&e[o+1]==="*"){let t=e.indexOf("*/",o+2);if(t===-1)return e.length;o=t+2;continue}return o}}function tr(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(o,t)=>t.length%2===0?t+'\\"':o)}var Li=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Ri=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Uo(e){try{return JSON.parse(e)}catch{return JSON.parse(Pi(e))}}function Pi(e){let o="",t=0,n=(s,d)=>{throw new Error(`Invalid relaxed JSON: ${s} at position ${d}`)};for(;t<e.length&&(t=ps(e,t),!(t>=e.length));){let s=e[t];if("{}[]:".includes(s)){o+=s,t++;continue}if(s===","){let r=ps(e,t+1);if(e[r]==="}"||e[r]==="]"){t++;continue}o+=s,t++;continue}if(s==='"'||s==="'"){let r=t+1;for(;r<e.length&&e[r]!==s;)e[r]==="\\"&&r++,r++;r>=e.length&&n("unterminated string",t);let i=e.slice(t+1,r);s==="'"&&(i=tr(i)),o+='"'+i+'"',t=r+1;continue}let d=t;for(;d<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[d]);)d++;d===t&&n("unexpected character "+JSON.stringify(s),t);let l=e.slice(t,d);if(l==="true"||l==="false"||l==="null"||Li.test(l)){o+=l,t=d;continue}if(Ri.test(l)){if(e[ps(e,d)]===":"){o+='"'+l+'"',t=d;continue}n("unquoted value "+JSON.stringify(l),t)}n("invalid token "+JSON.stringify(l),t)}return o}function nr(e){try{return JSON.parse(e)}catch{}let o={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function t(s){let d=[],l=0;for(;l<s.length;){let r=s[l];if(/\s/.test(r)){l++;continue}if("{}".includes(r)){d.push({type:r,value:r}),l++;continue}if(r==="["){let c=!1,h=l+1;for(;h<s.length&&/\s/.test(s[h]);)h++;if(h<s.length&&/[a-zA-Z_]/.test(s[h])&&(c=!0),!c){d.push({type:r,value:r}),l++;continue}}if(r==="]"){d.push({type:r,value:r}),l++;continue}if(r===":"){d.push({type:o.COLON,value:r}),l++;continue}if(r===","){d.push({type:o.COMMA,value:r}),l++;continue}if(r==='"'||r==="'"){let c=r,h=l+1;for(;h<s.length&&s[h]!==c;)s[h]==="\\"&&h++,h++;d.push({type:o.STRING,value:s.substring(l+1,h),quoted:!0,sourceQuote:c}),l=h+1;continue}let i=l,u;for(;i<s.length&&!/[{},]/.test(s[i]);)if(s[i]===":"){let c=[":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"],h=!1;for(let p of c){let y=p.substring(1);if(s.substring(i+1,i+1+y.length)===y){h=!0,i+=y.length;break}}if(!h)break}else if(s[i]==="["){for(i++;i<s.length&&s[i]!=="]";){if(s[i]==='"'||s[i]==="'"){let c=s[i];for(i++;i<s.length&&s[i]!==c;)s[i]==="\\"&&i++,i++}i++}i<s.length&&s[i]==="]"&&i++}else i++;u=s.substring(l,i);let w=o.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?w=o.NUMBER:u==="true"||u==="false"||u==="null"?w=o.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(w=o.SELECTOR),d.push({type:w,value:u,quoted:!1}),l=i}return d}function n(s){let d="";for(let l=0;l<s.length;l++){let r=s[l];if("{}".includes(r.type)||"[]".includes(r.type)){d+=r.value;continue}if(r.type===o.COLON){d+=r.value;continue}if(r.type===o.COMMA){let i=s[l+1];if(i&&(i.type==="}"||i.type==="]"))continue;d+=r.value;continue}if(r.type===o.STRING){let i=r.value;r.sourceQuote==="'"&&(i=tr(i)),d+=`"${i}"`;continue}if(r.type===o.NUMBER||r.type===o.BOOLEAN){d+=r.value;continue}d+=`"${r.value}"`}return d}try{let s=t(e),d=n(s);return JSON.parse(d)}catch(s){throw new Error("Invalid extraction rules syntax: "+s.message)}}var Xt=Symbol("hyper-morph-json-merge:missing"),or=["id","_id","uuid","key","slug","code","name"];function ao(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xo(e,o){return Object.prototype.hasOwnProperty.call(e,o)}function Bi(e,o,t){Object.defineProperty(e,o,{value:t,enumerable:!0,writable:!0,configurable:!0})}function _n(e,o){if(e===o)return!0;if(Array.isArray(e)&&Array.isArray(o)){if(e.length!==o.length)return!1;for(let t=0;t<e.length;t++)if(!_n(e[t],o[t]))return!1;return!0}if(ao(e)&&ao(o)){let t=Object.keys(e);if(t.length!==Object.keys(o).length)return!1;for(let n of t)if(!xo(o,n)||!_n(e[n],o[n]))return!1;return!0}return!1}function sr(e,o,t,n){return _n(o,t)?o:_n(o,e)?t:_n(t,e)?o:ao(o)&&ao(t)?ji(ao(e)?e:{},o,t,n):Array.isArray(o)&&Array.isArray(t)?Vi(Array.isArray(e)?e:[],o,t,n):t}function rr(e,o,t,n){return o===Xt&&t===Xt?Xt:o===Xt?e===Xt?t:_n(t,e)?Xt:t:t===Xt?e===Xt?o:Xt:sr(e,o,t,n)}function ji(e,o,t,n){let s={},d=new Set([...Object.keys(e),...Object.keys(o),...Object.keys(t)]);for(let l of d){let r=rr(xo(e,l)?e[l]:Xt,xo(o,l)?o[l]:Xt,xo(t,l)?t[l]:Xt,n);r!==Xt&&Bi(s,l,r)}return s}function Di(e){return e===null||typeof e!="object"}function Ho(e){return typeof e+":"+String(e)}function Ui(e,o){for(let t of o){let n=new Set;for(let s of t){if(!xo(s,e))return!1;let d=s[e];if(typeof d!="string"&&typeof d!="number")return!1;let l=Ho(d);if(n.has(l))return!1;n.add(l)}}return!0}function Hi(e,o,t,n){let s=[e,o,t],d=!0;for(let l of s)for(let r of l)ao(r)||(d=!1);if(d){for(let l of n.keyCandidates)if(Ui(l,s))return{kind:"keyed",field:l};return null}for(let l of s){let r=new Set;for(let i of l){if(!Di(i))return null;let u=Ho(i);if(r.has(u))return null;r.add(u)}}return{kind:"self"}}function Vi(e,o,t,n){let s=Hi(e,o,t,n);if(!s)return t;let d=s.kind==="self"?Ho:p=>Ho(p[s.field]),l=p=>{let y=new Map;for(let C of p)y.set(d(C),C);return y},r=l(e),i=l(o),u=l(t),w=new Map,c=new Set([...r.keys(),...i.keys(),...u.keys()]);for(let p of c){let y=rr(r.has(p)?r.get(p):Xt,i.has(p)?i.get(p):Xt,u.has(p)?u.get(p):Xt,n);y!==Xt&&w.set(p,y)}let h=[];for(let p of t){let y=d(p);w.has(y)&&h.push(y)}for(let p=0;p<o.length;p++){let y=d(o[p]);if(!w.has(y)||h.includes(y))continue;let C=0;for(let g=p-1;g>=0;g--){let f=h.indexOf(d(o[g]));if(f!==-1){C=f+1;break}}h.splice(C,0,y)}return h.map(p=>w.get(p))}function ms(e,o,t,n={}){let s=n.keyCandidates?[...n.keyCandidates,...or]:or;return sr(e===void 0?Xt:e,o,t,{keyCandidates:s})}function Vo(e,o,t,n={}){let s=n.parse||Uo,d=[],l=(c,h)=>{if(typeof c!="string")return Xt;try{return s(c)}catch(p){return d.push(`${h} side is not valid JSON (${p.message})`),Xt}},r=l(o,"local"),i=l(t,"remote");if(r===Xt)return{text:t,warnings:d};if(i===Xt)return{text:o,warnings:d};let u=l(e,"base"),w=ms(u===Xt?void 0:u,r,i,n);return _n(w,i)?{text:t,warnings:d}:_n(w,r)?{text:o,warnings:d}:{text:JSON.stringify(w,null,2),warnings:d}}var ir=e=>e.nodeType===3||e.nodeType===8?e.nodeValue.length:e.childNodes.length;function Xn(e){if(!e)return!1;let{startContainer:o,startOffset:t,endContainer:n,endOffset:s}=e;if(!o||!n||!Number.isInteger(t)||!Number.isInteger(s)||t<0||s<0||t>ir(o)||s>ir(n)||o.getRootNode()!==n.getRootNode())return!1;let d=o.ownerDocument.createRange();return d.setStart(o,t),d.setEnd(n,s),d.startContainer===o&&d.startOffset===t}function qn(e,o,t={}){if(!Xn(e))return null;let{startContainer:n,startOffset:s,endContainer:d,endOffset:l}=e;if(n===d&&(n.nodeType===3||n.nodeType===8))return n.nodeValue.slice(s,l);if(n===d&&s===l)return"";let r=new Set;for(let g=n;g;g=g.parentNode)r.add(g);let i=d;for(;!r.has(i);)i=i.parentNode;let u=(g,f)=>{let m=i.ownerDocument.createRange(),R=i.ownerDocument.createRange();return m.setStart(g[0],g[1]),m.collapse(!0),R.setStart(f[0],f[1]),R.collapse(!0),m.compareBoundaryPoints(0,R)},w=(g,f=!1)=>[g.parentNode,Array.prototype.indexOf.call(g.parentNode.childNodes,g)+Number(f)],c=[],h;if(o==="plain"){h="";let g=f=>{if(f.nodeType===3||f.nodeType===8){let m=h.length;h+=f.nodeValue,c.push({s:m,e:h.length,a:[f,0],b:[f,f.nodeValue.length],node:f})}else for(let m of f.childNodes)g(m)};g(i)}else{let g=t.blocks;if(!g){g=new Set;let m=R=>{R!==i&&R.nodeType===1&&us.has(R.tagName)&&g.add(R);for(let S of R.childNodes)m(S)};m(i)}let f=en(Array.from(i.childNodes),{blocks:g,atomize:m=>!!t.atoms?.has(m),ignored:t.ignored});h=f.text;for(let m of f.nodes)c.push({s:m.s,e:m.e,a:[m.node,0],b:[m.node,m.e-m.s],node:m.node});for(let m of f.atoms)c.push({s:m.i,e:m.i+1,a:w(m.el),b:w(m.el,!0)});for(let m=0;m<f.text.length;m++){if(f.text[m]!==yt)continue;let R=f.marks.find(O=>O.block&&O.to===m+1),S=f.marks.find(O=>O.block&&O.from===m+1);if(R)c.push({s:m,e:m+1,a:[R.el,R.el.childNodes.length],b:w(R.el,!0)});else if(S)c.push({s:m,e:m+1,a:w(S.el),b:[S.el,0]});else return null}}c.sort((g,f)=>g.s-f.s);let p=g=>{if(g[0].nodeType===3||g[0].nodeType===8){let m=c.find(R=>R.node===g[0]);return m?m.s+g[1]:null}let f=0;for(let m of c){if(u(g,m.a)<=0)return m.s;if(u(g,m.b)<0)return null;f=m.e}return f},y=p([n,s]),C=p([d,l]);return y!==null&&C!==null&&y<=C?h.slice(y,C):null}function Yn(e,o){let t=e;for(let n of o.path)if(t=n==="content"?t?.content:t?.childNodes[n],!t)return null;return[t,o.offset]}function lr(e,o){if(!e||!o)return null;let t=Yn(e,o.start),n=Yn(e,o.end);return t&&n?{startContainer:t[0],startOffset:t[1],endContainer:n[0],endOffset:n[1]}:null}var ar=e=>e.nodeType===1?e.outerHTML:e.nodeValue;function cr(e,o,t){if(!o)return;let n=new Map,s=new Map,d=r=>{if(!r)return null;if(s.has(r))return s.get(r);let u=r.local.map(w=>Yn(o.localRoot,{path:w,offset:0})?.[0]).map(w=>w&&t(w)).filter(Boolean).map(w=>({node:w,parent:w.parentNode,previous:w.previousSibling,next:w.nextSibling,fragment:ar(w)}));return s.set(r,u),u},l=r=>{let i=lr(o.localRoot,r);if(!i)return null;let u=t(i.startContainer),w=t(i.endContainer);if(!u||!w)return null;let c={...i,startContainer:u,endContainer:w};return Xn(c)?c:null};for(let r of e){let i=r.recovery;if(!i||n.has(i))continue;let u={subject:d(i.subject),span:null,scope:null,touched:new Set};if(i.text){u.span=l(i.text.local.span),u.scope=l(i.text.local.scope);let w=u.span;if(w){let c=w.startContainer.ownerDocument.createRange();c.setStart(w.startContainer,w.startOffset),c.setEnd(w.endContainer,w.endOffset);let h=p=>{if(c.intersectsNode(p)){u.touched.add(p);for(let y of p.childNodes)h(y)}};h(c.commonAncestorContainer)}}if(i.structure){for(let w of[i.structure.localPlacement])w&&(d(w.parent),w.before.forEach(d),w.after.forEach(d));for(let w of i.structure.localOrder||[])d(w)}n.set(i,u)}o.localState={states:n,refs:s}}function fr(e,o,t,n){let s=t.localState?.states.get(e);if(!s)return!1;let d=r=>{let i=r.node;if(!n(i)||i.parentNode!==r.parent)return!1;let u=w=>Array.prototype.indexOf.call(i.parentNode.childNodes,w);return!(r.previous&&n(r.previous)&&r.previous.parentNode===i.parentNode&&u(r.previous)>=u(i)||r.next&&n(r.next)&&r.next.parentNode===i.parentNode&&u(r.next)<=u(i))};if(e.structure?.localAction==="deleted")return e.subject.live.length===0;if(!s.subject.length||!s.subject.every(d))return!1;if(e.text){let r=e.text.local,i=u=>u&&n(u.startContainer)&&n(u.endContainer);return i(s.span)&&i(s.scope)&&qn(s.scope,e.text.encoding)===r.text&&qn(s.span,e.text.encoding)===r.text.slice(r.start,r.end)}if(e.attribute){let r=e.attribute,i=s.subject[0].node;return(r.namespaceURI?i.getAttributeNS(r.namespaceURI,r.localName):i.getAttribute(r.qualifiedName))===o.local}let l=e.structure;if(l.localOrder){let r=-1,i=null;for(let u of l.localOrder){let w=t.localState.refs.get(u)?.[0]?.node;if(!w||!n(w)||i&&w.parentNode!==i)return!1;let c=Array.prototype.indexOf.call(w.parentNode.childNodes,w);if(c<=r)return!1;i=w.parentNode,r=c}return!0}return l.localAction==="moved"||s.subject.every(r=>ar(r.node)===r.fragment)}var Wi=1,ln=e=>!!e&&e.nodeType===1,Wo=e=>ln(e)&&e.tagName==="TEMPLATE"&&!!e.content;function Jn(e,o=null,t=null){let n=new Map,s=new Map,d=w=>{if(!o){o=new WeakMap;let c=[e];for(;c.length;){let h=c.pop();Wo(h)&&(o.set(h.content,h),c.push(h.content));for(let p=h.firstChild;p;p=p.nextSibling)p.nodeType===1&&c.push(p)}}return o.get(w)||null},l=(w,c)=>{let h=s.get(w);if(!h){h=new Map;let p=0;for(let y=w.firstChild;y;y=y.nextSibling)h.set(y,p++);s.set(w,h)}return h.get(c)},r=w=>{if(!w)return null;if(t&&t.has(w))return r(t.get(w));if(w===e)return[];let c=n.get(w);if(c!==void 0)return c;let h=w.parentNode,p=null;if(h&&h.nodeType===11){let y=d(h),C=y?r(y):null;C&&(p=C.concat(["content",l(h,w)]))}else if(h){let y=r(h);y&&(p=y.concat([l(h,w)]))}return n.set(w,p),p};return{root:e,pathOf:r,logicalParent:w=>{let c=w.parentNode;return c&&c.nodeType===11?d(c):c},indexIn:l,containerPath:w=>{if(w.nodeType===11){let h=d(w),p=r(h);return p?p.concat(["content"]):null}let c=r(w);return c&&Wo(w)?c.concat(["content"]):c},ownerOf:d}}var An=e=>Wo(e)?e.content:e;function ur(e){let{L:o,R:t,unitsOf:n,provenance:s,policy:d}=e,l=[];return{note:(w,c)=>{l.push([w,c])},finish:w=>l.length?u(w):null};function u(w){let c={base:Jn(e.roots.base),local:Jn(e.roots.local),remote:Jn(e.roots.remote)},h=A=>A==="local"?o:t,p=(A,j)=>{if(!j)return null;if(A.map.has(j))return A.map.get(j);let Y=[],J=ln(j)?c.base.logicalParent(j):j.parent;for(;J&&!A.map.has(J);J=c.base.logicalParent(J))Y.push(J);if(!J||!A.identical.has(J))return null;let se=A.map.get(J);for(let je=Y.length-1;je>=0&&se;je--)se=An(se).childNodes[c.base.indexIn(Y[je].parentNode,Y[je])];return se?ln(j)?An(se).childNodes[c.base.indexIn(j.parentNode,j)]||null:n(se)[n(j.parent).indexOf(j)]||null:null},y=new Map,C=new Map,g=new WeakMap,f=0,m=(A,j)=>{let Y=y.get(A);Y||y.set(A,Y=[]),Y.push(j)};(function A(j){C.set(j,f++);let Y=s.get(j);if(Y&&!Y.pinned){for(let J of[Y.base,Y.local,Y.remote])if(J)if(Array.isArray(J))for(let se of J)m(se,j);else m(J,j)}if(Wo(j)){g.set(j.content,j);for(let J=j.content.firstChild;J;J=J.nextSibling)A(J)}for(let J=j.firstChild;J;J=J.nextSibling)A(J)})(w);let R=new Map;c.out=Jn(w,g,R);let S={refs:new Map,spans:new Map,anchors:new Map,via:R,outOwners:g,outRoot:w,localRoot:e.roots.local},O=A=>ln(A)?[A]:A.nodes,E=(A,j)=>{let Y=c[j].logicalParent(A);if(!Y)return null;for(let J of n(Y))if(!ln(J)&&J.nodes.includes(A))return J;return null},P=(A,j)=>A==null?null:Array.isArray(A)?A.length?E(A[0],j):null:A,v=A=>{let j=new Set,Y=[];for(let J of A)for(let se of y.get(J)||[])j.has(se)||(j.add(se),Y.push(se));return Y.sort((J,se)=>C.get(J)-C.get(se))},N=new Map,L=A=>{let j=A.b||A.l||A.r,Y=N.get(j);if(Y)return Y;let J=[];for(let se of[A.b,A.l,A.r])se&&J.push(...O(se));return Y=v(J),N.set(j,Y),Y},D=A=>({b:A,l:p(o,A),r:p(t,A)}),B=(A,j)=>{let Y=h(j).reverse.get(A);if(Y)return D(Y);for(let J of v(O(A))){let se=s.get(J);if(se&&!se.base&&se.local&&se.remote)return{b:null,l:P(se.local,"local"),r:P(se.remote,"remote")}}return j==="local"?{b:null,l:A,r:null}:{b:null,l:null,r:A}},M=new Map,x=A=>{let j=s.get(A);if(!j||j.pinned)return null;let Y=P(j.base,"base");if(Y)return D(Y);let J=P(j.local,"local"),se=P(j.remote,"remote");if(J){let je=o.reverse.get(J);if(je)return D(je)}if(se){let je=t.reverse.get(se);if(je)return D(je)}return J||se?{b:null,l:J,r:se}:null},k=A=>(M.has(A)||M.set(A,x(A)),M.get(A)),z=(A,j)=>ln(A)?c[j].logicalParent(A):A.parent,U=new Map,K=new Map,Ae=(A,j)=>(ln(A)?[c[j].pathOf(A)]:A.nodes.map(Y=>c[j].pathOf(Y))).filter(Boolean),Me=A=>{let j=A.b||A.l||A.r,Y=A.b?"base":A.l?"local":"remote",J=K.get(j);if(J)return J;let se=!ln(j),je=Ae(j,Y)[0],Z=`${Y[0]}:${JSON.stringify(je===void 0?null:je)}${se?":run":""}`,Ie=U.get(Z);if(Ie)return K.set(j,Ie),Ie;let He=L(A);return Ie={key:Z,nodeType:ln(j)?1:j.kind==="comment"?8:3,base:A.b?Ae(A.b,"base"):[],local:A.l?Ae(A.l,"local"):[],remote:A.r?Ae(A.r,"remote"):[],merged:He.map(Ce=>c.out.pathOf(Ce)).filter(Boolean),live:[]},U.set(Z,Ie),K.set(j,Ie),S.refs.set(Ie,He),Ie},Be={base:new Map,local:new Map,remote:new Map},te=new Map,ve=(A,j)=>{let Y=z(A,j);if(!Y||Y.nodeType!==1)return null;let J=Be[j].get(Y);if(!J){let je=n(Y),Z=Ie=>Me(j==="base"?D(Ie):B(Ie,j));J={parent:Z(Y),refs:je.map(Z),index:new Map(je.map((Ie,He)=>[Ie,He]))},Be[j].set(Y,J)}let se=J.index.get(A)??-1;return{parent:J.parent,before:J.refs.slice(se+1),after:J.refs.slice(0,Math.max(0,se)).reverse()}},ze=A=>{let j=A.parentNode;if(!j)return null;let Y=te.get(j);if(!Y){let se=j.nodeType===11?g.get(j):j,je=se&&se.nodeType===1?k(se):null;if(!je)return null;let Z=[],Ie=[],He=new Map;for(let be of j.childNodes){let H=k(be),G=H&&Me(H),de=Z.length,pe=Z.length-1;G&&G!==Z[pe]&&(Z.push(G),pe++);let ce={ref:G,group:pe,after:de};Ie.push(ce),He.set(be,ce)}let Ce=Z.length;for(let be=Ie.length-1;be>=0;be--){let H=Ie[be];H.before=Ce,H.ref&&(Ce=H.group)}Y={parent:Me(je),refs:Z,index:He},te.set(j,Y)}let J=Y.index.get(A);return{parent:Y.parent,before:Y.refs.slice(J.before),after:Y.refs.slice(0,J.after).reverse()}},re=A=>ln(A)?A.outerHTML:A.value,b=A=>ln(A)?"element":A.kind==="comment"?"comment":"text",_=(A,j)=>({path:A,offset:j}),oe=(A,j,Y)=>{if(!A)return null;let J=c[Y],se=0;if(j){let je=ln(j)?j:j.nodes[j.nodes.length-1];je.parentNode&&(se=J.indexIn(je.parentNode,je)+1)}return _(J.containerPath(A),se)},ee=(A,j)=>{let Y=z(A,"base"),J=Y?p(h(j),Y):null;if(!ln(J))return null;let se=n(Y),je=null;for(let Z=se.indexOf(A)-1;Z>=0&&!je;Z--){let Ie=p(h(j),se[Z]);Ie&&z(Ie,j)===J&&(je=Ie)}return oe(J,je,j)},Pe=(A,j,Y,J)=>{let se=c[J],je=0;for(let Z=0;Z<A.nodes.length;Z++){let Ie=A.nodes[Z],He=Ie.nodeValue.length,Ce=Z===A.nodes.length-1;if((Y==="start"?j<je+He:j<=je+He)||Ce)return _(se.pathOf(Ie),Math.max(0,Math.min(j-je,He)));je+=He}return null},Ke=(A,j)=>{let Y=c[j],J=A.firstChild,se=A.lastChild;return J&&J.nodeType===3&&se.nodeType===3?{start:_(Y.pathOf(J),0),end:_(Y.pathOf(se),se.nodeValue.length)}:{start:_(Y.pathOf(A),0),end:_(Y.pathOf(A),A.childNodes.length)}},Ne=(A,j,Y)=>{for(let Z of A.nodes)if(Y==="start"?Z.s<=j&&j<Z.e:Z.s<j&&j<=Z.e)return{kind:"text",node:Z.node,offset:j-Z.s};let J=Y==="start"?j:j-1,se=()=>{for(let Z of A.nodes)if(Z.s===j||Z.e===j)return{kind:"text",node:Z.node,offset:j-Z.s};return null},je=A.atomAt.get(J);if(je)return{kind:Y==="start"?"before":"after",node:je.el};if(A.text[J]===yt){let Z=A.marks.find(He=>He.block&&He.to===J+1);if(Z)return Y==="start"?{kind:"end",node:Z.el}:{kind:"after",node:Z.el};let Ie=A.marks.find(He=>He.block&&He.from===J+1);if(Ie)return Y==="start"?{kind:"before",node:Ie.el}:{kind:"startOf",node:Ie.el}}return se()},ot=(A,j)=>Ne(A,j,"end")||Ne(A,j,"start"),Qe=(A,j)=>{switch(j.kind){case"text":return _(A.pathOf(j.node),j.offset);case"end":return _(A.containerPath(j.node),An(j.node).childNodes.length);case"startOf":return _(A.containerPath(j.node),0);default:{let Y=j.node.parentNode;return _(A.containerPath(Y),A.indexIn(Y,j.node)+(j.kind==="after"?1:0))}}},Ze=(A,j,Y,J,se)=>{let je=Ne(A,j,Y);return je?Qe(c[J],je):se()},Xe=(A,j,Y,J)=>{let se=A.textNodes.map(Ce=>({s:Ce.ms,e:Ce.me,start:{kind:"text",node:Ce.node,offset:0},end:{kind:"text",node:Ce.node,offset:Ce.me-Ce.ms}}));for(let[Ce,be]of A.atomOut)se.push({s:Ce,e:Ce+1,start:{kind:"before",node:be},end:{kind:"after",node:be}});for(let[Ce,be]of A.breakOut)se.push({s:Ce,e:Ce+1,start:{kind:"end",node:be},end:{kind:"after",node:be}});for(let Ce of se)if(Ce.start.kind==="text"&&Ce.s<j&&j<Ce.e)return{kind:"text",node:Ce.start.node,offset:j-Ce.s};if(Y!=="empty"){let Ce=se.find(be=>Y==="start"?be.s===j:be.e===j);if(Ce)return Y==="start"?Ce.start:Ce.end}let je=se.find(Ce=>Ce.e===j);if(je)return je.end;let Z=se.find(Ce=>Ce.s===j);if(Z)return Z.start;let Ie=null,He=null;for(let Ce of se)Ce.e<=j&&(!Ie||Ce.e>Ie.e)&&(Ie=Ce),Ce.s>=j&&(!He||Ce.s<He.s)&&(He=Ce);return Ie?Ie.end:He?He.start:J()},wt=(A,j)=>{if(!j)return null;if(j.kind==="text"){let se=A.nodes.find(je=>je.node===j.node);return se?se.s+Math.min(j.offset,se.e-se.s):null}let Y=A.atoms.find(se=>se.el===j.node);if(Y)return j.kind==="after"?Y.i+1:Y.i;let J=A.marks.find(se=>se.el===j.node);return J?j.kind==="before"&&J.block&&A.text[J.from-1]===yt&&!A.marks.some(se=>se.block&&se.to===J.from)?J.from-1:j.kind==="startOf"||j.kind==="before"?J.from:j.kind==="end"&&J.block?J.to-1:J.to:null},dt=(A,j,Y,J)=>{for(let Ie of A.nodes)if(Y==="start"?Ie.s<=j&&j<Ie.e:Ie.s<j&&j<=Ie.e)return{kind:"text",node:Ie.node,offset:j-Ie.s};let se=Y==="start"?j:j-1;if(!A.atomAt.has(se)&&A.text[se]!==yt){for(let Ie of A.nodes)if(Ie.s===j||Ie.e===j)return{kind:"text",node:Ie.node,offset:j-Ie.s}}let je=A.atomAt.get(se);if(je)return{kind:Y==="start"?"before":"after",node:je.el};if(A.text[se]===yt){let Ie=A.marks.find(Ce=>Ce.block&&Ce.to===se+1);if(Ie)return Y==="start"?{kind:"end",node:Ie.el}:{kind:"after",node:Ie.el};let He=A.marks.find(Ce=>Ce.block&&Ce.from===se+1);if(He)return Y==="start"?{kind:"before",node:He.el}:{kind:"startOf",node:He.el}}let Z=A.marks.find(Ie=>Ie.block&&Ie.from===j);return Z?{kind:"startOf",node:Z.el}:J?{kind:Y==="start"?"startOf":"end",node:J}:null},gt=A=>{if(!A)return null;if(A.kind==="wholeStart"||A.kind==="wholeEnd"){let j=zt(A.node);return A.kind==="wholeStart"?j.start:j.end}return Qe(c.out,A)},zt=A=>{let j=A.firstChild,Y=A.lastChild;return j&&j.nodeType===3&&Y.nodeType===3?{start:_(c.out.pathOf(j),0),end:_(c.out.pathOf(Y),Y.nodeValue.length)}:{start:_(c.out.pathOf(A),0),end:_(c.out.pathOf(A),A.childNodes.length)}},_t=A=>{let j=z(A,"base"),Y=j?L(D(j))[0]:null;if(!Y)return null;let J=An(Y),se=n(j);for(let je=se.indexOf(A)-1;je>=0;je--){let Z=L(D(se[je])).filter(Ie=>Ie.parentNode===J);if(Z.length)return{kind:"after",node:Z[Z.length-1]}}return{kind:"startOf",node:Y}},Ht=(A,j,Y,J,se,je)=>({text:A,start:j,end:Y,fragment:J,span:se,scope:je}),Bt=(A,j,Y,J,se)=>Ht(A,j,Y,A.slice(j,Y),J,se),an=(A,j,Y,J,se)=>(S.spans.set(A,{start:j,end:Y,scopeStart:J,scopeEnd:se}),A),Kt=new Map,$t=new Map,F=(A,j,Y)=>{let J=`text:${A.key}:${j}:${Y}`,se=$t.get(J)||0;return $t.set(J,se+1),`${J}:${se}`},le=(A,j)=>{let Y,J,se,je="plain",Z,Ie,He,Ce,be,H=(pe,ce,xe,ne,$)=>{if(!pe){let fe=ee($,ne);return Bt("",0,0,{start:fe,end:fe},{start:fe,end:fe})}return Bt(pe.value,ce,xe,{start:Pe(pe,ce,ce===xe?"end":"start",ne),end:Pe(pe,xe,"end",ne)},{start:Pe(pe,0,"start",ne),end:Pe(pe,pe.value.length,"end",ne)})};if(j.site==="run"){let{bRun:pe,lRun:ce,rRun:xe,node:ne,c:$}=j;Y=D(pe),J=$.bs,se=$.be,Z=H(pe,$.bs,$.be,"base",pe),Ie=H(ce,$.ls,$.le,"local",pe),He=H(xe,$.rs,$.re,"remote",pe);let fe=ne?ne.nodeValue:"",Ee=Re=>ne?{kind:"text",node:ne,offset:Re}:_t(pe);Ce=an(Bt(fe,$.ms,$.me,{start:gt(Ee($.ms)),end:gt(Ee($.me))},{start:gt(Ee(0)),end:gt(Ee(fe.length))}),Ee($.ms),Ee($.me),Ee(0),Ee(fe.length)),be=ne||(_t(pe)||{}).node||null}else if(j.site==="whole"){let pe=j.el,ce=s.get(pe);Y=D(ce.base),J=0,se=A.base.length;let xe=($,fe,Ee)=>{let Re=Ke(fe,Ee);return Bt($,0,$.length,Re,Re)};Z=xe(A.base,ce.base,"base"),Ie=xe(A.local,ce.local,"local"),He=xe(A.remote,ce.remote,"remote");let ne=zt(pe);Ce=an(Bt(A.resolved,0,A.resolved.length,ne,ne),{kind:"wholeStart",node:pe},{kind:"wholeEnd",node:pe},{kind:"wholeStart",node:pe},{kind:"wholeEnd",node:pe}),be=pe}else if(j.site==="comment"){let{bRun:pe,lRun:ce,rRun:xe,node:ne}=j;Y=D(pe),J=0,se=A.base.length;let $=(Ve,Oe)=>{if(!Ve){let T=ee(pe,Oe);return Bt("",0,0,{start:T,end:T},{start:T,end:T})}let $e=Ve.nodes[0],tt={start:_(c[Oe].pathOf($e),0),end:_(c[Oe].pathOf($e),Ve.value.length)};return Bt(Ve.value,0,Ve.value.length,tt,tt)};Z=$(pe,"base"),Ie=$(ce,"local"),He=$(xe,"remote");let fe=A.resolved,Ee=Ve=>ne?{kind:"text",node:ne,offset:Ve}:_t(pe),Re={start:gt(Ee(0)),end:gt(Ee(fe.length))};Ce=an(Bt(fe,0,fe.length,Re,Re),Ee(0),Ee(fe.length),Ee(0),Ee(fe.length)),be=ne||(_t(pe)||{}).node||null}else{let{fb:pe,fl:ce,fr:xe,scope:ne}=j,$=j.merged;je="html",Y=ne.base?D(ne.base):B(ne.local,"local"),J=A.bs,se=A.be;let fe=Ue=>{let _e=ne[Ue];for(let Ge=ne.at-1;Ge>=0;Ge--){let et=ne.units[Ge],Mt=Ue==="base"?et:p(h(Ue),et);if(Mt&&z(Mt,Ue)===_e)return Mt}return null},Ee=Ue=>()=>oe(ne[Ue],fe(Ue),Ue),Re=(Ue,_e,Ge,et,Mt)=>{let kt=Gt=>Gt?Qe(c[Mt],Gt):Ee(Mt)(),Jt=_e===Ge?ot(Ue,_e):Ne(Ue,_e,"start"),Ot=_e===Ge?ot(Ue,_e):Ne(Ue,Ge,"end"),pt=kt(Jt),bt={start:pt,end:_e===Ge?pt:kt(Ot)},mt=j.full?j.full(Mt):null;if(!mt)return Ht(Ue.text,_e,Ge,et,bt,{start:kt(Ne(Ue,0,"start")),end:kt(Ne(Ue,Ue.text.length,"end"))});let Ct=Jt?wt(mt,Jt):null,at=Ot?wt(mt,Ot):null,Vt=Ct===null?0:Ct,St=Math.max(Vt,at===null?mt.text.length:at),cn=kt(Ne(mt,0,"start"));return Ht(mt.text,Vt,St,so(mt,Vt,St),bt,{start:cn,end:mt.text.length?kt(Ne(mt,mt.text.length,"end")):cn})};Z=j.synthetic?null:Re(pe,A.bs,A.be,A.base,"base"),Ie=Re(ce,A.lss,A.lse,A.local,"local"),He=Re(xe,A.rss,A.rse,A.remote,"remote");let[Ve,Oe]=A.range||[0,0],$e=$.out,tt=()=>{let Ue=An($.node);for(let _e=ne.at-1;_e>=0;_e--){let Ge=L(D(ne.units[_e])).filter(et=>et.parentNode===Ue);if(Ge.length)return{kind:"after",node:Ge[Ge.length-1]}}for(let _e=ne.at;_e<ne.units.length;_e++){let Ge=L(D(ne.units[_e])).filter(et=>et.parentNode===Ue);if(Ge.length)return{kind:"before",node:Ge[0]}}return{kind:"startOf",node:$.node}};if($e.via)for(let[Ue,_e]of $e.via)R.set(Ue,_e);let T=Xe($,Ve,Ve===Oe?"empty":"start",tt),q=Ve===Oe?T:Xe($,Oe,"end",tt),Q=$e.text.length?dt($e,0,"start",$.node):tt(),we=$e.text.length?dt($e,$e.text.length,"end",$.node):Q,ue=wt($e,T),ie=wt($e,q),ae=ue===null?0:ue,De=Math.max(ae,ie===null?$e.text.length:ie);Ce=an(Ht($e.text,ae,De,so($e,ae,De),{start:gt(T),end:gt(q)},{start:gt(Q),end:gt(we)}),T,q,Q,we);let qe=S.spans.get(Ce);if(qe.flat=$e,!$e.text.length){let Ue=gt(Q),_e=Yn(w,Ue),Ge=_e[0],et=_e[1];qe.empty={parent:Ge.nodeType===11?g.get(Ge):Ge,previous:Ge.childNodes[et-1]||null,next:Ge.childNodes[et]||null}}be=T?T.node:$.node}let G=Me(Y),de=(j.site==="whole"||j.site==="comment"||(j.policy||d)!=="both")&&A.resolved!==A.local;return{key:j.site==="comment"&&Kt.get(Y.b||Y.l||Y.r)||F(G,J,se),subject:G,localLost:de,anchor:be,text:{encoding:je,base:Z,local:Ie,remote:He,merged:Ce,liveSpan:null,liveScope:null}}},ge=(A,j)=>{let Y=k(j.el),J=Me(Y),se=j.sample;return{key:`attr:${J.key}:${se.namespaceURI||""}:${se.localName}`,subject:J,localLost:A.resolved!==A.local,anchor:j.el,attribute:{namespaceURI:se.namespaceURI||null,localName:se.localName,qualifiedName:se.name}}},me=(A,j)=>{let Y=A.detail,J=j.unit||D(j.subject),se=Me(J),je=S.refs.get(se),Z=J.l?ve(J.l,"local"):null,Ie=J.r?ve(J.r,"remote"):null,He=je.length?ze(je[0]):null,Ce,be,H,G=null,de=null,pe=j.deleted;switch(Y){case"both-reordered":{Ce=be="reordered";let ce=new Set(j.rKept),xe=j.lKept.filter(Re=>ce.has(Re)&&L(D(Re)).length),ne=Re=>C.get(L(D(Re))[0]);G=xe.map(Re=>Me(D(Re))),de=xe.slice().sort((Re,Ve)=>ne(Re)-ne(Ve)).map(Re=>Me(D(Re)));let $=Re=>!ln(Re)&&Re.kind!=="comment"&&Re.nodes.every(Ve=>!/[^\t\n\f\r ]/.test(Ve.data)),fe=xe.filter(Re=>!$(Re)),Ee=fe.slice().sort((Re,Ve)=>ne(Re)-ne(Ve));H=fe.some((Re,Ve)=>Re!==Ee[Ve]);break}case"both-moved":Ce=be="moved",H=!Z||!je.some(ce=>{let xe=ce===je[0]?He:ze(ce);return xe&&xe.parent===Z.parent});break;case"edit-beats-delete":Ce=pe==="local"?"deleted":"edited",be=pe==="remote"?"deleted":"edited",H=pe==="local";break;case"move-beats-delete":Ce=pe==="local"?"deleted":"moved",be=pe==="remote"?"deleted":"moved",H=pe==="local";break;case"remote-wins":Ce="edited",be="edited",H=!0;break;default:Ce=be="inserted",H=j.localLost}return{key:`structure:${se.key}:${Y}`,subject:se,localLost:H,anchor:je[0]||null,structure:{localAction:Ce,remoteAction:be,localPlacement:Z,remotePlacement:Ie,mergedPlacement:He,localOrder:G,mergedOrder:de,localFragment:Y==="both-reordered"||!J.l?null:re(J.l),fragmentKind:b(J.b||J.l||J.r)}}};for(let[A,j]of l){if(A.kind!=="structure")continue;let Y=j.unit||D(j.subject),J=Y.b||Y.l||Y.r;!ln(J)&&J.kind==="comment"&&Kt.set(J,`structure:${Me(Y).key}:${A.detail}`)}let Te=new Map;for(let[A,j]of l){if(A.kind==="structure"){let je=Me(j.unit||D(j.subject)),Z=`structure:${je.key}:${A.detail}`,Ie=Te.get(Z);if(Ie&&Ie.structure){A.recovery=Ie;let He=S.refs.get(je);A.el==null&&He.length&&(A.el=ln(He[0])?He[0]:c.out.logicalParent(He[0]));continue}}let Y=A.kind==="text"?le(A,j):A.kind==="attr"?ge(A,j):me(A,j),J=Te.get(Y.key);J||(J={version:Wi,key:Y.key,localLost:Y.localLost,subject:Y.subject,applied:!1,unavailable:null},Te.set(Y.key,J),S.anchors.set(J,Y.anchor)),Y.text&&(J.text=Y.text),Y.attribute&&(J.attribute=Y.attribute),Y.structure&&(J.structure=Y.structure),Y.text&&(J.localLost=Y.localLost),A.recovery=J;let se=S.refs.get(Y.subject);A.kind==="structure"&&A.el==null&&se.length&&(A.el=ln(se[0])?se[0]:c.out.logicalParent(se[0])),A.kind==="text"&&A.node==null&&se.length&&Y.subject.nodeType===8&&(A.node=se[0])}return S}}function dr(e,o,t){if(!o)return;let{lookup:n,vetoed:s,vetoedAttrs:d,liveAttr:l}=t,r=t.ignored||(()=>!1),i=Jn(t.liveRoot),u=x=>!!x&&i.containerPath(x)!==null,w=x=>{let k=x.parentNode;return k&&k.nodeType===11?o.outOwners.get(k)||null:k},c=x=>{for(let k=x;k;k=w(k))if(o.via.has(k)&&(k=o.via.get(k)),s.has(k)||t.vetoedLive?.has(f(k)))return!0;return!1},h=x=>Array.from(An(x).children).filter(k=>!r(k)),p=(x,k)=>h(x)[h(k.parentNode).indexOf(k)],y=(x,k)=>{let z=null,U=null,K=0;for(let te=k.previousSibling;te;te=te.previousSibling){if(te.nodeType===1&&!r(te)){z=te;break}te.nodeType===3&&(K+=te.nodeValue.length)}for(let te=k.nextSibling;te&&!U;te=te.nextSibling)te.nodeType===1&&!r(te)&&(U=te);let Ae=z?p(x,z):null,Me=U?p(x,U):null;if(z&&!Ae||U&&!Me)return null;let Be=[];for(let te=Ae?Ae.nextSibling:An(x).firstChild;te&&te!==Me;te=te.nextSibling)te.nodeType===3&&Be.push(te);return Be.length?{nodes:Be,lead:K}:null},C=x=>{let k=[],z=x;for(;z&&!o.via.has(z);z=z.parentNode)k.push(z);if(!z||!k.length)return null;let U=f(o.via.get(z));for(let Me=k.length-1;Me>0&&U;Me--)U=p(U,k[Me]);if(!U)return null;let K=k[0];if(K.nodeType===3)return y(U,K);let Ae=K.nodeType===1?p(U,K):null;return Ae?{nodes:[Ae],lead:0}:null},g=x=>{let k=n(x),z=k?{nodes:Array.isArray(k)?k:[k],lead:0}:o.via.size?C(x):null;if(!z)return null;let U=z.nodes.filter(u);return U.length?{nodes:U,lead:z.lead}:null},f=x=>{let k=g(x);return k?k.nodes[0]:null},m=x=>{if(!x)return null;if(x.kind==="text"){let K=g(x.node);if(!K)return null;let Ae=K.nodes,Me=x.offset+K.lead,Be=0;for(let te=0;te<Ae.length;te++){let ve=Ae[te].nodeValue.length;if(Me<=Be+ve||te===Ae.length-1)return Me>=Be&&Me<=Be+ve?[Ae[te],Me-Be]:null;Be+=ve}return null}let k=f(x.node);if(!k)return null;if(x.kind==="end")return[An(k),An(k).childNodes.length];if(x.kind==="startOf")return[An(k),0];if(x.kind==="wholeStart")return k.firstChild?[k.firstChild,0]:[k,0];if(x.kind==="wholeEnd")return k.lastChild?[k.lastChild,k.lastChild.nodeValue.length]:[k,k.childNodes.length];let z=k.parentNode;if(!z)return null;let U=Array.prototype.indexOf.call(z.childNodes,k);return[z,x.kind==="after"?U+1:U]},R=x=>({blocks:new Set((x.flat?.marks||[]).filter(k=>k.block).map(k=>f(k.el)).filter(Boolean)),atoms:new Set((x.flat?.atoms||[]).map(k=>f(k.el)).filter(Boolean)),ignored:r}),S=(x,k,z,U)=>{if(!x||!k||!Xn(x)||!Xn(k))return!1;for(let Me of[x,k])if(!u(Me.startContainer)||!u(Me.endContainer))return!1;let K=z.merged;if(K.start===K.end&&(x.startContainer!==x.endContainer||x.startOffset!==x.endOffset))return!1;let Ae=R(U);return qn(k,z.encoding,Ae)===K.text&&qn(x,z.encoding,Ae)===K.text.slice(K.start,K.end)},O=new Map,E=x=>{let k=x.parentNode;return k?(O.has(k)||O.set(k,new Map(Array.from(k.childNodes,(z,U)=>[z,U]))),O.get(k).get(x)):-1},P=(x,k)=>{if(!k)return!1;let z=i.logicalParent(x);if(!k.parent.live.includes(z))return!1;let U=E(x);for(let[K,Ae]of[["before",1],["after",-1]]){let Me=U;for(let Be of k[K]){if(Be.live.includes(x))continue;let te=Be.live.filter(ze=>ze!==x&&ze.parentNode===x.parentNode);if(!te.length)continue;let ve=Ae===1?Math.min(...te.map(E)):Math.max(...te.map(E));if(Ae*(ve-Me)<=0)return!1;Me=ve}}return!0},v=x=>{let k=x.structure;if(k.mergedOrder){let z=new Set(x.subject.live.map(An)),U=null,K=-1;for(let Ae of k.mergedOrder){let Me=Ae.live.find(Be=>z.has(Be.parentNode));if(!Me||U&&Me.parentNode!==U||E(Me)<=K)return!1;U=Me.parentNode,K=E(Me)}return x.subject.live.length>0}return x.subject.live.some(z=>P(z,k.mergedPlacement))},N=(x,k)=>{let z=m(x),U=m(k);return z&&U?{startContainer:z[0],startOffset:z[1],endContainer:U[0],endOffset:U[1]}:null},L=new Set,D=x=>{if(!x||L.has(x))return;L.add(x);let k=[];for(let z of o.refs.get(x)||[]){let U=g(z);if(U)for(let K of U.nodes)k.includes(K)||k.push(K)}x.live=k},B=x=>{x&&(D(x.parent),x.before.forEach(D),x.after.forEach(D))},M=new Set;for(let x of e){let k=x.recovery;if(!k||M.has(k))continue;M.add(k),D(k.subject),k.structure&&(B(k.structure.localPlacement),B(k.structure.remotePlacement),B(k.structure.mergedPlacement),(k.structure.localOrder||[]).forEach(D),(k.structure.mergedOrder||[]).forEach(D));let z=o.anchors.get(k),U=z?f(z):null,K=!!U;if(k.text){let b=o.spans.get(k.text.merged),_=b?N(b.start,b.end):null,oe=b?N(b.scopeStart,b.scopeEnd):null;if(b?.empty){let ee=b.empty,Pe=ee.previous?{kind:"after",node:ee.previous}:{kind:"startOf",node:ee.parent},Ke=ee.next?{kind:"before",node:ee.next}:{kind:"end",node:ee.parent},Ne=N(Pe,Ke);!Ne||Ne.startContainer!==Ne.endContainer||Ne.startOffset!==Ne.endOffset?_=null:_=oe=Ne}S(_,oe,k.text,b)||(_=oe=null),k.text.liveSpan=_,k.text.liveScope=_?oe:null,_||(K=!1)}k.structure&&K&&(K=v(k)),k.attribute&&K&&(K=l(U,k.attribute,x.resolved));let Ae=(!!k.attribute||!!k.text&&U?.tagName==="TEXTAREA")&&!!d&&[z,U].some(b=>d.get(b)?.has(k.attribute?k.attribute.qualifiedName:"value")),Me=o.localState?.states.get(k),Be=!!k.text&&[...t.removedVetoes||[]].some(b=>Me?.touched.has(b)),te=k.structure?.localAction==="inserted"&&[...s].some(b=>b===z||z?.contains(b)),ve=z&&c(z)||Ae||Be||te,ze=ve&&fr(k,x,o,u);ze&&(Be||te&&k.localLost)&&(K=!1);let re=!K&&ze&&ve;k.applied=K,k.unavailable=K?null:re?"hook-veto":"missing-output",re&&(k.localLost=!1),!K&&k.text&&(k.text.liveSpan=k.text.liveScope=null)}}function Ko(e,o,t){let n=Jn(o),s=Jn(t),d=c=>!!c&&s.containerPath(c)!==null,l=c=>{if(c===o)return t;let h=n.pathOf(c);if(h&&o!==t){let p=Yn(t,{path:h,offset:0});if(p&&p[0].nodeType===c.nodeType)return p[0]}return c},r=new Set,i=c=>{!c||r.has(c)||(r.add(c),c.live=c.live.map(l).filter(d))},u=c=>{c&&(c.startContainer=l(c.startContainer),c.endContainer=l(c.endContainer))},w=new Set;for(let c of e){c.node===o&&t.tagName==="SCRIPT"&&(c.node=t),c.el===o&&c.kind==="structure"&&(c.el=t);let h=c.recovery;if(!h||w.has(h))continue;if(w.add(h),i(h.subject),h.text){u(h.text.liveSpan),u(h.text.liveScope);let y=h.text.liveSpan,C=h.text.liveScope,g=h.text.merged,f=m=>!!m&&Xn(m)&&d(m.startContainer)&&d(m.endContainer);(!f(y)||!f(C)||qn(C,h.text.encoding)!==g.text||qn(y,h.text.encoding)!==g.text.slice(g.start,g.end))&&(h.text.liveSpan=null,h.text.liveScope=null,h.applied=!1,h.unavailable="missing-output")}let p=h.structure;if(p){for(let y of[p.localPlacement,p.remotePlacement,p.mergedPlacement])y&&(i(y.parent),y.before.forEach(i),y.after.forEach(i));(p.localOrder||[]).forEach(i),(p.mergedOrder||[]).forEach(i),h.subject.live.length||(h.applied=!1,h.unavailable="missing-output")}}}var co=e=>e?.nodeType===1,To=e=>e?.tagName==="TEMPLATE"&&e.content?e.content:e;function Ki({provenance:e,parentOf:o,twins:t,baseOf:n,build:s,ignored:d,remoteWins:l,discarded:r}){let i=new Map,u=new WeakMap;function w(p,y,C,g=!1){if(!co(p)||!co(C))return null;let f=i.get(p);if(f)(g||!f.selected&&y==="remote")&&(f.parent=o(C),f.port=C,f.sourceSide=y,f.selected=g);else{let m=u.get(p)||null;f={owner:p,parent:o(C),port:C,sourceSide:y,originalParent:o(p),originalPort:p,selected:g,state:m?"built":"planned",output:m,disposition:null},i.set(p,f)}return f}function c(p,y){if(!co(p)||!co(y))return;u.has(p)||u.set(p,y);let C=i.get(p);C&&C.state!=="attached"&&!C.output&&(C.output=y,C.state="built")}function h(p){if(!i.size)return;let y=new Map,C=new WeakMap,g=new WeakMap,f=new WeakSet,m=new Set,R=(B,M)=>{if(!B)return;if(Array.isArray(B)){for(let k of B)R(k,M);return}let x=y.get(B);x||y.set(B,x=[]),x.push(M)},S=(B,M)=>{if(!B)return;let x=[B];for(;x.length;){let k=x.pop();R(k,M);for(let z of To(k).childNodes)x.push(z)}};function O(B,M=null,x=!1){if(f.has(B))return;f.add(B),C.set(B,M);let k=e.get(B),z=x||!!(k&&l(k.remote||k.base));g.set(B,z);let U={node:B,kind:"node",authority:z};if(k?.pinned)S(k.local,{...U,kind:"ignored"});else if(k?.unchanged)for(let K of[k.base,k.local,k.remote])S(K,{...U,kind:"unchanged"});else if(k){for(let K of[k.base,k.local,k.remote])R(K,U);if(co(k.local))for(let K of To(k.local).children)d(K)&&S(K,{...U,kind:"ignored"})}for(let K of To(B).childNodes)O(K,B,z)}let E=B=>{if(B.output&&f.has(B.output))return B.state="attached",B.disposition="node",!0;let{local:M,remote:x}=t(B.owner);for(let k of[B.owner,M,x]){let z=y.get(k);if(z?.length){let U=z.find(K=>K.kind==="node")||z[0];return B.output=U.node,B.state="attached",B.disposition=U.kind,!0}}return!1},P=(B,M)=>(y.get(B)||[]).find(k=>k.kind==="node"&&co(k.node)&&(!k.authority||M.sourceSide==="remote"))?.node,v=(B,M,x)=>{let k=y.get(B)||[],z=x?[...k].reverse():k;for(let U of z){if(U.kind!=="node")continue;let K=U.node;for(;K&&C.get(K)!==M;)K=C.get(K);if(K)return K}return null},N=(B,M,x)=>{let k=To(M);for(let z=x?.previousSibling;z;z=z.previousSibling){let U=v(z,M,!0);if(U){k.insertBefore(B,U.nextSibling);return}}for(let z=x?.nextSibling;z;z=z.nextSibling){let U=v(z,M,!1);if(U){k.insertBefore(B,U);return}}k.appendChild(B)};function L(B,M,x){let k=M==="base"?B:n(B,M),z=i.get(k);z&&z!==x&&D(z)}function D(B){if(B.state==="attached"||B.disposition==="remote-wins"||m.has(B)||E(B))return;m.add(B);let{local:M,remote:x}=t(B.owner);if(l(x||B.owner)){if(!x){B.disposition="remote-wins",r(B.owner,M),m.delete(B);return}B.parent=o(x),B.port=x,B.sourceSide="remote"}if(L(B.parent,B.sourceSide,B),E(B)){m.delete(B);return}let k=P(B.parent,B),z=B.port;if(!k){if(L(B.originalParent,"base",B),E(B)){m.delete(B);return}let K=B.originalParent;for(z=B.originalPort;K&&!k;)k=P(K,B),k||(z=K,K=o(K))}if(!k)throw new Error("A planned move has no allowed surviving parent");let U=B.output||s(B.owner);B.output=U,B.state="built",N(U,k,z),O(U,k,g.get(k)||!1),E(B),m.delete(B)}O(p);for(let B of i.values())D(B)}return{planned:i,has:p=>i.has(p),plan:w,produced:c,drain:h}}function fo(e,o,t,n,s,d,l,r,i,u,w,c,h){let p=null;return Ki({provenance:e,parentOf:g=>{if(!g)return null;let f=o(g);if(f||g.parentNode?.nodeType!==11)return f;if(!p){p=new WeakMap;let m=[c,h];for(;m.length;){let R=m.pop(),S=To(R);S!==R&&p.set(S,R);for(let O of S.children)m.push(O)}}return p.get(g.parentNode)||null},twins:g=>({local:s(t,g),remote:s(n,g)}),baseOf:(g,f)=>g&&(f==="local"?t:n).reverse.get(g)||null,build:g=>d(g,s(t,g),s(n,g),!1),ignored:l,remoteWins:r,discarded:(g,f)=>{f&&w(g,f,t)&&!i.some(m=>m.detail==="remote-wins"&&m.base===g)&&u({kind:"structure",el:null,detail:"remote-wins",base:g,local:f,remote:null},{subject:g})}})}function Fi({parent:e,base:o,views:t,eligible:n,ignored:s,remoteWins:d,budget:l=qt(2e4*32),maxUnits:r=256,maxCharacters:i=2e4}){let u=(f,m=null)=>({status:f,reason:m,parent:e,records:[]});if(t.some(({V:f})=>f.asBase)||s(e)||d(e)||t.some(({V:f})=>!f.el||s(f.el)||d(f.el)))return u("none");let w=o.length+t[0].V.units.length+t[1].V.units.length;if(w>r)return u("fallback","unit-limit");let c=Symbol(),h=f=>{if(f>l.remaining)throw c;l.remaining-=f,l.crossParentSteps=(l.crossParentSteps||0)+f},p=new Map,y=0,C=f=>{if(h(1),p.has(f))return p.get(f);let m=f.nodeType===1?f.childNodes:f.nodes;h(m.length*4+1);let R=f.nodeType===1?Array.from(m):m,S=0;for(let P=0;P<R.length;P++){let v=R[P];if(v.nodeType!==3||P&&R[P-1].nextSibling!==v)return p.set(f,null),null;S+=v.data.length}if(S>i-y)throw c;h(S*8+1),y+=S;let O=en(R);if(O.text.includes(yt))return p.set(f,null),null;let E={unit:f,nodes:R,flat:O};return p.set(f,E),E},g=[];try{h(w*8+1);for(let f=0;f<2;f++){let m=t[f].V,R=t[1-f].V,S=[],O=new Map;for(let E=0;E<o.length;E++){h(1);let P=o[E];if(P.kind!=="text"||m.twin(P))continue;let v=R.twin(P);if(!v||v.kind!=="text"||!R.here(v))continue;let N=C(P),L=C(v);if(!N||!L||!/\S/.test(N.flat.text))continue;h(N.flat.text.length*2+1);let D=N.flat.text;O.set(D,(O.get(D)||0)+1),S.push({source:P,opposite:v,sourceModel:N,oppositeModel:L,index:E})}for(let E of S){let{source:P,opposite:v,sourceModel:N,oppositeModel:L,index:D}=E,B=[];for(let _ of[-1,1]){h(1);let oe=o[D+_];if(!oe||oe.nodeType!==1||!n(oe)||s(oe)||d(oe))continue;let ee=N.nodes[0],Pe=N.nodes.at(-1);if(_===-1?ee?.previousSibling!==oe:Pe?.nextSibling!==oe)continue;let Ke=m.twin(oe),Ne=R.twin(oe);if(!Ke||!Ne||!m.here(Ke)||R.here(Ne)||m.baseOf(Ke)!==oe||R.baseOf(Ne)!==oe||!n(Ke)||!n(Ne)||s(Ke)||s(Ne)||d(Ke)||d(Ne)||Ke.tagName!==oe.tagName||Ne.tagName!==oe.tagName||Ke.namespaceURI!==oe.namespaceURI||Ne.namespaceURI!==oe.namespaceURI)continue;let ot=C(oe),Qe=C(Ke),Ze=C(Ne);if(!ot||!Qe||!Ze||!/\S/.test(ot.flat.text))continue;let Xe=ot.flat.text,wt=N.flat.text,dt=Qe.flat.text;if(h((Xe.length+wt.length+dt.length)*3+1),dt.length!==Xe.length+wt.length)continue;let gt=_===-1;(gt?!dt.startsWith(Xe)||!dt.endsWith(wt):!dt.startsWith(wt)||!dt.endsWith(Xe))||B.push({owner:oe,target:Ke,moved:Ne,ownerBase:ot,joined:Qe,ownerOther:Ze,targetFrom:gt?Xe.length:0,retainedFrom:gt?0:wt.length})}if(!B.length)continue;if(B.length!==1||O.get(N.flat.text)!==1)return u("fallback","ambiguous-origin");let M=B[0],{owner:x,target:k,moved:z,ownerBase:U,joined:K,ownerOther:Ae,targetFrom:Me,retainedFrom:Be}=M;if(h(g.length+1),g.some(_=>_.owner===x))return u("fallback","ambiguous-owner");let te={source:P,target:k,from:0,to:N.flat.text.length,targetFrom:Me},ve=Ln({base:N.flat,side:K.flat,retained:[],transfers:[{from:te.from,to:te.to,target:Me,destination:x}],budget:l});if(ve.status!=="ready"||ve.covers(te.from,te.to)!==!0)return u("fallback",ve.reason||"work-limit");let ze=[{unit:P,model:N,from:0,to:N.flat.text.length},null,null];ze[f+1]={unit:k,model:K,from:Me,to:Me+N.flat.text.length},ze[2-f]={unit:v,model:L,from:0,to:L.flat.text.length};let re=[U,null,null];re[f+1]=K,re[2-f]=Ae;let b=[x,null,null];b[f+1]=k,b[2-f]=z,g.push({side:f,parent:e,source:P,target:k,owner:x,owners:b,ownerModels:re,native:ze,models:p,runs:[te],proof:ve,retained:[{source:x,target:k,from:0,to:U.flat.text.length,targetFrom:Be}]})}}return g.length?{status:"ready",reason:null,parent:e,records:g}:u("none")}catch(f){if(f!==c)throw f;return u("fallback","work-limit")}}function hr({describe:e,parentOf:o,...t}){let n=new WeakMap,s=new WeakMap,d=t.budget||qt(2e4*32),l=r=>{if(!r)return null;if(n.has(r))return n.get(r);n.set(r,{status:"planning",parent:r,records:[]});let i=e(r),u=i?Fi({...t,...i,parent:r,budget:d}):{status:"none",reason:null,parent:r,records:[]};if(n.set(r,u),u.status==="ready")for(let w of u.records)s.set(w.owner,[w]);return u};return{get:l,forOwner(r){return l(o(r))?.status==="ready"&&s.get(r)||null}}}function _i(e,o){if(e.side!==0)return null;let t=e.native[0].model,n=e.ownerModels[0],s=e.native[1].from!==0,d=(R,S)=>s?[...R.nodes,...S.nodes]:[...S.nodes,...R.nodes],l=e.ownerModels.reduce((R,S)=>R+S.flat.text.length,0)+t.flat.text.length+e.native[2].model.flat.text.length;if(l*8>o.remaining)return null;o.remaining-=l*8;let r={base:d(n,t),local:e.ownerModels[1].nodes,remote:d(e.ownerModels[2],e.native[2].model)},i=en(r.base),u=e.ownerModels[1].flat,w=en(r.remote),c=s?n.flat.text.length:0,h=s?0:t.flat.text.length,p=Ln({base:i,side:u,retained:e.retained.map(R=>({from:h+R.from,to:h+R.to,target:R.targetFrom})),transfers:e.runs.map(R=>({from:c+R.from,to:c+R.to,target:R.targetFrom,destination:e.owner})),budget:o});if(p.status!=="ready"||p.covers(0,i.text.length)!==!0)return null;let y=e.ownerModels[2].flat,C=e.native[2].model.flat,g=[];for(let[R,S,O,E]of[[n.flat,y,h,s?0:C.text.length],[t.flat,C,c,s?y.text.length:0]]){let P=ds(R,R,S).remoteMap.bTo,v=-1;for(let N=0;N<R.text.length;N++){if(P[N]<0){v=-1;continue}let L=g.at(-1);v>=0&&L.to===O+N&&L.target+L.to-L.from===E+P[N]?L.to++:(g.push({from:O+N,to:O+N+1,target:E+P[N]}),v=N)}}let f=Ln({base:i,side:w,retained:g,transfers:[],budget:o});if(f.status!=="ready")return null;let m=ds(i,u,w,{},{local:p,remote:f});return m.localEdits.hunks.length?null:(m.localMap=p,m.remoteMap=f,{nodes:r,prepared:m})}function pr({L:e,R:o,twinIn:t,unitsOf:n,view:s,parentOf:d,ignored:l,remoteWins:r,eligible:i,build:u,out:w,policy:c,provenance:h,textMappers:p,segments:y,conflicts:C,conflict:g,decisions:f}){let m=qt(2e4*32),R=B=>{let M=0;for(let x=B;x;x=d(x))if(++M>64||x.nodeType===1&&(l(x)||r(x)))return!1;return!0},S=hr({parentOf:d,eligible:i,ignored:l,remoteWins:r,budget:m,describe(B){let M=t(e,B),x=t(o,B);return!M||!x||!R(B)||!R(M)||!R(x)?null:{base:n(B),views:[{A:e,V:s(e,M,B,!1)},{A:o,V:s(o,x,B,!1)}]}}}),O=new WeakSet,E=new WeakMap,P=new WeakSet,v=[];function N(B){if(!B||O.has(B))return;O.add(B);let M=S.get(B);if(M?.status==="ready")for(let x of M.records){if((B.tagName==="TEMPLATE"&&B.content?B.content:B).childNodes.length!==x.native[0].model.nodes.length+1||!x.owners.every(R))continue;let z=_i(x,m);if(!z)continue;let U={record:x,payload:z,state:"planned",output:null,result:null};E.set(x.owner,U),P.add(x.source),P.add(x.native[2].unit),v.push(U)}}function L(B,M){let x=E.get(B);if(!x)return!1;if(!x.result){if(x.result=Gn({...x.payload.nodes,prepared:x.payload.prepared,out:w,policy:c,provenance:h,textMappers:p,conflicts:C,conflict:g,decisions:f,node:M}),x.result.conflicts.length)throw new Error("Unsupported cross-parent payload conflict");y.push(...x.result.segments),x.decision={kind:"text",node:M,source:"local"},f.push(x.decision)}return x.decision.node=M,M.replaceChildren(...x.result.nodes),x.output=M,x.state="built",!0}function D(B){if(!v.length)return;let M=new WeakSet,x=new WeakMap,k=new WeakMap,z=new WeakMap,U=ve=>ve.tagName==="TEMPLATE"&&ve.content?ve.content:ve,K=(ve,ze)=>{if(!ve)return;if(Array.isArray(ve)){for(let b of ve)K(b,ze);return}let re=z.get(ve);re||z.set(ve,re=[]),re.push(ze)},Ae=(ve,ze=null,re=!1)=>{M.add(ve),x.set(ve,ze);let b=h.get(ve),_=re||!!(b&&r(b.remote||b.base));if(k.set(ve,_),b)for(let oe of[b.base,b.local,b.remote])K(oe,ve);if(!(b?.pinned||b?.unchanged))for(let oe of U(ve).childNodes)Ae(oe,ve,_)},Me=ve=>(z.get(ve)||[]).find(ze=>ze.nodeType===1&&!k.get(ze)&&!h.get(ze)?.pinned&&!h.get(ze)?.unchanged),Be=(ve,ze)=>{for(let re of z.get(ve)||[]){let b=re;for(;b&&x.get(b)!==ze;)b=x.get(b);if(b)return b}return null},te=(ve,ze,re)=>{let b=U(ze);for(let _=re.nextSibling;_;_=_.nextSibling){let oe=Be(_,ze);if(oe){b.insertBefore(ve,oe);return}}for(let _=re.previousSibling;_;_=_.previousSibling){let oe=Be(_,ze);if(oe){b.insertBefore(ve,oe.nextSibling);return}}b.appendChild(ve)};Ae(B);for(let ve of v){let{record:ze}=ve,re=Me(ze.owner)||Me(ze.owners[1])||Me(ze.owners[2]);if(re)(!ve.result||ve.output!==re||ve.result.nodes.some(b=>!M.has(b)||x.get(b)!==re)||re.textContent!==ve.result.text)&&(L(ze.owner,re),Ae(re,x.get(re),k.get(re)));else{let b=ze.parent,_=ze.owner,oe=null;for(;b&&!oe;)oe=Me(b),oe||(_=b,b=d(b));if(!oe)throw new Error("A cross-parent payload has no allowed surviving parent");re=ve.output||u(ze.owner,ze.owners[1],ze.owners[2],!1),ve.result||L(ze.owner,re),te(re,oe,_),Ae(re,oe,k.get(oe))}ve.state="attached"}}return{ensureParent:N,ensureOwner(B){N(d(B))},consumes(B){return P.has(B)},render:L,drain:D}}var Tn=/\S/,mr=/[\p{L}\p{N}]/u;function Qn(e,o,t,n){if(e?.nodeType!==1||!o(e))return!1;for(let s=e.firstChild;s;s=s.nextSibling)if(n(t,1),s.nodeType!==3)return!1;return!!e.firstChild}function gs(e,o,t){for(let n=e.parentNode;n;n=n.parentNode)if(t(o,1),n.nodeType===11)return!1;return!0}function gr(e,o,t,n,s){let d=t(e,n),l=t(o,n),r=null,i=null,u=null,w=null;s(n,d.length+l.length);for(let c of d)mr.test(c.raw)&&(r||=c,i=c);for(let c of l)mr.test(c.raw)&&(u||=c,w=c);return!!(r&&u&&(r.raw===u.raw||i.raw===w.raw))}function qi({base:e,V:o,A:t,source:n,original:s,current:d,edited:l,destination:r,at:i,ownLength:u,eligible:w,model:c,tokensOf:h,budget:p,charge:y}){let C=s.flat.text,g=d.flat.text,f=l.flat.text,m=r.flat.text;if(y(p,C.length+g.length+m.length),C.startsWith(g)||C.endsWith(g))return!1;let R=Tn.test(m.slice(0,i)),S=Tn.test(m.slice(i+u));if(R===S)return!1;let O=R?0:i+u,E=R?i:m.length;for(;O<E&&!Tn.test(m[O]);)O++;for(;E>O&&!Tn.test(m[E-1]);)E--;let P=m.slice(O,E);if(Nn(P,m,h(r,p),p,y,!0)!==O)return!1;let v=Nn(P,C,h(s,p),p,y,!0);if(v<0)return!1;let N=v+P.length,L=!Tn.test(C.slice(0,v)),D=!Tn.test(C.slice(N));if(L===D||Nn(P,g,h(d,p),p,y,!1)>=0)return!1;let B=L?C.slice(N):C.slice(0,v),M=L?f.length-B.length:0;if(y(p,C.length+f.length),M<0||!Tn.test(B)||Nn(B,f,h(l,p),p,y,!0)!==M||!Tn.test(L?f.slice(0,M):f.slice(B.length)))return!1;for(let x of e){if(y(p,1),x===n||!Qn(x,w,p,y))continue;let k=c(x,null,p);if(Nn(P,k.flat.text,h(k,p),p,y,!1)>=0)return!1}for(let x of o.units){if(y(p,1),x===d.unit||x===r.unit||!Qn(x,w,p,y))continue;let k=c(x,t,p);if(Nn(P,k.flat.text,h(k,p),p,y,!1)>=0)return!1}return!0}function br({base:e,views:o,side:t,attempt:n,eligible:s,blocked:d,baseId:l,model:r,tokensOf:i,charge:u,exhausted:w,limit:c}){if(c<=0)return null;let h=qt(c),{V:p,A:y,idOf:C}=o[t],g=o[1-t],[f,m,R,S]=n,O=null;try{for(let E=f;E<=m;E++){u(h,1);let P=e[E];if(P.parentNode?.nodeType!==1||d.has(P)||y.identical.has(P)||g.A.identical.has(P)||!Qn(P,s,h,u)||l(P))continue;let v=p.twin(P),N=g.V.twin(P);if(!v||!N||!p.here(v)||!g.V.here(N)||y.map.get(P)!==v||y.reverse.get(v)!==P||g.A.map.get(P)!==N||g.A.reverse.get(N)!==P||C(v)||g.idOf(N)||v.tagName!==P.tagName||N.tagName!==P.tagName||!Qn(v,s,h,u)||!Qn(N,s,h,u)||!gs(P,h,u)||!gs(v,h,u)||!gs(N,h,u))continue;let L=r(P,null,h),D=r(v,y,h),B=r(N,g.A,h),M=L.flat.text,x=D.flat.text,k=B.flat.text;if(u(h,M.length+x.length+k.length),!Tn.test(M)||!Tn.test(x)||!Tn.test(k)||M===x||M===k||x===k||!gr(L,D,i,h,u)||!gr(L,B,i,h,u))continue;let z=null,U=!1;for(let Me=R;Me<=S;Me++){u(h,1);let Be=p.units[Me],te=p.baseOf(Be);if(!te||te===P||d.has(te)||te.parentNode!==P.parentNode||Be.parentNode!==v.parentNode||te.tagName!==P.tagName||Be.tagName!==P.tagName||y.map.get(te)!==Be||y.reverse.get(Be)!==te||l(te)!==C(Be)||!Qn(te,s,h,u)||!Qn(Be,s,h,u))continue;let ve=r(te,null,h),ze=r(Be,y,h),re=ve.flat.text,b=ze.flat.text;if(u(h,re.length),!Tn.test(re)||b.length<=re.length)continue;let _=i(ze,h),oe=Nn(re,b,_,h,u,!0);if(!(oe<0||Nn(M,b,_,h,u,!0,oe,oe+re.length)<0&&!qi({base:e,V:p,A:y,source:P,original:L,current:D,edited:B,destination:ze,at:oe,ownLength:re.length,eligible:s,model:r,tokensOf:i,budget:h,charge:u}))){if(z){U=!0;break}z=Be}}if(!z||U)continue;let K=t===0?v:N,Ae=t===0?N:v;(O||=[]).push({source:P,local:K,remote:Ae,models:[L,t===0?D:B,t===0?B:D]})}}catch(E){if(E!==w)throw E}return O}var Bn=/\S/,hn=/\s/,zi=/[\s\u001e]/g,bs=/[^\s\p{P}\u001e\ufffc]/u;function $i(e,o,t,n,s,d,l){let r=0;for(let i of e)l(d,1),i.nodeType===1&&!n.baseOf(i)&&r++;if(r<2)return!1;for(let i of e){if(i.nodeType!==1||n.baseOf(i))continue;let u=s.get(i).flat;if(u.atoms.length||u.pins?.length)continue;l(d,u.text.length*2+o.length+t.length);let w=new Uint8Array(u.text.length);for(let c of t)c.target===i&&w.fill(1,c.targetFrom,c.targetFrom+c.to-c.from);for(let c of o)c.target===i&&w.fill(1,c.targetFrom,c.targetFrom+c.to-c.from);for(let c=0;c<u.text.length;c++)if(!w[c]&&Bn.test(u.text[c]))return!0}return!1}function Gi(e,o,t){let{source:n,models:s,retained:d,runs:l}=e,r=s.get(n).flat.text;t(o,r.length*2+d.length+l.length);let i=new Uint8Array(r.length);for(let u of d)u.source===n&&(t(o,u.to-u.from),i.fill(1,u.from,u.to));for(let u of l)t(o,u.to-u.from),i.fill(1,u.from,u.to);for(let u=0;u<r.length;u++)if(!i[u]&&Bn.test(r[u]))return!1;return!0}function Yi(e,o,t,n,s,d,l,r,i,u){let w=d.get(e),c=d.get(o),h=w.flat.text,p=l.get(e);i(u,h.length*2+t.length);let y=h.length,C=0;for(let m=0;m<h.length;m++)!hn.test(h[m])&&!p[m]&&(y=Math.min(y,m),C=m+1);if(y>=C)return null;for(let m=y;m<C;m++)if(!hn.test(h[m])&&p[m])return null;let g=-1;for(let m of t)if(m.target===o&&m.from<=y&&m.to>y){g=m.targetFrom+y-m.from;break}if(g<0)return null;let f=h.slice(y,C);if(i(u,f.length*(t.length+2)),c.flat.text.slice(g,g+f.length)!==f)return null;for(let m=y;m<C;m++){if(hn.test(h[m]))continue;let R=!1;for(let S of t)if(S.target===o&&S.from<=m&&S.to>m&&S.targetFrom+m-S.from===g+m-y){R=!0;break}if(!R)return null}if(w.flat.atoms.length||c.flat.atoms.length){i(u,w.flat.atoms.length+c.flat.atoms.length);let m=0,R=c.flat.atoms;for(;m<R.length&&R[m].i<g;)m++;for(let S of w.flat.atoms){if(S.i<y||S.i>=C)continue;let O=R[m++];if(!O||O.i!==g+S.i-y||c.alignment?.reverse.get(O.el)!==S.el)return null}if(m<R.length&&R[m].i<g+C-y)return null}for(let[m,R,S]of[[n,e,y],[s,o,g]]){let O=!1;for(let E of m){let P=d.get(E),v=l.get(E),N=r(P,u);for(let L=0;L<N.length;L++){let D=N[L].from,B=D+f.length;if(i(u,f.length*2+1),P.flat.text.slice(D,B)!==f)continue;let M=L;for(;M<N.length&&N[M].to<B;)i(u,1),M++;if(M===N.length||N[M].to!==B)continue;let x=!0;for(let k=D;k<B;k++)if(!hn.test(P.flat.text[k])&&v[k]){x=!1;break}if(x){if(O||E!==R||D!==S)return null;O=!0}}}if(!O)return null}return f}function Xi(e,o,t,n,s,d,l,r){if(l(r,s.length+d.length+(n.length+1)*t.length*2),!t)return!1;let i=n.indexOf(t);return i<0||n.lastIndexOf(t)!==i||!d.some(u=>u.from===i)||!d.some(u=>u.to===i+t.length)?!1:s.some(u=>u.source===e&&u.target===o&&u.from===0&&u.to===t.length&&u.targetFrom===i)}function wr({base:e,views:o,eligible:t,baseId:n,ignored:s,remoteWins:d,atomKey:l,limit:r=2e4*8}){if(r<=0)return null;let i=Symbol(),u=(S,O)=>{if(O>S.remaining)throw i;S.remaining-=O},w=[new Map,new Map];for(let S=0;S<2;S++)for(let O=0;O<o[S].V.units.length;O++)w[S].set(o[S].V.units[O],O);let c=new Int32Array(e.length),h=new Int32Array(e.length),p=S=>o.every(({V:O},E)=>{let P=O.twin(S);return P&&w[E].has(P)}),y=-1;for(let S=0;S<e.length;S++)c[S]=y,p(e[S])&&(y=S);y=e.length;for(let S=e.length-1;S>=0;S--)h[S]=y,p(e[S])&&(y=S);let C=new Map,g=(S,O)=>{if(u(O,1),C.has(S))return C.get(S);let E=S.firstChild,P=1;for(;E;){if(u(O,P*8+8),E.nodeType===3&&u(O,E.data.length*8),E.nodeType===1&&wn.has(E.tagName)&&!s(E)&&!d(E)&&E.firstChild){E=E.firstChild,P++;continue}for(;E&&E!==S&&!E.nextSibling;)E=E.parentNode,P--;E=!E||E===S?null:E.nextSibling}let v=en(Array.from(S.childNodes),{ignored:s,remoteWins:d});return C.set(S,v),v},f=(S,O,E,P,v,N)=>{for(let L of S.atoms){u(N,1);let D=O.atomAt.get(L.i+E);if(!D)return!1;let B=P?.reverse.get(L.el)||l(L.el),M=v?.reverse.get(D.el)||l(D.el);if(B!==M)return!1}return!0},m=(S,O,E,P,v)=>{let N=S.text.length<=O.text.length?S:O,L=N===S?O:S;if(u(v,N.text.length+L.text.length),!N.text||!Bn.test(N.text.replaceAll(Rn,"")))return!1;let D;if(N.text===L.text)D=0;else{let B=L.text.length-N.text.length;if(u(v,(B+1)*N.text.length*2),L.text.startsWith(N.text))D=0;else if(L.text.endsWith(N.text))D=B;else return!1;if(L.text.indexOf(N.text)!==D||L.text.lastIndexOf(N.text)!==D)return!1;u(v,L.text.length*2);let M=0,x=D===0,k=!1;for(let z of rn(L.text,bn(L.text)))M+=z.len,M===D&&(x=!0),M===D+N.text.length&&(k=!0);if(!x||!k)return!1}return N===S?f(N,L,D,E,P,v):f(N,L,D,P,E,v)},R=null;for(let S=0;S<2;S++){let{V:O,A:E,idOf:P}=o[S],v=o[1-S];if(!O.asBase)for(let N=0;N<e.length;N++){let L=e[N];if(O.twin(L)||!t(L))continue;let D=v.V.twin(L);if(!D||!w[1-S].has(D)||!t(D))continue;let B={remaining:r};try{let M=c[N],x=h[N],k=0;for(let Ae=M+1;Ae<x;Ae++)u(B,1),!O.twin(e[Ae])&&v.V.twin(e[Ae])&&t(e[Ae])&&k++;if(k!==1||g(L,B).text===g(D,B).text)continue;let z=M<0?-1:w[S].get(O.twin(e[M])),U=x===e.length?O.units.length:w[S].get(O.twin(e[x]));if(z===void 0||U===void 0||z>=U)continue;let K=null;for(let Ae=z+1;Ae<U;Ae++){u(B,1);let Me=O.units[Ae];if(O.baseOf(Me)||!t(Me)||Me.tagName!==L.tagName||Me.namespaceURI!==L.namespaceURI)continue;let Be=n(L),te=v.idOf(D),ve=P(Me);if(!(Be&&te&&Be!==te||Be&&ve&&Be!==ve||te&&ve&&te!==ve)&&m(g(D,B),g(Me,B),v.A,E,B)){if(K){K=null;break}K=Me}}if(!K)continue;R||(R=[new Map,new Map]),R[S].set(L,K)}catch(M){if(M!==i)throw M}}}return R?o.map(({V:S},O)=>{let E=R[O];if(!E.size)return S;let P=new Map;for(let[v,N]of E)P.set(N,v);return{...S,twin:v=>E.get(v)||S.twin(v),baseOf:v=>P.get(v)||S.baseOf(v)}}):null}function yr({onUncertainSource:e,onUncertainOwner:o,base:t,views:n,eligible:s,ignored:d,remoteWins:l,baseId:r,atomKey:i,limit:u=2e4*32}){if(u<=0)return null;let w=new Set(t),c=new Map(t.map((M,x)=>[M,x])),h=new Map,p=[],y=null,C=null,g=null,f=new Set;for(let M of t)for(let{V:x}of n){let k=x.twin(M);k&&!x.asBase&&!x.here(k)&&f.add(M)}let m=new Set,R=Symbol(),S=(M,x)=>{if(x>M.remaining)throw R;M.remaining-=x},O=(M,x,k)=>{S(k,1);let z=h.get(M);if(z)return z;if(M.nodeType===1){let Ae=M.firstChild,Me=1;for(;Ae;){if(S(k,Me*8+8),Ae.nodeType===3&&S(k,Ae.data.length*8),Ae.nodeType===1&&wn.has(Ae.tagName)&&!d(Ae)&&!l(Ae)&&Ae.firstChild){Ae=Ae.firstChild,Me++;continue}for(;Ae&&Ae!==M&&!Ae.nextSibling;)Ae=Ae.parentNode,Me--;Ae=!Ae||Ae===M?null:Ae.nextSibling}}else S(k,M.value.length*8+M.nodes.length);let U=M.nodeType===1?Array.from(M.childNodes):M.nodes,K=U.length===1&&U[0].nodeType===3?{text:U[0].data,nodes:[{node:U[0],s:0,e:U[0].data.length}],atoms:[]}:en(U,{ignored:d,remoteWins:l});return z={unit:M,flat:K,alignment:x,tokens:null},h.set(M,z),z},E=(M,x)=>{if(M.tokens)return M.tokens;S(x,M.flat.text.length*8);let{unit:k,flat:z,alignment:U}=M,K=[],Ae=bn(z.text),Me=0,Be=te=>{for(let ve of rn(z.text.slice(Me,te),Ae))ve.from=Me,ve.to=Me+ve.len,ve.unit=k,K.push(ve),Me+=ve.len};for(let te of z.atoms){Be(te.i);let ve=l(te.el)&&te.el.nodeType===1?"w"+te.el.tagName+"#"+(te.el.id||""):i(U?.reverse.get(te.el)||te.el);K.push({k:ve,raw:Rn,len:1,from:Me,to:Me+1,unit:k,atom:!0}),Me++}return Be(z.text.length),M.tokens=K,K},P=(M,x,k,z,U)=>{if(!M.flat.atoms.length&&!x.flat.atoms.length)return!0;let K=E(M,U),Ae=E(x,U);S(U,K.length+Ae.length);let Me=0;for(let Be of Ae){if(!Be.atom||Be.from<k||Be.from>=k+z)continue;for(;Me<K.length&&!K[Me].atom;)Me++;let te=K[Me++];if(!te||te.from!==Be.from-k||te.k!==Be.k)return!1}for(;Me<K.length;)if(K[Me++].atom)return!1;return!0},v=(M,x,k)=>{let z=M.length+x.length+4;if(z*8>k.remaining)return null;k.remaining-=z*8;let U=Math.floor(k.remaining/8),K=Math.min(M.length+x.length,4e3,Math.floor((Math.sqrt(z*z+U)-z)/2)),Ae=4*(K+1)*(z+K+1);if(K<1||Ae>k.remaining)return null;k.remaining-=Ae;let Me=Un(M,x,K),Be=[],te=0,ve=0;for(let ze of Me.hunks){for(;te<ze.bs;)M[te].raw===x[ve].raw&&Be.push([M[te],x[ve]]),te++,ve++;te=ze.be,ve+=ze.toks.length}for(;te<M.length&&ve<x.length;)M[te].raw===x[ve].raw&&Be.push([M[te],x[ve]]),te++,ve++;return Be},N=(M,x,k,z,U,K,Ae)=>{if(U<=z)return;let Me=M[M.length-1];if(Me&&Me.source===x&&Me.target===k&&Me.to<=z&&Me.targetFrom-Me.from===K-z){S(Ae,(z-Me.to)*3);let Be=h.get(x).flat.text,te=h.get(k).flat.text,ve=!0;for(let ze=Me.to;ze<z;ze++)if(!hn.test(Be[ze])||Be[ze]!==te[K+ze-z]){ve=!1;break}if(ve){Me.to=U;return}}M.push({source:x,target:k,from:z,to:U,targetFrom:K})},L=M=>M.replace(zi,"");for(let M=0;M<n.length;M++){let{V:x,A:k,idOf:z}=n[M];if(x.asBase)continue;let U=new Map(x.units.map((b,_)=>[b,_])),K=b=>{let _=x.twin(b);return _&&U.has(_)?_:null},Ae=(b,_)=>{let oe=new Int32Array(b.length),ee=new Int32Array(b.length),Pe=-1;for(let Ke=0;Ke<b.length;Ke++)oe[Ke]=Pe,_(b[Ke])&&(Pe=Ke);Pe=b.length;for(let Ke=b.length-1;Ke>=0;Ke--)ee[Ke]=Pe,_(b[Ke])&&(Pe=Ke);return{prev:oe,next:ee}},Me=Ae(t,b=>(b.nodeType===1||b.kind==="text"&&Bn.test(b.value))&&K(b)),Be=Ae(x.units,b=>(b.nodeType===1||b.kind==="text"&&Bn.test(b.value))&&w.has(x.baseOf(b))),te=new Map,ve=(b,_,oe,ee)=>{if(b>_||oe>ee)return;let Pe=`${b}:${_}:${oe}:${ee}`;te.set(Pe,[b,_,oe,ee])};for(let b=0;b<x.units.length;b++){let _=x.units[b];if(x.baseOf(_)||!s(_))continue;let oe=Be.prev[b],ee=Be.next[b],Pe=oe<0?0:c.get(x.baseOf(x.units[oe])),Ke=ee===x.units.length?t.length-1:c.get(x.baseOf(x.units[ee]));ve(Pe,Ke,Math.max(0,oe),Math.min(x.units.length-1,ee))}for(let b=0;b<t.length;b++){let _=t[b];if(f.has(_)||!s(_))continue;if(!x.twin(_)){let ot=Me.prev[b],Qe=Me.next[b],Ze=ot<0?0:U.get(K(t[ot])),Xe=Qe===t.length?x.units.length-1:U.get(K(t[Qe]));ve(Math.max(0,ot),Math.min(t.length-1,Qe),Ze,Xe)}let oe=K(_);if(!oe||k.identical.has(_)||!s(oe))continue;let ee=b+1;for(;ee<t.length&&t[ee].kind==="text"&&!t[ee].value.trim();)ee++;if(ee>=t.length||!s(t[ee]))continue;let Pe=K(t[ee]);if(!Pe||k.identical.has(t[ee])||!s(Pe))continue;let Ke=U.get(oe),Ne=U.get(Pe);Ke<Ne&&ve(b,ee,Ke,Ne)}let ze=Array.from(te.values()),re=new Set;if(ze.length>1){let b=qt(u);try{S(b,ze.length*4);let _=ze.slice().sort((Pe,Ke)=>(S(b,1),Pe[0]-Ke[0]||Pe[2]-Ke[2])),oe=[],ee=null;for(let Pe of _)S(b,1),ee&&Pe[0]<=ee[1]&&Pe[2]<=ee[3]&&Pe[3]>=ee[2]?(ee[1]=Math.max(ee[1],Pe[1]),ee[2]=Math.min(ee[2],Pe[2]),ee[3]=Math.max(ee[3],Pe[3]),ee[4].push(Pe)):(ee?.[4].length>1&&oe.push(ee),ee=[Pe[0],Pe[1],Pe[2],Pe[3],[Pe]]);ee?.[4].length>1&&oe.push(ee),ze=oe.concat(ze)}catch(_){if(_!==R)throw _}}for(let b of ze){if(re.has(b))continue;let[_,oe,ee,Pe,Ke]=b,Ne=qt(u),ot=[],Qe=new Set,Ze=!1;try{S(Ne,(oe-_+Pe-ee+2)*4);let Xe=t.slice(_,oe+1).filter(Z=>!k.identical.has(Z)&&s(Z)&&!f.has(Z)),wt=x.units.slice(ee,Pe+1).filter(Z=>s(Z)&&(!x.baseOf(Z)||w.has(x.baseOf(Z)))&&!k.identical.has(x.baseOf(Z))&&!f.has(x.baseOf(Z))),dt=new Set(wt),gt=!1,zt="",_t="",Ht=0;for(let Z of Xe){let Ie=O(Z,null,Ne);zt+=Ie.flat.text,Ht+=Ie.flat.text.length}for(let Z of wt){let Ie=O(Z,k,Ne);_t+=Ie.flat.text,Ht+=Ie.flat.text.length}S(Ne,Ht);let Bt=L(zt),an=L(_t),Kt=Bt===an;if(Ze=Kt,Ke&&!Kt)continue;let $t=Kt?null:new Map;if($t)for(let Z of Xe.concat(wt)){let Ie=h.get(Z).flat.text.length;S(Ne,Ie*16),$t.set(Z,new Uint8Array(Ie))}let F=Z=>{let Ie=[];for(let He of Z){let Ce=h.get(He);Ce.flat.atoms.length?Ie.push(...E(Ce,Ne)):Ie.push({unit:He,raw:Ce.flat.text,from:0})}return Ie},le=[];for(let Z of Kt?[]:Xe){let Ie=K(Z);if(!dt.has(Ie))continue;let He=O(Z,null,Ne),Ce=O(Ie,k,Ne);S(Ne,He.flat.text.length+Ce.flat.text.length);let be=He.flat.text&&Ce.flat.text.startsWith(He.flat.text)?0:He.flat.text&&Ce.flat.text.endsWith(He.flat.text)?Ce.flat.text.length-He.flat.text.length:-1;if(be>=0&&P(He,Ce,be,He.flat.text.length,Ne)){$t.get(Z).fill(1),$t.get(Ie).fill(1,be,be+He.flat.text.length),N(le,Z,Ie,0,He.flat.text.length,be,Ne);continue}let H=v(E(He,Ne),E(Ce,Ne),Ne);if(!H){gt=!0;break}for(let[G,de]of H)$t.get(Z).fill(1,G.from,G.to),$t.get(Ie).fill(1,de.from,de.to),N(le,Z,Ie,G.from,G.to,de.from,Ne)}if(gt)continue;let ge=null,me=null;if(!Kt)for(let Z of Xe){let Ie=K(Z),He=h.get(Z);if(!Ie||He.flat.atoms.length||!dt.has(Ie))continue;let Ce=He.flat.text,be=$t.get(Z);S(Ne,Ce.length*3+wt.length);let H=-1,G=-1,de=!1;for(let Ve=0;Ve<Ce.length;Ve++)hn.test(Ce[Ve])||(be[Ve]?de=!0:(H<0&&(H=Ve),G=Ve+1));if(!de||H<0)continue;let pe=!0;for(let Ve=H;Ve<G;Ve++)if(be[Ve]&&!hn.test(Ce[Ve])){pe=!1;break}if(!pe)continue;let ce=L(Ce.slice(H,G)),xe=null,ne=!1;for(let Ve of wt){if(x.baseOf(Ve))continue;let Oe=h.get(Ve);if(!Oe.flat.atoms.length&&(S(Ne,Oe.flat.text.length),L(Oe.flat.text)===ce)){if(xe){ne=!0;break}xe=Ve}}if(ne){(me||=new Set).add(Z);continue}if(!xe||me?.has(Z))continue;let $=!1;for(let Ve of Xe){if(Ve===Z||!dt.has(K(Ve)))continue;let Oe=h.get(Ve);if(Oe.flat.atoms.length)continue;let $e=$t.get(Ve);S(Ne,Oe.flat.text.length*3);let tt="",T=!1;for(let q=0;q<Oe.flat.text.length;q++)hn.test(Oe.flat.text[q])||($e[q]?T=!0:tt+=Oe.flat.text[q]);T&&tt===ce&&(me||=new Set,me.add(Z),me.add(Ve),$=!0)}if($)continue;let fe=h.get(xe).flat.text;S(Ne,G-H+fe.length);let Ee=H,Re=0;for(;Ee<G&&Re<fe.length;){for(;Ee<G&&hn.test(Ce[Ee]);)Ee++;for(;Re<fe.length&&hn.test(fe[Re]);)Re++;if(Ee>=G||Re>=fe.length)break;N(ge||=[],Z,xe,Ee,Ee+1,Re,Ne),Ee++,Re++}be.fill(1,H,G),$t.get(xe).fill(1)}let Te=Z=>{let Ie=[];for(let He of Z){let Ce=O(He,w.has(He)?null:k,Ne),be=$t.get(He);for(let H of E(Ce,Ne)){let G=H.from;for(;G<H.to;){for(;G<H.to&&be[G];)G++;let de=G;for(;G<H.to&&!be[G];)G++;if(G>de){let pe=Ce.flat.text.slice(de,G);Bn.test(pe)&&Ie.push({...H,raw:pe,len:G-de,k:H.atom?H.k:pe,from:de,to:G})}}}}return Ie},A=Kt?F(Xe):Te(Xe),j=Kt?F(wt):Te(wt),Y=Kt?Bt:A.map(Z=>L(Z.raw)).join(""),J=Kt?an:j.map(Z=>L(Z.raw)).join("");if((!Y||!J)&&!ge)continue;let se=ge||[];if(Y&&J&&Y===J){let Z=0,Ie=0,He=0,Ce=0;for(;Z<A.length&&Ie<j.length;){let be=A[Z],H=j[Ie];for(;He<be.raw.length&&hn.test(be.raw[He]);)He++;for(;Ce<H.raw.length&&hn.test(H.raw[Ce]);)Ce++;if(He===be.raw.length){Z++,He=0;continue}if(Ce===H.raw.length){Ie++,Ce=0;continue}if((be.atom||H.atom)&&be.k!==H.k){gt=!0;break}N(se,be.unit,H.unit,be.from+He,be.from+He+1,H.from+Ce,Ne),He++,Ce++}}else if(Y&&J){let Z=v(A,j,Ne);if(!Z)continue;for(let[Ie,He]of Z)N(se,Ie.unit,He.unit,Ie.from,Ie.to,He.from,Ne)}if(gt)continue;let je=new Map;for(let Z of se)if(!me?.has(Z.source)){if(K(Z.source)===Z.target){Kt&&le.push(Z);continue}je.has(Z.source)||je.set(Z.source,[]),je.get(Z.source).push(Z)}for(let[Z,Ie]of je){let He=O(Z,null,Ne),Ce=K(Z),be=He.flat.text,H=[],G=new Set,de=n[1-M],pe=de.V.twin(Z),ce=pe&&de.V.here(pe)?O(pe,de.A,Ne):null,xe=(Oe,$e)=>{let tt=E(Oe,Ne),T=E($e,Ne);return S(Ne,Oe.flat.text.length+$e.flat.text.length+tt.length+T.length),Oe.flat.text===$e.flat.text&&tt.length===T.length&&tt.every((q,Q)=>q.k===T[Q].k)},ne=Ce&&ce&&ce.flat.text!==be&&xe(O(Ce,k,Ne),ce);for(let Oe of new Set(Ie.map($e=>$e.target))){if(Z.nodeType!==1&&Oe.nodeType!==1)continue;let $e=O(Oe,k,Ne),tt=x.baseOf(Oe);if(Z.nodeType!==1&&tt||(S(Ne,be.length*2+$e.flat.text.length*3+le.length*2),Ce&&L(be)===L($e.flat.text)&&O(Ce,k,Ne).flat.text.trim()))continue;if(!Ce&&!tt&&Z.nodeType===1&&Oe.nodeType===1){let ue=r(Z),ie=z(Oe);if(ue&&ie&&ue!==ie)continue}let T=$e.flat.text,q=be&&(T.startsWith(be)||T.endsWith(be)),Q=!1;if(!Ce&&ce&&tt&&ce.flat.text!==be){let ue=O(tt,null,Ne).flat.text,ie=c.get(Z)<c.get(tt)?ce.flat.text:ue,ae=c.get(Z)<c.get(tt)?ue:ce.flat.text;S(Ne,ie.length+ae.length+T.length),Q=!!ie&&!!ae&&ie.length+ae.length<=T.length&&T.startsWith(ie)&&T.endsWith(ae)&&!T.slice(ie.length,T.length-ae.length).trim()}let we=!He.flat.atoms.length&&!ce?.flat.atoms.length&&!$e.flat.atoms.length&&(ne&&q||Q);if(Ce&&tt){let ue=O(Ce,k,Ne).flat.text,ie=be.startsWith(ue)||be.endsWith(ue),ae=O(tt,null,Ne).flat.text,De=$e.flat.text,qe=De.startsWith(ae)||De.endsWith(ae),Ue=!n[1-M].V.twin(tt)&&!le.some(_e=>_e.source===tt&&Bn.test(ae.slice(_e.from,_e.to)));if(!Kt&&(!ie&&!we||!qe&&!Ue)){let _e=Yi(Z,Oe,Ie,Xe,wt,h,$t,E,S,Ne);if(!_e)continue;let Ge=k.weak?.has(Z)&&!k.identityPaired?.has(Z)&&be.trim()===_e;if(!ie&&!we&&!Ge)continue;let et=k.weak?.has(tt)&&!k.identityPaired?.has(tt)&&T.trim()===_e&&!h.get(tt).flat.atoms.length&&!le.some(Mt=>Mt.source===tt&&Bn.test(ae.slice(Mt.from,Mt.to)));if(!qe&&!Ue&&!et&&!Xi(tt,Oe,ae,T,le,E($e,Ne),S,Ne))continue;Ge&&G.add(Oe)}}we&&G.add(Oe),S(Ne,Ie.length),H.push(...Ie.filter(ue=>ue.target===Oe))}if(!H.length)continue;let $=new Uint8Array(be.length);S(Ne,be.length*4+le.length);for(let Oe of H)$.fill(1,Oe.from,Oe.to);let fe=[];for(let Oe=0;Oe<be.length;Oe++)hn.test(be[Oe])||fe.push(Oe);if(!fe.length)continue;let Ee=new Set(H.map(Oe=>Oe.target));if(!Kt&&Ce&&Ee.size>1&&$i(Ee,se,le,x,h,Ne,S)){if(g||=new Map,g.set(Z,(g.get(Z)||0)|1<<M),e){let Oe=fs({source:Z,side:M,views:n,eligible:s,blocked:f,baseId:r,model:O,tokensOf:E,budget:Ne,charge:S});if(Oe){S(Ne,Oe.to-Oe.from);let $e=!0;for(let tt=Oe.from;tt<Oe.to;tt++)if(Bn.test(be[tt])&&!$[tt]){$e=!1;break}$e&&(y||=[]).push(Oe)}}continue}let Re=fe.filter(Oe=>bs.test(be[Oe]));if(!H.some(Oe=>bs.test(be.slice(Oe.from,Oe.to)))&&!fe.every(Oe=>$[Oe]))continue;if(!Ce&&!Array.from(Ee).some(Oe=>G.has(Oe))&&!fe.every(Oe=>$[Oe])&&!(Re.length&&$[Re[0]]&&$[Re[Re.length-1]]&&Ee.size===1)){let Oe=null,$e=0,tt=0,T=null,q=null;if(!Ce&&ce&&Z.nodeType===1&&!He.flat.atoms.length){let Q=E(He,Ne).filter(we=>bs.test(we.raw));S(Ne,wt.length+be.length);for(let we of wt){let ue=x.baseOf(we);if(!ue||ue===Z||ue.nodeType!==1||we.nodeType!==1||ue.tagName!==Z.tagName||we.tagName!==ue.tagName)continue;let ie=c.get(Z),ae=c.get(ue),De=!0;for(let Jt=Math.min(ie,ae)+1;Jt<Math.max(ie,ae);Jt++){let Ot=t[Jt];if(S(Ne,Ot.nodeType===1?1:Ot.value.length+1),Ot.nodeType===1||Ot.value.trim()){De=!1;break}}if(!De)continue;let qe=O(ue,null,Ne),Ue=O(we,k,Ne);if(qe.flat.atoms.length||Ue.flat.atoms.length)continue;let _e=qe.flat.text,Ge=Ue.flat.text;if(S(Ne,_e.length+Ge.length+be.length),!_e||!Q.length)continue;let et=0,Mt=Ge.length;if(ie<ae&&Ge.endsWith(_e))Mt-=_e.length;else if(ie>ae&&Ge.startsWith(_e))et=_e.length;else continue;for(;et<Mt&&hn.test(Ge[et]);)et++;for(;Mt>et&&hn.test(Ge[Mt-1]);)Mt--;let kt=Ge.slice(et,Mt);if(!(!kt||!(kt.startsWith(Q[0].raw)||kt.endsWith(Q[Q.length-1].raw)))){if(Oe){Oe=null;break}Oe=we,$e=et,tt=Mt,T=Q[0],q=Q[Q.length-1]}}}if(S(Ne,H.length),!Oe||!Ee.has(Oe)||!H.some(Q=>Q.target===Oe&&(Q.from<=T.from&&Q.to>=T.to&&Q.targetFrom+T.from-Q.from===$e||Q.from<=q.from&&Q.to>=q.to&&Q.targetFrom+q.to-Q.from===tt)))continue}if(Ce&&!(fe.every(Oe=>$[Oe])&&(Kt||Array.from(Ee).some(Oe=>G.has(Oe))))&&!le.some(Oe=>Oe.source===Z&&Bn.test(be.slice(Oe.from,Oe.to))))continue;let Ve=!1;if(Kt){S(Ne,le.length+fe.length);for(let Oe of le)Oe.source===Z&&(S(Ne,Oe.to-Oe.from),$.fill(1,Oe.from,Oe.to));Ve=!0;for(let Oe of fe)if(!$[Oe]){Ve=!1;break}}for(let Oe of Ee){S(Ne,H.length);let $e=H.filter(T=>T.target===Oe);ot.push({side:M,source:Z,target:Oe,runs:$e,models:h,retained:le,conservedSource:Ve}),Z.nodeType===1&&Qe.add(Z),Oe.nodeType===1&&Qe.add(Oe);let tt=x.baseOf(Oe);tt?.nodeType===1&&Qe.add(tt)}}if(p.push(...ot),Ke&&ot.length)for(let Z of Ke)re.add(Z);for(let Z of Qe)m.add(Z)}catch(Xe){if(Xe!==R)throw Xe}finally{if(o&&!Ke&&!Ze){let Xe=br({base:t,views:n,side:M,attempt:b,eligible:s,blocked:f,baseId:r,model:O,tokensOf:E,charge:S,exhausted:R,limit:u});Xe&&(C||=[]).push(...Xe)}if(e&&!Ke&&!Ze){let Xe=Ds({base:t,views:n,side:M,attempt:b,eligible:s,blocked:f,baseId:r,model:O,tokensOf:E,certificates:p,charge:S,exhausted:R,limit:u});Xe&&(y||=[]).push(...Xe)}}}}let D=p.length?new Map:null;for(let M of p){let x=D.get(M.source);x||D.set(M.source,x=[]),x.push(M)}let B=null;if(D){let M=null;for(let[x,k]of D){let z=g?.get(x)||0;if(k.length<2&&!z)continue;let U=0;for(let K of k)K.conservedSource&&(U|=1<<K.side);for(let K of k){if(K.conservedSource)continue;let Ae=1<<K.side,Me=!0;if(U&Ae)Me=!1;else if(z&Ae){Me=!1;try{Me=Gi(K,M||=qt(u),S)}catch(Be){if(Be!==R)throw Be}}Me||(B||=new Set).add(K)}}}if(B){let M=0;for(let x of p)B.has(x)||(p[M++]=x);p.length=M;for(let[x,k]of D){M=0;for(let z of k)B.has(z)||(k[M++]=z);k.length=M,M||D.delete(x)}m.clear();for(let x of p){let{source:k,target:z,side:U}=x;k.nodeType===1&&m.add(k),z.nodeType===1&&m.add(z);let K=n[U].V.baseOf(z);K?.nodeType===1&&m.add(K)}}if(y){let M=qt(u),x=!1;for(let k of y){let z=!1,U=D?.get(k.source);if(U&&!x)try{z=cs(k,U,M,S)}catch(K){if(K!==R)throw K;x=!0}z||e(k)}}if(C){let M=new Set,x=qt(u);try{for(let k of C){if(S(x,1),M.has(k.source))continue;M.add(k.source);let z=!1;for(let U of p)if(S(x,1),U.source===k.source||U.target===k.local||U.target===k.remote){z=!0;break}z||o(k)}}catch(k){if(k!==R)throw k}}for(let M of t)if(m.has(M))for(let{V:x}of n){let k=x.twin(M);k&&x.here(k)&&m.add(k)}return p.length?{blocks:m,certificates:p,certificatesBySource:D,models:h}:null}function kr({certificates:e,scopes:o,flats:t,keys:n,limit:s=2e4*32}){let d=Symbol(),l=qt(s),r=g=>{if(g>l.remaining)throw d;l.remaining-=g},i=o.map(g=>new Set(g)),u=new Map,w=new Map,c=(g,f)=>{let m=u.get(g);if(m||u.set(g,m=new Map),m.has(f))return m.get(f);r(g.text.length);let R=w.get(f);if(!R){r(f.nodes.length+f.atoms.length),R={nodes:new Map,atoms:new Map};for(let P of f.nodes)R.nodes.set(P.node,P);for(let P of f.atoms)R.atoms.set(P.el,P.i);w.set(f,R)}let{nodes:S,atoms:O}=R,E=new Int32Array(g.text.length).fill(-1);for(let P of g.nodes){let v=S.get(P.node);if(!(!v||P.e-P.s!==v.e-v.s)){r(P.e-P.s);for(let N=P.s;N<P.e;N++)E[N]=v.s+N-P.s}}for(let P of g.atoms){let v=O.get(P.el);v!==void 0&&(E[P.i]=v)}return m.set(f,E),E},h=(g,f,m,R,S)=>{let O=g[g.length-1];O&&O.to===f&&O.target+O.to-O.from===R&&O.kind===S?O.to=m:g.push({from:f,to:m,target:R,kind:S})},p=(g,f,m,R)=>{r((R-m)*4);let S=[],O=m,E=N=>{let L=g.text.slice(O,N);for(let D of rn(L,bn(L)))D.from=O,D.to=O+D.len,S.push(D),O+=D.len},P=0,v=g.atoms.length;for(;P<v;){r(1);let N=P+v>>>1;g.atoms[N].i<m?P=N+1:v=N}for(let N=P;N<g.atoms.length&&g.atoms[N].i<R;N++){r(1);let L=g.atoms[N];E(L.i),S.push({k:f(L),raw:Rn,len:1,from:O,to:O+1}),O++}return E(R),S},y=(g,f,m,R,S,O)=>{if(m===R||S===O)return;if(R-m===O-S){r((R-m)*4);let x=!0;for(let k=m,z=S;k<R;k++,z++){if(t[0].text[k]!==t[f].text[z]){x=!1;break}let U=t[0].atomAt.get(k),K=t[f].atomAt.get(z);if(!!U!=!!K||U&&n[0](U)!==n[f](K)){x=!1;break}}if(x){h(g,m,R,S,"retained");return}}let E=p(t[0],n[0],m,R),P=p(t[f],n[f],S,O),v=E.length+P.length+4,N=Math.min(E.length+P.length,4e3,Math.floor((Math.sqrt(v*v+l.remaining/2)-v)/2));if(N<1)throw d;r(4*(N+1)*(v+N+1));let L=Un(E,P,N),D=0,B=0,M=()=>{let x=E[D++],k=P[B++];r(x.len),x.raw===k.raw&&h(g,x.from,x.to,k.from,"retained")};for(let x of L.hunks){for(;D<x.bs;)M();D=x.be,B+=x.toks.length}for(;D<E.length&&B<P.length;)M()},C=g=>{let f=e.filter(L=>L.side===g-1&&i[0].has(L.source)&&i[g].has(L.target));if(!f.length)return null;let m=[],R=(L,D,B)=>{if(!i[0].has(L.source)||!i[g].has(L.target))return;let M=c(D.get(L.source).flat,t[0]),x=c(D.get(L.target).flat,t[g]);r(L.to-L.from);for(let k=0;k<L.to-L.from;k++){let z=M[L.from+k],U=x[L.targetFrom+k];if(z<0||U<0)throw d;h(m,z,z+1,U,B)}},S=new Set;for(let L of f){if(!S.has(L.retained)){S.add(L.retained);for(let D of L.retained)R(D,L.models,"retained")}for(let D of L.runs)R(D,L.models,"transfer")}m.sort((L,D)=>(r(1),L.from-D.from||L.target-D.target));let O=[];for(let L of m){r(1);let D=O[O.length-1];if(D&&L.from<D.to){if(L.target-L.from!==D.target-D.from)throw d;D.to=Math.max(D.to,L.to),L.kind==="transfer"&&(D.kind="transfer")}else O.push(L)}let E=[],P=0,v=0;for(let L of O){if(L.target<v)throw d;y(E,g,P,L.from,v,L.target),E.push(L),P=L.to,v=L.target+L.to-L.from}y(E,g,P,t[0].text.length,v,t[g].text.length);let N=Ln({base:t[0],side:t[g],retained:E.filter(L=>L.kind==="retained"),transfers:E.filter(L=>L.kind==="transfer"),baseAtomKey:n[0],sideAtomKey:n[g],budget:l});if(N.status!=="ready"||!N.monotone)throw d;return N};try{let g=C(1),f=C(2);return g||f?{local:g,remote:f}:{fallback:!0}}catch(g){if(g!==d)throw g;return{fallback:!0}}}function ws(e,o,t=!1){let n=-1,s=-1;for(let l=0;l<e.list.length;l++){let r=e.list[l];r.bLo<o.lo||r.bLo>o.hi||(n<0&&(n=l),s=l)}let d=[];for(let l=n;l>=0&&l<=s;l++){let r=e.list[l],i=!t&&l===n?r.inlineStart<0?r.to:r.inlineStart:r.from,u=!t&&l===s?r.inlineEnd<0?r.from:r.inlineEnd:r.to;for(let w=i;w<u;w++)d.push(e.units[w]);l<s&&d.push(e.units[r.next])}return d}var ut=e=>!!e&&e.nodeType===1,Mn=new Set("P H1 H2 H3 H4 H5 H6 DIV LI DD DT BLOCKQUOTE FIGCAPTION SUMMARY ADDRESS".split(" "));function ys(e){for(let o of e)if(Mn.has(o.tagName))return!0;return!1}function Ji(e,o,t){let n=null;for(let s of o.childNodes)if(!(!ut(s)||!t(s)||!s.isEqualNode(e))){if(n)return null;n=s}if(!n)return null;for(let s of e.parentNode.childNodes)if(s!==e&&s.isEqualNode(e))return null;return n}var vo="[id],[data-id],script,head>*";function ks(e,o){return t=>{if(e!==null&&t.tagName==="SCRIPT"){let n=lo(t,e);if(n)return"merge:"+n.key}return t.parentElement&&t.parentElement.tagName==="HEAD"?er(t,o):null}}function Fo(e,o,t,n){let s=n.ignored,d=n.stats||Wn(),l=Ls({ignored:s,ignoreAttribute:n.ignoreAttribute,stats:d}),{unitsOf:r,meta:i}=l,u=n.baseURI,w=n.mergeTags!==null,c=ks(n.mergeTags,u),h=T=>q=>{let Q=c(q);return Q!==null?Q:T(q)},p=h(n.identity.base),y=h(n.identity.local),C=h(n.identity.remote),g=n.authored||n.identity,f=T=>T&&T.nodeType===9?T.documentElement:T,m=f(e),R=f(o),S=f(t),O=globalThis.__hyperMorphProfile,E=O?performance.now():0,P=T=>T===gn?vo:null,v=n.scope||null,N=v?v.baseDropped:new Set,L=new Set,D=v?v.remoteDropped:new Set,B=v?v.baseIndex:Eo(m,p,s,P(n.identity.base),N),M=n.localIsBase||m===R?null:Eo(R,y,s,P(n.identity.local),L),x=v?v.remoteIndex:Eo(S,C,s,P(n.identity.remote),D),k=T=>{let q=ut(T)&&y(T);return q&&M?.get(q)===T&&!B.has(q)?q:null},z=T=>{let q=ut(T)&&C(T);return q&&x.get(q)===T&&!B.has(q)?q:null},U=M?es(m,R,{analyzer:l,baseIndex:B,sideIndex:M,baseId:g.base,sideId:g.local,baseKey:p,sideKey:y,baseDropped:N,sideDropped:L,stats:d}):Tr(),K=es(m,S,{analyzer:l,baseIndex:B,sideIndex:x,baseId:g.base,sideId:g.remote,baseKey:p,sideKey:C,baseDropped:N,sideDropped:D,stats:d,scope:v,comparisons:n.comparisons});if(v){if(!v.held(K))return null;for(let T of v.dropped)Qo(T)}let Ae=null;function Me(T){if(!Ae){Ae=new WeakMap;let q=[m];for(;q.length;){let Q=q.pop();Q.tagName==="TEMPLATE"&&Q.content&&Ae.set(Q.content,Q);for(let we of l.childrenOf(Q))we.nodeType===1&&q.push(we)}}return Ae.get(T)||null}let Be=T=>{let q=ut(T)||T.nodeType?T.parentNode:T.parent;return q&&q.nodeType===11?Me(q):q};if(K.moved.size){let T=!1;for(let q of Array.from(K.moved))!ut(q)||K.identityPaired.has(q)||!g.base(q)||me(K,Be(q))||(K.unpair(q),T=!0);T&&K.rematch()}le(),ge(U,K),ge(K,U);for(let T of[U,K])if(T.refused)for(let q of T.refused)T.moved.has(q)||d.ambiguousMoves++;O&&(O.alignTotal=(O.alignTotal||0)+(performance.now()-E),E=performance.now());let te=m.ownerDocument.implementation.createHTMLDocument(""),ve=new WeakMap,ze=new WeakMap,re=[],b=[],_=new Set,oe=[],ee=new Set,Pe=new Set,Ke=new Set,Ne=new WeakMap,ot=null,Qe=n.conflicts||"remote",Ze=T=>re.push(T),Xe=T=>re.push(T),wt=ur({roots:{base:m,local:R,remote:S},L:U,R:K,unitsOf:r,provenance:ve,policy:Qe}),dt=(T,q)=>{b.push(T),q&&wt.note(T,q)},gt=null,zt=null,_t=$t(),Ht=null,Bt=J(m,U.map.get(m),K.map.get(m),!!n.localIsBase,!!n.childrenOnly);Bt.tagName==="HTML"?te.replaceChild(Bt,te.documentElement):te.body.appendChild(Bt),gt?.drain(Bt),zt?.drain(Bt),O&&(O.build=(O.build||0)+(performance.now()-E));let an=n.childrenOnly?!fe(ne(Bt),ne(S)):!pe(Bt,S),Kt=wt.finish(Bt);return{doc:te,root:Bt,provenance:ve,textMappers:ze,decisions:re,conflicts:b,recoveryLinks:Kt,localDiverged:an,mergedScripts:_,segments:oe,remoteIdOf:n.identity.remote,customIdentity:n.identity.remote!==gn,L:U,R:K,stats:d};function $t(){let T=new Map,q=new Set;if(n.localIsBase||!U.insertedByHash)return{partner:T,drop:q};let Q=U.insertedByHash(),we=K.insertedByHash();if(!Q.size||!we.size)return{partner:T,drop:q};let ue={ignored:s,remoteWins:n.remoteWins,inlineCache:Ne},ie=pt=>{let bt=0;for(let mt=pt.parentNode;mt;mt=mt.parentNode)bt++;return bt},ae=[],De=pt=>{let bt=pt.textContent.trim();return bt.split(/\s+/).length>=3||bt.replace(/\s/g,"").length>=12},qe=pt=>{let bt=me(U,pt),mt=me(K,pt);return bt&&U.reverse.get(bt.parentNode)!==pt.parentNode||mt&&K.reverse.get(mt.parentNode)!==pt.parentNode},Ue=(pt,bt,mt)=>{for(let at of mt.parentNode.children){let Vt=at!==mt&&pt.reverse.get(at);if(Vt&&qe(Vt))return!0}let Ct=pt.reverse.get(mt.parentNode);if(Ct){for(let at of Ct.children)if(!me(bt,at)&&!s(at))return!0}return!1},_e=new Map([[U,new Map],[K,new Map]]),Ge=(pt,bt)=>{let mt=_e.get(pt),Ct=mt.get(bt);if(Ct===void 0){Ct=!1;for(let at of bt.children)if(pt.reverse.has(at)||Ge(pt,at)){Ct=!0;break}mt.set(bt,Ct)}return Ct},et=new Map;for(let pt of we.values())for(let bt of pt){let mt=z(bt);mt&&et.set(mt,bt)}for(let pt of Q.values())for(let bt of pt){let mt=k(bt),Ct=mt?et.get(mt):null;Ct&&Ct.tagName===bt.tagName&&!Pn(bt,ue)&&!Pn(Ct,ue)&&!n.remoteWins(bt)&&!n.remoteWins(Ct)&&ae.push([bt,[Ct],ie(bt),!0,!0])}for(let[pt,bt]of Q){let mt=we.get(pt);if(!mt)continue;let Ct=bt.length===1&&mt.length===1;for(let at of bt)!Pn(at,ue)&&!k(at)&&ae.push([at,mt,ie(at),Ct&&(De(at)||Ue(U,K,at)||Ue(K,U,mt[0]))])}if(!ae.length)return{partner:T,drop:q};ae.sort((pt,bt)=>pt[2]-bt[2]);let Mt=new Set,kt=new Set,Jt=pt=>{for(let bt of pt.querySelectorAll("*"))Mt.add(bt)},Ot=(pt,bt)=>pt.reverse.get(bt.parentNode)||null;for(let[pt,bt,,mt,Ct]of ae){if(Mt.has(pt)||kt.has(pt)||Ct&&(Ge(U,pt)||Ge(K,bt[0])))continue;let at=Ot(U,pt),Vt=Gt=>!kt.has(Gt)&&!Mt.has(Gt)&&(Ct||Gt.tagName===pt.tagName&&!z(Gt)&&l.equalUnits(pt,Gt)),St=bt.find(Gt=>at&&Ot(K,Gt)===at&&Vt(Gt))||(mt?bt.find(Vt):null);if(!St)continue;kt.add(pt),kt.add(St);let cn=at&&Ot(K,St)===at;(!Ct||!cn||l.equalUnits(pt,St))&&(Jt(pt),Jt(St)),!cn&&(T.set(pt,St),T.set(St,pt),q.add(Qe==="local"?St:pt))}return{partner:T,drop:q}}function F(T,q,Q){if(ee.add(T),_t.drop.has(T))return null;ee.add(Q);let we=q==="local"?T:Q,ue=q==="local"?Q:T,ie;return l.equalUnits(we,ue)?(ie=G(we,"local",!0),ve.get(ie).remote=ue):ie=H(we,ue),dt({kind:"structure",el:ie,detail:"both-moved",base:null,local:we,remote:ue},{unit:{b:null,l:we,r:ue}}),Ze({kind:"insert",el:ie,source:"both"}),ie}function le(){if(!U.weak||!K.weak||!U.weak.size||!K.weak.size||!U.unpair)return;let T=new Map;for(let Q of U.weak){let we=me(U,Q);ut(Q)&&ut(we)&&T.set(l.unitHash(we),Q)}let q=!1;for(let Q of Array.from(K.weak)){let we=me(K,Q);if(!ut(Q)||!ut(we))continue;let ue=T.get(l.unitHash(we));if(!ue||ue===Q||!U.weak.has(ue)||me(U,Q)&&me(K,ue))continue;let ie=me(U,ue);ie.tagName===we.tagName&&l.equalUnits(ie,we)&&(U.unpair(ue),K.unpair(Q),q=!0)}q&&(U.rematch(),K.rematch())}function ge(T,q){if(!T.weak||!T.weak.size||!q.insertedByHash)return;let Q=q.insertedByHash();if(!Q.size)return;let we=!1;for(let ue of Array.from(T.weak)){let ie=me(T,ue);if(!ie)continue;let ae=T===U?k(ie):z(ie);if(ae){let qe=(T===U?x:M)?.get(ae);qe&&qe.tagName===ie.tagName&&!q.reverse.has(qe)&&(T.unpair(ue),we=!0);continue}let De=Q.get(l.unitHash(ie));De&&De.some(qe=>qe.tagName===ie.tagName&&l.equalUnits(qe,ie))&&(T.unpair(ue),we=!0)}we&&T.rematch()}function me(T,q){if(!q)return null;if(T.map.has(q))return T.map.get(q);let Q=[],we=Be(q);for(;we&&!T.map.has(we);we=Be(we))Q.push(we);let ue=we;if(!ue||!T.identical.has(ue))return null;T.pairIdenticalChildren(ue);for(let ae=Q.length-1;ae>=0;ae--)T.pairIdenticalChildren(Q[ae]);let ie=T.map.get(q)||null;return ie&&d.lazyTwins++,ie}function Te(T,q,Q,we){if(ut(T)&&Mn.has(T.tagName)&&!U.identical.has(T)&&(T.previousSibling?.nodeType===3||T.nextSibling?.nodeType===3)){let De=Be(T),qe=me(U,T),Ue=me(K,T);qe&&Ue&&$e(qe,me(U,De),U)&&!$e(Ue,me(K,De),K)&&(zt||=pr({L:U,R:K,twinIn:me,unitsOf:r,view:A,parentOf:Be,ignored:s,remoteWins:n.remoteWins,eligible:_e=>ut(_e)&&Mn.has(_e.tagName),build:J,out:te,policy:Qe,provenance:ve,textMappers:ze,segments:oe,conflicts:b,conflict:dt,decisions:re}),zt.ensureOwner(T))}if(q===null)return null;if(we!==void 0)return gt||=fo(ve,Be,U,K,me,J,s,n.remoteWins,b,dt,j,R,S),gt.plan(T,q,Q,!!we),we&&(gt.produced(T,we),Pe.add(T)),we;if(Pe.has(T)||Ke.has(T))return dt({kind:"structure",el:null,detail:"both-moved",base:T},{subject:T}),Pe.has(T)?null:G(Q,q);gt||=fo(ve,Be,U,K,me,J,s,n.remoteWins,b,dt,j,R,S),gt.plan(T,q,Q,!0);let ue=me(U,T),ie=me(K,T);(!ue||!ie)&&dt({kind:"structure",el:null,detail:"move-beats-delete",base:T},{subject:T,deleted:ue?"remote":"local"});let ae=J(T,ue,ie,!1);return(q==="local"?Ze:Xe)({kind:"move",el:ae,source:q}),ae}function A(T,q,Q,we){return we||!q||q===Q?{el:Q,asBase:!0,twin:ue=>ue,baseOf:ue=>ue,units:r(Q),here:()=>!0,parentOfTwin:()=>Q}:{el:q,asBase:!1,twin:ue=>me(T,ue),baseOf:ue=>T.reverse.get(ue),units:r(q),here:ue=>ut(ue)?ue.parentNode===q||q.tagName==="TEMPLATE"&&ue.parentNode===q.content:ue.parent===q||q.tagName==="TEMPLATE"&&ue.parent===q.content}}function j(T,q,Q){return!q||Q&&Q.identical.has(T)?!1:ut(T)?!l.equalUnits(T,q)||!Y(T,q,Q):T.value!==q.value}function Y(T,q,Q){if(!Q||T===q)return!0;let we=[[T,q]];for(;we.length;){let[ue,ie]=we.pop(),ae=r(ue),De=r(ie);for(let qe=0;qe<ae.length&&qe<De.length;qe++){let Ue=ae[qe],_e=De[qe];if(!ut(Ue)||!ut(_e))continue;let Ge=Q.map.get(Ue);if(Ge!==void 0&&Ge!==_e)return!1;let et=Q.reverse.get(_e);if(et!==void 0&&et!==Ue)return!1;we.push([Ue,_e])}}return!0}function J(T,q,Q,we,ue=!1){let ie=we||(Q?n.remoteWins(Q):n.remoteWins(T)),ae=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?te.createElementNS(T.namespaceURI,T.tagName):te.createElement(T.tagName),De={base:T,local:q||null,remote:Q||null};if(ve.set(ae,De),ie&&!we&&q&&j(T,q,U)&&(!Q||!l.equalUnits(q,Q))&&dt({kind:"structure",el:ae,detail:"remote-wins",base:T,local:q,remote:Q||null},{subject:T}),ee.add(T),Pe.add(T),q&&ee.add(q),Q&&ee.add(Q),n.skipUnchanged&&!ue&&(n.localIsBase||U.identical.has(T))&&Q&&K.identical.has(T)&&!n.remoteWins(T)){De.unchanged=!0;for(let Ue of T.attributes)Ue.namespaceURI?ae.setAttributeNS(Ue.namespaceURI,Ue.name,Ue.value):ae.setAttribute(Ue.name,Ue.value);return gt?.produced(T,ae),ae}Ke.add(T),ue||Z(T,ie?T:q,Q,ae);let qe=T.tagName;if(dn(T))je(T,ie?T:q,Q,ae);else if(qe==="TEXTAREA")ae.textContent=se(T.textContent,(ie?T:q)?(ie?T:q).textContent:T.textContent,Q?Q.textContent:T.textContent,ae,"text");else if(!zt?.render(T,ae)){let Ue=de(T,q,Q,ie,ae),_e=qe==="TEMPLATE"&&ae.content?ae.content:ae;for(let Ge of Ue)_e.appendChild(Ge)}return Ke.delete(T),gt?.produced(T,ae),ae}function se(T,q,Q,we,ue){if(q===Q)return q;if(q===T)return Q!==T&&Xe({kind:ue,node:we,source:"remote"}),Q;if(Q===T)return Ze({kind:ue,node:we,source:"local"}),q;let ie=Qe==="local"?q:Q;return dt({kind:ue,node:we,base:T,local:q,remote:Q,resolved:ie},{site:"whole",el:we}),re.push({kind:ue,node:we,source:"both"}),ie}function je(T,q,Q,we){let ue=T.textContent,ie=q?q.textContent:ue,ae=Q?Q.textContent:ue,De=w?lo(T,n.mergeTags,!0):null;if(De&&ie!==ae){let qe=Q&&Q.getAttribute("merge-key")||T.getAttribute("merge-key"),{text:Ue,warnings:_e}=Vo(n.localIsBase?void 0:ue,ie,ae,{parse:De.recognizer.parse,keyCandidates:qe?qe.split(/[\s,]+/).filter(Boolean):void 0});for(let Ge of _e)console.warn(`[hyper-morph] merge "${De.raw}": ${Ge}`);we.textContent=Ue,_.add(we),Ue!==ae?Ze({kind:"text",node:we,source:Ue===ie?"local":"both"}):Ue!==ue&&Xe({kind:"text",node:we,source:"remote"});return}we.textContent=se(ue,ie,ae,we,"text")}function Z(T,q,Q,we){let ue=new Map;for(let ie of[T,q,Q])if(ie)for(let ae of ie.attributes)n.ignoreAttribute(ie,ae.name)||ue.set(ae.name,ae);for(let[ie,ae]of ue){let De=T?T.getAttribute(ie):null,qe=q?q.getAttribute(ie):De,Ue=Q?Q.getAttribute(ie):De,_e;qe===Ue?_e=qe:qe===De?(_e=Ue,Xe({kind:"attr",el:we,name:ie,source:"remote"})):Ue===De?(_e=qe,Ze({kind:"attr",el:we,name:ie,source:"local"})):(_e=Ie(ie,De,qe,Ue),_e===void 0&&(_e=Qe==="local"?qe:Ue,dt({kind:"attr",el:we,name:ie,base:De,local:qe,remote:Ue,resolved:_e},{el:we,sample:ae})),re.push({kind:"attr",el:we,name:ie,source:"both"})),_e!=null&&(ae.namespaceURI?we.setAttributeNS(ae.namespaceURI,ae.name,_e):we.setAttribute(ie,_e))}}function Ie(T,q,Q,we){if(T==="class"){let ue=Ue=>new Set((Ue||"").split(/\s+/).filter(Boolean)),ie=ue(q),ae=ue(Q),De=ue(we),qe=new Set;for(let Ue of new Set([...ie,...ae,...De])){let _e=ie.has(Ue),Ge=ae.has(Ue),et=De.has(Ue);(Ge===et?Ge:Ge===_e?et:Ge)&&qe.add(Ue)}return[...qe].join(" ")}if(T==="style"){let ue=_e=>{let Ge=new Map;if(!_e)return Ge;let et=0,Mt=null,kt="",Jt=()=>{let Ot=kt.indexOf(":");Ot>0&&Ge.set(kt.slice(0,Ot).trim(),kt.slice(Ot+1).trim()),kt=""};for(let Ot of _e){if(Mt){kt+=Ot,Ot===Mt&&(Mt=null);continue}if(Ot==='"'||Ot==="'"){Mt=Ot,kt+=Ot;continue}if(Ot==="("?et++:Ot===")"&&et--,Ot===";"&&et===0){Jt();continue}kt+=Ot}return kt.trim()&&Jt(),Ge},ie=ue(q),ae=ue(Q),De=ue(we),qe=new Map,Ue=!1;for(let _e of new Set([...ie.keys(),...ae.keys(),...De.keys()])){let Ge=ie.get(_e)??null,et=ae.get(_e)??null,Mt=De.get(_e)??null,kt;et===Mt?kt=et:et===Ge?kt=Mt:Mt===Ge?kt=et:(kt=Qe==="local"?et:Mt,Ue=!0),kt!=null&&qe.set(_e,kt)}return Ue?void 0:[...qe].map(([_e,Ge])=>`${_e}: ${Ge}`).join("; ")}}function He(T,q,Q,we){let ue=T.value,ie=we?ue:q?q.value:"",ae=Q?Q.value:"";ee.add(T),q&&ee.add(q),Q&&ee.add(Q);let De=no(ue,ie,ae,Qe),qe=De.text===""?null:te.createTextNode(De.text);qe&&(ve.set(qe,{base:T.nodes,local:q?q.nodes:null,remote:Q?Q.nodes:null}),ze.set(qe,De.mapLocalOffset)),ie!==ue&&ae!==ue?re.push({kind:"text",node:qe,source:"both"}):ie!==ue?Ze({kind:"text",node:qe,source:"local"}):ae!==ue&&Xe({kind:"text",node:qe,source:"remote"});for(let Ue of De.conflicts)dt({kind:"text",node:qe,base:ue.slice(Ue.bs,Ue.be),local:Ue.local,remote:Ue.remote,resolved:Ue.resolved},{site:"run",bRun:T,lRun:q,rRun:Q,node:qe,c:Ue});return qe}function Ce(T,q){return Fn(T,q).every(Q=>Q.bs===Q.be)}function be(T,q){let Q=T?T.value:"",we=q?q.value:"",ue;if(Q===we||!we?ue=Q:Q?Ce(Q,we)?ue=we:Ce(we,Q)?ue=Q:(ue=Qe==="local"?Q:Qe==="both"?Q+we:we,dt({kind:"structure",el:null,detail:"insert-collision",local:Q,remote:we,resolved:ue},{unit:{b:null,l:T,r:q},localLost:Qe==="remote"})):ue=we,T&&ee.add(T),q&&ee.add(q),ue==="")return null;let ie=te.createTextNode(ue);return ve.set(ie,{base:null,local:T?T.nodes:null,remote:q?q.nodes:null}),Q?Ze({kind:"insert",el:ie,source:we&&Q===we?"both":"local"}):Xe({kind:"insert",el:ie,source:"remote"}),ie}function H(T,q){let Q={ignored:s,remoteWins:n.remoteWins,inlineCache:Ne},we=De=>r(De).every(qe=>ut(qe)?Pn(qe,Q):qe.kind==="text"),ue=null;if(we(T)&&we(q)){let De=T.textContent,qe=q.textContent;De===qe||Ce(qe,De)?ue=q:Ce(De,qe)&&(ue=T)}if(!ue){let De=Qe==="local",qe=G(De?T:q,De?"local":"remote",!0),Ue=ve.get(qe);return De?Ue.remote=q:Ue.local=T,dt({kind:"structure",el:qe,detail:"insert-collision",local:T,remote:q,resolved:De?T:q},{unit:{b:null,l:T,r:q},localLost:!De}),qe}let ie=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?te.createElementNS(T.namespaceURI,T.tagName):te.createElement(T.tagName);Z(null,T,q,ie),ve.set(ie,{base:null,local:T,remote:q}),ee.add(T),ee.add(q);let ae=Gn({base:Array.from(ue.childNodes),local:Array.from(T.childNodes),remote:Array.from(q.childNodes),out:te,policy:Qe,idOf:{local:y,remote:C},ignored:s,ignoreAttribute:n.ignoreAttribute,remoteWins:n.remoteWins,provenance:ve,textMappers:ze,conflicts:b,conflict:dt,scope:{base:null,local:T,remote:q,units:[],at:0},synthetic:!0,decisions:re,node:ie});oe.push(...ae.segments);for(let De of ae.nodes)ie.appendChild(De);return ie}function G(T,q,Q=!1){if(!Q&&ut(T)){let ae=_t.partner.get(T);if(ae)return F(T,q,ae)}if(!ut(T)){if(T.value==="")return null;let ae=T.kind==="comment"?te.createComment(T.value):te.createTextNode(T.value);return ve.set(ae,{base:null,local:q==="local"?T.nodes:null,remote:q==="remote"?T.nodes:null}),ee.add(T),ae}let we=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?te.createElementNS(T.namespaceURI,T.tagName):te.createElement(T.tagName);for(let ae of T.attributes)ae.namespaceURI?we.setAttributeNS(ae.namespaceURI,ae.name,ae.value):we.setAttribute(ae.name,ae.value);ve.set(we,{base:null,local:q==="local"?T:null,remote:q==="remote"?T:null}),ee.add(T);let ue=T.tagName==="TEMPLATE"&&we.content?we.content:we,ie=q==="local"?U:K;for(let ae of r(T)){let De=ut(ae)?ie.reverse.get(ae):null;if(De&&Te(De,null,null),De&&Pe.has(De)){dt({kind:"structure",el:null,detail:"both-moved",base:De},{subject:De});continue}if(De&&!Ke.has(De)){let Ue=me(U,De)||null,_e=me(K,De)||null;if(Ue||_e){gt||=fo(ve,Be,U,K,me,J,s,n.remoteWins,b,dt,j,R,S),gt.plan(De,q,ae,!0);let Ge=J(De,Ue,_e,!1);q==="local"?Ze({kind:"move",el:Ge,source:"local"}):Xe({kind:"move",el:Ge,source:"remote"}),ue.appendChild(Ge);continue}}let qe=G(ae,q);qe&&ue.appendChild(qe)}if(!Q&&_t.drop.size&&T.tagName==="DIV"&&!ue.firstChild&&!T.attributes.length&&!(q==="local"?y(T):C(T))&&!ie.reverse.has(T)&&!s(T)&&!n.remoteWins(T)){let ae=T.firstChild;if(ae&&ae===T.lastChild&&ut(ae)&&(_t.drop.has(ae)||Ht?.has(ae)))return(Ht||=new WeakSet).add(T),null}return we}function de(T,q,Q,we,ue){q&&U.identical.has(T)&&U.pairIdenticalChildren(T),Q&&K.identical.has(T)&&K.pairIdenticalChildren(T);let ie=A(U,q,T,we),ae=A(K,Q,T,!1),De=r(T),qe=new Set(De),Ue=new Map;for(let ye=0;ye<De.length;ye++)Ue.set(De[ye],ye);let _e=[],Ge=new Set,et=new Map,Mt=new Set,kt=new Set,Jt=[],Ot=null;if(!ie.asBase&&!ae.asBase&&!U.identical.has(T)&&!K.identical.has(T))for(let ye of De){if(!ut(ye)||!Mn.has(ye.tagName))continue;let Je=ie.twin(ye),Ye=ae.twin(ye);Je&&Ye&&(!ie.here(Je)||!ae.here(Ye))&&Te(ye,null,null)}zo();let pt=ye=>{let Je=[];for(let Ye of ye.units){if(kt.has(Ye))continue;let xt=ye.baseOf(Ye);xt&&qe.has(xt)&&Je.push(xt)}return Je},bt=ye=>pt(ye).map(Je=>Ue.get(Je)),mt=ye=>ye.every((Je,Ye)=>Ye===0||Je>=ye[Ye-1]),Ct=!ie.asBase&&!mt(bt(ie)),at=!ae.asBase&&!mt(bt(ae));Ct&&at&&dt({kind:"structure",el:ue,detail:"both-reordered",base:T},{subject:T,lKept:pt(ie),rKept:pt(ae)});let Vt=at||!Ct?{V:ae,A:K,side:"remote",other:ie,otherA:U,otherSide:"local"}:{V:ie,A:U,side:"local",other:ae,otherA:K,otherSide:"remote"};Ct?Ze({kind:"move",el:null,source:at?"both":"local",base:T}):at&&Xe({kind:"move",el:null,source:"remote",base:T});let St=ie.asBase?[]:ie.units.filter(ye=>!ie.baseOf(ye)&&!kt.has(ye)&&!_t.partner.has(ye)),cn=ae.asBase?[]:ae.units.filter(ye=>!ae.baseOf(ye)&&!kt.has(ye)&&!_t.partner.has(ye)),Gt=new Map;if(St.length&&cn.length){let ye=new Map,Je=new Map;for(let st of cn){if(ut(st)){let Rt=C(st);Rt&&ye.set(Rt,st)}let vt=l.unitHash(st);Je.has(vt)||Je.set(vt,[]),Je.get(vt).push(st)}let Ye=(st,vt)=>{let Rt=st.units.indexOf(vt);for(let ct=Rt-1;ct>=0;ct--){let Nt=st.baseOf(st.units[ct]);if(Nt)return Nt}return"start"},xt=new Map,jt=new Map;for(let st of cn){let vt=Ye(ae,st);ut(st)?(jt.has(vt)||jt.set(vt,[]),jt.get(vt).push(st)):st.kind==="text"&&!xt.has(vt)&&xt.set(vt,st)}for(let st of St){let vt=null;if(ut(st)){let ct=y(st);ct&&ye.has(ct)&&!Gt.has(ye.get(ct))&&(vt=ye.get(ct))}else if(st.kind==="text"){let ct=xt.get(Ye(ie,st));ct&&!Gt.has(ct)&&(vt=ct)}let Rt=!!k(st);if(!vt&&!Rt){let ct=Je.get(l.unitHash(st));ct&&(vt=ct.find(Nt=>!Gt.has(Nt)&&ut(Nt)===ut(st)&&(ut(Nt)?Nt.tagName===st.tagName&&!z(Nt):Nt.kind===st.kind)&&l.equalUnits(st,Nt))||null)}if(!vt&&ut(st)&&!Rt){let ct=g.local(st),Nt=(jt.get(Ye(ie,st))||[]).filter(sn=>{let fn=g.remote(sn);return!Gt.has(sn)&&sn.tagName===st.tagName&&!z(sn)&&!(ct&&fn&&ct!==fn)&&l.similar(st,sn)});Nt.length===1&&(vt=Nt[0])}vt&&(Gt.set(vt,st),Gt.set(st,vt))}}let jn=ye=>{if(zt?.consumes(ye))return null;if(ee.has(ye)||gt?.has(ye))return et.get(ye)||null;let Je=ie.twin(ye),Ye=ae.twin(ye),xt=Je&&!ie.asBase&&!ie.here(Je),jt=Ye&&!ae.asBase&&!ae.here(Ye);if(xt||jt){if((!Je||!Ye)&&dt({kind:"structure",el:null,detail:"move-beats-delete",base:ye},{subject:ye,deleted:Je?"remote":"local"}),!Oe(ye))return ut(ye)?(gt||=fo(ve,Be,U,K,me,J,s,n.remoteWins,b,dt,j,R,S),xt&>.plan(ye,"local",Je),jt&>.plan(ye,"remote",Ye)):ee.add(ye),null;dt({kind:"structure",el:null,detail:"both-moved",base:ye},{subject:ye})}if(Je&&!Ye&&!ie.asBase&&!ae.asBase&&ut(ye)&&Mn.has(ye.tagName)&&!n.remoteWins(ye)&&!n.remoteWins(Je)&&j(ye,Je,U)&&Ji(ye,ne(ae.el),s)){let Nt={ignored:s,remoteWins:n.remoteWins,inlineCache:Ne},sn=fn=>ut(fn)?Pn(fn,Nt):fn.kind==="text";if(r(ye).every(sn)&&r(Je).every(sn)){let fn=Gn({base:[ye],local:[Je],remote:[],blocks:new Set([ye,Je]),out:te,policy:Qe,L:U,R:K,idOf:{base:p,local:y,remote:C},ignored:s,ignoreAttribute:n.ignoreAttribute,remoteWins:n.remoteWins,mergeElement:(pn,kn,In)=>J(pn,kn,In,!1),cloneUnit:G,mergeAttrs:Z,atomKey:l.exactUnitKey,moveIn:Te,moveBuilt:Te,movePlanned:Te,provenance:ve,textMappers:ze,conflicts:b,conflict:dt,scope:{base:T,local:ie.el,remote:ae.el,units:De,at:Ue.get(ye)},decisions:re,node:ue});oe.push(...fn.segments),ee.add(ye),ee.add(Je);let yn=te.createDocumentFragment();for(let pn of fn.nodes)yn.appendChild(pn);return et.set(ye,yn),et.set(Je,yn),yn}}if(!Je&&!Ye)return ee.add(ye),Xe({kind:"remove",source:"both",base:ye}),null;if(!Je&&!j(ye,Ye,K))return ee.add(ye),Ze({kind:"remove",source:"local",base:ye}),null;if(!Ye&&!j(ye,Je,U))return ee.add(ye),Xe({kind:"remove",source:"remote",base:ye}),null;let st=!Je||!Ye,vt=ie.asBase?me(U,ye)||null:Je,Rt=ae.asBase&&ut(ye)&&(K.identityPaired.has(ye)||!g.base(ye))&&me(K,ye)||Ye,ct;return ut(ye)?ct=J(ye,vt,Rt,ie.asBase):ye.kind==="comment"?ct=Re(ye,vt,Ye,ie.asBase):ct=He(ye,vt,Ye,ie.asBase),ee.add(ye),ct&&(et.set(ye,ct),Je&&et.set(Je,ct),Ye&&et.set(Ye,ct),st&&(dt({kind:"structure",el:ct,detail:"edit-beats-delete",base:ye},{subject:ye,deleted:Je?"remote":"local"}),Je?Ze({kind:"insert",el:ct,source:"local"}):Xe({kind:"insert",el:ct,source:"remote"}))),ct},On=(ye,Je,Ye,xt)=>{if(zt?.consumes(ye))return null;if(ee.has(ye))return et.get(ye)||null;let jt=Je.baseOf(ye);if(jt&&qe.has(jt))return kt.has(jt)&&!kt.has(ye)?Ao(jt,ye,xt):jn(jt);if(jt)return Dn(jt,ye,xt);let st=Gt.get(ye);if(st){let Rt=xt==="local"?ye:st,ct=xt==="local"?st:ye,Nt;return ut(Rt)?l.equalUnits(Rt,ct)?(Nt=G(Rt,"local"),Nt&&(ve.get(Nt).remote=ct)):Nt=H(Rt,ct):Nt=be(Rt,ct),ee.add(Rt),ee.add(ct),Nt&&(et.set(Rt,Nt),et.set(ct,Nt),ut(Rt)&&Ze({kind:"insert",el:Nt,source:"both"})),Nt}let vt=G(ye,xt);return vt&&(et.set(ye,vt),xt==="local"?Ze({kind:"insert",el:vt,source:"local"}):Xe({kind:"insert",el:vt,source:"remote"})),vt},Ao=(ye,Je,Ye)=>{let xt;return ut(ye)?(xt=Te(ye,Ye,Je),xt&&ee.add(Je)):(xt=G(Je,Ye),ee.add(Je),xt&&(Ye==="local"?Ze:Xe)({kind:"insert",el:xt,source:Ye})),xt&&et.set(Je,xt),xt},Dn=(ye,Je,Ye)=>{Te(ye,null,null);let jt=me(Ye==="local"?K:U,ye),st=Je,vt=jt?$e(jt,Ye==="local"?Q:q,Ye==="local"?K:U):!1,Rt=jt&&!vt&&!tt(ye,jt);if(Rt&&Ye===Vt.otherSide)return dt({kind:"structure",el:null,detail:"both-moved",base:ye},{subject:ye}),null;if(Rt&&dt({kind:"structure",el:null,detail:"both-moved",base:ye},{subject:ye}),jt||dt({kind:"structure",el:null,detail:"move-beats-delete",base:ye},{subject:ye,deleted:Ye==="local"?"remote":"local"}),Ke.has(ye)){dt({kind:"structure",el:null,detail:"both-moved",base:ye},{subject:ye});let Nt=G(st,Ye);return Nt&&et.set(Je,Nt),Nt}ut(ye)&&(gt||=fo(ve,Be,U,K,me,J,s,n.remoteWins,b,dt,j,R,S),gt.plan(ye,Ye,st,!0));let ct=ut(ye)?J(ye,Ye==="local"?st:me(U,ye)||null,Ye==="remote"?st:me(K,ye)||null,!1):null;return ct&&(et.set(ye,ct),et.set(Je,ct),jt&&et.set(jt,ct),Ye==="local"?Ze({kind:"move",el:ct,source:"local"}):Xe({kind:"move",el:ct,source:"remote"})),ct};for(let ye of Vt.V.units){if(kt.has(ye)){if(Ot?.has(ye)){for(let xt of Ot.get(ye))Ge.has(xt)||(_e.push(xt),Ge.add(xt));continue}let Ye=et.get(ye);Ge.has(Ye)||(_e.push(Ye),Ge.add(Ye));continue}if(ee.has(ye)&&!(et.get(ye)&&Ge.has(et.get(ye)))){let Ye=Vt.V.baseOf(ye);Ye&&!qe.has(Ye)&&dt({kind:"structure",el:null,detail:"both-moved",base:Ye},{subject:Ye});continue}let Je=On(ye,Vt.V,Vt.A,Vt.side);Je&&!Ge.has(Je)&&(_e.push(Je),Ge.add(Je),!Vt.V.baseOf(ye)&&!Gt.has(ye)&&!kt.has(ye)&&Mt.add(Je))}for(let ye of Jt)Ge.has(ye.frag)||(_e.splice(ye.previous&&Ge.has(ye.previous)?_e.indexOf(ye.previous)+1:go(ye.at),0,ye.frag),Ge.add(ye.frag));if(!Vt.other.asBase){let ye=Vt.other,Je=Vt.otherSide,Ye=Vt.otherA,xt=null,jt=0,st=null;for(let vt of ye.units){let Rt=et.get(vt);if(Rt&&Ge.has(Rt)){xt=Rt,st=null;continue}if(ee.has(vt)){let sn=ye.baseOf(vt);sn&&!qe.has(sn)&&dt({kind:"structure",el:null,detail:"both-moved",base:sn},{subject:sn});continue}let ct=On(vt,ye,Ye,Je);if(!ct)continue;let Nt;if(st)Nt=_e.indexOf(st)+1;else if(xt){if(Nt=_e.indexOf(xt)+1,Je==="remote")for(;Nt<_e.length&&Mt.has(_e[Nt]);)Nt++}else Nt=jt++;_e.splice(Nt,0,ct),Ge.add(ct),st=ct}}for(let ye=0;ye<De.length;ye++){let Je=De[ye];if(ee.has(Je))continue;let Ye=jn(Je);Ye&&_e.splice(go(ye),0,Ye)}return _e;function go(ye){for(let Je=ye-1;Je>=0;Je--){let Ye=et.get(De[Je]);if(Ye){let xt=_e.indexOf(Ye);if(xt>=0)return xt+1}}return 0}function zo(){if((ie.asBase||U.identical.has(T))&&(ae.asBase||K.identical.has(T)))return;let ye={ignored:s,remoteWins:n.remoteWins,inlineCache:Ne},Je=it=>ut(it)?Pn(it,ye):it.kind==="text";if(!ie.asBase&&!ae.asBase)for(let it of De){if(!ut(it)||!Mn.has(it.tagName))continue;let nt=ie.twin(it),Lt=ae.twin(it);if(!nt&&Lt||nt&&!Lt){let rt=wr({base:De,views:[{V:ie,A:U,idOf:g.local},{V:ae,A:K,idOf:g.remote}],eligible:It=>ut(It)&&Mn.has(It.tagName)&&!s(It)&&!n.remoteWins(It),baseId:g.base,ignored:s,remoteWins:n.remoteWins,atomKey:l.exactUnitKey});rt&&(ie=rt[0],ae=rt[1]);break}}let Ye=!ie.asBase&&!ae.asBase&&De.length>=2&&Mn.has(De[0].tagName)&&ie.units.length===De.length&&ae.units.length===De.length?Xs({base:De,local:ie.units,remote:ae.units,localTwin:ie.twin,remoteTwin:ae.twin,eligible:it=>ut(it)&&Mn.has(it.tagName)&&!s(it)&&!n.remoteWins(it),nodes:{base:Array.from(ne(T).childNodes),local:Array.from(ne(ie.el).childNodes),remote:Array.from(ne(ae.el).childNodes)}}):null,xt=null,jt=null;if(!Ye&&!ie.asBase&&!ae.asBase&&(ys(De)||ys(ie.units)||ys(ae.units))){let it={ignored:s,remoteWins:()=>!1},nt=rt=>Je(rt)||ut(rt)&&n.remoteWins(rt)&&wn.has(rt.tagName)&&Pn(rt,it),Lt=rt=>ut(rt)?Mn.has(rt.tagName)&&!s(rt)&&!n.remoteWins(rt)&&r(rt).every(nt):rt.kind==="text";xt=yr({onUncertainOwner:rt=>{let It=n.identity.local(rt.local);It&&It===n.identity.remote(rt.remote)||(jt||=[]).push(rt)},onUncertainSource:rt=>{ot||(ot=new Map);let It=ot.get(rt.source);It||ot.set(rt.source,It=[]);for(let Yt of It)if(Yt.side===rt.side&&Yt.from===rt.from&&Yt.to===rt.to)return;It.push(rt)},base:De,views:[{V:ie,A:U,idOf:g.local},{V:ae,A:K,idOf:g.remote}],eligible:Lt,ignored:s,remoteWins:n.remoteWins,baseId:g.base,atomKey:l.exactUnitKey})}if(jt){Ot||=new Map;for(let it of jt){let{source:nt,local:Lt,remote:rt}=it,It={map:new Map,reverse:new Map,identical:new Set},Yt=Gn({base:[nt],local:[Lt],remote:[rt],out:te,policy:"both",L:It,R:It,ignored:s,remoteWins:n.remoteWins,atomKey:l.exactUnitKey,cloneUnit:G,provenance:ve,textMappers:ze,conflicts:b,decisions:re,conflict:(Et,tn)=>dt(Et,{...tn,policy:"both"}),scope:{base:T,local:ie.el,remote:ae.el,units:De,at:Ue.get(nt)},node:ue});oe.push(...Yt.segments);for(let Et of[nt,Lt,rt])ee.add(Et),kt.add(Et),Ot.set(Et,Yt.nodes),et.set(Et,Yt.nodes[Yt.nodes.length-1]);for(let Et=0;Et<Yt.nodes.length;Et++)Jt.push({frag:Yt.nodes[Et],at:Ue.get(nt),previous:Et?Yt.nodes[Et-1]:null})}}let st=Ye?Ye.blocks:null;if(xt){st=new Set;for(let it of xt.blocks)st.add(it)}let vt=it=>!zt?.consumes(it)&&(st&&st.has(it)||Je(it)),Rt=De.map(vt);if(!Rt.includes(!0))return;let ct=it=>{let nt=it.units,Lt=new Map;for(let Wt=0;Wt<nt.length;Wt++)Lt.set(nt[Wt],Wt);let rt=[],It=-1;for(let Wt=0;Wt<De.length;Wt++){if(Rt[Wt])continue;let At=it.twin(De[Wt]),Tt=At?Lt.get(At):void 0;Tt===void 0||Tt<=It||vt(At)||(rt.push([Wt,Tt]),It=Tt)}let Yt=[],Et=-1,tn=-1;for(let Wt=0;Wt<=rt.length;Wt++){let[At,Tt]=Wt<rt.length?rt[Wt]:[De.length,nt.length],Dt={bLo:-1,bHi:-1,from:tn+1,to:Tt,inlineStart:-1,inlineEnd:-1,next:Tt};for(let Qt=Et+1;Qt<At;Qt++)Rt[Qt]&&(Dt.bLo<0&&(Dt.bLo=Qt),Dt.bHi=Qt);for(let Qt=tn+1;Qt<Tt;Qt++){let Hn=nt[Qt];vt(Hn)&&(Dt.inlineStart<0&&(Dt.inlineStart=Qt),Dt.inlineEnd=Qt+1)}Yt.push(Dt),Et=At,tn=Tt}return{units:nt,list:Yt}},Nt=ct(ie),sn=ct(ae),fn=[];for(let it of[Nt,sn])for(let nt of it.list)nt.bLo>=0&&fn.push([nt.bLo,nt.bHi]);fn.sort((it,nt)=>it[0]-nt[0]);let yn=[];for(let[it,nt]of fn){let Lt=yn[yn.length-1];Lt&&it<=Lt.hi?Lt.hi=Math.max(Lt.hi,nt):yn.push({lo:it,hi:nt})}let pn=(it,nt)=>it.length===nt.length&&it.every((Lt,rt)=>l.equalUnits(Lt,nt[rt])),kn=it=>!ut(it)&&it.kind==="comment",In=it=>{if(!it.length)return[];let nt=(Et,tn)=>ut(Et)?Et:Et.nodes[tn?Et.nodes.length-1:0],Lt=nt(it[0]),rt=nt(it[it.length-1],!0),It=Et=>Et&&ut(Et)&&s(Et);for(;It(Lt.previousSibling);)Lt=Lt.previousSibling;for(;It(rt.nextSibling);)rt=rt.nextSibling;let Yt=[];for(let Et=Lt;Et&&(Yt.push(Et),Et!==rt);Et=Et.nextSibling);return Yt},Mo=it=>it.some(nt=>ut(nt)&&s(nt));for(let it of yn){let nt=De.slice(it.lo,it.hi+1),Lt=null;if(xt)for(let At of nt){let Tt=xt.certificatesBySource.get(At);Tt&&(Lt||=[]).push(...Tt)}let rt=ie.asBase?null:ws(Nt,it),It=ae.asBase?null:ws(sn,it);if(Lt){let At=[new Set(rt||nt),new Set(It||nt)],Tt=Lt.some(Dt=>!At[Dt.side].has(Dt.target));for(let Dt of nt)if(st.has(Dt))for(let[Qt,Hn]of[[0,ie],[1,ae]]){let Vn=Hn.twin(Dt);Vn&&Hn.here(Vn)&&!At[Qt].has(Vn)&&(Tt=!0)}if(Tt)continue}if(nt.some(kn)||rt&&rt.some(kn)||It&&It.some(kn))continue;let Yt=In(rt||nt),Et=In(It||nt);if((!rt||pn(nt,rt))&&(!It||pn(nt,It))&&!(rt&&Mo(Yt)))continue;let tn=Gn({base:In(nt),sourceRetentions:ot?.get(T),local:Yt,remote:Et,out:te,policy:Qe,blocks:st,scopeUnits:Lt?[nt,rt||nt,It||nt]:null,certifiedOrigins:Lt?(At,Tt,Dt,Qt,Hn,Vn)=>kr({certificates:Lt,scopes:[nt,rt||nt,It||nt],flats:[At,Tt,Dt],keys:[Qt,Hn,Vn]}):null,prepared:Ye?Ye.prepared:null,nativeTransfers:Ye,L:rt?U:xr(U,T),R:It?K:xr(K,T),idOf:{base:p,local:y,remote:C},ignored:s,ignoreAttribute:n.ignoreAttribute,remoteWins:n.remoteWins,mergeElement:(At,Tt,Dt)=>J(At,Tt,Dt,!1),cloneUnit:G,mergeAttrs:Z,atomKey:l.exactUnitKey,moveIn:Te,moveBuilt:Te,movePlanned:Te,provenance:ve,textMappers:ze,conflicts:b,conflict:dt,scope:{base:T,local:ie.asBase?null:ie.el,remote:ae.asBase?null:ae.el,units:De,at:it.lo},decisions:re,node:ue});if(!tn){if(Lt){let At=Js({certificates:Lt,scopes:[nt,rt||nt,It||nt],views:[{V:ie,A:U,idOf:g.local},{V:ae,A:K,idOf:g.remote}],eligible:Tt=>ut(Tt)&&Mn.has(Tt.tagName)&&!s(Tt)&&!n.remoteWins(Tt),baseId:g.base});for(let Tt of At.records){ot||=new Map;let Dt=ot.get(Tt.source);Dt||ot.set(Tt.source,Dt=[]),Dt.push(Tt)}}continue}if(oe.push(...tn.segments),Ye){let At=new Map;for(let Tt of tn.nodes){let Dt=ve.get(Tt)?.base;if(!Dt||At.has(Dt))throw new Error("Invalid native transfer owner output");At.set(Dt,Tt)}if(At.size!==Ye.owners.length)throw new Error("Incomplete native transfer owner output");for(let Tt of Ye.owners){let Dt=At.get(Tt.base);if(!Dt)throw new Error("Missing native transfer owner output");for(let Qt of[Tt.base,Tt.local,Tt.remote])ee.add(Qt),kt.add(Qt),et.set(Qt,Dt);Jt.push({frag:Dt,at:Ue.get(Tt.base)})}continue}if(tn.unitOutputs){Ot||=new Map;for(let At of[...nt,...rt||[],...It||[]]){let Tt=tn.unitOutputs.get(At)||[];ee.add(At),kt.add(At),Ot.set(At,Tt),Tt.length&&et.set(At,Tt[Tt.length-1])}for(let At=0;At<tn.nodes.length;At++)Jt.push({frag:tn.nodes[At],at:it.lo,previous:At>0?tn.nodes[At-1]:null});continue}let Wt=te.createDocumentFragment();for(let At of tn.nodes)Wt.appendChild(At);for(let At of[...nt,...rt||[],...It||[]])ee.add(At),kt.add(At),et.set(At,Wt);Jt.push({frag:Wt,at:it.lo})}}}function pe(T,q){let Q=ve.get(T);return Q&&Q.unchanged?!Q.remote||Q.remote===q?!0:ce(Q.remote,q):T.tagName!==q.tagName||!$(T,q)?!1:fe(ne(T),ne(q))}function ce(T,q){return T===q?!0:T.tagName!==q.tagName||T.namespaceURI!==q.namespaceURI||!$(T,q)?!1:xe(ne(T),ne(q))}function xe(T,q){let Q=Ee(T,s),we=Ee(q,s);if(Q.length!==we.length)return!1;for(let ue=0;ue<Q.length;ue++){let ie=Q[ue],ae=we[ue];if(typeof ie=="string"||typeof ae=="string"){if(ie!==ae)return!1}else{if(ie.nodeType!==ae.nodeType)return!1;if(ie.nodeType===1){if(!ce(ie,ae))return!1}else if(ie.nodeValue!==ae.nodeValue)return!1}}return!0}function ne(T){return T.tagName==="TEMPLATE"&&T.content?T.content:T}function $(T,q){let Q=0;for(let we of T.attributes)if(!n.ignoreAttribute(T,we.name)&&(Q++,q.getAttribute(we.name)!==we.value))return!1;for(let we of q.attributes)n.ignoreAttribute(q,we.name)||Q--;return Q===0}function fe(T,q){let Q=Ee(T,ue=>{let ie=ve.get(ue);return!!(ie&&ie.pinned)}),we=Ee(q,s);if(Q.length!==we.length)return!1;for(let ue=0;ue<Q.length;ue++){let ie=Q[ue],ae=we[ue];if(typeof ie=="string"||typeof ae=="string"){if(ie!==ae)return!1}else{if(ie.nodeType!==ae.nodeType)return!1;if(ie.nodeType===1){if(!pe(ie,ae))return!1}else if(ie.nodeValue!==ae.nodeValue)return!1}}return!0}function Ee(T,q){let Q=[],we=null;for(let ue=T.firstChild;ue;ue=ue.nextSibling){if(ue.nodeType===3){we=we===null?ue.nodeValue:we+ue.nodeValue;continue}ue.nodeType===1&&q(ue)||(we!==null&&(we!==""&&Q.push(we),we=null),Q.push(ue))}return we!==null&&we!==""&&Q.push(we),Q}function Re(T,q,Q,we){let ue=T.value,ie=we?ue:q?q.value:"",ae=Q?Q.value:"";ee.add(T),q&&ee.add(q),Q&&ee.add(Q);let De=ie===ae?ie:ie===ue?ae:ae===ue||Qe==="local"?ie:ae,qe={site:"comment",bRun:T,lRun:q,rRun:Q,node:null};if(ie!==ue&&ae!==ue&&ie!==ae&&dt({kind:"text",node:null,base:ue,local:ie,remote:ae,resolved:De},qe),!q&&!Q)return null;let Ue=te.createComment(De);return qe.node=Ue,ve.set(Ue,{base:T.nodes,local:q?q.nodes:null,remote:Q?Q.nodes:null}),Ue}function Ve(T,q){let Q=me(q,T);if(!Q)return null;let we=ut(Q)?Q.parentNode:Q.parent,ue=ut(T)?T.parentNode:T.parent;return me(q,ue)===we?null:q.reverse.get(we)||null}function Oe(T){let q=new Set([T]),Q=T;for(let we=0;we<64;we++){let ue=Ve(Q,U)||Ve(Q,K);if(!ue)return!1;if(ue===T||ut(T)&&ut(ue)&&T.contains(ue)||q.has(ue))return!0;q.add(ue),Q=ue}return!0}function $e(T,q,Q){if(!q)return!1;let we=ut(T)?T.parentNode:T.parent;return we===q||q.tagName==="TEMPLATE"&&we===q.content}function tt(T,q){let Q=Be(T),we=me(U,Q);if(we&&$e(q,we,U))return!0;let ue=me(K,Q);return!!(ue&&$e(q,ue,K))}}function xr(e,o){return e.map.get(o)?Tr():{map:{get:n=>n&&n.nodeType===1&&e.map.get(n)||n,has:()=>!0},reverse:{get:n=>e.reverse.get(n)||n,has:()=>!0},moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}function Tr(){let e={get:o=>o,has:()=>!0};return{map:e,reverse:e,moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}var vr=new Set(["INPUT","OPTION","TEXTAREA"]),xs=/[\t\n\f\r ]+/;function Sr(e,o,t,n){let s=e.ownerDocument,{provenance:d,textMappers:l}=t,r=n.hooks,i=[],u=[],w=[],c=new Set,h=[],p=[],y=new Map,C=new Set,g=new Map,f=t.conflicts.length>0,m=new Map,R=new Set,S=new Map,O=(F,le)=>{let ge=S.get(F);ge||S.set(F,ge=new Set),ge.add(le)},E=f?new Set:null,P=(F,le,ge)=>{let me=r.beforeAttributeUpdated(F,le,ge);return f&&me===!1&&O(le,F),me},v=F=>!!F&&(F===e||e.contains(F)||e.nodeType===1&&e.tagName==="TEMPLATE"&&e.content.contains(F)),N=new Map,L=new Map,D=new Map,B=new Set,M=new Map;(function F(le){let ge=d.get(le);if(ge){if(le.nodeType===1){let Te=ge.local?n.toLive(ge.local):null;Te&&v(Te)&&Te.nodeType===1&&(N.set(le,Te),L.set(Te,le))}else if(Array.isArray(ge.local)){let Te=K(ge.local,ge.local.map(A=>n.toLive(A)).filter(A=>A&&v(A)&&A.nodeType===le.nodeType));if(Te.length&&(N.set(le,Te[0]),L.set(Te[0],le),D.set(le,Te)),Array.isArray(ge.caret))for(let A of ge.caret){let j=n.toLive(A.node);if(!j||!v(j)||j.nodeType!==3)continue;let Y=M.get(j);Array.isArray(Y)||M.set(j,Y=[]),Y.push({merged:le,from:A.from,to:A.to,flatStart:A.flatStart})}else{let A=0;for(let j of Te)M.set(j,{merged:le,shift:A}),A+=j.nodeValue.length}}}let me=le.nodeType===1&&le.tagName==="TEMPLATE"&&le.content?le.content.childNodes:le.childNodes;for(let Te of me)F(Te)})(o);let x=new Set;for(let F of N.values())x.add(F);for(let F of D.values())for(let le of F)x.add(le);let k=n.localRoot&&n.localRoot!==e?new Set:null;if(k){for(let F=n.localRoot.firstElementChild;F;F=F.nextElementSibling)if(F.tagName==="HEAD")for(let le=F.firstElementChild;le;le=le.nextElementSibling){let ge=n.toLive(le);ge&&k.add(ge)}}for(let F of t.segments||[])Ae(F);let z=n.restoreFocus===!1?null:Qi(s,M);n.childrenOnly?ve(Me(e),Me(o)):Be(e,o);for(let{node:F,parent:le}of h)c.has(F)||!F.parentNode||F.nodeType===1&&(n.ignored(F)||ze(F))||ot(F,le);return Zi(s,z,M,l,D,g,B),{applied:i,moved:u,replaced:w,identities:p,mergedScriptsLive:C,liveOf:N,heldBy:g,runOf:D,keptRuns:B,insertedLive:m,vetoed:R,vetoedAttrs:S,removedVetoes:E};function U(F,le){let ge=F.slice(le.bs,le.be),me=0;for(;me<ge.length&&me<le.text.length&&ge[me]===le.text[me];)me++;let Te=0;for(;Te<ge.length-me&&Te<le.text.length-me&&ge[ge.length-1-Te]===le.text[le.text.length-1-Te];)Te++;return{bs:le.bs+me,be:le.be-Te,text:le.text.slice(me,le.text.length-Te)}}function K(F,le){if(!le.length)return le;let ge=[];for(let A of F){let j=A.parentNode;if(!j)continue;let Y=y.get(j);if(!Y){Y=new Set;for(let J=j.firstChild;J;J=J.nextSibling)J.nodeType===3&&Y.add(n.toLive(J));y.set(j,Y)}ge.includes(Y)||ge.push(Y)}let me={has:A=>ge.some(j=>j.has(A))},Te=[];for(let A of le){Te.push(A);for(let j=A.nextSibling;j&&j.nodeType===3&&!me.has(j)&&!Te.includes(j);j=j.nextSibling)Te.push(j)}return Te}function Ae(F){let le=[];for(let be of F.localNodes){let H=n.toLive(be.node);if(!H||!v(H)||H.nodeType!==3)return;le.push(H)}let ge=K(F.localNodes.map(be=>be.node),le);if(!ge.length)return;let me=ge.map(be=>be.nodeValue).join(""),{flatLocal:Te,lToM:A,mapLocal:j}=F;if(me===Te)return;let Y=F.textNodes.map(be=>({node:be.node,ms:be.ms,me:be.me})),J=[],se=0;for(let be of ge)J.push(se),se+=be.nodeValue.length;let je=(be,H)=>ge.find((G,de)=>J[de]<=be&&be+H<=J[de]+G.nodeValue.length)||null,Z=[],Ie=0;for(let be of Fn(Te,me).map(H=>U(Te,H))){let H=be.bs+Ie;Ie+=be.text.length-(be.be-be.bs);let G,de;if(be.be>be.bs){G=A[be.bs];let pe=G>=0;for(let ce=be.bs;pe&&ce<be.be;ce++)A[ce]!==G+(ce-be.bs)&&(pe=!1);if(!pe)continue;de=G+(be.be-be.bs)}else{let pe=be.bs>0?A[be.bs-1]:0,ce=be.bs<Te.length?A[be.bs]:0;if(pe<0||ce<0)continue;G=de=j(be.bs)}Z.push({ms:G,me:de,text:be.text,live:de===G?je(H,be.text.length):null})}Z.sort((be,H)=>H.ms-be.ms);let He=(be,H)=>(D.get(be.node)||[N.get(be.node)]).includes(H),Ce=be=>!!be&&be.nodeType===1&&wn.has(be.tagName);for(let be of Z){let H=Y.find(de=>de.ms<=be.ms&&be.me<=de.me&&be.ms<de.me);if(H&&be.live&&H.ms===be.ms&&!He(H,be.live)){let de=Y.find(pe=>pe.me===be.ms&&He(pe,be.live));de&&(H=de)}if(!H&&be.me===be.ms){let de=Y.find(ne=>ne.me===be.ms),pe=Y.find(ne=>ne.ms===be.ms),ce=de||pe;if(!ce)continue;let xe=ce.node;for(;Ce(xe.parentNode)&&(de?xe.parentNode.lastChild:xe.parentNode.firstChild)===xe;)xe=xe.parentNode;if(xe===ce.node)H=ce;else{let ne=xe.ownerDocument.createTextNode(be.text);xe.parentNode.insertBefore(ne,de?xe.nextSibling:xe);continue}}if(!H)continue;let G=H.node.nodeValue;H.node.nodeValue=G.slice(0,be.ms-H.ms)+be.text+G.slice(be.me-H.ms),H.me+=be.text.length-(be.me-be.ms)}}function Me(F){return F.nodeType===1&&F.tagName==="TEMPLATE"&&F.content?F.content:F}function Be(F,le){c.add(F);let ge=d.get(le);if(ge&&ge.remote&&t.remoteIdOf){let Te=t.remoteIdOf(ge.remote);Te&&p.push([F,Te])}if(ge&&ge.unchanged){t.customIdentity&&ge.remote&&oe(F,ge.remote),ge.remote&&_(F,ge.remote);return}if(r.beforeNodeMorphed(F,le)===!1){R.add(le);return}gt(F,le,n.keepLiveOnly&&ge&&ge.local&&ge.local.nodeType===1&&ge.local!==F?ge.local:null);let me=F.tagName;if(dn(F))F.textContent!==le.textContent&&(i.push({kind:"text",node:F,before:F.textContent,after:le.textContent}),F.textContent=le.textContent),t.mergedScripts.has(le)&&C.add(F);else if(me==="TEXTAREA")$t(F,le,ge);else{an(F,le,ge);let Te=me==="TEMPLATE"&&F.content?F.content:F,A=me==="TEMPLATE"&&le.content?le.content:le;n.protectFocusedValue==="subtree"&&_t(F)&&F!==s.body?te(Te):ve(Te,A)}r.afterNodeMorphed(F,le)}function te(F){for(let le=F.firstChild;le;le=le.nextSibling){let ge=L.get(le);ge&&N.get(ge.parentNode)!==F||(c.add(le),le.nodeType===1&&te(le))}}function ve(F,le){let ge=Ke(F.firstChild),me=new Set;for(let Te of Array.from(le.childNodes)){let A=N.get(Te);A&&c.has(A)&&!me.has(A)&&(A=null);let j=d.get(Te);if(j&&j.pinned){A&&A.nodeType===1&&((A.parentNode!==F||Ke(A.nextSibling)!==ge)&&Ne(F,A,ge),c.add(A),me.add(A));continue}if(A&&A.nodeType===1){if(A!==ge){let se=A.parentNode;if(se===F&&ge&&Ht(A)){let je=A.nextSibling;for(let Z=ge;Z&&Z!==A;){let Ie=Z.nextSibling;Ne(F,Z,je),Z=Ie}}else Ne(F,A,ge),se!==F&&(u.push(A),i.push({kind:"move",el:A,from:se,to:F}))}me.add(A),Be(A,Te),ge=Ke(A.nextSibling);continue}if(A&&A.nodeType!==1){let se=D.get(Te)||[A],je=se.map(Ie=>Ie.nodeValue).join(""),Z=Te.nodeValue;if(Te.nodeType===3){let Ie=re(Te);Ie!=null&&je!==Ie&&(Z=no(Ie,je,Te.nodeValue).text)}if(se.length>1&&je===Z&&!se.includes(ge,1)&&se.every((Ie,He)=>Ie.parentNode===F&&(He===0||se[He-1].nextSibling===Ie))){if(A!==ge)for(let Ie of se)Ne(F,Ie,ge);r.beforeNodeMorphed(A,Te)!==!1?r.afterNodeMorphed(A,Te):f&&R.add(Te);for(let Ie of se)c.add(Ie),me.add(Ie);g.set(Te,A),B.add(Te),ge=Ke(se[se.length-1].nextSibling);continue}A!==ge&&Ne(F,A,ge),r.beforeNodeMorphed(A,Te)!==!1?(A.nodeValue!==Z&&(i.push({kind:"text",node:A,before:A.nodeValue,after:Z}),A.nodeValue=Z),r.afterNodeMorphed(A,Te)):R.add(Te),c.add(A),me.add(A),g.set(Te,A),ge=Ke(A.nextSibling);continue}if(Te.nodeType===3&&ge&&ge.nodeType===3&&!c.has(ge)&&!M.has(ge)){ge.nodeValue!==Te.nodeValue&&(i.push({kind:"text",node:ge,before:ge.nodeValue,after:Te.nodeValue}),ge.nodeValue=Te.nodeValue),c.add(ge),g.set(Te,ge),ge=Ke(ge.nextSibling);continue}let Y=d.get(Te),J=Qe(Y&&Y.unchanged&&Y.remote?Y.remote:Te);if(r.beforeNodeAdded(J)===!1){R.add(Te);continue}F.insertBefore(J,ge),c.add(J),f&&m.set(Te,J),J.nodeType===3&&g.set(Te,J),J.nodeType===1&&(w.push(J),Pe(J,Te),t.customIdentity&&Y&&Y.unchanged&&Y.remote&&oe(J,Y.remote),dn(J)||Ze(J,Te),n.formState==="property"&&Bt(Y)&&_(J,Y.remote)),ge=Ke(J.nextSibling),i.push({kind:"insert",node:J,parent:F}),r.afterNodeAdded(J)}for(let Te of Array.from(F.childNodes))c.has(Te)||me.has(Te)||Te.nodeType===1&&(n.ignored(Te)||ze(Te))||(x.has(Te)?h.push({node:Te,parent:F}):ot(Te,F))}function ze(F){return F.parentNode&&F.parentNode.nodeType===1&&F.parentNode.tagName==="HEAD"&&(k&&!k.has(F)||n.preserve&&n.preserve(F)===!0)}function re(F){let le=d.get(F);return!le||!Array.isArray(le.local)?null:le.local.map(ge=>ge.nodeValue).join("")}function b(F){return d.get(F)}function _(F,le){if(!vr.has(F.tagName)&&!F.querySelector("input,option,textarea"))return;let ge=(me,Te)=>{if(me.tagName!==Te.tagName)return;me.tagName==="TEXTAREA"?$t(me,Te,{remote:Te}):vr.has(me.tagName)&&an(me,Te,{remote:Te});let A=ee(me),j=ee(Te);if(A.length===j.length)for(let Y=0;Y<A.length;Y++)ge(A[Y],j[Y])};ge(F,le)}function oe(F,le){let ge=ee(F),me=ee(le);if(ge.length===me.length)for(let Te=0;Te<ge.length;Te++){let A=t.remoteIdOf(me[Te]);A&&p.push([ge[Te],A]),oe(ge[Te],me[Te])}}function ee(F){let le=F.tagName==="TEMPLATE"&&F.content?F.content:F;return Array.from(le.children).filter(ge=>!n.ignored(ge))}function Pe(F,le){if(!t.remoteIdOf)return;let ge=(me,Te)=>{let A=d.get(Te);if(A&&A.remote&&Te.nodeType===1){let J=t.remoteIdOf(A.remote);J&&p.push([me,J])}let j=me.childNodes,Y=Te.childNodes;for(let J=0;J<j.length&&J<Y.length;J++)ge(j[J],Y[J])};ge(F,le)}function Ke(F){for(;F&&F.nodeType===1&&n.ignored(F);)F=F.nextSibling;return F}function Ne(F,le,ge){if(typeof F.moveBefore=="function"&&le.ownerDocument===F.ownerDocument)try{F.moveBefore(le,ge);return}catch{}F.insertBefore(le,ge)}function ot(F,le){if(r.beforeNodeRemoved(F)===!1){f&&E.add(F);return}F.parentNode.removeChild(F),i.push({kind:"remove",node:F,parent:le}),r.afterNodeRemoved(F)}function Qe(F){if(dn(F))return ko(F,s);let le=s.importNode(F,!0);if(le.nodeType===1)for(let ge of Array.from(le.querySelectorAll("script")))dn(ge)&&ge.replaceWith(ko(ge,s));return le}function Ze(F,le){let ge=F.tagName==="TEMPLATE"&&F.content?F.content:F,me=le.tagName==="TEMPLATE"&&le.content?le.content:le,Te=Array.from(ge.childNodes),A=Array.from(me.childNodes);for(let j=0;j<A.length&&j<Te.length;j++){let Y=A[j],J=Te[j],se=N.get(Y);se&&c.has(se)&&(se=null);let je=d.get(Y);if(je&&je.pinned){if(se&&se.nodeType===1){let Z=se.parentNode;Ne(ge,se,J),Z!==ge&&(u.push(se),i.push({kind:"move",el:se,from:Z,to:ge})),c.add(se)}J.remove();continue}if(se){let Z=se.parentNode;Ne(ge,se,J),J.remove(),se.nodeType===1?(Z!==ge&&(u.push(se),i.push({kind:"move",el:se,from:Z,to:ge})),Be(se,Y)):(c.add(se),g.set(Y,se),se.nodeValue!==Y.nodeValue&&(i.push({kind:"text",node:se,before:se.nodeValue,after:Y.nodeValue}),se.nodeValue=Y.nodeValue));continue}c.add(J),f&&m.set(Y,J),J.nodeType===3&&g.set(Y,J),je&&je.unchanged&&je.remote?(Xe(J,je.remote),t.customIdentity&&oe(J,je.remote)):Y.nodeType===1&&!dn(Y)&&Ze(J,Y)}}function Xe(F,le){let ge=F.tagName==="TEMPLATE"&&F.content?F.content:F,me=le.tagName==="TEMPLATE"&&le.content?le.content:le;for(let Te of Array.from(me.childNodes))ge.appendChild(Qe(Te))}function wt(F,le){return le.namespaceURI?F.getAttributeNS(le.namespaceURI,le.localName):F.getAttribute(le.name)}function dt(F,le){let ge=new Set((le||"").split(xs).filter(Boolean));return(F||"").split(xs).filter(me=>me&&!ge.has(me))}function gt(F,le,ge){for(let me of Array.from(le.attributes)){if(zt(F,me.name)||n.ignoreAttribute(F,me.name))continue;let Te=wt(F,me);if(Te===me.value||ge&&wt(ge,me)===me.value)continue;let A=me.value;if(ge&&me.name==="class"&&!me.namespaceURI){let j=me.value.split(xs).filter(Boolean),Y=dt(Te,ge.getAttribute("class")).filter(J=>!j.includes(J));Y.length&&(A=[...j,...Y].join(" "))}if(Te!==A){if(r.beforeAttributeUpdated(me.name,F,"update")===!1){f&&O(le,me.name);continue}me.namespaceURI?F.setAttributeNS(me.namespaceURI,me.name,A):F.setAttribute(me.name,A),i.push({kind:"attr",el:F,name:me.name,before:Te,after:A})}}for(let me of Array.from(F.attributes)){if(zt(F,me.name)||n.ignoreAttribute(F,me.name)||(me.namespaceURI?le.hasAttributeNS(me.namespaceURI,me.localName):le.hasAttribute(me.name)))continue;if(ge&&me.name==="class"&&!me.namespaceURI){let j=dt(me.value,ge.getAttribute("class"));if(j.length){let Y=j.join(" ");if(Y===me.value)continue;if(r.beforeAttributeUpdated("class",F,"update")===!1){f&&O(le,"class");continue}F.setAttribute("class",Y),i.push({kind:"attr",el:F,name:"class",before:me.value,after:Y});continue}}if(ge&&wt(ge,me)===null)continue;if(r.beforeAttributeUpdated(me.name,F,"remove")===!1){f&&O(le,me.name);continue}let A=me.value;me.namespaceURI?F.removeAttributeNS(me.namespaceURI,me.localName):F.removeAttribute(me.name),i.push({kind:"attr",el:F,name:me.name,before:A,after:null})}}function zt(F,le){let ge=F.tagName;return ge==="INPUT"?le==="value"||le==="checked"||le==="disabled":ge==="OPTION"?le==="selected":!1}function _t(F){return F===s.activeElement}function Ht(F){let le=s.activeElement;return!!le&&le!==s.body&&F.contains(le)}function Bt(F){let le=F&&F.remote;return le&&le.nodeType===1?le:null}function an(F,le,ge){let me=F.tagName,Te=Bt(ge),A=n.formState==="property"&&Te?Te:le;if(me==="INPUT"){let j=n.protectFocusedValue&&_t(F),Y=(F.getAttribute("type")||"").toLowerCase(),J=Y!=="file"&&Y!=="checkbox"&&Y!=="radio",se=Te&&Te.hasAttribute("value")&&Te.value!==Te.getAttribute("value")?Te.value:null;if(J&&!j)if(n.formState==="property"){let je=le.getAttribute("value"),Z=F.getAttribute("value");(Z!==je||F.value!==A.value)&&P("value",F,je==null?"remove":"update")!==!1&&(Z!==je&&(je==null?F.removeAttribute("value"):F.setAttribute("value",je),i.push({kind:"attr",el:F,name:"value",before:Z,after:je})),F.value!==A.value&&(F.value=A.value))}else if(le.hasAttribute("value")||se!=null){let je=se??le.getAttribute("value");F.getAttribute("value")!==je&&P("value",F,"update")!==!1?(F.setAttribute("value",je),F.value!==je&&(F.value=je),i.push({kind:"attr",el:F,name:"value",before:null,after:je})):F.value!==je&&F.getAttribute("value")===je&&(F.value=je)}else(F.hasAttribute("value")||F.value!=="")&&P("value",F,"remove")!==!1&&(F.removeAttribute("value"),F.value="",i.push({kind:"attr",el:F,name:"value",before:"",after:null}));if(!J&&Y!=="file"){let je=le.getAttribute("value");je==null?F.hasAttribute("value")&&P("value",F,"remove")!==!1&&F.removeAttribute("value"):F.getAttribute("value")!==je&&P("value",F,"update")!==!1&&F.setAttribute("value",je)}j||(Kt(F,A,"checked"),n.formState==="property"&&F.indeterminate!==A.indeterminate&&(F.indeterminate=A.indeterminate)),Kt(F,A,"disabled")}else if(me==="OPTION"){let j=F.parentNode&&F.closest("select");n.protectFocusedValue&&j&&_t(j)||Kt(F,A,"selected")}}function Kt(F,le,ge){let me=n.formState==="property"?!!le[ge]:le.hasAttribute(ge);if(n.formState!=="property"){let Te=F.hasAttribute(ge);if(Te!==me){if(P(ge,F,me?"update":"remove")===!1)return;me?F.setAttribute(ge,""):F.removeAttribute(ge),i.push({kind:"attr",el:F,name:ge,before:Te?"":null,after:me?"":null})}}F[ge]!==me&&(F[ge]=me)}function $t(F,le,ge){if(n.protectFocusedValue&&_t(F)||P("value",F,"update")===!1)return;let me=Bt(ge),Te=le.textContent,A=me&&me.value!==me.defaultValue?me.value:Te;n.formState!=="property"&&F.textContent!==Te&&(i.push({kind:"text",node:F,before:F.textContent,after:Te}),F.textContent=Te),F.value!==A&&(F.value=A)}}function Qi(e,o){let t=e.activeElement;if(!t||t===e.body||t===e.documentElement)return null;let n={el:t,id:t.getAttribute&&t.getAttribute("id"),scrollTop:t.scrollTop,scrollLeft:t.scrollLeft};if(t.tagName==="INPUT"||t.tagName==="TEXTAREA"){try{n.selection=[t.selectionStart,t.selectionEnd,t.selectionDirection]}catch{}return n}let s=e.getSelection&&e.getSelection();if(s&&s.rangeCount){let d=s.getRangeAt(0);n.range={sc:d.startContainer,so:d.startOffset,ec:d.endContainer,eo:d.endOffset}}return n}function Zi(e,o,t,n,s,d,l){if(!o)return;let r=o.el;if(!r.isConnected&&o.id&&(r=e.getElementById(o.id)),!r||!r.isConnected)return;if(e.activeElement!==r)try{r.focus({preventScroll:!0})}catch{}try{r.scrollTop=o.scrollTop,r.scrollLeft=o.scrollLeft}catch{}if(o.selection){try{r.setSelectionRange&&!r.selectionEnd&&o.selection[1]!=null&&r.setSelectionRange(o.selection[0],o.selection[1],o.selection[2]||"none")}catch{}return}if(!o.range)return;let i=(c,h)=>{let p=t.get(c);if(Array.isArray(p)){let y=p.find(m=>h>=m.from&&h<m.to)||p.find(m=>h===m.to)||p[p.length-1],C=d.get(y.merged);if(!C||!C.isConnected)return null;let g=n.get(y.merged),f=g&&g.flat?g.flat(y.flatStart+h):h;return[C,Math.max(0,Math.min(f,C.nodeValue.length))]}if(p&&!l.has(p.merged)){let y=(s.get(p.merged)||[c])[0];if(!y.isConnected)return null;let C=n.get(p.merged),g=p.shift+h,f=C?C(g):g;return[y,Math.max(0,Math.min(f,y.nodeValue.length))]}return c.isConnected?[c,Math.min(h,c.nodeType===3?c.nodeValue.length:c.childNodes.length)]:null},u=i(o.range.sc,o.range.so),w=i(o.range.ec,o.range.eo);if(!(!u||!w))try{let c=e.createRange();c.setStart(u[0],u[1]),c.setEnd(w[0],w[1]);let h=e.getSelection();h.removeAllRanges(),h.addRange(c)}catch{}}var el={compared:0},tl=new Set(["INPUT","SELECT","OPTION","TEXTAREA"]);function nl(e,o,t){let n=0;for(let s of e.attributes)if(!t(e,s.name)&&(n++,o.getAttribute(s.name)!==s.value))return!1;for(let s of o.attributes)t(o,s.name)||n--;return n===0}function Ts(e,o){if(e.namespaceURI!==o.namespaceURI||e.prefix!==o.prefix||e.localName!==o.localName)return!1;let t=e.attributes;if(t.length!==o.attributes.length)return!1;for(let n of t)if(o.getAttributeNS(n.namespaceURI,n.localName)!==n.value)return!1;return!0}function Nr(e,o,t,n,s,d,l,r){let i=new Map,u=new Set,w=c=>{if(n(c))return;let h=t(c);h&&(d.add(h),s.has(h)||i.has(h)?u.add(h):i.set(h,c))};for(let c of e)w(c);w(o);for(let c of l||o.querySelectorAll("*"))w(c);for(let c of u)i.delete(c),r.add(c);return i}function Ar(e,o,t,n,s,d){let l=!1;for(let w of s)w.startsWith("merge:")&&(l=!0);if(!l)return[...n];let r=new Map,i=[],u=d===gn?vo:"*";for(let w of[e,...e.querySelectorAll(u)]){if(t(w))continue;let c=o(w);if(!c||!(n.has(c)||s.has(c)))continue;let h=(r.get(c)||0)+1;r.set(c,h),h===2&&i.push(c)}return i}function Mr({baseRoot:e,remoteRoot:o,liveRoot:t,toLive:n,o:s,identity:d,baseURI:l}){if(e.tagName!==o.tagName)return{bail:"root-tag"};if(e.getElementsByTagName("template").length||o.getElementsByTagName("template").length)return{bail:"script-or-template"};if(!nl(e,o,s.ignoreAttribute))return{bail:"root-attrs"};let{ignored:r,remoteWins:i}=s,u=ks(s.scripts.merge===!1?null:s.scripts.mergeTags,l),w=re=>{let b=u(re);return b!==null?b:d.base(re)||null},c=re=>{let b=u(re);return b!==null?b:d.remote(re)||null},h=[],p=[],y=new Map,C=new Map,g={same:y,differ:C},f=re=>({bail:re,comparisons:g}),m=(re,b,_=!0)=>{if(y.get(re)===b)return!0;if(C.get(re)===b)return!1;if(el.compared++,_&&re.isEqualNode(b))return y.set(re,b),!0;let oe=re.nodeType===b.nodeType;if(oe&&re.nodeType===1){if(oe=Ts(re,b),oe){let ee=re.firstChild,Pe=b.firstChild;for(;ee&&Pe;ee=ee.nextSibling,Pe=Pe.nextSibling)if(!m(ee,Pe,!1)){oe=!1;break}(ee||Pe)&&(oe=!1)}}else oe&&(oe=re.isEqualNode(b));return(oe?y:C).set(re,b),oe},R=e,S=o,O=!1,E=()=>{y.set(R,S);for(let re=0;re<h.length;re++)y.set(h[re],p[re]);return f("equal")};for(;;){let re=R.childNodes,b=S.childNodes;if(re.length!==b.length)break;let _=Qe=>m(re[Qe],b[Qe])?(y.set(re[Qe],b[Qe]),!1):!0,oe=-1,ee=-1;for(let Qe=0;Qe<re.length;Qe++){if(re[Qe].nodeType!==1)continue;let Ze=0;for(let Xe=re[Qe].firstElementChild;Xe;Xe=Xe.nextElementSibling)Ze++;Ze>=ee&&(ee=Ze,oe=Qe)}let Pe=[],Ke=!1;for(let Qe=0;Qe<re.length&&Pe.length<2;Qe++)Qe!==oe&&_(Qe)&&Pe.push(Qe);if(oe>=0&&Pe.length<2&&(Pe.length===0&&Ts(R,S)?(Pe.push(oe),Ke=!0):_(oe)&&Pe.push(oe)),Pe.length!==1){if(!O&&Pe.length===0&&Ts(R,S))return E();break}let Ne=re[Pe[0]],ot=b[Pe[0]];if(O=O||!Ke,O&&C.set(Ne,ot),Ne.nodeType!==1||ot.nodeType!==1||Ne.tagName!==ot.tagName)break;if(w(Ne)!==c(ot)){if(!O&&m(Ne,ot))return E();break}h.push(R),p.push(S),R=Ne,S=ot}C.set(R,S);for(let re=0;re<h.length;re++)C.set(h[re],p[re]);if(R===e||R.tagName==="HEAD"||R.tagName==="BODY")return f("root-level");if(h.length<2||h[1].tagName!=="BODY")return f("not-in-body");if(r(R)||r(S))return f("ignored-ancestor");if(i(R)||i(S))return f("remote-wins-ancestor");for(let re of h)if(tl.has(re.tagName))return f("form-ancestor");if(R.tagName==="SCRIPT"||R.getElementsByTagName("script").length||S.getElementsByTagName("script").length)return f("script-or-template");let P=n(R);if(!P||P.nodeType!==1||P.tagName!==R.tagName)return f("no-live-twin");if(!t.contains(P))return f("live-detached");for(let re of h){let b=n(re);if(!b||b.nodeType!==1)return f("ancestor-live")}let v=d.base===gn&&d.remote===gn&&r===Yo,N=new Set,L=new Set,D=[],B=null,M=re=>{re&&(N.has(re)?L.add(re):N.add(re))},x=(re,b)=>{let _=u(re),oe=_!==null?_:d.base(re)||null;return oe!==(_!==null?_:d.remote(b)||null)?!1:(M(oe),!0)},k=(re,b)=>{for(let _=re.firstElementChild,oe=b.firstElementChild;_;_=_.nextElementSibling,oe=oe.nextElementSibling){let ee=r(_);if(ee!==r(oe))return!1;if(!ee&&(!x(_,oe)||!k(_,oe)))return!1}return!0},z=re=>{let b=re+1<h.length?h[re+1]:R;for(let _=h[re].firstElementChild,oe=p[re].firstElementChild;_;_=_.nextElementSibling,oe=oe.nextElementSibling){if(_===b){let Ke=re+1<h.length?z(re+1):null;if(Ke)return Ke;continue}let ee=r(_);if(ee!==r(oe))return"outside-id-changed";if(ee)continue;let Pe=n(_);if(!Pe||Pe.nodeType!==1)return"sibling-live";if(D.push([_,oe]),!v&&(!x(_,oe)||!k(_,oe)))return"outside-id-changed";re===0&&_.tagName==="HEAD"&&w(_)&&(B=[_,oe])}return null},U=z(0);if(U)return f(U);let K=new Set(h),Ae=null;if(d.base===gn){Ae=[];for(let re of e.querySelectorAll(vo))re===R||K.has(re)||(R.contains(re)?Ae.push(re):v&&M(w(re)))}let Me=new Set,Be=new Set,te=new Set,ve=Nr(h,R,w,r,N,Me,Ae,Be),ze=Nr(p,S,c,r,N,Me,d.remote===gn&&S.querySelectorAll(vo),te);return B&&(L.has(w(B[0]))||Me.has(w(B[0])))&&(B=null),{scope:{chain:h,root:R,onChain:K,baseIndex:ve,remoteIndex:ze,baseDropped:Be,remoteDropped:te,head:B,same:y,differ:C,dropped:[...Ar(e,w,r,L,Be,d.base),...Ar(o,c,r,L,te,d.remote)],held:re=>{for(let b=1;b<h.length;b++)if(re.map.get(h[b])!==p[b])return!1;for(let[b,_]of D)if(re.map.get(b)!==_)return!1;return!0}}}}var Or=Symbol("hyper-morph-duplicate-key"),Ir=[e=>e.getAttribute("data-id"),e=>e.getAttribute("id")];function So(e,o){return o.map(t=>{let n=new Map;for(let s of e){if(s.nodeType!==1)continue;let d=t(s);d==null||d===""||n.set(d,n.has(d)?Or:s)}return n})}function Cr(e,o,t,n){for(let s=0;s<n.length;s++){let d=n[s](e);if(d==null||d===""||o[s].get(d)!==e)continue;let l=t[s].get(d);if(!(!l||l===Or)&&l.tagName===e.tagName)return l}return null}function uo(e,o,t){for(let n=0;n<t.length;n++){let s=t[n](e);if(!(s==null||s==="")&&o[n].get(s)===e)return!0}return!1}function Er(e,o,t={}){let n=t.skip||(()=>!1),s=t.ignoreAttr||(()=>!1),d=t.tiers&&t.tiers.length?t.tiers:Ir,l=null;function r(){return l||(l=So([e,...e.querySelectorAll("*")],d)),l}let i=null;function u(){return i||(i=So([o,...o.querySelectorAll("*")],d)),i}function w(N){return!N.parentElement||!N.parentElement.parentElement}function c(N,L,D){return w(N)||uo(N,r(),d)?(D.push({type:"subtree",el:N,base:L}),!1):!0}function h(N,L){let D=[];for(let B of N.attributes)s(N,B.name)||L.getAttribute(B.name)!==B.value&&D.push(B.name);for(let B of L.attributes)s(N,B.name)||N.hasAttribute(B.name)||D.push(B.name);return D}function p(N){let L=[],D=null,B=()=>{D!==null&&(L.push({nodeType:3,nodeValue:D}),D=null)};for(let M of N.childNodes){if(M.nodeType===3){D=(D===null?"":D)+M.nodeValue;continue}M.nodeType===1&&n(M)||(B(),(M.nodeType===1||M.nodeType===8)&&L.push(M))}return B(),L}function y(N,L){if(N.nodeType!==L.nodeType)return!1;if(N.nodeType!==1)return!0;if(N.tagName!==L.tagName)return!1;for(let D of d){let B=D(N),M=D(L);if(B!=null&&B!==""&&M!=null&&M!==""&&B!==M)return!1}return!0}function C(N){let L="";for(let D of N)D.nodeType===3&&D.nodeValue.trim()!==""?L+="\0"+D.nodeValue:D.nodeType===8&&(L+=""+D.nodeValue);return L}function g(N,L,D){let B=p(N),M=p(L);if(B.length===M.length){let re=!0;for(let b=0;b<B.length;b++)if(!y(B[b],M[b])){re=!1;break}if(re){for(let b=0;b<B.length;b++){let _=B[b];if(_.nodeType===1){if(f(_,M[b],D))return!0}else if(_.nodeValue!==M[b].nodeValue)return!0}return!1}}let x=B.filter(re=>re.nodeType===1),k=M.filter(re=>re.nodeType===1);if(C(B)!==C(M))return!0;let z=So(x,d),U=So(k,d),K=[],Ae=new Set,Me=[];for(let re of x){let b=Cr(re,z,U,d);b&&!Ae.has(b)?(K.push([re,b]),Ae.add(b)):Me.push(re)}let Be=[];for(let re of Me)uo(re,z,d)?D.push({type:"subtree",el:re,base:null}):Be.push(re);let te=[];for(let re of k)Ae.has(re)||(uo(re,U,d)?D.push({type:"deletion",el:re}):te.push(re));if(Be.length!==te.length)return!0;for(let re=0;re<Be.length;re++)if(!y(Be[re],te[re]))return!0;let ve=new Map(K);for(let re=0;re<Be.length;re++)ve.set(Be[re],te[re]);let ze=-1;for(let re of x){let b=ve.get(re);if(!b)continue;let _=k.indexOf(b);if(_<ze)return!0;ze=_}for(let re=0;re<Be.length;re++)if(f(Be[re],te[re],D))return!0;for(let[re,b]of K)if(f(re,b,D))return!0;return!1}function f(N,L,D){if(N.tagName!==L.tagName)return c(N,L,D);let B=h(N,L),M=[];if(g(N,L,M))return c(N,L,D);if(B.length){if(!w(N)&&!uo(L,u(),d))return!0;D.push({type:"attrs",el:N,names:B,base:L})}return D.push(...M),!1}let m=[],R=h(e,o);R.length&&m.push({type:"attrs",el:e,names:R});let S=(N,L)=>Array.from(N.children).find(D=>D.tagName===L)||null,O=S(e,"HEAD"),E=S(o,"HEAD");if(O&&E){let N=[];f(O,E,N),N.length&&m.push({type:"head",el:O})}else(O||E)&&O&&m.push({type:"head",el:O});let P=S(e,"BODY"),v=S(o,"BODY");return P&&v?f(P,v,m):P&&m.push({type:"subtree",el:P,base:null}),{entries:m}}function Lr(e,o,t={}){let n=t.tiers&&t.tiers.length?t.tiers:Ir,s=e.documentElement,d=[],l=0,r=f=>({ok:!1,placed:d,held:f,skippedAttrs:l});if(!s)return r(null);function i(f){let m=[f,...f.querySelectorAll("*")];return So(m,n)}let u=i(s),w=new Map,c=f=>{let m=f.getRootNode(),R=w.get(m);if(!R){let S=m.nodeType===9?m.documentElement:m;R=i(S),w.set(m,R)}return R};function h(f){if(!f.parentElement&&f.tagName==="HTML")return s;if(f.parentElement&&!f.parentElement.parentElement&&f.parentElement.tagName==="HTML"){if(f.tagName==="BODY")return e.body||null;if(f.tagName==="HEAD")return e.head||null}return null}function p(f){let m=h(f);return m||Cr(f,c(f),u,n)}function y(f){if(!f)return null;let m=p(f);return m&&m.isConnected?m:null}function C(f){for(let m=0;m<n.length;m++){let R=n[m](f);R!=null&&R!==""&&u[m].set(R,f)}}for(let f of o){if(f.type!=="deletion")continue;let m=p(f.el);m&&m!==s&&m.remove()}let g=o.filter(f=>f.type!=="deletion").sort((f,m)=>f.el===m.el?0:f.el.compareDocumentPosition(m.el)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let f of g){if(f.type==="head"){let v=e.importNode(f.el,!0);e.head?e.head.replaceWith(v):s.insertBefore(v,s.firstChild),d.push({entry:f,imported:v});continue}if(f.type==="attrs"){let v=y(f.el)||y(f.base);if(!v){l++;continue}for(let N of f.names)f.el.hasAttribute(N)?v.setAttribute(N,f.el.getAttribute(N)):v.removeAttribute(N);continue}let m=f.el;if(h(m))return r(f);let R=y(m)||y(f.base);if(R){let v=e.importNode(m,!0);R.replaceWith(v),C(v),d.push({entry:f,imported:v});continue}if(f.base!=null&&!uo(f.base,c(f.base),n)||!uo(m,c(m),n))return r(f);let S=m.parentElement;if(!S)return r(f);let O=y(S);if(!O)return r(f);let E=null;for(let v=m.previousElementSibling;v;v=v.previousElementSibling){let N=y(v);if(N&&N.parentNode===O){E=N;break}}let P=e.importNode(m,!0);if(E)O.insertBefore(P,E.nextSibling);else{let v=Array.prototype.indexOf.call(S.children,m);O.insertBefore(P,O.children[v]||null)}C(P),d.push({entry:f,imported:P})}return{ok:!0,placed:d,held:null,skippedAttrs:l}}var ol='[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"]',sl='[editor-ui],[clay~="editor-ui"],[no-undo],[clay~="no-undo"]',rl='[no-undo]:not([editor-ui]):not([clay~="editor-ui"]),[clay~="no-undo"]:not([editor-ui]):not([clay~="editor-ui"])';function il(e){if(e.tagName!=="LINK"&&e.tagName!=="SCRIPT")return!1;let o=e.getAttribute("src")||e.getAttribute("href")||"";return/^(chrome|moz|safari-web)-extension:/.test(o)}function ll(e,o,t,n){if(o==null)return;if(typeof o=="string")return o;let s=o;if(s.nodeType===9){let d=e.getAttribute("id");s=d&&s.getElementById(d)||(e.tagName==="BODY"?s.body:e.tagName==="HTML"?s.documentElement:s.body&&s.body.firstElementChild)}if((!s||s.nodeType!==1||s.tagName!==e.tagName)&&(s=al(e,o,n)),!!s)return t?Array.from(s.childNodes):s}function al(e,o,t){let n=o.nodeType===9?o.documentElement:o;if(!n||n.nodeType!==1)return null;let s=new Map,d=[n,...n.querySelectorAll("script")];for(let i of d){let u=lo(i,t);u&&!s.has(u.key)&&s.set(u.key,i.textContent)}if(!s.size)return null;let l=e.cloneNode(!0),r=!1;for(let i of[l,...l.querySelectorAll("script")]){let u=lo(i,t);u&&s.has(u.key)&&(i.textContent=s.get(u.key),r=!0)}return r?l:null}function Rr(e,o){if(typeof e=="string"||e.nodeType===9)return e;if(e.nodeType===1&&e===e.ownerDocument.documentElement)return e.ownerDocument;let t=o.implementation.createHTMLDocument(""),n=e.nodeType===1&&e.tagName==="HTML"?e:null;if(n)return t.replaceChild(t.adoptNode(n),t.documentElement),t;let s=e.nodeType===11?Array.from(e.childNodes):e.nodeType?[e]:Array.from(e);for(let d of s)t.body.appendChild(t.adoptNode(d));return t}function _o(e,o,t={}){let n=t||{};if(!n.head?.block)return Pr(e,o,n);try{return Pr(e,o,n)}catch(s){return Promise.reject(s)}}function Pr(e,o,t){let n=t.policy||"sync",s=n==="raw"?void 0:(i,u)=>il(i)||(n==="history"?!(u&&i.matches(rl))&&i.matches(sl):i.matches(ol)),d=t.callbacks||{},l={ignore:s,hooks:d,protectFocusedValue:t.ignoreActiveValue===!0?"subtree":!1,restoreFocus:t.restoreFocus!==!1,formState:t.formStateSync||"attribute",scripts:{execute:t.scripts?.handle!==!1,merge:t.scripts?.merge!==!1,mergeTags:t.scripts?.mergeTags||[]},head:{awaitLoads:!!t.head?.block,preserve:t.head?.shouldPreserve||(()=>!1)}};if(typeof t.key=="function"&&(l.identity={base:t.key,local:t.key,remote:t.key}),e&&e.nodeType===9)return ho(Object.assign({},l,{live:e,base:t.scripts?.mergeBase||null,remote:Rr(o,e)}));if(e.tagName==="HTML"&&e.parentNode&&e.parentNode.nodeType===9){let i=Object.assign({},l,{live:e.ownerDocument,base:t.scripts?.mergeBase||null,remote:Rr(o,e.ownerDocument)});return ho(i)}t.morphStyle==="innerHTML"&&(l.children=!0);let r=ll(e,t.scripts?.mergeBase,!!l.children,l.scripts.mergeTags);return r!==void 0&&(l.base=r),qo(e,o,l)}var cl=new Set(["live","base","remote","local","identity","ignore","remoteWins","ignoreAttribute","conflicts","protectFocusedValue","restoreFocus","head","scripts","formState","children","hooks","beforeApply","fastPath","keepLiveOnly"]),vn=()=>{};function No(e,o=[]){if(!e||typeof e!="object")throw new TypeError("options object required");for(let l of Object.keys(e))if(!cl.has(l))throw new TypeError(`unknown option "${l}"`);let t=Object.assign({beforeNodeAdded:vn,afterNodeAdded:vn,beforeNodeRemoved:vn,afterNodeRemoved:vn,beforeNodeMorphed:vn,afterNodeMorphed:vn,beforeAttributeUpdated:vn},e.hooks||{}),n=e.conflicts||"remote";if(!["remote","local","both"].includes(n))throw new TypeError("conflicts must be remote, local or both");let s=e.formState||"attribute";if(!["attribute","property"].includes(s))throw new TypeError("formState must be attribute or property");let d=e.protectFocusedValue;if(d!==void 0&&typeof d!="boolean"&&d!=="subtree")throw new TypeError('protectFocusedValue must be a boolean or "subtree"');if(e.fastPath!==void 0&&typeof e.fastPath!="boolean")throw new TypeError("fastPath must be a boolean");if(e.keepLiveOnly!==void 0&&typeof e.keepLiveOnly!="boolean")throw new TypeError("keepLiveOnly must be a boolean");return{ignored:Xo(e.ignore,o),remoteWins:Xo(e.remoteWins,o),ignoreAttribute:typeof e.ignoreAttribute=="function"?e.ignoreAttribute:()=>!1,conflicts:n,protectFocusedValue:d===void 0?!0:d,restoreFocus:e.restoreFocus!==!1,head:Object.assign({awaitLoads:!1,preserve:()=>!1},e.head||{}),scripts:Object.assign({execute:!0,merge:!0,mergeTags:[]},e.scripts||{}),formState:s,hooks:t,children:!!e.children,beforeApply:typeof e.beforeApply=="function"?e.beforeApply:null,fastPath:e.fastPath===!0,keepLiveOnly:e.keepLiveOnly===!0}}function po(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 gn}function mo(e,o){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){let t=Co(o,e.map),n=typeof e.then=="function"?e.then:gn;if(typeof e.first=="function"){let s=e.first;return d=>s(d)||t.get(d)||n(d)}return s=>t.get(s)||n(s)}return gn}function Dr(e,o,t,n={}){let s=p=>p&&p.nodeType===9?p.documentElement:p,d=s(o),l=s(t),r=s(e)||d,i=Object.assign({},n);delete i.live,delete i.base,delete i.remote;let u=No(i,[r,d,l].filter(Boolean)),w=n.identity||{},c=Wn(),h=Fo(r,d,l,{identity:{base:mo(w.base,r),local:mo(w.local,d),remote:mo(w.remote,l)},authored:{base:po(w.base),local:po(w.local),remote:po(w.remote)},skipUnchanged:u.hooks.beforeNodeMorphed===vn&&u.hooks.afterNodeMorphed===vn,ignored:u.ignored,remoteWins:u.remoteWins,ignoreAttribute:u.ignoreAttribute,conflicts:u.conflicts,mergeTags:u.scripts.merge===!1?null:u.scripts.mergeTags,baseURI:d.ownerDocument&&d.ownerDocument.baseURI||"about:blank",localIsBase:!e||e===o,childrenOnly:u.children,stats:c});return delete h.recoveryLinks,h}function vs({liveRoot:e,baseRoot:o,localRoot:t,remoteRoot:n,toLive:s,options:d,identity:l,childrenOnly:r,isDocument:i}){let u=No(d,[e,o,t,n].filter(Boolean));if(u.ignored(e))return{report:Ss(),loads:[]};let w=e.ownerDocument,c=u.scripts.execute?Qs(e,u.ignored,w.baseURI):null,h=Wn(),p=u.hooks.beforeNodeMorphed===vn&&u.hooks.afterNodeMorphed===vn,y={identity:{base:mo(l.base,o||t),local:mo(l.local,t),remote:mo(l.remote,n)},authored:{base:po(l.base),local:po(l.local),remote:po(l.remote)},ignored:u.ignored,remoteWins:u.remoteWins,ignoreAttribute:u.ignoreAttribute,conflicts:u.conflicts,mergeTags:u.scripts.merge===!1?null:u.scripts.mergeTags,baseURI:w.baseURI,localIsBase:!o,childrenOnly:r,skipUnchanged:p},C=u.fastPath&&i&&!r&&p&&o===t,g=null,f=null;if(C){let M=Mr({baseRoot:o,remoteRoot:n,liveRoot:e,toLive:s,o:u,identity:y.identity,baseURI:w.baseURI});y.comparisons=M.comparisons||M.scope,M.bail?f=M.bail:(g=Fo(o,t,n,Object.assign({},y,{stats:h,scope:M.scope})),g||(f="chain-unpaired",h=Wn()))}g||(g=Fo(o||t,t,n,Object.assign({},y,{stats:h}))),C&&(h.fastPathAttempted=1,h.fastPathTaken=f?0:1,h.fastPathFallback=f),g.recoveryLinks&&["beforeNodeMorphed","beforeNodeAdded","beforeNodeRemoved","beforeAttributeUpdated"].some(M=>u.hooks[M]!==vn)&&cr(g.conflicts,g.recoveryLinks,s),u.beforeApply&&u.beforeApply(g.doc);let m=globalThis.__hyperMorphProfile,R=m?performance.now():0,S=Sr(e,g.root,g,{toLive:s,localRoot:t,ignored:u.ignored,ignoreAttribute:u.ignoreAttribute,formState:u.formState,protectFocusedValue:u.protectFocusedValue,restoreFocus:u.restoreFocus,preserve:u.head.preserve,hooks:u.hooks,childrenOnly:r,keepLiveOnly:u.keepLiveOnly});m&&(m.apply=(m.apply||0)+(performance.now()-R));let O=[];if(u.head.awaitLoads)for(let M of S.applied){if(M.kind!=="insert"||M.node.nodeType!==1)continue;let x=M.node;x.tagName==="LINK"&&/\bstylesheet\b/i.test(x.getAttribute("rel")||"")&&x.getAttribute("href")&&x.closest("head")&&O.push(new Promise(z=>{x.addEventListener("load",()=>z()),x.addEventListener("error",()=>z())}))}let E=null,P=null;if(c){let M=Zs(e,c,{ignored:u.ignored,skip:S.mergedScriptsLive,baseURI:w.baseURI,beforeNodeAdded:u.hooks.beforeNodeAdded,afterNodeAdded:u.hooks.afterNodeAdded,trackRecovery:!!g.recoveryLinks});O.push(...M.loads),E=M.swapped,P=M.vetoed}let v=M=>E&&E.get(M)||M,N=M=>{if(S.keptRuns.has(M))return S.runOf.get(M);let x=S.liveOf.get(M)||S.heldBy.get(M)||S.insertedLive.get(M);return x?v(x):null},L=M=>{let x=M&&S.liveOf.get(M);return x?v(x):null},D=M=>{let x=M&&N(M);return Array.isArray(x)?x[0]:x};if(g.recoveryLinks){let M=(x,k,z)=>(k.namespaceURI?x.getAttributeNS(k.namespaceURI,k.localName):x.getAttribute(k.qualifiedName))===z;dr(g.conflicts,g.recoveryLinks,{lookup:N,vetoed:S.vetoed,vetoedAttrs:S.vetoedAttrs,removedVetoes:S.removedVetoes,vetoedLive:P,liveAttr:M,ignored:u.ignored,liveRoot:e})}return{report:{applied:S.applied,decisions:g.decisions.map(M=>Object.assign({},M,{node:M.node?L(M.node):null,el:M.el?L(M.el):null,applied:!!(M.node?L(M.node):M.el&&L(M.el))})),conflicts:g.conflicts.map(M=>Object.assign({},M,{node:M.node?M.kind==="text"&&M.recovery.subject.nodeType===8?D(M.node):L(M.node):M.node,el:M.el?M.kind==="structure"?D(M.el):L(M.el):M.el})),localDiverged:g.localDiverged,identities:S.identities,moved:S.moved,replaced:S.replaced,stats:h},loads:O}}var Br=new WeakMap;function Ss(){return{applied:[],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[],stats:Wn()}}function ho(e){let o=e||{},t=o.live;if(!t||t.nodeType!==9)throw new TypeError("live must be a Document");let n=Br.get(t);n||(n=Io(t),Br.set(t,n));let s=n("remote",o.remote),d=typeof o.base=="string"&&o.base===""?null:o.base,l=d?n("base",d):null,r=o.local?o.local.root:t.documentElement,i=o.local?o.local.toLive:c=>c;Os(t,s);let{report:u,loads:w}=vs({liveRoot:t.documentElement,baseRoot:l?l.documentElement:null,localRoot:r,remoteRoot:s.documentElement,toLive:i,options:o,identity:o.identity||{},childrenOnly:!1,isDocument:!0});return Promise.all(w).then(()=>u)}function Ur(e,o,t={}){return ho(Object.assign({},t,{live:e,base:null,remote:o}))}function jr(e,o){if(e==null)return{root:o.createElement("template"),first:null};if(typeof e=="string"){let n=/^\s*(?:<!--[\s\S]*?-->\s*)*(?:<!doctype[^>]*>\s*)?<(html|body)[\s>]/i.exec(e);if(n){let d=Oo(e,o),l=n[1].toLowerCase()==="html"?d.documentElement:d.body;return{root:l,first:l}}let s=o.createElement("template");return s.innerHTML=e,{root:s,first:s.content.firstElementChild}}if(e.nodeType===9)return{root:e.documentElement,first:e.documentElement};if(e.nodeType===1){let n=o.createElement("template"),s=e.isConnected;return n.content.appendChild(s?o.importNode(e,!0):e),{root:n,first:e}}if(e.nodeType===11){let n=o.createElement("template");return n.content.appendChild(e),{root:n,first:n.content.firstElementChild}}let t=o.createElement("template");for(let n of Array.from(e))t.content.appendChild(n.parentNode?o.importNode(n,!0):n);return{root:t,first:t.content.firstElementChild}}function qo(e,o,t={}){if(!e||e.nodeType!==1)throw new TypeError("oldEl must be an Element");let n=e.ownerDocument,{base:s,...d}=t,l=!!d.children;if(No(d,[e]).ignored(e))return Promise.resolve(Ss());let r=jr(o,n),i=s!=null?jr(s,n):null,u,w=null;if(l)u=r.root,w=i?i.root:null;else{if(u=r.first,w=i?i.first:null,!u){let p=No(d);return p.hooks.beforeNodeRemoved(e)!==!1&&(e.remove(),p.hooks.afterNodeRemoved(e)),Promise.resolve({applied:[{kind:"remove",node:e,parent:null}],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[e],stats:Wn()})}if(u.tagName!==e.tagName){let p=No(d,[e,u]);if(p.hooks.beforeNodeMorphed(e,u)===!1)return Promise.resolve(Ss());let y=vs({liveRoot:e,baseRoot:w&&w.tagName===e.tagName?w:null,localRoot:e,remoteRoot:u,toLive:g=>g,options:d,identity:d.identity||{},childrenOnly:!0,isDocument:!1}),C=dn(u)?ko(u,n):n.importNode(u,!1);if(!dn(C))for(;e.firstChild;)C.appendChild(e.firstChild);return p.hooks.beforeNodeAdded(C)===!1?(Ko(y.report.conflicts,e,e),Promise.resolve(y.report)):p.hooks.beforeNodeRemoved(e)===!1?(Ko(y.report.conflicts,e,e),Promise.resolve(y.report)):(e.replaceWith(C),Ko(y.report.conflicts,e,C),p.hooks.afterNodeRemoved(e),p.hooks.afterNodeAdded(C),p.hooks.afterNodeMorphed(e,u),y.report.replaced.push(C),y.report.applied.push({kind:"insert",node:C,parent:C.parentNode},{kind:"remove",node:e,parent:C.parentNode}),Promise.all(y.loads).then(()=>y.report))}}let{report:c,loads:h}=vs({liveRoot:e,baseRoot:w,localRoot:e,remoteRoot:u,toLive:p=>p,options:d,identity:d.identity||{},childrenOnly:l,isDocument:!1});return Promise.all(h).then(()=>c)}var fl={mergeDocument:ho,morphDocument:Ur,morphElement:qo,merge3:Dr,morph:_o};return Yr(ul);})();
|
|
5
5
|
|
|
6
6
|
var morph = HyperMorph.morph;
|
|
7
7
|
|