"use strict";var wp;(wp||={}).sync=(()=>{var Fc=Object.create;var An=Object.defineProperty;var Yc=Object.getOwnPropertyDescriptor;var jc=Object.getOwnPropertyNames;var zc=Object.getPrototypeOf,Gc=Object.prototype.hasOwnProperty;var Un=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports),Xs=(n,t)=>{for(var e in t)An(n,e,{get:t[e],enumerable:!0})},Qs=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of jc(t))!Gc.call(n,s)&&s!==e&&An(n,s,{get:()=>t[s],enumerable:!(r=Yc(t,s))||r.enumerable});return n};var qt=(n,t,e)=>(e=n!=null?Fc(zc(n)):{},Qs(t||!n||!n.__esModule?An(e,"default",{value:n,enumerable:!0}):e,n)),Hc=n=>Qs(An({},"__esModule",{value:!0}),n);var Wo=Un((Mu,Ko)=>{Ko.exports=window.wp.privateApis});var ar=Un((Pu,nc)=>{nc.exports=window.wp.hooks});var fc=Un((ju,hc)=>{hc.exports=window.wp.apiFetch});var Hs=Un((Ah,Lc)=>{"use strict";Lc.exports=function n(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.constructor!==e.constructor)return!1;var r,s,i;if(Array.isArray(t)){if(r=t.length,r!=e.length)return!1;for(s=r;s--!==0;)if(!n(t[s],e[s]))return!1;return!0}if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(s of t.entries())if(!e.has(s[0]))return!1;for(s of t.entries())if(!n(s[1],e.get(s[0])))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(s of t.entries())if(!e.has(s[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if(r=t.length,r!=e.length)return!1;for(s=r;s--!==0;)if(t[s]!==e[s])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if(i=Object.keys(t),r=i.length,r!==Object.keys(e).length)return!1;for(s=r;s--!==0;)if(!Object.prototype.hasOwnProperty.call(e,i[s]))return!1;for(s=r;s--!==0;){var o=i[s];if(!n(t[o],e[o]))return!1}return!0}return t!==t&&e!==e}});var Kd={};Xs(Kd,{Awareness:()=>ze,Y:()=>Yt,YJS_VERSION:()=>Jd,privateApis:()=>Ks});var Yt={};Xs(Yt,{AbsolutePosition:()=>Gn,AbstractConnector:()=>Kr,AbstractStruct:()=>Fe,AbstractType:()=>v,Array:()=>le,ContentAny:()=>Pt,ContentBinary:()=>he,ContentDeleted:()=>Ye,ContentDoc:()=>fe,ContentEmbed:()=>Ct,ContentFormat:()=>O,ContentJSON:()=>wn,ContentString:()=>at,ContentType:()=>st,Doc:()=>yt,GC:()=>H,ID:()=>bt,Item:()=>C,Map:()=>ae,PermanentUserData:()=>Xr,RelativePosition:()=>Be,Skip:()=>F,Snapshot:()=>hn,Text:()=>Pe,Transaction:()=>$n,UndoManager:()=>ie,UpdateDecoderV1:()=>Z,UpdateDecoderV2:()=>J,UpdateEncoderV1:()=>wt,UpdateEncoderV2:()=>tt,XmlElement:()=>ue,XmlFragment:()=>de,XmlHook:()=>yn,XmlText:()=>Zn,YArrayEvent:()=>Kn,YEvent:()=>ce,YMapEvent:()=>Wn,YTextEvent:()=>Xn,YXmlEvent:()=>Qn,applyUpdate:()=>as,applyUpdateV2:()=>_t,cleanupYTextFormatting:()=>Po,compareIDs:()=>te,compareRelativePositions:()=>ca,convertUpdateFormatV1ToV2:()=>Ua,convertUpdateFormatV2ToV1:()=>Eo,createAbsolutePositionFromRelativePosition:()=>oa,createDeleteSet:()=>er,createDeleteSetFromStructStore:()=>os,createDocFromSnapshot:()=>fa,createID:()=>_,createRelativePositionFromJSON:()=>Ql,createRelativePositionFromTypeIndex:()=>ta,createSnapshot:()=>gs,decodeRelativePosition:()=>sa,decodeSnapshot:()=>da,decodeSnapshotV2:()=>lo,decodeStateVector:()=>us,decodeUpdate:()=>xa,decodeUpdateV2:()=>mo,diffUpdate:()=>Ca,diffUpdateV2:()=>ms,emptySnapshot:()=>ua,encodeRelativePosition:()=>na,encodeSnapshot:()=>aa,encodeSnapshotV2:()=>co,encodeStateAsUpdate:()=>ds,encodeStateAsUpdateV2:()=>Ft,encodeStateVector:()=>fs,encodeStateVectorFromUpdate:()=>Ea,encodeStateVectorFromUpdateV2:()=>wo,equalDeleteSets:()=>ro,equalSnapshots:()=>la,findIndexSS:()=>rt,findRootTypeKey:()=>ps,getItem:()=>ee,getItemCleanEnd:()=>ts,getItemCleanStart:()=>G,getState:()=>T,getTypeChildren:()=>Oa,isDeleted:()=>pe,isParentOf:()=>un,iterateDeletedStructs:()=>ne,logType:()=>Wl,logUpdate:()=>_a,logUpdateV2:()=>go,mergeDeleteSets:()=>re,mergeUpdates:()=>yo,mergeUpdatesV2:()=>oe,obfuscateUpdate:()=>Da,obfuscateUpdateV2:()=>Aa,parseUpdateMeta:()=>ba,parseUpdateMetaV2:()=>So,readUpdate:()=>$l,readUpdateV2:()=>ls,relativePositionToJSON:()=>Xl,snapshot:()=>ha,snapshotContainsUpdate:()=>ga,transact:()=>k,tryGc:()=>wa,typeListToArraySnapshot:()=>Ra,typeMapGetAllSnapshot:()=>Lo,typeMapGetSnapshot:()=>Na});var I=()=>new Map,Tn=n=>{let t=I();return n.forEach((e,r)=>{t.set(r,e)}),t},M=(n,t,e)=>{let r=n.get(t);return r===void 0&&n.set(t,r=e()),r},Zs=(n,t)=>{let e=[];for(let[r,s]of n)e.push(t(s,r));return e},ti=(n,t)=>{for(let[e,r]of n)if(t(r,e))return!0;return!1};var ut=()=>new Set;var In=n=>n[n.length-1];var ei=(n,t)=>{for(let e=0;e<t.length;e++)n.push(t[e])},ot=Array.from;var ni=(n,t)=>{for(let e=0;e<n.length;e++)if(t(n[e],e,n))return!0;return!1};var ri=(n,t)=>{let e=new Array(n);for(let r=0;r<n;r++)e[r]=t(r,e);return e};var Jt=Array.isArray;var Tt=class{constructor(){this._observers=I()}on(t,e){return M(this._observers,t,ut).add(e),e}once(t,e){let r=(...s)=>{this.off(t,r),e(...s)};this.on(t,r)}off(t,e){let r=this._observers.get(t);r!==void 0&&(r.delete(e),r.size===0&&this._observers.delete(t))}emit(t,e){return ot((this._observers.get(t)||I()).values()).forEach(r=>r(...e))}destroy(){this._observers=I()}},be=class{constructor(){this._observers=I()}on(t,e){M(this._observers,t,ut).add(e)}once(t,e){let r=(...s)=>{this.off(t,r),e(...s)};this.on(t,r)}off(t,e){let r=this._observers.get(t);r!==void 0&&(r.delete(e),r.size===0&&this._observers.delete(t))}emit(t,e){return ot((this._observers.get(t)||I()).values()).forEach(r=>r(...e))}destroy(){this._observers=I()}};var Q=Math.floor;var ke=Math.abs;var vn=(n,t)=>n<t?n:t,Et=(n,t)=>n>t?n:t,Qd=Number.isNaN;var On=n=>n!==0?n<0:1/n<0;var Sr=Number.MAX_SAFE_INTEGER,Zd=Number.MIN_SAFE_INTEGER,tu=1<<31;var si=Number.isInteger||(n=>typeof n=="number"&&isFinite(n)&&Q(n)===n),eu=Number.isNaN,nu=Number.parseInt;var _r=String.fromCharCode,ru=String.fromCodePoint,su=_r(65535),$c=n=>n.toLowerCase(),qc=/^\s*/g,Jc=n=>n.replace(qc,""),Kc=/([A-Z])/g,xr=(n,t)=>Jc(n.replace(Kc,e=>`${t}${$c(e)}`));var Wc=n=>{let t=unescape(encodeURIComponent(n)),e=t.length,r=new Uint8Array(e);for(let s=0;s<e;s++)r[s]=t.codePointAt(s);return r},De=typeof TextEncoder<"u"?new TextEncoder:null,Xc=n=>De.encode(n),oi=De?Xc:Wc;var Ce=typeof TextDecoder>"u"?null:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});Ce&&Ce.decode(new Uint8Array).length===1&&(Ce=null);var ci=(n,t)=>ri(t,()=>n).join("");var Kt=class{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}},ct=()=>new Kt;var Qc=n=>{let t=n.cpos;for(let e=0;e<n.bufs.length;e++)t+=n.bufs[e].length;return t};var z=n=>{let t=new Uint8Array(Qc(n)),e=0;for(let r=0;r<n.bufs.length;r++){let s=n.bufs[r];t.set(s,e),e+=s.length}return t.set(new Uint8Array(n.cbuf.buffer,0,n.cpos),e),t},Zc=(n,t)=>{let e=n.cbuf.length;e-n.cpos<t&&(n.bufs.push(new Uint8Array(n.cbuf.buffer,0,n.cpos)),n.cbuf=new Uint8Array(Et(e,t)*2),n.cpos=0)},N=(n,t)=>{let e=n.cbuf.length;n.cpos===e&&(n.bufs.push(n.cbuf),n.cbuf=new Uint8Array(e*2),n.cpos=0),n.cbuf[n.cpos++]=t};var Ie=N;var S=(n,t)=>{for(;t>127;)N(n,128|127&t),t=Q(t/128);N(n,127&t)},Qe=(n,t)=>{let e=On(t);for(e&&(t=-t),N(n,(t>63?128:0)|(e?64:0)|63&t),t=Q(t/64);t>0;)N(n,(t>127?128:0)|127&t),t=Q(t/128)},Er=new Uint8Array(3e4),tl=Er.length/3,el=(n,t)=>{if(t.length<tl){let e=De.encodeInto(t,Er).written||0;S(n,e);for(let r=0;r<e;r++)N(n,Er[r])}else B(n,oi(t))},nl=(n,t)=>{let e=unescape(encodeURIComponent(t)),r=e.length;S(n,r);for(let s=0;s<r;s++)N(n,e.codePointAt(s))},It=De&&De.encodeInto?el:nl;var hi=(n,t)=>ve(n,z(t)),ve=(n,t)=>{let e=n.cbuf.length,r=n.cpos,s=vn(e-r,t.length),i=t.length-s;n.cbuf.set(t.subarray(0,s),r),n.cpos+=s,i>0&&(n.bufs.push(n.cbuf),n.cbuf=new Uint8Array(Et(e*2,i)),n.cbuf.set(t.subarray(s)),n.cpos=i)},B=(n,t)=>{S(n,t.byteLength),ve(n,t)},br=(n,t)=>{Zc(n,t);let e=new DataView(n.cbuf.buffer,n.cpos,t);return n.cpos+=t,e},rl=(n,t)=>br(n,4).setFloat32(0,t,!1),sl=(n,t)=>br(n,8).setFloat64(0,t,!1),il=(n,t)=>br(n,8).setBigInt64(0,t,!1);var ai=new DataView(new ArrayBuffer(4)),ol=n=>(ai.setFloat32(0,n),ai.getFloat32(0)===n),Ue=(n,t)=>{switch(typeof t){case"string":N(n,119),It(n,t);break;case"number":si(t)&&ke(t)<=2147483647?(N(n,125),Qe(n,t)):ol(t)?(N(n,124),rl(n,t)):(N(n,123),sl(n,t));break;case"bigint":N(n,122),il(n,t);break;case"object":if(t===null)N(n,126);else if(Jt(t)){N(n,117),S(n,t.length);for(let e=0;e<t.length;e++)Ue(n,t[e])}else if(t instanceof Uint8Array)N(n,116),B(n,t);else{N(n,118);let e=Object.keys(t);S(n,e.length);for(let r=0;r<e.length;r++){let s=e[r];It(n,s),Ue(n,t[s])}}break;case"boolean":N(n,t?120:121);break;default:N(n,127)}},Xe=class extends Kt{constructor(t){super(),this.w=t,this.s=null,this.count=0}write(t){this.s===t?this.count++:(this.count>0&&S(this,this.count-1),this.count=1,this.w(this,t),this.s=t)}};var di=n=>{n.count>0&&(Qe(n.encoder,n.count===1?n.s:-n.s),n.count>1&&S(n.encoder,n.count-2))},Wt=class{constructor(){this.encoder=new Kt,this.s=0,this.count=0}write(t){this.s===t?this.count++:(di(this),this.count=1,this.s=t)}toUint8Array(){return di(this),z(this.encoder)}};var ui=n=>{if(n.count>0){let t=n.diff*2+(n.count===1?0:1);Qe(n.encoder,t),n.count>1&&S(n.encoder,n.count-2)}},Te=class{constructor(){this.encoder=new Kt,this.s=0,this.count=0,this.diff=0}write(t){this.diff===t-this.s?(this.s=t,this.count++):(ui(this),this.count=1,this.diff=t-this.s,this.s=t)}toUint8Array(){return ui(this),z(this.encoder)}},Rn=class{constructor(){this.sarr=[],this.s="",this.lensE=new Wt}write(t){this.s+=t,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(t.length)}toUint8Array(){let t=new Kt;return this.sarr.push(this.s),this.s="",It(t,this.sarr.join("")),ve(t,this.lensE.toUint8Array()),z(t)}};var ht=n=>new Error(n),lt=()=>{throw ht("Method unimplemented")},q=()=>{throw ht("Unexpected case")};var pi=ht("Unexpected end of array"),gi=ht("Integer out of Range"),Oe=class{constructor(t){this.arr=t,this.pos=0}},L=n=>new Oe(n),Cr=n=>n.pos!==n.arr.length;var cl=(n,t)=>{let e=new Uint8Array(n.arr.buffer,n.pos+n.arr.byteOffset,t);return n.pos+=t,e},P=n=>cl(n,x(n));var Xt=n=>n.arr[n.pos++];var x=n=>{let t=0,e=1,r=n.arr.length;for(;n.pos<r;){let s=n.arr[n.pos++];if(t=t+(s&127)*e,e*=128,s<128)return t;if(t>Sr)throw gi}throw pi},tn=n=>{let t=n.arr[n.pos++],e=t&63,r=64,s=(t&64)>0?-1:1;if((t&128)===0)return s*e;let i=n.arr.length;for(;n.pos<i;){if(t=n.arr[n.pos++],e=e+(t&127)*r,r*=128,t<128)return s*e;if(e>Sr)throw gi}throw pi};var ll=n=>{let t=x(n);if(t===0)return"";{let e=String.fromCodePoint(Xt(n));if(--t<100)for(;t--;)e+=String.fromCodePoint(Xt(n));else for(;t>0;){let r=t<1e4?t:1e4,s=n.arr.subarray(n.pos,n.pos+r);n.pos+=r,e+=String.fromCodePoint.apply(null,s),t-=r}return decodeURIComponent(escape(e))}},al=n=>Ce.decode(P(n)),Ot=Ce?al:ll;var Dr=(n,t)=>{let e=new DataView(n.arr.buffer,n.arr.byteOffset+n.pos,t);return n.pos+=t,e},dl=n=>Dr(n,4).getFloat32(0,!1),ul=n=>Dr(n,8).getFloat64(0,!1),hl=n=>Dr(n,8).getBigInt64(0,!1);var fl=[n=>{},n=>null,tn,dl,ul,hl,n=>!1,n=>!0,Ot,n=>{let t=x(n),e={};for(let r=0;r<t;r++){let s=Ot(n);e[s]=Re(n)}return e},n=>{let t=x(n),e=[];for(let r=0;r<t;r++)e.push(Re(n));return e},P],Re=n=>fl[127-Xt(n)](n),Ze=class extends Oe{constructor(t,e){super(t),this.reader=e,this.s=null,this.count=0}read(){return this.count===0&&(this.s=this.reader(this),Cr(this)?this.count=x(this)+1:this.count=-1),this.count--,this.s}};var Qt=class extends Oe{constructor(t){super(t),this.s=0,this.count=0}read(){if(this.count===0){this.s=tn(this);let t=On(this.s);this.count=1,t&&(this.s=-this.s,this.count=x(this)+2)}return this.count--,this.s}};var Le=class extends Oe{constructor(t){super(t),this.s=0,this.count=0,this.diff=0}read(){if(this.count===0){let t=tn(this),e=t&1;this.diff=Q(t/2),this.count=1,e&&(this.count=x(this)+2)}return this.s+=this.diff,this.count--,this.s}},Ln=class{constructor(t){this.decoder=new Qt(t),this.str=Ot(this.decoder),this.spos=0}read(){let t=this.spos+this.decoder.read(),e=this.str.slice(this.spos,t);return this.spos=t,e}};var cu=crypto.subtle,mi=crypto.getRandomValues.bind(crypto);var Ur=()=>mi(new Uint32Array(1))[0];var pl="10000000-1000-4000-8000"+-1e11,yi=()=>pl.replace(/[018]/g,n=>(n^Ur()&15>>n/4).toString(16));var Rt=Date.now;var Ir=n=>new Promise(n);var du=Promise.all.bind(Promise);var vr=n=>n===void 0?null:n;var Or=class{constructor(){this.map=new Map}setItem(t,e){this.map.set(t,e)}getItem(t){return this.map.get(t)}},wi=new Or,wl=!0;try{typeof localStorage<"u"&&localStorage&&(wi=localStorage,wl=!1)}catch{}var Si=wi;var xi=Object.assign,Ei=Object.keys,bi=(n,t)=>{for(let e in n)t(n[e],e)};var Rr=n=>Ei(n).length,_i=n=>Ei(n).length;var ki=n=>{for(let t in n)return!1;return!0},_l=(n,t)=>{for(let e in n)if(!t(n[e],e))return!1;return!0},Lr=(n,t)=>Object.prototype.hasOwnProperty.call(n,t),Mr=(n,t)=>n===t||_i(n)===_i(t)&&_l(n,(e,r)=>(e!==void 0||Lr(t,r))&&t[r]===e),xl=Object.freeze,Nr=n=>{for(let t in n){let e=n[t];(typeof e=="object"||typeof e=="function")&&Nr(n[t])}return xl(n)};var nn=(n,t,e=0)=>{try{for(;e<n.length;e++)n[e](...t)}finally{e<n.length&&nn(n,t,e+1)}};var Vr=n=>n,El=(n,t)=>n===t;var en=(n,t)=>{if(n==null||t==null)return El(n,t);if(n.constructor!==t.constructor)return!1;if(n===t)return!0;switch(n.constructor){case ArrayBuffer:n=new Uint8Array(n),t=new Uint8Array(t);case Uint8Array:{if(n.byteLength!==t.byteLength)return!1;for(let e=0;e<n.length;e++)if(n[e]!==t[e])return!1;break}case Set:{if(n.size!==t.size)return!1;for(let e of n)if(!t.has(e))return!1;break}case Map:{if(n.size!==t.size)return!1;for(let e of n.keys())if(!t.has(e)||!en(n.get(e),t.get(e)))return!1;break}case Object:if(Rr(n)!==Rr(t))return!1;for(let e in n)if(!Lr(n,e)||!en(n[e],t[e]))return!1;break;case Array:if(n.length!==t.length)return!1;for(let e=0;e<n.length;e++)if(!en(n[e],t[e]))return!1;break;default:return!1}return!0},Di=(n,t)=>t.includes(n);var Me=typeof process<"u"&&process.release&&/node|io\.js/.test(process.release.name)&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]",Mn=typeof window<"u"&&typeof document<"u"&&!Me,uu=typeof navigator<"u"?/Mac/.test(navigator.platform):!1,ft,bl=[],kl=()=>{if(ft===void 0)if(Me){ft=I();let n=process.argv,t=null;for(let e=0;e<n.length;e++){let r=n[e];r[0]==="-"?(t!==null&&ft.set(t,""),t=r):t!==null?(ft.set(t,r),t=null):bl.push(r)}t!==null&&ft.set(t,"")}else typeof location=="object"?(ft=I(),(location.search||"?").slice(1).split("&").forEach(n=>{if(n.length!==0){let[t,e]=n.split("=");ft.set(`--${xr(t,"-")}`,e),ft.set(`-${xr(t,"-")}`,e)}})):ft=I();return ft},Pr=n=>kl().has(n);var rn=n=>Me?vr(process.env[n.toUpperCase().replaceAll("-","_")]):vr(Si.getItem(n));var Ai=n=>Pr("--"+n)||rn(n)!==null,hu=Ai("production"),Cl=Me&&Di(process.env.FORCE_COLOR,["true","1","2"]),Ui=Cl||!Pr("--no-colors")&&!Ai("no-color")&&(!Me||process.stdout.isTTY)&&(!Me||Pr("--color")||rn("COLORTERM")!==null||(rn("TERM")||"").includes("color"));var Ti=n=>new Uint8Array(n),Dl=(n,t,e)=>new Uint8Array(n,t,e);var Al=n=>{let t="";for(let e=0;e<n.byteLength;e++)t+=_r(n[e]);return btoa(t)},Ul=n=>Buffer.from(n.buffer,n.byteOffset,n.byteLength).toString("base64"),Tl=n=>{let t=atob(n),e=Ti(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e},Il=n=>{let t=Buffer.from(n,"base64");return Dl(t.buffer,t.byteOffset,t.byteLength)},Ii=Mn?Al:Ul,vi=Mn?Tl:Il;var Oi=n=>{let t=Ti(n.byteLength);return t.set(n),t};var Yr=class{constructor(t,e){this.left=t,this.right=e}},pt=(n,t)=>new Yr(n,t);var Zt=typeof document<"u"?document:{};var fu=typeof DOMParser<"u"?new DOMParser:null;var Li=n=>Zs(n,(t,e)=>`${e}:${t};`).join("");var pu=Zt.ELEMENT_NODE,gu=Zt.TEXT_NODE,mu=Zt.CDATA_SECTION_NODE,yu=Zt.COMMENT_NODE,wu=Zt.DOCUMENT_NODE,Su=Zt.DOCUMENT_TYPE_NODE,_u=Zt.DOCUMENT_FRAGMENT_NODE;var gt=Symbol;var sn=gt(),on=gt(),jr=gt(),zr=gt(),Gr=gt(),cn=gt(),Hr=gt(),Ne=gt(),$r=gt(),Mi=n=>{n.length===1&&n[0]?.constructor===Function&&(n=n[0]());let t=[],e=[],r=0;for(;r<n.length;r++){let s=n[r];if(s===void 0)break;if(s.constructor===String||s.constructor===Number)t.push(s);else if(s.constructor===Object)break}for(r>0&&e.push(t.join(""));r<n.length;r++){let s=n[r];s instanceof Symbol||e.push(s)}return e};var xu=Rt();var Ml={[sn]:pt("font-weight","bold"),[on]:pt("font-weight","normal"),[jr]:pt("color","blue"),[Gr]:pt("color","green"),[zr]:pt("color","grey"),[cn]:pt("color","red"),[Hr]:pt("color","purple"),[Ne]:pt("color","orange"),[$r]:pt("color","black")},Nl=n=>{n.length===1&&n[0]?.constructor===Function&&(n=n[0]());let t=[],e=[],r=I(),s=[],i=0;for(;i<n.length;i++){let o=n[i],c=Ml[o];if(c!==void 0)r.set(c.left,c.right);else{if(o===void 0)break;if(o.constructor===String||o.constructor===Number){let l=Li(r);i>0||l.length>0?(t.push("%c"+o),e.push(l)):t.push(o)}else break}}for(i>0&&(s=e,s.unshift(t.join("")));i<n.length;i++){let o=n[i];o instanceof Symbol||s.push(o)}return s},Ni=Ui?Nl:Mi,Nn=(...n)=>{console.log(...Ni(n)),Vi.forEach(t=>t.print(n))},qr=(...n)=>{console.warn(...Ni(n)),n.unshift(Ne),Vi.forEach(t=>t.print(n))};var Vi=ut();var Bi=n=>({[Symbol.iterator](){return this},next:n}),Pi=(n,t)=>Bi(()=>{let e;do e=n.next();while(!e.done&&!t(e.value));return e}),Vn=(n,t)=>Bi(()=>{let{done:e,value:r}=n.next();return{done:e,value:e?void 0:t(r)}});var Kr=class extends Tt{constructor(t,e){super(),this.doc=t,this.awareness=e}},an=class{constructor(t,e){this.clock=t,this.len=e}},Vt=class{constructor(){this.clients=new Map}},ne=(n,t,e)=>t.clients.forEach((r,s)=>{let i=n.doc.store.clients.get(s);if(i!=null){let o=i[i.length-1],c=o.id.clock+o.length;for(let l=0,a=r[l];l<r.length&&a.clock<c;a=r[++l])uo(n,i,a.clock,a.len,e)}}),Yl=(n,t)=>{let e=0,r=n.length-1;for(;e<=r;){let s=Q((e+r)/2),i=n[s],o=i.clock;if(o<=t){if(t<o+i.len)return s;e=s+1}else r=s-1}return null},pe=(n,t)=>{let e=n.clients.get(t.client);return e!==void 0&&Yl(e,t.clock)!==null},is=n=>{n.clients.forEach(t=>{t.sort((s,i)=>s.clock-i.clock);let e,r;for(e=1,r=1;e<t.length;e++){let s=t[r-1],i=t[e];s.clock+s.len>=i.clock?s.len=Et(s.len,i.clock+i.len-s.clock):(r<e&&(t[r]=i),r++)}t.length=r})},re=n=>{let t=new Vt;for(let e=0;e<n.length;e++)n[e].clients.forEach((r,s)=>{if(!t.clients.has(s)){let i=r.slice();for(let o=e+1;o<n.length;o++)ei(i,n[o].clients.get(s)||[]);t.clients.set(s,i)}});return is(t),t},dn=(n,t,e,r)=>{M(n.clients,t,()=>[]).push(new an(e,r))},er=()=>new Vt,os=n=>{let t=er();return n.clients.forEach((e,r)=>{let s=[];for(let i=0;i<e.length;i++){let o=e[i];if(o.deleted){let c=o.id.clock,l=o.length;if(i+1<e.length)for(let a=e[i+1];i+1<e.length&&a.deleted;a=e[++i+1])l+=a.length;s.push(new an(c,l))}}s.length>0&&t.clients.set(r,s)}),t},mt=(n,t)=>{S(n.restEncoder,t.clients.size),ot(t.clients.entries()).sort((e,r)=>r[0]-e[0]).forEach(([e,r])=>{n.resetDsCurVal(),S(n.restEncoder,e);let s=r.length;S(n.restEncoder,s);for(let i=0;i<s;i++){let o=r[i];n.writeDsClock(o.clock),n.writeDsLen(o.len)}})},kt=n=>{let t=new Vt,e=x(n.restDecoder);for(let r=0;r<e;r++){n.resetDsCurVal();let s=x(n.restDecoder),i=x(n.restDecoder);if(i>0){let o=M(t.clients,s,()=>[]);for(let c=0;c<i;c++)o.push(new an(n.readDsClock(),n.readDsLen()))}}return t},ji=(n,t,e)=>{let r=new Vt,s=x(n.restDecoder);for(let i=0;i<s;i++){n.resetDsCurVal();let o=x(n.restDecoder),c=x(n.restDecoder),l=e.clients.get(o)||[],a=T(e,o);for(let d=0;d<c;d++){let u=n.readDsClock(),h=u+n.readDsLen();if(u<a){a<h&&dn(r,o,a,h-a);let f=rt(l,u),p=l[f];for(!p.deleted&&p.id.clock<u&&(l.splice(f+1,0,tr(t,p,u-p.id.clock)),f++);f<l.length&&(p=l[f++],p.id.clock<h);)p.deleted||(h<p.id.clock+p.length&&l.splice(f,0,tr(t,p,h-p.id.clock)),p.delete(t))}else dn(r,o,u,h-u)}}if(r.clients.size>0){let i=new tt;return S(i.restEncoder,0),mt(i,r),i.toUint8Array()}return null},ro=(n,t)=>{if(n.clients.size!==t.clients.size)return!1;for(let[e,r]of n.clients.entries()){let s=t.clients.get(e);if(s===void 0||r.length!==s.length)return!1;for(let i=0;i<r.length;i++){let o=r[i],c=s[i];if(o.clock!==c.clock||o.len!==c.len)return!1}}return!0},so=Ur,yt=class n extends Tt{constructor({guid:t=yi(),collectionid:e=null,gc:r=!0,gcFilter:s=()=>!0,meta:i=null,autoLoad:o=!1,shouldLoad:c=!0}={}){super(),this.gc=r,this.gcFilter=s,this.clientID=so(),this.guid=t,this.collectionid=e,this.share=new Map,this.store=new Hn,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=c,this.autoLoad=o,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.isDestroyed=!1,this.whenLoaded=Ir(a=>{this.on("load",()=>{this.isLoaded=!0,a(this)})});let l=()=>Ir(a=>{let d=u=>{(u===void 0||u===!0)&&(this.off("sync",d),a())};this.on("sync",d)});this.on("sync",a=>{a===!1&&this.isSynced&&(this.whenSynced=l()),this.isSynced=a===void 0||a===!0,this.isSynced&&!this.isLoaded&&this.emit("load",[this])}),this.whenSynced=l()}load(){let t=this._item;t!==null&&!this.shouldLoad&&k(t.parent.doc,e=>{e.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(ot(this.subdocs).map(t=>t.guid))}transact(t,e=null){return k(this,t,e)}get(t,e=v){let r=M(this.share,t,()=>{let i=new e;return i._integrate(this,null),i}),s=r.constructor;if(e!==v&&s!==e)if(s===v){let i=new e;i._map=r._map,r._map.forEach(o=>{for(;o!==null;o=o.left)o.parent=i}),i._start=r._start;for(let o=i._start;o!==null;o=o.right)o.parent=i;return i._length=r._length,this.share.set(t,i),i._integrate(this,null),i}else throw new Error(`Type with the name ${t} has already been defined with a different constructor`);return r}getArray(t=""){return this.get(t,le)}getText(t=""){return this.get(t,Pe)}getMap(t=""){return this.get(t,ae)}getXmlElement(t=""){return this.get(t,ue)}getXmlFragment(t=""){return this.get(t,de)}toJSON(){let t={};return this.share.forEach((e,r)=>{t[r]=e.toJSON()}),t}destroy(){this.isDestroyed=!0,ot(this.subdocs).forEach(e=>e.destroy());let t=this._item;if(t!==null){this._item=null;let e=t.content;e.doc=new n({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=t,k(t.parent.doc,r=>{let s=e.doc;t.deleted||r.subdocsAdded.add(s),r.subdocsRemoved.add(this)},null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}},se=class{constructor(t){this.restDecoder=t}resetDsCurVal(){}readDsClock(){return x(this.restDecoder)}readDsLen(){return x(this.restDecoder)}},Z=class extends se{readLeftID(){return _(x(this.restDecoder),x(this.restDecoder))}readRightID(){return _(x(this.restDecoder),x(this.restDecoder))}readClient(){return x(this.restDecoder)}readInfo(){return Xt(this.restDecoder)}readString(){return Ot(this.restDecoder)}readParentInfo(){return x(this.restDecoder)===1}readTypeRef(){return x(this.restDecoder)}readLen(){return x(this.restDecoder)}readAny(){return Re(this.restDecoder)}readBuf(){return Oi(P(this.restDecoder))}readJSON(){return JSON.parse(Ot(this.restDecoder))}readKey(){return Ot(this.restDecoder)}},zn=class{constructor(t){this.dsCurrVal=0,this.restDecoder=t}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=x(this.restDecoder),this.dsCurrVal}readDsLen(){let t=x(this.restDecoder)+1;return this.dsCurrVal+=t,t}},J=class extends zn{constructor(t){super(t),this.keys=[],x(t),this.keyClockDecoder=new Le(P(t)),this.clientDecoder=new Qt(P(t)),this.leftClockDecoder=new Le(P(t)),this.rightClockDecoder=new Le(P(t)),this.infoDecoder=new Ze(P(t),Xt),this.stringDecoder=new Ln(P(t)),this.parentInfoDecoder=new Ze(P(t),Xt),this.typeRefDecoder=new Qt(P(t)),this.lenDecoder=new Qt(P(t))}readLeftID(){return new bt(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new bt(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return this.parentInfoDecoder.read()===1}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Re(this.restDecoder)}readBuf(){return P(this.restDecoder)}readJSON(){return Re(this.restDecoder)}readKey(){let t=this.keyClockDecoder.read();if(t<this.keys.length)return this.keys[t];{let e=this.stringDecoder.read();return this.keys.push(e),e}}},Bt=class{constructor(){this.restEncoder=ct()}toUint8Array(){return z(this.restEncoder)}resetDsCurVal(){}writeDsClock(t){S(this.restEncoder,t)}writeDsLen(t){S(this.restEncoder,t)}},wt=class extends Bt{writeLeftID(t){S(this.restEncoder,t.client),S(this.restEncoder,t.clock)}writeRightID(t){S(this.restEncoder,t.client),S(this.restEncoder,t.clock)}writeClient(t){S(this.restEncoder,t)}writeInfo(t){Ie(this.restEncoder,t)}writeString(t){It(this.restEncoder,t)}writeParentInfo(t){S(this.restEncoder,t?1:0)}writeTypeRef(t){S(this.restEncoder,t)}writeLen(t){S(this.restEncoder,t)}writeAny(t){Ue(this.restEncoder,t)}writeBuf(t){B(this.restEncoder,t)}writeJSON(t){It(this.restEncoder,JSON.stringify(t))}writeKey(t){It(this.restEncoder,t)}},Ve=class{constructor(){this.restEncoder=ct(),this.dsCurrVal=0}toUint8Array(){return z(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(t){let e=t-this.dsCurrVal;this.dsCurrVal=t,S(this.restEncoder,e)}writeDsLen(t){t===0&&q(),S(this.restEncoder,t-1),this.dsCurrVal+=t}},tt=class extends Ve{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new Te,this.clientEncoder=new Wt,this.leftClockEncoder=new Te,this.rightClockEncoder=new Te,this.infoEncoder=new Xe(Ie),this.stringEncoder=new Rn,this.parentInfoEncoder=new Xe(Ie),this.typeRefEncoder=new Wt,this.lenEncoder=new Wt}toUint8Array(){let t=ct();return S(t,0),B(t,this.keyClockEncoder.toUint8Array()),B(t,this.clientEncoder.toUint8Array()),B(t,this.leftClockEncoder.toUint8Array()),B(t,this.rightClockEncoder.toUint8Array()),B(t,z(this.infoEncoder)),B(t,this.stringEncoder.toUint8Array()),B(t,z(this.parentInfoEncoder)),B(t,this.typeRefEncoder.toUint8Array()),B(t,this.lenEncoder.toUint8Array()),ve(t,z(this.restEncoder)),z(t)}writeLeftID(t){this.clientEncoder.write(t.client),this.leftClockEncoder.write(t.clock)}writeRightID(t){this.clientEncoder.write(t.client),this.rightClockEncoder.write(t.clock)}writeClient(t){this.clientEncoder.write(t)}writeInfo(t){this.infoEncoder.write(t)}writeString(t){this.stringEncoder.write(t)}writeParentInfo(t){this.parentInfoEncoder.write(t?1:0)}writeTypeRef(t){this.typeRefEncoder.write(t)}writeLen(t){this.lenEncoder.write(t)}writeAny(t){Ue(this.restEncoder,t)}writeBuf(t){B(this.restEncoder,t)}writeJSON(t){Ue(this.restEncoder,t)}writeKey(t){let e=this.keyMap.get(t);e===void 0?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(t)):this.keyClockEncoder.write(e)}},jl=(n,t,e,r)=>{r=Et(r,t[0].id.clock);let s=rt(t,r);S(n.restEncoder,t.length-s),n.writeClient(e),S(n.restEncoder,r);let i=t[s];i.write(n,r-i.id.clock);for(let o=s+1;o<t.length;o++)t[o].write(n,0)},cs=(n,t,e)=>{let r=new Map;e.forEach((s,i)=>{T(t,i)>s&&r.set(i,s)}),Sn(t).forEach((s,i)=>{e.has(i)||r.set(i,0)}),S(n.restEncoder,r.size),ot(r.entries()).sort((s,i)=>i[0]-s[0]).forEach(([s,i])=>{jl(n,t.clients.get(s),s,i)})},zl=(n,t)=>{let e=I(),r=x(n.restDecoder);for(let s=0;s<r;s++){let i=x(n.restDecoder),o=new Array(i),c=n.readClient(),l=x(n.restDecoder);e.set(c,{i:0,refs:o});for(let a=0;a<i;a++){let d=n.readInfo();switch(31&d){case 0:{let u=n.readLen();o[a]=new H(_(c,l),u),l+=u;break}case 10:{let u=x(n.restDecoder);o[a]=new F(_(c,l),u),l+=u;break}default:{let u=(d&192)===0,h=new C(_(c,l),null,(d&128)===128?n.readLeftID():null,null,(d&64)===64?n.readRightID():null,u?n.readParentInfo()?t.get(n.readString()):n.readLeftID():null,u&&(d&32)===32?n.readString():null,jo(n,d));o[a]=h,l+=h.length}}}}return e},Gl=(n,t,e)=>{let r=[],s=ot(e.keys()).sort((f,p)=>f-p);if(s.length===0)return null;let i=()=>{if(s.length===0)return null;let f=e.get(s[s.length-1]);for(;f.refs.length===f.i;)if(s.pop(),s.length>0)f=e.get(s[s.length-1]);else return null;return f},o=i();if(o===null)return null;let c=new Hn,l=new Map,a=(f,p)=>{let w=l.get(f);(w==null||w>p)&&l.set(f,p)},d=o.refs[o.i++],u=new Map,h=()=>{for(let f of r){let p=f.id.client,w=e.get(p);w?(w.i--,c.clients.set(p,w.refs.slice(w.i)),e.delete(p),w.i=0,w.refs=[]):c.clients.set(p,[f]),s=s.filter(g=>g!==p)}r.length=0};for(;;){if(d.constructor!==F){let p=M(u,d.id.client,()=>T(t,d.id.client))-d.id.clock;if(p<0)r.push(d),a(d.id.client,d.id.clock-1),h();else{let w=d.getMissing(n,t);if(w!==null){r.push(d);let g=e.get(w)||{refs:[],i:0};if(g.refs.length===g.i)a(w,T(t,w)),h();else{d=g.refs[g.i++];continue}}else(p===0||p<d.length)&&(d.integrate(n,p),u.set(d.id.client,d.id.clock+d.length))}}if(r.length>0)d=r.pop();else if(o!==null&&o.i<o.refs.length)d=o.refs[o.i++];else{if(o=i(),o===null)break;d=o.refs[o.i++]}}if(c.clients.size>0){let f=new tt;return cs(f,c,new Map),S(f.restEncoder,0),{missing:l,update:f.toUint8Array()}}return null},Hl=(n,t)=>cs(n,t.doc.store,t.beforeState),ls=(n,t,e,r=new J(n))=>k(t,s=>{s.local=!1;let i=!1,o=s.doc,c=o.store,l=zl(r,o),a=Gl(s,c,l),d=c.pendingStructs;if(d){for(let[h,f]of d.missing)if(f<T(c,h)){i=!0;break}if(a){for(let[h,f]of a.missing){let p=d.missing.get(h);(p==null||p>f)&&d.missing.set(h,f)}d.update=oe([d.update,a.update])}}else c.pendingStructs=a;let u=ji(r,s,c);if(c.pendingDs){let h=new J(L(c.pendingDs));x(h.restDecoder);let f=ji(h,s,c);u&&f?c.pendingDs=oe([u,f]):c.pendingDs=u||f}else c.pendingDs=u;if(i){let h=c.pendingStructs.update;c.pendingStructs=null,_t(s.doc,h)}},e,!1),$l=(n,t,e)=>ls(n,t,e,new Z(n)),_t=(n,t,e,r=J)=>{let s=L(t);ls(s,n,e,new r(s))},as=(n,t,e)=>_t(n,t,e,Z),ql=(n,t,e=new Map)=>{cs(n,t.store,e),mt(n,os(t.store))},Ft=(n,t=new Uint8Array([0]),e=new tt)=>{let r=us(t);ql(e,n,r);let s=[e.toUint8Array()];if(n.store.pendingDs&&s.push(n.store.pendingDs),n.store.pendingStructs&&s.push(ms(n.store.pendingStructs.update,t)),s.length>1){if(e.constructor===wt)return yo(s.map((i,o)=>o===0?i:Eo(i)));if(e.constructor===tt)return oe(s)}return s[0]},ds=(n,t)=>Ft(n,t,new wt),io=n=>{let t=new Map,e=x(n.restDecoder);for(let r=0;r<e;r++){let s=x(n.restDecoder),i=x(n.restDecoder);t.set(s,i)}return t},us=n=>io(new se(L(n))),hs=(n,t)=>(S(n.restEncoder,t.size),ot(t.entries()).sort((e,r)=>r[0]-e[0]).forEach(([e,r])=>{S(n.restEncoder,e),S(n.restEncoder,r)}),n),Jl=(n,t)=>hs(n,Sn(t.store)),Kl=(n,t=new Ve)=>(n instanceof Map?hs(t,n):Jl(t,n),t.toUint8Array()),fs=n=>Kl(n,new Bt),Wr=class{constructor(){this.l=[]}},zi=()=>new Wr,Gi=(n,t)=>n.l.push(t),Hi=(n,t)=>{let e=n.l,r=e.length;n.l=e.filter(s=>t!==s),r===n.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},oo=(n,t,e)=>nn(n.l,[t,e]),bt=class{constructor(t,e){this.client=t,this.clock=e}},te=(n,t)=>n===t||n!==null&&t!==null&&n.client===t.client&&n.clock===t.clock,_=(n,t)=>new bt(n,t),$i=(n,t)=>{S(n,t.client),S(n,t.clock)},qi=n=>_(x(n),x(n)),ps=n=>{for(let[t,e]of n.doc.share.entries())if(e===n)return t;throw q()},un=(n,t)=>{for(;t!==null;){if(t.parent===n)return!0;t=t.parent._item}return!1},Wl=n=>{let t=[],e=n._start;for(;e;)t.push(e),e=e.right;console.log("Children: ",t),console.log("Children content: ",t.filter(r=>!r.deleted).map(r=>r.content))},Xr=class{constructor(t,e=t.getMap("users")){let r=new Map;this.yusers=e,this.doc=t,this.clients=new Map,this.dss=r;let s=(i,o)=>{let c=i.get("ds"),l=i.get("ids"),a=d=>this.clients.set(d,o);c.observe(d=>{d.changes.added.forEach(u=>{u.content.getContent().forEach(h=>{h instanceof Uint8Array&&this.dss.set(o,re([this.dss.get(o)||er(),kt(new se(L(h)))]))})})}),this.dss.set(o,re(c.map(d=>kt(new se(L(d)))))),l.observe(d=>d.changes.added.forEach(u=>u.content.getContent().forEach(a))),l.forEach(a)};e.observe(i=>{i.keysChanged.forEach(o=>s(e.get(o),o))}),e.forEach(s)}setUserMapping(t,e,r,{filter:s=()=>!0}={}){let i=this.yusers,o=i.get(r);o||(o=new ae,o.set("ids",new le),o.set("ds",new le),i.set(r,o)),o.get("ids").push([e]),i.observe(c=>{setTimeout(()=>{let l=i.get(r);if(l!==o){o=l,this.clients.forEach((u,h)=>{r===u&&o.get("ids").push([h])});let a=new Bt,d=this.dss.get(r);d&&(mt(a,d),o.get("ds").push([a.toUint8Array()]))}},0)}),t.on("afterTransaction",c=>{setTimeout(()=>{let l=o.get("ds"),a=c.deleteSet;if(c.local&&a.clients.size>0&&s(c,a)){let d=new Bt;mt(d,a),l.push([d.toUint8Array()])}})})}getUserByClientId(t){return this.clients.get(t)||null}getUserByDeletedId(t){for(let[e,r]of this.dss.entries())if(pe(r,t))return e;return null}},Be=class{constructor(t,e,r,s=0){this.type=t,this.tname=e,this.item=r,this.assoc=s}},Xl=n=>{let t={};return n.type&&(t.type=n.type),n.tname&&(t.tname=n.tname),n.item&&(t.item=n.item),n.assoc!=null&&(t.assoc=n.assoc),t},Ql=n=>new Be(n.type==null?null:_(n.type.client,n.type.clock),n.tname??null,n.item==null?null:_(n.item.client,n.item.clock),n.assoc==null?0:n.assoc),Gn=class{constructor(t,e,r=0){this.type=t,this.index=e,this.assoc=r}},Zl=(n,t,e=0)=>new Gn(n,t,e),Bn=(n,t,e)=>{let r=null,s=null;return n._item===null?s=ps(n):r=_(n._item.id.client,n._item.id.clock),new Be(r,s,t,e)},ta=(n,t,e=0)=>{let r=n._start;if(e<0){if(t===0)return Bn(n,null,e);t--}for(;r!==null;){if(!r.deleted&&r.countable){if(r.length>t)return Bn(n,_(r.id.client,r.id.clock+t),e);t-=r.length}if(r.right===null&&e<0)return Bn(n,r.lastId,e);r=r.right}return Bn(n,null,e)},ea=(n,t)=>{let{type:e,tname:r,item:s,assoc:i}=t;if(s!==null)S(n,0),$i(n,s);else if(r!==null)Ie(n,1),It(n,r);else if(e!==null)Ie(n,2),$i(n,e);else throw q();return Qe(n,i),n},na=n=>{let t=ct();return ea(t,n),z(t)},ra=n=>{let t=null,e=null,r=null;switch(x(n)){case 0:r=qi(n);break;case 1:e=Ot(n);break;case 2:t=qi(n)}let s=Cr(n)?tn(n):0;return new Be(t,e,r,s)},sa=n=>ra(L(n)),ia=(n,t)=>{let e=ee(n,t),r=t.clock-e.id.clock;return{item:e,diff:r}},oa=(n,t,e=!0)=>{let r=t.store,s=n.item,i=n.type,o=n.tname,c=n.assoc,l=null,a=0;if(s!==null){if(T(r,s.client)<=s.clock)return null;let d=e?rs(r,s):ia(r,s),u=d.item;if(!(u instanceof C))return null;if(l=u.parent,l._item===null||!l._item.deleted){a=u.deleted||!u.countable?0:d.diff+(c>=0?0:1);let h=u.left;for(;h!==null;)!h.deleted&&h.countable&&(a+=h.length),h=h.left}}else{if(o!==null)l=t.get(o);else if(i!==null){if(T(r,i.client)<=i.clock)return null;let{item:d}=e?rs(r,i):{item:ee(r,i)};if(d instanceof C&&d.content instanceof st)l=d.content.type;else return null}else throw q();c>=0?a=l._length:a=0}return Zl(l,a,n.assoc)},ca=(n,t)=>n===t||n!==null&&t!==null&&n.tname===t.tname&&te(n.item,t.item)&&te(n.type,t.type)&&n.assoc===t.assoc,hn=class{constructor(t,e){this.ds=t,this.sv=e}},la=(n,t)=>{let e=n.ds.clients,r=t.ds.clients,s=n.sv,i=t.sv;if(s.size!==i.size||e.size!==r.size)return!1;for(let[o,c]of s.entries())if(i.get(o)!==c)return!1;for(let[o,c]of e.entries()){let l=r.get(o)||[];if(c.length!==l.length)return!1;for(let a=0;a<c.length;a++){let d=c[a],u=l[a];if(d.clock!==u.clock||d.len!==u.len)return!1}}return!0},co=(n,t=new Ve)=>(mt(t,n.ds),hs(t,n.sv),t.toUint8Array()),aa=n=>co(n,new Bt),lo=(n,t=new zn(L(n)))=>new hn(kt(t),io(t)),da=n=>lo(n,new se(L(n))),gs=(n,t)=>new hn(n,t),ua=gs(er(),new Map),ha=n=>gs(os(n.store),Sn(n.store)),Lt=(n,t)=>t===void 0?!n.deleted:t.sv.has(n.id.client)&&(t.sv.get(n.id.client)||0)>n.id.clock&&!pe(t.ds,n.id),Qr=(n,t)=>{let e=M(n.meta,Qr,ut),r=n.doc.store;e.has(t)||(t.sv.forEach((s,i)=>{s<T(r,i)&&G(n,_(i,s))}),ne(n,t.ds,s=>{}),e.add(t))},fa=(n,t,e=new yt)=>{if(n.gc)throw new Error("Garbage-collection must be disabled in `originDoc`!");let{sv:r,ds:s}=t,i=new tt;return n.transact(o=>{let c=0;r.forEach(l=>{l>0&&c++}),S(i.restEncoder,c);for(let[l,a]of r){if(a===0)continue;a<T(n.store,l)&&G(o,_(l,a));let d=n.store.clients.get(l)||[],u=rt(d,a-1);S(i.restEncoder,u+1),i.writeClient(l),S(i.restEncoder,0);for(let h=0;h<=u;h++)d[h].write(i,0)}mt(i,s)}),_t(e,i.toUint8Array(),"snapshot"),e},pa=(n,t,e=J)=>{let r=new e(L(t)),s=new St(r,!1);for(let o=s.curr;o!==null;o=s.next())if((n.sv.get(o.id.client)||0)<o.id.clock+o.length)return!1;let i=re([n.ds,kt(r)]);return ro(n.ds,i)},ga=(n,t)=>pa(n,t,Z),Hn=class{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}},Sn=n=>{let t=new Map;return n.clients.forEach((e,r)=>{let s=e[e.length-1];t.set(r,s.id.clock+s.length)}),t},T=(n,t)=>{let e=n.clients.get(t);if(e===void 0)return 0;let r=e[e.length-1];return r.id.clock+r.length},ao=(n,t)=>{let e=n.clients.get(t.id.client);if(e===void 0)e=[],n.clients.set(t.id.client,e);else{let r=e[e.length-1];if(r.id.clock+r.length!==t.id.clock)throw q()}e.push(t)},rt=(n,t)=>{let e=0,r=n.length-1,s=n[r],i=s.id.clock;if(i===t)return r;let o=Q(t/(i+s.length-1)*r);for(;e<=r;){if(s=n[o],i=s.id.clock,i<=t){if(t<i+s.length)return o;e=o+1}else r=o-1;o=Q((e+r)/2)}throw q()},ma=(n,t)=>{let e=n.clients.get(t.client);return e[rt(e,t.clock)]},ee=ma,Zr=(n,t,e)=>{let r=rt(t,e),s=t[r];return s.id.clock<e&&s instanceof C?(t.splice(r+1,0,tr(n,s,e-s.id.clock)),r+1):r},G=(n,t)=>{let e=n.doc.store.clients.get(t.client);return e[Zr(n,e,t.clock)]},ts=(n,t,e)=>{let r=t.clients.get(e.client),s=rt(r,e.clock),i=r[s];return e.clock!==i.id.clock+i.length-1&&i.constructor!==H&&r.splice(s+1,0,tr(n,i,e.clock-i.id.clock+1)),i},ya=(n,t,e)=>{let r=n.clients.get(t.id.client);r[rt(r,t.id.clock)]=e},uo=(n,t,e,r,s)=>{if(r===0)return;let i=e+r,o=Zr(n,t,e),c;do c=t[o++],i<c.id.clock+c.length&&Zr(n,t,i),s(c);while(o<t.length&&t[o].id.clock<i)},$n=class{constructor(t,e,r){this.doc=t,this.deleteSet=new Vt,this.beforeState=Sn(t.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=e,this.meta=new Map,this.local=r,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}},Ji=(n,t)=>t.deleteSet.clients.size===0&&!ti(t.afterState,(e,r)=>t.beforeState.get(r)!==e)?!1:(is(t.deleteSet),Hl(n,t),mt(n,t.deleteSet),!0),Ki=(n,t,e)=>{let r=t._item;(r===null||r.id.clock<(n.beforeState.get(r.id.client)||0)&&!r.deleted)&&M(n.changed,t,ut).add(e)},Yn=(n,t)=>{let e=n[t],r=n[t-1],s=t;for(;s>0;e=r,r=n[--s-1]){if(r.deleted===e.deleted&&r.constructor===e.constructor&&r.mergeWith(e)){e instanceof C&&e.parentSub!==null&&e.parent._map.get(e.parentSub)===e&&e.parent._map.set(e.parentSub,r);continue}break}let i=t-s;return i&&n.splice(t+1-i,i),i},ho=(n,t,e)=>{for(let[r,s]of n.clients.entries()){let i=t.clients.get(r);for(let o=s.length-1;o>=0;o--){let c=s[o],l=c.clock+c.len;for(let a=rt(i,c.clock),d=i[a];a<i.length&&d.id.clock<l;d=i[++a]){let u=i[a];if(c.clock+c.len<=u.id.clock)break;u instanceof C&&u.deleted&&!u.keep&&e(u)&&u.gc(t,!1)}}}},fo=(n,t)=>{n.clients.forEach((e,r)=>{let s=t.clients.get(r);for(let i=e.length-1;i>=0;i--){let o=e[i],c=vn(s.length-1,1+rt(s,o.clock+o.len-1));for(let l=c,a=s[l];l>0&&a.id.clock>=o.clock;a=s[l])l-=1+Yn(s,l)}})},wa=(n,t,e)=>{ho(n,t,e),fo(n,t)},po=(n,t)=>{if(t<n.length){let e=n[t],r=e.doc,s=r.store,i=e.deleteSet,o=e._mergeStructs;try{is(i),e.afterState=Sn(e.doc.store),r.emit("beforeObserverCalls",[e,r]);let c=[];e.changed.forEach((l,a)=>c.push(()=>{(a._item===null||!a._item.deleted)&&a._callObserver(e,l)})),c.push(()=>{e.changedParentTypes.forEach((l,a)=>{a._dEH.l.length>0&&(a._item===null||!a._item.deleted)&&(l=l.filter(d=>d.target._item===null||!d.target._item.deleted),l.forEach(d=>{d.currentTarget=a,d._path=null}),l.sort((d,u)=>d.path.length-u.path.length),c.push(()=>{oo(a._dEH,l,e)}))}),c.push(()=>r.emit("afterTransaction",[e,r])),c.push(()=>{e._needFormattingCleanup&&Fa(e)})}),nn(c,[])}finally{r.gc&&ho(i,s,r.gcFilter),fo(i,s),e.afterState.forEach((d,u)=>{let h=e.beforeState.get(u)||0;if(h!==d){let f=s.clients.get(u),p=Et(rt(f,h),1);for(let w=f.length-1;w>=p;)w-=1+Yn(f,w)}});for(let d=o.length-1;d>=0;d--){let{client:u,clock:h}=o[d].id,f=s.clients.get(u),p=rt(f,h);p+1<f.length&&Yn(f,p+1)>1||p>0&&Yn(f,p)}if(!e.local&&e.afterState.get(r.clientID)!==e.beforeState.get(r.clientID)&&(Nn(Ne,sn,"[yjs] ",on,cn,"Changed the client-id because another client seems to be using it."),r.clientID=so()),r.emit("afterTransactionCleanup",[e,r]),r._observers.has("update")){let d=new wt;Ji(d,e)&&r.emit("update",[d.toUint8Array(),e.origin,r,e])}if(r._observers.has("updateV2")){let d=new tt;Ji(d,e)&&r.emit("updateV2",[d.toUint8Array(),e.origin,r,e])}let{subdocsAdded:c,subdocsLoaded:l,subdocsRemoved:a}=e;(c.size>0||a.size>0||l.size>0)&&(c.forEach(d=>{d.clientID=r.clientID,d.collectionid==null&&(d.collectionid=r.collectionid),r.subdocs.add(d)}),a.forEach(d=>r.subdocs.delete(d)),r.emit("subdocs",[{loaded:l,added:c,removed:a},r,e]),a.forEach(d=>d.destroy())),n.length<=t+1?(r._transactionCleanups=[],r.emit("afterAllTransactions",[r,n])):po(n,t+1)}}},k=(n,t,e=null,r=!0)=>{let s=n._transactionCleanups,i=!1,o=null;n._transaction===null&&(i=!0,n._transaction=new $n(n,e,r),s.push(n._transaction),s.length===1&&n.emit("beforeAllTransactions",[n]),n.emit("beforeTransaction",[n._transaction,n]));try{o=t(n._transaction)}finally{if(i){let c=n._transaction===s[0];n._transaction=null,c&&po(s,0)}}return o},es=class{constructor(t,e){this.insertions=e,this.deletions=t,this.meta=new Map}},Wi=(n,t,e)=>{ne(n,e.deletions,r=>{r instanceof C&&t.scope.some(s=>s===n.doc||un(s,r))&&xs(r,!1)})},Xi=(n,t,e)=>{let r=null,s=n.doc,i=n.scope;k(s,c=>{for(;t.length>0&&n.currStackItem===null;){let l=s.store,a=t.pop(),d=new Set,u=[],h=!1;ne(c,a.insertions,f=>{if(f instanceof C){if(f.redone!==null){let{item:p,diff:w}=rs(l,f.id);w>0&&(p=G(c,_(p.id.client,p.id.clock+w))),f=p}!f.deleted&&i.some(p=>p===c.doc||un(p,f))&&u.push(f)}}),ne(c,a.deletions,f=>{f instanceof C&&i.some(p=>p===c.doc||un(p,f))&&!pe(a.insertions,f.id)&&d.add(f)}),d.forEach(f=>{h=Yo(c,f,d,a.insertions,n.ignoreRemoteMapChanges,n)!==null||h});for(let f=u.length-1;f>=0;f--){let p=u[f];n.deleteFilter(p)&&(p.delete(c),h=!0)}n.currStackItem=h?a:null}c.changed.forEach((l,a)=>{l.has(null)&&a._searchMarker&&(a._searchMarker.length=0)}),r=c},n);let o=n.currStackItem;if(o!=null){let c=r.changedParentTypes;n.emit("stack-item-popped",[{stackItem:o,type:e,changedParentTypes:c,origin:n},n]),n.currStackItem=null}return o},ie=class extends Tt{constructor(t,{captureTimeout:e=500,captureTransaction:r=l=>!0,deleteFilter:s=()=>!0,trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:o=!1,doc:c=Jt(t)?t[0].doc:t instanceof yt?t:t.doc}={}){super(),this.scope=[],this.doc=c,this.addToScope(t),this.deleteFilter=s,i.add(this),this.trackedOrigins=i,this.captureTransaction=r,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.currStackItem=null,this.lastChange=0,this.ignoreRemoteMapChanges=o,this.captureTimeout=e,this.afterTransactionHandler=l=>{if(!this.captureTransaction(l)||!this.scope.some(g=>l.changedParentTypes.has(g)||g===this.doc)||!this.trackedOrigins.has(l.origin)&&(!l.origin||!this.trackedOrigins.has(l.origin.constructor)))return;let a=this.undoing,d=this.redoing,u=a?this.redoStack:this.undoStack;a?this.stopCapturing():d||this.clear(!1,!0);let h=new Vt;l.afterState.forEach((g,y)=>{let m=l.beforeState.get(y)||0,b=g-m;b>0&&dn(h,y,m,b)});let f=Rt(),p=!1;if(this.lastChange>0&&f-this.lastChange<this.captureTimeout&&u.length>0&&!a&&!d){let g=u[u.length-1];g.deletions=re([g.deletions,l.deleteSet]),g.insertions=re([g.insertions,h])}else u.push(new es(l.deleteSet,h)),p=!0;!a&&!d&&(this.lastChange=f),ne(l,l.deleteSet,g=>{g instanceof C&&this.scope.some(y=>y===l.doc||un(y,g))&&xs(g,!0)});let w=[{stackItem:u[u.length-1],origin:l.origin,type:a?"redo":"undo",changedParentTypes:l.changedParentTypes},this];p?this.emit("stack-item-added",w):this.emit("stack-item-updated",w)},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",()=>{this.destroy()})}addToScope(t){let e=new Set(this.scope);t=Jt(t)?t:[t],t.forEach(r=>{e.has(r)||(e.add(r),(r instanceof v?r.doc!==this.doc:r!==this.doc)&&qr("[yjs#509] Not same Y.Doc"),this.scope.push(r))})}addTrackedOrigin(t){this.trackedOrigins.add(t)}removeTrackedOrigin(t){this.trackedOrigins.delete(t)}clear(t=!0,e=!0){(t&&this.canUndo()||e&&this.canRedo())&&this.doc.transact(r=>{t&&(this.undoStack.forEach(s=>Wi(r,this,s)),this.undoStack=[]),e&&(this.redoStack.forEach(s=>Wi(r,this,s)),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:t,redoStackCleared:e}])})}stopCapturing(){this.lastChange=0}undo(){this.undoing=!0;let t;try{t=Xi(this,this.undoStack,"undo")}finally{this.undoing=!1}return t}redo(){this.redoing=!0;let t;try{t=Xi(this,this.redoStack,"redo")}finally{this.redoing=!1}return t}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}};function*Sa(n){let t=x(n.restDecoder);for(let e=0;e<t;e++){let r=x(n.restDecoder),s=n.readClient(),i=x(n.restDecoder);for(let o=0;o<r;o++){let c=n.readInfo();if(c===10){let l=x(n.restDecoder);yield new F(_(s,i),l),i+=l}else if((31&c)!==0){let l=(c&192)===0,a=new C(_(s,i),null,(c&128)===128?n.readLeftID():null,null,(c&64)===64?n.readRightID():null,l?n.readParentInfo()?n.readString():n.readLeftID():null,l&&(c&32)===32?n.readString():null,jo(n,c));yield a,i+=a.length}else{let l=n.readLen();yield new H(_(s,i),l),i+=l}}}}var St=class{constructor(t,e){this.gen=Sa(t),this.curr=null,this.done=!1,this.filterSkips=e,this.next()}next(){do this.curr=this.gen.next().value||null;while(this.filterSkips&&this.curr!==null&&this.curr.constructor===F);return this.curr}},_a=n=>go(n,Z),go=(n,t=J)=>{let e=[],r=new t(L(n)),s=new St(r,!1);for(let o=s.curr;o!==null;o=s.next())e.push(o);Nn("Structs: ",e);let i=kt(r);Nn("DeleteSet: ",i)},xa=n=>mo(n,Z),mo=(n,t=J)=>{let e=[],r=new t(L(n)),s=new St(r,!1);for(let i=s.curr;i!==null;i=s.next())e.push(i);return{structs:e,ds:kt(r)}},fn=class{constructor(t){this.currClient=0,this.startClock=0,this.written=0,this.encoder=t,this.clientStructs=[]}},yo=n=>oe(n,Z,wt),wo=(n,t=Ve,e=J)=>{let r=new t,s=new St(new e(L(n)),!1),i=s.curr;if(i!==null){let o=0,c=i.id.client,l=i.id.clock!==0,a=l?0:i.id.clock+i.length;for(;i!==null;i=s.next())c!==i.id.client&&(a!==0&&(o++,S(r.restEncoder,c),S(r.restEncoder,a)),c=i.id.client,a=0,l=i.id.clock!==0),i.constructor===F&&(l=!0),l||(a=i.id.clock+i.length);a!==0&&(o++,S(r.restEncoder,c),S(r.restEncoder,a));let d=ct();return S(d,o),hi(d,r.restEncoder),r.restEncoder=d,r.toUint8Array()}else return S(r.restEncoder,0),r.toUint8Array()},Ea=n=>wo(n,Bt,Z),So=(n,t=J)=>{let e=new Map,r=new Map,s=new St(new t(L(n)),!1),i=s.curr;if(i!==null){let o=i.id.client,c=i.id.clock;for(e.set(o,c);i!==null;i=s.next())o!==i.id.client&&(r.set(o,c),e.set(i.id.client,i.id.clock),o=i.id.client),c=i.id.clock+i.length;r.set(o,c)}return{from:e,to:r}},ba=n=>So(n,Z),ka=(n,t)=>{if(n.constructor===H){let{client:e,clock:r}=n.id;return new H(_(e,r+t),n.length-t)}else if(n.constructor===F){let{client:e,clock:r}=n.id;return new F(_(e,r+t),n.length-t)}else{let e=n,{client:r,clock:s}=e.id;return new C(_(r,s+t),null,_(r,s+t-1),null,e.rightOrigin,e.parent,e.parentSub,e.content.splice(t))}},oe=(n,t=J,e=tt)=>{if(n.length===1)return n[0];let r=n.map(d=>new t(L(d))),s=r.map(d=>new St(d,!0)),i=null,o=new e,c=new fn(o);for(;s=s.filter(h=>h.curr!==null),s.sort((h,f)=>{if(h.curr.id.client===f.curr.id.client){let p=h.curr.id.clock-f.curr.id.clock;return p===0?h.curr.constructor===f.curr.constructor?0:h.curr.constructor===F?1:-1:p}else return f.curr.id.client-h.curr.id.client}),s.length!==0;){let d=s[0],u=d.curr.id.client;if(i!==null){let h=d.curr,f=!1;for(;h!==null&&h.id.clock+h.length<=i.struct.id.clock+i.struct.length&&h.id.client>=i.struct.id.client;)h=d.next(),f=!0;if(h===null||h.id.client!==u||f&&h.id.clock>i.struct.id.clock+i.struct.length)continue;if(u!==i.struct.id.client)Mt(c,i.struct,i.offset),i={struct:h,offset:0},d.next();else if(i.struct.id.clock+i.struct.length<h.id.clock)if(i.struct.constructor===F)i.struct.length=h.id.clock+h.length-i.struct.id.clock;else{Mt(c,i.struct,i.offset);let p=h.id.clock-i.struct.id.clock-i.struct.length;i={struct:new F(_(u,i.struct.id.clock+i.struct.length),p),offset:0}}else{let p=i.struct.id.clock+i.struct.length-h.id.clock;p>0&&(i.struct.constructor===F?i.struct.length-=p:h=ka(h,p)),i.struct.mergeWith(h)||(Mt(c,i.struct,i.offset),i={struct:h,offset:0},d.next())}}else i={struct:d.curr,offset:0},d.next();for(let h=d.curr;h!==null&&h.id.client===u&&h.id.clock===i.struct.id.clock+i.struct.length&&h.constructor!==F;h=d.next())Mt(c,i.struct,i.offset),i={struct:h,offset:0}}i!==null&&(Mt(c,i.struct,i.offset),i=null),ys(c);let l=r.map(d=>kt(d)),a=re(l);return mt(o,a),o.toUint8Array()},ms=(n,t,e=J,r=tt)=>{let s=us(t),i=new r,o=new fn(i),c=new e(L(n)),l=new St(c,!1);for(;l.curr;){let d=l.curr,u=d.id.client,h=s.get(u)||0;if(l.curr.constructor===F){l.next();continue}if(d.id.clock+d.length>h)for(Mt(o,d,Et(h-d.id.clock,0)),l.next();l.curr&&l.curr.id.client===u;)Mt(o,l.curr,0),l.next();else for(;l.curr&&l.curr.id.client===u&&l.curr.id.clock+l.curr.length<=h;)l.next()}ys(o);let a=kt(c);return mt(i,a),i.toUint8Array()},Ca=(n,t)=>ms(n,t,Z,wt),_o=n=>{n.written>0&&(n.clientStructs.push({written:n.written,restEncoder:z(n.encoder.restEncoder)}),n.encoder.restEncoder=ct(),n.written=0)},Mt=(n,t,e)=>{n.written>0&&n.currClient!==t.id.client&&_o(n),n.written===0&&(n.currClient=t.id.client,n.encoder.writeClient(t.id.client),S(n.encoder.restEncoder,t.id.clock+e)),t.write(n.encoder,e),n.written++},ys=n=>{_o(n);let t=n.encoder.restEncoder;S(t,n.clientStructs.length);for(let e=0;e<n.clientStructs.length;e++){let r=n.clientStructs[e];S(t,r.written),ve(t,r.restEncoder)}},nr=(n,t,e,r)=>{let s=new e(L(n)),i=new St(s,!1),o=new r,c=new fn(o);for(let a=i.curr;a!==null;a=i.next())Mt(c,t(a),0);ys(c);let l=kt(s);return mt(o,l),o.toUint8Array()},xo=({formatting:n=!0,subdocs:t=!0,yxml:e=!0}={})=>{let r=0,s=I(),i=I(),o=I(),c=I();return c.set(null,null),l=>{switch(l.constructor){case H:case F:return l;case C:{let a=l,d=a.content;switch(d.constructor){case Ye:break;case st:{if(e){let u=d.type;u instanceof ue&&(u.nodeName=M(i,u.nodeName,()=>"node-"+r)),u instanceof yn&&(u.hookName=M(i,u.hookName,()=>"hook-"+r))}break}case Pt:{let u=d;u.arr=u.arr.map(()=>r);break}case he:{let u=d;u.content=new Uint8Array([r]);break}case fe:{let u=d;t&&(u.opts={},u.doc.guid=r+"");break}case Ct:{let u=d;u.embed={};break}case O:{let u=d;n&&(u.key=M(o,u.key,()=>r+""),u.value=M(c,u.value,()=>({i:r})));break}case wn:{let u=d;u.arr=u.arr.map(()=>r);break}case at:{let u=d;u.str=ci(r%10+"",u.str.length);break}default:q()}return a.parentSub&&(a.parentSub=M(s,a.parentSub,()=>r+"")),r++,l}default:q()}}},Da=(n,t)=>nr(n,xo(t),Z,wt),Aa=(n,t)=>nr(n,xo(t),J,tt),Ua=n=>nr(n,Vr,Z,tt),Eo=n=>nr(n,Vr,J,wt),Qi="You must not compute changes after the event-handler fired.",ce=class{constructor(t,e){this.target=t,this.currentTarget=t,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=Ta(this.currentTarget,this.target))}deletes(t){return pe(this.transaction.deleteSet,t.id)}get keys(){if(this._keys===null){if(this.transaction.doc._transactionCleanups.length===0)throw ht(Qi);let t=new Map,e=this.target;this.transaction.changed.get(e).forEach(s=>{if(s!==null){let i=e._map.get(s),o,c;if(this.adds(i)){let l=i.left;for(;l!==null&&this.adds(l);)l=l.left;if(this.deletes(i))if(l!==null&&this.deletes(l))o="delete",c=In(l.content.getContent());else return;else l!==null&&this.deletes(l)?(o="update",c=In(l.content.getContent())):(o="add",c=void 0)}else if(this.deletes(i))o="delete",c=In(i.content.getContent());else return;t.set(s,{action:o,oldValue:c})}}),this._keys=t}return this._keys}get delta(){return this.changes.delta}adds(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}get changes(){let t=this._changes;if(t===null){if(this.transaction.doc._transactionCleanups.length===0)throw ht(Qi);let e=this.target,r=ut(),s=ut(),i=[];if(t={added:r,deleted:s,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let c=null,l=()=>{c&&i.push(c)};for(let a=e._start;a!==null;a=a.right)a.deleted?this.deletes(a)&&!this.adds(a)&&((c===null||c.delete===void 0)&&(l(),c={delete:0}),c.delete+=a.length,s.add(a)):this.adds(a)?((c===null||c.insert===void 0)&&(l(),c={insert:[]}),c.insert=c.insert.concat(a.content.getContent()),r.add(a)):((c===null||c.retain===void 0)&&(l(),c={retain:0}),c.retain+=a.length);c!==null&&c.retain===void 0&&l()}this._changes=t}return t}},Ta=(n,t)=>{let e=[];for(;t._item!==null&&t!==n;){if(t._item.parentSub!==null)e.unshift(t._item.parentSub);else{let r=0,s=t._item.parent._start;for(;s!==t._item&&s!==null;)!s.deleted&&s.countable&&(r+=s.length),s=s.right;e.unshift(r)}t=t._item.parent}return e},Y=()=>{qr("Invalid access: Add Yjs type to a document before reading data.")},bo=80,ws=0,ns=class{constructor(t,e){t.marker=!0,this.p=t,this.index=e,this.timestamp=ws++}},Ia=n=>{n.timestamp=ws++},ko=(n,t,e)=>{n.p.marker=!1,n.p=t,t.marker=!0,n.index=e,n.timestamp=ws++},va=(n,t,e)=>{if(n.length>=bo){let r=n.reduce((s,i)=>s.timestamp<i.timestamp?s:i);return ko(r,t,e),r}else{let r=new ns(t,e);return n.push(r),r}},rr=(n,t)=>{if(n._start===null||t===0||n._searchMarker===null)return null;let e=n._searchMarker.length===0?null:n._searchMarker.reduce((i,o)=>ke(t-i.index)<ke(t-o.index)?i:o),r=n._start,s=0;for(e!==null&&(r=e.p,s=e.index,Ia(e));r.right!==null&&s<t;){if(!r.deleted&&r.countable){if(t<s+r.length)break;s+=r.length}r=r.right}for(;r.left!==null&&s>t;)r=r.left,!r.deleted&&r.countable&&(s-=r.length);for(;r.left!==null&&r.left.id.client===r.id.client&&r.left.id.clock+r.left.length===r.id.clock;)r=r.left,!r.deleted&&r.countable&&(s-=r.length);return e!==null&&ke(e.index-s)<r.parent.length/bo?(ko(e,r,s),e):va(n._searchMarker,r,s)},pn=(n,t,e)=>{for(let r=n.length-1;r>=0;r--){let s=n[r];if(e>0){let i=s.p;for(i.marker=!1;i&&(i.deleted||!i.countable);)i=i.left,i&&!i.deleted&&i.countable&&(s.index-=i.length);if(i===null||i.marker===!0){n.splice(r,1);continue}s.p=i,i.marker=!0}(t<s.index||e>0&&t===s.index)&&(s.index=Et(t,s.index+e))}},Oa=n=>{n.doc??Y();let t=n._start,e=[];for(;t;)e.push(t),t=t.right;return e},sr=(n,t,e)=>{let r=n,s=t.changedParentTypes;for(;M(s,n,()=>[]).push(e),n._item!==null;)n=n._item.parent;oo(r._eH,e,t)},v=class{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=zi(),this._dEH=zi(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(t,e){this.doc=t,this._item=e}_copy(){throw lt()}clone(){throw lt()}_write(t){}get _first(){let t=this._start;for(;t!==null&&t.deleted;)t=t.right;return t}_callObserver(t,e){!t.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(t){Gi(this._eH,t)}observeDeep(t){Gi(this._dEH,t)}unobserve(t){Hi(this._eH,t)}unobserveDeep(t){Hi(this._dEH,t)}toJSON(){}},Co=(n,t,e)=>{n.doc??Y(),t<0&&(t=n._length+t),e<0&&(e=n._length+e);let r=e-t,s=[],i=n._start;for(;i!==null&&r>0;){if(i.countable&&!i.deleted){let o=i.content.getContent();if(o.length<=t)t-=o.length;else{for(let c=t;c<o.length&&r>0;c++)s.push(o[c]),r--;t=0}}i=i.right}return s},Do=n=>{n.doc??Y();let t=[],e=n._start;for(;e!==null;){if(e.countable&&!e.deleted){let r=e.content.getContent();for(let s=0;s<r.length;s++)t.push(r[s])}e=e.right}return t},Ra=(n,t)=>{let e=[],r=n._start;for(;r!==null;){if(r.countable&&Lt(r,t)){let s=r.content.getContent();for(let i=0;i<s.length;i++)e.push(s[i])}r=r.right}return e},gn=(n,t)=>{let e=0,r=n._start;for(n.doc??Y();r!==null;){if(r.countable&&!r.deleted){let s=r.content.getContent();for(let i=0;i<s.length;i++)t(s[i],e++,n)}r=r.right}},Ao=(n,t)=>{let e=[];return gn(n,(r,s)=>{e.push(t(r,s,n))}),e},La=n=>{let t=n._start,e=null,r=0;return{[Symbol.iterator](){return this},next:()=>{if(e===null){for(;t!==null&&t.deleted;)t=t.right;if(t===null)return{done:!0,value:void 0};e=t.content.getContent(),r=0,t=t.right}let s=e[r++];return e.length<=r&&(e=null),{done:!1,value:s}}}},Uo=(n,t)=>{n.doc??Y();let e=rr(n,t),r=n._start;for(e!==null&&(r=e.p,t-=e.index);r!==null;r=r.right)if(!r.deleted&&r.countable){if(t<r.length)return r.content.getContent()[t];t-=r.length}},qn=(n,t,e,r)=>{let s=e,i=n.doc,o=i.clientID,c=i.store,l=e===null?t._start:e.right,a=[],d=()=>{a.length>0&&(s=new C(_(o,T(c,o)),s,s&&s.lastId,l,l&&l.id,t,null,new Pt(a)),s.integrate(n,0),a=[])};r.forEach(u=>{if(u===null)a.push(u);else switch(u.constructor){case Number:case Object:case Boolean:case Array:case String:a.push(u);break;default:switch(d(),u.constructor){case Uint8Array:case ArrayBuffer:s=new C(_(o,T(c,o)),s,s&&s.lastId,l,l&&l.id,t,null,new he(new Uint8Array(u))),s.integrate(n,0);break;case yt:s=new C(_(o,T(c,o)),s,s&&s.lastId,l,l&&l.id,t,null,new fe(u)),s.integrate(n,0);break;default:if(u instanceof v)s=new C(_(o,T(c,o)),s,s&&s.lastId,l,l&&l.id,t,null,new st(u)),s.integrate(n,0);else throw new Error("Unexpected content type in insert operation")}}}),d()},To=()=>ht("Length exceeded!"),Io=(n,t,e,r)=>{if(e>t._length)throw To();if(e===0)return t._searchMarker&&pn(t._searchMarker,e,r.length),qn(n,t,null,r);let s=e,i=rr(t,e),o=t._start;for(i!==null&&(o=i.p,e-=i.index,e===0&&(o=o.prev,e+=o&&o.countable&&!o.deleted?o.length:0));o!==null;o=o.right)if(!o.deleted&&o.countable){if(e<=o.length){e<o.length&&G(n,_(o.id.client,o.id.clock+e));break}e-=o.length}return t._searchMarker&&pn(t._searchMarker,s,r.length),qn(n,t,o,r)},Ma=(n,t,e)=>{let s=(t._searchMarker||[]).reduce((i,o)=>o.index>i.index?o:i,{index:0,p:t._start}).p;if(s)for(;s.right;)s=s.right;return qn(n,t,s,e)},vo=(n,t,e,r)=>{if(r===0)return;let s=e,i=r,o=rr(t,e),c=t._start;for(o!==null&&(c=o.p,e-=o.index);c!==null&&e>0;c=c.right)!c.deleted&&c.countable&&(e<c.length&&G(n,_(c.id.client,c.id.clock+e)),e-=c.length);for(;r>0&&c!==null;)c.deleted||(r<c.length&&G(n,_(c.id.client,c.id.clock+r)),c.delete(n),r-=c.length),c=c.right;if(r>0)throw To();t._searchMarker&&pn(t._searchMarker,s,-i+r)},Jn=(n,t,e)=>{let r=t._map.get(e);r!==void 0&&r.delete(n)},Ss=(n,t,e,r)=>{let s=t._map.get(e)||null,i=n.doc,o=i.clientID,c;if(r==null)c=new Pt([r]);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:case Date:case BigInt:c=new Pt([r]);break;case Uint8Array:c=new he(r);break;case yt:c=new fe(r);break;default:if(r instanceof v)c=new st(r);else throw new Error("Unexpected content type")}new C(_(o,T(i.store,o)),s,s&&s.lastId,null,null,t,e,c).integrate(n,0)},_s=(n,t)=>{n.doc??Y();let e=n._map.get(t);return e!==void 0&&!e.deleted?e.content.getContent()[e.length-1]:void 0},Oo=n=>{let t={};return n.doc??Y(),n._map.forEach((e,r)=>{e.deleted||(t[r]=e.content.getContent()[e.length-1])}),t},Ro=(n,t)=>{n.doc??Y();let e=n._map.get(t);return e!==void 0&&!e.deleted},Na=(n,t,e)=>{let r=n._map.get(t)||null;for(;r!==null&&(!e.sv.has(r.id.client)||r.id.clock>=(e.sv.get(r.id.client)||0));)r=r.left;return r!==null&&Lt(r,e)?r.content.getContent()[r.length-1]:void 0},Lo=(n,t)=>{let e={};return n._map.forEach((r,s)=>{let i=r;for(;i!==null&&(!t.sv.has(i.id.client)||i.id.clock>=(t.sv.get(i.id.client)||0));)i=i.left;i!==null&&Lt(i,t)&&(e[s]=i.content.getContent()[i.length-1])}),e},Pn=n=>(n.doc??Y(),Pi(n._map.entries(),t=>!t[1].deleted)),Kn=class extends ce{},le=class n extends v{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){let e=new n;return e.push(t),e}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new n}clone(){let t=new n;return t.insert(0,this.toArray().map(e=>e instanceof v?e.clone():e)),t}get length(){return this.doc??Y(),this._length}_callObserver(t,e){super._callObserver(t,e),sr(this,t,new Kn(this,t))}insert(t,e){this.doc!==null?k(this.doc,r=>{Io(r,this,t,e)}):this._prelimContent.splice(t,0,...e)}push(t){this.doc!==null?k(this.doc,e=>{Ma(e,this,t)}):this._prelimContent.push(...t)}unshift(t){this.insert(0,t)}delete(t,e=1){this.doc!==null?k(this.doc,r=>{vo(r,this,t,e)}):this._prelimContent.splice(t,e)}get(t){return Uo(this,t)}toArray(){return Do(this)}slice(t=0,e=this.length){return Co(this,t,e)}toJSON(){return this.map(t=>t instanceof v?t.toJSON():t)}map(t){return Ao(this,t)}forEach(t){gn(this,t)}[Symbol.iterator](){return La(this)}_write(t){t.writeTypeRef(rd)}},Va=n=>new le,Wn=class extends ce{constructor(t,e,r){super(t,e),this.keysChanged=r}},ae=class n extends v{constructor(t){super(),this._prelimContent=null,t===void 0?this._prelimContent=new Map:this._prelimContent=new Map(t)}_integrate(t,e){super._integrate(t,e),this._prelimContent.forEach((r,s)=>{this.set(s,r)}),this._prelimContent=null}_copy(){return new n}clone(){let t=new n;return this.forEach((e,r)=>{t.set(r,e instanceof v?e.clone():e)}),t}_callObserver(t,e){sr(this,t,new Wn(this,t,e))}toJSON(){this.doc??Y();let t={};return this._map.forEach((e,r)=>{if(!e.deleted){let s=e.content.getContent()[e.length-1];t[r]=s instanceof v?s.toJSON():s}}),t}get size(){return[...Pn(this)].length}keys(){return Vn(Pn(this),t=>t[0])}values(){return Vn(Pn(this),t=>t[1].content.getContent()[t[1].length-1])}entries(){return Vn(Pn(this),t=>[t[0],t[1].content.getContent()[t[1].length-1]])}forEach(t){this.doc??Y(),this._map.forEach((e,r)=>{e.deleted||t(e.content.getContent()[e.length-1],r,this)})}[Symbol.iterator](){return this.entries()}delete(t){this.doc!==null?k(this.doc,e=>{Jn(e,this,t)}):this._prelimContent.delete(t)}set(t,e){return this.doc!==null?k(this.doc,r=>{Ss(r,this,t,e)}):this._prelimContent.set(t,e),e}get(t){return _s(this,t)}has(t){return Ro(this,t)}clear(){this.doc!==null?k(this.doc,t=>{this.forEach(function(e,r,s){Jn(t,s,r)})}):this._prelimContent.clear()}_write(t){t.writeTypeRef(sd)}},Ba=n=>new ae,Nt=(n,t)=>n===t||typeof n=="object"&&typeof t=="object"&&n&&t&&Mr(n,t),mn=class{constructor(t,e,r,s){this.left=t,this.right=e,this.index=r,this.currentAttributes=s}forward(){this.right===null&&q(),this.right.content.constructor===O?this.right.deleted||je(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}},Zi=(n,t,e)=>{for(;t.right!==null&&e>0;)t.right.content.constructor===O?t.right.deleted||je(t.currentAttributes,t.right.content):t.right.deleted||(e<t.right.length&&G(n,_(t.right.id.client,t.right.id.clock+e)),t.index+=t.right.length,e-=t.right.length),t.left=t.right,t.right=t.right.right;return t},Fn=(n,t,e,r)=>{let s=new Map,i=r?rr(t,e):null;if(i){let o=new mn(i.p.left,i.p,i.index,s);return Zi(n,o,e-i.index)}else{let o=new mn(null,t._start,0,s);return Zi(n,o,e)}},Mo=(n,t,e,r)=>{for(;e.right!==null&&(e.right.deleted===!0||e.right.content.constructor===O&&Nt(r.get(e.right.content.key),e.right.content.value));)e.right.deleted||r.delete(e.right.content.key),e.forward();let s=n.doc,i=s.clientID;r.forEach((o,c)=>{let l=e.left,a=e.right,d=new C(_(i,T(s.store,i)),l,l&&l.lastId,a,a&&a.id,t,null,new O(c,o));d.integrate(n,0),e.right=d,e.forward()})},je=(n,t)=>{let{key:e,value:r}=t;r===null?n.delete(e):n.set(e,r)},No=(n,t)=>{for(;n.right!==null;){if(!(n.right.deleted||n.right.content.constructor===O&&Nt(t[n.right.content.key]??null,n.right.content.value)))break;n.forward()}},Vo=(n,t,e,r)=>{let s=n.doc,i=s.clientID,o=new Map;for(let c in r){let l=r[c],a=e.currentAttributes.get(c)??null;if(!Nt(a,l)){o.set(c,a);let{left:d,right:u}=e;e.right=new C(_(i,T(s.store,i)),d,d&&d.lastId,u,u&&u.id,t,null,new O(c,l)),e.right.integrate(n,0),e.forward()}}return o},Jr=(n,t,e,r,s)=>{e.currentAttributes.forEach((h,f)=>{s[f]===void 0&&(s[f]=null)});let i=n.doc,o=i.clientID;No(e,s);let c=Vo(n,t,e,s),l=r.constructor===String?new at(r):r instanceof v?new st(r):new Ct(r),{left:a,right:d,index:u}=e;t._searchMarker&&pn(t._searchMarker,e.index,l.getLength()),d=new C(_(o,T(i.store,o)),a,a&&a.lastId,d,d&&d.id,t,null,l),d.integrate(n,0),e.right=d,e.index=u,e.forward(),Mo(n,t,e,c)},to=(n,t,e,r,s)=>{let i=n.doc,o=i.clientID;No(e,s);let c=Vo(n,t,e,s);t:for(;e.right!==null&&(r>0||c.size>0&&(e.right.deleted||e.right.content.constructor===O));){if(!e.right.deleted)switch(e.right.content.constructor){case O:{let{key:l,value:a}=e.right.content,d=s[l];if(d!==void 0){if(Nt(d,a))c.delete(l);else{if(r===0)break t;c.set(l,a)}e.right.delete(n)}else e.currentAttributes.set(l,a);break}default:r<e.right.length&&G(n,_(e.right.id.client,e.right.id.clock+r)),r-=e.right.length;break}e.forward()}if(r>0){let l="";for(;r>0;r--)l+=`
`;e.right=new C(_(o,T(i.store,o)),e.left,e.left&&e.left.lastId,e.right,e.right&&e.right.id,t,null,new at(l)),e.right.integrate(n,0),e.forward()}Mo(n,t,e,c)},Bo=(n,t,e,r,s)=>{let i=t,o=I();for(;i&&(!i.countable||i.deleted);){if(!i.deleted&&i.content.constructor===O){let a=i.content;o.set(a.key,a)}i=i.right}let c=0,l=!1;for(;t!==i;){if(e===t&&(l=!0),!t.deleted){let a=t.content;if(a.constructor===O){let{key:d,value:u}=a,h=r.get(d)??null;(o.get(d)!==a||h===u)&&(t.delete(n),c++,!l&&(s.get(d)??null)===u&&h!==u&&(h===null?s.delete(d):s.set(d,h))),!l&&!t.deleted&&je(s,a)}}t=t.right}return c},Pa=(n,t)=>{for(;t&&t.right&&(t.right.deleted||!t.right.countable);)t=t.right;let e=new Set;for(;t&&(t.deleted||!t.countable);){if(!t.deleted&&t.content.constructor===O){let r=t.content.key;e.has(r)?t.delete(n):e.add(r)}t=t.left}},Po=n=>{let t=0;return k(n.doc,e=>{let r=n._start,s=n._start,i=I(),o=Tn(i);for(;s;)s.deleted===!1&&(s.content.constructor===O?je(o,s.content):(t+=Bo(e,r,s,i,o),i=Tn(o),r=s)),s=s.right}),t},Fa=n=>{let t=new Set,e=n.doc;for(let[r,s]of n.afterState.entries()){let i=n.beforeState.get(r)||0;s!==i&&uo(n,e.store.clients.get(r),i,s,o=>{!o.deleted&&o.content.constructor===O&&o.constructor!==H&&t.add(o.parent)})}k(e,r=>{ne(n,n.deleteSet,s=>{if(s instanceof H||!s.parent._hasFormatting||t.has(s.parent))return;let i=s.parent;s.content.constructor===O?t.add(i):Pa(r,s)});for(let s of t)Po(s)})},eo=(n,t,e)=>{let r=e,s=Tn(t.currentAttributes),i=t.right;for(;e>0&&t.right!==null;){if(t.right.deleted===!1)switch(t.right.content.constructor){case st:case Ct:case at:e<t.right.length&&G(n,_(t.right.id.client,t.right.id.clock+e)),e-=t.right.length,t.right.delete(n);break}t.forward()}i&&Bo(n,i,t.right,s,t.currentAttributes);let o=(t.left||t.right).parent;return o._searchMarker&&pn(o._searchMarker,t.index,-r+e),t},Xn=class extends ce{constructor(t,e,r){super(t,e),this.childListChanged=!1,this.keysChanged=new Set,r.forEach(s=>{s===null?this.childListChanged=!0:this.keysChanged.add(s)})}get changes(){if(this._changes===null){let t={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=t}return this._changes}get delta(){if(this._delta===null){let t=this.target.doc,e=[];k(t,r=>{let s=new Map,i=new Map,o=this.target._start,c=null,l={},a="",d=0,u=0,h=()=>{if(c!==null){let f=null;switch(c){case"delete":u>0&&(f={delete:u}),u=0;break;case"insert":(typeof a=="object"||a.length>0)&&(f={insert:a},s.size>0&&(f.attributes={},s.forEach((p,w)=>{p!==null&&(f.attributes[w]=p)}))),a="";break;case"retain":d>0&&(f={retain:d},ki(l)||(f.attributes=xi({},l))),d=0;break}f&&e.push(f),c=null}};for(;o!==null;){switch(o.content.constructor){case st:case Ct:this.adds(o)?this.deletes(o)||(h(),c="insert",a=o.content.getContent()[0],h()):this.deletes(o)?(c!=="delete"&&(h(),c="delete"),u+=1):o.deleted||(c!=="retain"&&(h(),c="retain"),d+=1);break;case at:this.adds(o)?this.deletes(o)||(c!=="insert"&&(h(),c="insert"),a+=o.content.str):this.deletes(o)?(c!=="delete"&&(h(),c="delete"),u+=o.length):o.deleted||(c!=="retain"&&(h(),c="retain"),d+=o.length);break;case O:{let{key:f,value:p}=o.content;if(this.adds(o)){if(!this.deletes(o)){let w=s.get(f)??null;Nt(w,p)?p!==null&&o.delete(r):(c==="retain"&&h(),Nt(p,i.get(f)??null)?delete l[f]:l[f]=p)}}else if(this.deletes(o)){i.set(f,p);let w=s.get(f)??null;Nt(w,p)||(c==="retain"&&h(),l[f]=w)}else if(!o.deleted){i.set(f,p);let w=l[f];w!==void 0&&(Nt(w,p)?w!==null&&o.delete(r):(c==="retain"&&h(),p===null?delete l[f]:l[f]=p))}o.deleted||(c==="insert"&&h(),je(s,o.content));break}}o=o.right}for(h();e.length>0;){let f=e[e.length-1];if(f.retain!==void 0&&f.attributes===void 0)e.pop();else break}}),this._delta=e}return this._delta}},Pe=class n extends v{constructor(t){super(),this._pending=t!==void 0?[()=>this.insert(0,t)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this.doc??Y(),this._length}_integrate(t,e){super._integrate(t,e);try{this._pending.forEach(r=>r())}catch(r){console.error(r)}this._pending=null}_copy(){return new n}clone(){let t=new n;return t.applyDelta(this.toDelta()),t}_callObserver(t,e){super._callObserver(t,e);let r=new Xn(this,t,e);sr(this,t,r),!t.local&&this._hasFormatting&&(t._needFormattingCleanup=!0)}toString(){this.doc??Y();let t="",e=this._start;for(;e!==null;)!e.deleted&&e.countable&&e.content.constructor===at&&(t+=e.content.str),e=e.right;return t}toJSON(){return this.toString()}applyDelta(t,{sanitize:e=!0}={}){this.doc!==null?k(this.doc,r=>{let s=new mn(null,this._start,0,new Map);for(let i=0;i<t.length;i++){let o=t[i];if(o.insert!==void 0){let c=!e&&typeof o.insert=="string"&&i===t.length-1&&s.right===null&&o.insert.slice(-1)===`
`?o.insert.slice(0,-1):o.insert;(typeof c!="string"||c.length>0)&&Jr(r,this,s,c,o.attributes||{})}else o.retain!==void 0?to(r,this,s,o.retain,o.attributes||{}):o.delete!==void 0&&eo(r,s,o.delete)}}):this._pending.push(()=>this.applyDelta(t))}toDelta(t,e,r){this.doc??Y();let s=[],i=new Map,o=this.doc,c="",l=this._start;function a(){if(c.length>0){let u={},h=!1;i.forEach((p,w)=>{h=!0,u[w]=p});let f={insert:c};h&&(f.attributes=u),s.push(f),c=""}}let d=()=>{for(;l!==null;){if(Lt(l,t)||e!==void 0&&Lt(l,e))switch(l.content.constructor){case at:{let u=i.get("ychange");t!==void 0&&!Lt(l,t)?(u===void 0||u.user!==l.id.client||u.type!=="removed")&&(a(),i.set("ychange",r?r("removed",l.id):{type:"removed"})):e!==void 0&&!Lt(l,e)?(u===void 0||u.user!==l.id.client||u.type!=="added")&&(a(),i.set("ychange",r?r("added",l.id):{type:"added"})):u!==void 0&&(a(),i.delete("ychange")),c+=l.content.str;break}case st:case Ct:{a();let u={insert:l.content.getContent()[0]};if(i.size>0){let h={};u.attributes=h,i.forEach((f,p)=>{h[p]=f})}s.push(u);break}case O:Lt(l,t)&&(a(),je(i,l.content));break}l=l.right}a()};return t||e?k(o,u=>{t&&Qr(u,t),e&&Qr(u,e),d()},"cleanup"):d(),s}insert(t,e,r){if(e.length<=0)return;let s=this.doc;s!==null?k(s,i=>{let o=Fn(i,this,t,!r);r||(r={},o.currentAttributes.forEach((c,l)=>{r[l]=c})),Jr(i,this,o,e,r)}):this._pending.push(()=>this.insert(t,e,r))}insertEmbed(t,e,r){let s=this.doc;s!==null?k(s,i=>{let o=Fn(i,this,t,!r);Jr(i,this,o,e,r||{})}):this._pending.push(()=>this.insertEmbed(t,e,r||{}))}delete(t,e){if(e===0)return;let r=this.doc;r!==null?k(r,s=>{eo(s,Fn(s,this,t,!0),e)}):this._pending.push(()=>this.delete(t,e))}format(t,e,r){if(e===0)return;let s=this.doc;s!==null?k(s,i=>{let o=Fn(i,this,t,!1);o.right!==null&&to(i,this,o,e,r)}):this._pending.push(()=>this.format(t,e,r))}removeAttribute(t){this.doc!==null?k(this.doc,e=>{Jn(e,this,t)}):this._pending.push(()=>this.removeAttribute(t))}setAttribute(t,e){this.doc!==null?k(this.doc,r=>{Ss(r,this,t,e)}):this._pending.push(()=>this.setAttribute(t,e))}getAttribute(t){return _s(this,t)}getAttributes(){return Oo(this)}_write(t){t.writeTypeRef(id)}},Ya=n=>new Pe,ln=class{constructor(t,e=()=>!0){this._filter=e,this._root=t,this._currentNode=t._start,this._firstCall=!0,t.doc??Y()}[Symbol.iterator](){return this}next(){let t=this._currentNode,e=t&&t.content&&t.content.type;if(t!==null&&(!this._firstCall||t.deleted||!this._filter(e)))do if(e=t.content.type,!t.deleted&&(e.constructor===ue||e.constructor===de)&&e._start!==null)t=e._start;else for(;t!==null;){let r=t.next;if(r!==null){t=r;break}else t.parent===this._root?t=null:t=t.parent._item}while(t!==null&&(t.deleted||!this._filter(t.content.type)));return this._firstCall=!1,t===null?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}},de=class n extends v{constructor(){super(),this._prelimContent=[]}get firstChild(){let t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new n}clone(){let t=new n;return t.insert(0,this.toArray().map(e=>e instanceof v?e.clone():e)),t}get length(){return this.doc??Y(),this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(t){return new ln(this,t)}querySelector(t){t=t.toUpperCase();let r=new ln(this,s=>s.nodeName&&s.nodeName.toUpperCase()===t).next();return r.done?null:r.value}querySelectorAll(t){return t=t.toUpperCase(),ot(new ln(this,e=>e.nodeName&&e.nodeName.toUpperCase()===t))}_callObserver(t,e){sr(this,t,new Qn(this,e,t))}toString(){return Ao(this,t=>t.toString()).join("")}toJSON(){return this.toString()}toDOM(t=document,e={},r){let s=t.createDocumentFragment();return r!==void 0&&r._createAssociation(s,this),gn(this,i=>{s.insertBefore(i.toDOM(t,e,r),null)}),s}insert(t,e){this.doc!==null?k(this.doc,r=>{Io(r,this,t,e)}):this._prelimContent.splice(t,0,...e)}insertAfter(t,e){if(this.doc!==null)k(this.doc,r=>{let s=t&&t instanceof v?t._item:t;qn(r,this,s,e)});else{let r=this._prelimContent,s=t===null?0:r.findIndex(i=>i===t)+1;if(s===0&&t!==null)throw ht("Reference item not found");r.splice(s,0,...e)}}delete(t,e=1){this.doc!==null?k(this.doc,r=>{vo(r,this,t,e)}):this._prelimContent.splice(t,e)}toArray(){return Do(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return Uo(this,t)}slice(t=0,e=this.length){return Co(this,t,e)}forEach(t){gn(this,t)}_write(t){t.writeTypeRef(cd)}},ja=n=>new de,ue=class n extends de{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){let t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){let t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,e){super._integrate(t,e),this._prelimAttrs.forEach((r,s)=>{this.setAttribute(s,r)}),this._prelimAttrs=null}_copy(){return new n(this.nodeName)}clone(){let t=new n(this.nodeName),e=this.getAttributes();return bi(e,(r,s)=>{t.setAttribute(s,r)}),t.insert(0,this.toArray().map(r=>r instanceof v?r.clone():r)),t}toString(){let t=this.getAttributes(),e=[],r=[];for(let c in t)r.push(c);r.sort();let s=r.length;for(let c=0;c<s;c++){let l=r[c];e.push(l+'="'+t[l]+'"')}let i=this.nodeName.toLocaleLowerCase(),o=e.length>0?" "+e.join(" "):"";return`<${i}${o}>${super.toString()}</${i}>`}removeAttribute(t){this.doc!==null?k(this.doc,e=>{Jn(e,this,t)}):this._prelimAttrs.delete(t)}setAttribute(t,e){this.doc!==null?k(this.doc,r=>{Ss(r,this,t,e)}):this._prelimAttrs.set(t,e)}getAttribute(t){return _s(this,t)}hasAttribute(t){return Ro(this,t)}getAttributes(t){return t?Lo(this,t):Oo(this)}toDOM(t=document,e={},r){let s=t.createElement(this.nodeName),i=this.getAttributes();for(let o in i){let c=i[o];typeof c=="string"&&s.setAttribute(o,c)}return gn(this,o=>{s.appendChild(o.toDOM(t,e,r))}),r!==void 0&&r._createAssociation(s,this),s}_write(t){t.writeTypeRef(od),t.writeKey(this.nodeName)}},za=n=>new ue(n.readKey()),Qn=class extends ce{constructor(t,e,r){super(t,r),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach(s=>{s===null?this.childListChanged=!0:this.attributesChanged.add(s)})}},yn=class n extends ae{constructor(t){super(),this.hookName=t}_copy(){return new n(this.hookName)}clone(){let t=new n(this.hookName);return this.forEach((e,r)=>{t.set(r,e)}),t}toDOM(t=document,e={},r){let s=e[this.hookName],i;return s!==void 0?i=s.createDom(this):i=document.createElement(this.hookName),i.setAttribute("data-yjs-hook",this.hookName),r!==void 0&&r._createAssociation(i,this),i}_write(t){t.writeTypeRef(ld),t.writeKey(this.hookName)}},Ga=n=>new yn(n.readKey()),Zn=class n extends Pe{get nextSibling(){let t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){let t=this._item?this._item.prev:null;return t?t.content.type:null}_copy(){return new n}clone(){let t=new n;return t.applyDelta(this.toDelta()),t}toDOM(t=document,e,r){let s=t.createTextNode(this.toString());return r!==void 0&&r._createAssociation(s,this),s}toString(){return this.toDelta().map(t=>{let e=[];for(let s in t.attributes){let i=[];for(let o in t.attributes[s])i.push({key:o,value:t.attributes[s][o]});i.sort((o,c)=>o.key<c.key?-1:1),e.push({nodeName:s,attrs:i})}e.sort((s,i)=>s.nodeName<i.nodeName?-1:1);let r="";for(let s=0;s<e.length;s++){let i=e[s];r+=`<${i.nodeName}`;for(let o=0;o<i.attrs.length;o++){let c=i.attrs[o];r+=` ${c.key}="${c.value}"`}r+=">"}r+=t.insert;for(let s=e.length-1;s>=0;s--)r+=`</${e[s].nodeName}>`;return r}).join("")}toJSON(){return this.toString()}_write(t){t.writeTypeRef(ad)}},Ha=n=>new Zn,Fe=class{constructor(t,e){this.id=t,this.length=e}get deleted(){throw lt()}mergeWith(t){return!1}write(t,e,r){throw lt()}integrate(t,e){throw lt()}},$a=0,H=class extends Fe{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor!==t.constructor?!1:(this.length+=t.length,!0)}integrate(t,e){e>0&&(this.id.clock+=e,this.length-=e),ao(t.doc.store,this)}write(t,e){t.writeInfo($a),t.writeLen(this.length-e)}getMissing(t,e){return null}},he=class n{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new n(this.content)}splice(t){throw lt()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeBuf(this.content)}getRef(){return 3}},qa=n=>new he(n.readBuf()),Ye=class n{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new n(this.len)}splice(t){let e=new n(this.len-t);return this.len=t,e}mergeWith(t){return this.len+=t.len,!0}integrate(t,e){dn(t.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(t){}gc(t){}write(t,e){t.writeLen(this.len-e)}getRef(){return 1}},Ja=n=>new Ye(n.readLen()),Fo=(n,t)=>new yt({guid:n,...t,shouldLoad:t.shouldLoad||t.autoLoad||!1}),fe=class n{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;let e={};this.opts=e,t.gc||(e.gc=!1),t.autoLoad&&(e.autoLoad=!0),t.meta!==null&&(e.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new n(Fo(this.doc.guid,this.opts))}splice(t){throw lt()}mergeWith(t){return!1}integrate(t,e){this.doc._item=e,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,e){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}},Ka=n=>new fe(Fo(n.readString(),n.readAny())),Ct=class n{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new n(this.embed)}splice(t){throw lt()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeJSON(this.embed)}getRef(){return 5}},Wa=n=>new Ct(n.readJSON()),O=class n{constructor(t,e){this.key=t,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new n(this.key,this.value)}splice(t){throw lt()}mergeWith(t){return!1}integrate(t,e){let r=e.parent;r._searchMarker=null,r._hasFormatting=!0}delete(t){}gc(t){}write(t,e){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}},Xa=n=>new O(n.readKey(),n.readJSON()),wn=class n{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new n(this.arr)}splice(t){let e=new n(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){let r=this.arr.length;t.writeLen(r-e);for(let s=e;s<r;s++){let i=this.arr[s];t.writeString(i===void 0?"undefined":JSON.stringify(i))}}getRef(){return 2}},Qa=n=>{let t=n.readLen(),e=[];for(let r=0;r<t;r++){let s=n.readString();s==="undefined"?e.push(void 0):e.push(JSON.parse(s))}return new wn(e)},Za=rn("node_env")==="development",Pt=class n{constructor(t){this.arr=t,Za&&Nr(t)}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new n(this.arr)}splice(t){let e=new n(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){let r=this.arr.length;t.writeLen(r-e);for(let s=e;s<r;s++){let i=this.arr[s];t.writeAny(i)}}getRef(){return 8}},td=n=>{let t=n.readLen(),e=[];for(let r=0;r<t;r++)e.push(n.readAny());return new Pt(e)},at=class n{constructor(t){this.str=t}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new n(this.str)}splice(t){let e=new n(this.str.slice(t));this.str=this.str.slice(0,t);let r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+"\uFFFD",e.str="\uFFFD"+e.str.slice(1)),e}mergeWith(t){return this.str+=t.str,!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeString(e===0?this.str:this.str.slice(e))}getRef(){return 4}},ed=n=>new at(n.readString()),nd=[Va,Ba,Ya,za,ja,Ga,Ha],rd=0,sd=1,id=2,od=3,cd=4,ld=5,ad=6,st=class n{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new n(this.type._copy())}splice(t){throw lt()}mergeWith(t){return!1}integrate(t,e){this.type._integrate(t.doc,e)}delete(t){let e=this.type._start;for(;e!==null;)e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t),e=e.right;this.type._map.forEach(r=>{r.deleted?r.id.clock<(t.beforeState.get(r.id.client)||0)&&t._mergeStructs.push(r):r.delete(t)}),t.changed.delete(this.type)}gc(t){let e=this.type._start;for(;e!==null;)e.gc(t,!0),e=e.right;this.type._start=null,this.type._map.forEach(r=>{for(;r!==null;)r.gc(t,!0),r=r.left}),this.type._map=new Map}write(t,e){this.type._write(t)}getRef(){return 7}},dd=n=>new st(nd[n.readTypeRef()](n)),rs=(n,t)=>{let e=t,r=0,s;do r>0&&(e=_(e.client,e.clock+r)),s=ee(n,e),r=e.clock-s.id.clock,e=s.redone;while(e!==null&&s instanceof C);return{item:s,diff:r}},xs=(n,t)=>{for(;n!==null&&n.keep!==t;)n.keep=t,n=n.parent._item},tr=(n,t,e)=>{let{client:r,clock:s}=t.id,i=new C(_(r,s+e),t,_(r,s+e-1),t.right,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e));return t.deleted&&i.markDeleted(),t.keep&&(i.keep=!0),t.redone!==null&&(i.redone=_(t.redone.client,t.redone.clock+e)),t.right=i,i.right!==null&&(i.right.left=i),n._mergeStructs.push(i),i.parentSub!==null&&i.right===null&&i.parent._map.set(i.parentSub,i),t.length=e,i},no=(n,t)=>ni(n,e=>pe(e.deletions,t)),Yo=(n,t,e,r,s,i)=>{let o=n.doc,c=o.store,l=o.clientID,a=t.redone;if(a!==null)return G(n,a);let d=t.parent._item,u=null,h;if(d!==null&&d.deleted===!0){if(d.redone===null&&(!e.has(d)||Yo(n,d,e,r,s,i)===null))return null;for(;d.redone!==null;)d=G(n,d.redone)}let f=d===null?t.parent:d.content.type;if(t.parentSub===null){for(u=t.left,h=t;u!==null;){let y=u;for(;y!==null&&y.parent._item!==d;)y=y.redone===null?null:G(n,y.redone);if(y!==null&&y.parent._item===d){u=y;break}u=u.left}for(;h!==null;){let y=h;for(;y!==null&&y.parent._item!==d;)y=y.redone===null?null:G(n,y.redone);if(y!==null&&y.parent._item===d){h=y;break}h=h.right}}else if(h=null,t.right&&!s){for(u=t;u!==null&&u.right!==null&&(u.right.redone||pe(r,u.right.id)||no(i.undoStack,u.right.id)||no(i.redoStack,u.right.id));)for(u=u.right;u.redone;)u=G(n,u.redone);if(u&&u.right!==null)return null}else u=f._map.get(t.parentSub)||null;let p=T(c,l),w=_(l,p),g=new C(w,u,u&&u.lastId,h,h&&h.id,f,t.parentSub,t.content.copy());return t.redone=w,xs(g,!0),g.integrate(n,0),g},C=class n extends Fe{constructor(t,e,r,s,i,o,c,l){super(t,l.getLength()),this.origin=r,this.left=e,this.right=s,this.rightOrigin=i,this.parent=o,this.parentSub=c,this.redone=null,this.content=l,this.info=this.content.isCountable()?2:0}set marker(t){(this.info&8)>0!==t&&(this.info^=8)}get marker(){return(this.info&8)>0}get keep(){return(this.info&1)>0}set keep(t){this.keep!==t&&(this.info^=1)}get countable(){return(this.info&2)>0}get deleted(){return(this.info&4)>0}set deleted(t){this.deleted!==t&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(t,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=T(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=T(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===bt&&this.id.client!==this.parent.client&&this.parent.clock>=T(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=ts(t,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=G(t,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===H||this.right&&this.right.constructor===H)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===n?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===n&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===bt){let r=ee(e,this.parent);r.constructor===H?this.parent=null:this.parent=r.content.type}return null}integrate(t,e){if(e>0&&(this.id.clock+=e,this.left=ts(t,t.doc.store,_(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let r=this.left,s;if(r!==null)s=r.right;else if(this.parentSub!==null)for(s=this.parent._map.get(this.parentSub)||null;s!==null&&s.left!==null;)s=s.left;else s=this.parent._start;let i=new Set,o=new Set;for(;s!==null&&s!==this.right;){if(o.add(s),i.add(s),te(this.origin,s.origin)){if(s.id.client<this.id.client)r=s,i.clear();else if(te(this.rightOrigin,s.rightOrigin))break}else if(s.origin!==null&&o.has(ee(t.doc.store,s.origin)))i.has(ee(t.doc.store,s.origin))||(r=s,i.clear());else break;s=s.right}this.left=r}if(this.left!==null){let r=this.left.right;this.right=r,this.left.right=this}else{let r;if(this.parentSub!==null)for(r=this.parent._map.get(this.parentSub)||null;r!==null&&r.left!==null;)r=r.left;else r=this.parent._start,this.parent._start=this;this.right=r}this.right!==null?this.right.left=this:this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(t)),this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),ao(t.doc.store,this),this.content.integrate(t,this),Ki(t,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(t)}else new H(this.id,this.length).integrate(t,0)}get next(){let t=this.right;for(;t!==null&&t.deleted;)t=t.right;return t}get prev(){let t=this.left;for(;t!==null&&t.deleted;)t=t.left;return t}get lastId(){return this.length===1?this.id:_(this.id.client,this.id.clock+this.length-1)}mergeWith(t){if(this.constructor===t.constructor&&te(t.origin,this.lastId)&&this.right===t&&te(this.rightOrigin,t.rightOrigin)&&this.id.client===t.id.client&&this.id.clock+this.length===t.id.clock&&this.deleted===t.deleted&&this.redone===null&&t.redone===null&&this.content.constructor===t.content.constructor&&this.content.mergeWith(t.content)){let e=this.parent._searchMarker;return e&&e.forEach(r=>{r.p===t&&(r.p=this,!this.deleted&&this.countable&&(r.index-=this.length))}),t.keep&&(this.keep=!0),this.right=t.right,this.right!==null&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){let e=this.parent;this.countable&&this.parentSub===null&&(e._length-=this.length),this.markDeleted(),dn(t.deleteSet,this.id.client,this.id.clock,this.length),Ki(t,e,this.parentSub),this.content.delete(t)}}gc(t,e){if(!this.deleted)throw q();this.content.gc(t),e?ya(t,this,new H(this.id,this.length)):this.content=new Ye(this.length)}write(t,e){let r=e>0?_(this.id.client,this.id.clock+e-1):this.origin,s=this.rightOrigin,i=this.parentSub,o=this.content.getRef()&31|(r===null?0:128)|(s===null?0:64)|(i===null?0:32);if(t.writeInfo(o),r!==null&&t.writeLeftID(r),s!==null&&t.writeRightID(s),r===null&&s===null){let c=this.parent;if(c._item!==void 0){let l=c._item;if(l===null){let a=ps(c);t.writeParentInfo(!0),t.writeString(a)}else t.writeParentInfo(!1),t.writeLeftID(l.id)}else c.constructor===String?(t.writeParentInfo(!0),t.writeString(c)):c.constructor===bt?(t.writeParentInfo(!1),t.writeLeftID(c)):q();i!==null&&t.writeString(i)}this.content.write(t,e)}},jo=(n,t)=>ud[t&31](n),ud=[()=>{q()},Ja,Qa,qa,ed,Wa,Xa,dd,td,Ka,()=>{q()}],hd=10,F=class extends Fe{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor!==t.constructor?!1:(this.length+=t.length,!0)}integrate(t,e){q()}write(t,e){t.writeInfo(hd),S(t.restEncoder,this.length-e)}getMissing(t,e){return null}},zo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{},Go="__ $YJS$ __";zo[Go]===!0&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438");zo[Go]=!0;var Es=3e4,ze=class extends be{constructor(t){super(),this.doc=t,this.clientID=t.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{let e=Rt();this.getLocalState()!==null&&Es/2<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());let r=[];this.meta.forEach((s,i)=>{i!==this.clientID&&Es<=e-s.lastUpdated&&this.states.has(i)&&r.push(i)}),r.length>0&&bs(this,r,"timeout")},Q(Es/10)),t.on("destroy",()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(t){let e=this.clientID,r=this.meta.get(e),s=r===void 0?0:r.clock+1,i=this.states.get(e);t===null?this.states.delete(e):this.states.set(e,t),this.meta.set(e,{clock:s,lastUpdated:Rt()});let o=[],c=[],l=[],a=[];t===null?a.push(e):i==null?t!=null&&o.push(e):(c.push(e),en(i,t)||l.push(e)),(o.length>0||l.length>0||a.length>0)&&this.emit("change",[{added:o,updated:l,removed:a},"local"]),this.emit("update",[{added:o,updated:c,removed:a},"local"])}setLocalStateField(t,e){let r=this.getLocalState();r!==null&&this.setLocalState({...r,[t]:e})}getStates(){return this.states}},bs=(n,t,e)=>{let r=[];for(let s=0;s<t.length;s++){let i=t[s];if(n.states.has(i)){if(n.states.delete(i),i===n.clientID){let o=n.meta.get(i);n.meta.set(i,{clock:o.clock+1,lastUpdated:Rt()})}r.push(i)}}r.length>0&&(n.emit("change",[{added:[],updated:[],removed:r},e]),n.emit("update",[{added:[],updated:[],removed:r},e]))};var Ho=1,ir="fromPersistence",or="document",Ge="state",ge="savedAt",$o="savedBy",qo="version",cr="gutenberg",ks="syncManager",Jo="gutenberg-undo-ignored";var me=(n=>(n.AUTHENTICATION_FAILED="authentication-failed",n.CONNECTION_EXPIRED="connection-expired",n.CONNECTION_LIMIT_EXCEEDED="connection-limit-exceeded",n.DOCUMENT_SIZE_LIMIT_EXCEEDED="document-size-limit-exceeded",n.PROTOCOL_MISMATCH="protocol-mismatch",n.UNKNOWN_ERROR="unknown-error",n))(me||{}),lr=class extends Error{constructor(n="unknown-error",t){super(t),this.code=n,this.name="ConnectionError"}};var Xo=qt(Wo(),1),{lock:Qo,unlock:Nu}=(0,Xo.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/sync");function Zo(n){return function(...t){let e=performance.now(),r=n.apply(this,t),s=performance.now();return console.log(`[SyncManager][performance]: ${n.name} took ${(s-e).toFixed(2)} ms`),r}}function tc(n){return((...t)=>n(...t))}function ec(n){return function(...t){setTimeout(()=>{n.apply(this,t)},0)}}var kc=qt(ar(),1);var Sc=qt(ar(),1);var rc=0,sc=1,fd=2,ic=(n,t)=>{S(n,rc);let e=fs(t);B(n,e)},pd=(n,t,e)=>{S(n,sc),B(n,ds(t,e))},gd=(n,t,e)=>pd(t,e,P(n)),oc=(n,t,e,r)=>{try{as(t,P(n),e)}catch(s){r?.(s),console.error("Caught error while handling a Yjs update",s)}};var md=oc,Cs=(n,t,e,r,s)=>{let i=x(n);switch(i){case rc:gd(n,t,e);break;case sc:oc(n,e,r,s);break;case fd:md(n,e,r,s);break;default:throw new Error("Unknown message type")}return i};var Ds=qt(ar(),1),As=3,Us=[2e3,4e3,8e3,12e3],Ts=[1e3,2e3,4e3,8e3],cc=3e4,lc=15e3,wd=1*1024*1024,Is=Math.floor(wd/4)*3,_n=50,dr=15*1024*1024,ac=2*1024*1024,vs=(0,Ds.applyFilters)("sync.pollingManager.pollingInterval",4e3),dc=(0,Ds.applyFilters)("sync.pollingManager.pollingIntervalWithCollaborators",1e3),uc=25*1e3;var K=(n=>(n.COMPACTION="compaction",n.SYNC_STEP_1="sync_step1",n.SYNC_STEP_2="sync_step2",n.UPDATE="update",n))(K||{});var Os=qt(fc(),1);var pc="/wp-sync/v1/updates";function Sd(n){let t="",e=n.byteLength;for(let r=0;r<e;r++)t+=String.fromCharCode(n[r]);return globalThis.btoa(t)}function Rs(n){let t=globalThis.atob(n),e=t.length,r=new Uint8Array(e);for(let s=0;s<e;s++)r[s]=t.charCodeAt(s);return r}function He(n,t){return{data:Sd(n),type:t}}function gc(n=[],t=!0){let e=t,r=[...n];return{add(s){r.push(s)},addBulk(s){s.length!==0&&r.push(...s)},clear(){r.splice(0,r.length)},get(){return e?[]:r.splice(0,r.length)},pause(){e=!0},peek(){return e?[]:[...r]},restore(s){let i=s.filter(o=>o.type!==K.COMPACTION);i.length!==0&&r.unshift(...i)},restoreExact(s){s.length!==0&&r.unshift(...s)},resume(){e=!1},size(){return r.length},take(s){return e||s<=0?[]:r.splice(0,s)}}}function mc(n){return(0,Os.default)({method:"POST",path:pc,data:n})}function Ls(n){n.rooms.length!==0&&(0,Os.default)({method:"POST",path:pc,data:n,keepalive:!0}).catch(()=>{})}function yc(n,t){let e=parseInt(String(n),10);return isNaN(e)?t:e}function wc(n,t,e){if(n.length===0)return{window:[],nextOffset:0};let r=(t%n.length+n.length)%n.length;return{window:[...n.slice(r),...n.slice(0,r)].slice(0,Math.max(0,e)),nextOffset:(r+Math.max(0,e))%n.length}}var kn="polling-manager";function _d(n){return n?.data?.status===403}function xd(n){return n?.data?.status===413&&n?.code==="rest_sync_body_too_large"}function Ed(n){return n?.code==="rest_sync_protocol_mismatch"}function bd(n,t){let e=typeof n.message=="string"?n.message:"",r=[...t].sort((s,i)=>i.length-s.length);for(let s of r)if(e.includes(s))return s;return null}function kd(n,t){let e=bd(n,t.map(r=>r.room));if(e){let r=D.get(e);r&&(r.log("Permission denied, unregistering room",{error:n},"error",!0),$e(e,{sendDisconnectSignal:!1}));for(let s of t){if(s.room===e||!D.has(s.room))continue;let i=D.get(s.room);s.updates.length>0&&i.updateQueue.restore(s.updates)}}else{let r=[...D.keys()];for(let s of r){let i=D.get(s);i&&(i.log("Permission denied, unregistering room",{error:n},"error",!0),$e(s,{sendDisconnectSignal:!1}))}}}var D=new Map;function Cd(n){let t=n.filter(e=>[K.COMPACTION,K.UPDATE].includes(e.type)).map(e=>Rs(e.data));return He(oe(t),K.COMPACTION)}function Dd(n){let t=ct();return ic(t,n),He(z(t),K.SYNC_STEP_1)}function Ad(n,t){let e=L(t),r=ct();return Cs(e,r,n,kn),He(z(r),K.SYNC_STEP_2)}function Ud(n,t){let e=t.getStates(),r=new Set,s=new Set,i=new Set(Array.from(e.keys()).filter(o=>!n[o]));Object.entries(n).forEach(([o,c])=>{let l=Number(o);if(l===t.clientID)return;if(c===null){e.delete(l),i.add(l);return}if(!e.has(l)){e.set(l,c),r.add(l);return}let a=e.get(l);JSON.stringify(a)!==JSON.stringify(c)&&(e.set(l,c),s.add(l))}),r.size+s.size>0&&t.emit("change",[{added:Array.from(r),updated:Array.from(s),removed:[]}]),i.size>0&&bs(t,Array.from(i),kn)}function Td(n,t,e){let r=Rs(n.data);switch(n.type){case K.SYNC_STEP_1:return Ad(t,r);case K.SYNC_STEP_2:{let s=L(r),i=ct();Cs(s,i,t,kn),e();return}case K.COMPACTION:case K.UPDATE:_t(t,r,kn)}}function Id(n,t){if(!t.isPrimaryRoom||Ms)return!1;Ms=!0;let e=(0,Sc.applyFilters)("sync.pollingProvider.maxClientsPerRoom",As,t.room),r=Object.keys(n).length,s=yc(e,As);return r>s?(t.log("Connection limit exceeded",{clientCount:r,maxClientsPerRoom:s,room:t.room}),!0):!1}var hr=!1,ye=0,Ms=!1,ur=!1,xn=!1,bn=document.visibilityState==="visible",En=!1,Ns=!1,dt=vs,jt=null,we=dr,Vs=0;function _c(){Ns=!0}function xc(){let n=Array.from(D.entries()).map(([t,e])=>({after:0,awareness:null,client_id:e.clientId,room:t,updates:[]}));for(let t=0;t<n.length;t+=_n)Ls({rooms:n.slice(t,t+_n)})}function Ec(){let n=bn;bn=document.visibilityState==="visible",bn&&!n&&jt&&(clearTimeout(jt),jt=null,fr())}function vd(){let n=Array.from(D.values());if(n.length<=_n)return n;let t=n.find(o=>o.isPrimaryRoom),e=n.filter(o=>o!==t),r=_n-(t?1:0),{window:s,nextOffset:i}=wc(e,Vs,r);return Vs=i,t?[t,...s]:s}var Od=new TextEncoder;function Bs(n){return Od.encode(JSON.stringify(n)).byteLength}function Rd(n,t=[]){return{after:n.endCursor??0,awareness:n.localAwarenessState,client_id:n.clientId,room:n.room,updates:t}}function Ld(n,t){return(n===0?0:1)+Bs(t)}function Md(n){let t={rooms:[]},e=[];for(let c of n){let l=Rd(c),a={rooms:[...t.rooms,l]};if(t.rooms.length>0&&Bs(a)>we)break;t.rooms.push(l),e.push(c)}let r=e.map(c=>c.updateQueue.peek()),s=e.map(()=>0),i=Bs(t),o=!0;for(;o;){o=!1;for(let c=0;c<e.length;c++){let l=r[c][s[c]];if(!l)continue;let a=Ld(s[c],l);i+a>we||(s[c]++,i+=a,o=!0)}}for(let c=0;c<e.length;c++)t.rooms[c].updates=e[c].updateQueue.take(s[c]);return{payload:t,roomsInRequest:e}}function Nd(n){for(let t of n.rooms)!D.has(t.room)||t.updates.length===0||D.get(t.room).updateQueue.restoreExact(t.updates)}function fr(){En=!0,jt=null;async function n(){if(D.size===0){En=!1;return}Ns=!1;let{payload:t,roomsInRequest:e}=Md(vd());e.forEach(r=>{r.onStatusChange({status:"connecting"})});try{let{rooms:r}=await mc(t);ye=0,ur=!1,we=dr,e.forEach(s=>{D.get(s.room)===s&&s.onStatusChange({status:"connected"})}),xn=!1,r.forEach(s=>{if(!D.has(s.room))return;let i=D.get(s.room);if(i.endCursor=s.end_cursor,Id(s.awareness,i)){i.onStatusChange({status:"disconnected",error:new lr(me.CONNECTION_LIMIT_EXCEEDED,"Connection limit exceeded")}),$e(s.room);return}i.processAwarenessUpdate(s.awareness),i.isPrimaryRoom&&Object.keys(s.awareness).length>1&&(xn=!0,D.forEach(c=>{c.updateQueue.resume()}));let o=[];for(let c of s.updates)try{let l=i.processDocUpdate(c);l&&o.push(l)}catch(l){i.log("Failed to apply sync update",{error:l,update:c},"error",!0)}i.updateQueue.addBulk(o),s.should_compact?(i.log("Server requested compaction update"),i.updateQueue.clear(),i.updateQueue.add(i.createCompactionUpdate())):s.compaction_request&&(i.log("Server requested (old) compaction update"),i.updateQueue.add(Cd(s.compaction_request)))}),bn&&xn?dt=dc:bn?dt=vs:dt=uc}catch(r){if(_d(r)){if(kd(r,t.rooms),D.size===0){En=!1;return}}else if(xd(r)){we=Math.max(ac,Math.floor(we/2)),dt=xn?Ts[0]:Us[0],Nd(t);for(let s of t.rooms)D.has(s.room)&&D.get(s.room).log("Sync request body too large, retrying with smaller batches",{error:r,nextPoll:dt,syncRequestBodySizeLimit:we},"error",!0)}else if(Ed(r)){let s=[...D.entries()];for(let[,i]of s)i.onStatusChange({status:"disconnected",error:new lr(me.PROTOCOL_MISMATCH,"Protocol mismatch between client and server")});for(let[i]of s)$e(i,{sendDisconnectSignal:!1});En=!1;return}else{ye++;let s=xn?Ts:Us;ye<=s.length?dt=s[ye-1]:dt=cc,ur&&(dt=lc,ur=!1);for(let i of t.rooms){if(!D.has(i.room))continue;let o=D.get(i.room);i.updates.length>0&&o.endCursor>0?(o.updateQueue.clear(),o.updateQueue.add(o.createCompactionUpdate())):i.updates.length>0&&o.updateQueue.restore(i.updates),o.log("Error posting sync update, will retry with backoff",{error:r,nextPoll:dt},"error",!0)}if(!Ns){let i=ye>s.length;e.forEach(o=>{D.get(o.room)===o&&o.onStatusChange({status:"disconnected",canManuallyRetry:!0,consecutiveFailures:ye,backgroundRetriesFailed:i,willAutoRetryInMs:dt})})}}}jt=setTimeout(fr,dt)}n()}function Vd({room:n,doc:t,awareness:e,log:r,onSync:s,onStatusChange:i}){if(D.has(n))return;let o=gc([Dd(t)]),c=D.size===0;function l(){u.localAwarenessState=e.getLocalState()??{}}function a(h,f){if(kn!==f){if(h.byteLength>Is){let p=D.get(n);if(!p)return;p.log("Document size limit exceeded",{maxUpdateSizeInBytes:Is,updateSizeInBytes:h.byteLength}),p.onStatusChange({status:"disconnected",error:new lr(me.DOCUMENT_SIZE_LIMIT_EXCEEDED,"Document size limit exceeded")}),$e(n);return}o.add(He(h,K.UPDATE))}}function d(){t.off("updateV2",a),e.off("change",l),o.clear()}let u={clientId:t.clientID,createCompactionUpdate:()=>He(Ft(t),K.COMPACTION),endCursor:0,isPrimaryRoom:c,localAwarenessState:e.getLocalState()??{},log:r,onStatusChange:i,processAwarenessUpdate:h=>Ud(h,e),processDocUpdate:h=>Td(h,t,s),room:n,unregister:d,updateQueue:o};t.on("updateV2",a),e.on("change",l),D.set(n,u),hr||(window.addEventListener("beforeunload",_c),window.addEventListener("pagehide",xc),document.addEventListener("visibilitychange",Ec),hr=!0),En||fr()}function $e(n,{sendDisconnectSignal:t=!0}={}){let e=D.get(n);if(e){if(t){let r=[{after:0,awareness:null,client_id:e.clientId,room:n,updates:[]}];Ls({rooms:r})}e.unregister(),D.delete(n)}D.size===0&&hr&&(window.removeEventListener("beforeunload",_c),window.removeEventListener("pagehide",xc),document.removeEventListener("visibilitychange",Ec),hr=!1,Ms=!1,ye=0,Vs=0,we=dr)}function Bd(){ur=!0,jt&&(clearTimeout(jt),jt=null,fr())}var Cn={registerRoom:Vd,retryNow:Bd,unregisterRoom:$e};var Pd=class extends Tt{constructor(n){super(),this.options=n,this.log("Initializing",{room:n.room}),this.awareness=n.awareness??new ze(n.ydoc),this.connect()}awareness;status="disconnected";synced=!1;connect(){this.log("Connecting"),Cn.registerRoom({room:this.options.room,doc:this.options.ydoc,awareness:this.awareness,log:this.log,onStatusChange:this.emitStatus,onSync:this.onSync})}destroy(){this.disconnect(),super.destroy()}disconnect(){this.log("Disconnecting"),Cn.unregisterRoom(this.options.room),this.emitStatus({status:"disconnected"})}emitStatus=n=>{let{status:t}=n,e=t==="disconnected"?n.error:void 0;this.status===t&&!e||t==="connecting"&&this.status!=="disconnected"||(this.log("Status change",{status:t,error:e}),this.status=t,this.emit("status",[n]))};log=(n,t={},e="log",r=!1)=>{if(!this.options.debug&&!r)return;(console[e]||console.log)(`[${this.constructor.name}]: ${n}`,{room:this.options.room,...t})};onSync=()=>{this.synced||(this.synced=!0,this.log("Synced"))}};function bc(){return async({awareness:n,objectType:t,objectId:e,ydoc:r})=>{let s=e?`${t}:${e}`:t,i=new Pd({awareness:n,room:s,ydoc:r});return{destroy:()=>i.destroy(),on:(o,c)=>{i.on(o,c)}}}}var qe=null;function Fd(){return[bc()]}function Yd(n){return typeof n=="function"}function Ps(){if(qe)return qe;if(!window._wpCollaborationEnabled)return[];let n=(0,kc.applyFilters)("sync.providers",Fd());return Array.isArray(n)?(qe=n.filter(Yd),qe):(qe=[],qe)}var Cc=(n,t)=>{let e=t==="undo"?n.undoStack:n.redoStack;for(;e.length>0;){let r=e.pop(),s=t==="undo"?r.undoStack:r.redoStack,i=s.pop(),o=!1;if(t==="undo"?(r.undoStack=[i],o=r.undo()!==null,r.undoStack=s):(r.redoStack=[i],o=r.redo()!==null,r.redoStack=s),o)return i}return null},Dc=class extends be{constructor(n=[],t={}){super(),this.docs=new Map,this.trackedOrigins=t.trackedOrigins||new Set([null]),t.trackedOrigins=this.trackedOrigins,this._defaultOpts=t,this.undoStack=[],this.redoStack=[],this.addToScope(n)}addToScope(n){n=Jt(n)?n:[n],n.forEach(t=>{let e=t.doc,r=M(this.docs,e,()=>{let s=new ie([t],this._defaultOpts);return s.on("stack-cleared",({undoStackCleared:i,redoStackCleared:o})=>{this.clear(i,o)}),e.on("destroy",()=>{this.docs.delete(e),this.undoStack=this.undoStack.filter(i=>i.doc!==e),this.redoStack=this.redoStack.filter(i=>i.doc!==e)}),s.on("stack-item-added",i=>{(i.type==="undo"?this.undoStack:this.redoStack).push(s),this.emit("stack-item-added",[{...i,ydoc:e},this])}),s.on("stack-item-updated",i=>{this.emit("stack-item-updated",[{...i,ydoc:e},this])}),s.on("stack-item-popped",i=>{this.emit("stack-item-popped",[{...i,ydoc:e},this])}),s});r.scope.every(s=>s!==t)&&r.scope.push(t)})}addTrackedOrigin(n){this.trackedOrigins.add(n)}removeTrackedOrigin(n){this.trackedOrigins.delete(n)}undo(){return Cc(this,"undo")}redo(){return Cc(this,"redo")}clear(n=!0,t=!0){(n&&this.canUndo()||t&&this.canRedo())&&(this.docs.forEach(e=>{n&&(this.undoStack=[]),t&&(this.redoStack=[]),e.clear(n,t)}),this.emit("stack-cleared",[{undoStackCleared:n,redoStackCleared:t}]))}stopCapturing(){this.docs.forEach(n=>{n.stopCapturing()})}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.docs.forEach(n=>n.destroy()),super.destroy()}};function Ac(){let n=new Map,t=new Dc([],{captureTimeout:500,trackedOrigins:new Set([cr])});return t.on("stack-item-added",e=>{let r=n.get(e.ydoc);r&&r.addUndoMeta(e.ydoc,e.stackItem.meta)}),t.on("stack-item-popped",e=>{let r=n.get(e.ydoc);r&&r.restoreUndoMeta(e.ydoc,e.stackItem.meta)}),{addRecord(e,r=!1){},addToScope(e,r){if(e.doc===null)return;let s=e.doc;t.addToScope(e),n.has(s)||s.on("destroy",()=>n.delete(s)),n.set(s,r)},undo(){if(t.canUndo())return t.undo(),[]},redo(){if(t.canRedo())return t.redo(),[]},hasUndo(){return t.canUndo()},hasRedo(){return t.canRedo()},stopCapturing(){t.stopCapturing()}}}function pr(n={}){let t=new Map(Object.entries(n));return new yt({meta:t})}function Fs(n){n.getMap(Ge).set(qo,Ho)}function Ys(n){let t=n.getMap(Ge);t.set(ge,Date.now()),t.set($o,n.clientID)}function Uc(){return Math.floor(Math.random()*1e9)}function Tc(n){return JSON.stringify({document:Ii(Ft(n)),updateId:Uc()})}function Ic(n){try{let{document:t}=JSON.parse(n),e={[ir]:!0},r=pr(e),s=vi(t);return _t(r,s),r.clientID=Uc(),r}catch{return null}}function zt(n,t){return`${n}_${t}`}function vc(n=!1){let t=n?Zo:tc,e=new Map,r=new Map,s;function i(g,y,m,b={}){n&&console.log(`[SyncManager][${g}]: ${y}`,{...b,entityId:m})}async function o(g,y,m,b,E){let U=Ps(),A=zt(y,m);if(U.length===0){i("loadEntity","no providers, skipping",A);return}if(r.has(A)){i("loadEntity","already loaded",A);return}if(g.shouldSync?.(y,m)===!1){i("loadEntity","shouldSync false, skipping",A);return}i("loadEntity","loading",A),E={addUndoMeta:t(E.addUndoMeta),editRecord:t(E.editRecord),getEditedRecord:t(E.getEditedRecord),onStatusChange:t(E.onStatusChange),persistCRDTDoc:t(E.persistCRDTDoc),refetchRecord:t(E.refetchRecord),restoreUndoMeta:t(E.restoreUndoMeta)};let R=pr({objectType:y}),V=R.getMap(or),j=R.getMap(Ge),Dt=Date.now(),X=!1,Gt=!1,Ht=()=>{i("loadEntity","unloading",A),Gt=!0,yr?.forEach(Ut=>Ut.destroy()),E.onStatusChange(null),X&&(V.unobserveDeep(et),j.unobserve(xt)),R.destroy(),r.delete(A)},At=g.createAwareness?.(R,m),et=(Ut,$t)=>{$t.local&&!($t.origin instanceof ie)||w.updateEntityRecord(y,m)},xt=(Ut,$t)=>{$t.local||Ut.keysChanged.forEach(Pc=>{if(Pc===ge){let Ws=j.get(ge);typeof Ws=="number"&&Ws>Dt&&(i("loadEntity","refetching record",A),E.refetchRecord().catch(()=>{}))}})};s||(s=Ac());let{addUndoMeta:xe,restoreUndoMeta:Dn}=E;s.addToScope(V,{addUndoMeta:xe,restoreUndoMeta:Dn});let yr,Bc={awareness:At,handlers:E,objectId:m,objectType:y,syncConfig:g,unload:Ht,ydoc:R};if(r.set(A,Bc),i("loadEntity","connecting",A),yr=await Promise.all(U.map(async Ut=>{let $t=await Ut({objectType:y,objectId:m,ydoc:R,awareness:At});return $t.on("status",E.onStatusChange),$t})),Gt){i("loadEntity","unloaded during connect, aborting",A),yr.forEach(Ut=>Ut.destroy());return}Fs(R),w.applyPersistedCrdtDoc(y,m,b),V.observeDeep(et),j.observe(xt),X=!0}async function c(g,y,m){let b=Ps(),E=zt(y,null);if(b.length===0){i("loadCollection","no providers, skipping",E);return}if(e.has(y)){i("loadCollection","already loaded",E);return}if(g.shouldSync?.(y,null)===!1){i("loadCollection","shouldSync false, skipping",E);return}i("loadCollection","loading",E);let U=pr({collection:!0,objectType:y}),A=U.getMap(Ge),R=Date.now(),V=!1,j=!1,Dt=()=>{i("loadCollection","unloading",E),j=!0,Ht?.forEach(et=>et.destroy()),m.onStatusChange(null),V&&A.unobserve(X),U.destroy(),e.delete(y)},X=(et,xt)=>{xt.local||et.keysChanged.forEach(xe=>{if(xe===ge){let Dn=A.get(ge);typeof Dn=="number"&&Dn>R&&m.refetchRecords().catch(()=>{})}})},Gt=g.createAwareness?.(U),Ht,At={awareness:Gt,handlers:m,syncConfig:g,unload:Dt,ydoc:U};if(e.set(y,At),i("loadCollection","connecting",E),Ht=await Promise.all(b.map(async et=>{let xt=await et({awareness:Gt,objectType:y,objectId:null,ydoc:U});return xt.on("status",m.onStatusChange),xt})),j){i("loadCollection","unloaded during connect, aborting",E),Ht.forEach(et=>et.destroy());return}A.observe(X),V=!0,Fs(U)}function l(g,y){let m=zt(g,y);i("unloadEntity","unloading",m),r.get(m)?.unload(),h(g,null,{},origin,{isSave:!0})}function a(){i("unloadAll","unloading all entities","all");for(let[,g]of[...r])g.unload();r.clear();for(let[,g]of[...e])g.unload();e.clear()}function d(g,y){let m=zt(g,y),b=r.get(m);if(!(!b||!b.awareness))return b.awareness}function u(g,y,m){let b=zt(g,y),E=r.get(b);if(!E){i("applyPersistedCrdtDoc","no entity state",b);return}let{handlers:U,syncConfig:{applyChangesToCRDTDoc:A,getChangesFromCRDTDoc:R,getPersistedCRDTDoc:V},ydoc:j}=E,Dt=V?.(m),X=Dt?Ic(Dt):null;if(!X){i("applyPersistedCrdtDoc","no persisted doc",b),j.transact(()=>{A(j,m),U.persistCRDTDoc()},ks);return}let Gt=Ft(X);_t(j,Gt);let Ht=R(X,m),At=Object.keys(Ht);if(X.destroy(),At.length===0){i("applyPersistedCrdtDoc","valid persisted doc",b);return}i("applyPersistedCrdtDoc","invalidated keys",b,{invalidatedKeys:At});let et=At.reduce((xt,xe)=>Object.assign(xt,{[xe]:m[xe]}),{});j.transact(()=>{A(j,et),U.persistCRDTDoc()},ks)}function h(g,y,m,b,E={}){let{isSave:U=!1,isNewUndoLevel:A=!1}=E,R=zt(g,y),V=r.get(R),j=e.get(g);if(V){let{syncConfig:Dt,ydoc:X}=V;A&&s&&s.stopCapturing?.(),X.transact(()=>{i("updateCRDTDoc","applying changes",R,{changedKeys:Object.keys(m)}),Dt.applyChangesToCRDTDoc(X,m),U&&Ys(X)},b)}j&&U&&j.ydoc.transact(()=>{Ys(j.ydoc)},b)}async function f(g,y){let m=zt(g,y),b=r.get(m);if(!b){i("updateEntityRecord","no entity state",m);return}let{handlers:E,syncConfig:U,ydoc:A}=b,R=U.getChangesFromCRDTDoc(A,await E.getEditedRecord()),V=Object.keys(R);V.length!==0&&(i("updateEntityRecord","changes",m,{changedKeys:V}),E.editRecord(R))}async function p(g,y){let m=zt(g,y),b=r.get(m);return b?.ydoc?(await new Promise(E=>setTimeout(E,0)),Tc(b.ydoc)):null}let w={applyPersistedCrdtDoc:t(u),updateEntityRecord:t(f)};return{createPersistedCRDTDoc:t(p),getAwareness:d,load:t(o),loadCollection:t(c),get undoManager(){return s},unload:t(l),unloadAll:t(a),update:t(ec(h))}}var Se=class{diff(t,e,r={}){let s;typeof r=="function"?(s=r,r={}):"callback"in r&&(s=r.callback);let i=this.castInput(t,r),o=this.castInput(e,r),c=this.removeEmpty(this.tokenize(i,r)),l=this.removeEmpty(this.tokenize(o,r));return this.diffWithOptionsObj(c,l,r,s)}diffWithOptionsObj(t,e,r,s){var i;let o=m=>{if(m=this.postProcess(m,r),s){setTimeout(function(){s(m)},0);return}else return m},c=e.length,l=t.length,a=1,d=c+l;r.maxEditLength!=null&&(d=Math.min(d,r.maxEditLength));let u=(i=r.timeout)!==null&&i!==void 0?i:1/0,h=Date.now()+u,f=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(f[0],e,t,0,r);if(f[0].oldPos+1>=l&&p+1>=c)return o(this.buildValues(f[0].lastComponent,e,t));let w=-1/0,g=1/0,y=()=>{for(let m=Math.max(w,-a);m<=Math.min(g,a);m+=2){let b,E=f[m-1],U=f[m+1];E&&(f[m-1]=void 0);let A=!1;if(U){let V=U.oldPos-m;A=U&&0<=V&&V<c}let R=E&&E.oldPos+1<l;if(!A&&!R){f[m]=void 0;continue}if(!R||A&&E.oldPos<U.oldPos?b=this.addToPath(U,!0,!1,0,r):b=this.addToPath(E,!1,!0,1,r),p=this.extractCommon(b,e,t,m,r),b.oldPos+1>=l&&p+1>=c)return o(this.buildValues(b.lastComponent,e,t))||!0;f[m]=b,b.oldPos+1>=l&&(g=Math.min(g,m-1)),p+1>=c&&(w=Math.max(w,m+1))}a++};if(s)(function m(){setTimeout(function(){if(a>d||Date.now()>h)return s(void 0);y()||m()},0)})();else for(;a<=d&&Date.now()<=h;){let m=y();if(m)return m}}addToPath(t,e,r,s,i){let o=t.lastComponent;return o&&!i.oneChangePerToken&&o.added===e&&o.removed===r?{oldPos:t.oldPos+s,lastComponent:{count:o.count+1,added:e,removed:r,previousComponent:o.previousComponent}}:{oldPos:t.oldPos+s,lastComponent:{count:1,added:e,removed:r,previousComponent:o}}}extractCommon(t,e,r,s,i){let o=e.length,c=r.length,l=t.oldPos,a=l-s,d=0;for(;a+1<o&&l+1<c&&this.equals(r[l+1],e[a+1],i);)a++,l++,d++,i.oneChangePerToken&&(t.lastComponent={count:1,previousComponent:t.lastComponent,added:!1,removed:!1});return d&&!i.oneChangePerToken&&(t.lastComponent={count:d,previousComponent:t.lastComponent,added:!1,removed:!1}),t.oldPos=l,a}equals(t,e,r){return r.comparator?r.comparator(t,e):t===e||!!r.ignoreCase&&t.toLowerCase()===e.toLowerCase()}removeEmpty(t){let e=[];for(let r=0;r<t.length;r++)t[r]&&e.push(t[r]);return e}castInput(t,e){return t}tokenize(t,e){return Array.from(t)}join(t){return t.join("")}postProcess(t,e){return t}get useLongestToken(){return!1}buildValues(t,e,r){let s=[],i;for(;t;)s.push(t),i=t.previousComponent,delete t.previousComponent,t=i;s.reverse();let o=s.length,c=0,l=0,a=0;for(;c<o;c++){let d=s[c];if(d.removed)d.value=this.join(r.slice(a,a+d.count)),a+=d.count;else{if(!d.added&&this.useLongestToken){let u=e.slice(l,l+d.count);u=u.map(function(h,f){let p=r[a+f];return p.length>h.length?p:h}),d.value=this.join(u)}else d.value=this.join(e.slice(l,l+d.count));l+=d.count,d.added||(a+=d.count)}}return s}};var js=class extends Se{},Oc=new js;function gr(n,t,e){return Oc.diff(n,t,e)}var zs=class extends Se{constructor(){super(...arguments),this.tokenize=jd}equals(t,e,r){return r.ignoreWhitespace?((!r.newlineIsToken||!t.includes(`
`))&&(t=t.trim()),(!r.newlineIsToken||!e.includes(`
`))&&(e=e.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(t.endsWith(`
`)&&(t=t.slice(0,-1)),e.endsWith(`
`)&&(e=e.slice(0,-1))),super.equals(t,e,r)}},Rc=new zs;function Gs(n,t,e){return Rc.diff(n,t,e)}function jd(n,t){t.stripTrailingCr&&(n=n.replace(/\r\n/g,`
`));let e=[],r=n.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let s=0;s<r.length;s++){let i=r[s];s%2&&!t.newlineIsToken?e[e.length-1]+=i:e.push(i)}return e}var mr=qt(Hs(),1);var Mc=qt(Hs(),1);function zd(n){return JSON.parse(JSON.stringify(n))}var $s;(n=>{function t(i={},o={},c=!1){typeof i!="object"&&(i={}),typeof o!="object"&&(o={});let l=zd(o);c||(l=Object.keys(l).reduce((a,d)=>((l[d]!==null||l[d]!==void 0)&&(a[d]=l[d]),a),{}));for(let a in i)i[a]!==void 0&&o[a]===void 0&&(l[a]=i[a]);return Object.keys(l).length>0?l:void 0}n.compose=t;function e(i={},o={}){typeof i!="object"&&(i={}),typeof o!="object"&&(o={});let c=Object.keys(i).concat(Object.keys(o)).reduce((l,a)=>((0,Mc.default)(i[a],o[a])||(l[a]=o[a]===void 0?null:o[a]),l),{});return Object.keys(c).length>0?c:void 0}n.diff=e;function r(i={},o={}){i=i||{};let c=Object.keys(o).reduce((l,a)=>(o[a]!==i[a]&&i[a]!==void 0&&(l[a]=o[a]),l),{});return Object.keys(i).reduce((l,a)=>(i[a]!==o[a]&&o[a]===void 0&&(l[a]=null),l),c)}n.invert=r;function s(i,o,c=!1){if(typeof i!="object")return o;if(typeof o!="object")return;if(!c)return o;let l=Object.keys(o).reduce((a,d)=>(i[d]===void 0&&(a[d]=o[d]),a),{});return Object.keys(l).length>0?l:void 0}n.transform=s})($s||($s={}));var _e=$s;var qs;(n=>{function t(e){return typeof e.delete=="number"?e.delete:typeof e.retain=="number"?e.retain:typeof e.retain=="object"&&e.retain!==null?1:typeof e.insert=="string"?e.insert.length:1}n.length=t})(qs||(qs={}));var it=qs;var $=class{ops;index;offset;constructor(n){this.ops=n,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(n){n||(n=1/0);let t=this.ops[this.index];if(t){let e=this.offset,r=it.length(t);if(n>=r-e?(n=r-e,this.index+=1,this.offset=0):this.offset+=n,typeof t.delete=="number")return{delete:n};let s={};return t.attributes&&(s.attributes=t.attributes),typeof t.retain=="number"?s.retain=n:typeof t.retain=="object"&&t.retain!==null?s.retain=t.retain:typeof t.insert=="string"?s.insert=t.insert.substr(e,n):s.insert=t.insert,s}return{retain:1/0}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?it.length(this.ops[this.index])-this.offset:1/0}peekType(){let n=this.ops[this.index];return n?typeof n.delete=="number"?"delete":typeof n.retain=="number"||typeof n.retain=="object"&&n.retain!==null?"retain":"insert":"retain"}rest(){if(this.hasNext()){if(this.offset===0)return this.ops.slice(this.index)}else return[];let n=this.offset,t=this.index,e=this.next(),r=this.ops.slice(this.index);return this.offset=n,this.index=t,[e].concat(r)}};function Gd(n){return JSON.parse(JSON.stringify(n))}var Hd="\0",$d=1e4;function Js(n){return n.map(t=>({...t,count:t.value.length}))}var Nc=(n,t)=>{if(typeof n!="object"||n===null)throw new Error(`cannot retain a ${typeof n}`);if(typeof t!="object"||t===null)throw new Error(`cannot retain a ${typeof t}`);let e=Object.keys(n)[0];if(!e||e!==Object.keys(t)[0])throw new Error(`embed types not matched: ${e} != ${Object.keys(t)[0]}`);return[e,n[e],t[e]]},qd=class W{static Op=it;static OpIterator=$;static AttributeMap=_e;static handlers={};static registerEmbed(t,e){this.handlers[t]=e}static unregisterEmbed(t){delete this.handlers[t]}static getHandler(t){let e=this.handlers[t];if(!e)throw new Error(`no handlers for embed type "${t}"`);return e}ops;constructor(t){Array.isArray(t)?this.ops=t:t!=null&&Array.isArray(t.ops)?this.ops=t.ops:this.ops=[]}insert(t,e){let r={};return typeof t=="string"&&t.length===0?this:(r.insert=t,e!=null&&typeof e=="object"&&Object.keys(e).length>0&&(r.attributes=e),this.push(r))}delete(t){return t<=0?this:this.push({delete:t})}retain(t,e){if(typeof t=="number"&&t<=0)return this;let r={retain:t};return e!=null&&typeof e=="object"&&Object.keys(e).length>0&&(r.attributes=e),this.push(r)}push(t){let e=this.ops.length,r=this.ops[e-1];if(t=Gd(t),typeof r=="object"){if(typeof t.delete=="number"&&typeof r.delete=="number")return this.ops[e-1]={delete:r.delete+t.delete},this;if(typeof r.delete=="number"&&t.insert!==null&&t.insert!==void 0&&(e-=1,r=this.ops[e-1],typeof r!="object"))return this.ops.unshift(t),this;if((0,mr.default)(t.attributes,r.attributes)){if(typeof t.insert=="string"&&typeof r.insert=="string")return this.ops[e-1]={insert:r.insert+t.insert},typeof t.attributes=="object"&&(this.ops[e-1].attributes=t.attributes),this;if(typeof t.retain=="number"&&typeof r.retain=="number")return this.ops[e-1]={retain:r.retain+t.retain},typeof t.attributes=="object"&&(this.ops[e-1].attributes=t.attributes),this}}return e===this.ops.length?this.ops.push(t):this.ops.splice(e,0,t),this}chop(){let t=this.ops[this.ops.length-1];return t&&typeof t.retain=="number"&&!t.attributes&&this.ops.pop(),this}filter(t){return this.ops.filter(t)}forEach(t){this.ops.forEach(t)}map(t){return this.ops.map(t)}partition(t){let e=[],r=[];return this.forEach(s=>{(t(s)?e:r).push(s)}),[e,r]}reduce(t,e){return this.ops.reduce(t,e)}changeLength(){return this.reduce((t,e)=>e.insert?t+it.length(e):e.delete?t-e.delete:t,0)}length(){return this.reduce((t,e)=>t+it.length(e),0)}slice(t=0,e=1/0){let r=[],s=new $(this.ops),i=0;for(;i<e&&s.hasNext();){let o;i<t?o=s.next(t-i):(o=s.next(e-i),r.push(o)),i+=it.length(o)}return new W(r)}compose(t){let e=new $(this.ops),r=new $(t.ops),s=[],i=r.peek();if(i!=null&&typeof i.retain=="number"&&(i.attributes===null||i.attributes===void 0)){let c=i.retain;for(;e.peekType()==="insert"&&e.peekLength()<=c;)c-=e.peekLength(),s.push(e.next());i.retain-c>0&&r.next(i.retain-c)}let o=new W(s);for(;e.hasNext()||r.hasNext();)if(r.peekType()==="insert")o.push(r.next());else if(e.peekType()==="delete")o.push(e.next());else{let c=Math.min(e.peekLength(),r.peekLength()),l=e.next(c),a=r.next(c);if(a.retain){let d={};if(typeof l.retain=="number")d.retain=typeof a.retain=="number"?c:a.retain;else if(typeof a.retain=="number")l.retain===null||l.retain===void 0?d.insert=l.insert:d.retain=l.retain;else{let h=l.retain===null||l.retain===void 0?"insert":"retain",[f,p,w]=Nc(l[h],a.retain),g=W.getHandler(f);d[h]={[f]:g.compose(p,w,h==="retain")}}let u=_e.compose(l.attributes,a.attributes,typeof l.retain=="number");if(u&&(d.attributes=u),o.push(d),!r.hasNext()&&(0,mr.default)(o.ops[o.ops.length-1],d)){let h=new W(e.rest());return o.concat(h).chop()}}else typeof a.delete=="number"&&(typeof l.retain=="number"||typeof l.retain=="object"&&l.retain!==null)&&o.push(a)}return o.chop()}concat(t){let e=new W(this.ops.slice());return t.ops.length>0&&(e.push(t.ops[0]),e.ops=e.ops.concat(t.ops.slice(1))),e}diff(t){if(this.ops===t.ops)return new W;let e=this.deltasToStrings(t),r=Js(gr(e[0],e[1])),s=new $(this.ops),i=new $(t.ops);return this.convertChangesToDelta(r,s,i).chop()}eachLine(t,e=`
`){let r=new $(this.ops),s=new W,i=0;for(;r.hasNext();){if(r.peekType()!=="insert")return;let o=r.peek(),c=it.length(o)-r.peekLength(),l=typeof o.insert=="string"?o.insert.indexOf(e,c)-c:-1;if(l<0)s.push(r.next());else if(l>0)s.push(r.next(l));else{if(t(s,r.next(1).attributes||{},i)===!1)return;i+=1,s=new W}}s.length()>0&&t(s,{},i)}invert(t){let e=new W;return this.reduce((r,s)=>{if(s.insert)e.delete(it.length(s));else{if(typeof s.retain=="number"&&(s.attributes===null||s.attributes===void 0))return e.retain(s.retain),r+s.retain;if(s.delete||typeof s.retain=="number"){let i=s.delete||s.retain;return t.slice(r,r+i).forEach(c=>{s.delete?e.push(c):s.retain&&s.attributes&&e.retain(it.length(c),_e.invert(s.attributes,c.attributes))}),r+i}else if(typeof s.retain=="object"&&s.retain!==null){let i=t.slice(r,r+1),o=new $(i.ops).next(),[c,l,a]=Nc(s.retain,o.insert),d=W.getHandler(c);return e.retain({[c]:d.invert(l,a)},_e.invert(s.attributes,o.attributes)),r+1}}return r},0),e.chop()}transform(t,e=!1){if(e=!!e,typeof t=="number")return this.transformPosition(t,e);let r=t,s=new $(this.ops),i=new $(r.ops),o=new W;for(;s.hasNext()||i.hasNext();)if(s.peekType()==="insert"&&(e||i.peekType()!=="insert"))o.retain(it.length(s.next()));else if(i.peekType()==="insert")o.push(i.next());else{let c=Math.min(s.peekLength(),i.peekLength()),l=s.next(c),a=i.next(c);if(l.delete)continue;if(a.delete)o.push(a);else{let d=l.retain,u=a.retain,h=typeof u=="object"&&u!==null?u:c;if(typeof d=="object"&&d!==null&&typeof u=="object"&&u!==null){let f=Object.keys(d)[0];if(f===Object.keys(u)[0]){let p=W.getHandler(f);p&&(h={[f]:p.transform(d[f],u[f],e)})}}o.retain(h,_e.transform(l.attributes,a.attributes,e))}}return o.chop()}transformPosition(t,e=!1){e=!!e;let r=new $(this.ops),s=0;for(;r.hasNext()&&s<=t;){let i=r.peekLength(),o=r.peekType();if(r.next(),o==="delete"){t-=Math.min(i,t-s);continue}else o==="insert"&&(s<t||!e)&&(t+=i);s+=i}return t}diffWithCursor(t,e){if(this.ops===t.ops)return new W;let r=this.deltasToStrings(t);if(Math.max(...r.map(u=>u.length))>$d){let u=Js(Gs(r[0],r[1])),h=new $(this.ops),f=new $(t.ops);return this.convertChangesToDelta(u,h,f).chop()}else if(e===null)return this.diff(t);let i=Js(gr(r[0],r[1])),o=0,c=[];for(let u=0;u<i.length;u++){let h=i[u],f=o,p=o+(h.count??0),w=e>f&&e<=p,g=!h.added&&!h.removed,y=h.removed&&!h.added,m=i[u+1],b=m&&m.added&&!m.removed;if(g&&w&&b){let E=this.tryMoveInsertionToCursor(h,m,e,f);if(E){c.push(...E),u++,o=p;continue}}if(y){let E=this.tryMoveDeletionToCursor(h,c,e,o);if(E){c.pop(),c.push(...E),o+=h.count??0;continue}}c.push(h),h.added||(o+=h.count??0)}i=c;let l=new $(this.ops),a=new $(t.ops);return this.convertChangesToDelta(i,l,a).chop()}tryMoveInsertionToCursor(t,e,r,s){let i=e.value,o=i.length,c=r-s-o;if(!(t.value.substring(c,c+i.length)===i))return null;let d=t.value.substring(0,c),u=t.value.substring(c),h=[];return d.length>0&&h.push({value:d,count:d.length,added:!1,removed:!1}),h.push(e),u.length>0&&h.push({value:u,count:u.length,added:!1,removed:!1}),h}tryMoveDeletionToCursor(t,e,r,s){let i=e[e.length-1];if(!i||i.added||i.removed)return null;let o=s-(i.count??0),c=s;if(r<o||r>=c)return null;let l=t.value,a=r-o;if(!(i.value.substring(a,a+l.length)===l))return null;let h=i.value.substring(0,a),f=i.value.substring(a),p=t.count??0,w=f.substring(p),g=[];return h.length>0&&g.push({value:h,count:h.length,added:!1,removed:!1}),g.push(t),w.length>0&&g.push({value:w,count:w.length,added:!1,removed:!1}),g}deltasToStrings(t){return[this,t].map(e=>e.map(r=>{if(r.insert!==null||r.insert!==void 0)return typeof r.insert=="string"?r.insert:Hd;let s=e===t?"on":"with";throw new Error("diff() called "+s+" non-document")}).join(""))}convertChangesToDelta(t,e,r){let s=new W;return t.forEach(i=>{let o=i.count??0;for(;o>0;){let c=0;if(i.added)c=Math.min(r.peekLength(),o),s.push(r.next(c));else if(i.removed)c=Math.min(o,e.peekLength()),e.next(c),s.delete(c);else{c=Math.min(e.peekLength(),r.peekLength(),o);let l=e.next(c),a=r.next(c);(0,mr.default)(l.insert,a.insert)?s.retain(c,_e.diff(l.attributes,a.attributes)):s.push(a).delete(c)}o-=c}}),s}},Vc=qd;var Ks={};Qo(Ks,{ConnectionErrorCode:me,createSyncManager:vc,Delta:Vc,CRDT_DOC_META_PERSISTENCE_KEY:ir,CRDT_RECORD_MAP_KEY:or,LOCAL_EDITOR_ORIGIN:cr,LOCAL_UNDO_IGNORED_ORIGIN:Jo,retrySyncConnection:()=>Cn.retryNow()});var Jd="13";return Hc(Kd);})();
//# sourceMappingURL=index.min.js.map