| similarity index 98% |
| rename from internal/slides/static/editor.5024c57ebd249378.js |
| rename to internal/slides/static/editor.d2011d9b340bcbf1.js |
| index 8c2de7e..9ecbcf7 100644 |
| --- a/internal/slides/static/editor.5024c57ebd249378.js |
| +++ b/internal/slides/static/editor.d2011d9b340bcbf1.js |
| @@ -13,4 +13,4 @@ ${t.toString()}`)},$l=class{constructor(e){this.patterns=[],this.$state=e}if(e,t |
| `))),0,0),n.someProp("transformPasted",u=>{l=u(l,n,!0)}),l;let d=n.someProp("clipboardTextParser",u=>u(e,i,r,n));if(d)l=d;else{let u=i.marks(),{schema:h}=n.state,p=Cn.fromSchema(h);o=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(m=>{let g=o.appendChild(document.createElement("p"));m&&g.appendChild(p.serializeNode(h.text(m,u)))})}}else n.someProp("transformPastedHTML",d=>{t=d(t,n)}),o=C0(t),Pi&&T0(o);let a=o&&o.querySelector("[data-pm-slice]"),f=a&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(a.getAttribute("data-pm-slice")||"");if(f&&f[3])for(let d=+f[3];d>0;d--){let u=o.firstChild;for(;u&&u.nodeType!=1;)u=u.nextSibling;if(!u)break;o=u}if(l||(l=(n.someProp("clipboardParser")||n.someProp("domParser")||Si.fromSchema(n.state.schema)).parseSlice(o,{preserveWhitespace:!!(c||f),context:i,ruleFromNode(u){return u.nodeName=="BR"&&!u.nextSibling&&u.parentNode&&!w0.test(u.parentNode.nodeName)?{ignore:!0}:null}})),f)l=E0(Ah(l,+f[1],+f[2]),f[4]);else if(l=A.maxOpen(k0(l.content,i),!0),l.openStart||l.openEnd){let d=0,u=0;for(let h=l.content.firstChild;d<l.openStart&&!h.type.spec.isolating;d++,h=h.firstChild);for(let h=l.content.lastChild;u<l.openEnd&&!h.type.spec.isolating;u++,h=h.lastChild);l=Ah(l,d,u)}return n.someProp("transformPasted",d=>{l=d(l,n,c)}),l}var w0=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function k0(n,e){if(n.childCount<2)return n;for(let t=e.depth;t>=0;t--){let i=e.node(t).contentMatchAt(e.index(t)),s,o=[];if(n.forEach(l=>{if(!o)return;let c=i.findWrapping(l.type),a;if(!c)return o=null;if(a=o.length&&s.length&&tp(c,s,l,o[o.length-1],0))o[o.length-1]=a;else{o.length&&(o[o.length-1]=np(o[o.length-1],s.length));let f=ep(l,c);o.push(f),i=i.matchType(f.type),s=c}}),o)return T.from(o)}return n}function ep(n,e,t=0){for(let r=e.length-1;r>=t;r--)n=e[r].create(null,T.from(n));return n}function tp(n,e,t,r,i){if(i<n.length&&i<e.length&&n[i]==e[i]){let s=tp(n,e,t,r.lastChild,i+1);if(s)return r.copy(r.content.replaceChild(r.childCount-1,s));if(r.contentMatchAt(r.childCount).matchType(i==n.length-1?t.type:n[i+1]))return r.copy(r.content.append(T.from(ep(t,n,i+1))))}}function np(n,e){if(e==0)return n;let t=n.content.replaceChild(n.childCount-1,np(n.lastChild,e-1)),r=n.contentMatchAt(n.childCount).fillBefore(T.empty,!0);return n.copy(t.append(r))}function ua(n,e,t,r,i,s){let o=e<0?n.firstChild:n.lastChild,l=o.content;return n.childCount>1&&(s=0),i<r-1&&(l=ua(l,e,t,r,i+1,s)),i>=t&&(l=e<0?o.contentMatchAt(0).fillBefore(l,s<=i).append(l):l.append(o.contentMatchAt(o.childCount).fillBefore(T.empty,!0))),n.replaceChild(e<0?0:n.childCount-1,o.copy(l))}function Ah(n,e,t){return e<n.openStart&&(n=new A(ua(n.content,-1,e,n.openStart,0,n.openEnd),e,n.openEnd)),t<n.openEnd&&(n=new A(ua(n.content,1,t,n.openEnd,0,0),n.openStart,t)),n}var rp={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};function ip(){return document.implementation.createHTMLDocument("title")}var _i=null;function S0(n){let e=window.trustedTypes;if(!e)return n;if(!_i){if(_i=e.defaultPolicy)try{return _i.createHTML(n)}catch{}_i=e.createPolicy("ProseMirrorClipboard",{createHTML:t=>t})}return _i.createHTML(n)}function C0(n){let e=/^(\s*<meta [^>]*>)*/.exec(n);e&&(n=n.slice(e[0].length));let t=ip(),r=t.body,i=/<([a-z][^>\s]+)/i.exec(n),s;if((s=i&&rp[i[1].toLowerCase()])&&(n=s.map(o=>"<"+o+">").join("")+n+s.map(o=>"</"+o+">").reverse().join("")),r.innerHTML=S0(n),s)for(let o=0;o<s.length;o++)r=r.querySelector(s[o])||r;for(let o=0;o<t.styleSheets.length;o++){let l=t.styleSheets[o];for(let c=0;c<l.rules.length;c++){let a=l.rules[c];if(a instanceof CSSStyleRule){let f=r.querySelectorAll(a.selectorText);for(let d=0;d<f.length;d++)f[d].style.cssText+=a.style.cssText}}}return r}function T0(n){let e=n.querySelectorAll(pe?"span:not([class]):not([style])":"span.Apple-converted-space");for(let t=0;t<e.length;t++){let r=e[t];r.childNodes.length==1&&r.textContent=="\xA0"&&r.parentNode&&r.parentNode.replaceChild(n.ownerDocument.createTextNode(" "),r)}}function E0(n,e){if(!n.size)return n;let t=n.content.firstChild.type.schema,r;try{r=JSON.parse(e)}catch{return n}let{content:i,openStart:s,openEnd:o}=n;for(let l=r.length-2;l>=0;l-=2){let c=t.nodes[r[l]];if(!c||c.hasRequiredAttrs())break;try{c.checkAttrs(r[l+1])}catch{break}i=T.from(c.create(r[l+1],i)),s++,o++}return new A(i,s,o)}var Oe={},Me={},A0={touchstart:!0,touchmove:!0},ha=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.badSafariComposition=!1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function O0(n){for(let e in Oe){let t=Oe[e];n.dom.addEventListener(e,n.input.eventHandlers[e]=r=>{N0(n,r)&&!Ta(n,r)&&(n.editable||!(r.type in Me))&&t(n,r)},A0[e]?{passive:!0}:void 0)}be&&n.dom.addEventListener("input",()=>null),pa(n)}function _t(n,e){n.input.lastSelectionOrigin=e,n.input.lastSelectionTime=Date.now()}function M0(n){n.input.mouseDown&&n.input.mouseDown.done(),n.domObserver.stop();for(let e in n.input.eventHandlers)n.dom.removeEventListener(e,n.input.eventHandlers[e]);clearTimeout(n.input.composingTimeout),clearTimeout(n.input.lastIOSEnterFallbackTimeout)}function pa(n){n.someProp("handleDOMEvents",e=>{for(let t in e)n.input.eventHandlers[t]||n.dom.addEventListener(t,n.input.eventHandlers[t]=r=>Ta(n,r))})}function Ta(n,e){return n.someProp("handleDOMEvents",t=>{let r=t[e.type];return r?r(n,e)||e.defaultPrevented:!1})}function N0(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target;t!=n.dom;t=t.parentNode)if(!t||t.nodeType==11||t.pmViewDesc&&t.pmViewDesc.stopEvent(e))return!1;return!0}function D0(n,e){!Ta(n,e)&&Oe[e.type]&&(n.editable||!(e.type in Me))&&Oe[e.type](n,e)}Me.keydown=(n,e)=>{let t=e;if(n.input.shiftKey=t.keyCode==16||t.shiftKey,!lp(n)&&(n.input.lastKeyCode=t.keyCode,n.input.lastKeyCodeTime=Date.now(),!(It&&pe&&t.keyCode==13)))if(t.keyCode!=229&&n.domObserver.forceFlush(),_r&&t.keyCode==13&&!t.ctrlKey&&!t.altKey&&!t.metaKey){let r=Date.now();n.input.lastIOSEnter=r,n.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{n.input.lastIOSEnter==r&&(n.someProp("handleKeyDown",i=>i(n,An(13,"Enter"))),n.input.lastIOSEnter=0)},200)}else n.someProp("handleKeyDown",r=>r(n,t))||b0(n,t)?t.preventDefault():_t(n,"key")};Me.keyup=(n,e)=>{e.keyCode==16&&(n.input.shiftKey=!1)};Me.keypress=(n,e)=>{let t=e;if(lp(n)||!t.charCode||t.ctrlKey&&!t.altKey||We&&t.metaKey)return;if(n.someProp("handleKeyPress",i=>i(n,t))){t.preventDefault();return}let r=n.state.selection;if(!(r instanceof P)||!r.$from.sameParent(r.$to)){let i=String.fromCharCode(t.charCode),s=()=>n.state.tr.insertText(i).scrollIntoView();!/[\r\n]/.test(i)&&!n.someProp("handleTextInput",o=>o(n,r.$from.pos,r.$to.pos,i,s))&&n.dispatch(s()),t.preventDefault()}};function zi(n){return{left:n.clientX,top:n.clientY}}function I0(n,e){let t=e.x-n.clientX,r=e.y-n.clientY;return t*t+r*r<100}function Ea(n,e,t,r,i){if(r==-1)return!1;let s=n.state.doc.resolve(r);for(let o=s.depth+1;o>0;o--)if(n.someProp(e,l=>o>s.depth?l(n,t,s.nodeAfter,s.before(o),i,!0):l(n,t,s.node(o),s.before(o),i,!1)))return!0;return!1}function $i(n,e,t){if(n.focused||n.focus(),n.state.selection.eq(e))return;let r=n.state.tr.setSelection(e);t=="pointer"&&r.setMeta("pointer",!0),n.dispatch(r)}function _0(n,e){if(e==-1)return!1;let t=n.state.doc.resolve(e),r=t.nodeAfter;return r&&r.isAtom&&D.isSelectable(r)?($i(n,new D(t),"pointer"),!0):!1}function R0(n,e){if(e==-1)return!1;let t=n.state.selection,r,i;t instanceof D&&(r=t.node);let s=n.state.doc.resolve(e);for(let o=s.depth+1;o>0;o--){let l=o>s.depth?s.nodeAfter:s.node(o);if(D.isSelectable(l)){r&&t.$from.depth>0&&o>=t.$from.depth&&s.before(t.$from.depth+1)==t.$from.pos?i=s.before(t.$from.depth):i=s.before(o);break}}return i!=null?($i(n,D.create(n.state.doc,i),"pointer"),!0):!1}function v0(n,e,t,r,i){return Ea(n,"handleClickOn",e,t,r)||n.someProp("handleClick",s=>s(n,e,r))||(i?R0(n,t):_0(n,t))}function B0(n,e,t,r){return Ea(n,"handleDoubleClickOn",e,t,r)||n.someProp("handleDoubleClick",i=>i(n,e,r))}function U0(n,e,t,r){return Ea(n,"handleTripleClickOn",e,t,r)||n.someProp("handleTripleClick",i=>i(n,e,r))||V0(n,t,r)}function V0(n,e,t){if(t.button!=0)return!1;let r=sp(n,e,!0),i=n.state.doc;return r?($i(n,r,"pointer"),r instanceof P&&i.eq(n.state.doc)&&(n.input.mouseDown=new ga(n,r)),!0):!1}function sp(n,e,t){let r=n.state.doc;if(e==-1)return r.inlineContent?P.create(r,0,r.content.size):null;let i=r.resolve(e);for(let s=i.depth+1;s>0;s--){let o=s>i.depth?i.nodeAfter:i.node(s),l=i.before(s);if(o.inlineContent)return P.create(r,l+1,l+1+o.content.size);if(t&&D.isSelectable(o))return D.create(r,l)}return null}function Aa(n){return Ro(n)}var op=We?"metaKey":"ctrlKey";Oe.mousedown=(n,e)=>{let t=e;n.input.shiftKey=t.shiftKey;let r=Aa(n),i=Date.now(),s="singleClick";i-n.input.lastClick.time<500&&I0(t,n.input.lastClick)&&!t[op]&&n.input.lastClick.button==t.button&&(n.input.lastClick.type=="singleClick"?s="doubleClick":n.input.lastClick.type=="doubleClick"&&(s="tripleClick")),n.input.lastClick={time:i,x:t.clientX,y:t.clientY,type:s,button:t.button},n.input.mouseDown&&n.input.mouseDown.done();let o=n.posAtCoords(zi(t));o&&(s=="singleClick"?n.input.mouseDown=new ma(n,o,t,!!r):(s=="doubleClick"?B0:U0)(n,o.pos,o.inside,t)?t.preventDefault():_t(n,"pointer"))};var _o=class{constructor(e){this.view=e,this.mightDrag=null,e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this))}up(e){this.done()}move(e){e.buttons==0&&this.done()}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.view.input.mouseDown==this&&(this.view.input.mouseDown=null)}delaySelUpdate(){return!1}},ma=class extends _o{constructor(e,t,r,i){super(e),this.pos=t,this.event=r,this.flushed=i,this.delayedSelectionSync=!1,this.startDoc=e.state.doc,this.selectNode=!!r[op],this.allowDefault=r.shiftKey;let s,o;if(t.inside>-1)s=e.state.doc.nodeAt(t.inside),o=t.inside;else{let f=e.state.doc.resolve(t.pos);s=f.parent,o=f.depth?f.before():0}let l=i?null:r.target,c=l?e.docView.nearestDesc(l,!0):null;this.target=c&&c.nodeDOM.nodeType==1?c.nodeDOM:null;let{selection:a}=e.state;r.button==0&&(s.type.spec.draggable&&s.type.spec.selectable!==!1||a instanceof D&&a.from<=o&&a.to>o)&&(this.mightDrag={node:s,pos:o,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Ke&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),_t(e,"pointer")}done(){super.done(),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>{this.view.isDestroyed||Rt(this.view)})}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(zi(e))),this.updateAllowDefault(e),this.allowDefault||!t?_t(this.view,"pointer"):v0(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||be&&this.mightDrag&&!this.mightDrag.node.isAtom||pe&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?($i(this.view,L.near(this.view.state.doc.resolve(t.pos)),"pointer"),e.preventDefault()):_t(this.view,"pointer")}move(e){this.updateAllowDefault(e),_t(this.view,"pointer"),super.move(e)}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}delaySelUpdate(){return this.allowDefault?(this.delayedSelectionSync=!0,!0):!1}},ga=class extends _o{constructor(e,t){super(e),this.startSelection=t,this.startDoc=e.state.doc}move(e){if(e.buttons==0||this.view.isDestroyed||!this.view.state.doc.eq(this.startDoc)){this.done();return}e.preventDefault(),_t(this.view,"pointer");let t=this.view.posAtCoords(zi(e)),r=t&&sp(this.view,t.inside,!1);if(!r)return;let{doc:i}=this.view.state,s=this.startSelection,[o,l]=r.from<s.from?[s.to,r.from]:[s.from,r.to];$i(this.view,P.create(i,o,l),"pointer")}};Oe.touchstart=n=>{n.input.lastTouch=Date.now(),Aa(n),_t(n,"pointer")};Oe.touchmove=n=>{n.input.lastTouch=Date.now(),_t(n,"pointer")};Oe.contextmenu=n=>Aa(n);function lp(n,e){return n.composing?!0:be&&Math.abs(Date.now()-n.input.compositionEndedAt)<500?(n.input.compositionEndedAt=-2e8,!0):!1}var L0=It?5e3:-1;Me.compositionstart=Me.compositionupdate=n=>{if(!n.composing){n.domObserver.flush();let{state:e}=n,t=e.selection.$to;if(e.selection instanceof P&&(e.storedMarks||!t.textOffset&&t.parentOffset&&t.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)||pe&&Fh&&F0(n)))n.markCursor=n.state.storedMarks||t.marks(),Ro(n,!0),n.markCursor=null;else if(Ro(n,!e.selection.empty),Ke&&e.selection.empty&&t.parentOffset&&!t.textOffset&&t.nodeBefore.marks.length){let r=n.domSelectionRange();for(let i=r.focusNode,s=r.focusOffset;i&&i.nodeType==1&&s!=0;){let o=s<0?i.lastChild:i.childNodes[s-1];if(!o)break;if(o.nodeType==3){let l=n.domSelection();l&&l.collapse(o,o.nodeValue.length);break}else i=o,s=-1}}n.input.composing=!0}cp(n,L0)};function F0(n){let{focusNode:e,focusOffset:t}=n.domSelectionRange();if(!e||e.nodeType!=1||t>=e.childNodes.length)return!1;let r=e.childNodes[t];return r.nodeType==1&&r.contentEditable=="false"}Me.compositionend=(n,e)=>{n.composing&&(n.input.composing=!1,n.input.compositionEndedAt=Date.now(),n.input.compositionPendingChanges=n.domObserver.pendingRecords().length?n.input.compositionID:0,n.input.compositionNode=null,n.input.badSafariComposition?n.domObserver.forceFlush():n.input.compositionPendingChanges&&Promise.resolve().then(()=>n.domObserver.flush()),n.input.compositionID++,cp(n,20))};function cp(n,e){clearTimeout(n.input.composingTimeout),e>-1&&(n.input.composingTimeout=setTimeout(()=>Ro(n),e))}function ap(n){for(n.composing&&(n.input.composing=!1,n.input.compositionEndedAt=Date.now());n.input.compositionNodes.length>0;)n.input.compositionNodes.pop().markParentsDirty()}function P0(n){let e=n.domSelectionRange();if(!e.focusNode)return null;let t=Vb(e.focusNode,e.focusOffset),r=Lb(e.focusNode,e.focusOffset);if(t&&r&&t!=r){let i=r.pmViewDesc,s=n.domObserver.lastChangedTextNode;if(t==s||r==s)return s;if(!i||!i.isText(r.nodeValue))return r;if(n.input.compositionNode==r){let o=t.pmViewDesc;if(!(!o||!o.isText(t.nodeValue)))return r}}return t||r}function Ro(n,e=!1){if(!(It&&n.domObserver.flushingSoon>=0)){if(n.domObserver.forceFlush(),ap(n),e||n.docView&&n.docView.dirty){let t=ka(n),r=n.state.selection;return t&&!t.eq(r)?n.dispatch(n.state.tr.setSelection(t)):(n.markCursor||e)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?n.dispatch(n.state.tr.deleteSelection()):n.updateState(n.state),!0}return!1}}function z0(n,e){if(!n.dom.parentNode)return;let t=n.dom.parentNode.appendChild(document.createElement("div"));t.appendChild(e),t.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),i=document.createRange();i.selectNodeContents(e),n.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),n.focus()},50)}var Bi=Ve&&Kt<15||_r&&$b<604;Oe.copy=Me.cut=(n,e)=>{let t=e,r=n.state.selection,i=t.type=="cut";if(r.empty)return;let s=Bi?null:t.clipboardData,o=r.content(),{dom:l,text:c}=Ca(n,o);s?(t.preventDefault(),s.clearData(),s.setData("text/html",l.innerHTML),s.setData("text/plain",c)):z0(n,l),i&&n.dispatch(n.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function $0(n){return n.openStart==0&&n.openEnd==0&&n.content.childCount==1?n.content.firstChild:null}function q0(n,e){if(!n.dom.parentNode)return;let t=n.input.shiftKey||n.state.selection.$from.parent.type.spec.code,r=n.dom.parentNode.appendChild(document.createElement(t?"textarea":"div"));t||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let i=n.input.shiftKey&&n.input.lastKeyCode!=45;setTimeout(()=>{n.focus(),r.parentNode&&r.parentNode.removeChild(r),t?Ui(n,r.value,null,i,e):Ui(n,r.textContent,r.innerHTML,i,e)},50)}function Ui(n,e,t,r,i){let s=Qh(n,e,t,r,n.state.selection.$from);if(n.someProp("handlePaste",c=>c(n,i,s||A.empty)))return!0;if(!s)return!1;let o=$0(s),l=o?n.state.tr.replaceSelectionWith(o,r):n.state.tr.replaceSelection(s);return n.dispatch(l.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function fp(n){let e=n.getData("text/plain")||n.getData("Text");if(e)return e;let t=n.getData("text/uri-list");return t?t.replace(/\r?\n/g," "):""}Me.paste=(n,e)=>{let t=e;if(n.composing&&!It)return;let r=Bi?null:t.clipboardData,i=n.input.shiftKey&&n.input.lastKeyCode!=45;r&&Ui(n,fp(r),r.getData("text/html"),i,t)?t.preventDefault():q0(n,t)};var vo=class{constructor(e,t,r){this.slice=e,this.move=t,this.node=r}},J0=We?"altKey":"ctrlKey";function dp(n,e){let t;return n.someProp("dragCopies",r=>{t=t||r(e)}),t!=null?!t:!e[J0]}Oe.dragstart=(n,e)=>{let t=e,r=n.input.mouseDown;if(r&&r.done(),!t.dataTransfer)return;let i=n.state.selection,s=i.empty?null:n.posAtCoords(zi(t)),o;if(!(s&&s.pos>=i.from&&s.pos<=(i instanceof D?i.to-1:i.to))){if(r&&r.mightDrag)o=D.create(n.state.doc,r.mightDrag.pos);else if(t.target&&t.target.nodeType==1){let d=n.docView.nearestDesc(t.target,!0);d&&d.node.type.spec.draggable&&d!=n.docView&&(o=D.create(n.state.doc,d.posBefore))}}let l=(o||n.state.selection).content(),{dom:c,text:a,slice:f}=Ca(n,l);(!t.dataTransfer.files.length||!pe||Lh>120)&&t.dataTransfer.clearData(),t.dataTransfer.setData(Bi?"Text":"text/html",c.innerHTML),t.dataTransfer.effectAllowed="copyMove",Bi||t.dataTransfer.setData("text/plain",a),n.dragging=new vo(f,dp(n,t),o)};Oe.dragend=n=>{let e=n.dragging;window.setTimeout(()=>{n.dragging==e&&(n.dragging=null)},50)};Me.dragover=Me.dragenter=(n,e)=>e.preventDefault();Me.drop=(n,e)=>{try{Y0(n,e,n.dragging)}finally{n.dragging=null}};function Y0(n,e,t){if(!e.dataTransfer)return;let r=n.posAtCoords(zi(e));if(!r)return;let i=n.state.doc.resolve(r.pos),s=t&&t.slice;s?n.someProp("transformPasted",h=>{s=h(s,n,!1)}):s=Qh(n,fp(e.dataTransfer),Bi?null:e.dataTransfer.getData("text/html"),!1,i);let o=!!(t&&dp(n,e));if(n.someProp("handleDrop",h=>h(n,e,s||A.empty,o))){e.preventDefault();return}if(!s)return;e.preventDefault();let l=s?Hu(n.state.doc,i.pos,s):i.pos;l==null&&(l=i.pos);let c=n.state.tr;if(o){let{node:h}=t;h?h.replace(c):c.deleteSelection()}let a=c.mapping.map(l),f=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,d=c.doc;if(f?c.replaceRangeWith(a,a,s.content.firstChild):c.replaceRange(a,a,s),c.doc.eq(d))return;let u=c.doc.resolve(a);if(f&&D.isSelectable(s.content.firstChild)&&u.nodeAfter&&u.nodeAfter.sameMarkup(s.content.firstChild))c.setSelection(new D(u));else{let h=c.mapping.map(l);c.mapping.maps[c.mapping.maps.length-1].forEach((p,m,g,y)=>h=y),c.setSelection(Sa(n,u,c.doc.resolve(h)))}n.focus(),n.dispatch(c.setMeta("uiEvent","drop"))}Oe.focus=n=>{n.input.lastFocus=Date.now(),n.focused||(n.domObserver.stop(),n.dom.classList.add("ProseMirror-focused"),n.domObserver.start(),n.focused=!0,setTimeout(()=>{n.docView&&n.hasFocus()&&!n.domObserver.currentSelection.eq(n.domSelectionRange())&&Rt(n)},20))};Oe.blur=(n,e)=>{let t=e;n.focused&&(n.domObserver.stop(),n.dom.classList.remove("ProseMirror-focused"),n.domObserver.start(),t.relatedTarget&&n.dom.contains(t.relatedTarget)&&n.domObserver.currentSelection.clear(),n.focused=!1)};Oe.beforeinput=(n,e)=>{if(It&&e.inputType=="deleteContentBackward"){n.domObserver.flushSoon();let{domChangeCount:r}=n.input;setTimeout(()=>{if(n.input.domChangeCount!=r||(n.dom.blur(),n.focus(),n.someProp("handleKeyDown",s=>s(n,An(8,"Backspace")))))return;let{$cursor:i}=n.state.selection;i&&i.pos>0&&n.dispatch(n.state.tr.delete(i.pos-1,i.pos).scrollIntoView())},50)}};for(let n in Me)Oe[n]=Me[n];function Vi(n,e){if(n==e)return!0;for(let t in n)if(n[t]!==e[t])return!1;for(let t in e)if(!(t in n))return!1;return!0}var Bo=class n{constructor(e,t){this.toDOM=e,this.spec=t||In,this.side=this.spec.side||0}map(e,t,r,i){let{pos:s,deleted:o}=e.mapResult(t.from+i,this.side<0?-1:1);return o?null:new Gt(s-r,s-r,this)}valid(){return!0}eq(e){return this==e||e instanceof n&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&Vi(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},Dn=class n{constructor(e,t){this.attrs=e,this.spec=t||In}map(e,t,r,i){let s=e.map(t.from+i,this.spec.inclusiveStart?-1:1)-r,o=e.map(t.to+i,this.spec.inclusiveEnd?1:-1)-r;return s>=o?null:new Gt(s,o,this)}valid(e,t){return t.from<t.to}eq(e){return this==e||e instanceof n&&Vi(this.attrs,e.attrs)&&Vi(this.spec,e.spec)}static is(e){return e.type instanceof n}destroy(){}},ya=class n{constructor(e,t){this.attrs=e,this.spec=t||In}map(e,t,r,i){let s=e.mapResult(t.from+i,1);if(s.deleted)return null;let o=e.mapResult(t.to+i,-1);return o.deleted||o.pos<=s.pos?null:new Gt(s.pos-r,o.pos-r,this)}valid(e,t){let{index:r,offset:i}=e.content.findIndex(t.from),s;return i==t.from&&!(s=e.child(r)).isText&&i+s.nodeSize==t.to}eq(e){return this==e||e instanceof n&&Vi(this.attrs,e.attrs)&&Vi(this.spec,e.spec)}destroy(){}},Gt=class n{constructor(e,t,r){this.from=e,this.to=t,this.type=r}copy(e,t){return new n(e,t,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,r){return this.type.map(e,this,t,r)}static widget(e,t,r){return new n(e,e,new Bo(t,r))}static inline(e,t,r,i){return new n(e,t,new Dn(r,i))}static node(e,t,r,i){return new n(e,t,new ya(r,i))}get spec(){return this.type.spec}get inline(){return this.type instanceof Dn}get widget(){return this.type instanceof Bo}},Dr=[],In={},Ge=class n{constructor(e,t){this.local=e.length?e:Dr,this.children=t.length?t:Dr}static create(e,t){return t.length?Vo(t,e,0,In):xe}find(e,t,r){let i=[];return this.findInner(e??0,t??1e9,i,0,r),i}findInner(e,t,r,i,s){for(let o=0;o<this.local.length;o++){let l=this.local[o];l.from<=t&&l.to>=e&&(!s||s(l.spec))&&r.push(l.copy(l.from+i,l.to+i))}for(let o=0;o<this.children.length;o+=3)if(this.children[o]<t&&this.children[o+1]>e){let l=this.children[o]+1;this.children[o+2].findInner(e-l,t-l,r,i+l,s)}}map(e,t,r){return this==xe||e.maps.length==0?this:this.mapInner(e,t,0,0,r||In)}mapInner(e,t,r,i,s){let o;for(let l=0;l<this.local.length;l++){let c=this.local[l].map(e,r,i);c&&c.type.valid(t,c)?(o||(o=[])).push(c):s.onRemove&&s.onRemove(this.local[l].spec)}return this.children.length?j0(this.children,o||[],e,t,r,i,s):o?new n(o.sort(_n),Dr):xe}add(e,t){return t.length?this==xe?n.create(e,t):this.addInner(e,t,0):this}addInner(e,t,r){let i,s=0;e.forEach((l,c)=>{let a=c+r,f;if(f=hp(t,l,a)){for(i||(i=this.children.slice());s<i.length&&i[s]<c;)s+=3;i[s]==c?i[s+2]=i[s+2].addInner(l,f,a+1):i.splice(s,0,c,c+l.nodeSize,Vo(f,l,a+1,In)),s+=3}});let o=up(s?pp(t):t,-r);for(let l=0;l<o.length;l++)o[l].type.valid(e,o[l])||o.splice(l--,1);return new n(o.length?this.local.concat(o).sort(_n):this.local,i||this.children)}remove(e){return e.length==0||this==xe?this:this.removeInner(e,0)}removeInner(e,t){let r=this.children,i=this.local;for(let s=0;s<r.length;s+=3){let o,l=r[s]+t,c=r[s+1]+t;for(let f=0,d;f<e.length;f++)(d=e[f])&&d.from>l&&d.to<c&&(e[f]=null,(o||(o=[])).push(d));if(!o)continue;r==this.children&&(r=this.children.slice());let a=r[s+2].removeInner(o,l+1);a!=xe?r[s+2]=a:(r.splice(s,3),s-=3)}if(i.length){for(let s=0,o;s<e.length;s++)if(o=e[s])for(let l=0;l<i.length;l++)i[l].eq(o,t)&&(i==this.local&&(i=this.local.slice()),i.splice(l--,1))}return r==this.children&&i==this.local?this:i.length||r.length?new n(i,r):xe}forChild(e,t){if(this==xe)return this;if(t.isLeaf)return n.empty;let r,i;for(let l=0;l<this.children.length;l+=3)if(this.children[l]>=e){this.children[l]==e&&(r=this.children[l+2]);break}let s=e+1,o=s+t.content.size;for(let l=0;l<this.local.length;l++){let c=this.local[l];if(c.from<o&&c.to>s&&c.type instanceof Dn){let a=Math.max(s,c.from)-s,f=Math.min(o,c.to)-s;a<f&&(i||(i=[])).push(c.copy(a,f))}}if(i){let l=new n(i.sort(_n),Dr);return r?new Uo([l,r]):l}return r||xe}eq(e){if(this==e)return!0;if(!(e instanceof n)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(let t=0;t<this.local.length;t++)if(!this.local[t].eq(e.local[t]))return!1;for(let t=0;t<this.children.length;t+=3)if(this.children[t]!=e.children[t]||this.children[t+1]!=e.children[t+1]||!this.children[t+2].eq(e.children[t+2]))return!1;return!0}locals(e){return Oa(this.localsInner(e))}localsInner(e){if(this==xe)return Dr;if(e.inlineContent||!this.local.some(Dn.is))return this.local;let t=[];for(let r=0;r<this.local.length;r++)this.local[r].type instanceof Dn||t.push(this.local[r]);return t}forEachSet(e){e(this)}};Ge.empty=new Ge([],[]);Ge.removeOverlap=Oa;var xe=Ge.empty,Uo=class n{constructor(e){this.members=e}map(e,t){let r=this.members.map(i=>i.map(e,t,In));return n.from(r)}forChild(e,t){if(t.isLeaf)return Ge.empty;let r=[];for(let i=0;i<this.members.length;i++){let s=this.members[i].forChild(e,t);s!=xe&&(s instanceof n?r=r.concat(s.members):r.push(s))}return n.from(r)}eq(e){if(!(e instanceof n)||e.members.length!=this.members.length)return!1;for(let t=0;t<this.members.length;t++)if(!this.members[t].eq(e.members[t]))return!1;return!0}locals(e){let t,r=!0;for(let i=0;i<this.members.length;i++){let s=this.members[i].localsInner(e);if(s.length)if(!t)t=s;else{r&&(t=t.slice(),r=!1);for(let o=0;o<s.length;o++)t.push(s[o])}}return t?Oa(r?t:t.sort(_n)):Dr}static from(e){switch(e.length){case 0:return xe;case 1:return e[0];default:return new n(e.every(t=>t instanceof Ge)?e:e.reduce((t,r)=>t.concat(r instanceof Ge?r:r.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}};function j0(n,e,t,r,i,s,o){let l=n.slice();for(let a=0,f=s;a<t.maps.length;a++){let d=0;t.maps[a].forEach((u,h,p,m)=>{let g=m-p-(h-u);for(let y=0;y<l.length;y+=3){let w=l[y+1];if(w<0||u>w+f-d)continue;let x=l[y]+f-d;h>=x?l[y+1]=u<=x?-2:-1:u>=f&&g&&(l[y]+=g,l[y+1]+=g)}d+=g}),f=t.maps[a].map(f,-1)}let c=!1;for(let a=0;a<l.length;a+=3)if(l[a+1]<0){if(l[a+1]==-2){c=!0,l[a+1]=-1;continue}let f=t.map(n[a]+s),d=f-i;if(d<0||d>=r.content.size){c=!0;continue}let u=t.map(n[a+1]+s,-1),h=u-i,{index:p,offset:m}=r.content.findIndex(d),g=r.maybeChild(p);if(g&&m==d&&m+g.nodeSize==h){let y=l[a+2].mapInner(t,g,f+1,n[a]+s+1,o);y!=xe?(l[a]=d,l[a+1]=h,l[a+2]=y):(l[a+1]=-2,c=!0)}else c=!0}if(c){let a=W0(l,n,e,t,i,s,o),f=Vo(a,r,0,o);e=f.local;for(let d=0;d<l.length;d+=3)l[d+1]<0&&(l.splice(d,3),d-=3);for(let d=0,u=0;d<f.children.length;d+=3){let h=f.children[d];for(;u<l.length&&l[u]<h;)u+=3;l.splice(u,0,f.children[d],f.children[d+1],f.children[d+2])}}return new Ge(e.sort(_n),l)}function up(n,e){if(!e||!n.length)return n;let t=[];for(let r=0;r<n.length;r++){let i=n[r];t.push(new Gt(i.from+e,i.to+e,i.type))}return t}function W0(n,e,t,r,i,s,o){function l(c,a){for(let f=0;f<c.local.length;f++){let d=c.local[f].map(r,i,a);d?t.push(d):o.onRemove&&o.onRemove(c.local[f].spec)}for(let f=0;f<c.children.length;f+=3)l(c.children[f+2],c.children[f]+a+1)}for(let c=0;c<n.length;c+=3)n[c+1]==-1&&l(n[c+2],e[c]+s+1);return t}function hp(n,e,t){if(e.isLeaf)return null;let r=t+e.nodeSize,i=null;for(let s=0,o;s<n.length;s++)(o=n[s])&&o.from>t&&o.to<r&&((i||(i=[])).push(o),n[s]=null);return i}function pp(n){let e=[];for(let t=0;t<n.length;t++)n[t]!=null&&e.push(n[t]);return e}function Vo(n,e,t,r){let i=[],s=!1;e.forEach((l,c)=>{let a=hp(n,l,c+t);if(a){s=!0;let f=Vo(a,l,t+c+1,r);f!=xe&&i.push(c,c+l.nodeSize,f)}});let o=up(s?pp(n):n,-t).sort(_n);for(let l=0;l<o.length;l++)o[l].type.valid(e,o[l])||(r.onRemove&&r.onRemove(o[l].spec),o.splice(l--,1));return o.length||i.length?new Ge(o,i):xe}function _n(n,e){return n.from-e.from||n.to-e.to}function Oa(n){let e=n;for(let t=0;t<e.length-1;t++){let r=e[t];if(r.from!=r.to)for(let i=t+1;i<e.length;i++){let s=e[i];if(s.from==r.from){s.to!=r.to&&(e==n&&(e=n.slice()),e[i]=s.copy(s.from,r.to),Oh(e,i+1,s.copy(r.to,s.to)));continue}else{s.from<r.to&&(e==n&&(e=n.slice()),e[t]=r.copy(r.from,s.from),Oh(e,i,r.copy(s.from,r.to)));break}}}return e}function Oh(n,e,t){for(;e<n.length&&_n(t,n[e])>0;)e++;n.splice(e,0,t)}function Zc(n){let e=[];return n.someProp("decorations",t=>{let r=t(n.state);r&&r!=xe&&e.push(r)}),n.cursorWrapper&&e.push(Ge.create(n.state.doc,[n.cursorWrapper.deco])),Uo.from(e)}var H0={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},K0=Ve&&Kt<=11,xa=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},ba=class{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new xa,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let i=0;i<r.length;i++)this.queue.push(r[i]);Ve&&Kt<=11&&r.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():be&&e.composing&&r.some(i=>i.type=="childList"&&i.target.nodeName=="TR")?(e.input.badSafariComposition=!0,this.flushSoon()):this.flush()}),K0&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,H0)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let t=0;t<e.length;t++)this.queue.push(e[t]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(wh(this.view)){if(this.suppressingSelectionUpdates)return Rt(this.view);if(Ve&&Kt<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&Rn(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let t=new Set,r;for(let s=e.focusNode;s;s=Ir(s))t.add(s);for(let s=e.anchorNode;s;s=Ir(s))if(t.has(s)){r=s;break}let i=r&&this.view.docView.nearestDesc(r);if(i&&i.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let r=e.domSelectionRange(),i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&wh(e)&&!this.ignoreSelectionChange(r),s=-1,o=-1,l=!1,c=[];if(e.editable)for(let f=0;f<t.length;f++){let d=this.registerMutation(t[f],c);d&&(s=s<0?d.from:Math.min(d.from,s),o=o<0?d.to:Math.max(d.to,o),d.typeOver&&(l=!0))}if(c.some(f=>f.nodeName=="BR")&&(e.input.lastKeyCode==8||e.input.lastKeyCode==46||pe&&(e.composing||e.input.compositionEndedAt>Date.now()-50)&&t.some(f=>f.type=="childList"&&f.removedNodes.length))){for(let f of c)if(f.nodeName=="BR"&&f.parentNode){let d=f.nextSibling;for(;d&&d.nodeType==1;){if(d.contentEditable=="false"){f.parentNode.removeChild(f);break}d=d.firstChild}}}else if(Ke&&c.length){let f=c.filter(d=>d.nodeName=="BR");if(f.length==2){let[d,u]=f;d.parentNode&&d.parentNode.parentNode==u.parentNode?u.remove():d.remove()}else{let{focusNode:d}=this.currentSelection;for(let u of f){let h=u.parentNode;h&&h.nodeName=="LI"&&(!d||Z0(e,d)!=h)&&u.remove()}}}let a=null;s<0&&i&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&Lo(r)&&(a=ka(e))&&a.eq(L.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,Rt(e),this.currentSelection.set(r),e.scrollToSelection()):(s>-1||i)&&(s>-1&&(e.docView.markDirty(s,o),X0(e)),e.input.badSafariComposition&&(e.input.badSafariComposition=!1,Q0(e,c)),this.handleDOMChange(s,o,l,c),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(r)||Rt(e),this.currentSelection.set(r))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let r=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(r==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!r||r.ignoreMutation(e))return null;if(e.type=="childList"){for(let f=0;f<e.addedNodes.length;f++){let d=e.addedNodes[f];t.push(d),d.nodeType==3&&(this.lastChangedTextNode=d)}if(r.contentDOM&&r.contentDOM!=r.dom&&!r.contentDOM.contains(e.target))return{from:r.posBefore,to:r.posAfter};let i=e.previousSibling,s=e.nextSibling;if(Ve&&Kt<=11&&e.addedNodes.length)for(let f=0;f<e.addedNodes.length;f++){let{previousSibling:d,nextSibling:u}=e.addedNodes[f];(!d||Array.prototype.indexOf.call(e.addedNodes,d)<0)&&(i=d),(!u||Array.prototype.indexOf.call(e.addedNodes,u)<0)&&(s=u)}let o=i&&i.parentNode==e.target?he(i)+1:0,l=r.localPosFromDOM(e.target,o,-1),c=s&&s.parentNode==e.target?he(s):e.target.childNodes.length,a=r.localPosFromDOM(e.target,c,1);return{from:l,to:a}}else return e.type=="attributes"?{from:r.posAtStart-r.border,to:r.posAtEnd+r.border}:(this.lastChangedTextNode=e.target,{from:r.posAtStart,to:r.posAtEnd,typeOver:e.target.nodeValue==e.oldValue})}},Mh=new WeakMap,Nh=!1;function X0(n){if(!Mh.has(n)&&(Mh.set(n,null),["normal","nowrap","pre-line"].indexOf(getComputedStyle(n.dom).whiteSpace)!==-1)){if(n.requiresGeckoHackNode=Ke,Nh)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),Nh=!0}}function Dh(n,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=n.domAtPos(n.state.selection.anchor);return Rn(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function G0(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Dh(n,i)}let t;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.dom.addEventListener("beforeinput",r,!0),document.execCommand("indent"),n.dom.removeEventListener("beforeinput",r,!0),t?Dh(n,t):null}function Z0(n,e){for(let t=e.parentNode;t&&t!=n.dom;t=t.parentNode){let r=n.docView.nearestDesc(t,!0);if(r&&r.node.isBlock)return t}return null}function Q0(n,e){var t;let{focusNode:r,focusOffset:i}=n.domSelectionRange();for(let s of e)if(((t=s.parentNode)===null||t===void 0?void 0:t.nodeName)=="TR"){let o=s.nextSibling;for(;o&&o.nodeName!="TD"&&o.nodeName!="TH";)o=o.nextSibling;if(o){let l=o;for(;;){let c=l.firstChild;if(!c||c.nodeType!=1||c.contentEditable=="false"||/^(BR|IMG)$/.test(c.nodeName))break;l=c}l.insertBefore(s,l.firstChild),r==s&&n.domSelection().collapse(s,i)}else s.parentNode.removeChild(s)}}function ew(n,e,t,r){let{node:i,fromOffset:s,toOffset:o,from:l,to:c}=n.docView.parseRange(e,t),a=n.domSelectionRange(),f,d=a.anchorNode;if(d&&n.dom.contains(d.nodeType==1?d:d.parentNode)&&(f=[{node:d,offset:a.anchorOffset}],Lo(a)||f.push({node:a.focusNode,offset:a.focusOffset})),pe&&n.input.lastKeyCode===8)for(let y=o;y>s;y--){let w=i.childNodes[y-1],x=w.pmViewDesc;if(w.nodeName=="BR"&&!x){o=y;break}if(!x||x.size)break}let u=n.state.doc,h=n.someProp("domParser")||Si.fromSchema(n.state.schema),p=u.resolve(l),m=null,g=h.parse(i,{topNode:p.parent,topMatch:p.parent.contentMatchAt(p.index()),topOpen:!0,from:s,to:o,preserveWhitespace:p.parent.type.whitespace=="pre"?"full":!0,findPositions:f,ruleFromNode:tw(r),context:p});if(f&&f[0].pos!=null){let y=f[0].pos,w=f[1]&&f[1].pos;w==null&&(w=y),m={anchor:y+l,head:w+l}}return{doc:g,sel:m,from:l,to:c}}var tw=n=>e=>{let t=e.pmViewDesc;if(t)return t.parseRule(n);if(e.nodeName=="BR"&&e.parentNode){if(be&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let r=document.createElement("div");return r.appendChild(document.createElement("li")),{skip:r}}else if(e.parentNode.lastChild==e||be&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName=="IMG"&&e.getAttribute("mark-placeholder"))return{ignore:!0};return null},nw=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function rw(n,e,t,r,i){let s=n.input.compositionPendingChanges||(n.composing?n.input.compositionID:0);if(n.input.compositionPendingChanges=0,e<0){let S=n.input.lastSelectionTime>Date.now()-50?n.input.lastSelectionOrigin:null,C=ka(n,S);if(C&&!n.state.selection.eq(C)){if(pe&&It&&n.input.lastKeyCode===13&&Date.now()-100<n.input.lastKeyCodeTime&&n.someProp("handleKeyDown",B=>B(n,An(13,"Enter"))))return;let M=n.state.tr.setSelection(C);S=="pointer"?M.setMeta("pointer",!0):S=="key"&&M.scrollIntoView(),s&&M.setMeta("composition",s),n.dispatch(M)}return}let o=n.state.doc.resolve(e),l=o.sharedDepth(t);e=o.before(l+1),t=n.state.doc.resolve(t).after(l+1);let c=n.state.selection,a=ew(n,e,t,i),f=n.state.doc,d=f.slice(a.from,a.to),u,h;n.input.lastKeyCode===8&&Date.now()-100<n.input.lastKeyCodeTime?(u=n.state.selection.to,h="end"):(u=n.state.selection.from,h="start"),n.input.lastKeyCode=null;let p=ow(d.content,a.doc.content,a.from,u,h);if(p&&n.input.domChangeCount++,(_r&&n.input.lastIOSEnter>Date.now()-225||It)&&i.some(S=>S.nodeType==1&&!nw.test(S.nodeName))&&(!p||p.endA>=p.endB)&&n.someProp("handleKeyDown",S=>S(n,An(13,"Enter")))){n.input.lastIOSEnter=0;return}if(!p)if(r&&c instanceof P&&!c.empty&&c.$head.sameParent(c.$anchor)&&!n.composing&&!(a.sel&&a.sel.anchor!=a.sel.head))p={start:c.from,endA:c.to,endB:c.to};else{if(a.sel){let S=Ih(n,n.state.doc,a.sel);if(S&&!S.eq(n.state.selection)){let C=n.state.tr.setSelection(S);s&&C.setMeta("composition",s),n.dispatch(C)}}return}n.state.selection.from<n.state.selection.to&&p.start==p.endB&&n.state.selection instanceof P&&(p.start>n.state.selection.from&&p.start<=n.state.selection.from+2&&n.state.selection.from>=a.from?p.start=n.state.selection.from:p.endA<n.state.selection.to&&p.endA>=n.state.selection.to-2&&n.state.selection.to<=a.to&&(p.endB+=n.state.selection.to-p.endA,p.endA=n.state.selection.to)),Ve&&Kt<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>a.from&&a.doc.textBetween(p.start-a.from-1,p.start-a.from+1)==" \xA0"&&(p.start--,p.endA--,p.endB--);let m=a.doc.resolveNoCache(p.start-a.from),g=a.doc.resolveNoCache(p.endB-a.from),y=f.resolve(p.start),w=m.sameParent(g)&&m.parent.inlineContent&&y.end()>=p.endA;if((_r&&n.input.lastIOSEnter>Date.now()-225&&(!w||i.some(S=>S.nodeName=="DIV"||S.nodeName=="P"))||!w&&m.pos<a.doc.content.size&&(!m.sameParent(g)||!m.parent.inlineContent)&&m.pos<g.pos&&!/\S/.test(a.doc.textBetween(m.pos,g.pos,"","")))&&n.someProp("handleKeyDown",S=>S(n,An(13,"Enter")))){n.input.lastIOSEnter=0;return}if(n.state.selection.anchor>p.start&&sw(f,p.start,p.endA,m,g)&&n.someProp("handleKeyDown",S=>S(n,An(8,"Backspace")))){It&&pe&&n.domObserver.suppressSelectionUpdates();return}pe&&p.endB==p.start&&(n.input.lastChromeDelete=Date.now()),It&&!w&&m.start()!=g.start()&&g.parentOffset==0&&m.depth==g.depth&&a.sel&&a.sel.anchor==a.sel.head&&a.sel.head==p.endA&&(p.endB-=2,g=a.doc.resolveNoCache(p.endB-a.from),setTimeout(()=>{n.someProp("handleKeyDown",function(S){return S(n,An(13,"Enter"))})},20));let x=p.start,b=p.endA,E=S=>{let C=S||n.state.tr.replace(x,b,a.doc.slice(p.start-a.from,p.endB-a.from));if(a.sel){let M=Ih(n,C.doc,a.sel);M&&!(pe&&n.composing&&M.empty&&(p.start!=p.endB||n.input.lastChromeDelete<Date.now()-100)&&(M.head==x||M.head==C.mapping.map(b)-1)||Ve&&M.empty&&M.head==x)&&C.setSelection(M)}return s&&C.setMeta("composition",s),C.scrollIntoView()},R;if(w)if(m.pos==g.pos){Ve&&Kt<=11&&m.parentOffset==0&&(n.domObserver.suppressSelectionUpdates(),setTimeout(()=>Rt(n),20));let S=E(n.state.tr.delete(x,b)),C=f.resolve(p.start).marksAcross(f.resolve(p.endA));C&&S.ensureMarks(C),n.dispatch(S)}else if(p.endA==p.endB&&(R=iw(m.parent.content.cut(m.parentOffset,g.parentOffset),y.parent.content.cut(y.parentOffset,p.endA-y.start())))){let S=E(n.state.tr);R.type=="add"?S.addMark(x,b,R.mark):S.removeMark(x,b,R.mark),n.dispatch(S)}else if(m.parent.child(m.index()).isText&&m.index()==g.index()-(g.textOffset?0:1)){let S=m.parent.textBetween(m.parentOffset,g.parentOffset),C=()=>E(n.state.tr.insertText(S,x,b));n.someProp("handleTextInput",M=>M(n,x,b,S,C))||n.dispatch(C())}else n.dispatch(E());else n.dispatch(E())}function Ih(n,e,t){return Math.max(t.anchor,t.head)>e.content.size?null:Sa(n,e.resolve(t.anchor),e.resolve(t.head))}function iw(n,e){let t=n.firstChild.marks,r=e.firstChild.marks,i=t,s=r,o,l,c;for(let f=0;f<r.length;f++)i=r[f].removeFromSet(i);for(let f=0;f<t.length;f++)s=t[f].removeFromSet(s);if(i.length==1&&s.length==0)l=i[0],o="add",c=f=>f.mark(l.addToSet(f.marks));else if(i.length==0&&s.length==1)l=s[0],o="remove",c=f=>f.mark(l.removeFromSet(f.marks));else return null;let a=[];for(let f=0;f<e.childCount;f++)a.push(c(e.child(f)));if(T.from(a).eq(n))return{mark:l,type:o}}function sw(n,e,t,r,i){if(t-e<=i.pos-r.pos||Qc(r,!0,!1)<i.pos)return!1;let s=n.resolve(e);if(!r.parent.isTextblock){let l=s.nodeAfter;return l!=null&&t==e+l.nodeSize}if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return!1;let o=n.resolve(Qc(s,!0,!0));return!o.parent.isTextblock||o.pos>t||Qc(o,!0,!1)<t?!1:r.parent.content.cut(r.parentOffset).eq(o.parent.content)}function Qc(n,e,t){let r=n.depth,i=e?n.end():n.pos;for(;r>0&&(e||n.indexAfter(r)==n.node(r).childCount);)r--,i++,e=!1;if(t){let s=n.node(r).maybeChild(n.indexAfter(r));for(;s&&!s.isLeaf;)s=s.firstChild,i++}return i}function ow(n,e,t,r,i){let s=n.findDiffStart(e,t),o=t+n.size,l=t+e.size;if(s==null)return null;let{a:c,b:a}=n.findDiffEnd(e,o,l);if(i=="end"){let f=Math.max(0,s-Math.min(c,a));r-=c+f-s}if(c<s&&o<l){let f=r<=s&&r>=c?s-r:0;s-=f,a=s+(a-c),c=s}else if(a<s){let f=r<=s&&r>=a?s-r:0;s-=f,c=s+(c-a),a=s}return{start:s,endA:c,endB:a}}var Li=class{constructor(e,t){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new ha,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(Uh),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=vh(this),Rh(this),this.nodeViews=Bh(this),this.docView=ph(this.state.doc,_h(this),Zc(this),this.dom,this),this.domObserver=new ba(this,(r,i,s,o)=>rw(this,r,i,s,o)),this.domObserver.start(),O0(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&pa(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(Uh),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let r in this._props)t[r]=this._props[r];t.state=this.state;for(let r in e)t[r]=e[r];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){var r;let i=this.state,s=!1,o=!1;e.storedMarks&&this.composing&&(ap(this),o=!0),this.state=e;let l=i.plugins!=e.plugins||this._props.plugins!=t.plugins;if(l||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let h=Bh(this);cw(h,this.nodeViews)&&(this.nodeViews=h,s=!0)}(l||t.handleDOMEvents!=this._props.handleDOMEvents)&&pa(this),this.editable=vh(this),Rh(this);let c=Zc(this),a=_h(this),f=i.plugins!=e.plugins&&!i.doc.eq(e.doc)?"reset":e.scrollToSelection>i.scrollToSelection?"to selection":"preserve",d=s||!this.docView.matchesNode(e.doc,a,c);(d||!e.selection.eq(i.selection))&&(o=!0);let u=f=="preserve"&&o&&this.dom.style.overflowAnchor==null&&Yb(this);if(o){this.domObserver.stop();let h=d&&(Ve||pe)&&!this.composing&&!i.selection.empty&&!e.selection.empty&&lw(i.selection,e.selection);if(d){let m=pe?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=P0(this)),(s||!this.docView.update(e.doc,a,c,this))&&(this.docView.updateOuterDeco(a),this.docView.destroy(),this.docView=ph(e.doc,a,c,this.dom,this)),m&&(!this.trackWrites||!this.dom.contains(this.trackWrites))&&(h=!0)}let p=this.input.mouseDown;h||!(p&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&u0(this)&&p.delaySelUpdate())?Rt(this,h):(Xh(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(i),!((r=this.dragging)===null||r===void 0)&&r.node&&!i.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,i),f=="reset"?this.dom.scrollTop=0:f=="to selection"?this.scrollToSelection():u&&jb(u)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",t=>t(this)))if(this.state.selection instanceof D){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&ah(this,t.getBoundingClientRect(),e)}else ah(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let t=0;t<this.directPlugins.length;t++){let r=this.directPlugins[t];r.spec.view&&this.pluginViews.push(r.spec.view(this))}for(let t=0;t<this.state.plugins.length;t++){let r=this.state.plugins[t];r.spec.view&&this.pluginViews.push(r.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let r=this.pluginViews[t];r.update&&r.update(this,e)}}updateDraggedNode(e,t){let r=e.node,i=-1;if(r.from<this.state.doc.content.size&&this.state.doc.nodeAt(r.from)==r.node)i=r.from;else{let s=r.from+(this.state.doc.content.size-t.doc.content.size);(s>0&&s<this.state.doc.content.size&&this.state.doc.nodeAt(s))==r.node&&(i=s)}this.dragging=new vo(e.slice,e.move,i<0?void 0:D.create(this.state.doc,i))}someProp(e,t){let r=this._props&&this._props[e],i;if(r!=null&&(i=t?t(r):r))return i;for(let o=0;o<this.directPlugins.length;o++){let l=this.directPlugins[o].props[e];if(l!=null&&(i=t?t(l):l))return i}let s=this.state.plugins;if(s)for(let o=0;o<s.length;o++){let l=s[o].props[e];if(l!=null&&(i=t?t(l):l))return i}}hasFocus(){if(Ve){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable=="false")return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&Wb(this.dom),Rt(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let t=this.dom.parentNode;t;t=t.parentNode)if(t.nodeType==9||t.nodeType==11&&t.host)return t.getSelection||(Object.getPrototypeOf(t).getSelection=()=>t.ownerDocument.getSelection()),this._root=t}return e||document}updateRoot(){this._root=null}posAtCoords(e){return Zb(this,e)}coordsAtPos(e,t=1){return Jh(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,r=-1){let i=this.docView.posFromDOM(e,t,r);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(e,t){return r0(this,t||this.state,e)}pasteHTML(e,t){return Ui(this,"",e,!1,t||new ClipboardEvent("paste"))}pasteText(e,t){return Ui(this,e,null,!0,t||new ClipboardEvent("paste"))}serializeForClipboard(e){return Ca(this,e)}destroy(){this.docView&&(M0(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],Zc(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,Bb())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return D0(this,e)}domSelectionRange(){let e=this.domSelection();return e?be&&this.root.nodeType===11&&Pb(this.dom.ownerDocument)==this.dom&&G0(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};Li.prototype.dispatch=function(n){let e=this._props.dispatchTransaction;e?e.call(this,n):this.updateState(this.state.apply(n))};function _h(n){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(n.editable),n.someProp("attributes",t=>{if(typeof t=="function"&&(t=t(n.state)),t)for(let r in t)r=="class"?e.class+=" "+t[r]:r=="style"?e.style=(e.style?e.style+";":"")+t[r]:!e[r]&&r!="contenteditable"&&r!="nodeName"&&(e[r]=String(t[r]))}),e.translate||(e.translate="no"),[Gt.node(0,n.state.doc.content.size,e)]}function Rh(n){if(n.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),n.cursorWrapper={dom:e,deco:Gt.widget(n.state.selection.from,e,{raw:!0,marks:n.markCursor})}}else n.cursorWrapper=null}function vh(n){return!n.someProp("editable",e=>e(n.state)===!1)}function lw(n,e){let t=Math.min(n.$anchor.sharedDepth(n.head),e.$anchor.sharedDepth(e.head));return n.$anchor.start(t)!=e.$anchor.start(t)}function Bh(n){let e=Object.create(null);function t(r){for(let i in r)Object.prototype.hasOwnProperty.call(e,i)||(e[i]=r[i])}return n.someProp("nodeViews",t),n.someProp("markViews",t),e}function cw(n,e){let t=0,r=0;for(let i in n){if(n[i]!=e[i])return!0;t++}for(let i in e)r++;return t!=r}function Uh(n){if(n.spec.state||n.spec.filterTransaction||n.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var mp=()=>{let n=!0;return(e,t)=>{if(n){n=!1;try{e()}finally{n=!0}}else t!==void 0&&t()}};var aw=/[\uD800-\uDBFF]/,fw=/[\uDC00-\uDFFF]/,dw=(n,e)=>{let t=0,r=0;for(;t<n.length&&t<e.length&&n[t]===e[t];)t++;for(t>0&&aw.test(n[t-1])&&t--;r+t<n.length&&r+t<e.length&&n[n.length-r-1]===e[e.length-r-1];)r++;return r>0&&fw.test(n[n.length-r])&&r--,{index:t,remove:n.length-t-r,insert:e.slice(t,e.length-r)}},gp=dw;var le=new Or("y-sync"),yp=new Or("y-undo"),oC=new Or("yjs-cursor");var yt=(n,e)=>n>>>e|n<<32-e,uw=n=>yt(n,2)^yt(n,13)^yt(n,22),hw=n=>yt(n,6)^yt(n,11)^yt(n,25),pw=n=>yt(n,7)^yt(n,18)^n>>>3,mw=n=>yt(n,17)^yt(n,19)^n>>>10,gw=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),yw=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ma=class{constructor(){let e=new ArrayBuffer(320);this._H=new Uint32Array(e,0,8),this._H.set(yw),this._W=new Uint32Array(e,64,64)}_updateHash(){let e=this._H,t=this._W;for(let d=16;d<64;d++)t[d]=mw(t[d-2])+t[d-7]+pw(t[d-15])+t[d-16];let r=e[0],i=e[1],s=e[2],o=e[3],l=e[4],c=e[5],a=e[6],f=e[7];for(let d=0,u,h;d<64;d++)u=f+hw(l)+(l&c^~l&a)+gw[d]+t[d]>>>0,h=uw(r)+(r&i^r&s^i&s)>>>0,f=a,a=c,c=l,l=o+u>>>0,o=s,s=i,i=r,r=u+h>>>0;e[0]+=r,e[1]+=i,e[2]+=s,e[3]+=o,e[4]+=l,e[5]+=c,e[6]+=a,e[7]+=f}digest(e){let t=0;for(;t+56<=e.length;){let o=0;for(;o<16&&t+3<e.length;o++)this._W[o]=e[t++]<<24|e[t++]<<16|e[t++]<<8|e[t++];if(t%64!==0){for(this._W.fill(0,o,16);t<e.length;)this._W[o]|=e[t]<<(3-t%4)*8,t++;this._W[o]|=128<<(3-t%4)*8}this._updateHash()}let r=t%64!==0;this._W.fill(0,0,16);let i=0;for(;t<e.length;i++)for(let o=3;o>=0&&t<e.length;o--)this._W[i]|=e[t++]<<o*8;r||(this._W[i-(t%4===0?0:1)]|=128<<(3-t%4)*8),this._W[14]=e.byteLength/536870912,this._W[15]=e.byteLength*8,this._updateHash();let s=new Uint8Array(32);for(let o=0;o<this._H.length;o++)for(let l=0;l<4;l++)s[o*4+l]=this._H[o]>>>(3-l)*8;return s}},xp=n=>new Ma().digest(n);var bw=n=>{for(let t=6;t<n.length;t++)n[t%6]=n[t%6]^n[t];return n.slice(0,6)},bp=n=>Xf(bw(xp(Zf(n))));var qi=(n,e)=>e===void 0?!n.deleted:e.sv.has(n.id.client)&&e.sv.get(n.id.client)>n.id.clock&&!bn(e.ds,n.id),kw=[{light:"#ecd44433",dark:"#ecd444"}],Sw=(n,e,t)=>{if(!n.has(t)){if(n.size<e.length){let r=nt();n.forEach(i=>r.add(i)),e=e.filter(i=>!r.has(i))}n.set(t,Uf(e))}return n.get(t)},Ra=(n,{colors:e=kw,colorMapping:t=new Map,permanentUserData:r=null,onFirstRender:i=()=>{},mapping:s}={})=>{let o=!1,l=new zo(n,s),c=new Ar({props:{editable:a=>{let f=le.getState(a);return f.snapshot==null&&f.prevSnapshot==null}},key:le,state:{init:(a,f)=>({type:n,doc:n.doc,binding:l,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:e,colorMapping:t,permanentUserData:r}),apply:(a,f)=>{let d=a.getMeta(le);if(d!==void 0){f=Object.assign({},f);for(let u in d)f[u]=d[u]}return f.addToHistory=a.getMeta("addToHistory")!==!1,f.isChangeOrigin=d!==void 0&&!!d.isChangeOrigin,f.isUndoRedoOperation=d!==void 0&&!!d.isChangeOrigin&&!!d.isUndoRedoOperation,l.prosemirrorView!==null&&d!==void 0&&(d.snapshot!=null||d.prevSnapshot!=null)&&Jl(0,()=>{l.prosemirrorView!=null&&(d.restore==null?l._renderSnapshot(d.snapshot,d.prevSnapshot,f):(l._renderSnapshot(d.snapshot,d.snapshot,f),delete f.restore,delete f.snapshot,delete f.prevSnapshot,l.mux(()=>{l._prosemirrorChanged(l.prosemirrorView.state.doc)})))}),f}},view:a=>(l.initView(a),s==null&&l._forceRerender(),i(),{update:()=>{let f=c.getState(a.state);if(f.snapshot==null&&f.prevSnapshot==null&&(o||a.state.doc.content.findDiffStart(a.state.doc.type.createAndFill().content)!==null)){if(o=!0,f.addToHistory===!1&&!f.isChangeOrigin){let d=yp.getState(a.state),u=d&&d.undoManager;u&&u.stopCapturing()}l.mux(()=>{f.doc.transact(d=>{d.meta.set("addToHistory",f.addToHistory),l._prosemirrorChanged(a.state.doc)},le)})}},destroy:()=>{l.destroy()}})});return c},Cw=(n,e,t)=>{if(e!==null&&e.anchor!==null&&e.head!==null)if(e.type==="all")n.setSelection(new Ae(n.doc));else if(e.type==="node"){let r=Po(t.doc,t.type,e.anchor,t.mapping);n.setSelection(D.create(n.doc,r))}else{let r=Po(t.doc,t.type,e.anchor,t.mapping),i=Po(t.doc,t.type,e.head,t.mapping);if(r!==null&&i!==null){let s=P.between(n.doc.resolve(r),n.doc.resolve(i));n.setSelection(s)}}},Na=(n,e)=>({type:e.selection.jsonID,anchor:_a(e.selection.anchor,n.type,n.mapping),head:_a(e.selection.head,n.type,n.mapping)}),zo=class{constructor(e,t=new Map){this.type=e,this.prosemirrorView=null,this.mux=mp(),this.mapping=t,this.isOMark=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=e.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{this.beforeTransactionSelection===null&&this.prosemirrorView!=null&&(this.beforeTransactionSelection=Na(this,this.prosemirrorView.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return this.prosemirrorView.hasFocus()?(ei&&this._domSelectionInView===null&&(Jl(0,()=>{this._domSelectionInView=null}),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView):!1}_isDomSelectionInView(){let e=this.prosemirrorView._root.getSelection();if(e==null||e.anchorNode==null)return!1;let t=this.prosemirrorView._root.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset),t.getClientRects().length===0&&t.startContainer&&t.collapsed&&t.selectNodeContents(t.startContainer);let i=t.getBoundingClientRect(),s=Et.documentElement;return i.bottom>=0&&i.right>=0&&i.left<=(window.innerWidth||s.clientWidth||0)&&i.top<=(window.innerHeight||s.clientHeight||0)}renderSnapshot(e,t){t||(t=ro(to(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(le,{snapshot:e,prevSnapshot:t}))}unrenderSnapshot(){this.mapping.clear(),this.mux(()=>{let e=this.type.toArray().map(r=>Fo(r,this.prosemirrorView.state.schema,this)).filter(r=>r!==null),t=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new A(T.from(e),0,0));t.setMeta(le,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(t)})}_forceRerender(){this.mapping.clear(),this.mux(()=>{let e=this.beforeTransactionSelection!==null?null:this.prosemirrorView.state.selection,t=this.type.toArray().map(i=>Fo(i,this.prosemirrorView.state.schema,this)).filter(i=>i!==null),r=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new A(T.from(t),0,0));if(e){let i=Tt(rt(e.anchor,0),r.doc.content.size),s=Tt(rt(e.head,0),r.doc.content.size);r.setSelection(P.create(r.doc,i,s))}this.prosemirrorView.dispatch(r.setMeta(le,{isChangeOrigin:!0,binding:this}))})}_renderSnapshot(e,t,r){let i=this.doc,s=this.type;if(e||(e=io(this.doc)),e instanceof Uint8Array||t instanceof Uint8Array)if((!(e instanceof Uint8Array)||!(t instanceof Uint8Array))&&ne(),i=new it({gc:!1}),xi(i,t),t=io(i),xi(i,e),e=io(i),s._item===null){let o=Array.from(this.doc.share.keys()).find(l=>this.doc.share.get(l)===this.type);s=i.getXmlFragment(o)}else{let o=i.store.clients.get(s._item.id.client)??[],l=je(o,s._item.id.clock);s=o[l].content.type}this.mapping.clear(),this.mux(()=>{i.transact(o=>{let l=r.permanentUserData;l&&l.dss.forEach(d=>{At(o,d,u=>{})});let c=(d,u)=>{let h=d==="added"?l.getUserByClientId(u.client):l.getUserByDeletedId(u);return{user:h,type:d,color:Sw(r.colorMapping,r.colors,h)}},a=Ec(s,new mr(t.ds,e.sv)).map(d=>!d._item.deleted||qi(d._item,e)||qi(d._item,t)?Fo(d,this.prosemirrorView.state.schema,{mapping:new Map,isOMark:new Map},e,t,c):null).filter(d=>d!==null),f=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new A(T.from(a),0,0));this.prosemirrorView.dispatch(f.setMeta(le,{isChangeOrigin:!0}))},le)})}_typeChanged(e,t){if(this.prosemirrorView==null)return;let r=le.getState(this.prosemirrorView.state);if(e.length===0||r.snapshot!=null||r.prevSnapshot!=null){this.renderSnapshot(r.snapshot,r.prevSnapshot);return}this.mux(()=>{let i=(l,c)=>this.mapping.delete(c);At(t,t.deleteSet,l=>{if(l.constructor===z){let c=l.content.type;c&&this.mapping.delete(c)}}),t.changed.forEach(i),t.changedParentTypes.forEach(i);let s=this.type.toArray().map(l=>Sp(l,this.prosemirrorView.state.schema,this)).filter(l=>l!==null),o=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new A(T.from(s),0,0));Cw(o,this.beforeTransactionSelection,this),o=o.setMeta(le,{isChangeOrigin:!0,isUndoRedoOperation:t.origin instanceof gr}),this.beforeTransactionSelection!==null&&this._isLocalCursorInView()&&o.scrollIntoView(),this.prosemirrorView.dispatch(o)})}_prosemirrorChanged(e){this.doc.transact(()=>{qo(this.doc,this.type,e,this),this.beforeTransactionSelection=Na(this,this.prosemirrorView.state)},le)}initView(e){this.prosemirrorView!=null&&this.destroy(),this.prosemirrorView=e,this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),this.type.observeDeep(this._observeFunction)}destroy(){this.prosemirrorView!=null&&(this.prosemirrorView=null,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions))}},Sp=(n,e,t,r,i,s)=>{let o=t.mapping.get(n);if(o===void 0){if(n instanceof J)return Fo(n,e,t,r,i,s);throw Ee()}return o},Fo=(n,e,t,r,i,s)=>{let o=[],l=c=>{if(c instanceof J){let a=Sp(c,e,t,r,i,s);a!==null&&o.push(a)}else{let a=c._item.right?.content?.type;a instanceof Ot&&!a._item.deleted&&a._item.id.client===a.doc.clientID&&(c.applyDelta([{retain:c.length},...a.toDelta()]),a.doc.transact(d=>{a._item.delete(d)}));let f=Tw(c,e,t,r,i,s);f!==null&&f.forEach(d=>{d!==null&&o.push(d)})}};r===void 0||i===void 0?n.toArray().forEach(l):Ec(n,new mr(i.ds,r.sv)).forEach(l);try{let c=n.getAttributes(r);r!==void 0&&(qi(n._item,r)?qi(n._item,i)||(c.ychange=s?s("added",n._item.id):{type:"added"}):c.ychange=s?s("removed",n._item.id):{type:"removed"});let a=e.node(n.nodeName,c,o);return t.mapping.set(n,a),a}catch{return n.doc.transact(a=>{n._item.delete(a)},le),t.mapping.delete(n),null}},Tw=(n,e,t,r,i,s)=>{let o=[],l=n.toDelta(r,i,s);try{for(let c=0;c<l.length;c++){let a=l[c];o.push(e.text(a.insert,Dw(a.attributes,e)))}}catch{return n.doc.transact(a=>{n._item.delete(a)},le),null}return o},Ew=(n,e)=>{let t=new K,r=n.map(i=>({insert:i.text,attributes:Ep(i.marks,e)}));return t.applyDelta(r),e.mapping.set(t,n),t},Aw=(n,e)=>{let t=new J(n.type.name);for(let r in n.attrs){let i=n.attrs[r];i!==null&&r!=="ychange"&&t.setAttribute(r,i)}return t.insert(0,Jo(n).map(r=>Da(r,e))),e.mapping.set(t,n),t},Da=(n,e)=>n instanceof Array?Ew(n,e):Aw(n,e),wp=n=>typeof n=="object"&&n!==null,va=(n,e)=>{let t=Object.keys(n).filter(i=>n[i]!==null),r=t.length===(e==null?0:Object.keys(e).filter(i=>e[i]!==null).length);for(let i=0;i<t.length&&r;i++){let s=t[i],o=n[s],l=e[s];r=s==="ychange"||o===l||wp(o)&&wp(l)&&va(o,l)}return r},Jo=n=>{let e=n.content.content,t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isText){let s=[];for(let o=e[r];r<e.length&&o.isText;o=e[++r])s.push(o);r--,t.push(s)}else t.push(i)}return t},Cp=(n,e)=>{let t=n.toDelta();return t.length===e.length&&t.every((r,i)=>r.insert===e[i].text&&Ml(r.attributes||{}).length===e[i].marks.length&&$t(r.attributes,(s,o)=>{let l=Tp(o),c=e[i].marks;return va(s,c.find(a=>a.type.name===l)?.attrs)}))},Ji=(n,e)=>{if(n instanceof J&&!(e instanceof Array)&&Ia(n,e)){let t=Jo(e);return n._length===t.length&&va(n.getAttributes(),e.attrs)&&n.toArray().every((r,i)=>Ji(r,t[i]))}return n instanceof K&&e instanceof Array&&Cp(n,e)},$o=(n,e)=>n===e||n instanceof Array&&e instanceof Array&&n.length===e.length&&n.every((t,r)=>e[r]===t),kp=(n,e,t)=>{let r=n.toArray(),i=Jo(e),s=i.length,o=r.length,l=Tt(o,s),c=0,a=0,f=!1;for(;c<l;c++){let d=r[c],u=i[c];if($o(t.mapping.get(d),u))f=!0;else if(!Ji(d,u))break}for(;c+a<l;a++){let d=r[o-a-1],u=i[s-a-1];if($o(t.mapping.get(d),u))f=!0;else if(!Ji(d,u))break}return{equalityFactor:c+a,foundMappedChild:f}},Ow=n=>{let e="",t=n._start,r={};for(;t!==null;)t.deleted||(t.countable&&t.content instanceof st?e+=t.content.str:t.content instanceof Z&&(r[t.content.key]=null)),t=t.right;return{str:e,nAttrs:r}},Mw=(n,e,t)=>{t.mapping.set(n,e);let{nAttrs:r,str:i}=Ow(n),s=e.map(a=>({insert:a.text,attributes:Object.assign({},r,Ep(a.marks,t))})),{insert:o,remove:l,index:c}=gp(i,s.map(a=>a.insert).join(""));n.delete(c,l),n.insert(c,o),n.applyDelta(s.map(a=>({retain:a.insert.length,attributes:a.attributes})))},Nw=/(.*)(--[a-zA-Z0-9+/=]{8})$/,Tp=n=>Nw.exec(n)?.[1]??n,Dw=(n,e)=>{let t=[];for(let r in n)t.push(e.mark(Tp(r),n[r]));return t},Ep=(n,e)=>{let t={};return n.forEach(r=>{if(r.type.name!=="ychange"){let i=Je(e.isOMark,r.type,()=>!r.type.excludes(r.type));t[i?`${r.type.name}--${bp(r.toJSON())}`:r.type.name]=r.attrs}}),t},qo=(n,e,t,r)=>{if(e instanceof J&&e.nodeName!==t.type.name)throw new Error("node name mismatch!");if(r.mapping.set(e,t),e instanceof J){let d=e.getAttributes(),u=t.attrs;for(let h in u)u[h]!==null?d[h]!==u[h]&&h!=="ychange"&&e.setAttribute(h,u[h]):e.removeAttribute(h);for(let h in d)u[h]===void 0&&e.removeAttribute(h)}let i=Jo(t),s=i.length,o=e.toArray(),l=o.length,c=Tt(s,l),a=0,f=0;for(;a<c;a++){let d=o[a],u=i[a];if(!$o(r.mapping.get(d),u))if(Ji(d,u))r.mapping.set(d,u);else break}for(;f+a<c;f++){let d=o[l-f-1],u=i[s-f-1];if(!$o(r.mapping.get(d),u))if(Ji(d,u))r.mapping.set(d,u);else break}n.transact(()=>{for(;l-a-f>0&&s-a-f>0;){let u=o[a],h=i[a],p=o[l-f-1],m=i[s-f-1];if(u instanceof K&&h instanceof Array)Cp(u,h)||Mw(u,h,r),a+=1;else{let g=u instanceof J&&Ia(u,h),y=p instanceof J&&Ia(p,m);if(g&&y){let w=kp(u,h,r),x=kp(p,m,r);w.foundMappedChild&&!x.foundMappedChild?y=!1:!w.foundMappedChild&&x.foundMappedChild||w.equalityFactor<x.equalityFactor?g=!1:y=!1}g?(qo(n,u,h,r),a+=1):y?(qo(n,p,m,r),f+=1):(r.mapping.delete(e.get(a)),e.delete(a,1),e.insert(a,[Da(h,r)]),a+=1)}}let d=l-a-f;if(l===1&&s===0&&o[0]instanceof K?(r.mapping.delete(o[0]),o[0].delete(0,o[0].length)):d>0&&(e.slice(a,a+d).forEach(u=>r.mapping.delete(u)),e.delete(a,d)),a+f<s){let u=[];for(let h=a;h<s-f;h++)u.push(Da(i[h],r));e.insert(a,u)}},le)},Ia=(n,e)=>!(e instanceof Array)&&n.nodeName===e.type.name;var _a=(n,e,t)=>{if(n===0)return no(e,0,e.length===0?-1:0);let r=e._first===null?null:e._first.content.type;for(;r!==null&&e!==r;){if(r instanceof K){if(r._length>=n)return no(r,n,e.length===0?-1:0);if(n-=r._length,r._item!==null&&r._item.next!==null)r=r._item.next.content.type;else{do r=r._item===null?null:r._item.parent,n--;while(r!==e&&r!==null&&r._item!==null&&r._item.next===null);r!==null&&r!==e&&(r=r._item===null?null:r._item.next.content.type)}}else{let i=(t.get(r)||{nodeSize:0}).nodeSize;if(r._first!==null&&n<i)r=r._first.content.type,n--;else{if(n===1&&r._length===0&&i>1)return new yn(r._item===null?null:r._item.id,r._item===null?br(r):null,null);if(n-=i,r._item!==null&&r._item.next!==null)r=r._item.next.content.type;else{if(n===0)return r=r._item===null?r:r._item.parent,new yn(r._item===null?null:r._item.id,r._item===null?br(r):null,null);do r=r._item.parent,n--;while(r!==e&&r._item.next===null);r!==e&&(r=r._item.next.content.type)}}}if(r===null)throw ne();if(n===0&&r.constructor!==K&&r!==e)return Iw(r._item.parent,r._item)}return no(e,e._length,e.length===0?-1:0)},Iw=(n,e)=>{let t=null,r=null;return n._item===null?r=br(n):t=_(n._item.id.client,n._item.id.clock),new yn(t,r,e.id)},Po=(n,e,t,r)=>{let i=Fd(t,n);if(i===null||i.type!==e&&!pr(e,i.type._item))return null;let s=i.type,o=0;if(s.constructor===K)o=i.index;else if(s._item===null||!s._item.deleted){let l=s._first,c=0;for(;c<s._length&&c<i.index&&l!==null;){if(!l.deleted){let a=l.content.type;c++,a instanceof K?o+=a._length:o+=r.get(a).nodeSize}l=l.right}o+=1}for(;s!==e&&s._item!==null;){let l=s._item.parent;if(l._item===null||!l._item.deleted){o+=1;let c=l._first;for(;c!==null;){let a=c.content.type;if(a===s)break;c.deleted||(a instanceof K?o+=a._length:o+=r.get(a).nodeSize),c=c.right}}s=l}return o-1};function Ap(n){let e=[],t=0;for(;t<n.length;){if(n.length-t<4)throw new Error(`frame: ${n.length-t} trailing bytes with no length prefix`);let r=(n[t]<<24>>>0)+(n[t+1]<<16)+(n[t+2]<<8)+n[t+3];if(t+=4,n.length-t<r)throw new Error(`frame: a frame claims ${r} bytes and ${n.length-t} remain`);e.push(n.subarray(t,t+r)),t+=r}return e}function Op({post:n,mergeUpdates:e,onStatus:t,debounceMs:r=2e3,setTimeoutFn:i=setTimeout}){let s=[],o=null,l=null,c="ok";function a(p){c==="failed"&&p!=="failed"||(c=p,t&&t(c))}function f(){l||(l=i(d,r))}async function d(){if(l=null,!s.length)return;let p=e(s);s=[],o=p;let m;try{m=await n(p)}catch{o=null,s.unshift(p),a("retrying"),f();return}if(o=null,m.ok){a("ok");return}if(m.status>=400&&m.status<500){a("failed");return}s.unshift(p),a("retrying"),f()}function u(p){s.push(p),!l&&(l=i(d,r))}function h(){let p=[];return o&&p.push(o),s.length&&p.push(e(s)),p.length?p.length===1?p[0]:e(p):null}return{enqueue:u,flush:d,pendingBytes:h,get status(){return c}}}function Mp(n){return n==="ok"?"saved":n==="failed"?"failed":"retrying"}function _w({queueState:n="saved",sessionFailed:e=!1}={}){return e?"failed":n}function Rw({setSave:n,errorEl:e,errorText:t}){let r="saved",i=!1;function s(o){o&&(r=o),n(_w({queueState:r,sessionFailed:i}))}return{save:s,drop(){i=!0,s()},loadFailed(o){e&&(e.textContent=o&&t||"")}}}async function Np(n,e=t=>import(t)){let t=n.querySelector("[slides-load-error]"),r=n.dataset.textError;try{let{mount:i}=await e(n.dataset.saveStatusModule);return Rw({setSave:i(n.querySelector("[estilo-save-status]")),errorEl:t,errorText:r})}catch(i){throw t&&(t.textContent=r||""),i}}function Ba(n,{since:e,raw:t}={}){let r=[];return e!==void 0&&r.push(`since=${e}`),t&&r.push("raw=1"),r.length?`${n}?${r.join("&")}`:n}function Dp({initialSeq:n=0,openStream:e,fetchSince:t,onUpdates:r,onError:i=()=>{},setTimeoutFn:s=setTimeout,clearTimeoutFn:o=clearTimeout,idleMs:l=12e4,hiddenMs:c=3e4}){let a=n,f=null,d=null,u=!1,h=!1,p=!1;function m(b){d!==null&&o(d),d=s(()=>{d=null,y()},b)}function g(){m(l)}function y(){d!==null&&(o(d),d=null),f&&(f.close(),f=null)}function w(){u||f||(f=e(b=>{g(),b>a&&x()},b=>{y(),i(b)}),g())}async function x(){if(h){p=!0;return}h=!0;try{let b=a,E=await t(b);if(u)return;try{E&&E.bytes&&E.bytes.length&&r(E.bytes)}catch{if(E=await t(b,{raw:!0}),u)return;E&&E.bytes&&E.bytes.length&&r(E.bytes)}E&&typeof E.seq=="number"&&E.seq>a&&(a=E.seq)}catch(b){i(b)}finally{h=!1,p&&!u&&(p=!1,x())}}return{start(){u=!1,w()},stop(){u=!0,y()},noteOwnSeq(b){typeof b!="number"||!Number.isFinite(b)||b===a+1&&(a=b)},noteActivity(){u||(f?g():w())},noteHidden(){u||!f||m(c)},get cursor(){return a},get streaming(){return f!==null}}}function Ip({attemptResync:n,onDiverged:e,onRecovered:t,backoffMs:r=l=>Math.min(1e3*2**(l-1),3e4),setTimeoutFn:i=setTimeout,clearTimeoutFn:s=clearTimeout,addOnlineListener:o=l=>addEventListener("online",l)}){let l=!1,c=!1,a=0,f=null;function d(){a++,f&&s(f),f=i(u,r(a))}async function u(){if(f&&(s(f),f=null),!(!l||c)){c=!0;try{await n(),l=!1,a=0,t&&t()}catch{d()}finally{c=!1}}}function h(){l||(l=!0,a=0,e&&e()),u()}return o(()=>{l&&u()}),{reportDivergence:h,get diverged(){return l},get resyncing(){return c}}}var vt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},jo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},vw=typeof navigator<"u"&&/Mac/.test(navigator.platform),Bw=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(te=0;te<10;te++)vt[48+te]=vt[96+te]=String(te);var te;for(te=1;te<=24;te++)vt[te+111]="F"+te;var te;for(te=65;te<=90;te++)vt[te]=String.fromCharCode(te+32),jo[te]=String.fromCharCode(te);var te;for(Yo in vt)jo.hasOwnProperty(Yo)||(jo[Yo]=vt[Yo]);var Yo;function _p(n){var e=vw&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||Bw&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?jo:vt)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Uw=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),Vw=typeof navigator<"u"&&/Win/.test(navigator.platform);function Lw(n){let e=n.split(/-(?!$)/),t=e[e.length-1];t=="Space"&&(t=" ");let r,i,s,o;for(let l=0;l<e.length-1;l++){let c=e[l];if(/^(cmd|meta|m)$/i.test(c))o=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))i=!0;else if(/^s(hift)?$/i.test(c))s=!0;else if(/^mod$/i.test(c))Uw?o=!0:i=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(t="Alt-"+t),i&&(t="Ctrl-"+t),o&&(t="Meta-"+t),s&&(t="Shift-"+t),t}function Fw(n){let e=Object.create(null);for(let t in n)e[Lw(t)]=n[t];return e}function Ua(n,e,t=!0){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t&&e.shiftKey&&(n="Shift-"+n),n}function Va(n){return new Ar({props:{handleKeyDown:Pw(n)}})}function Pw(n){let e=Fw(n);return function(t,r){let i=_p(r),s,o=e[Ua(i,r)];if(o&&o(t.state,t.dispatch,t))return!0;if(i.length==1&&i!=" "){if(r.shiftKey){let l=e[Ua(i,r,!1)];if(l&&l(t.state,t.dispatch,t))return!0}if((r.altKey||r.metaKey||r.ctrlKey)&&!(Vw&&r.ctrlKey&&r.altKey)&&(s=vt[r.keyCode])&&s!=i){let l=e[Ua(s,r)];if(l&&l(t.state,t.dispatch,t))return!0}}return!1}}var vp=(n,e)=>n.selection.empty?!1:(e&&e(n.tr.deleteSelection().scrollIntoView()),!0);function zw(n,e){let{$cursor:t}=n.selection;return!t||(e?!e.endOfTextblock("backward",n):t.parentOffset>0)?null:t}var $w=(n,e,t)=>{let r=zw(n,t);if(!r)return!1;let i=Bp(r);if(!i){let o=r.blockRange(),l=o&&So(o);return l==null?!1:(e&&e(n.tr.lift(o,l).scrollIntoView()),!0)}let s=i.nodeBefore;if(Vp(n,i,e,-1))return!0;if(r.parent.content.size==0&&(Rr(s,"end")||D.isSelectable(s)))for(let o=r.depth;;o--){let l=Co(n.doc,r.before(o),r.after(o),A.empty);if(l&&l.slice.size<l.to-l.from){if(e){let c=n.tr.step(l);c.setSelection(Rr(s,"end")?L.findFrom(c.doc.resolve(c.mapping.map(i.pos,-1)),-1):D.create(c.doc,i.pos-s.nodeSize)),e(c.scrollIntoView())}return!0}if(o==1||r.node(o-1).childCount>1)break}return s.isAtom&&i.depth==r.depth-1?(e&&e(n.tr.delete(i.pos-s.nodeSize,i.pos).scrollIntoView()),!0):!1};function Rr(n,e,t=!1){for(let r=n;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(t&&r.childCount!=1)return!1}return!1}var qw=(n,e,t)=>{let{$head:r,empty:i}=n.selection,s=r;if(!i)return!1;if(r.parent.isTextblock){if(t?!t.endOfTextblock("backward",n):r.parentOffset>0)return!1;s=Bp(r)}let o=s&&s.nodeBefore;return!o||!D.isSelectable(o)?!1:(e&&e(n.tr.setSelection(D.create(n.doc,s.pos-o.nodeSize)).scrollIntoView()),!0)};function Bp(n){if(!n.parent.type.spec.isolating)for(let e=n.depth-1;e>=0;e--){if(n.index(e)>0)return n.doc.resolve(n.before(e+1));if(n.node(e).type.spec.isolating)break}return null}function Jw(n,e){let{$cursor:t}=n.selection;return!t||(e?!e.endOfTextblock("forward",n):t.parentOffset<t.parent.content.size)?null:t}var Yw=(n,e,t)=>{let r=Jw(n,t);if(!r)return!1;let i=Up(r);if(!i)return!1;let s=i.nodeAfter;if(Vp(n,i,e,1))return!0;if(r.parent.content.size==0&&(Rr(s,"start")||D.isSelectable(s))){let o=Co(n.doc,r.before(),r.after(),A.empty);if(o&&o.slice.size<o.to-o.from){if(e){let l=n.tr.step(o);l.setSelection(Rr(s,"start")?L.findFrom(l.doc.resolve(l.mapping.map(i.pos)),1):D.create(l.doc,l.mapping.map(i.pos))),e(l.scrollIntoView())}return!0}}return s.isAtom&&i.depth==r.depth-1?(e&&e(n.tr.delete(i.pos,i.pos+s.nodeSize).scrollIntoView()),!0):!1},jw=(n,e,t)=>{let{$head:r,empty:i}=n.selection,s=r;if(!i)return!1;if(r.parent.isTextblock){if(t?!t.endOfTextblock("forward",n):r.parentOffset<r.parent.content.size)return!1;s=Up(r)}let o=s&&s.nodeAfter;return!o||!D.isSelectable(o)?!1:(e&&e(n.tr.setSelection(D.create(n.doc,s.pos)).scrollIntoView()),!0)};function Up(n){if(!n.parent.type.spec.isolating)for(let e=n.depth-1;e>=0;e--){let t=n.node(e);if(n.index(e)+1<t.childCount)return n.doc.resolve(n.after(e+1));if(t.type.spec.isolating)break}return null}var Ww=(n,e)=>{let{$head:t,$anchor:r}=n.selection;return!t.parent.type.spec.code||!t.sameParent(r)?!1:(e&&e(n.tr.insertText(` |
| `).scrollIntoView()),!0)};function Fa(n){for(let e=0;e<n.edgeCount;e++){let{type:t}=n.edge(e);if(t.isTextblock&&!t.hasRequiredAttrs())return t}return null}var Hw=(n,e)=>{let{$head:t,$anchor:r}=n.selection;if(!t.parent.type.spec.code||!t.sameParent(r))return!1;let i=t.node(-1),s=t.indexAfter(-1),o=Fa(i.contentMatchAt(s));if(!o||!i.canReplaceWith(s,s,o))return!1;if(e){let l=t.after(),c=n.tr.replaceWith(l,l,o.createAndFill());c.setSelection(L.near(c.doc.resolve(l),1)),e(c.scrollIntoView())}return!0},Kw=(n,e)=>{let t=n.selection,{$from:r,$to:i}=t;if(t instanceof Ae||r.parent.inlineContent||i.parent.inlineContent)return!1;let s=Fa(i.parent.contentMatchAt(i.indexAfter()));if(!s||!s.isTextblock)return!1;if(e){let o=(!r.parentOffset&&i.index()<i.parent.childCount?r:i).pos,l=n.tr.insert(o,s.createAndFill());l.setSelection(P.create(l.doc,o+1)),e(l.scrollIntoView())}return!0},Xw=(n,e)=>{let{$cursor:t}=n.selection;if(!t||t.parent.content.size)return!1;if(t.depth>1&&t.after()!=t.end(-1)){let s=t.before();if(Ni(n.doc,s))return e&&e(n.tr.split(s).scrollIntoView()),!0}let r=t.blockRange(),i=r&&So(r);return i==null?!1:(e&&e(n.tr.lift(r,i).scrollIntoView()),!0)};function Gw(n){return(e,t)=>{if(e.selection instanceof D&&e.selection.node.isBlock){let{$from:h}=e.selection;return!h.parentOffset||!Ni(e.doc,h.pos)?!1:(t&&t(e.tr.split(h.pos).scrollIntoView()),!0)}if(!e.selection.$from.depth)return!1;let r=e.tr;!e.selection.empty&&(e.selection instanceof P||e.selection instanceof Ae)&&r.deleteSelection();let{$from:i}=r.selection,s=r.steps.length,o=[],l,c,a=!1,f=!1;for(let h=i.depth;;h--)if(i.node(h).isBlock){a=i.end(h)==i.pos+(i.depth-h),f=i.start(h)==i.pos-(i.depth-h),c=Fa(i.node(h-1).contentMatchAt(i.indexAfter(h-1)));let m=n&&n(i.parent,a,i);o.unshift(m||(a&&c?{type:c}:null)),l=h;break}else{if(h==1)return!1;o.unshift(null)}let d=i.pos,u=Ni(r.doc,d,o.length,o);if(u||(o[0]=c?{type:c}:null,u=Ni(r.doc,d,o.length,o)),!u)return!1;if(r.split(d,o.length,o),!a&&f&&i.node(l).type!=c){let h=r.mapping.slice(s),p=h.map(i.before(l)),m=r.doc.resolve(p);c&&i.node(l-1).canReplaceWith(m.index(),m.index()+1,c)&&r.setNodeMarkup(h.map(i.before(l)),c)}return t&&t(r.scrollIntoView()),!0}}var Zw=Gw();var Qw=(n,e)=>(e&&e(n.tr.setSelection(new Ae(n.doc))),!0);function ek(n,e,t){let r=e.nodeBefore,i=e.nodeAfter,s=e.index();return!r||!i||!r.type.compatibleContent(i.type)?!1:!r.content.size&&e.parent.canReplace(s-1,s)?(t&&t(n.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(s,s+1)||!(i.isTextblock||Yc(n.doc,e.pos))?!1:(t&&t(n.tr.join(e.pos).scrollIntoView()),!0)}function Vp(n,e,t,r){let i=e.nodeBefore,s=e.nodeAfter,o,l,c=i.type.spec.isolating||s.type.spec.isolating;if(!c&&ek(n,e,t))return!0;let a=!c&&e.parent.canReplace(e.index(),e.index()+1);if(a&&(o=(l=i.contentMatchAt(i.childCount)).findWrapping(s.type))&&l.matchType(o[0]||s.type).validEnd){if(t){let h=e.pos+s.nodeSize,p=T.empty;for(let y=o.length-1;y>=0;y--)p=T.from(o[y].create(null,p));p=T.from(i.copy(p));let m=n.tr.step(new ze(e.pos-1,h,e.pos,h,new A(p,1,0),o.length,!0)),g=m.doc.resolve(h+2*o.length);g.nodeAfter&&g.nodeAfter.type==i.type&&Yc(m.doc,g.pos)&&m.join(g.pos),t(m.scrollIntoView())}return!0}let f=s.type.spec.isolating||r>0&&c?null:L.findFrom(e,1),d=f&&f.$from.blockRange(f.$to),u=d&&So(d);if(u!=null&&u>=e.depth)return t&&t(n.tr.lift(d,u).scrollIntoView()),!0;if(a&&Rr(s,"start",!0)&&Rr(i,"end")){let h=i,p=[];for(;p.push(h),!h.isTextblock;)h=h.lastChild;let m=s,g=1;for(;!m.isTextblock;m=m.firstChild)g++;if(h.canReplace(h.childCount,h.childCount,m.content)){if(t){let y=T.empty;for(let x=p.length-1;x>=0;x--)y=T.from(p[x].copy(y));let w=n.tr.step(new ze(e.pos-p.length,e.pos+s.nodeSize,e.pos+g,e.pos+s.nodeSize-g,new A(y,p.length,0),0,!0));t(w.scrollIntoView())}return!0}}return!1}function Lp(n){return function(e,t){let r=e.selection,i=n<0?r.$from:r.$to,s=i.depth;for(;i.node(s).isInline;){if(!s)return!1;s--}return i.node(s).isTextblock?(t&&t(e.tr.setSelection(P.create(e.doc,n<0?i.start(s):i.end(s)))),!0):!1}}var tk=Lp(-1),nk=Lp(1);function rk(n,e,t,r){for(let i=0;i<e.length;i++){let{$from:s,$to:o}=e[i],l=s.depth==0?n.inlineContent&&n.type.allowsMarkType(t):!1;if(n.nodesBetween(s.pos,o.pos,(c,a)=>{if(l||!r&&c.isAtom&&c.isInline&&a>=s.pos&&a+c.nodeSize<=o.pos)return!1;l=c.inlineContent&&c.type.allowsMarkType(t)}),l)return!0}return!1}function ik(n){let e=[];for(let t=0;t<n.length;t++){let{$from:r,$to:i}=n[t];r.doc.nodesBetween(r.pos,i.pos,(s,o)=>{if(s.isAtom&&s.content.size&&s.isInline&&o>=r.pos&&o+s.nodeSize<=i.pos)return o+1>r.pos&&e.push(new Er(r,r.doc.resolve(o+1))),r=r.doc.resolve(o+1+s.content.size),!1}),r.pos<i.pos&&e.push(new Er(r,i))}return e}function Yi(n,e=null,t){let r=(t&&t.removeWhenPresent)!==!1,i=(t&&t.enterInlineAtoms)!==!1,s=!(t&&t.includeWhitespace);return function(o,l){let{empty:c,$cursor:a,ranges:f}=o.selection;if(c&&!a||!rk(o.doc,f,n,i))return!1;if(l)if(a)n.isInSet(o.storedMarks||a.marks())?l(o.tr.removeStoredMark(n)):l(o.tr.addStoredMark(n.create(e)));else{let d,u=o.tr;i||(f=ik(f)),r?d=!f.some(h=>o.doc.rangeHasMark(h.$from.pos,h.$to.pos,n)):d=!f.every(h=>{let p=!1;return u.doc.nodesBetween(h.$from.pos,h.$to.pos,(m,g,y)=>{if(p)return!1;p=!n.isInSet(m.marks)&&!!y&&y.type.allowsMarkType(n)&&!(m.isText&&/^\s*$/.test(m.textBetween(Math.max(0,h.$from.pos-g),Math.min(m.nodeSize,h.$to.pos-g))))}),!p});for(let h=0;h<f.length;h++){let{$from:p,$to:m}=f[h];if(!d)u.removeMark(p.pos,m.pos,n);else{let g=p.pos,y=m.pos,w=p.nodeAfter,x=m.nodeBefore,b=s&&w&&w.isText?/^\s*/.exec(w.text)[0].length:0,E=s&&x&&x.isText?/\s*$/.exec(x.text)[0].length:0;g+b<y&&(g+=b,y-=E),u.addMark(g,y,n.create(e))}}l(u.scrollIntoView())}return!0}}function Pa(...n){return function(e,t,r){for(let i=0;i<n.length;i++)if(n[i](e,t,r))return!0;return!1}}var La=Pa(vp,$w,qw),Rp=Pa(vp,Yw,jw),Bt={Enter:Pa(Ww,Kw,Xw,Zw),"Mod-Enter":Hw,Backspace:La,"Mod-Backspace":La,"Shift-Backspace":La,Delete:Rp,"Mod-Delete":Rp,"Mod-a":Qw},Fp={"Ctrl-h":Bt.Backspace,"Alt-Backspace":Bt["Mod-Backspace"],"Ctrl-d":Bt.Delete,"Ctrl-Alt-Backspace":Bt["Mod-Delete"],"Alt-Delete":Bt["Mod-Delete"],"Alt-d":Bt["Mod-Delete"],"Ctrl-a":tk,"Ctrl-e":nk};for(let n in Bt)Fp[n]=Bt[n];var sk=typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform?os.platform()=="darwin":!1,Pp=sk?Fp:Bt;function ok(n,e){return!!n.b==!!e.b&&!!n.i==!!e.i&&!!n.c==!!e.c&&!!n.h==!!e.h&&(n.href??null)===(e.href??null)}function ji(n,e={}){let t={t:n};return e.b&&(t.b=!0),e.i&&(t.i=!0),e.c&&(t.c=!0),e.h&&(t.h=!0),e.href!=null&&(t.href=e.href),t}function $a(n,e){let t=n[n.length-1];t&&ok(t,e)?t.t+=e.t:n.push(e)}function zp(n){let e=[],t=0;for(;t<n.length;){let r=n.indexOf(` |
| `,t);if(r===-1){e.push(n.slice(t));break}let i=n.slice(t,r);e.push(i.endsWith("\r")?i.slice(0,-1):i),t=r+1}return e}function Wo(n){let e=[],t=null;for(let r of zp(n)){if(r=r.trim(),r===""){t!==null&&(e.push(t),t=null);continue}let i=lk(r);if(i!==null){t!==null&&e.push(t),t=i;continue}t=t===null?r:t+" "+r}return t!==null&&e.push(t),e.map(fk)}function $p(n){return zp(n).map(e=>e===""?[]:[ji(e)])}function lk(n){if(n.startsWith("- "))return n.slice(2).trimStart();let e=0;for(;e<n.length&&n.charCodeAt(e)>=48&&n.charCodeAt(e)<=57;)e++;return e>0&&n.startsWith(". ",e)?n.slice(e+2).trimStart():null}var za=class{constructor(){this.runs=[],this.buf="",this.marks={b:!1,i:!1,c:!1,h:!1,href:null}}flush(){this.buf!==""&&($a(this.runs,ji(this.buf,this.marks)),this.buf="")}toggle(e,t,r){return this.marks[r]?(this.flush(),this.marks[r]=!1,!0):ck(t,e)?(this.flush(),this.marks[r]=!0,!0):!1}parse(e){let t=0;for(;t<e.length;){let r=e.slice(t);if(r.startsWith("\\*")){this.buf+="*",t+=2;continue}if(r.startsWith("**")){if(this.toggle("**",r.slice(2),"b")){t+=2;continue}}else if(r.startsWith("==")){if(this.toggle("==",r.slice(2),"h")){t+=2;continue}}else if(r.startsWith("*")){if(this.toggle("*",r.slice(1),"i")){t+=1;continue}}else if(r.startsWith("`")){let s=r.indexOf("`",1);if(s!==-1){this.flush();let o=this.marks.c;this.marks.c=!0,this.buf+=r.slice(1,s),this.flush(),this.marks.c=o,t+=s+1;continue}}else if(r.startsWith("[")&&this.marks.href===null){let s=ak(r);if(s!==null){this.flush();let o={...this.marks};this.marks.href=s.url,this.parse(s.text),this.flush(),this.marks=o,t+=s.len;continue}}let i=String.fromCodePoint(r.codePointAt(0));this.buf+=i,t+=i.length}}};function ck(n,e){if(e!=="*")return n.includes(e);let t=0;for(;t<n.length;){if(n[t]==="*"){if(n[t+1]==="*"){t+=2;continue}return!0}t++}return!1}function ak(n){let e=n.indexOf("](");if(e===-1)return null;let t=n.slice(1,e),r=e+2,i=n.indexOf(")",r);if(i===-1)return null;let s=n.slice(r,i);return t===""||s===""?null:{text:t,url:s,len:i+1}}function fk(n){let e=new za;return e.parse(n),e.flush(),e.runs}var dk=["http","https","mailto"];function Wi(n){if(typeof n!="string"||n===""||n.trim()!==n)return"";let e=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(n);return!e||!dk.includes(e[1].toLowerCase())?"":n}var Qt=new go({nodes:{doc:{content:"paragraph+"},paragraph:{content:"text*",parseDOM:[{tag:"p"}],toDOM:()=>["p",0]},text:{}},marks:{b:{parseDOM:[{tag:"strong"},{tag:"b"}],toDOM:()=>["strong",0]},i:{parseDOM:[{tag:"em"},{tag:"i"}],toDOM:()=>["em",0]},c:{parseDOM:[{tag:"code"}],toDOM:()=>["code",0]},h:{parseDOM:[{tag:"mark"}],toDOM:()=>["mark",0]},href:{attrs:{href:{default:null}},inclusive:!1,parseDOM:[{tag:"a[href]",getAttrs:n=>({href:n.getAttribute("href")})}],toDOM:n=>Wi(n.attrs.href)?["a",{href:n.attrs.href},0]:["span",{"data-href":String(n.attrs.href??"")},0]}}});var uk=["b","i","c","h"];function hk(n){let e={};for(let t of uk)n[t]&&(e[t]=!0);return n.href!=null&&(e.href={href:n.href}),e}function pk(n){return typeof n=="string"?n:n!==null&&typeof n=="object"&&typeof n.href=="string"?n.href:null}function Jp(n){let e=new J("paragraph"),t=new K;e.insert(0,[t]);let r=[];for(let i of n){if(i.t==="")continue;let s=hk(i);r.push(Object.keys(s).length?{insert:i.t,attributes:s}:{insert:i.t})}return r.length&&t.applyDelta(r),e}function Yp(n){let e=new W;return e.insert(0,n.map(Jp)),e}function qa(n,e){n.length>0&&n.delete(0,n.length),n.insert(0,e.map(Jp))}function Ho(n){return n!=null&&n!==!1}function qp(n,e){for(let t of n.toDelta()){if(typeof t.insert!="string"||t.insert==="")continue;let r=t.attributes||{};$a(e,ji(t.insert,{b:Ho(r.b),i:Ho(r.i),c:Ho(r.c),h:Ho(r.h),href:pk(r.href)}))}}function Ut(n){let e=[];for(let t of n.toArray())if(t instanceof K){let r=[];qp(t,r),e.push(r)}else if(t instanceof J){let r=[];for(let i of t.toArray())if(i instanceof K)qp(i,r);else{let s=i.toString();s!==""&&r.push(ji(s))}e.push(r)}else t instanceof W&&e.push(...Ut(t));return e}var mk="meta",gk="slides",yk="assets";function en(n){return{meta:n.getMap(mk),slides:n.getArray(gk),assets:n.getMap(yk)}}function v(n,e){let t=n.get(e);return typeof t=="string"?t:null}function Bn(n,e){let t=n.get(e);return typeof t=="number"?t:typeof t=="bigint"?Number(t):null}function Xo(n,e){let t=n.get(e);return t instanceof ge?t:null}function we(n,e){let t=n.get(e);return t instanceof Pe?t:null}function xt(n,e){let t=n.get(e);return t instanceof W&&!(t instanceof J)?t:null}function Hi(n){let e=[];return n.forEach((t,r)=>{t instanceof ge&&e.push([r,t])}),e}function Un(n,e){return Hi(n).find(([,t])=>v(t,"id")===e)??null}function jp(n,e){let t=Bn(e,"order");return t!==null&&Number.isFinite(t)?t:n}function ce(n){return Hi(n).sort((e,t)=>jp(e[0],e[1])-jp(t[0],t[1])||e[0]-t[0])}function Go(n){return Hi(n).some(([,e])=>{let t=Bn(e,"order");return t!==null&&Number.isFinite(t)})}function Zo(n){n.forEach((e,t)=>e.set("order",t))}function Wp(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof H)}function bt(n,e){let t=n.get(e);return t instanceof ge?Qo(t):Wp(t)?Ko(t):null}function Ko(n){if(n===void 0)return null;if(typeof n=="bigint")return Number(n);if(Array.isArray(n))return n.map(Ko);if(n instanceof Uint8Array)return Array.from(n);if(Wp(n)){let e={};for(let t of Object.keys(n))e[t]=Ko(n[t]);return e}return n}function Ki(n){return n instanceof ge?Qo(n):n instanceof Pe?n.toArray().map(Ki):n instanceof J?n.toString():n instanceof W?Ut(n):n instanceof Ot?n.toString():n instanceof H?null:Ko(n)}function Qo(n){let e={};return n.forEach((t,r)=>{e[r]=Ki(t)}),e}function Hp(n){return n.clone()}var xk=["b","i","c","h","href"];function Kp(n,e="sanitise"){let t=[];for(let i of n.toArray())if(i instanceof J)for(let s of i.toArray()){if(!(s instanceof K))continue;let o=0;for(let l of s.toDelta()){let c=typeof l.insert=="string"?l.insert.length:1,a=Object.keys(l.attributes||{}).filter(f=>!xk.includes(f));a.length&&t.push([s,o,c,Object.fromEntries(a.map(f=>[f,null]))]),o+=c}}if(t.length===0)return 0;let r=()=>{for(let[i,s,o,l]of t)i.format(s,o,l)};return n.doc?n.doc.transact(r,e):r(),t.length}var bk=["heading","text","list","quote","code"];function wk(n){let e=[];for(let t of n.querySelectorAll("[slides-block][data-id]")){let r=t.getAttribute("data-id"),i=t.getAttribute("data-block");r&&bk.includes(i)&&e.push({el:t,id:r,type:i})}return e}function kk(n){let e=[];for(let t of n.querySelectorAll('[slides-block][data-block="table"][data-id]')){let r=t.getAttribute("data-id");r&&e.push({el:t,id:r})}return e}function Sk(n,e){return e==="quote"?n.querySelector("blockquote")??n:e==="code"?n.querySelector("code")??n:n}function Ck(n){return n==="list"?"li":n==="heading"||n==="code"||n==="cell"?"div":"p"}function el(n,e){let t=Un(en(n).slides,e);return t?t[1]:null}function Xp(n,e,t){let r=el(n,e);if(!r)return null;let i=we(r,"blocks");if(!i)return null;let s=Un(i,t);return s?s[1]:null}function Tk(n,e,t){let r=Xp(n,e,t);return r?xt(r,"text"):null}function Ek(n,e,t){let r=Xp(n,e,t),i=r&&we(r,"cells");return i?i.toArray().filter(s=>s instanceof W&&!(s instanceof J)):[]}function Ak(n,e){let t=el(n,e);return t?xt(t,"notes"):null}function Ya(n,e){let t=el(n,e),r=t&&we(t,"blocks");return r?ce(r).map(([,i])=>v(i,"id")).filter(i=>i):[]}function Gp(n,e){let t=el(n,e),r=t&&we(t,"blocks");if(!r)return"";for(let[,i]of ce(r)){if(v(i,"type")!=="heading")continue;let s=xt(i,"text");return s?Ut(s).map(o=>o.map(l=>l.t).join("")).join(" ").trim():""}return""}function Ze(n){return ce(en(n).slides).map(([,e])=>v(e,"id")).filter(e=>e)}function Zp(n,e,t){if(e.includes(t))return t;if(e.length===0)return"";let r=n.indexOf(t);return r<0?e[0]:e[Math.min(r,e.length-1)]}function Ja(n,e,t,r){Kp(e),n.textContent="";let i=Ck(t);return new Li({mount:n},{state:Ao.create({schema:Qt,plugins:[Ra(e),Va(r),Va(Pp)]}),nodeViews:{paragraph:()=>{let s=document.createElement(i);return{dom:s,contentDOM:s}}}})}function ja({root:n,el:e,ydoc:t,slideId:r,fetchSlide:i,keys:s,vp:o="desktop",readOnly:l=!1,onLoaded:c=()=>{},onError:a=()=>{}}){let f=e??n.querySelector("[slides-stage]"),d=l?null:n.querySelector("[slides-notes]"),u=r||"",h=o,p=[],m=0;function g(){for(let x of p)x.destroy();p=[]}function y(){if(g(),!u||l)return;for(let{el:b,id:E,type:R}of wk(f)){let S=Tk(t,u,E);S&&p.push(Ja(Sk(b,R),S,R,s))}for(let{el:b,id:E}of kk(f)){let R=Ek(t,u,E);b.querySelectorAll("th, td").forEach((S,C)=>{R[C]&&p.push(Ja(S,R[C],"cell",s))})}let x=d&&Ak(t,u);x&&p.push(Ja(d,x,"text",s))}async function w(x){let b=x||"",E=++m;if(!b){u="",g(),f&&(f.textContent=""),d&&(d.textContent=""),c("");return}let R;try{R=await i(b,h)}catch(S){throw E===m&&a(S,b),S}E===m&&(u=b,g(),f.innerHTML=R,d&&(d.textContent=""),y(),c(u))}return f&&u&&y(),{load:w,refresh:()=>w(u),setViewport(x){return x===h?Promise.resolve():(h=x,u?w(u):Promise.resolve())},get viewport(){return h},bind:y,views:()=>p,get slideId(){return u},get element(){return f},destroy(){m++,g()}}}function Ok(n,e,t,r){return(n?Gp(n,e):"")||r.replace("{n}",String(t))}function Mk(n,e){let t=new Set(n),r=new Set(e);return{add:e.filter(i=>!t.has(i)),drop:n.filter(i=>!r.has(i)),order:e.slice()}}function Qp({root:n,ydoc:e,thumbURL:t,template:r,slideLabel:i,onCommand:s=()=>{}}){let o=new Set,l=new AbortController;n.addEventListener("click",g=>{let y=g.target.closest("[data-slide-command]"),w=y&&y.closest("[slides-strip-item]");if(!w)return;let x=y.closest("details");x&&(x.open=!1),s(y.dataset.slideCommand,w.dataset.slideId)},{signal:l.signal});function c(){return Array.from(n.querySelectorAll("[slides-strip-item]"))}function a(g){return c().find(y=>y.dataset.slideId===g)||null}function f(g){let y=r.content.firstElementChild.cloneNode(!0);y.dataset.slideId=g,y.querySelector("[slides-strip-link]").href="#"+g;let w=y.querySelector("[slides-thumb-img]");return w&&(w.alt=""),y}function d(){c().forEach((g,y)=>{let w=Ok(e,g.dataset.slideId,y+1,i),x=g.querySelector("[slides-strip-label]");x&&x.textContent!==w&&(x.textContent=w);let b=g.querySelector("[slides-thumb-img]");b&&b.alt!==w&&(b.alt=w)})}function u(){let g=Ze(e),{add:y,drop:w,order:x}=Mk(c().map(E=>E.dataset.slideId),g);for(let E of w){let R=a(E);R&&R.remove(),o.delete(E)}for(let E of y)n.append(f(E)),o.add(E);let b=typeof document<"u"?document.activeElement:null;x.forEach((E,R)=>{let S=a(E);if(!S)return;let C=c()[R]||null;C!==S&&n.insertBefore(S,C)}),b&&n.contains(b)&&document.activeElement!==b&&typeof b.focus=="function"&&b.focus(),d()}function h(g){o.add(g)}function p(){let g=Array.from(o);o.clear();for(let y of g){let w=a(y),x=w&&w.querySelector("[slides-thumb-img]");x&&(x.src=t(y))}d()}function m(g){for(let y of c()){let w=y.dataset.slideId===g;w?y.dataset.current="true":delete y.dataset.current;let x=y.querySelector("[slides-strip-link]");x&&(w?x.setAttribute("aria-current","true"):x.removeAttribute("aria-current"))}}return{sync:u,mark:h,flush:p,setCurrent:m,destroy:()=>l.abort()}}function Nk(n,e,t,r){if(e===t)return;let i=n.filter(f=>f!==e),s=i.indexOf(t);if(s<0)return;let o=r==="before"?s:s+1,l=o===0?null:i[o-1],c=n.indexOf(e),a=i.slice(0,o).length;if(c!==a)return l}function Dk(n,e,t,r){let i=Nk(n,e,t,r);return i===void 0?null:i===null?{op:"move_slide",id:e}:{op:"move_slide",id:e,after:i}}function em({root:n,getIDs:e,onMove:t,onNudge:r}){let i=null,s=l=>l&&l.closest("[slides-strip-item][data-slide-id]");function o(){for(let l of n.querySelectorAll("[data-drop]"))delete l.dataset.drop}n.addEventListener("dragstart",l=>{let c=s(l.target);c&&(i=c.dataset.slideId,c.dataset.dragging="true",l.dataTransfer.effectAllowed="move",l.dataTransfer.setData("text/plain",i))}),n.addEventListener("dragover",l=>{let c=s(l.target);if(!c||!i)return;l.preventDefault(),l.dataTransfer.dropEffect="move";let a=c.getBoundingClientRect(),d=getComputedStyle(n).flexDirection==="column"?l.clientY<a.top+a.height/2:l.clientX<a.left+a.width/2;o(),c.dataset.drop=d?"before":"after"}),n.addEventListener("dragleave",l=>{n.contains(l.relatedTarget)||o()}),n.addEventListener("drop",l=>{let c=s(l.target);if(!c||!i)return;l.preventDefault();let a=Dk(e(),i,c.dataset.slideId,c.dataset.drop||"after");o(),a&&t(a)}),n.addEventListener("dragend",()=>{for(let l of n.querySelectorAll("[data-dragging]"))delete l.dataset.dragging;o(),i=null}),n.addEventListener("keydown",l=>{if(!l.altKey||l.key!=="ArrowUp"&&l.key!=="ArrowDown")return;let c=s(l.target);c&&(l.preventDefault(),r(c.dataset.slideId,l.key==="ArrowUp"?"up":"down"))})}function tm(n,e){let t=new Set,r=new Set,i=!1;for(let s of n){let o=s.target;if(o===e){i=!0;continue}let l=!1;for(;o&&o.parent!==e;)(o instanceof W||o instanceof K)&&(l=!0),o=o.parent;if(!o)continue;let c=v(o,"id");if(!c)continue;if(l){t.add(c);continue}let a=o===s.target?s.keysChanged:null;a&&a.has("order")&&(i=!0,a.size===1)||r.add(c)}return{text:[...t],structure:[...r],order:i}}var Xi=Qt.marks.href;function Wa(n,e){let t=n.resolve(e),r=t.start(),i=null,s=null;return t.parent.forEach((o,l)=>{let c=r+l,a=o.isText?Xi.isInSet(o.marks):null;a&&i&&i.mark.eq(a)&&i.to===c?i.to=c+o.nodeSize:a?i={from:c,to:c+o.nodeSize,mark:a}:i=null,i&&i.from<=e&&e<=i.to&&(s=i)}),s?{from:s.from,to:s.to,href:s.mark.attrs.href}:null}function nm(n){let e=Wa(n.doc,n.selection.head);return e?e.href:null}function rm(n){return(e,t)=>{if(!Wi(n))return!1;let{from:r,to:i}=e.selection;if(r===i){let s=Wa(e.doc,r);if(!s)return!1;r=s.from,i=s.to}return t&&t(e.tr.removeMark(r,i,Xi).addMark(r,i,Xi.create({href:n}))),!0}}function im(n,e){let{from:t,to:r}=n.selection;if(t===r){let i=Wa(n.doc,t);if(!i)return!1;t=i.from,r=i.to}return n.doc.rangeHasMark(t,r,Xi)?(e&&e(n.tr.removeMark(t,r,Xi)),!0):!1}function sm({undo:n,redo:e,link:t}){return{"Mod-b":Yi(Qt.marks.b),"Mod-i":Yi(Qt.marks.i),"Mod-e":Yi(Qt.marks.c),"Mod-Shift-h":Yi(Qt.marks.h),"Mod-k":(r,i,s)=>(i&&t(s),!0),"Mod-z":()=>(n(),!0),"Mod-Shift-z":()=>(e(),!0),"Mod-y":()=>(e(),!0)}}function om(n){if(!n)return null;let e=n.querySelector('input[name="href"]'),t=null;return n.addEventListener("close",()=>{let r=t;t=null,r&&r.resolve({action:n.returnValue||"cancel",href:e.value.trim()})}),{open(r){if(t)return t.promise;e.value=r||"",n.returnValue="",n.showModal(),e.select();let i,s=new Promise(o=>{i=o});return t={promise:s,resolve:i},s},get isOpen(){return t!==null}}}async function lm(n,e){if(!e)return;let{action:t,href:r}=await e.open(nm(n.state));n.isDestroyed||(t==="insert"&&Wi(r)?rm(r)(n.state,n.dispatch):t==="remove"&&im(n.state,n.dispatch),n.focus())}var Vt=n=>{throw new Error(n)},vr=n=>n!==null&&typeof n=="object"&&!Array.isArray(n),Ha=n=>Number.isInteger(n);function nl(n,e,t,r){let i=n[e];return i===void 0&&Vt(`missing field \`${e}\``),t(i)||Vt(`invalid type for \`${e}\`, expected ${r}`),i}function tn(n,e,t,r){let i=n[e];if(i!=null)return t(i)||Vt(`invalid type for \`${e}\`, expected ${r}`),i}function fm(n,e,t,r){let i=n[e];if(i!==void 0)return i===null?null:(t(i)||Vt(`invalid type for \`${e}\`, expected ${r}`),i)}var $=(n,e)=>nl(n,e,t=>typeof t=="string","a string"),Ne=(n,e)=>tn(n,e,t=>typeof t=="string","a string"),tl=(n,e)=>fm(n,e,t=>typeof t=="string","a string"),cm=(n,e)=>tn(n,e,t=>typeof t=="number"&&Number.isFinite(t),"a number"),am=(n,e)=>tn(n,e,vr,"a map");function Ka(n){vr(n)||Vt("invalid type for `box`, expected a map");for(let e of["x","y","w","h"])nl(n,e,t=>typeof t=="number"&&Number.isFinite(t),"a number");return{x:n.x,y:n.y,w:n.w,h:n.h}}function Xa(n){vr(n)||Vt("an op must be an object");let e=n.op;switch(typeof e!="string"&&Vt("missing field `op`"),e){case"set_meta":{let t=fm(n,"fonts",vr,"a map");return t&&(t={heading:$(t,"heading"),body:$(t,"body")}),{op:e,title:Ne(n,"title"),theme:Ne(n,"theme"),accent:tl(n,"accent"),fonts:t}}case"add_slide":return{op:e,id:$(n,"id"),after:tl(n,"after"),layout:$(n,"layout"),template:Ne(n,"template")};case"remove_slide":case"remove_asset":return{op:e,id:$(n,"id")};case"move_slide":return{op:e,id:$(n,"id"),after:Ne(n,"after")};case"duplicate_slide":{let t=nl(n,"new_block_ids",r=>Array.isArray(r)&&r.every(i=>typeof i=="string"),"a list of strings");return{op:e,id:$(n,"id"),new_id:$(n,"new_id"),new_block_ids:t}}case"set_slide":{let t=tn(n,"background",vr,"a map");return t&&(t={kind:$(t,"kind"),value:Ne(t,"value")??""}),{op:e,id:$(n,"id"),layout:Ne(n,"layout"),template:Ne(n,"template"),background:t,phone:Ne(n,"phone"),transition:Ne(n,"transition")}}case"set_notes":return{op:e,id:$(n,"id"),markdown:$(n,"markdown")};case"add_block":{let t=n.box===void 0||n.box===null?void 0:Ka(n.box);return{op:e,slide:$(n,"slide"),id:$(n,"id"),type:$(n,"type"),props:am(n,"props")??{},region:Ne(n,"region"),box:t,z:cm(n,"z"),after:tl(n,"after"),markdown:Ne(n,"markdown")}}case"remove_block":return{op:e,slide:$(n,"slide"),id:$(n,"id")};case"move_block":return{op:e,slide:$(n,"slide"),id:$(n,"id"),after:Ne(n,"after")};case"set_block":{let t=n.box===void 0?void 0:n.box===null?null:Ka(n.box);return{op:e,slide:$(n,"slide"),id:$(n,"id"),props:am(n,"props"),region:tl(n,"region"),box:t,z:cm(n,"z")}}case"set_text":return{op:e,slide:$(n,"slide"),id:$(n,"id"),markdown:$(n,"markdown")};case"set_phone":{let t=nl(n,"phone",vr,"a map");for(let i of Object.keys(t))["hidden","order","size","box"].includes(i)||Vt(`unknown field \`${i}\` in phone`);let r={hidden:tn(t,"hidden",i=>typeof i=="boolean","a boolean"),order:tn(t,"order",Ha,"an integer"),size:Ne(t,"size"),box:t.box===void 0||t.box===null?void 0:Ka(t.box)};return{op:e,slide:$(n,"slide"),id:$(n,"id"),phone:r}}case"register_asset":return{op:e,id:$(n,"id"),ref:$(n,"ref"),name:Ne(n,"name")??"",width:tn(n,"width",Ha,"an integer")??0,height:tn(n,"height",Ha,"an integer")??0,alt:Ne(n,"alt")??""};default:Vt(`unknown variant \`${e}\``)}}var dm=["flow","canvas"],um=["title","title-body","two-column","section","image-full","quote","blank"],hm=["heading","body","aside","media"],Ik=["theme","color","image"],_k=["inherit","reflow"],Rk=["none","fade"],vk=["heading","text","list","quote","image","columns","code","shape","table","divider","spacer"],Bk=["heading","text","list","quote","code","shape"],Uk=["s","m","l"],pm=100,Ga=n=>Bk.includes(n),Br=class extends Error{constructor(e,t){super(e),this.name="OpsError",this.index=t}},X=n=>{throw new Error(n)},Vk=n=>Number.isInteger(n);function ct(n,e,t){t.includes(e)||X(`${n} ${JSON.stringify(e)} is not one of ${t.join(", ")}`)}function Gi(n,e){e===""&&X(`${n} is empty`)}function Vn(n,e){let t=n[e];return t===void 0?null:((!Vk(t)||t<1||t>pm)&&X(`table ${e} must be a whole number from 1 to ${pm}`),t)}function nn(n,e){let t=n.blocks.findIndex(r=>r.id===e);return t===-1&&X(`no block ${JSON.stringify(e)} in slide ${JSON.stringify(n.id)}`),t}function mm(n,e,t){if(t===null)return[];Array.isArray(t)||X("columns children must be an array of block ids");let r=[];for(let i of t){typeof i!="string"&&X("columns children must be an array of block ids"),i===e&&X(`columns ${JSON.stringify(e)} cannot name itself in children`),n.blocks.some(o=>o.id===i)||X(`columns children names ${JSON.stringify(i)}, not a block on slide ${JSON.stringify(n.id)}`),r.includes(i)&&X(`columns children names ${JSON.stringify(i)} twice`);let s=n.blocks.find(o=>o.id!==e&&o.children!==null&&o.children.includes(i));s&&X(`columns children names ${JSON.stringify(i)}, already a child of columns ${JSON.stringify(s.id)}`),Lk(n,i,e)&&X(`columns children names ${JSON.stringify(i)}, which would put columns ${JSON.stringify(e)} inside itself`),r.push(i)}return r}function Lk(n,e,t){let r=[e],i=new Set;for(;r.length;){let s=r.pop();if(s===t)return!0;if(i.has(s))continue;i.add(s);let o=n.blocks.find(l=>l.id===s);o&&o.children!==null&&r.push(...o.children)}return!1}var rl=class n{static read(e){let t=new n;return t.slides=ce(e.slides).map(([,r])=>{let i=we(r,"blocks");return{id:v(r,"id")??"",blocks:i===null?[]:ce(i).map(([,s])=>{let o=v(s,"type")??"",l=null;if(o==="columns"){let c=(bt(s,"props")??{}).children;l=Array.isArray(c)?c.filter(a=>typeof a=="string"):[]}return{id:v(s,"id")??"",kind:o,children:l}})}}),t.assets=new Set,e.assets.forEach((r,i)=>t.assets.add(i)),t}slideIndex(e){let t=this.slides.findIndex(r=>r.id===e);return t===-1&&X(`no slide ${JSON.stringify(e)}`),t}hasSlide(e){return this.slides.some(t=>t.id===e)}slide(e){return this.slides[this.slideIndex(e)]}check(e){switch(e.op){case"set_meta":return;case"add_slide":{Gi("id",e.id),this.hasSlide(e.id)&&X(`slide ${JSON.stringify(e.id)} already exists`),ct("layout",e.layout,dm),e.template!==void 0&&ct("template",e.template,um);let t=e.after===void 0?this.slides.length:e.after===null?0:this.slideIndex(e.after)+1;this.slides.splice(t,0,{id:e.id,blocks:[]});return}case"remove_slide":this.slides.splice(this.slideIndex(e.id),1);return;case"move_slide":{this.slideIndex(e.id),e.after!==void 0&&(e.after===e.id&&X("move_slide: after is the slide itself"),this.slideIndex(e.after));let[t]=this.slides.splice(this.slideIndex(e.id),1),r=e.after===void 0?0:this.slideIndex(e.after)+1;this.slides.splice(r,0,t);return}case"duplicate_slide":{Gi("new_id",e.new_id);let t=this.slideIndex(e.id);this.hasSlide(e.new_id)&&X(`slide ${JSON.stringify(e.new_id)} already exists`);let r=this.slides[t].blocks.length;e.new_block_ids.length!==r&&X(`duplicate_slide: ${r} blocks but ${e.new_block_ids.length} new_block_ids`),(new Set(e.new_block_ids).size!==r||e.new_block_ids.some(o=>o===""))&&X("duplicate_slide: new_block_ids must be distinct and non-empty");let i=new Map(this.slides[t].blocks.map((o,l)=>[o.id,e.new_block_ids[l]])),s=this.slides[t].blocks.map((o,l)=>({id:e.new_block_ids[l],kind:o.kind,children:o.children===null?null:o.children.map(c=>i.get(c)??c)}));this.slides.splice(t+1,0,{id:e.new_id,blocks:s});return}case"set_slide":this.slideIndex(e.id),e.layout!==void 0&&ct("layout",e.layout,dm),e.template!==void 0&&ct("template",e.template,um),e.background!==void 0&&ct("background.kind",e.background.kind,Ik),e.phone!==void 0&&ct("phone",e.phone,_k),e.transition!==void 0&&ct("transition",e.transition,Rk);return;case"set_notes":this.slideIndex(e.id);return;case"add_block":{Gi("id",e.id),ct("type",e.type,vk),e.region!==void 0&&ct("region",e.region,hm),e.type==="table"&&(Vn(e.props,"rows"),Vn(e.props,"cols"));let t=this.slide(e.slide);t.blocks.some(s=>s.id===e.id)&&X(`block ${JSON.stringify(e.id)} already exists in slide ${JSON.stringify(e.slide)}`);let r=null;e.type==="columns"&&(r=e.props.children===void 0?[]:mm(t,e.id,e.props.children));let i=e.after===void 0?t.blocks.length:e.after===null?0:nn(t,e.after)+1;t.blocks.splice(i,0,{id:e.id,kind:e.type,children:r});return}case"remove_block":{let t=this.slide(e.slide);t.blocks.splice(nn(t,e.id),1);for(let r of t.blocks)r.children!==null&&(r.children=r.children.filter(i=>i!==e.id));return}case"move_block":{let t=this.slide(e.slide),r=nn(t,e.id);e.after!==void 0&&(e.after===e.id&&X("move_block: after is the block itself"),nn(t,e.after));let[i]=t.blocks.splice(r,1),s=e.after===void 0?0:nn(t,e.after)+1;t.blocks.splice(s,0,i);return}case"set_block":{let t=this.slide(e.slide),r=nn(t,e.id);typeof e.region=="string"&&ct("region",e.region,hm),t.blocks[r].kind==="table"&&e.props!==void 0&&(Vn(e.props,"rows"),Vn(e.props,"cols")),t.blocks[r].kind==="columns"&&e.props!==void 0&&e.props.children!==void 0&&(t.blocks[r].children=mm(t,e.id,e.props.children));return}case"set_text":{let t=this.slide(e.slide),r=t.blocks[nn(t,e.id)];Ga(r.kind)||X(`block ${JSON.stringify(e.id)} is a ${r.kind} and carries no text`);return}case"set_phone":{let t=this.slide(e.slide);nn(t,e.id),e.phone.size!==void 0&&ct("phone.size",e.phone.size,Uk);return}case"register_asset":Gi("id",e.id),Gi("ref",e.ref),this.assets.has(e.id)&&X(`asset ${JSON.stringify(e.id)} is already registered`),this.assets.add(e.id);return;case"remove_asset":this.assets.delete(e.id)||X(`no asset ${JSON.stringify(e.id)}`)}}};var Fk=["heading","body","aside","media"];function Lt(n){let e=n*1e4;return(e<0?-Math.round(-e):Math.round(e))/1e4}function Ur(n,e,t,r){return{x:Lt(n),y:Lt(e),w:Lt(t),h:Lt(r)}}function Ln(n){return n==="heading"?"heading":n==="image"?"media":"body"}function Za(n,e){switch(n){case"heading":return[.06,.08,.88,.18];case"aside":return[.54,.3,.4,.62];case"media":return[.5,.08,.44,.84];default:return e?[.06,.3,.44,.62]:[.06,.3,.88,.62]}}function Pk(n){let e=v(n,"region");return e!==null&&Fk.includes(e)?e:Ln(v(n,"type")??"")}function Ft(n){let e=we(n,"blocks");return e===null&&(e=new Pe,n.set("blocks",e)),e}function gm(n){let e=ce(Ft(n)),t=e.map(([,o])=>Pk(o)),r=t.includes("aside"),i=new Map;for(let o of t)i.set(o,(i.get(o)??0)+1);let s=new Map;e.forEach(([,o],l)=>{let c=t[l],a=i.get(c),f=s.get(c)??0,[d,u,h,p]=Za(c,r),m=p/a;s.set(c,f+1),o.set("box",Ur(d,u+m*f,h,m)),o.set("z",l),o.delete("region")})}function ym(n){let e=Ft(n),t=ce(e),r=[];t.forEach(([,i],s)=>{let o=v(i,"type")??"",l=bt(i,"box"),c=(u,h)=>l!==null&&typeof l[u]=="number"?l[u]:h,a=c("x",.06),f=c("y",.3),d="body";o==="heading"&&f<.25?d="heading":o==="image"&&(d="media"),i.set("region",d),i.delete("box"),i.delete("z"),r.push([f,a,s])}),r.sort((i,s)=>i[0]-s[0]||i[1]-s[1]),!r.every(([,,i],s)=>s===i)&&Zo(r.map(([,,i])=>t[i][1]))}var zk="blank",bm=2,wm=2,Qi=n=>{throw new Error(n)};function at(n,e){return Un(n.slides,e)??Qi(`no slide ${JSON.stringify(e)}`)}function Zi(n,e){return Un(n,e)??Qi(`no block ${JSON.stringify(e)}`)}function km(n,e){return e===void 0?n.length:e===null?0:(Un(n,e)??Qi(`no entry ${JSON.stringify(e)}`))[0]+1}function il(n,e,t,r){let i=ce(n).map(([,c])=>[v(c,"id")??"",c]),s=i.findIndex(([c])=>c===t);s===-1&&Qi(`no ${e} ${JSON.stringify(t)}`);let[o]=i.splice(s,1),l=0;if(r!==void 0){let c=i.findIndex(([a])=>a===r);c===-1&&Qi(`no entry ${JSON.stringify(r)}`),l=c+1}i.splice(l,0,o),Zo(i.map(([,c])=>c))}function Sm(n,e,t,r){let i;if(r===void 0){let s=ce(n).map(([,o])=>v(o,"id")??"").filter(o=>o!==t);i=s.length?s[s.length-1]:void 0}else r===null?i=void 0:i=r;il(n,e,t,i)}function xm(n,e){let t=xt(n,e);return t===null&&(t=new W,n.set(e,t)),t}function Cm(n,e){let t=Xo(n,e);return t===null&&(t=new ge,n.set(e,t)),t}var Tm=(n,e)=>n==="code"?$p(e):Wo(e);function Em(n){let e=new ge;for(let t of Object.keys(n))e.set(t,n[t]);return e}function Am(n,e){return Em({kind:n,value:e})}function $k({id:n,kind:e,props:t,region:r,box:i,z:s,text:o,cells:l}){let c=new ge;if(c.set("id",n),c.set("type",e),c.set("props",Em(t)),c.set("phone",new ge),r!==void 0&&c.set("region",r),i!==void 0&&c.set("box",i),s!==void 0&&c.set("z",s),o!==void 0&&c.set("text",Yp(o)),l!==void 0){let a=new Pe;c.set("cells",a),a.insert(0,Array.from({length:l},()=>new W))}return c}function qk(n,e,t){let r=new ge;return r.set("id",n),r.set("layout",e),r.set("template",t),r.set("phone","inherit"),r.set("transition","none"),r.set("background",Am("theme","")),r.set("notes",new W),r.set("blocks",new Pe),r}function Jk(n,e){for(let[,t]of Hi(n)){if(v(t,"type")!=="columns")continue;let r=Xo(t,"props");if(r===null)continue;let i=Qo(r).children;!Array.isArray(i)||!i.includes(e)||r.set("children",i.filter(s=>s!==e))}}function Yk(n,e,t){n.set("id",e);let r=we(n,"blocks");if(r===null)return;let i=new Map,s=ce(r);s.forEach(([,o],l)=>{if(l>=t.length)return;let c=v(o,"id");c!==null&&i.set(c,t[l]),o.set("id",t[l])});for(let[,o]of s){let l=Xo(o,"props");if(l===null)continue;let c=l.get("children");Array.isArray(c)&&l.set("children",c.map(a=>typeof a=="string"&&i.has(a)?i.get(a):a))}}function jk(n,e){e.title!==void 0&&n.meta.set("title",e.title),e.theme!==void 0&&n.meta.set("theme",e.theme),e.accent===null?n.meta.delete("accent"):e.accent!==void 0&&n.meta.set("accent",e.accent),e.fonts===null?n.meta.delete("fonts"):e.fonts!==void 0&&n.meta.set("fonts",{heading:e.fonts.heading,body:e.fonts.body})}function Wk(n,e){let[,t]=at(n,e.slide),r=Ft(t),i=km(r,e.after),s=v(t,"layout")==="canvas",o={...e.props},l;if(e.type==="table"){let u=Vn(o,"rows")??bm,h=Vn(o,"cols")??wm;o.rows=u,o.cols=h,l=u*h}let c=Ga(e.type)?e.markdown===void 0?[]:Tm(e.type,e.markdown):void 0,a=e.region??Ln(e.type),f={id:e.id,kind:e.type,props:o,text:c,cells:l};s?(f.box=e.box!==void 0?Ur(e.box.x,e.box.y,e.box.w,e.box.h):Ur(...Za(a,!1)),f.z=e.z??i):f.region=a;let d=Go(r);r.insert(i,[$k(f)]),d&&Sm(r,"block",e.id,e.after)}function Hk(n,e){let[,t]=at(n,e.slide),r=Ft(t),[,i]=Zi(r,e.id);if(e.props!==void 0){let s=Cm(i,"props");for(let l of Object.keys(e.props))e.props[l]===null?s.delete(l):s.set(l,e.props[l]);if(v(i,"type")==="table"&&("rows"in e.props||"cols"in e.props)){let l=Math.trunc(Bn(s,"rows")??bm),c=Math.trunc(Bn(s,"cols")??wm),a=Math.max(l,1)*Math.max(c,1),f=we(i,"cells");f===null&&(f=new Pe,i.set("cells",f));let d=f.length;d>a&&f.delete(a,d-a),d<a&&f.insert(d,Array.from({length:a-d},()=>new W))}}e.region===null?i.delete("region"):e.region!==void 0&&i.set("region",e.region),e.box===null?i.delete("box"):e.box!==void 0&&i.set("box",Ur(e.box.x,e.box.y,e.box.w,e.box.h)),e.z!==void 0&&i.set("z",e.z)}function Kk(n,e){let[,t]=at(n,e.slide),[,r]=Zi(Ft(t),e.id),i=Cm(r,"phone");i.clear();let s=e.phone;s.hidden!==void 0&&i.set("hidden",s.hidden),s.order!==void 0&&i.set("order",s.order),s.size!==void 0&&i.set("size",s.size),s.box!==void 0&&i.set("box",Ur(s.box.x,s.box.y,s.box.w,s.box.h))}function Om(n,e){switch(e.op){case"set_meta":return jk(n,e);case"add_slide":{let t=km(n.slides,e.after),r=Go(n.slides);n.slides.insert(t,[qk(e.id,e.layout,e.template??zk)]),r&&Sm(n.slides,"slide",e.id,e.after);return}case"remove_slide":return n.slides.delete(at(n,e.id)[0],1);case"move_slide":return at(n,e.id),il(n.slides,"slide",e.id,e.after);case"duplicate_slide":{let[t,r]=at(n,e.id),i=Hp(r),s=Go(n.slides);n.slides.insert(t+1,[i]),Yk(i,e.new_id,e.new_block_ids),s&&il(n.slides,"slide",e.new_id,e.id);return}case"set_slide":{let[,t]=at(n,e.id);if(e.layout!==void 0){let r=v(t,"layout")??"flow";e.layout!==r&&(e.layout==="canvas"?gm(t):ym(t),t.set("layout",e.layout))}e.template!==void 0&&t.set("template",e.template),e.background!==void 0&&t.set("background",Am(e.background.kind,e.background.value)),e.phone!==void 0&&t.set("phone",e.phone),e.transition!==void 0&&t.set("transition",e.transition);return}case"set_notes":{let[,t]=at(n,e.id);return qa(xm(t,"notes"),Wo(e.markdown))}case"add_block":return Wk(n,e);case"remove_block":{let[,t]=at(n,e.slide),r=Ft(t);return r.delete(Zi(r,e.id)[0],1),Jk(r,e.id)}case"move_block":{let[,t]=at(n,e.slide),r=Ft(t);return Zi(r,e.id),il(r,"block",e.id,e.after)}case"set_block":return Hk(n,e);case"set_text":{let[,t]=at(n,e.slide),[,r]=Zi(Ft(t),e.id),i=v(r,"type")??"";return qa(xm(r,"text"),Tm(i,e.markdown))}case"set_phone":return Kk(n,e);case"register_asset":return n.assets.set(e.id,{ref:e.ref,name:e.name,width:e.width,height:e.height,alt:e.alt});case"remove_asset":return n.assets.delete(e.id)}}var Xk="paper",Gk="16:9",Zk="blank",es=n=>n!==null&&typeof n=="object"&&!Array.isArray(n);function Fn(n,e){let t=n[e];return t==null?null:typeof t=="string"?t:void 0}function Qa(n,e){let t=n[e];return t==null?null:typeof t=="number"?t:void 0}function Mm(n){if(!es(n))return null;let e={};for(let t of["x","y","w","h"]){let r=Qa(n,t);if(r==null)return null;e[t]=r}return e}function Qk(n){let e={kind:"theme",value:""};if(!es(n))return e;let t=Fn(n,"kind"),r=Fn(n,"value");return t==null||r===void 0?e:{kind:t,value:r??""}}function eS(n){if(!es(n))return null;let e=Fn(n,"heading"),t=Fn(n,"body");return e===void 0||t===void 0?null:{heading:e??"",body:t??""}}function tS(n){if(!es(n))return{};let e={};typeof n.hidden=="boolean"&&(e.hidden=n.hidden);let t=Qa(n,"order");typeof t=="number"&&(e.order=Math.trunc(t));let r=Fn(n,"size");typeof r=="string"&&(e.size=r);let i=Mm(n.box);return i&&(e.box=i),e}function nS(n){if(!es(n))return null;let e=Fn(n,"ref");if(e==null)return null;let t=i=>Fn(n,i)??"",r=i=>{let s=Qa(n,i);return typeof s=="number"?Math.trunc(s):0};return{ref:e,name:t("name"),width:r("width"),height:r("height"),alt:t("alt")}}function rS(n){let e=bt(n,"props")??{},t=we(n,"cells");t!==null&&(e.cells=t.toArray().map(s=>s instanceof W&&!(s instanceof J)?Ut(s):Ki(s)));let r={id:v(n,"id")??"",type:v(n,"type")??"",props:e,region:v(n,"region"),box:Mm(bt(n,"box")),z:Bn(n,"z")??0,phone:tS(bt(n,"phone"))},i=xt(n,"text");return i!==null&&(r.text=Ut(i)),r}function iS(n){let e=we(n,"blocks"),t=xt(n,"notes");return{id:v(n,"id")??"",layout:v(n,"layout")??"flow",template:v(n,"template")??Zk,background:Qk(bt(n,"background")),phone:v(n,"phone")??"inherit",transition:v(n,"transition")??"none",notes:t!==null?Ut(t):[],blocks:e!==null?ce(e).map(([,r])=>rS(r)):[]}}function ts(n){let e=en(n),t={};return e.assets.forEach((r,i)=>{let s=nS(Ki(r));s&&(t[i]=s)}),{meta:{title:v(e.meta,"title")??"",theme:v(e.meta,"theme")??Xk,accent:v(e.meta,"accent"),fonts:eS(bt(e.meta,"fonts")),aspect:v(e.meta,"aspect")??Gk},slides:ce(e.slides).map(([,r])=>iS(r)),assets:t}}function ef(n,e,t=!1){let r=e instanceof Error?e.message:String(e);return new Br(`op ${n}${t?" (applying)":""}: ${r}`,n)}function Nm(n,e,t="ops"){if(!Array.isArray(e))throw new Br("ops must be a JSON array",-1);let r=e.map((o,l)=>{try{return Xa(o)}catch(c){throw ef(l,c)}}),i=en(n),s=rl.read(i);r.forEach((o,l)=>{try{s.check(o)}catch(c){throw ef(l,c)}}),n.transact(()=>{r.forEach((o,l)=>{try{Om(i,o)}catch(c){throw ef(l,c,!0)}})},t)}function sl(n){let e=(n||"").replace(/^#/,"");try{e=decodeURIComponent(e)}catch{}let t=e.indexOf("/");return t<0?{slide:e,block:""}:{slide:e.slice(0,t),block:e.slice(t+1)}}function tf(n,e){return n?"#"+n+(e?"/"+e:""):""}function sS(n,e){return!n||!e?null:n.querySelector(`[slides-block][data-id="${CSS.escape(e)}"]`)}function Dm({stageEl:n,getSlideId:e,onChange:t=()=>{}}){let r="",i=new AbortController,{signal:s}=i;function o(d,u){let h=sS(n,d);return h?(u?(h.setAttribute("data-selected","true"),h.setAttribute("aria-selected","true")):(h.removeAttribute("data-selected"),h.removeAttribute("aria-selected")),!0):!1}function l(){let d=e();if(!d)return;let u=tf(d,r);location.hash!==u&&history.replaceState(null,"",u)}function c(d){d!==r&&(r&&o(r,!1),r=d||"",o(r,!0),l(),t(r))}function a(){r&&(o(r,!1),r="",l(),t(""))}function f(){r&&(o(r,!0)?t(r):(r="",l(),t("")))}return n.addEventListener("click",d=>{let u=d.target.closest("[slides-block][data-id]");u&&n.contains(u)&&c(u.getAttribute("data-id"))},{signal:s}),document.addEventListener("keydown",d=>{if(d.key!=="Escape"||d.defaultPrevented||!r)return;let u=d.target instanceof Element?d.target:null;u&&u.closest("dialog, [rst-dropdown]")||(d.preventDefault(),a(),u instanceof HTMLElement&&u.blur())},{signal:s}),{select:c,clear:a,reapply:f,destroy(){i.abort()},get current(){return r}}}var Vr=.02,Rm=.01,oS=.005,lS=.02,cS=["nw","n","ne","e","se","s","sw","w"],Im=[0,1/3,2/3,1],aS=3,fS=300,dS=["heading","text","list","quote","code","table"];function vm(n){let e=Math.min(1,Math.max(Vr,n.w)),t=Math.min(1,Math.max(Vr,n.h)),r=Math.min(1-e,Math.max(0,n.x)),i=Math.min(1-t,Math.max(0,n.y));return{x:r,y:i,w:e,h:t}}function Pn(n){let e=vm(n);return{x:Lt(e.x),y:Lt(e.y),w:Lt(e.w),h:Lt(e.h)}}function uS(n,e){return n.x===e.x&&n.y===e.y&&n.w===e.w&&n.h===e.h}function hS(n){let e=new Set(Im),t=new Set(Im);for(let r of n)e.add(r.x),e.add(r.x+r.w),t.add(r.y),t.add(r.y+r.h);return{x:[...e],y:[...t]}}function rn(n,e,t){let r=null,i=t;for(let s of e){let o=Math.abs(n-s);o<=i&&(i=o,r=s)}return r}function pS(n,e,t=Rm){let r={...n},i=rn(n.x,e.x,t),s=rn(n.x+n.w,e.x,t);i!==null&&(s===null||Math.abs(i-n.x)<=Math.abs(s-n.x-n.w))?r.x=i:s!==null&&(r.x=s-n.w);let o=rn(n.y,e.y,t),l=rn(n.y+n.h,e.y,t);return o!==null&&(l===null||Math.abs(o-n.y)<=Math.abs(l-n.y-n.h))?r.y=o:l!==null&&(r.y=l-n.h),r}function mS(n,e,t,r=Rm){let{x:i,y:s,w:o,h:l}=n;if(e.includes("w")){let c=rn(i,t.x,r);c!==null&&(o+=i-c,i=c)}if(e.includes("e")){let c=rn(i+o,t.x,r);c!==null&&(o=c-i)}if(e.includes("n")){let c=rn(s,t.y,r);c!==null&&(l+=s-c,s=c)}if(e.includes("s")){let c=rn(s+l,t.y,r);c!==null&&(l=c-s)}return{x:i,y:s,w:o,h:l}}function Bm(n,e,t){return{...n,x:n.x+e,y:n.y+t}}function Um(n,e,t,r){let{x:i,y:s,w:o,h:l}=n;if(e.includes("e")&&(o=Math.max(Vr,o+t)),e.includes("s")&&(l=Math.max(Vr,l+r)),e.includes("w")){let c=Math.max(Vr,o-t);i+=o-c,o=c}if(e.includes("n")){let c=Math.max(Vr,l-r);s+=l-c,l=c}return{x:i,y:s,w:o,h:l}}function gS(n,e,{shift:t=!1,alt:r=!1}={}){let i=t?lS:oS,s={ArrowLeft:[-i,0],ArrowRight:[i,0],ArrowUp:[0,-i],ArrowDown:[0,i]}[e];if(!s)return null;let[o,l]=s;return r?Um(n,"se",o,l):Bm(n,o,l)}function yS(n,e){return!n.width||!n.height?{x:0,y:0,w:0,h:0}:{x:(e.left-n.left)/n.width,y:(e.top-n.top)/n.height,w:e.width/n.width,h:e.height/n.height}}function ol(n){return(n*100).toFixed(2)+"%"}function _m(n,e){n.style.left=ol(e.x),n.style.top=ol(e.y),n.style.width=ol(e.w),n.style.height=ol(e.h)}function Vm({stageEl:n,getSelected:e,onCommit:t,label:r}){let i=document.createElement("div");i.setAttribute("slides-canvas-overlay",""),i.setAttribute("tabindex","0"),i.setAttribute("role","group"),i.setAttribute("aria-label",r),i.hidden=!0;let s=document.createElement("div");s.setAttribute("slides-drag",""),s.dataset.surface="body",i.append(s);for(let x of["n","e","s","w"]){let b=document.createElement("div");b.setAttribute("slides-drag",""),b.dataset.surface="edge",b.dataset.side=x,i.append(b)}for(let x of cS){let b=document.createElement("div");b.setAttribute("slides-handle",""),b.dataset.handle=x,b.setAttribute("aria-hidden","true"),i.append(b)}n.append(i);let o=()=>n.querySelector('[slides-slide][data-layout="canvas"]'),l=()=>{let x=e(),b=o();return x&&b?b.querySelector(`:scope > [slides-block][data-id="${CSS.escape(x)}"]`):null},c=()=>o().getBoundingClientRect(),a=x=>yS(c(),x.getBoundingClientRect()),f=x=>Array.from(o().querySelectorAll(":scope > [slides-block]")).filter(b=>b!==x).map(a);function d(){i.isConnected||n.append(i);let x=l();if(!x){i.hidden=!0;return}let b=n.getBoundingClientRect(),E=x.getBoundingClientRect();i.hidden=!1,i.style.left=E.left-b.left+n.scrollLeft+"px",i.style.top=E.top-b.top+n.scrollTop+"px",i.style.width=E.width+"px",i.style.height=E.height+"px",i.dataset.text=dS.includes(x.getAttribute("data-block"))?"true":"false"}let u=null;function h(x,b){let E=l();if(!E||x.button!==0)return;let R=c();u={el:E,handle:b,frame:R,startX:x.clientX,startY:x.clientY,from:a(E),box:a(E),moved:!1,guides:hS(f(E)),pointerId:x.pointerId},i.setPointerCapture(x.pointerId),x.preventDefault()}i.addEventListener("pointerdown",x=>{let b=x.target.closest("[slides-handle]");if(b)return h(x,b.dataset.handle);x.target.closest("[slides-drag]")&&h(x,null)}),i.addEventListener("pointermove",x=>{if(!u||x.pointerId!==u.pointerId)return;let b=x.clientX-u.startX,E=x.clientY-u.startY;if(!u.moved&&Math.hypot(b,E)<aS)return;u.moved=!0;let R=b/u.frame.width,S=E/u.frame.height,C=u.handle?Um(u.from,u.handle,R,S):Bm(u.from,R,S);C=u.handle?mS(C,u.handle,u.guides):pS(C,u.guides),C=vm(C),u.box=C,_m(u.el,C),d()});function p(x){if(!u||x.pointerId!==u.pointerId)return;let b=u;if(u=null,!b.moved)return;let E=Pn(b.box);uS(E,Pn(b.from))||t(b.el.getAttribute("data-id"),E)}i.addEventListener("pointerup",p),i.addEventListener("pointercancel",p);let m=null,g=null;function y(){if(!g)return;clearTimeout(m),m=null;let{id:x,box:b}=g;g=null,t(x,b)}i.addEventListener("keydown",x=>{let b=l();if(!b)return;let E=gS(a(b),x.key,{shift:x.shiftKey,alt:x.altKey});if(!E)return;x.preventDefault();let R=Pn(E);_m(b,R),d(),g={id:b.getAttribute("data-id"),box:R},clearTimeout(m),m=setTimeout(y,fS)});let w=typeof ResizeObserver=="function"?new ResizeObserver(()=>d()):null;return w&&w.observe(n),{place:d,focus:()=>{i.hidden||i.focus()},destroy(){y(),w&&w.disconnect(),i.remove()}}}var Lm=["desktop","phone","both"],Fm="slides.editor.view",xS=["box","size","hidden","order"];function Pm(n){let e=n&&n.phone?n.phone:{},t={};return typeof e.hidden=="boolean"&&(t.hidden=e.hidden),Number.isInteger(e.order)&&(t.order=e.order),typeof e.size=="string"&&e.size&&(t.size=e.size),e.box&&typeof e.box=="object"&&(t.box=Pn(e.box)),t}function zn({view:n,slide:e,block:t,field:r,value:i}){if(!xS.includes(r))throw new Error(`routeEdit: ${r} is not a view-dependent field`);if(n==="phone"||r==="hidden"||r==="order"){let o=Pm(t);return i==null||i===""||i===!1?delete o[r]:o[r]=r==="box"?Pn(i):i,{op:"set_phone",slide:e,id:t.id,phone:o}}return r==="box"?{op:"set_block",slide:e,id:t.id,box:Pn(i)}:{op:"set_block",slide:e,id:t.id,props:{size:i===""?null:i}}}function zm(n,e){return{op:"set_phone",slide:n,id:e.id,phone:{}}}function $m(n){return Object.keys(Pm(n)).length>0}function bS(n){try{let e=n.getItem(Fm);return Lm.includes(e)?e:"desktop"}catch{return"desktop"}}function wS(n,e){try{n.setItem(Fm,e)}catch{}}function qm({root:n,storage:e,onChange:t}){let r=Array.from(n.querySelectorAll('input[type="radio"]')),i=bS(e);function s(o){i=o;for(let l of r)l.checked=l.value===o;wS(e,o),t(o)}return n.addEventListener("change",o=>{o.target.type==="radio"&&Lm.includes(o.target.value)&&s(o.target.value)}),s(i),{get view(){return i},set:s}}var kS={x:.1,y:.1,w:.5,h:.3},SS=["heading","text","list","quote","code","shape"];function ll(n,e,t){switch(n){case"title":return{op:"set_meta",title:e};case"theme":return{op:"set_meta",theme:e};case"accent":return{op:"set_meta",accent:e};case"accent-reset":return{op:"set_meta",accent:null};case"font-heading":case"font-body":{let r={heading:"",body:"",...t&&t.fonts?t.fonts:{}};return r[n.slice(5)]=e,!r.heading&&!r.body?{op:"set_meta",fonts:null}:{op:"set_meta",fonts:{heading:r.heading||"",body:r.body||""}}}}throw new Error(`deckOp: unknown field ${n}`)}var CS="#ffffff";function sn(n,e,t){let r=n.id;switch(e){case"layout":return{op:"set_slide",id:r,layout:t};case"template":return{op:"set_slide",id:r,template:t};case"transition":return{op:"set_slide",id:r,transition:t};case"phone":return{op:"set_slide",id:r,phone:t};case"background":{if(t==="color"){let i=n.background&&n.background.kind==="color"?n.background.value:"";return{op:"set_slide",id:r,background:{kind:"color",value:i||CS}}}return{op:"set_slide",id:r,background:{kind:"theme",value:""}}}case"background-color":return{op:"set_slide",id:r,background:{kind:"color",value:t}}}throw new Error(`slideOp: unknown field ${e}`)}function Jm(n,e,t){let r=n.indexOf(e);return r<0?null:t==="up"?r===0?null:r===1?{op:"move_slide",id:e}:{op:"move_slide",id:e,after:n[r-2]}:r>=n.length-1?null:{op:"move_slide",id:e,after:n[r+1]}}function nf(n,e){if(e==="bool")return n===!0||n==="true"||n==="on";if(n===""||n===null||n===void 0)return null;if(e==="int"){let t=Number(n);return Number.isFinite(t)?Math.trunc(t):null}return String(n)}function Ym(n,e,t,r){return{op:"set_block",slide:n,id:e.id,props:{[t]:r}}}function jm(n,e,t){return{op:"set_block",slide:n,id:e.id,region:t}}function Wm(n,e,t){return{op:"set_text",slide:n,id:e.id,markdown:t}}function Hm({view:n,slideId:e,block:t,key:r,percent:i}){let s=n==="phone"&&t.phone&&t.phone.box?t.phone.box:t.box;if(!s)return null;let o=Number(i);if(!Number.isFinite(o))return null;let l={...s,[r]:o/100};return zn({view:n,slide:e,block:t,field:"box",value:l})}function Km(n,e,t,r){let i=e.indexOf(t);return i<0?null:r==="up"?i===0?null:i===1?{op:"move_block",slide:n,id:t}:{op:"move_block",slide:n,id:t,after:e[i-2]}:i>=e.length-1?null:{op:"move_block",slide:n,id:t,after:e[i+1]}}function Xm(n,e,t,r){let i=e.map((c,a)=>({id:c.id,z:Number.isFinite(c.z)?c.z:0,i:a})).sort((c,a)=>c.z-a.z||c.i-a.i),s=i.findIndex(c=>c.id===t);if(s<0)return[];let o=r==="forward"?s+1:s-1;if(o<0||o>=i.length)return[];let[l]=i.splice(s,1);return i.splice(o,0,l),i.map((c,a)=>({...c,z:a})).filter(c=>c.z!==e[c.i].z).map(c=>({op:"set_block",slide:n,id:c.id,z:c.z}))}function Gm(n,e,t,r){let i={op:"add_block",slide:n.id,id:t,type:e,props:{}};return r&&n.blocks.some(s=>s.id===r)&&(i.after=r),e==="heading"&&(i.props.level=n.blocks.some(s=>s.type==="heading")?2:1),e==="table"&&(i.props.rows=2,i.props.cols=2),e==="columns"&&(i.props.count=2),SS.includes(e)&&(i.markdown=""),n.layout==="canvas"?(i.box={...kS},i.z=n.blocks.reduce((s,o)=>Math.max(s,Number.isFinite(o.z)?o.z+1:0),0)):i.region=Ln(e),i}function Zm(n,e,t=40){let i=(Array.isArray(n.text)?n.text:[]).map(o=>o.map(l=>l.t||"").join("")).join(" ").replace(/\s+/g," ").trim();if(!i)return e;let s=i.length>t?i.slice(0,t-1).trimEnd()+"\u2026":i;return`${e}: ${s}`}function Qm(n,e,t){let r=[{op:"register_asset",id:n.id,ref:n.ref,name:n.name||"",width:Number.isInteger(n.width)?n.width:0,height:Number.isInteger(n.height)?n.height:0,alt:n.alt||""}];return e&&t&&r.push({op:"set_block",slide:e,id:t,props:{asset:n.id}}),r}function eg(n){return{op:"remove_asset",id:n}}function tg(n){let e=n&&n.assets||{},t=new Set;for(let r of n&&n.slides||[]){let i=r.background;i&&i.kind==="image"&&i.value&&t.add(i.value);for(let s of r.blocks||[]){let o=s.props&&s.props.asset;typeof o=="string"&&o&&t.add(o)}}return Object.keys(e).filter(r=>!t.has(r)).map(r=>({id:r,...e[r]}))}function ae(n,e){if(!n)return;if(n.type==="checkbox"){n.checked=!!e;return}if(n===document.activeElement&&(n.tagName==="SELECT"||n.tagName==="INPUT"&&["text","number","url","color"].includes(n.type)))return;let t=e==null?"":String(e);n.value!==t&&(n.value=t)}function ns(n,e,t){for(let r of n.querySelectorAll(`[${e}]`))r.hidden=!t(r.getAttribute(e))}var TS={level:1,size:"m",align:"start",style:"bullet",fit:"cover",count:2,kind:"rect",radius:0,strokeWidth:1,header:!1,rows:2,cols:2,decorative:!1},ES="l";function AS(n){return(Array.isArray(n.text)?n.text:[]).map(t=>t.map(r=>r.t||"").join("")).join(` |
| -`)}function OS(n,e){return e==="phone"&&n.phone&&n.phone.box?n.phone.box:n.box||null}var MS=n=>(Math.round(n*1e3)/10).toFixed(1);function ng({form:n,slide:e,block:t,view:r,labels:i}){let s=i.types[t.type]||t.type,o=n.parentElement.querySelector("[slides-block-type]");o&&(o.textContent=s),ns(n,"data-types",f=>f.split(" ").includes(t.type)),ns(n,"data-layout",f=>f===e.layout),n.querySelector("[slides-phone-badge]").hidden=!$m(t);let l=t.props||{};for(let f of n.querySelectorAll("[data-prop]")){let d=f.dataset.prop,u=l[d];u==null&&(u=d==="size"&&t.type==="spacer"&&f.name==="rst-block-spacer-size"?ES:TS[d]),ae(f,u===void 0?"":u)}for(let f of n.querySelectorAll("[data-text]"))ae(f,AS(t));for(let f of n.querySelectorAll('[data-place="region"]'))ae(f,t.region||Ln(t.type));let c=OS(t,r);for(let f of n.querySelectorAll("[data-box]"))ae(f,c?MS(c[f.dataset.box]):"");let a=t.phone||{};for(let f of n.querySelectorAll("[data-phone]")){let d=f.dataset.phone;d==="hidden"?ae(f,a.hidden===!0):d==="order"?ae(f,Number.isInteger(a.order)?a.order:""):ae(f,a.size||"")}}function rg({el:n,slide:e,block:t,view:r}){let i=e.id;if(n.dataset.prop){let s=n.dataset.prop,o=n.type==="checkbox"?n.checked:n.value;return s==="size"&&t.type!=="spacer"?[zn({view:r,slide:i,block:t,field:"size",value:o})]:[Ym(i,t,s,nf(o,n.dataset.kind||""))]}if(n.dataset.text)return[Wm(i,t,n.value.trim())];if(n.dataset.place==="region")return[jm(i,t,n.value)];if(n.dataset.box){let s=Hm({view:r,slideId:i,block:t,key:n.dataset.box,percent:n.value});return s?[s]:[]}if(n.dataset.phone){let s=n.dataset.phone,o;return s==="hidden"?o=n.checked:s==="order"?o=n.value===""?null:nf(n.value,"int"):o=n.value,[zn({view:"phone",slide:i,block:t,field:s,value:o})]}return[]}var NS={sign:"uploading",put:"uploading",register:"checking",op:"checking",done:"done"};function ig(n,e){if(!n)return"";if(n.serverMessage)return n.serverMessage;switch(n.code){case"type":return e.type;case"toolarge":case"too_large":return e.toolarge;case"altfirst":return e.altfirst;default:return e.failed}}function DS({list:n,none:e,assets:t,removeLabel:r}){if(!n)return;e&&(e.hidden=t.length>0);let i=new Map;for(let l of n.querySelectorAll("[data-asset]"))i.set(l.dataset.asset,l);let s=[];for(let l of t){let c=i.get(l.id);if(c)i.delete(l.id);else{c=document.createElement("li"),c.dataset.asset=l.id;let u=document.createElement("span");u.setAttribute("slides-asset-name","");let h=document.createElement("button");h.type="button",h.setAttribute("rst-btn","sm"),h.dataset.removeAsset=l.id,c.append(u,h)}let a=l.name||String(l.ref||"").slice(0,8),f=c.querySelector("[slides-asset-name]");f&&f.textContent!==a&&(f.textContent=a);let d=c.querySelector("[data-remove-asset]");d&&(d.textContent!==r&&(d.textContent=r),d.setAttribute("aria-label",`${r}: ${a}`)),s.push(c)}for(let l of i.values())l.remove();let o=n.firstElementChild;for(let l of s){if(o===l){o=l.nextElementSibling;continue}n.insertBefore(l,o)}}function sg({root:n,getView:e,getSlideId:t,getSelected:r,getBlock:i,commit:s,upload:o,labels:l}){let c=n.querySelector("[slides-asset-input]"),a=n.querySelector("[slides-asset-status]"),f=n.querySelector("[slides-unused-list]"),d=n.querySelector("[slides-unused-none]");function u(x,b){a&&(a.dataset.state=x,a.textContent=b||"")}async function h(x){if(!x||!o)return;let b=i(),E=t(),R=b&&b.props||{};try{await o(x,{alt:typeof R.alt=="string"?R.alt:"",decorative:R.decorative===!0,applyOp:S=>s(Qm(S,E,b?b.id:""))})}catch(S){u("error",ig(S,l));return}finally{c&&(c.value="")}u("done",l.done)}function p(x){if(x.target!==c)return;let b=c.files&&c.files[0];b&&h(b)}function m(x){let b=x.target.closest("[data-remove-asset]");!b||!n.contains(b)||s([eg(b.dataset.removeAsset)])}function g(){DS({list:f,none:d,assets:tg(e()),removeLabel:l.remove})}let y=new AbortController,{signal:w}=y;return n.addEventListener("change",p,{signal:w}),n.addEventListener("click",m,{signal:w}),{fill:g,onState(x,b){if(x==="error")return u("error",ig(b,l));let E=NS[x];E&&u(x,l[E])},destroy(){y.abort()},chose:h,get selected(){return r()}}}var IS="abcdefghijklmnopqrstuvwxyz234567";function $n(){let n=new Uint8Array(12);globalThis.crypto.getRandomValues(n);let e="";for(let t of n)e+=IS[t&31];return e}function og(n,e,t){let r=n&&n.querySelector("[slides-slide]");if(!r)return t;let i=getComputedStyle(r).getPropertyValue(e).trim();return/^#[0-9a-fA-F]{6}$/.test(i)?i.toLowerCase():t}function _S({list:n,none:e,blocks:t,selected:r,label:i}){e&&(e.hidden=t.length>0);let s=new Map;for(let c of n.querySelectorAll("[data-select-block]"))s.set(c.dataset.selectBlock,c);let o=[];for(let c of t){let a=s.get(c.id);a?s.delete(c.id):(a=document.createElement("button"),a.type="button",a.setAttribute("rst-btn","sm"),a.dataset.selectBlock=c.id);let f=i(c);a.textContent!==f&&(a.textContent=f);let d=c.id===r?"true":"false";a.getAttribute("aria-pressed")!==d&&a.setAttribute("aria-pressed",d),o.push(a)}for(let c of s.values())c.remove();let l=n.firstElementChild;for(let c of o){if(l===c){l=c.nextElementSibling;continue}n.insertBefore(c,l)}}function lg({root:n,ydoc:e,stageEl:t,getSlideId:r,getSelected:i,getView:s,commit:o,onCommand:l,select:c,labels:a,upload:f}){let d={};for(let S of n.querySelectorAll("form[data-section]"))d[S.dataset.section]=S;let u=(S,C)=>S.querySelector(`[name="${C}"]`),h={meta:null,slide:null,block:null,deck:null},p=sg({root:n,getView:()=>h.deck||{slides:[],assets:{}},getSlideId:r,getSelected:i,getBlock:()=>h.block,commit:o,upload:f,labels:a.upload||{}});function m(S){let C=d.deck;ae(u(C,"rst-deck-title"),S.title),ae(u(C,"rst-deck-theme"),S.theme),ae(u(C,"rst-deck-accent"),S.accent||og(t,"--slides-accent","#000000")),ae(u(C,"rst-deck-font-heading"),S.fonts?S.fonts.heading:""),ae(u(C,"rst-deck-font-body"),S.fonts?S.fonts.body:"")}function g(S,C){let M=d.slide;for(let Y of M.querySelectorAll('input[name="rst-slide-layout"]'))Y.checked=Y.value===S.layout;ae(u(M,"rst-slide-template"),S.template);let B=S.background||{kind:"theme",value:""};ae(u(M,"rst-slide-background"),B.kind==="color"?"color":"theme"),ae(u(M,"rst-slide-background-color"),B.kind==="color"&&B.value?B.value:og(t,"--slides-bg","#ffffff")),ae(u(M,"rst-slide-transition"),S.transition),ae(u(M,"rst-slide-phone"),S.phone),ns(M,"data-layout",Y=>Y===S.layout),ns(M,"data-background",Y=>Y===B.kind);let O=C.indexOf(S.id);M.querySelector('[data-command="slide-move-up"]').disabled=O<=0,M.querySelector('[data-command="slide-move-down"]').disabled=O<0||O>=C.length-1,y(S)}function y(S){_S({list:d.slide.querySelector("[slides-blocks-buttons]"),none:d.slide.querySelector("[slides-blocks-none]"),blocks:S.blocks,selected:i(),label:C=>Zm(C,a.types[C.type]||C.type)})}function w(){let S=ts(e),C=S.slides.map(Y=>Y.id),M=S.slides.find(Y=>Y.id===r())||null,B=M&&M.blocks.find(Y=>Y.id===i())||null;h={meta:S.meta,slide:M,block:B,slides:S.slides,deck:S},m(S.meta),p.fill();for(let Y of n.querySelectorAll("[slides-when-slide]"))Y.hidden=!M;M&&g(M,C);for(let Y of n.querySelectorAll("[slides-when-block]"))Y.hidden=!B;let O=n.querySelector("[slides-inspector-empty]");O&&(O.hidden=!M||!!B),B&&ng({form:d.block,slide:M,block:B,view:s(),labels:a})}function x(S){let C=S.target,M=C.closest("form[data-section]");if(!M)return;let B=C.name||"";try{if(M===d.deck&&h.meta){let O=B.replace("rst-deck-","");["title","theme","accent","font-heading","font-body"].includes(O)&&o([ll(O,C.value,h.meta)])}else if(M===d.slide&&h.slide){let O=h.slide;B==="rst-slide-layout"?o([sn(O,"layout",C.value)]):B==="rst-slide-template"?o([sn(O,"template",C.value)]):B==="rst-slide-transition"?o([sn(O,"transition",C.value)]):B==="rst-slide-phone"?o([sn(O,"phone",C.value)]):B==="rst-slide-background-color"?o([sn(O,"background-color",C.value)]):B==="rst-slide-background"&&o([C.value==="color"?sn(O,"background-color",u(M,"rst-slide-background-color").value):sn(O,"background","theme")])}else if(M===d.block&&h.slide&&h.block){let O=rg({el:C,slide:h.slide,block:h.block,view:s()});O.length&&o(O)}}catch(O){console.error("inspector:",O),w()}}function b(S){let C=S.target.closest("button");if(!(!C||!n.contains(C))){if(C.dataset.selectBlock)return c(C.dataset.selectBlock);if(C.dataset.addBlock&&h.slide){let M=C.closest("details");M&&(M.open=!1);let B=$n();return o([Gm(h.slide,C.dataset.addBlock,B,i())]),c(B)}C.dataset.command&&l(C.dataset.command)}}let E=new AbortController,{signal:R}=E;return n.addEventListener("change",x,{signal:R}),n.addEventListener("submit",S=>S.preventDefault(),{signal:R}),n.addEventListener("click",b,{signal:R}),{fill:w,onUploadState:p.onState,destroy(){p.destroy(),E.abort()},get slide(){return h.slide},get block(){return h.block}}}function cg(n){async function e(u=n.slideId()){let h=$n(),p={op:"add_slide",id:h,layout:"flow",template:"title-body"};u&&(p.after=u),n.commit([p,{op:"add_block",slide:h,id:$n(),type:"heading",region:"heading",props:{level:1},markdown:""}]),await n.flush(),location.hash="#"+h}async function t(u=n.slideId()){if(!u)return;let h=$n();n.commit([{op:"duplicate_slide",id:u,new_id:h,new_block_ids:Ya(n.ydoc(),u).map(()=>$n())}]),await n.flush(),location.hash="#"+h}function r(u,h){let p=Jm(Ze(n.ydoc()),u,h);p&&n.commit([p])}let i=n.confirmEl,s="";function o(u){s=u||n.slideId(),s&&(s!==n.slideId()&&(location.hash="#"+s),i.hidden=!1,i.querySelector('[data-command="slide-delete"]').focus())}function l(){i.hidden=!0;let u=s;s="",u&&Ze(n.ydoc()).includes(u)&&n.commit([{op:"remove_slide",id:u}])}let c=u=>()=>{let h=n.slideId(),p=n.blockJSON(h,n.selected());p&&u(h,p,n.slideJSON(h))},a=u=>c((h,p)=>{let m=Km(h,Ya(n.ydoc(),h),p.id,u);m&&n.commit([m])}),f=u=>c((h,p,m)=>{let g=Xm(h,m.blocks,p.id,u);g.length&&n.commit(g)}),d={"new-slide":()=>e(),"slide-add-after":()=>e(),"duplicate-slide":()=>t(),"slide-move-up":()=>r(n.slideId(),"up"),"slide-move-down":()=>r(n.slideId(),"down"),"slide-delete-ask":()=>o(""),"slide-delete":l,"slide-delete-cancel":()=>{i.hidden=!0,s=""},"accent-reset":()=>n.commit([ll("accent-reset")]),"block-move-up":a("up"),"block-move-down":a("down"),"block-forward":f("forward"),"block-back":f("back"),"block-delete":c((u,h)=>{n.clearSelection(),n.commit([{op:"remove_block",slide:u,id:h.id}])}),"phone-reset":c((u,h)=>n.commit([zm(u,h)])),undo:()=>n.undo(),redo:()=>n.redo(),present:()=>n.present()};return{has:u=>u in d,run(u){u in d&&d[u]()},strip(u,h){u==="add-after"?e(h):u==="duplicate"?t(h):u==="move-up"||u==="move-down"?r(h,u.slice(5)):u==="delete"&&o(h)},moveSlide:r}}function cl(n=globalThis.crypto){let e=new Uint8Array(8);return n.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}function ag(n){let e=String(n||"").trim();if(!e)return"";let r=(e.includes("@")?e.slice(0,e.indexOf("@")):e).split(/[\s._-]+/).filter(Boolean);return r.length===0?"":r.length===1?[...r[0]].slice(0,2).join("").toUpperCase():(([...r[0]][0]||"")+([...r[1]][0]||"")).toUpperCase()}function RS(n){return!n||typeof n!="object"||typeof n.client!="string"||!n.client?null:{client:n.client,name:typeof n.name=="string"?n.name:"",colour:typeof n.colour=="string"?n.colour:"",slide:typeof n.slide=="string"?n.slide:"",block:typeof n.block=="string"?n.block:""}}function vS(n,e){let t=new Map;for(let r of Array.isArray(n)?n:[]){let i=RS(r);!i||i.client===e||t.set(i.client,i)}return t}function BS(n,e){let t=[],r=[],i=[];for(let[s,o]of e){let l=n.get(s);l?(l.slide!==o.slide||l.block!==o.block)&&r.push(o):t.push(o)}for(let[s,o]of n)e.has(s)||i.push(o);return{added:t,moved:r,removed:i}}function fg({post:n,clientId:e,getState:t,setTimeoutFn:r=setTimeout,clearTimeoutFn:i=clearTimeout,heartbeatMs:s=2e4,changeMs:o=200}){let l=null,c=null,a=!1,f=!0,d=new Map,u=e;function h(){let y=t()||{};try{let w=n({client:u,slide:y.slide||"",block:y.block||""});w&&typeof w.catch=="function"&&w.catch(()=>{})}catch{}}function p(){l!==null&&i(l),l=r(()=>{l=null,!f&&!a&&(h(),p())},s)}function m(){c!==null&&(i(c),c=null)}function g(){m(),h(),p()}return{start(){f=!1,a=!1,g()},stop(){f=!0,m(),l!==null&&i(l),l=null},changed(){f||a||(m(),c=r(()=>{c=null,g()},o))},noteHidden(){f||(a=!0,m(),l!==null&&i(l),l=null)},noteVisible(){f||!a||(a=!1,g())},applySet(y){let w=vS(y,u),x=BS(d,w);return d=w,{...x,people:Array.from(w.values())}},get people(){return Array.from(d.values())},setClientId(y){!y||y===u||(u=y,!f&&!a&&g())},get clientId(){return u}}}var US=/^[0-9a-f]{16}$/;function al(n){return`slides.presence.client.${n}`}function dg({storage:n,deck:e,make:t=cl}){let r=al(e);try{let s=n&&n.getItem(r);if(typeof s=="string"&&US.test(s))return s}catch{}let i=t();try{n&&n.setItem(r,i)}catch{}return i}function ug({channel:n,getId:e,onTaken:t}){return n?(n.onmessage=r=>{let i=r&&r.data;!i||typeof i.id!="string"||i.id!==e()||(i.type==="claim"?n.postMessage({type:"taken",id:i.id}):i.type==="taken"&&t())},{claim(){n.postMessage({type:"claim",id:e()})},close(){n.onmessage=null;try{n.close()}catch{}}}):{claim(){},close(){}}}var rf=3,VS=/^#[0-9a-fA-F]{3,8}$/;function rs(n,e){return String(n||"").replace(/\{(\w+)\}/g,(t,r)=>r in e?String(e[r]):t)}function hg(n){return VS.test(n.colour||"")?n.colour:""}function pg({stripEl:n,stageEl:e,liveEl:t,text:r={},getSlideId:i=()=>""}){let s=[],o=document.createElement("div");o.setAttribute("slides-presence-marks",""),e&&e.append(o);function l(p){let m=rs(r.slide,{name:p.name}),g=document.createElement("span");g.setAttribute("slides-presence-avatar",""),g.setAttribute("role","img"),g.setAttribute("aria-label",m),g.title=m;let y=hg(p);y&&g.style.setProperty("--slides-presence-colour",y);let w=document.createElement("span");return w.setAttribute("aria-hidden","true"),w.textContent=ag(p.name),g.append(w),g}function c(p){let m=rs(r.more,{n:p}),g=document.createElement("span");return g.setAttribute("slides-presence-more",""),g.setAttribute("role","img"),g.setAttribute("aria-label",m),g.title=m,g.textContent="+"+p,g}function a(p,m){let g=p.querySelector("[slides-thumb]")||p,y=g.querySelector("[slides-presence-avatars]");if(m.length===0){y&&y.remove();return}y||(y=document.createElement("div"),y.setAttribute("slides-presence-avatars",""),g.append(y)),y.replaceChildren();for(let w of m.slice(0,rf))y.append(l(w));m.length>rf&&y.append(c(m.length-rf))}function f(){if(!n)return;let p=new Map;for(let m of s)m.slide&&(p.has(m.slide)||p.set(m.slide,[]),p.get(m.slide).push(m));for(let m of n.querySelectorAll("[slides-strip-item]"))a(m,p.get(m.dataset.slideId)||[])}function d(p){let m=document.createElement("div");m.setAttribute("slides-presence-mark","");let g=hg(p);g&&m.style.setProperty("--slides-presence-colour",g);let y=document.createElement("span");y.setAttribute("slides-presence-chip",""),y.setAttribute("role","img");let w=rs(r.block,{name:p.name});return y.setAttribute("aria-label",w),y.title=w,y.textContent=p.name,m.append(y),m}function u(){if(!e)return;o.isConnected||e.append(o),o.replaceChildren();let p=i();if(!p)return;let m=e.getBoundingClientRect();for(let g of s){if(g.slide!==p||!g.block)continue;let y=e.querySelector(`[slides-block][data-id="${CSS.escape(g.block)}"]`);if(!y)continue;let w=y.getBoundingClientRect(),x=d(g);x.style.left=w.left-m.left+e.scrollLeft+"px",x.style.top=w.top-m.top+e.scrollTop+"px",x.style.width=w.width+"px",x.style.height=w.height+"px",o.append(x)}}let h=typeof ResizeObserver=="function"&&e?new ResizeObserver(()=>u()):null;return h&&h.observe(e),{render(p){s=Array.isArray(p)?p:[],f(),u()},announce({added:p=[],removed:m=[]}={}){if(!t)return"";let g=[...p.map(w=>rs(r.joined,{name:w.name})),...m.map(w=>rs(r.left,{name:w.name}))].filter(Boolean);if(g.length===0)return"";let y=g.join(" ");return t.textContent=y,y},place:u,destroy(){if(h&&h.disconnect(),o.remove(),n)for(let p of n.querySelectorAll("[slides-presence-avatars]"))p.remove()}}}var LS=["image/png","image/jpeg","image/webp","image/svg+xml"],$e=class extends Error{constructor(e,t=""){super(e),this.name="UploadError",this.code=e,this.serverMessage=t}};async function FS(n){let e={width:0,height:0};try{if(typeof createImageBitmap=="function"&&typeof n.arrayBuffer=="function"){let r=await createImageBitmap(n),i={width:r.width,height:r.height};return typeof r.close=="function"&&r.close(),i}}catch{}if(typeof Image!="function"||typeof URL>"u"||!URL.createObjectURL)return e;let t=URL.createObjectURL(n);try{return await new Promise(r=>{let i=new Image;i.onload=()=>r({width:i.naturalWidth||0,height:i.naturalHeight||0}),i.onerror=()=>r(e),i.src=t})}finally{URL.revokeObjectURL(t)}}async function PS(n){let e=globalThis.crypto&&globalThis.crypto.subtle;if(!e)throw new $e("nohash");let t=await e.digest("SHA-256",await n.arrayBuffer());return Array.from(new Uint8Array(t),r=>r.toString(16).padStart(2,"0")).join("")}function zS(n){if(!n)throw new $e("nofile");if(!LS.includes(String(n.type||"").toLowerCase()))throw new $e("type");if(!(n.size>0)||n.size>20971520)throw new $e("toolarge")}function mg({sign:n,put:e,register:t,applyOp:r,measure:i=FS,hash:s=PS,onState:o=()=>{}}){let l=!1;async function c(a,{alt:f="",decorative:d=!1,applyOp:u}={}){if(l)throw new $e("busy");if(zS(a),!String(f).trim()&&!d)throw new $e("altfirst");l=!0;try{o("sign");let h=await s(a),p=await n({name:a.name||"",size:a.size,type:a.type,hash:h});if(!p||!p.url||!p.ref)throw new $e("failed");o("put"),await e(p.url,a,p.headers||{}),o("register");let{width:m,height:g}=await i(a),y=await t({ref:p.ref,name:a.name||"",width:m,height:g,alt:String(f).trim(),decorative:!!d});if(!y||!y.id||!y.ref)throw new $e("failed");return o("op"),await(u||r)(y),o("done",y),y}catch(h){let p=h instanceof $e?h:new $e("failed",h&&h.message?h.message:"");throw o("error",p),p}finally{l=!1}}return{upload:c,get busy(){return l}}}async function sf(n){let e=null;try{e=await n.json()}catch{}let t=e&&typeof e.error=="string"?e.error:`http_${n.status}`;return new $e(t,e&&typeof e.message=="string"?e.message:"")}var $S=250,qn="remote",gg="local",qS=600,yg="slides.editor.notes";async function xg(n){let e=await fetch(n,{credentials:"same-origin"});if(!e.ok)throw new Error(`load ${n}: ${e.status}`);return{frames:Ap(new Uint8Array(await e.arrayBuffer())),seq:Number(e.headers.get("Slides-Seq"))}}async function JS(n){let e=n.dataset.deck,t=`/d/${e}/updates`,r=`/d/${e}/stream`,i=async(k,N)=>{let I=await fetch(`/d/${e}/slides/${k}.html?vp=${N}`,{credentials:"same-origin"});if(!I.ok)throw new Error(`slide ${k}: ${I.status}`);return I.text()},s=Number(n.dataset.seq)||0,o=k=>{Number.isFinite(k)&&k>s&&(s=k)},l=k=>`/d/${e}/slides/${k}.svg?seq=${s}`,c=await Np(n),a=n.querySelector("[slides-editor-title]"),f=n.querySelector("[slides-strip]"),d=n.querySelector("[slides-stage-pane]"),u=d.querySelector("[slides-stage]"),h=d.querySelector("[slides-stage-phone]"),p=d.querySelector("[slides-notes-pane]"),m=n.querySelector("[slides-inspector]"),g=n.querySelector("[slides-present-form]"),y=om(n.querySelector("[slides-link-dialog]")),w={slide:n.dataset.textSlide},x={slide:n.dataset.textPresenceSlide,block:n.dataset.textPresenceBlock,more:n.dataset.textPresenceMore,joined:n.dataset.textPresenceJoined,left:n.dataset.textPresenceLeft},b={};for(let k of Object.keys(n.dataset))k.startsWith("type")&&(b[k.slice(4).toLowerCase()]=n.dataset[k]);let E={uploading:n.dataset.textUploadUploading,checking:n.dataset.textUploadChecking,done:n.dataset.textUploadDone,failed:n.dataset.textUploadFailed,toolarge:n.dataset.textUploadToolarge,type:n.dataset.textUploadType,altfirst:n.dataset.textUploadAltfirst,remove:n.dataset.textAssetRemove},R=async(k,N)=>{let I=await fetch(`/d/${e}${k}`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(N)});if(!I.ok)throw await sf(I);return I.json()},S=mg({sign:k=>R("/uploads",k),put:async(k,N,I)=>{let Q=k.startsWith("/"),Se=await fetch(k,{method:"PUT",credentials:Q?"same-origin":"omit",headers:I,body:N});if(!Se.ok)throw await sf(Se)},register:k=>R("/assets",k),applyOp:()=>{},onState:(k,N)=>{De&&De.onUploadState(k,N)}}),C=k=>c.save(k),M=null,B=null,O=null,Y=null,ke=null,fe=null,De=null,ft=null,Jn=null,Qe=null,is=null,Yn="desktop",ss=pg({stripEl:f,stageEl:u,liveEl:n.querySelector("[slides-presence-live]"),text:x,getSlideId:()=>O?O.slideId:""}),ls=null;try{ls=globalThis.sessionStorage}catch{}let wt=fg({clientId:dg({storage:ls,deck:e}),post:k=>fetch(`/d/${e}/presence`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)}),getState:()=>({slide:O?O.slideId:"",block:fe?fe.current:""})}),lf=null;try{lf=new BroadcastChannel(al(e))}catch{}ug({channel:lf,getId:()=>wt.clientId,onTaken:()=>{let k=cl();try{ls&&ls.setItem(al(e),k)}catch{}wt.setClientId(k)}}).claim();let cf=sm({undo:()=>B&&B.undo(),redo:()=>B&&B.redo(),link:k=>lm(k,y)});function cs(k){try{B&&B.stopCapturing(),Nm(M,k,gg)}catch(N){console.error("ops:",N),De&&De.fill()}}let af=k=>ts(M).slides.find(N=>N.id===k)||null,ff=(k,N)=>{let I=af(k);return I&&I.blocks.find(Q=>Q.id===N)||null};function df(){let k=Ze(M),{slide:N}=sl(location.hash);return k.includes(N)?N:k[0]||""}async function as(k){if(O)try{await O.load(k),Y&&Yn==="both"&&await Y.load(k)}catch(N){console.error("stage:",N)}}async function fl(){if(O)try{await O.refresh(),Y&&Yn==="both"&&await Y.refresh()}catch(k){console.error("stage:",k)}}function uf(k){c.loadFailed(!1),ke&&ke.setCurrent(k),p&&(p.hidden=!k||!hf());let N=n.querySelector('[data-command="duplicate-slide"]');N&&(N.disabled=!k),fe&&fe.reapply(),De&&De.fill(),ft&&ft.place(),ss.place(),wt.changed()}function bg(){c.loadFailed(!0)}function dl(){is&&clearTimeout(is),is=setTimeout(()=>{is=null,ke&&ke.flush()},qS)}let ul=!1;function hl(){ul||(ul=!0,setTimeout(async()=>{try{Jn&&await Jn.flush()}finally{ul=!1}await fl()},0))}let pl=!1;function ml(){pl||(pl=!0,requestAnimationFrame(()=>{pl=!1,De&&De.fill()}))}function wg(k,N,I){let Q=Ze(k);N.observeDeep((Se,kt)=>{let et=tm(Se,N),tt=O?O.slideId:"";if(et.order){ke.sync();let qe=Ze(k);if(!qe.includes(tt)){let j=Zp(Q,qe,tt);location.hash=j?"#"+j:"",j||as("")}Q=qe}for(let qe of et.text)ke.mark(qe);for(let qe of et.structure)ke.mark(qe),qe===tt&&(kt.origin===qn?as(tt):hl());kt.origin===qn&&dl(),ml()}),I.observe((Se,kt)=>{let et=I.get("title");if(typeof et=="string"&&a&&(a.textContent=et,document.title=et),[...Se.keysChanged].some(tt=>tt!=="title")){for(let tt of Ze(k))ke.mark(tt);kt.origin===qn?(fl(),dl()):hl()}ml()}),k.getMap("assets").observe((Se,kt)=>{for(let et of Ze(k))ke.mark(et);kt.origin===qn?(fl(),dl()):hl(),ml()})}function kg(k){return Op({post:async N=>{let I=await fetch(t,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/octet-stream"},body:N}),Q=k();if(I.ok){let Se=Number(I.headers.get("Slides-Seq"));Q&&Number.isFinite(Se)&&Q.noteOwnSeq(Se),o(Se)}return I.ok&&ke&&ke.flush(),I},mergeUpdates:qd,debounceMs:$S,onStatus:N=>{N==="failed"&&(c.drop(),gl.reportDivergence()),C(Mp(N))}})}function hf(){try{return localStorage.getItem(yg)!=="off"}catch{return!0}}let Lr=d.querySelector("[slides-notes-toggle] input");Lr&&(Lr.checked=hf(),Lr.addEventListener("change",()=>{try{localStorage.setItem(yg,Lr.checked?"on":"off")}catch{}p&&(p.hidden=!Lr.checked||!(O&&O.slideId))}));async function pf(k){Yn=k,d.dataset.view=k,h.hidden=k!=="both",O&&(await O.setViewport(k==="phone"?"phone":"desktop"),k==="both"&&await Y.load(O.slideId),De&&De.fill(),ft&&ft.place())}async function mf(){let{frames:k,seq:N}=await xg(Ba(t,{since:0}));o(N);let I=new it;for(let j of k)Cc(I,j,qn);let Q=I.getArray("slides"),Se=null,kt=kg(()=>Se);I.on("update",(j,Ce)=>{Ce!==qn&&(gl.diverged||(C("saving"),kt.enqueue(j)))});let et=O?O.slideId:n.dataset.slide,tt=fe?fe.current:sl(location.hash).block;O&&O.destroy(),Y&&Y.destroy(),ft&&ft.destroy(),ke&&ke.destroy(),fe&&fe.destroy(),De&&De.destroy(),Qe&&Qe.stop(),B&&B.destroy(),M=I,B=new gr([Q,I.getMap("meta"),I.getMap("assets")],{trackedOrigins:new Set([le,gg]),captureTimeout:500}),Jn=kt,ke=Qp({root:f,ydoc:I,thumbURL:l,slideLabel:w.slide,template:n.querySelector("[slides-strip-item-template]"),onCommand:(j,Ce)=>jn.strip(j,Ce)}),ke.sync(),O=ja({root:d,ydoc:I,slideId:et,fetchSlide:i,keys:cf,onLoaded:uf,onError:bg}),Y=ja({el:h,ydoc:I,slideId:"",fetchSlide:i,keys:cf,vp:"phone",readOnly:!0}),fe=Dm({stageEl:u,getSlideId:()=>O.slideId,onChange:()=>{De.fill(),ft.place(),ss.place(),wt.changed()}}),De=lg({root:m,ydoc:I,stageEl:u,getSlideId:()=>O.slideId,getSelected:()=>fe.current,getView:()=>Yn,commit:cs,onCommand:j=>jn.run(j),select:j=>{fe.select(j),O.slideId&&ft&&ft.focus()},labels:{types:b,upload:E},upload:(j,Ce)=>S.upload(j,Ce)}),ft=Vm({stageEl:u,getSelected:()=>fe.current,label:n.dataset.textCanvasSelected,onCommit:(j,Ce)=>{let on=ff(O.slideId,j);on&&cs([zn({view:Yn,slide:O.slideId,block:on,field:"box",value:Ce})])}}),wg(I,Q,I.getMap("meta"));let qe=df();qe!==O.slideId?await as(qe):uf(qe),tt&&fe.select(tt),await pf(Yn),Se=Dp({initialSeq:Number.isFinite(N)?N:0,openStream:(j,Ce)=>{let on=new EventSource(r,{withCredentials:!0});return on.addEventListener("update",Fr=>j(Number(Fr.data))),on.addEventListener("error",Fr=>Ce(Fr)),on.addEventListener("presence",Fr=>{let yf=[];try{yf=JSON.parse(Fr.data)}catch{}let xf=wt.applySet(yf);ss.render(xf.people),ss.announce(xf)}),{close:()=>on.close()}},fetchSince:async j=>{let Ce=await xg(Ba(t,{since:j}));return o(Ce.seq),{bytes:Ce.frames,seq:Ce.seq}},onUpdates:j=>{if(!gl.diverged)for(let Ce of j)Cc(I,Ce,qn)},onError:j=>{console.error("live updates:",j)}}),Qe=Se,Qe.start(),document.hidden&&Qe.noteHidden(),wt.start(),document.hidden&&wt.noteHidden()}let gl=Ip({attemptResync:mf,onDiverged:()=>C("retrying"),onRecovered:()=>C("saved")}),gf=null;try{gf=globalThis.localStorage}catch{}qm({root:d.querySelector("[slides-switcher]"),storage:gf,onChange:k=>{pf(k)}}),await mf(),C("saved");let jn=cg({ydoc:()=>M,commit:cs,flush:()=>Jn.flush(),slideId:()=>O.slideId,selected:()=>fe.current,slideJSON:af,blockJSON:ff,undo:()=>B.undo(),redo:()=>B.redo(),present:()=>g&&g.requestSubmit(),clearSelection:()=>fe.clear(),confirmEl:m.querySelector("[slides-confirm]")});em({root:f,getIDs:()=>Ze(M),onMove:k=>cs([k]),onNudge:jn.moveSlide}),n.addEventListener("click",k=>{let N=k.target.closest("[data-command]");if(!N||m.contains(N)||!jn.has(N.dataset.command))return;let I=N.closest("details");I&&(I.open=!1),jn.run(N.dataset.command)}),document.addEventListener("keydown",k=>{if(k.defaultPrevented||!(k.ctrlKey||k.metaKey))return;let I=k.key.toLowerCase(),Q=null;I==="enter"&&!k.shiftKey?Q="new-slide":I==="d"&&!k.shiftKey?Q="duplicate-slide":I==="f"&&k.shiftKey?Q="present":I==="z"&&!k.target.closest(".ProseMirror")?Q=k.shiftKey?"redo":"undo":I==="y"&&!k.target.closest(".ProseMirror")&&(Q="redo"),Q&&(k.preventDefault(),jn.run(Q))}),addEventListener("hashchange",async()=>{let k=df(),{block:N}=sl(location.hash);k!==O.slideId&&await as(k),N?fe.select(N):location.hash===tf(O.slideId)&&fe.clear()}),addEventListener("visibilitychange",()=>{document.hidden?(Qe&&Qe.noteHidden(),wt.noteHidden()):(Qe&&Qe.noteActivity(),wt.noteVisible())});for(let k of["pointermove","scroll","keydown","focus"])addEventListener(k,()=>Qe&&Qe.noteActivity(),{passive:!0,capture:!0});addEventListener("beforeunload",()=>{let k=Jn&&Jn.pendingBytes();if(!k)return;let N=new Blob([k],{type:"application/octet-stream"});navigator.sendBeacon(t,N)||fetch(t,{method:"POST",credentials:"same-origin",keepalive:!0,headers:{"Content-Type":"application/octet-stream"},body:k}).catch(()=>{})})}var of=document.querySelector("[slides-editor]");of&&JS(of).catch(n=>{of.setAttribute("data-editor-failed","1"),console.error(n)});export{JS as mountEditor}; |
| +`)}function OS(n,e){return e==="phone"&&n.phone&&n.phone.box?n.phone.box:n.box||null}var MS=n=>(Math.round(n*1e3)/10).toFixed(1);function ng({form:n,slide:e,block:t,view:r,labels:i}){let s=i.types[t.type]||t.type,o=n.parentElement.querySelector("[slides-block-type]");o&&(o.textContent=s),ns(n,"data-types",f=>f.split(" ").includes(t.type)),ns(n,"data-layout",f=>f===e.layout),n.querySelector("[slides-phone-badge]").hidden=!$m(t);let l=t.props||{};for(let f of n.querySelectorAll("[data-prop]")){let d=f.dataset.prop,u=l[d];u==null&&(u=d==="size"&&t.type==="spacer"&&f.name==="rst-block-spacer-size"?ES:TS[d]),ae(f,u===void 0?"":u)}for(let f of n.querySelectorAll("[data-text]"))ae(f,AS(t));for(let f of n.querySelectorAll('[data-place="region"]'))ae(f,t.region||Ln(t.type));let c=OS(t,r);for(let f of n.querySelectorAll("[data-box]"))ae(f,c?MS(c[f.dataset.box]):"");let a=t.phone||{};for(let f of n.querySelectorAll("[data-phone]")){let d=f.dataset.phone;d==="hidden"?ae(f,a.hidden===!0):d==="order"?ae(f,Number.isInteger(a.order)?a.order:""):ae(f,a.size||"")}}function rg({el:n,slide:e,block:t,view:r}){let i=e.id;if(n.dataset.prop){let s=n.dataset.prop,o=n.type==="checkbox"?n.checked:n.value;return s==="size"&&t.type!=="spacer"?[zn({view:r,slide:i,block:t,field:"size",value:o})]:[Ym(i,t,s,nf(o,n.dataset.kind||""))]}if(n.dataset.text)return[Wm(i,t,n.value.trim())];if(n.dataset.place==="region")return[jm(i,t,n.value)];if(n.dataset.box){let s=Hm({view:r,slideId:i,block:t,key:n.dataset.box,percent:n.value});return s?[s]:[]}if(n.dataset.phone){let s=n.dataset.phone,o;return s==="hidden"?o=n.checked:s==="order"?o=n.value===""?null:nf(n.value,"int"):o=n.value,[zn({view:"phone",slide:i,block:t,field:s,value:o})]}return[]}var NS={sign:"uploading",put:"uploading",register:"checking",op:"checking",done:"done"};function ig(n,e){if(!n)return"";if(n.serverMessage)return n.serverMessage;switch(n.code){case"type":return e.type;case"toolarge":case"too_large":return e.toolarge;case"altfirst":return e.altfirst;default:return e.failed}}function DS({list:n,none:e,assets:t,removeLabel:r}){if(!n)return;e&&(e.hidden=t.length>0);let i=new Map;for(let l of n.querySelectorAll("[data-asset]"))i.set(l.dataset.asset,l);let s=[];for(let l of t){let c=i.get(l.id);if(c)i.delete(l.id);else{c=document.createElement("li"),c.dataset.asset=l.id;let u=document.createElement("span");u.setAttribute("slides-asset-name","");let h=document.createElement("button");h.type="button",h.setAttribute("rst-btn","sm"),h.dataset.removeAsset=l.id,c.append(u,h)}let a=l.name||String(l.ref||"").slice(0,8),f=c.querySelector("[slides-asset-name]");f&&f.textContent!==a&&(f.textContent=a);let d=c.querySelector("[data-remove-asset]");d&&(d.textContent!==r&&(d.textContent=r),d.setAttribute("aria-label",`${r}: ${a}`)),s.push(c)}for(let l of i.values())l.remove();let o=n.firstElementChild;for(let l of s){if(o===l){o=l.nextElementSibling;continue}n.insertBefore(l,o)}}function sg({root:n,getView:e,getSlideId:t,getSelected:r,getBlock:i,commit:s,upload:o,labels:l}){let c=n.querySelector("[slides-asset-input]"),a=n.querySelector("[slides-asset-status]"),f=n.querySelector("[slides-unused-list]"),d=n.querySelector("[slides-unused-none]");function u(x,b){a&&(a.dataset.state=x,a.textContent=b||"")}async function h(x){if(!x||!o)return;let b=i(),E=t(),R=b&&b.props||{};try{await o(x,{alt:typeof R.alt=="string"?R.alt:"",decorative:R.decorative===!0,applyOp:S=>s(Qm(S,E,b?b.id:""))})}catch(S){u("error",ig(S,l));return}finally{c&&(c.value="")}u("done",l.done)}function p(x){if(x.target!==c)return;let b=c.files&&c.files[0];b&&h(b)}function m(x){let b=x.target.closest("[data-remove-asset]");!b||!n.contains(b)||s([eg(b.dataset.removeAsset)])}function g(){DS({list:f,none:d,assets:tg(e()),removeLabel:l.remove})}let y=new AbortController,{signal:w}=y;return n.addEventListener("change",p,{signal:w}),n.addEventListener("click",m,{signal:w}),{fill:g,onState(x,b){if(x==="error")return u("error",ig(b,l));let E=NS[x];E&&u(x,l[E])},destroy(){y.abort()},chose:h,get selected(){return r()}}}var IS="abcdefghijklmnopqrstuvwxyz234567";function $n(){let n=new Uint8Array(12);globalThis.crypto.getRandomValues(n);let e="";for(let t of n)e+=IS[t&31];return e}function og(n,e,t){let r=n&&n.querySelector("[slides-slide]");if(!r)return t;let i=getComputedStyle(r).getPropertyValue(e).trim();return/^#[0-9a-fA-F]{6}$/.test(i)?i.toLowerCase():t}function _S({list:n,none:e,blocks:t,selected:r,label:i}){e&&(e.hidden=t.length>0);let s=new Map;for(let c of n.querySelectorAll("[data-select-block]"))s.set(c.dataset.selectBlock,c);let o=[];for(let c of t){let a=s.get(c.id);a?s.delete(c.id):(a=document.createElement("button"),a.type="button",a.setAttribute("rst-btn","sm"),a.dataset.selectBlock=c.id);let f=i(c);a.textContent!==f&&(a.textContent=f);let d=c.id===r?"true":"false";a.getAttribute("aria-pressed")!==d&&a.setAttribute("aria-pressed",d),o.push(a)}for(let c of s.values())c.remove();let l=n.firstElementChild;for(let c of o){if(l===c){l=c.nextElementSibling;continue}n.insertBefore(c,l)}}function lg({root:n,ydoc:e,stageEl:t,getSlideId:r,getSelected:i,getView:s,commit:o,onCommand:l,select:c,labels:a,upload:f}){let d={};for(let S of n.querySelectorAll("form[data-section]"))d[S.dataset.section]=S;let u=(S,C)=>S.querySelector(`[name="${C}"]`),h={meta:null,slide:null,block:null,deck:null},p=sg({root:n,getView:()=>h.deck||{slides:[],assets:{}},getSlideId:r,getSelected:i,getBlock:()=>h.block,commit:o,upload:f,labels:a.upload||{}});function m(S){let C=d.deck;ae(u(C,"rst-deck-title"),S.title),ae(u(C,"rst-deck-theme"),S.theme),ae(u(C,"rst-deck-accent"),S.accent||og(t,"--slides-accent","#000000")),ae(u(C,"rst-deck-font-heading"),S.fonts?S.fonts.heading:""),ae(u(C,"rst-deck-font-body"),S.fonts?S.fonts.body:"")}function g(S,C){let M=d.slide;for(let j of M.querySelectorAll('input[name="rst-slide-layout"]'))j.checked=j.value===S.layout;ae(u(M,"rst-slide-template"),S.template);let B=S.background||{kind:"theme",value:""};ae(u(M,"rst-slide-background"),B.kind==="color"?"color":"theme"),ae(u(M,"rst-slide-background-color"),B.kind==="color"&&B.value?B.value:og(t,"--slides-bg","#ffffff")),ae(u(M,"rst-slide-transition"),S.transition),ae(u(M,"rst-slide-phone"),S.phone),ns(M,"data-layout",j=>j===S.layout),ns(M,"data-background",j=>j===B.kind);let O=C.indexOf(S.id);M.querySelector('[data-command="slide-move-up"]').disabled=O<=0,M.querySelector('[data-command="slide-move-down"]').disabled=O<0||O>=C.length-1,y(S)}function y(S){_S({list:d.slide.querySelector("[slides-blocks-buttons]"),none:d.slide.querySelector("[slides-blocks-none]"),blocks:S.blocks,selected:i(),label:C=>Zm(C,a.types[C.type]||C.type)})}function w(){let S=ts(e),C=S.slides.map(j=>j.id),M=S.slides.find(j=>j.id===r())||null,B=M&&M.blocks.find(j=>j.id===i())||null;h={meta:S.meta,slide:M,block:B,slides:S.slides,deck:S},m(S.meta),p.fill();for(let j of n.querySelectorAll("[slides-when-slide]"))j.hidden=!M;M&&g(M,C);for(let j of n.querySelectorAll("[slides-when-block]"))j.hidden=!B;let O=n.querySelector("[slides-inspector-empty]");O&&(O.hidden=!M||!!B),B&&ng({form:d.block,slide:M,block:B,view:s(),labels:a})}function x(S){let C=S.target,M=C.closest("form[data-section]");if(!M)return;let B=C.name||"";try{if(M===d.deck&&h.meta){let O=B.replace("rst-deck-","");["title","theme","accent","font-heading","font-body"].includes(O)&&o([ll(O,C.value,h.meta)])}else if(M===d.slide&&h.slide){let O=h.slide;B==="rst-slide-layout"?o([sn(O,"layout",C.value)]):B==="rst-slide-template"?o([sn(O,"template",C.value)]):B==="rst-slide-transition"?o([sn(O,"transition",C.value)]):B==="rst-slide-phone"?o([sn(O,"phone",C.value)]):B==="rst-slide-background-color"?o([sn(O,"background-color",C.value)]):B==="rst-slide-background"&&o([C.value==="color"?sn(O,"background-color",u(M,"rst-slide-background-color").value):sn(O,"background","theme")])}else if(M===d.block&&h.slide&&h.block){let O=rg({el:C,slide:h.slide,block:h.block,view:s()});O.length&&o(O)}}catch(O){console.error("inspector:",O),w()}}function b(S){let C=S.target.closest("button");if(!(!C||!n.contains(C))){if(C.dataset.selectBlock)return c(C.dataset.selectBlock);if(C.dataset.addBlock&&h.slide){let M=C.closest("details");M&&(M.open=!1);let B=$n();return o([Gm(h.slide,C.dataset.addBlock,B,i())]),c(B)}C.dataset.command&&l(C.dataset.command)}}let E=new AbortController,{signal:R}=E;return n.addEventListener("change",x,{signal:R}),n.addEventListener("submit",S=>S.preventDefault(),{signal:R}),n.addEventListener("click",b,{signal:R}),{fill:w,onUploadState:p.onState,destroy(){p.destroy(),E.abort()},get slide(){return h.slide},get block(){return h.block}}}function cg(n){async function e(u=n.slideId()){let h=$n(),p={op:"add_slide",id:h,layout:"flow",template:"title-body"};u&&(p.after=u),n.commit([p,{op:"add_block",slide:h,id:$n(),type:"heading",region:"heading",props:{level:1},markdown:""}]),await n.flush(),location.hash="#"+h}async function t(u=n.slideId()){if(!u)return;let h=$n();n.commit([{op:"duplicate_slide",id:u,new_id:h,new_block_ids:Ya(n.ydoc(),u).map(()=>$n())}]),await n.flush(),location.hash="#"+h}function r(u,h){let p=Jm(Ze(n.ydoc()),u,h);p&&n.commit([p])}let i=n.confirmEl,s="";function o(u){s=u||n.slideId(),s&&(s!==n.slideId()&&(location.hash="#"+s),i.hidden=!1,i.querySelector('[data-command="slide-delete"]').focus())}function l(){i.hidden=!0;let u=s;s="",u&&Ze(n.ydoc()).includes(u)&&n.commit([{op:"remove_slide",id:u}])}let c=u=>()=>{let h=n.slideId(),p=n.blockJSON(h,n.selected());p&&u(h,p,n.slideJSON(h))},a=u=>c((h,p)=>{let m=Km(h,Ya(n.ydoc(),h),p.id,u);m&&n.commit([m])}),f=u=>c((h,p,m)=>{let g=Xm(h,m.blocks,p.id,u);g.length&&n.commit(g)}),d={"new-slide":()=>e(),"slide-add-after":()=>e(),"duplicate-slide":()=>t(),"slide-move-up":()=>r(n.slideId(),"up"),"slide-move-down":()=>r(n.slideId(),"down"),"slide-delete-ask":()=>o(""),"slide-delete":l,"slide-delete-cancel":()=>{i.hidden=!0,s=""},"accent-reset":()=>n.commit([ll("accent-reset")]),"block-move-up":a("up"),"block-move-down":a("down"),"block-forward":f("forward"),"block-back":f("back"),"block-delete":c((u,h)=>{n.clearSelection(),n.commit([{op:"remove_block",slide:u,id:h.id}])}),"phone-reset":c((u,h)=>n.commit([zm(u,h)])),undo:()=>n.undo(),redo:()=>n.redo(),present:()=>n.present()};return{has:u=>u in d,run(u){u in d&&d[u]()},strip(u,h){u==="add-after"?e(h):u==="duplicate"?t(h):u==="move-up"||u==="move-down"?r(h,u.slice(5)):u==="delete"&&o(h)},moveSlide:r}}function cl(n=globalThis.crypto){let e=new Uint8Array(8);return n.getRandomValues(e),Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}function ag(n){let e=String(n||"").trim();if(!e)return"";let r=(e.includes("@")?e.slice(0,e.indexOf("@")):e).split(/[\s._-]+/).filter(Boolean);return r.length===0?"":r.length===1?[...r[0]].slice(0,2).join("").toUpperCase():(([...r[0]][0]||"")+([...r[1]][0]||"")).toUpperCase()}function RS(n){return!n||typeof n!="object"||typeof n.client!="string"||!n.client?null:{client:n.client,name:typeof n.name=="string"?n.name:"",colour:typeof n.colour=="string"?n.colour:"",slide:typeof n.slide=="string"?n.slide:"",block:typeof n.block=="string"?n.block:""}}function vS(n,e){let t=new Map;for(let r of Array.isArray(n)?n:[]){let i=RS(r);!i||i.client===e||t.set(i.client,i)}return t}function BS(n,e){let t=[],r=[],i=[];for(let[s,o]of e){let l=n.get(s);l?(l.slide!==o.slide||l.block!==o.block)&&r.push(o):t.push(o)}for(let[s,o]of n)e.has(s)||i.push(o);return{added:t,moved:r,removed:i}}function fg({post:n,clientId:e,getState:t,setTimeoutFn:r=setTimeout,clearTimeoutFn:i=clearTimeout,heartbeatMs:s=2e4,changeMs:o=200}){let l=null,c=null,a=!1,f=!0,d=new Map,u=e;function h(){let y=t()||{};try{let w=n({client:u,slide:y.slide||"",block:y.block||""});w&&typeof w.catch=="function"&&w.catch(()=>{})}catch{}}function p(){l!==null&&i(l),l=r(()=>{l=null,!f&&!a&&(h(),p())},s)}function m(){c!==null&&(i(c),c=null)}function g(){m(),h(),p()}return{start(){f=!1,a=!1,g()},stop(){f=!0,m(),l!==null&&i(l),l=null},changed(){f||a||(m(),c=r(()=>{c=null,g()},o))},noteHidden(){f||(a=!0,m(),l!==null&&i(l),l=null)},noteVisible(){f||!a||(a=!1,g())},applySet(y){let w=vS(y,u),x=BS(d,w);return d=w,{...x,people:Array.from(w.values())}},get people(){return Array.from(d.values())},setClientId(y){!y||y===u||(u=y,!f&&!a&&g())},get clientId(){return u}}}var US=/^[0-9a-f]{16}$/;function al(n){return`slides.presence.client.${n}`}function dg({storage:n,deck:e,make:t=cl}){let r=al(e);try{let s=n&&n.getItem(r);if(typeof s=="string"&&US.test(s))return s}catch{}let i=t();try{n&&n.setItem(r,i)}catch{}return i}function ug({channel:n,getId:e,onTaken:t}){return n?(n.onmessage=r=>{let i=r&&r.data;!i||typeof i.id!="string"||i.id!==e()||(i.type==="claim"?n.postMessage({type:"taken",id:i.id}):i.type==="taken"&&t())},{claim(){n.postMessage({type:"claim",id:e()})},close(){n.onmessage=null;try{n.close()}catch{}}}):{claim(){},close(){}}}var rf=3,VS=/^#[0-9a-fA-F]{3,8}$/;function rs(n,e){return String(n||"").replace(/\{(\w+)\}/g,(t,r)=>r in e?String(e[r]):t)}function hg(n){return VS.test(n.colour||"")?n.colour:""}function pg({stripEl:n,stageEl:e,liveEl:t,text:r={},getSlideId:i=()=>""}){let s=[],o=document.createElement("div");o.setAttribute("slides-presence-marks",""),e&&e.append(o);function l(p){let m=rs(r.slide,{name:p.name}),g=document.createElement("span");g.setAttribute("slides-presence-avatar",""),g.setAttribute("role","img"),g.setAttribute("aria-label",m),g.title=m;let y=hg(p);y&&g.style.setProperty("--slides-presence-colour",y);let w=document.createElement("span");return w.setAttribute("aria-hidden","true"),w.textContent=ag(p.name),g.append(w),g}function c(p){let m=rs(r.more,{n:p}),g=document.createElement("span");return g.setAttribute("slides-presence-more",""),g.setAttribute("role","img"),g.setAttribute("aria-label",m),g.title=m,g.textContent="+"+p,g}function a(p,m){let g=p.querySelector("[slides-thumb]")||p,y=g.querySelector("[slides-presence-avatars]");if(m.length===0){y&&y.remove();return}y||(y=document.createElement("div"),y.setAttribute("slides-presence-avatars",""),g.append(y)),y.replaceChildren();for(let w of m.slice(0,rf))y.append(l(w));m.length>rf&&y.append(c(m.length-rf))}function f(){if(!n)return;let p=new Map;for(let m of s)m.slide&&(p.has(m.slide)||p.set(m.slide,[]),p.get(m.slide).push(m));for(let m of n.querySelectorAll("[slides-strip-item]"))a(m,p.get(m.dataset.slideId)||[])}function d(p){let m=document.createElement("div");m.setAttribute("slides-presence-mark","");let g=hg(p);g&&m.style.setProperty("--slides-presence-colour",g);let y=document.createElement("span");y.setAttribute("slides-presence-chip",""),y.setAttribute("role","img");let w=rs(r.block,{name:p.name});return y.setAttribute("aria-label",w),y.title=w,y.textContent=p.name,m.append(y),m}function u(){if(!e)return;o.isConnected||e.append(o),o.replaceChildren();let p=i();if(!p)return;let m=e.getBoundingClientRect();for(let g of s){if(g.slide!==p||!g.block)continue;let y=e.querySelector(`[slides-block][data-id="${CSS.escape(g.block)}"]`);if(!y)continue;let w=y.getBoundingClientRect(),x=d(g);x.style.left=w.left-m.left+e.scrollLeft+"px",x.style.top=w.top-m.top+e.scrollTop+"px",x.style.width=w.width+"px",x.style.height=w.height+"px",o.append(x)}}let h=typeof ResizeObserver=="function"&&e?new ResizeObserver(()=>u()):null;return h&&h.observe(e),{render(p){s=Array.isArray(p)?p:[],f(),u()},announce({added:p=[],removed:m=[]}={}){if(!t)return"";let g=[...p.map(w=>rs(r.joined,{name:w.name})),...m.map(w=>rs(r.left,{name:w.name}))].filter(Boolean);if(g.length===0)return"";let y=g.join(" ");return t.textContent=y,y},place:u,destroy(){if(h&&h.disconnect(),o.remove(),n)for(let p of n.querySelectorAll("[slides-presence-avatars]"))p.remove()}}}var LS=["image/png","image/jpeg","image/webp","image/svg+xml"],$e=class extends Error{constructor(e,t=""){super(e),this.name="UploadError",this.code=e,this.serverMessage=t}};async function FS(n){let e={width:0,height:0};try{if(typeof createImageBitmap=="function"&&typeof n.arrayBuffer=="function"){let r=await createImageBitmap(n),i={width:r.width,height:r.height};return typeof r.close=="function"&&r.close(),i}}catch{}if(typeof Image!="function"||typeof URL>"u"||!URL.createObjectURL)return e;let t=URL.createObjectURL(n);try{return await new Promise(r=>{let i=new Image;i.onload=()=>r({width:i.naturalWidth||0,height:i.naturalHeight||0}),i.onerror=()=>r(e),i.src=t})}finally{URL.revokeObjectURL(t)}}async function PS(n){let e=globalThis.crypto&&globalThis.crypto.subtle;if(!e)throw new $e("nohash");let t=await e.digest("SHA-256",await n.arrayBuffer());return Array.from(new Uint8Array(t),r=>r.toString(16).padStart(2,"0")).join("")}function zS(n){if(!n)throw new $e("nofile");if(!LS.includes(String(n.type||"").toLowerCase()))throw new $e("type");if(!(n.size>0)||n.size>20971520)throw new $e("toolarge")}function mg({sign:n,put:e,register:t,applyOp:r,measure:i=FS,hash:s=PS,onState:o=()=>{}}){let l=!1;async function c(a,{alt:f="",decorative:d=!1,applyOp:u}={}){if(l)throw new $e("busy");if(zS(a),!String(f).trim()&&!d)throw new $e("altfirst");l=!0;try{o("sign");let h=await s(a),p=await n({name:a.name||"",size:a.size,type:a.type,hash:h});if(!p||!p.url||!p.ref)throw new $e("failed");o("put"),await e(p.url,a,p.headers||{}),o("register");let{width:m,height:g}=await i(a),y=await t({ref:p.ref,name:a.name||"",width:m,height:g,alt:String(f).trim(),decorative:!!d});if(!y||!y.id||!y.ref)throw new $e("failed");return o("op"),await(u||r)(y),o("done",y),y}catch(h){let p=h instanceof $e?h:new $e("failed",h&&h.message?h.message:"");throw o("error",p),p}finally{l=!1}}return{upload:c,get busy(){return l}}}async function sf(n){let e=null;try{e=await n.json()}catch{}let t=e&&typeof e.error=="string"?e.error:`http_${n.status}`;return new $e(t,e&&typeof e.message=="string"?e.message:"")}var $S=250,qn="remote",gg="local",qS=600,yg="slides.editor.notes";async function xg(n){let e=await fetch(n,{credentials:"same-origin"});if(!e.ok)throw new Error(`load ${n}: ${e.status}`);return{frames:Ap(new Uint8Array(await e.arrayBuffer())),seq:Number(e.headers.get("Slides-Seq"))}}async function JS(n){let e=n.dataset.deck,t=`/d/${e}/updates`,r=`/d/${e}/stream`,i=async(k,N)=>{let I=await fetch(`/d/${e}/slides/${k}.html?vp=${N}`,{credentials:"same-origin"});if(!I.ok)throw new Error(`slide ${k}: ${I.status}`);return I.text()},s=Number(n.dataset.seq)||0,o=k=>{Number.isFinite(k)&&k>s&&(s=k)},l=k=>`/d/${e}/slides/${k}.svg?seq=${s}`,c=await Np(n),a=n.querySelector("[slides-editor-title]"),f=n.querySelector("[slides-strip]"),d=n.querySelector("[slides-stage-pane]"),u=d.querySelector("[slides-stage]"),h=d.querySelector("[slides-stage-phone]"),p=d.querySelector("[slides-notes-pane]"),m=n.querySelector("[slides-inspector]"),g=n.querySelector("[slides-present-form]"),y=om(n.querySelector("[slides-link-dialog]")),w={slide:n.dataset.textSlide},x={slide:n.dataset.textPresenceSlide,block:n.dataset.textPresenceBlock,more:n.dataset.textPresenceMore,joined:n.dataset.textPresenceJoined,left:n.dataset.textPresenceLeft},b={};for(let k of Object.keys(n.dataset))k.startsWith("type")&&(b[k.slice(4).toLowerCase()]=n.dataset[k]);let E={uploading:n.dataset.textUploadUploading,checking:n.dataset.textUploadChecking,done:n.dataset.textUploadDone,failed:n.dataset.textUploadFailed,toolarge:n.dataset.textUploadToolarge,type:n.dataset.textUploadType,altfirst:n.dataset.textUploadAltfirst,remove:n.dataset.textAssetRemove},R=async(k,N)=>{let I=await fetch(`/d/${e}${k}`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(N)});if(!I.ok)throw await sf(I);return I.json()},S=mg({sign:k=>R("/uploads",k),put:async(k,N,I)=>{let Q=k.startsWith("/"),Se=await fetch(k,{method:"PUT",credentials:Q?"same-origin":"omit",headers:I,body:N});if(!Se.ok)throw await sf(Se)},register:k=>R("/assets",k),applyOp:()=>{},onState:(k,N)=>{De&&De.onUploadState(k,N)}}),C=k=>c.save(k),M=null,B=null,O=null,j=null,ke=null,fe=null,De=null,ft=null,Jn=null,Qe=null,is=null,Yn="desktop",ss=pg({stripEl:f,stageEl:u,liveEl:n.querySelector("[slides-presence-live]"),text:x,getSlideId:()=>O?O.slideId:""}),ls=null;try{ls=globalThis.sessionStorage}catch{}let wt=fg({clientId:dg({storage:ls,deck:e}),post:k=>fetch(`/d/${e}/presence`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)}),getState:()=>({slide:O?O.slideId:"",block:fe?fe.current:""})}),lf=null;try{lf=new BroadcastChannel(al(e))}catch{}ug({channel:lf,getId:()=>wt.clientId,onTaken:()=>{let k=cl();try{ls&&ls.setItem(al(e),k)}catch{}wt.setClientId(k)}}).claim();let cf=sm({undo:()=>B&&B.undo(),redo:()=>B&&B.redo(),link:k=>lm(k,y)});function cs(k){try{B&&B.stopCapturing(),Nm(M,k,gg)}catch(N){console.error("ops:",N),De&&De.fill()}}let af=k=>ts(M).slides.find(N=>N.id===k)||null,ff=(k,N)=>{let I=af(k);return I&&I.blocks.find(Q=>Q.id===N)||null};function df(){let k=Ze(M),{slide:N}=sl(location.hash);return k.includes(N)?N:k[0]||""}async function as(k){if(O)try{await O.load(k),j&&Yn==="both"&&await j.load(k)}catch(N){console.error("stage:",N)}}async function fl(){if(O)try{await O.refresh(),j&&Yn==="both"&&await j.refresh()}catch(k){console.error("stage:",k)}}function uf(k){c.loadFailed(!1),ke&&ke.setCurrent(k),p&&(p.hidden=!k||!hf());let N=n.querySelector('[data-command="duplicate-slide"]');N&&(N.disabled=!k),fe&&fe.reapply(),De&&De.fill(),ft&&ft.place(),ss.place(),wt.changed()}function bg(){c.loadFailed(!0)}function dl(){is&&clearTimeout(is),is=setTimeout(()=>{is=null,ke&&ke.flush()},qS)}let ul=!1;function hl(){ul||(ul=!0,setTimeout(async()=>{try{Jn&&await Jn.flush()}finally{ul=!1}await fl()},0))}let pl=!1;function ml(){pl||(pl=!0,requestAnimationFrame(()=>{pl=!1,De&&De.fill()}))}function wg(k,N,I){let Q=Ze(k);N.observeDeep((Se,kt)=>{let et=tm(Se,N),tt=O?O.slideId:"";if(et.order){ke.sync();let qe=Ze(k);if(!qe.includes(tt)){let Y=Zp(Q,qe,tt);location.hash=Y?"#"+Y:"",Y||as("")}Q=qe}for(let qe of et.text)ke.mark(qe);for(let qe of et.structure)ke.mark(qe),qe===tt&&(kt.origin===qn?as(tt):hl());kt.origin===qn&&dl(),ml()}),I.observe((Se,kt)=>{let et=I.get("title");if(typeof et=="string"&&a&&(a.textContent=et,document.title=et),[...Se.keysChanged].some(tt=>tt!=="title")){for(let tt of Ze(k))ke.mark(tt);kt.origin===qn?(fl(),dl()):hl()}ml()}),k.getMap("assets").observe((Se,kt)=>{for(let et of Ze(k))ke.mark(et);kt.origin===qn?(fl(),dl()):hl(),ml()})}function kg(k){return Op({post:async N=>{let I=await fetch(t,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/octet-stream"},body:N}),Q=k();if(I.ok){let Se=Number(I.headers.get("Slides-Seq"));Q&&Number.isFinite(Se)&&Q.noteOwnSeq(Se),o(Se)}return I.ok&&ke&&ke.flush(),I},mergeUpdates:qd,debounceMs:$S,onStatus:N=>{N==="failed"&&(c.drop(),gl.reportDivergence()),C(Mp(N))}})}function hf(){try{return localStorage.getItem(yg)!=="off"}catch{return!0}}let Lr=d.querySelector("[slides-notes-toggle] input");Lr&&(Lr.checked=hf(),Lr.addEventListener("change",()=>{try{localStorage.setItem(yg,Lr.checked?"on":"off")}catch{}p&&(p.hidden=!Lr.checked||!(O&&O.slideId))}));async function pf(k){Yn=k,d.dataset.view=k,h.hidden=k!=="both",O&&(await O.setViewport(k==="phone"?"phone":"desktop"),k==="both"&&await j.load(O.slideId),De&&De.fill(),ft&&ft.place())}async function mf(){let{frames:k,seq:N}=await xg(Ba(t,{since:0}));o(N);let I=new it;for(let Y of k)Cc(I,Y,qn);let Q=I.getArray("slides"),Se=null,kt=kg(()=>Se);I.on("update",(Y,Ce)=>{Ce!==qn&&(gl.diverged||(C("saving"),kt.enqueue(Y)))});let et=O?O.slideId:n.dataset.slide,tt=fe?fe.current:sl(location.hash).block;O&&O.destroy(),j&&j.destroy(),ft&&ft.destroy(),ke&&ke.destroy(),fe&&fe.destroy(),De&&De.destroy(),Qe&&Qe.stop(),B&&B.destroy(),M=I,B=new gr([Q,I.getMap("meta"),I.getMap("assets")],{trackedOrigins:new Set([le,gg]),captureTimeout:500}),Jn=kt,ke=Qp({root:f,ydoc:I,thumbURL:l,slideLabel:w.slide,template:n.querySelector("[slides-strip-item-template]"),onCommand:(Y,Ce)=>jn.strip(Y,Ce)}),ke.sync(),O=ja({root:d,ydoc:I,slideId:et,fetchSlide:i,keys:cf,onLoaded:uf,onError:bg}),j=ja({el:h,ydoc:I,slideId:"",fetchSlide:i,keys:cf,vp:"phone",readOnly:!0}),fe=Dm({stageEl:u,getSlideId:()=>O.slideId,onChange:()=>{De.fill(),ft.place(),ss.place(),wt.changed()}}),De=lg({root:m,ydoc:I,stageEl:u,getSlideId:()=>O.slideId,getSelected:()=>fe.current,getView:()=>Yn,commit:cs,onCommand:Y=>jn.run(Y),select:Y=>{fe.select(Y),O.slideId&&ft&&ft.focus()},labels:{types:b,upload:E},upload:(Y,Ce)=>S.upload(Y,Ce)}),ft=Vm({stageEl:u,getSelected:()=>fe.current,label:n.dataset.textCanvasSelected,onCommit:(Y,Ce)=>{let on=ff(O.slideId,Y);on&&cs([zn({view:Yn,slide:O.slideId,block:on,field:"box",value:Ce})])}}),wg(I,Q,I.getMap("meta"));let qe=df();qe!==O.slideId?await as(qe):uf(qe),tt&&fe.select(tt),await pf(Yn),Se=Dp({initialSeq:Number.isFinite(N)?N:0,openStream:(Y,Ce)=>{let on=new EventSource(r,{withCredentials:!0});return on.addEventListener("update",Fr=>Y(Number(Fr.data))),on.addEventListener("error",Fr=>Ce(Fr)),on.addEventListener("presence",Fr=>{let yf=[];try{yf=JSON.parse(Fr.data)}catch{}let xf=wt.applySet(yf);ss.render(xf.people),ss.announce(xf)}),{close:()=>on.close()}},fetchSince:async Y=>{let Ce=await xg(Ba(t,{since:Y}));return o(Ce.seq),{bytes:Ce.frames,seq:Ce.seq}},onUpdates:Y=>{if(!gl.diverged)for(let Ce of Y)Cc(I,Ce,qn)},onError:Y=>{Y instanceof Error&&console.error("live updates:",Y)}}),Qe=Se,Qe.start(),document.hidden&&Qe.noteHidden(),wt.start(),document.hidden&&wt.noteHidden()}let gl=Ip({attemptResync:mf,onDiverged:()=>C("retrying"),onRecovered:()=>C("saved")}),gf=null;try{gf=globalThis.localStorage}catch{}qm({root:d.querySelector("[slides-switcher]"),storage:gf,onChange:k=>{pf(k)}}),await mf(),C("saved");let jn=cg({ydoc:()=>M,commit:cs,flush:()=>Jn.flush(),slideId:()=>O.slideId,selected:()=>fe.current,slideJSON:af,blockJSON:ff,undo:()=>B.undo(),redo:()=>B.redo(),present:()=>g&&g.requestSubmit(),clearSelection:()=>fe.clear(),confirmEl:m.querySelector("[slides-confirm]")});em({root:f,getIDs:()=>Ze(M),onMove:k=>cs([k]),onNudge:jn.moveSlide}),n.addEventListener("click",k=>{let N=k.target.closest("[data-command]");if(!N||m.contains(N)||!jn.has(N.dataset.command))return;let I=N.closest("details");I&&(I.open=!1),jn.run(N.dataset.command)}),document.addEventListener("keydown",k=>{if(k.defaultPrevented||!(k.ctrlKey||k.metaKey))return;let I=k.key.toLowerCase(),Q=null;I==="enter"&&!k.shiftKey?Q="new-slide":I==="d"&&!k.shiftKey?Q="duplicate-slide":I==="f"&&k.shiftKey?Q="present":I==="z"&&!k.target.closest(".ProseMirror")?Q=k.shiftKey?"redo":"undo":I==="y"&&!k.target.closest(".ProseMirror")&&(Q="redo"),Q&&(k.preventDefault(),jn.run(Q))}),addEventListener("hashchange",async()=>{let k=df(),{block:N}=sl(location.hash);k!==O.slideId&&await as(k),N?fe.select(N):location.hash===tf(O.slideId)&&fe.clear()}),addEventListener("visibilitychange",()=>{document.hidden?(Qe&&Qe.noteHidden(),wt.noteHidden()):(Qe&&Qe.noteActivity(),wt.noteVisible())});for(let k of["pointermove","scroll","keydown","focus"])addEventListener(k,()=>Qe&&Qe.noteActivity(),{passive:!0,capture:!0});addEventListener("beforeunload",()=>{let k=Jn&&Jn.pendingBytes();if(!k)return;let N=new Blob([k],{type:"application/octet-stream"});navigator.sendBeacon(t,N)||fetch(t,{method:"POST",credentials:"same-origin",keepalive:!0,headers:{"Content-Type":"application/octet-stream"},body:k}).catch(()=>{})})}var of=document.querySelector("[slides-editor]");of&&JS(of).catch(n=>{of.setAttribute("data-editor-failed","1"),console.error(n)});export{JS as mountEditor}; |