@limetech/lime-elements 37.46.1 → 37.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +84 -6
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.js +78 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.js.map +1 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link-plugin.js +5 -4
- package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link-plugin.js.map +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +2 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js.map +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +84 -6
- package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-8d71c9e5.entry.js → p-8db40f25.entry.js} +2 -2
- package/dist/lime-elements/p-8db40f25.entry.js.map +1 -0
- package/dist/types/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.d.ts +4 -0
- package/package.json +1 -1
- package/dist/lime-elements/p-8d71c9e5.entry.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,g as r}from"./p-443111b3.js";import{k as n,l as s,U as l,e as u,a as o,n as f,p as h,i as a,S as c,g as d}from"./p-2ba41fdf.js";import{b as p,a as m}from"./p-b28128d2.js";import{k as w,b as g,g as b,a as k}from"./p-9cff01aa.js";import{i as D,r as v,S as y}from"./p-c93050d6.js";import{i as F}from"./p-0b1af919.js";import{i as E}from"./p-858c6b82.js";import{d as x,m as M}from"./p-714d3ef8.js";import{t as A}from"./p-29e0e5bd.js";import{c as C}from"./p-3ccdc4a3.js";import{i as S}from"./p-91741e79.js";import"./p-eda23c05.js";import"./p-4c3358cb.js";import"./p-9acf7b5d.js";import"./p-5fdb83c9.js";import"./p-eab67c09.js";var O=Object.create;var $=function(){function t(){}return function(e){if(!D(e)){return{}}if(O){return O(e)}t.prototype=e;var i=new t;t.prototype=undefined;return i}}();function _(t,e){var i=-1,r=t.length;e||(e=Array(r));while(++i<r){e[i]=t[i]}return e}function B(t,e){var i=-1,r=t==null?0:t.length;while(++i<r){if(e(t[i],i,t)===false){break}}return t}function j(t,e,i,r){var n=!i;i||(i={});var s=-1,l=e.length;while(++s<l){var u=e[s];var o=r?r(i[u],t[u],u,i,t):undefined;if(o===undefined){o=t[u]}if(n){p(i,u,o)}else{m(i,u,o)}}return i}function q(t,e){return t&&j(e,n(e),t)}function R(t,e){return t&&j(e,w(e),t)}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var z=N&&typeof module=="object"&&module&&!module.nodeType&&module;var T=z&&z.exports===N;var I=T?v.Buffer:undefined,P=I?I.allocUnsafe:undefined;function J(t,e){if(e){return t.slice()}var i=t.length,r=P?P(i):new t.constructor(i);t.copy(r);return r}function L(t,e){return j(t,s(t),e)}function U(t,e){return j(t,g(t),e)}var W=Object.prototype;var H=W.hasOwnProperty;function Z(t){var e=t.length,i=new t.constructor(e);if(e&&typeof t[0]=="string"&&H.call(t,"index")){i.index=t.index;i.input=t.input}return i}function K(t){var e=new t.constructor(t.byteLength);new l(e).set(new l(t));return e}function V(t,e){var i=e?K(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.byteLength)}var G=/\w*$/;function X(t){var e=new t.constructor(t.source,G.exec(t));e.lastIndex=t.lastIndex;return e}var Y=y?y.prototype:undefined,Q=Y?Y.valueOf:undefined;function tt(t){return Q?Object(Q.call(t)):{}}function et(t,e){var i=e?K(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}var it="[object Boolean]",rt="[object Date]",nt="[object Map]",st="[object Number]",lt="[object RegExp]",ut="[object Set]",ot="[object String]",ft="[object Symbol]";var ht="[object ArrayBuffer]",at="[object DataView]",ct="[object Float32Array]",dt="[object Float64Array]",pt="[object Int8Array]",mt="[object Int16Array]",wt="[object Int32Array]",gt="[object Uint8Array]",bt="[object Uint8ClampedArray]",kt="[object Uint16Array]",Dt="[object Uint32Array]";function vt(t,e,i){var r=t.constructor;switch(e){case ht:return K(t);case it:case rt:return new r(+t);case at:return V(t,i);case ct:case dt:case pt:case mt:case wt:case gt:case bt:case kt:case Dt:return et(t,i);case nt:return new r;case st:case ot:return new r(t);case lt:return X(t);case ut:return new r;case ft:return tt(t)}}function yt(t){return typeof t.constructor=="function"&&!u(t)?$(b(t)):{}}var Ft="[object Map]";function Et(t){return E(t)&&o(t)==Ft}var xt=h&&h.isMap;var Mt=xt?f(xt):Et;var At="[object Set]";function Ct(t){return E(t)&&o(t)==At}var St=h&&h.isSet;var Ot=St?f(St):Ct;var $t=1,_t=2,Bt=4;var jt="[object Arguments]",qt="[object Array]",Rt="[object Boolean]",Nt="[object Date]",zt="[object Error]",Tt="[object Function]",It="[object GeneratorFunction]",Pt="[object Map]",Jt="[object Number]",Lt="[object Object]",Ut="[object RegExp]",Wt="[object Set]",Ht="[object String]",Zt="[object Symbol]",Kt="[object WeakMap]";var Vt="[object ArrayBuffer]",Gt="[object DataView]",Xt="[object Float32Array]",Yt="[object Float64Array]",Qt="[object Int8Array]",te="[object Int16Array]",ee="[object Int32Array]",ie="[object Uint8Array]",re="[object Uint8ClampedArray]",ne="[object Uint16Array]",se="[object Uint32Array]";var le={};le[jt]=le[qt]=le[Vt]=le[Gt]=le[Rt]=le[Nt]=le[Xt]=le[Yt]=le[Qt]=le[te]=le[ee]=le[Pt]=le[Jt]=le[Lt]=le[Ut]=le[Wt]=le[Ht]=le[Zt]=le[ie]=le[re]=le[ne]=le[se]=true;le[zt]=le[Tt]=le[Kt]=false;function ue(t,e,i,r,s,l){var u,f=e&$t,h=e&_t,p=e&Bt;if(i){u=s?i(t,r,s,l):i(t)}if(u!==undefined){return u}if(!D(t)){return t}var g=F(t);if(g){u=Z(t);if(!f){return _(t,u)}}else{var b=o(t),v=b==Tt||b==It;if(a(t)){return J(t,f)}if(b==Lt||b==jt||v&&!s){u=h||v?{}:yt(t);if(!f){return h?U(t,R(u,t)):L(t,q(u,t))}}else{if(!le[b]){return s?t:{}}u=vt(t,b,f)}}l||(l=new c);var y=l.get(t);if(y){return y}l.set(t,u);if(Ot(t)){t.forEach((function(r){u.add(ue(r,e,i,r,t,l))}))}else if(Mt(t)){t.forEach((function(r,n){u.set(n,ue(r,e,i,n,t,l))}))}var E=p?h?k:d:h?w:n;var x=g?undefined:E(t);B(x||t,(function(r,n){if(x){n=r;r=t[n]}m(u,n,ue(r,e,i,n,t,l))}));return u}var oe=1,fe=4;function he(t){return ue(t,oe|fe)}function ae(t){this.content=t}ae.prototype={constructor:ae,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?undefined:this.content[e+1]},update:function(t,e,i){var r=i&&i!=t?this.remove(i):this;var n=r.find(t),s=r.content.slice();if(n==-1){s.push(i||t,e)}else{s[n+1]=e;if(i)s[n]=i}return new ae(s)},remove:function(t){var e=this.find(t);if(e==-1)return this;var i=this.content.slice();i.splice(e,2);return new ae(i)},addToStart:function(t,e){return new ae([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var i=this.remove(t).content.slice();i.push(t,e);return new ae(i)},addBefore:function(t,e,i){var r=this.remove(e),n=r.content.slice();var s=r.find(t);n.splice(s==-1?n.length:s,0,e,i);return new ae(n)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){t=ae.from(t);if(!t.size)return this;return new ae(t.content.concat(this.subtract(t).content))},append:function(t){t=ae.from(t);if(!t.size)return this;return new ae(this.subtract(t).content.concat(t.content))},subtract:function(t){var e=this;t=ae.from(t);for(var i=0;i<t.content.length;i+=2)e=e.remove(t.content[i]);return e},toObject:function(){var t={};this.forEach((function(e,i){t[e]=i}));return t},get size(){return this.content.length>>1}};ae.from=function(t){if(t instanceof ae)return t;var e=[];if(t)for(var i in t)e.push(i,t[i]);return new ae(e)};function ce(t,e,i){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:i;let n=t.child(r),s=e.child(r);if(n==s){i+=n.nodeSize;continue}if(!n.sameMarkup(s))return i;if(n.isText&&n.text!=s.text){for(let t=0;n.text[t]==s.text[t];t++)i++;return i}if(n.content.size||s.content.size){let t=ce(n.content,s.content,i+1);if(t!=null)return t}i+=n.nodeSize}}function de(t,e,i,r){for(let n=t.childCount,s=e.childCount;;){if(n==0||s==0)return n==s?null:{a:i,b:r};let l=t.child(--n),u=e.child(--s),o=l.nodeSize;if(l==u){i-=o;r-=o;continue}if(!l.sameMarkup(u))return{a:i,b:r};if(l.isText&&l.text!=u.text){let t=0,e=Math.min(l.text.length,u.text.length);while(t<e&&l.text[l.text.length-t-1]==u.text[u.text.length-t-1]){t++;i--;r--}return{a:i,b:r}}if(l.content.size||u.content.size){let t=de(l.content,u.content,i-1,r-1);if(t)return t}i-=o;r-=o}}class pe{constructor(t,e){this.content=t;this.size=e||0;if(e==null)for(let e=0;e<t.length;e++)this.size+=t[e].nodeSize}nodesBetween(t,e,i,r=0,n){for(let s=0,l=0;l<e;s++){let u=this.content[s],o=l+u.nodeSize;if(o>t&&i(u,r+l,n||null,s)!==false&&u.content.size){let n=l+1;u.nodesBetween(Math.max(0,t-n),Math.min(u.content.size,e-n),i,r+n)}l=o}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,i,r){let n="",s=true;this.nodesBetween(t,e,((l,u)=>{let o=l.isText?l.text.slice(Math.max(t,u)-u,e-u):!l.isLeaf?"":r?typeof r==="function"?r(l):r:l.type.spec.leafText?l.type.spec.leafText(l):"";if(l.isBlock&&(l.isLeaf&&o||l.isTextblock)&&i){if(s)s=false;else n+=i}n+=o}),0);return n}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,i=t.firstChild,r=this.content.slice(),n=0;if(e.isText&&e.sameMarkup(i)){r[r.length-1]=e.withText(e.text+i.text);n=1}for(;n<t.content.length;n++)r.push(t.content[n]);return new pe(r,this.size+t.size)}cut(t,e=this.size){if(t==0&&e==this.size)return this;let i=[],r=0;if(e>t)for(let n=0,s=0;s<e;n++){let l=this.content[n],u=s+l.nodeSize;if(u>t){if(s<t||u>e){if(l.isText)l=l.cut(Math.max(0,t-s),Math.min(l.text.length,e-s));else l=l.cut(Math.max(0,t-s-1),Math.min(l.content.size,e-s-1))}i.push(l);r+=l.nodeSize}s=u}return new pe(i,r)}cutByIndex(t,e){if(t==e)return pe.empty;if(t==0&&e==this.content.length)return this;return new pe(this.content.slice(t,e))}replaceChild(t,e){let i=this.content[t];if(i==e)return this;let r=this.content.slice();let n=this.size+e.nodeSize-i.nodeSize;r[t]=e;return new pe(r,n)}addToStart(t){return new pe([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new pe(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return false;for(let e=0;e<this.content.length;e++)if(!this.content[e].eq(t.content[e]))return false;return true}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let e=this.content[t];if(!e)throw new RangeError("Index "+t+" out of range for "+this);return e}maybeChild(t){return this.content[t]||null}forEach(t){for(let e=0,i=0;e<this.content.length;e++){let r=this.content[e];t(r,i,e);i+=r.nodeSize}}findDiffStart(t,e=0){return ce(this,t,e)}findDiffEnd(t,e=this.size,i=t.size){return de(this,t,e,i)}findIndex(t,e=-1){if(t==0)return we(0,t);if(t==this.size)return we(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let i=0,r=0;;i++){let n=this.child(i),s=r+n.nodeSize;if(s>=t){if(s==t||e>0)return we(i+1,s);return we(i,r)}r=s}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return pe.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new pe(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return pe.empty;let e,i=0;for(let r=0;r<t.length;r++){let n=t[r];i+=n.nodeSize;if(r&&n.isText&&t[r-1].sameMarkup(n)){if(!e)e=t.slice(0,r);e[e.length-1]=n.withText(e[e.length-1].text+n.text)}else if(e){e.push(n)}}return new pe(e||t,i)}static from(t){if(!t)return pe.empty;if(t instanceof pe)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new pe([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}pe.empty=new pe([],0);const me={index:0,offset:0};function we(t,e){me.index=t;me.offset=e;return me}function ge(t,e){if(t===e)return true;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return false;let i=Array.isArray(t);if(Array.isArray(e)!=i)return false;if(i){if(t.length!=e.length)return false;for(let i=0;i<t.length;i++)if(!ge(t[i],e[i]))return false}else{for(let i in t)if(!(i in e)||!ge(t[i],e[i]))return false;for(let i in e)if(!(i in t))return false}return true}class be{constructor(t,e){this.type=t;this.attrs=e}addToSet(t){let e,i=false;for(let r=0;r<t.length;r++){let n=t[r];if(this.eq(n))return t;if(this.type.excludes(n.type)){if(!e)e=t.slice(0,r)}else if(n.type.excludes(this.type)){return t}else{if(!i&&n.type.rank>this.type.rank){if(!e)e=t.slice(0,r);e.push(this);i=true}if(e)e.push(n)}}if(!e)e=t.slice();if(!i)e.push(this);return e}removeFromSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return t.slice(0,e).concat(t.slice(e+1));return t}isInSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return true;return false}eq(t){return this==t||this.type==t.type&&ge(this.attrs,t.attrs)}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Mark.fromJSON");let i=t.marks[e.type];if(!i)throw new RangeError(`There is no mark type ${e.type} in this schema`);return i.create(e.attrs)}static sameSet(t,e){if(t==e)return true;if(t.length!=e.length)return false;for(let i=0;i<t.length;i++)if(!t[i].eq(e[i]))return false;return true}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return be.none;if(t instanceof be)return[t];let e=t.slice();e.sort(((t,e)=>t.type.rank-e.type.rank));return e}}be.none=[];class ke extends Error{}class De{constructor(t,e,i){this.content=t;this.openStart=e;this.openEnd=i}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let i=ye(this.content,t+this.openStart,e);return i&&new De(i,this.openStart,this.openEnd)}removeBetween(t,e){return new De(ve(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};if(this.openStart>0)t.openStart=this.openStart;if(this.openEnd>0)t.openEnd=this.openEnd;return t}static fromJSON(t,e){if(!e)return De.empty;let i=e.openStart||0,r=e.openEnd||0;if(typeof i!="number"||typeof r!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new De(pe.fromJSON(t,e.content),i,r)}static maxOpen(t,e=true){let i=0,r=0;for(let r=t.firstChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.firstChild)i++;for(let i=t.lastChild;i&&!i.isLeaf&&(e||!i.type.spec.isolating);i=i.lastChild)r++;return new De(t,i,r)}}De.empty=new De(pe.empty,0,0);function ve(t,e,i){let{index:r,offset:n}=t.findIndex(e),s=t.maybeChild(r);let{index:l,offset:u}=t.findIndex(i);if(n==e||s.isText){if(u!=i&&!t.child(l).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(i))}if(r!=l)throw new RangeError("Removing non-flat range");return t.replaceChild(r,s.copy(ve(s.content,e-n-1,i-n-1)))}function ye(t,e,i,r){let{index:n,offset:s}=t.findIndex(e),l=t.maybeChild(n);if(s==e||l.isText){if(r&&!r.canReplace(n,n,i))return null;return t.cut(0,e).append(i).append(t.cut(e))}let u=ye(l.content,e-s-1,i);return u&&t.replaceChild(n,l.copy(u))}function Fe(t,e,i){if(i.openStart>t.depth)throw new ke("Inserted content deeper than insertion position");if(t.depth-i.openStart!=e.depth-i.openEnd)throw new ke("Inconsistent open depths");return Ee(t,e,i,0)}function Ee(t,e,i,r){let n=t.index(r),s=t.node(r);if(n==e.index(r)&&r<t.depth-i.openStart){let l=Ee(t,e,i,r+1);return s.copy(s.content.replaceChild(n,l))}else if(!i.content.size){return Se(s,$e(t,e,r))}else if(!i.openStart&&!i.openEnd&&t.depth==r&&e.depth==r){let r=t.parent,n=r.content;return Se(r,n.cut(0,t.parentOffset).append(i.content).append(n.cut(e.parentOffset)))}else{let{start:n,end:l}=_e(i,t);return Se(s,Oe(t,n,l,e,r))}}function xe(t,e){if(!e.type.compatibleContent(t.type))throw new ke("Cannot join "+e.type.name+" onto "+t.type.name)}function Me(t,e,i){let r=t.node(i);xe(r,e.node(i));return r}function Ae(t,e){let i=e.length-1;if(i>=0&&t.isText&&t.sameMarkup(e[i]))e[i]=t.withText(e[i].text+t.text);else e.push(t)}function Ce(t,e,i,r){let n=(e||t).node(i);let s=0,l=e?e.index(i):n.childCount;if(t){s=t.index(i);if(t.depth>i){s++}else if(t.textOffset){Ae(t.nodeAfter,r);s++}}for(let t=s;t<l;t++)Ae(n.child(t),r);if(e&&e.depth==i&&e.textOffset)Ae(e.nodeBefore,r)}function Se(t,e){t.type.checkContent(e);return t.copy(e)}function Oe(t,e,i,r,n){let s=t.depth>n&&Me(t,e,n+1);let l=r.depth>n&&Me(i,r,n+1);let u=[];Ce(null,t,n,u);if(s&&l&&e.index(n)==i.index(n)){xe(s,l);Ae(Se(s,Oe(t,e,i,r,n+1)),u)}else{if(s)Ae(Se(s,$e(t,e,n+1)),u);Ce(e,i,n,u);if(l)Ae(Se(l,$e(i,r,n+1)),u)}Ce(r,null,n,u);return new pe(u)}function $e(t,e,i){let r=[];Ce(null,t,i,r);if(t.depth>i){let n=Me(t,e,i+1);Ae(Se(n,$e(t,e,i+1)),r)}Ce(e,null,i,r);return new pe(r)}function _e(t,e){let i=e.depth-t.openStart,r=e.node(i);let n=r.copy(t.content);for(let t=i-1;t>=0;t--)n=e.node(t).copy(pe.from(n));return{start:n.resolveNoCache(t.openStart+i),end:n.resolveNoCache(n.content.size-t.openEnd-i)}}class Be{constructor(t,e,i){this.pos=t;this.path=e;this.parentOffset=i;this.depth=e.length/3-1}resolveDepth(t){if(t==null)return this.depth;if(t<0)return this.depth+t;return t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){t=this.resolveDepth(t);return this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){t=this.resolveDepth(t);return t==0?0:this.path[t*3-1]+1}end(t){t=this.resolveDepth(t);return this.start(t)+this.node(t).content.size}before(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let i=this.pos-this.path[this.path.length-1],r=t.child(e);return i?t.child(e).cut(i):r}get nodeBefore(){let t=this.index(this.depth);let e=this.pos-this.path[this.path.length-1];if(e)return this.parent.child(t).cut(0,e);return t==0?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let i=this.path[e*3],r=e==0?0:this.path[e*3-1]+1;for(let e=0;e<t;e++)r+=i.child(e).nodeSize;return r}marks(){let t=this.parent,e=this.index();if(t.content.size==0)return be.none;if(this.textOffset)return t.child(e).marks;let i=t.maybeChild(e-1),r=t.maybeChild(e);if(!i){let t=i;i=r;r=t}let n=i.marks;for(var s=0;s<n.length;s++)if(n[s].type.spec.inclusive===false&&(!r||!n[s].isInSet(r.marks)))n=n[s--].removeFromSet(n);return n}marksAcross(t){let e=this.parent.maybeChild(this.index());if(!e||!e.isInline)return null;let i=e.marks,r=t.parent.maybeChild(t.index());for(var n=0;n<i.length;n++)if(i[n].type.spec.inclusive===false&&(!r||!i[n].isInSet(r.marks)))i=i[n--].removeFromSet(i);return i}sharedDepth(t){for(let e=this.depth;e>0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos<this.pos)return t.blockRange(this);for(let i=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);i>=0;i--)if(t.pos<=this.end(i)&&(!e||e(this.node(i))))return new Ne(this,t,i);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos<this.pos?t:this}toString(){let t="";for(let e=1;e<=this.depth;e++)t+=(t?"/":"")+this.node(e).type.name+"_"+this.index(e-1);return t+":"+this.parentOffset}static resolve(t,e){if(!(e>=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let i=[];let r=0,n=e;for(let e=t;;){let{index:t,offset:s}=e.content.findIndex(n);let l=n-s;i.push(e,t,r+s);if(!l)break;e=e.child(t);if(e.isText)break;n=l-1;r+=s+1}return new Be(e,i,n)}static resolveCached(t,e){for(let i=0;i<je.length;i++){let r=je[i];if(r.pos==e&&r.doc==t)return r}let i=je[qe]=Be.resolve(t,e);qe=(qe+1)%Re;return i}}let je=[],qe=0,Re=12;class Ne{constructor(t,e,i){this.$from=t;this.$to=e;this.depth=i}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const ze=Object.create(null);class Te{constructor(t,e,i,r=be.none){this.type=t;this.attrs=e;this.marks=r;this.content=i||pe.empty}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(t){return this.content.child(t)}maybeChild(t){return this.content.maybeChild(t)}forEach(t){this.content.forEach(t)}nodesBetween(t,e,i,r=0){this.content.nodesBetween(t,e,i,r,this)}descendants(t){this.nodesBetween(0,this.content.size,t)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(t,e,i,r){return this.content.textBetween(t,e,i,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)}sameMarkup(t){return this.hasMarkup(t.type,t.attrs,t.marks)}hasMarkup(t,e,i){return this.type==t&&ge(this.attrs,e||t.defaultAttrs||ze)&&be.sameSet(this.marks,i||be.none)}copy(t=null){if(t==this.content)return this;return new Te(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new Te(this.type,this.attrs,this.content,t)}cut(t,e=this.content.size){if(t==0&&e==this.content.size)return this;return this.copy(this.content.cut(t,e))}slice(t,e=this.content.size,i=false){if(t==e)return De.empty;let r=this.resolve(t),n=this.resolve(e);let s=i?0:r.sharedDepth(e);let l=r.start(s),u=r.node(s);let o=u.content.cut(r.pos-l,n.pos-l);return new De(o,r.depth-s,n.depth-s)}replace(t,e,i){return Fe(this.resolve(t),this.resolve(e),i)}nodeAt(t){for(let e=this;;){let{index:i,offset:r}=e.content.findIndex(t);e=e.maybeChild(i);if(!e)return null;if(r==t||e.isText)return e;t-=r+1}}childAfter(t){let{index:e,offset:i}=this.content.findIndex(t);return{node:this.content.maybeChild(e),index:e,offset:i}}childBefore(t){if(t==0)return{node:null,index:0,offset:0};let{index:e,offset:i}=this.content.findIndex(t);if(i<t)return{node:this.content.child(e),index:e,offset:i};let r=this.content.child(e-1);return{node:r,index:e-1,offset:i-r.nodeSize}}resolve(t){return Be.resolveCached(this,t)}resolveNoCache(t){return Be.resolve(this,t)}rangeHasMark(t,e,i){let r=false;if(e>t)this.nodesBetween(t,e,(t=>{if(i.isInSet(t.marks))r=true;return!r}));return r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;if(this.content.size)t+="("+this.content.toStringInner()+")";return Pe(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,i=pe.empty,r=0,n=i.childCount){let s=this.contentMatchAt(t).matchFragment(i,r,n);let l=s&&s.matchFragment(this.content,e);if(!l||!l.validEnd)return false;for(let t=r;t<n;t++)if(!this.type.allowsMarks(i.child(t).marks))return false;return true}canReplaceWith(t,e,i,r){if(r&&!this.type.allowsMarks(r))return false;let n=this.contentMatchAt(t).matchType(i);let s=n&&n.matchFragment(this.content,e);return s?s.validEnd:false}canAppend(t){if(t.content.size)return this.canReplace(this.childCount,this.childCount,t.content);else return this.type.compatibleContent(t.type)}check(){this.type.checkContent(this.content);let t=be.none;for(let e=0;e<this.marks.length;e++)t=this.marks[e].addToSet(t);if(!be.sameSet(t,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map((t=>t.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}if(this.content.size)t.content=this.content.toJSON();if(this.marks.length)t.marks=this.marks.map((t=>t.toJSON()));return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let i=null;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");i=e.marks.map(t.markFromJSON)}if(e.type=="text"){if(typeof e.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(e.text,i)}let r=pe.fromJSON(t,e.content);return t.nodeType(e.type).create(e.attrs,r,i)}}Te.prototype.text=undefined;class Ie extends Te{constructor(t,e,i,r){super(t,e,null,r);if(!i)throw new RangeError("Empty text nodes are not allowed");this.text=i}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);return Pe(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new Ie(this.type,this.attrs,this.text,t)}withText(t){if(t==this.text)return this;return new Ie(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){if(t==0&&e==this.text.length)return this;return this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();t.text=this.text;return t}}function Pe(t,e){for(let i=t.length-1;i>=0;i--)e=t[i].type.name+"("+e+")";return e}class Je{constructor(t){this.validEnd=t;this.next=[];this.wrapCache=[]}static parse(t,e){let i=new Le(t,e);if(i.next==null)return Je.empty;let r=Ue(i);if(i.next)i.err("Unexpected trailing text");let n=ti(Xe(r));ei(n,i);return n}matchType(t){for(let e=0;e<this.next.length;e++)if(this.next[e].type==t)return this.next[e].next;return null}matchFragment(t,e=0,i=t.childCount){let r=this;for(let n=e;r&&n<i;n++)r=r.matchType(t.child(n).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let t=0;t<this.next.length;t++){let{type:e}=this.next[t];if(!(e.isText||e.hasRequiredAttrs()))return e}return null}compatible(t){for(let e=0;e<this.next.length;e++)for(let i=0;i<t.next.length;i++)if(this.next[e].type==t.next[i].type)return true;return false}fillBefore(t,e=false,i=0){let r=[this];function n(s,l){let u=s.matchFragment(t,i);if(u&&(!e||u.validEnd))return pe.from(l.map((t=>t.createAndFill())));for(let t=0;t<s.next.length;t++){let{type:e,next:i}=s.next[t];if(!(e.isText||e.hasRequiredAttrs())&&r.indexOf(i)==-1){r.push(i);let t=n(i,l.concat(e));if(t)return t}}return null}return n(this,[])}findWrapping(t){for(let e=0;e<this.wrapCache.length;e+=2)if(this.wrapCache[e]==t)return this.wrapCache[e+1];let e=this.computeWrapping(t);this.wrapCache.push(t,e);return e}computeWrapping(t){let e=Object.create(null),i=[{match:this,type:null,via:null}];while(i.length){let r=i.shift(),n=r.match;if(n.matchType(t)){let t=[];for(let e=r;e.type;e=e.via)t.push(e.type);return t.reverse()}for(let t=0;t<n.next.length;t++){let{type:s,next:l}=n.next[t];if(!s.isLeaf&&!s.hasRequiredAttrs()&&!(s.name in e)&&(!r.type||l.validEnd)){i.push({match:s.contentMatch,type:s,via:r});e[s.name]=true}}}return null}get edgeCount(){return this.next.length}edge(t){if(t>=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function e(i){t.push(i);for(let r=0;r<i.next.length;r++)if(t.indexOf(i.next[r].next)==-1)e(i.next[r].next)}e(this);return t.map(((e,i)=>{let r=i+(e.validEnd?"*":" ")+" ";for(let i=0;i<e.next.length;i++)r+=(i?", ":"")+e.next[i].type.name+"->"+t.indexOf(e.next[i].next);return r})).join("\n")}}Je.empty=new Je(true);class Le{constructor(t,e){this.string=t;this.nodeTypes=e;this.inline=null;this.pos=0;this.tokens=t.split(/\s*(?=\b|\W|$)/);if(this.tokens[this.tokens.length-1]=="")this.tokens.pop();if(this.tokens[0]=="")this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||true)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function Ue(t){let e=[];do{e.push(We(t))}while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function We(t){let e=[];do{e.push(He(t))}while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function He(t){let e=Ge(t);for(;;){if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=Ke(t,e);else break}return e}function Ze(t){if(/\D/.test(t.next))t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);t.pos++;return e}function Ke(t,e){let i=Ze(t),r=i;if(t.eat(",")){if(t.next!="}")r=Ze(t);else r=-1}if(!t.eat("}"))t.err("Unclosed braced range");return{type:"range",min:i,max:r,expr:e}}function Ve(t,e){let i=t.nodeTypes,r=i[e];if(r)return[r];let n=[];for(let t in i){let r=i[t];if(r.groups.indexOf(e)>-1)n.push(r)}if(n.length==0)t.err("No node type or group '"+e+"' found");return n}function Ge(t){if(t.eat("(")){let e=Ue(t);if(!t.eat(")"))t.err("Missing closing paren");return e}else if(!/\W/.test(t.next)){let e=Ve(t,t.next).map((e=>{if(t.inline==null)t.inline=e.isInline;else if(t.inline!=e.isInline)t.err("Mixing inline and block content");return{type:"name",value:e}}));t.pos++;return e.length==1?e[0]:{type:"choice",exprs:e}}else{t.err("Unexpected token '"+t.next+"'")}}function Xe(t){let e=[[]];n(s(t,0),i());return e;function i(){return e.push([])-1}function r(t,i,r){let n={term:r,to:i};e[t].push(n);return n}function n(t,e){t.forEach((t=>t.to=e))}function s(t,e){if(t.type=="choice"){return t.exprs.reduce(((t,i)=>t.concat(s(i,e))),[])}else if(t.type=="seq"){for(let r=0;;r++){let l=s(t.exprs[r],e);if(r==t.exprs.length-1)return l;n(l,e=i())}}else if(t.type=="star"){let l=i();r(e,l);n(s(t.expr,l),l);return[r(l)]}else if(t.type=="plus"){let l=i();n(s(t.expr,e),l);n(s(t.expr,l),l);return[r(l)]}else if(t.type=="opt"){return[r(e)].concat(s(t.expr,e))}else if(t.type=="range"){let l=e;for(let e=0;e<t.min;e++){let e=i();n(s(t.expr,l),e);l=e}if(t.max==-1){n(s(t.expr,l),l)}else{for(let e=t.min;e<t.max;e++){let e=i();r(l,e);n(s(t.expr,l),e);l=e}}return[r(l)]}else if(t.type=="name"){return[r(e,undefined,t.value)]}else{throw new Error("Unknown expr type")}}}function Ye(t,e){return e-t}function Qe(t,e){let i=[];r(e);return i.sort(Ye);function r(e){let n=t[e];if(n.length==1&&!n[0].term)return r(n[0].to);i.push(e);for(let t=0;t<n.length;t++){let{term:e,to:s}=n[t];if(!e&&i.indexOf(s)==-1)r(s)}}}function ti(t){let e=Object.create(null);return i(Qe(t,0));function i(r){let n=[];r.forEach((e=>{t[e].forEach((({term:e,to:i})=>{if(!e)return;let r;for(let t=0;t<n.length;t++)if(n[t][0]==e)r=n[t][1];Qe(t,i).forEach((t=>{if(!r)n.push([e,r=[]]);if(r.indexOf(t)==-1)r.push(t)}))}))}));let s=e[r.join(",")]=new Je(r.indexOf(t.length-1)>-1);for(let t=0;t<n.length;t++){let r=n[t][1].sort(Ye);s.next.push({type:n[t][0],next:e[r.join(",")]||i(r)})}return s}}function ei(t,e){for(let i=0,r=[t];i<r.length;i++){let t=r[i],n=!t.validEnd,s=[];for(let e=0;e<t.next.length;e++){let{type:i,next:l}=t.next[e];s.push(i.name);if(n&&!(i.isText||i.hasRequiredAttrs()))n=false;if(r.indexOf(l)==-1)r.push(l)}if(n)e.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function ii(t){let e=Object.create(null);for(let i in t){let r=t[i];if(!r.hasDefault)return null;e[i]=r.default}return e}function ri(t,e){let i=Object.create(null);for(let r in t){let n=e&&e[r];if(n===undefined){let e=t[r];if(e.hasDefault)n=e.default;else throw new RangeError("No value supplied for attribute "+r)}i[r]=n}return i}function ni(t){let e=Object.create(null);if(t)for(let i in t)e[i]=new li(t[i]);return e}class si{constructor(t,e,i){this.name=t;this.schema=e;this.spec=i;this.markSet=null;this.groups=i.group?i.group.split(" "):[];this.attrs=ni(i.attrs);this.defaultAttrs=ii(this.attrs);this.contentMatch=null;this.inlineContent=null;this.isBlock=!(i.inline||t=="text");this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Je.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return true;return false}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){if(!t&&this.defaultAttrs)return this.defaultAttrs;else return ri(this.attrs,t)}create(t=null,e,i){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Te(this,this.computeAttrs(t),pe.from(e),be.setFrom(i))}createChecked(t=null,e,i){e=pe.from(e);this.checkContent(e);return new Te(this,this.computeAttrs(t),e,be.setFrom(i))}createAndFill(t=null,e,i){t=this.computeAttrs(t);e=pe.from(e);if(e.size){let t=this.contentMatch.fillBefore(e);if(!t)return null;e=t.append(e)}let r=this.contentMatch.matchFragment(e);let n=r&&r.fillBefore(pe.empty,true);if(!n)return null;return new Te(this,t,e.append(n),be.setFrom(i))}validContent(t){let e=this.contentMatch.matchFragment(t);if(!e||!e.validEnd)return false;for(let e=0;e<t.childCount;e++)if(!this.allowsMarks(t.child(e).marks))return false;return true}checkContent(t){if(!this.validContent(t))throw new RangeError(`Invalid content for node ${this.name}: ${t.toString().slice(0,50)}`)}allowsMarkType(t){return this.markSet==null||this.markSet.indexOf(t)>-1}allowsMarks(t){if(this.markSet==null)return true;for(let e=0;e<t.length;e++)if(!this.allowsMarkType(t[e].type))return false;return true}allowedMarks(t){if(this.markSet==null)return t;let e;for(let i=0;i<t.length;i++){if(!this.allowsMarkType(t[i].type)){if(!e)e=t.slice(0,i)}else if(e){e.push(t[i])}}return!e?t:e.length?e:be.none}static compile(t,e){let i=Object.create(null);t.forEach(((t,r)=>i[t]=new si(t,e,r)));let r=e.spec.topNode||"doc";if(!i[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!i.text)throw new RangeError("Every schema needs a 'text' type");for(let t in i.text.attrs)throw new RangeError("The text node type should not have attributes");return i}}class li{constructor(t){this.hasDefault=Object.prototype.hasOwnProperty.call(t,"default");this.default=t.default}get isRequired(){return!this.hasDefault}}class ui{constructor(t,e,i,r){this.name=t;this.rank=e;this.schema=i;this.spec=r;this.attrs=ni(r.attrs);this.excluded=null;let n=ii(this.attrs);this.instance=n?new be(this,n):null}create(t=null){if(!t&&this.instance)return this.instance;return new be(this,ri(this.attrs,t))}static compile(t,e){let i=Object.create(null),r=0;t.forEach(((t,n)=>i[t]=new ui(t,r++,e,n)));return i}removeFromSet(t){for(var e=0;e<t.length;e++)if(t[e].type==this){t=t.slice(0,e).concat(t.slice(e+1));e--}return t}isInSet(t){for(let e=0;e<t.length;e++)if(t[e].type==this)return t[e]}excludes(t){return this.excluded.indexOf(t)>-1}}class oi{constructor(t){this.cached=Object.create(null);let e=this.spec={};for(let i in t)e[i]=t[i];e.nodes=ae.from(t.nodes),e.marks=ae.from(t.marks||{}),this.nodes=si.compile(this.spec.nodes,this);this.marks=ui.compile(this.spec.marks,this);let i=Object.create(null);for(let t in this.nodes){if(t in this.marks)throw new RangeError(t+" can not be both a node and a mark");let e=this.nodes[t],r=e.spec.content||"",n=e.spec.marks;e.contentMatch=i[r]||(i[r]=Je.parse(r,this.nodes));e.inlineContent=e.contentMatch.inlineContent;e.markSet=n=="_"?null:n?fi(this,n.split(" ")):n==""||!e.inlineContent?[]:null}for(let t in this.marks){let e=this.marks[t],i=e.spec.excludes;e.excluded=i==null?[e]:i==""?[]:fi(this,i.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this);this.markFromJSON=this.markFromJSON.bind(this);this.topNodeType=this.nodes[this.spec.topNode||"doc"];this.cached.wrappings=Object.create(null)}node(t,e=null,i,r){if(typeof t=="string")t=this.nodeType(t);else if(!(t instanceof si))throw new RangeError("Invalid node type: "+t);else if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")");return t.createChecked(e,i,r)}text(t,e){let i=this.nodes.text;return new Ie(i,i.defaultAttrs,t,be.setFrom(e))}mark(t,e){if(typeof t=="string")t=this.marks[t];return t.create(e)}nodeFromJSON(t){return Te.fromJSON(this,t)}markFromJSON(t){return be.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function fi(t,e){let i=[];for(let r=0;r<e.length;r++){let n=e[r],s=t.marks[n],l=s;if(s){i.push(s)}else{for(let e in t.marks){let r=t.marks[e];if(n=="_"||r.spec.group&&r.spec.group.split(" ").indexOf(n)>-1)i.push(l=r)}}if(!l)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return i}class hi{constructor(t,e){this.schema=t;this.rules=e;this.tags=[];this.styles=[];e.forEach((t=>{if(t.tag)this.tags.push(t);else if(t.style)this.styles.push(t)}));this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return false;let i=t.nodes[e.node];return i.contentMatch.matchType(i)}))}parse(t,e={}){let i=new ki(this,e,false);i.addAll(t,e.from,e.to);return i.finish()}parseSlice(t,e={}){let i=new ki(this,e,true);i.addAll(t,e.from,e.to);return De.maxOpen(i.finish())}matchTag(t,e,i){for(let r=i?this.tags.indexOf(i)+1:0;r<this.tags.length;r++){let i=this.tags[r];if(vi(t,i.tag)&&(i.namespace===undefined||t.namespaceURI==i.namespace)&&(!i.context||e.matchesContext(i.context))){if(i.getAttrs){let e=i.getAttrs(t);if(e===false)continue;i.attrs=e||undefined}return i}}}matchStyle(t,e,i,r){for(let n=r?this.styles.indexOf(r)+1:0;n<this.styles.length;n++){let r=this.styles[n],s=r.style;if(s.indexOf(t)!=0||r.context&&!i.matchesContext(r.context)||s.length>t.length&&(s.charCodeAt(t.length)!=61||s.slice(t.length+1)!=e))continue;if(r.getAttrs){let t=r.getAttrs(e);if(t===false)continue;r.attrs=t||undefined}return r}}static schemaRules(t){let e=[];function i(t){let i=t.priority==null?50:t.priority,r=0;for(;r<e.length;r++){let t=e[r],n=t.priority==null?50:t.priority;if(n<i)break}e.splice(r,0,t)}for(let e in t.marks){let r=t.marks[e].spec.parseDOM;if(r)r.forEach((t=>{i(t=Fi(t));if(!(t.mark||t.ignore||t.clearMark))t.mark=e}))}for(let e in t.nodes){let r=t.nodes[e].spec.parseDOM;if(r)r.forEach((t=>{i(t=Fi(t));if(!(t.node||t.ignore||t.mark))t.node=e}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new hi(t,hi.schemaRules(t)))}}const ai={address:true,article:true,aside:true,blockquote:true,canvas:true,dd:true,div:true,dl:true,fieldset:true,figcaption:true,figure:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,li:true,noscript:true,ol:true,output:true,p:true,pre:true,section:true,table:true,tfoot:true,ul:true};const ci={head:true,noscript:true,object:true,script:true,style:true,title:true};const di={ol:true,ul:true};const pi=1,mi=2,wi=4;function gi(t,e,i){if(e!=null)return(e?pi:0)|(e==="full"?mi:0);return t&&t.whitespace=="pre"?pi|mi:i&~wi}class bi{constructor(t,e,i,r,n,s,l){this.type=t;this.attrs=e;this.marks=i;this.pendingMarks=r;this.solid=n;this.options=l;this.content=[];this.activeMarks=be.none;this.stashMarks=[];this.match=s||(l&wi?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(pe.from(t));if(e){this.match=this.type.contentMatch.matchFragment(e)}else{let e=this.type.contentMatch,i;if(i=e.findWrapping(t.type)){this.match=e;return i}else{return null}}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&pi)){let t=this.content[this.content.length-1],e;if(t&&t.isText&&(e=/[ \t\r\n\u000c]+$/.exec(t.text))){let i=t;if(t.text.length==e[0].length)this.content.pop();else this.content[this.content.length-1]=i.withText(i.text.slice(0,i.text.length-e[0].length))}}let e=pe.from(this.content);if(!t&&this.match)e=e.append(this.match.fillBefore(pe.empty,true));return this.type?this.type.create(this.attrs,e,this.marks):e}popFromStashMark(t){for(let e=this.stashMarks.length-1;e>=0;e--)if(t.eq(this.stashMarks[e]))return this.stashMarks.splice(e,1)[0]}applyPending(t){for(let e=0,i=this.pendingMarks;e<i.length;e++){let r=i[e];if((this.type?this.type.allowsMarkType(r.type):Ei(r.type,t))&&!r.isInSet(this.activeMarks)){this.activeMarks=r.addToSet(this.activeMarks);this.pendingMarks=r.removeFromSet(this.pendingMarks)}}}inlineContext(t){if(this.type)return this.type.inlineContent;if(this.content.length)return this.content[0].isInline;return t.parentNode&&!ai.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}}class ki{constructor(t,e,i){this.parser=t;this.options=e;this.isOpen=i;this.open=0;let r=e.topNode,n;let s=gi(null,e.preserveWhitespace,0)|(i?wi:0);if(r)n=new bi(r.type,r.attrs,be.none,be.none,true,e.topMatch||r.type.contentMatch,s);else if(i)n=new bi(null,null,be.none,be.none,true,null,s);else n=new bi(t.schema.topNodeType,null,be.none,be.none,true,null,s);this.nodes=[n];this.find=e.findPositions;this.needsBlock=false}get top(){return this.nodes[this.open]}addDOM(t){if(t.nodeType==3)this.addTextNode(t);else if(t.nodeType==1)this.addElement(t)}withStyleRules(t,e){let i=t.getAttribute("style");if(!i)return e();let r=this.readStyles(yi(i));if(!r)return;let[n,s]=r,l=this.top;for(let t=0;t<s.length;t++)this.removePendingMark(s[t],l);for(let t=0;t<n.length;t++)this.addPendingMark(n[t]);e();for(let t=0;t<n.length;t++)this.removePendingMark(n[t],l);for(let t=0;t<s.length;t++)this.addPendingMark(s[t])}addTextNode(t){let e=t.nodeValue;let i=this.top;if(i.options&mi||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(e)){if(!(i.options&pi)){e=e.replace(/[ \t\r\n\u000c]+/g," ");if(/^[ \t\r\n\u000c]/.test(e)&&this.open==this.nodes.length-1){let r=i.content[i.content.length-1];let n=t.previousSibling;if(!r||n&&n.nodeName=="BR"||r.isText&&/[ \t\r\n\u000c]$/.test(r.text))e=e.slice(1)}}else if(!(i.options&mi)){e=e.replace(/\r?\n|\r/g," ")}else{e=e.replace(/\r\n?/g,"\n")}if(e)this.insertNode(this.parser.schema.text(e));this.findInText(t)}else{this.findInside(t)}}addElement(t,e){let i=t.nodeName.toLowerCase(),r;if(di.hasOwnProperty(i)&&this.parser.normalizeLists)Di(t);let n=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(r=this.parser.matchTag(t,this,e));if(n?n.ignore:ci.hasOwnProperty(i)){this.findInside(t);this.ignoreFallback(t)}else if(!n||n.skip||n.closeParent){if(n&&n.closeParent)this.open=Math.max(0,this.open-1);else if(n&&n.skip.nodeType)t=n.skip;let e,r=this.top,s=this.needsBlock;if(ai.hasOwnProperty(i)){if(r.content.length&&r.content[0].isInline&&this.open){this.open--;r=this.top}e=true;if(!r.type)this.needsBlock=true}else if(!t.firstChild){this.leafFallback(t);return}if(n&&n.skip)this.addAll(t);else this.withStyleRules(t,(()=>this.addAll(t)));if(e)this.sync(r);this.needsBlock=s}else{this.withStyleRules(t,(()=>{this.addElementByRule(t,n,n.consuming===false?r:undefined)}))}}leafFallback(t){if(t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent)this.addTextNode(t.ownerDocument.createTextNode("\n"))}ignoreFallback(t){if(t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent))this.findPlace(this.parser.schema.text("-"))}readStyles(t){let e=be.none,i=be.none;for(let r=0;r<t.length;r+=2){for(let n=undefined;;){let s=this.parser.matchStyle(t[r],t[r+1],this,n);if(!s)break;if(s.ignore)return null;if(s.clearMark){this.top.pendingMarks.concat(this.top.activeMarks).forEach((t=>{if(s.clearMark(t))i=t.addToSet(i)}))}else{e=this.parser.schema.marks[s.mark].create(s.attrs).addToSet(e)}if(s.consuming===false)n=s;else break}}return[e,i]}addElementByRule(t,e,i){let r,n,s;if(e.node){n=this.parser.schema.nodes[e.node];if(!n.isLeaf){r=this.enter(n,e.attrs||null,e.preserveWhitespace)}else if(!this.insertNode(n.create(e.attrs))){this.leafFallback(t)}}else{let t=this.parser.schema.marks[e.mark];s=t.create(e.attrs);this.addPendingMark(s)}let l=this.top;if(n&&n.isLeaf){this.findInside(t)}else if(i){this.addElement(t,i)}else if(e.getContent){this.findInside(t);e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t)))}else{let i=t;if(typeof e.contentElement=="string")i=t.querySelector(e.contentElement);else if(typeof e.contentElement=="function")i=e.contentElement(t);else if(e.contentElement)i=e.contentElement;this.findAround(t,i,true);this.addAll(i)}if(r&&this.sync(l))this.open--;if(s)this.removePendingMark(s,l)}addAll(t,e,i){let r=e||0;for(let n=e?t.childNodes[e]:t.firstChild,s=i==null?null:t.childNodes[i];n!=s;n=n.nextSibling,++r){this.findAtPoint(t,r);this.addDOM(n)}this.findAtPoint(t,r)}findPlace(t){let e,i;for(let r=this.open;r>=0;r--){let n=this.nodes[r];let s=n.findWrapping(t);if(s&&(!e||e.length>s.length)){e=s;i=n;if(!s.length)break}if(n.solid)break}if(!e)return false;this.sync(i);for(let t=0;t<e.length;t++)this.enterInner(e[t],null,false);return true}insertNode(t){if(t.isInline&&this.needsBlock&&!this.top.type){let t=this.textblockFromContext();if(t)this.enterInner(t)}if(this.findPlace(t)){this.closeExtra();let e=this.top;e.applyPending(t.type);if(e.match)e.match=e.match.matchType(t.type);let i=e.activeMarks;for(let r=0;r<t.marks.length;r++)if(!e.type||e.type.allowsMarkType(t.marks[r].type))i=t.marks[r].addToSet(i);e.content.push(t.mark(i));return true}return false}enter(t,e,i){let r=this.findPlace(t.create(e));if(r)this.enterInner(t,e,true,i);return r}enterInner(t,e=null,i=false,r){this.closeExtra();let n=this.top;n.applyPending(t);n.match=n.match&&n.match.matchType(t);let s=gi(t,r,n.options);if(n.options&wi&&n.content.length==0)s|=wi;this.nodes.push(new bi(t,e,n.activeMarks,n.pendingMarks,i,null,s));this.open++}closeExtra(t=false){let e=this.nodes.length-1;if(e>this.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){this.open=0;this.closeExtra(this.isOpen);return this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t){this.open=e;return true}return false}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let i=this.nodes[e].content;for(let e=i.length-1;e>=0;e--)t+=i[e].nodeSize;if(e)t++}return t}findAtPoint(t,e){if(this.find)for(let i=0;i<this.find.length;i++){if(this.find[i].node==t&&this.find[i].offset==e)this.find[i].pos=this.currentPos}}findInside(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].pos==null&&t.nodeType==1&&t.contains(this.find[e].node))this.find[e].pos=this.currentPos}}findAround(t,e,i){if(t!=e&&this.find)for(let r=0;r<this.find.length;r++){if(this.find[r].pos==null&&t.nodeType==1&&t.contains(this.find[r].node)){let t=e.compareDocumentPosition(this.find[r].node);if(t&(i?2:4))this.find[r].pos=this.currentPos}}}findInText(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].node==t)this.find[e].pos=this.currentPos-(t.nodeValue.length-this.find[e].offset)}}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/");let i=this.options.context;let r=!this.isOpen&&(!i||i.parent.type==this.nodes[0].type);let n=-(i?i.depth+1:0)+(r?0:1);let s=(t,l)=>{for(;t>=0;t--){let u=e[t];if(u==""){if(t==e.length-1||t==0)continue;for(;l>=n;l--)if(s(t-1,l))return true;return false}else{let t=l>0||l==0&&r?this.nodes[l].type:i&&l>=n?i.node(l-n).type:null;if(!t||t.name!=u&&t.groups.indexOf(u)==-1)return false;l--}}return true};return s(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let i=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(i&&i.isTextblock&&i.defaultAttrs)return i}for(let t in this.parser.schema.nodes){let e=this.parser.schema.nodes[t];if(e.isTextblock&&e.defaultAttrs)return e}}addPendingMark(t){let e=xi(t,this.top.pendingMarks);if(e)this.top.stashMarks.push(e);this.top.pendingMarks=t.addToSet(this.top.pendingMarks)}removePendingMark(t,e){for(let i=this.open;i>=0;i--){let r=this.nodes[i];let n=r.pendingMarks.lastIndexOf(t);if(n>-1){r.pendingMarks=t.removeFromSet(r.pendingMarks)}else{r.activeMarks=t.removeFromSet(r.activeMarks);let e=r.popFromStashMark(t);if(e&&r.type&&r.type.allowsMarkType(e.type))r.activeMarks=e.addToSet(r.activeMarks)}if(r==e)break}}}function Di(t){for(let e=t.firstChild,i=null;e;e=e.nextSibling){let t=e.nodeType==1?e.nodeName.toLowerCase():null;if(t&&di.hasOwnProperty(t)&&i){i.appendChild(e);e=i}else if(t=="li"){i=e}else if(t){i=null}}}function vi(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function yi(t){let e=/\s*([\w-]+)\s*:\s*([^;]+)/g,i,r=[];while(i=e.exec(t))r.push(i[1],i[2].trim());return r}function Fi(t){let e={};for(let i in t)e[i]=t[i];return e}function Ei(t,e){let i=e.schema.nodes;for(let r in i){let n=i[r];if(!n.allowsMarkType(t))continue;let s=[],l=t=>{s.push(t);for(let i=0;i<t.edgeCount;i++){let{type:r,next:n}=t.edge(i);if(r==e)return true;if(s.indexOf(n)<0&&l(n))return true}};if(l(n.contentMatch))return true}}function xi(t,e){for(let i=0;i<e.length;i++){if(t.eq(e[i]))return e[i]}}class Mi{constructor(t,e){this.nodes=t;this.marks=e}serializeFragment(t,e={},i){if(!i)i=Ci(e).createDocumentFragment();let r=i,n=[];t.forEach((t=>{if(n.length||t.marks.length){let i=0,s=0;while(i<n.length&&s<t.marks.length){let e=t.marks[s];if(!this.marks[e.type.name]){s++;continue}if(!e.eq(n[i][0])||e.type.spec.spanning===false)break;i++;s++}while(i<n.length)r=n.pop()[1];while(s<t.marks.length){let i=t.marks[s++];let l=this.serializeMark(i,t.isInline,e);if(l){n.push([i,r]);r.appendChild(l.dom);r=l.contentDOM||l.dom}}}r.appendChild(this.serializeNodeInner(t,e))}));return i}serializeNodeInner(t,e){let{dom:i,contentDOM:r}=Mi.renderSpec(Ci(e),this.nodes[t.type.name](t));if(r){if(t.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(t.content,e,r)}return i}serializeNode(t,e={}){let i=this.serializeNodeInner(t,e);for(let r=t.marks.length-1;r>=0;r--){let n=this.serializeMark(t.marks[r],t.isInline,e);if(n){(n.contentDOM||n.dom).appendChild(i);i=n.dom}}return i}serializeMark(t,e,i={}){let r=this.marks[t.type.name];return r&&Mi.renderSpec(Ci(i),r(t,e))}static renderSpec(t,e,i=null){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let r=e[0],n=r.indexOf(" ");if(n>0){i=r.slice(0,n);r=r.slice(n+1)}let s;let l=i?t.createElementNS(i,r):t.createElement(r);let u=e[1],o=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){o=2;for(let t in u)if(u[t]!=null){let e=t.indexOf(" ");if(e>0)l.setAttributeNS(t.slice(0,e),t.slice(e+1),u[t]);else l.setAttribute(t,u[t])}}for(let r=o;r<e.length;r++){let n=e[r];if(n===0){if(r<e.length-1||r>o)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else{let{dom:e,contentDOM:r}=Mi.renderSpec(t,n,i);l.appendChild(e);if(r){if(s)throw new RangeError("Multiple content holes");s=r}}}return{dom:l,contentDOM:s}}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new Mi(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=Ai(t.nodes);if(!e.text)e.text=t=>t.text;return e}static marksFromSchema(t){return Ai(t.marks)}}function Ai(t){let e={};for(let i in t){let r=t[i].spec.toDOM;if(r)e[i]=r}return e}function Ci(t){return t.document||window.document}const Si=65535;const Oi=Math.pow(2,16);function $i(t,e){return t+e*Oi}function _i(t){return t&Si}function Bi(t){return(t-(t&Si))/Oi}const ji=1,qi=2,Ri=4,Ni=8;class zi{constructor(t,e,i){this.pos=t;this.delInfo=e;this.recover=i}get deleted(){return(this.delInfo&Ni)>0}get deletedBefore(){return(this.delInfo&(ji|Ri))>0}get deletedAfter(){return(this.delInfo&(qi|Ri))>0}get deletedAcross(){return(this.delInfo&Ri)>0}}class Ti{constructor(t,e=false){this.ranges=t;this.inverted=e;if(!t.length&&Ti.empty)return Ti.empty}recover(t){let e=0,i=_i(t);if(!this.inverted)for(let t=0;t<i;t++)e+=this.ranges[t*3+2]-this.ranges[t*3+1];return this.ranges[i*3]+e+Bi(t)}mapResult(t,e=1){return this._map(t,e,false)}map(t,e=1){return this._map(t,e,true)}_map(t,e,i){let r=0,n=this.inverted?2:1,s=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let u=this.ranges[l]-(this.inverted?r:0);if(u>t)break;let o=this.ranges[l+n],f=this.ranges[l+s],h=u+o;if(t<=h){let n=!o?e:t==u?-1:t==h?1:e;let s=u+r+(n<0?0:f);if(i)return s;let a=t==(e<0?u:h)?null:$i(l/3,t-u);let c=t==u?qi:t==h?ji:Ri;if(e<0?t!=u:t!=h)c|=Ni;return new zi(s,c,a)}r+=f-o}return i?t+r:new zi(t+r,0,null)}touches(t,e){let i=0,r=_i(e);let n=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;e<this.ranges.length;e+=3){let l=this.ranges[e]-(this.inverted?i:0);if(l>t)break;let u=this.ranges[e+n],o=l+u;if(t<=o&&e==r*3)return true;i+=this.ranges[e+s]-u}return false}forEach(t){let e=this.inverted?2:1,i=this.inverted?1:2;for(let r=0,n=0;r<this.ranges.length;r+=3){let s=this.ranges[r],l=s-(this.inverted?n:0),u=s+(this.inverted?0:n);let o=this.ranges[r+e],f=this.ranges[r+i];t(l,l+o,u,u+f);n+=f-o}}invert(){return new Ti(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?Ti.empty:new Ti(t<0?[0,-t,0]:[0,0,t])}}Ti.empty=new Ti([]);class Ii{constructor(t=[],e,i=0,r=t.length){this.maps=t;this.mirror=e;this.from=i;this.to=r}slice(t=0,e=this.maps.length){return new Ii(this.maps,this.mirror,t,e)}copy(){return new Ii(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)}appendMap(t,e){this.to=this.maps.push(t);if(e!=null)this.setMirror(this.maps.length-1,e)}appendMapping(t){for(let e=0,i=this.maps.length;e<t.maps.length;e++){let r=t.getMirror(e);this.appendMap(t.maps[e],r!=null&&r<e?i+r:undefined)}}getMirror(t){if(this.mirror)for(let e=0;e<this.mirror.length;e++)if(this.mirror[e]==t)return this.mirror[e+(e%2?-1:1)]}setMirror(t,e){if(!this.mirror)this.mirror=[];this.mirror.push(t,e)}appendMappingInverted(t){for(let e=t.maps.length-1,i=this.maps.length+t.maps.length;e>=0;e--){let r=t.getMirror(e);this.appendMap(t.maps[e].invert(),r!=null&&r>e?i-r-1:undefined)}}invert(){let t=new Ii;t.appendMappingInverted(this);return t}map(t,e=1){if(this.mirror)return this._map(t,e,true);for(let i=this.from;i<this.to;i++)t=this.maps[i].map(t,e);return t}mapResult(t,e=1){return this._map(t,e,false)}_map(t,e,i){let r=0;for(let i=this.from;i<this.to;i++){let n=this.maps[i],s=n.mapResult(t,e);if(s.recover!=null){let e=this.getMirror(i);if(e!=null&&e>i&&e<this.to){i=e;t=this.maps[e].recover(s.recover);continue}}r|=s.delInfo;t=s.pos}return i?t:new zi(t,r,null)}}const Pi=Object.create(null);class Ji{getMap(){return Ti.empty}merge(t){return null}static fromJSON(t,e){if(!e||!e.stepType)throw new RangeError("Invalid input for Step.fromJSON");let i=Pi[e.stepType];if(!i)throw new RangeError(`No step type ${e.stepType} defined`);return i.fromJSON(t,e)}static jsonID(t,e){if(t in Pi)throw new RangeError("Duplicate use of step JSON ID "+t);Pi[t]=e;e.prototype.jsonID=t;return e}}class Li{constructor(t,e){this.doc=t;this.failed=e}static ok(t){return new Li(t,null)}static fail(t){return new Li(null,t)}static fromReplace(t,e,i,r){try{return Li.ok(t.replace(e,i,r))}catch(t){if(t instanceof ke)return Li.fail(t.message);throw t}}}function Ui(t,e,i){let r=[];for(let n=0;n<t.childCount;n++){let s=t.child(n);if(s.content.size)s=s.copy(Ui(s.content,e,s));if(s.isInline)s=e(s,i,n);r.push(s)}return pe.fromArray(r)}class Wi extends Ji{constructor(t,e,i){super();this.from=t;this.to=e;this.mark=i}apply(t){let e=t.slice(this.from,this.to),i=t.resolve(this.from);let r=i.node(i.sharedDepth(this.to));let n=new De(Ui(e.content,((t,e)=>{if(!t.isAtom||!e.type.allowsMarkType(this.mark.type))return t;return t.mark(this.mark.addToSet(t.marks))}),r),e.openStart,e.openEnd);return Li.fromReplace(t,this.from,this.to,n)}invert(){return new Hi(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);if(e.deleted&&i.deleted||e.pos>=i.pos)return null;return new Wi(e.pos,i.pos,this.mark)}merge(t){if(t instanceof Wi&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new Wi(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Wi(e.from,e.to,t.markFromJSON(e.mark))}}Ji.jsonID("addMark",Wi);class Hi extends Ji{constructor(t,e,i){super();this.from=t;this.to=e;this.mark=i}apply(t){let e=t.slice(this.from,this.to);let i=new De(Ui(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return Li.fromReplace(t,this.from,this.to,i)}invert(){return new Wi(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);if(e.deleted&&i.deleted||e.pos>=i.pos)return null;return new Hi(e.pos,i.pos,this.mark)}merge(t){if(t instanceof Hi&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new Hi(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Hi(e.from,e.to,t.markFromJSON(e.mark))}}Ji.jsonID("removeMark",Hi);class Zi extends Ji{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Li.fail("No node at mark step's position");let i=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return Li.fromReplace(t,this.pos,this.pos+1,new De(pe.from(i),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let i=0;i<e.marks.length;i++)if(!e.marks[i].isInSet(t))return new Zi(this.pos,e.marks[i]);return new Zi(this.pos,this.mark)}}return new Ki(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new Zi(e.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new Zi(e.pos,t.markFromJSON(e.mark))}}Ji.jsonID("addNodeMark",Zi);class Ki extends Ji{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Li.fail("No node at mark step's position");let i=e.type.create(e.attrs,null,this.mark.removeFromSet(e.marks));return Li.fromReplace(t,this.pos,this.pos+1,new De(pe.from(i),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(!e||!this.mark.isInSet(e.marks))return this;return new Zi(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new Ki(e.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Ki(e.pos,t.markFromJSON(e.mark))}}Ji.jsonID("removeNodeMark",Ki);class Vi extends Ji{constructor(t,e,i,r=false){super();this.from=t;this.to=e;this.slice=i;this.structure=r}apply(t){if(this.structure&&Xi(t,this.from,this.to))return Li.fail("Structure replace would overwrite content");return Li.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new Ti([this.from,this.to-this.from,this.slice.size])}invert(t){return new Vi(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);if(e.deletedAcross&&i.deletedAcross)return null;return new Vi(e.pos,Math.max(e.pos,i.pos),this.slice)}merge(t){if(!(t instanceof Vi)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let e=this.slice.size+t.slice.size==0?De.empty:new De(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new Vi(this.from,this.to+(t.to-t.from),e,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let e=this.slice.size+t.slice.size==0?De.empty:new De(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new Vi(t.from,this.to,e,this.structure)}else{return null}}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new Vi(e.from,e.to,De.fromJSON(t,e.slice),!!e.structure)}}Ji.jsonID("replace",Vi);class Gi extends Ji{constructor(t,e,i,r,n,s,l=false){super();this.from=t;this.to=e;this.gapFrom=i;this.gapTo=r;this.slice=n;this.insert=s;this.structure=l}apply(t){if(this.structure&&(Xi(t,this.from,this.gapFrom)||Xi(t,this.gapTo,this.to)))return Li.fail("Structure gap-replace would overwrite content");let e=t.slice(this.gapFrom,this.gapTo);if(e.openStart||e.openEnd)return Li.fail("Gap is not a flat range");let i=this.slice.insertAt(this.insert,e.content);if(!i)return Li.fail("Content does not fit in gap");return Li.fromReplace(t,this.from,this.to,i)}getMap(){return new Ti([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let e=this.gapTo-this.gapFrom;return new Gi(this.from,this.from+this.slice.size+e,this.from+this.insert,this.from+this.insert+e,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);let r=t.map(this.gapFrom,-1),n=t.map(this.gapTo,1);if(e.deletedAcross&&i.deletedAcross||r<e.pos||n>i.pos)return null;return new Gi(e.pos,i.pos,r,n,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number"||typeof e.gapFrom!="number"||typeof e.gapTo!="number"||typeof e.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Gi(e.from,e.to,e.gapFrom,e.gapTo,De.fromJSON(t,e.slice),e.insert,!!e.structure)}}Ji.jsonID("replaceAround",Gi);function Xi(t,e,i){let r=t.resolve(e),n=i-e,s=r.depth;while(n>0&&s>0&&r.indexAfter(s)==r.node(s).childCount){s--;n--}if(n>0){let t=r.node(s).maybeChild(r.indexAfter(s));while(n>0){if(!t||t.isLeaf)return true;t=t.firstChild;n--}}return false}function Yi(t,e,i,r){let n=[],s=[];let l,u;t.doc.nodesBetween(e,i,((t,o,f)=>{if(!t.isInline)return;let h=t.marks;if(!r.isInSet(h)&&f.type.allowsMarkType(r.type)){let f=Math.max(o,e),a=Math.min(o+t.nodeSize,i);let c=r.addToSet(h);for(let t=0;t<h.length;t++){if(!h[t].isInSet(c)){if(l&&l.to==f&&l.mark.eq(h[t]))l.to=a;else n.push(l=new Hi(f,a,h[t]))}}if(u&&u.to==f)u.to=a;else s.push(u=new Wi(f,a,r))}}));n.forEach((e=>t.step(e)));s.forEach((e=>t.step(e)))}function Qi(t,e,i,r){let n=[],s=0;t.doc.nodesBetween(e,i,((t,l)=>{if(!t.isInline)return;s++;let u=null;if(r instanceof ui){let e=t.marks,i;while(i=r.isInSet(e)){(u||(u=[])).push(i);e=i.removeFromSet(e)}}else if(r){if(r.isInSet(t.marks))u=[r]}else{u=t.marks}if(u&&u.length){let r=Math.min(l+t.nodeSize,i);for(let t=0;t<u.length;t++){let i=u[t],o;for(let t=0;t<n.length;t++){let e=n[t];if(e.step==s-1&&i.eq(n[t].style))o=e}if(o){o.to=r;o.step=s}else{n.push({style:i,from:Math.max(l,e),to:r,step:s})}}}}));n.forEach((e=>t.step(new Hi(e.from,e.to,e.style))))}function tr(t,e,i,r=i.contentMatch){let n=t.doc.nodeAt(e);let s=[],l=e+1;for(let e=0;e<n.childCount;e++){let u=n.child(e),o=l+u.nodeSize;let f=r.matchType(u.type);if(!f){s.push(new Vi(l,o,De.empty))}else{r=f;for(let e=0;e<u.marks.length;e++)if(!i.allowsMarkType(u.marks[e].type))t.step(new Hi(l,o,u.marks[e]));if(u.isText&&!i.spec.code){let t,e=/\r?\n|\r/g,r;while(t=e.exec(u.text)){if(!r)r=new De(pe.from(i.schema.text(" ",i.allowedMarks(u.marks))),0,0);s.push(new Vi(l+t.index,l+t.index+t[0].length,r))}}}l=o}if(!r.validEnd){let e=r.fillBefore(pe.empty,true);t.replace(l,l,new De(e,0,0))}for(let e=s.length-1;e>=0;e--)t.step(s[e])}function er(t,e,i){return(e==0||t.canReplace(e,t.childCount))&&(i==t.childCount||t.canReplace(0,i))}function ir(t){let e=t.parent;let i=e.content.cutByIndex(t.startIndex,t.endIndex);for(let e=t.depth;;--e){let r=t.$from.node(e);let n=t.$from.index(e),s=t.$to.indexAfter(e);if(e<t.depth&&r.canReplace(n,s,i))return e;if(e==0||r.type.spec.isolating||!er(r,n,s))break}return null}function rr(t,e,i){let{$from:r,$to:n,depth:s}=e;let l=r.before(s+1),u=n.after(s+1);let o=l,f=u;let h=pe.empty,a=0;for(let t=s,e=false;t>i;t--)if(e||r.index(t)>0){e=true;h=pe.from(r.node(t).copy(h));a++}else{o--}let c=pe.empty,d=0;for(let t=s,e=false;t>i;t--)if(e||n.after(t+1)<n.end(t)){e=true;c=pe.from(n.node(t).copy(c));d++}else{f++}t.step(new Gi(o,f,l,u,new De(h.append(c),a,d),h.size-a,true))}function nr(t,e,i=null,r=t){let n=lr(t,e);let s=n&&ur(r,e);if(!s)return null;return n.map(sr).concat({type:e,attrs:i}).concat(s.map(sr))}function sr(t){return{type:t,attrs:null}}function lr(t,e){let{parent:i,startIndex:r,endIndex:n}=t;let s=i.contentMatchAt(r).findWrapping(e);if(!s)return null;let l=s.length?s[0]:e;return i.canReplaceWith(r,n,l)?s:null}function ur(t,e){let{parent:i,startIndex:r,endIndex:n}=t;let s=i.child(r);let l=e.contentMatch.findWrapping(s.type);if(!l)return null;let u=l.length?l[l.length-1]:e;let o=u.contentMatch;for(let t=r;o&&t<n;t++)o=o.matchType(i.child(t).type);if(!o||!o.validEnd)return null;return l}function or(t,e,i){let r=pe.empty;for(let t=i.length-1;t>=0;t--){if(r.size){let e=i[t].type.contentMatch.matchFragment(r);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=pe.from(i[t].type.create(i[t].attrs,r))}let n=e.start,s=e.end;t.step(new Gi(n,s,n,s,new De(r,0,0),i.length,true))}function fr(t,e,i,r,n){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=t.steps.length;t.doc.nodesBetween(e,i,((e,i)=>{if(e.isTextblock&&!e.hasMarkup(r,n)&&hr(t.doc,t.mapping.slice(s).map(i),r)){t.clearIncompatible(t.mapping.slice(s).map(i,1),r);let l=t.mapping.slice(s);let u=l.map(i,1),o=l.map(i+e.nodeSize,1);t.step(new Gi(u,o,u+1,o-1,new De(pe.from(r.create(n,null,e.marks)),0,0),1,true));return false}}))}function hr(t,e,i){let r=t.resolve(e),n=r.index();return r.parent.canReplaceWith(n,n+1,i)}function ar(t,e,i,r,n){let s=t.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");if(!i)i=s.type;let l=i.create(r,null,n||s.marks);if(s.isLeaf)return t.replaceWith(e,e+s.nodeSize,l);if(!i.validContent(s.content))throw new RangeError("Invalid content for node type "+i.name);t.step(new Gi(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new De(pe.from(l),0,0),1,true))}function cr(t,e,i=1,r){let n=t.resolve(e),s=n.depth-i;let l=r&&r[r.length-1]||n.parent;if(s<0||n.parent.type.spec.isolating||!n.parent.canReplace(n.index(),n.parent.childCount)||!l.type.validContent(n.parent.content.cutByIndex(n.index(),n.parent.childCount)))return false;for(let t=n.depth-1,e=i-2;t>s;t--,e--){let i=n.node(t),s=n.index(t);if(i.type.spec.isolating)return false;let l=i.content.cutByIndex(s,i.childCount);let u=r&&r[e+1];if(u)l=l.replaceChild(0,u.type.create(u.attrs));let o=r&&r[e]||i;if(!i.canReplace(s+1,i.childCount)||!o.type.validContent(l))return false}let u=n.indexAfter(s);let o=r&&r[0];return n.node(s).canReplaceWith(u,u,o?o.type:n.node(s+1).type)}function dr(t,e,i=1,r){let n=t.doc.resolve(e),s=pe.empty,l=pe.empty;for(let t=n.depth,e=n.depth-i,u=i-1;t>e;t--,u--){s=pe.from(n.node(t).copy(s));let e=r&&r[u];l=pe.from(e?e.type.create(e.attrs,l):n.node(t).copy(l))}t.step(new Vi(e,e,new De(s.append(l),i,i),true))}function pr(t,e){let i=t.resolve(e),r=i.index();return mr(i.nodeBefore,i.nodeAfter)&&i.parent.canReplace(r,r+1)}function mr(t,e){return!!(t&&e&&!t.isLeaf&&t.canAppend(e))}function wr(t,e,i=-1){let r=t.resolve(e);for(let t=r.depth;;t--){let n,s,l=r.index(t);if(t==r.depth){n=r.nodeBefore;s=r.nodeAfter}else if(i>0){n=r.node(t+1);l++;s=r.node(t).maybeChild(l)}else{n=r.node(t).maybeChild(l-1);s=r.node(t+1)}if(n&&!n.isTextblock&&mr(n,s)&&r.node(t).canReplace(l,l+1))return e;if(t==0)break;e=i<0?r.before(t):r.after(t)}}function gr(t,e,i){let r=new Vi(e-i,e+i,De.empty,true);t.step(r)}function br(t,e,i){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),i))return e;if(r.parentOffset==0)for(let t=r.depth-1;t>=0;t--){let e=r.index(t);if(r.node(t).canReplaceWith(e,e,i))return r.before(t+1);if(e>0)return null}if(r.parentOffset==r.parent.content.size)for(let t=r.depth-1;t>=0;t--){let e=r.indexAfter(t);if(r.node(t).canReplaceWith(e,e,i))return r.after(t+1);if(e<r.node(t).childCount)return null}return null}function kr(t,e,i){let r=t.resolve(e);if(!i.content.size)return e;let n=i.content;for(let t=0;t<i.openStart;t++)n=n.firstChild.content;for(let t=1;t<=(i.openStart==0&&i.size?2:1);t++){for(let e=r.depth;e>=0;e--){let i=e==r.depth?0:r.pos<=(r.start(e+1)+r.end(e+1))/2?-1:1;let s=r.index(e)+(i>0?1:0);let l=r.node(e),u=false;if(t==1){u=l.canReplace(s,s,n)}else{let t=l.contentMatchAt(s).findWrapping(n.firstChild.type);u=t&&l.canReplaceWith(s,s,t[0])}if(u)return i==0?r.pos:i<0?r.before(e+1):r.after(e+1)}}return null}function Dr(t,e,i=e,r=De.empty){if(e==i&&!r.size)return null;let n=t.resolve(e),s=t.resolve(i);if(vr(n,s,r))return new Vi(e,i,r);return new yr(n,s,r).fit()}function vr(t,e,i){return!i.openStart&&!i.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),i.content)}class yr{constructor(t,e,i){this.$from=t;this.$to=e;this.unplaced=i;this.frontier=[];this.placed=pe.empty;for(let e=0;e<=t.depth;e++){let i=t.node(e);this.frontier.push({type:i.type,match:i.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=pe.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){while(this.unplaced.size){let t=this.findFittable();if(t)this.placeNodes(t);else this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth;let i=this.$from,r=this.close(t<0?this.$to:i.doc.resolve(t));if(!r)return null;let n=this.placed,s=i.depth,l=r.depth;while(s&&l&&n.childCount==1){n=n.firstChild.content;s--;l--}let u=new De(n,s,l);if(t>-1)return new Gi(i.pos,t,this.$to.pos,this.$to.end(),u,e);if(u.size||i.pos!=this.$to.pos)return new Vi(i.pos,r.pos,u);return null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,i=0,r=this.unplaced.openEnd;i<t;i++){let n=e.firstChild;if(e.childCount>1)r=0;if(n.type.spec.isolating&&r<=i){t=i;break}e=n.content}for(let e=1;e<=2;e++){for(let i=e==1?t:this.unplaced.openStart;i>=0;i--){let t,r=null;if(i){r=xr(this.unplaced.content,i-1).firstChild;t=r.content}else{t=this.unplaced.content}let n=t.firstChild;for(let t=this.depth;t>=0;t--){let{type:s,match:l}=this.frontier[t],u,o=null;if(e==1&&(n?l.matchType(n.type)||(o=l.fillBefore(pe.from(n),false)):r&&s.compatibleContent(r.type)))return{sliceDepth:i,frontierDepth:t,parent:r,inject:o};else if(e==2&&n&&(u=l.findWrapping(n.type)))return{sliceDepth:i,frontierDepth:t,parent:r,wrap:u};if(r&&l.matchType(r.type))break}}}}openMore(){let{content:t,openStart:e,openEnd:i}=this.unplaced;let r=xr(t,e);if(!r.childCount||r.firstChild.isLeaf)return false;this.unplaced=new De(t,e+1,Math.max(i,r.size+e>=t.size-i?e+1:0));return true}dropNode(){let{content:t,openStart:e,openEnd:i}=this.unplaced;let r=xr(t,e);if(r.childCount<=1&&e>0){let n=t.size-e<=e+r.size;this.unplaced=new De(Fr(t,e-1,1),e-1,n?e-1:i)}else{this.unplaced=new De(Fr(t,e,1),e,i)}}placeNodes({sliceDepth:t,frontierDepth:e,parent:i,inject:r,wrap:n}){while(this.depth>e)this.closeFrontierNode();if(n)for(let t=0;t<n.length;t++)this.openFrontierNode(n[t]);let s=this.unplaced,l=i?i.content:s.content;let u=s.openStart-t;let o=0,f=[];let{match:h,type:a}=this.frontier[e];if(r){for(let t=0;t<r.childCount;t++)f.push(r.child(t));h=h.matchFragment(r)}let c=l.size+t-(s.content.size-s.openEnd);while(o<l.childCount){let t=l.child(o),e=h.matchType(t.type);if(!e)break;o++;if(o>1||u==0||t.content.size){h=e;f.push(Mr(t.mark(a.allowedMarks(t.marks)),o==1?u:0,o==l.childCount?c:-1))}}let d=o==l.childCount;if(!d)c=-1;this.placed=Er(this.placed,e,pe.from(f));this.frontier[e].match=h;if(d&&c<0&&i&&i.type==this.frontier[this.depth].type&&this.frontier.length>1)this.closeFrontierNode();for(let t=0,e=l;t<c;t++){let t=e.lastChild;this.frontier.push({type:t.type,match:t.contentMatchAt(t.childCount)});e=t.content}this.unplaced=!d?new De(Fr(s.content,t,o),s.openStart,s.openEnd):t==0?De.empty:new De(Fr(s.content,t-1,1),t-1,c<0?s.openEnd:t-1)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let t=this.frontier[this.depth],e;if(!t.type.isTextblock||!Ar(this.$to,this.$to.depth,t.type,t.match,false)||this.$to.depth==this.depth&&(e=this.findCloseLevel(this.$to))&&e.depth==this.depth)return-1;let{depth:i}=this.$to,r=this.$to.after(i);while(i>1&&r==this.$to.end(--i))++r;return r}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:i,type:r}=this.frontier[e];let n=e<t.depth&&t.end(e+1)==t.pos+(t.depth-(e+1));let s=Ar(t,e,r,i,n);if(!s)continue;for(let i=e-1;i>=0;i--){let{match:e,type:r}=this.frontier[i];let n=Ar(t,i,r,e,true);if(!n||n.childCount)continue t}return{depth:e,fit:s,move:n?t.doc.resolve(t.after(e+1)):t}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;while(this.depth>e.depth)this.closeFrontierNode();if(e.fit.childCount)this.placed=Er(this.placed,e.depth,e.fit);t=e.move;for(let i=e.depth+1;i<=t.depth;i++){let e=t.node(i),r=e.type.contentMatch.fillBefore(e.content,true,t.index(i));this.openFrontierNode(e.type,e.attrs,r)}return t}openFrontierNode(t,e=null,i){let r=this.frontier[this.depth];r.match=r.match.matchType(t);this.placed=Er(this.placed,this.depth,pe.from(t.create(e,i)));this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop();let e=t.match.fillBefore(pe.empty,true);if(e.childCount)this.placed=Er(this.placed,this.frontier.length,e)}}function Fr(t,e,i){if(e==0)return t.cutByIndex(i,t.childCount);return t.replaceChild(0,t.firstChild.copy(Fr(t.firstChild.content,e-1,i)))}function Er(t,e,i){if(e==0)return t.append(i);return t.replaceChild(t.childCount-1,t.lastChild.copy(Er(t.lastChild.content,e-1,i)))}function xr(t,e){for(let i=0;i<e;i++)t=t.firstChild.content;return t}function Mr(t,e,i){if(e<=0)return t;let r=t.content;if(e>1)r=r.replaceChild(0,Mr(r.firstChild,e-1,r.childCount==1?i-1:0));if(e>0){r=t.type.contentMatch.fillBefore(r).append(r);if(i<=0)r=r.append(t.type.contentMatch.matchFragment(r).fillBefore(pe.empty,true))}return t.copy(r)}function Ar(t,e,i,r,n){let s=t.node(e),l=n?t.indexAfter(e):t.index(e);if(l==s.childCount&&!i.compatibleContent(s.type))return null;let u=r.fillBefore(s.content,true,l);return u&&!Cr(i,s.content,l)?u:null}function Cr(t,e,i){for(let r=i;r<e.childCount;r++)if(!t.allowsMarks(e.child(r).marks))return true;return false}function Sr(t){return t.spec.defining||t.spec.definingForContent}function Or(t,e,i,r){if(!r.size)return t.deleteRange(e,i);let n=t.doc.resolve(e),s=t.doc.resolve(i);if(vr(n,s,r))return t.step(new Vi(e,i,r));let l=jr(n,t.doc.resolve(i));if(l[l.length-1]==0)l.pop();let u=-(n.depth+1);l.unshift(u);for(let t=n.depth,e=n.pos-1;t>0;t--,e--){let i=n.node(t).type.spec;if(i.defining||i.definingAsContext||i.isolating)break;if(l.indexOf(t)>-1)u=t;else if(n.before(t)==e)l.splice(1,0,-t)}let o=l.indexOf(u);let f=[],h=r.openStart;for(let t=r.content,e=0;;e++){let i=t.firstChild;f.push(i);if(e==r.openStart)break;t=i.content}for(let t=h-1;t>=0;t--){let e=f[t],i=Sr(e.type);if(i&&!e.sameMarkup(n.node(Math.abs(u)-1)))h=t;else if(i||!e.type.isTextblock)break}for(let e=r.openStart;e>=0;e--){let u=(e+h+1)%(r.openStart+1);let a=f[u];if(!a)continue;for(let e=0;e<l.length;e++){let f=l[(e+o)%l.length],h=true;if(f<0){h=false;f=-f}let c=n.node(f-1),d=n.index(f-1);if(c.canReplaceWith(d,d,a.type,a.marks))return t.replace(n.before(f),h?s.after(f):i,new De($r(r.content,0,r.openStart,u),u,r.openEnd))}}let a=t.steps.length;for(let u=l.length-1;u>=0;u--){t.replace(e,i,r);if(t.steps.length>a)break;let o=l[u];if(o<0)continue;e=n.before(o);i=s.after(o)}}function $r(t,e,i,r,n){if(e<i){let n=t.firstChild;t=t.replaceChild(0,n.copy($r(n.content,e+1,i,r,n)))}if(e>r){let e=n.contentMatchAt(0);let i=e.fillBefore(t).append(t);t=i.append(e.matchFragment(i).fillBefore(pe.empty,true))}return t}function _r(t,e,i,r){if(!r.isInline&&e==i&&t.doc.resolve(e).parent.content.size){let n=br(t.doc,e,r.type);if(n!=null)e=i=n}t.replaceRange(e,i,new De(pe.from(r),0,0))}function Br(t,e,i){let r=t.doc.resolve(e),n=t.doc.resolve(i);let s=jr(r,n);for(let e=0;e<s.length;e++){let i=s[e],l=e==s.length-1;if(l&&i==0||r.node(i).type.contentMatch.validEnd)return t.delete(r.start(i),n.end(i));if(i>0&&(l||r.node(i-1).canReplace(r.index(i-1),n.indexAfter(i-1))))return t.delete(r.before(i),n.after(i))}for(let s=1;s<=r.depth&&s<=n.depth;s++){if(e-r.start(s)==r.depth-s&&i>r.end(s)&&n.end(s)-i!=n.depth-s)return t.delete(r.before(s),i)}t.delete(e,i)}function jr(t,e){let i=[],r=Math.min(t.depth,e.depth);for(let n=r;n>=0;n--){let r=t.start(n);if(r<t.pos-(t.depth-n)||e.end(n)>e.pos+(e.depth-n)||t.node(n).type.spec.isolating||e.node(n).type.spec.isolating)break;if(r==e.start(n)||n==t.depth&&n==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&n&&e.start(n-1)==r-1)i.push(n)}return i}class qr extends Ji{constructor(t,e,i){super();this.pos=t;this.attr=e;this.value=i}apply(t){let e=t.nodeAt(this.pos);if(!e)return Li.fail("No node at attribute step's position");let i=Object.create(null);for(let t in e.attrs)i[t]=e.attrs[t];i[this.attr]=this.value;let r=e.type.create(i,null,e.marks);return Li.fromReplace(t,this.pos,this.pos+1,new De(pe.from(r),0,e.isLeaf?0:1))}getMap(){return Ti.empty}invert(t){return new qr(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new qr(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.pos!="number"||typeof e.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new qr(e.pos,e.attr,e.value)}}Ji.jsonID("attr",qr);class Rr extends Ji{constructor(t,e){super();this.attr=t;this.value=e}apply(t){let e=Object.create(null);for(let i in t.attrs)e[i]=t.attrs[i];e[this.attr]=this.value;let i=t.type.create(e,t.content,t.marks);return Li.ok(i)}getMap(){return Ti.empty}invert(t){return new Rr(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Rr(e.attr,e.value)}}Ji.jsonID("docAttr",Rr);let Nr=class extends Error{};Nr=function t(e){let i=Error.call(this,e);i.__proto__=t.prototype;return i};Nr.prototype=Object.create(Error.prototype);Nr.prototype.constructor=Nr;Nr.prototype.name="TransformError";class zr{constructor(t){this.doc=t;this.steps=[];this.docs=[];this.mapping=new Ii}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Nr(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);if(!e.failed)this.addStep(t,e.doc);return e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc);this.steps.push(t);this.mapping.appendMap(t.getMap());this.doc=e}replace(t,e=t,i=De.empty){let r=Dr(this.doc,t,e,i);if(r)this.step(r);return this}replaceWith(t,e,i){return this.replace(t,e,new De(pe.from(i),0,0))}delete(t,e){return this.replace(t,e,De.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,i){Or(this,t,e,i);return this}replaceRangeWith(t,e,i){_r(this,t,e,i);return this}deleteRange(t,e){Br(this,t,e);return this}lift(t,e){rr(this,t,e);return this}join(t,e=1){gr(this,t,e);return this}wrap(t,e){or(this,t,e);return this}setBlockType(t,e=t,i,r=null){fr(this,t,e,i,r);return this}setNodeMarkup(t,e,i=null,r){ar(this,t,e,i,r);return this}setNodeAttribute(t,e,i){this.step(new qr(t,e,i));return this}setDocAttribute(t,e){this.step(new Rr(t,e));return this}addNodeMark(t,e){this.step(new Zi(t,e));return this}removeNodeMark(t,e){if(!(e instanceof be)){let i=this.doc.nodeAt(t);if(!i)throw new RangeError("No node at position "+t);e=e.isInSet(i.marks);if(!e)return this}this.step(new Ki(t,e));return this}split(t,e=1,i){dr(this,t,e,i);return this}addMark(t,e,i){Yi(this,t,e,i);return this}removeMark(t,e,i){Qi(this,t,e,i);return this}clearIncompatible(t,e,i){tr(this,t,e,i);return this}}const Tr=Object.create(null);class Ir{constructor(t,e,i){this.$anchor=t;this.$head=e;this.ranges=i||[new Pr(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e<t.length;e++)if(t[e].$from.pos!=t[e].$to.pos)return false;return true}content(){return this.$from.doc.slice(this.from,this.to,true)}replace(t,e=De.empty){let i=e.content.lastChild,r=null;for(let t=0;t<e.openEnd;t++){r=i;i=i.lastChild}let n=t.steps.length,s=this.ranges;for(let l=0;l<s.length;l++){let{$from:u,$to:o}=s[l],f=t.mapping.slice(n);t.replaceRange(f.map(u.pos),f.map(o.pos),l?De.empty:e);if(l==0)Xr(t,n,(i?i.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(t,e){let i=t.steps.length,r=this.ranges;for(let n=0;n<r.length;n++){let{$from:s,$to:l}=r[n],u=t.mapping.slice(i);let o=u.map(s.pos),f=u.map(l.pos);if(n){t.deleteRange(o,f)}else{t.replaceRangeWith(o,f,e);Xr(t,i,e.isInline?-1:1)}}}static findFrom(t,e,i=false){let r=t.parent.inlineContent?new Ur(t):Gr(t.node(0),t.parent,t.pos,t.index(),e,i);if(r)return r;for(let r=t.depth-1;r>=0;r--){let n=e<0?Gr(t.node(0),t.node(r),t.before(r+1),t.index(r),e,i):Gr(t.node(0),t.node(r),t.after(r+1),t.index(r)+1,e,i);if(n)return n}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new Kr(t.node(0))}static atStart(t){return Gr(t,t,0,0,1)||new Kr(t)}static atEnd(t){return Gr(t,t,t.content.size,t.childCount,-1)||new Kr(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let i=Tr[e.type];if(!i)throw new RangeError(`No selection type ${e.type} defined`);return i.fromJSON(t,e)}static jsonID(t,e){if(t in Tr)throw new RangeError("Duplicate use of selection JSON ID "+t);Tr[t]=e;e.prototype.jsonID=t;return e}getBookmark(){return Ur.between(this.$anchor,this.$head).getBookmark()}}Ir.prototype.visible=true;class Pr{constructor(t,e){this.$from=t;this.$to=e}}let Jr=false;function Lr(t){if(!Jr&&!t.parent.inlineContent){Jr=true;console["warn"]("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")")}}class Ur extends Ir{constructor(t,e=t){Lr(t);Lr(e);super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let i=t.resolve(e.map(this.head));if(!i.parent.inlineContent)return Ir.near(i);let r=t.resolve(e.map(this.anchor));return new Ur(r.parent.inlineContent?r:i,i)}replace(t,e=De.empty){super.replace(t,e);if(e==De.empty){let e=this.$from.marksAcross(this.$to);if(e)t.ensureMarks(e)}}eq(t){return t instanceof Ur&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Wr(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if(typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Ur(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,i=e){let r=t.resolve(e);return new this(r,i==e?r:t.resolve(i))}static between(t,e,i){let r=t.pos-e.pos;if(!i||r)i=r>=0?1:-1;if(!e.parent.inlineContent){let t=Ir.findFrom(e,i,true)||Ir.findFrom(e,-i,true);if(t)e=t.$head;else return Ir.near(e,i)}if(!t.parent.inlineContent){if(r==0){t=e}else{t=(Ir.findFrom(t,-i,true)||Ir.findFrom(t,i,true)).$anchor;if(t.pos<e.pos!=r<0)t=e}}return new Ur(t,e)}}Ir.jsonID("text",Ur);class Wr{constructor(t,e){this.anchor=t;this.head=e}map(t){return new Wr(t.map(this.anchor),t.map(this.head))}resolve(t){return Ur.between(t.resolve(this.anchor),t.resolve(this.head))}}class Hr extends Ir{constructor(t){let e=t.nodeAfter;let i=t.node(0).resolve(t.pos+e.nodeSize);super(t,i);this.node=e}map(t,e){let{deleted:i,pos:r}=e.mapResult(this.anchor);let n=t.resolve(r);if(i)return Ir.near(n);return new Hr(n)}content(){return new De(pe.from(this.node),0,0)}eq(t){return t instanceof Hr&&t.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new Zr(this.anchor)}static fromJSON(t,e){if(typeof e.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new Hr(t.resolve(e.anchor))}static create(t,e){return new Hr(t.resolve(e))}static isSelectable(t){return!t.isText&&t.type.spec.selectable!==false}}Hr.prototype.visible=false;Ir.jsonID("node",Hr);class Zr{constructor(t){this.anchor=t}map(t){let{deleted:e,pos:i}=t.mapResult(this.anchor);return e?new Wr(i,i):new Zr(i)}resolve(t){let e=t.resolve(this.anchor),i=e.nodeAfter;if(i&&Hr.isSelectable(i))return new Hr(e);return Ir.near(e)}}class Kr extends Ir{constructor(t){super(t.resolve(0),t.resolve(t.content.size))}replace(t,e=De.empty){if(e==De.empty){t.delete(0,t.doc.content.size);let e=Ir.atStart(t.doc);if(!e.eq(t.selection))t.setSelection(e)}else{super.replace(t,e)}}toJSON(){return{type:"all"}}static fromJSON(t){return new Kr(t)}map(t){return new Kr(t)}eq(t){return t instanceof Kr}getBookmark(){return Vr}}Ir.jsonID("all",Kr);const Vr={map(){return this},resolve(t){return new Kr(t)}};function Gr(t,e,i,r,n,s=false){if(e.inlineContent)return Ur.create(t,i);for(let l=r-(n>0?0:1);n>0?l<e.childCount:l>=0;l+=n){let r=e.child(l);if(!r.isAtom){let e=Gr(t,r,i+n,n<0?r.childCount:0,n,s);if(e)return e}else if(!s&&Hr.isSelectable(r)){return Hr.create(t,i-(n<0?r.nodeSize:0))}i+=r.nodeSize*n}return null}function Xr(t,e,i){let r=t.steps.length-1;if(r<e)return;let n=t.steps[r];if(!(n instanceof Vi||n instanceof Gi))return;let s=t.mapping.maps[r],l;s.forEach(((t,e,i,r)=>{if(l==null)l=r}));t.setSelection(Ir.near(t.doc.resolve(l),i))}const Yr=1,Qr=2,tn=4;class en extends zr{constructor(t){super(t.doc);this.curSelectionFor=0;this.updated=0;this.meta=Object.create(null);this.time=Date.now();this.curSelection=t.selection;this.storedMarks=t.storedMarks}get selection(){if(this.curSelectionFor<this.steps.length){this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor));this.curSelectionFor=this.steps.length}return this.curSelection}setSelection(t){if(t.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");this.curSelection=t;this.curSelectionFor=this.steps.length;this.updated=(this.updated|Yr)&~Qr;this.storedMarks=null;return this}get selectionSet(){return(this.updated&Yr)>0}setStoredMarks(t){this.storedMarks=t;this.updated|=Qr;return this}ensureMarks(t){if(!be.sameSet(this.storedMarks||this.selection.$from.marks(),t))this.setStoredMarks(t);return this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Qr)>0}addStep(t,e){super.addStep(t,e);this.updated=this.updated&~Qr;this.storedMarks=null}setTime(t){this.time=t;return this}replaceSelection(t){this.selection.replace(this,t);return this}replaceSelectionWith(t,e=true){let i=this.selection;if(e)t=t.mark(this.storedMarks||(i.empty?i.$from.marks():i.$from.marksAcross(i.$to)||be.none));i.replaceWith(this,t);return this}deleteSelection(){this.selection.replace(this);return this}insertText(t,e,i){let r=this.doc.type.schema;if(e==null){if(!t)return this.deleteSelection();return this.replaceSelectionWith(r.text(t),true)}else{if(i==null)i=e;i=i==null?e:i;if(!t)return this.deleteRange(e,i);let n=this.storedMarks;if(!n){let t=this.doc.resolve(e);n=i==e?t.marks():t.marksAcross(this.doc.resolve(i))}this.replaceRangeWith(e,i,r.text(t,n));if(!this.selection.empty)this.setSelection(Ir.near(this.selection.$to));return this}}setMeta(t,e){this.meta[typeof t=="string"?t:t.key]=e;return this}getMeta(t){return this.meta[typeof t=="string"?t:t.key]}get isGeneric(){for(let t in this.meta)return false;return true}scrollIntoView(){this.updated|=tn;return this}get scrolledIntoView(){return(this.updated&tn)>0}}function rn(t,e){return!e||!t?t:t.bind(e)}class nn{constructor(t,e,i){this.name=t;this.init=rn(e.init,i);this.apply=rn(e.apply,i)}}const sn=[new nn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new nn("selection",{init(t,e){return t.selection||Ir.atStart(e.doc)},apply(t){return t.selection}}),new nn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,i,r){return r.selection.$cursor?t.storedMarks:null}}),new nn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class ln{constructor(t,e){this.schema=t;this.plugins=[];this.pluginsByKey=Object.create(null);this.fields=sn.slice();if(e)e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t);this.pluginsByKey[t.key]=t;if(t.spec.state)this.fields.push(new nn(t.key,t.spec.state,t))}))}}class un{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let i=0;i<this.config.plugins.length;i++)if(i!=e){let e=this.config.plugins[i];if(e.spec.filterTransaction&&!e.spec.filterTransaction.call(e,t,this))return false}return true}applyTransaction(t){if(!this.filterTransaction(t))return{state:this,transactions:[]};let e=[t],i=this.applyInner(t),r=null;for(;;){let n=false;for(let s=0;s<this.config.plugins.length;s++){let l=this.config.plugins[s];if(l.spec.appendTransaction){let u=r?r[s].n:0,o=r?r[s].state:this;let f=u<e.length&&l.spec.appendTransaction.call(l,u?e.slice(u):e,o,i);if(f&&i.filterTransaction(f,s)){f.setMeta("appendedTransaction",t);if(!r){r=[];for(let t=0;t<this.config.plugins.length;t++)r.push(t<s?{state:i,n:e.length}:{state:this,n:0})}e.push(f);i=i.applyInner(f);n=true}if(r)r[s]={state:i,n:e.length}}}if(!n)return{state:i,transactions:e}}}applyInner(t){if(!t.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let e=new un(this.config),i=this.config.fields;for(let r=0;r<i.length;r++){let n=i[r];e[n.name]=n.apply(t,this[n.name],this,e)}return e}get tr(){return new en(this)}static create(t){let e=new ln(t.doc?t.doc.type.schema:t.schema,t.plugins);let i=new un(e);for(let r=0;r<e.fields.length;r++)i[e.fields[r].name]=e.fields[r].init(t,i);return i}reconfigure(t){let e=new ln(this.schema,t.plugins);let i=e.fields,r=new un(e);for(let e=0;e<i.length;e++){let n=i[e].name;r[n]=this.hasOwnProperty(n)?this[n]:i[e].init(t,r)}return r}toJSON(t){let e={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks)e.storedMarks=this.storedMarks.map((t=>t.toJSON()));if(t&&typeof t=="object")for(let i in t){if(i=="doc"||i=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let r=t[i],n=r.spec.state;if(n&&n.toJSON)e[i]=n.toJSON.call(r,this[r.key])}return e}static fromJSON(t,e,i){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let r=new ln(t.schema,t.plugins);let n=new un(r);r.fields.forEach((r=>{if(r.name=="doc"){n.doc=Te.fromJSON(t.schema,e.doc)}else if(r.name=="selection"){n.selection=Ir.fromJSON(n.doc,e.selection)}else if(r.name=="storedMarks"){if(e.storedMarks)n.storedMarks=e.storedMarks.map(t.schema.markFromJSON)}else{if(i)for(let s in i){let l=i[s],u=l.spec.state;if(l.key==r.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(e,s)){n[r.name]=u.fromJSON.call(l,t,e[s],n);return}}n[r.name]=r.init(t,n)}}));return n}}function on(t,e,i){for(let r in t){let n=t[r];if(n instanceof Function)n=n.bind(e);else if(r=="handleDOMEvents")n=on(n,e,{});i[r]=n}return i}class fn{constructor(t){this.spec=t;this.props={};if(t.props)on(t.props,this,this.props);this.key=t.key?t.key.key:an("plugin")}getState(t){return t[this.key]}}const hn=Object.create(null);function an(t){if(t in hn)return t+"$"+ ++hn[t];hn[t]=0;return t+"$"}class cn{constructor(t="key"){this.key=an(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const dn=function(t){for(var e=0;;e++){t=t.previousSibling;if(!t)return e}};const pn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let mn=null;const wn=function(t,e,i){let r=mn||(mn=document.createRange());r.setEnd(t,i==null?t.nodeValue.length:i);r.setStart(t,e||0);return r};const gn=function(t,e,i,r){return i&&(kn(t,e,i,r,-1)||kn(t,e,i,r,1))};const bn=/^(img|br|input|textarea|hr)$/i;function kn(t,e,i,r,n){for(;;){if(t==i&&e==r)return true;if(e==(n<0?0:Dn(t))){let i=t.parentNode;if(!i||i.nodeType!=1||yn(t)||bn.test(t.nodeName)||t.contentEditable=="false")return false;e=dn(t)+(n<0?0:1);t=i}else if(t.nodeType==1){t=t.childNodes[e+(n<0?-1:0)];if(t.contentEditable=="false")return false;e=n<0?Dn(t):0}else{return false}}}function Dn(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function vn(t,e,i){for(let r=e==0,n=e==Dn(t);r||n;){if(t==i)return true;let e=dn(t);t=t.parentNode;if(!t)return false;r=r&&e==0;n=n&&e==Dn(t)}}function yn(t){let e;for(let i=t;i;i=i.parentNode)if(e=i.pmViewDesc)break;return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const Fn=function(t){return t.focusNode&&gn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function En(t,e){let i=document.createEvent("Event");i.initEvent("keydown",true,true);i.keyCode=t;i.key=i.code=e;return i}function xn(t){let e=t.activeElement;while(e&&e.shadowRoot)e=e.shadowRoot.activeElement;return e}function Mn(t,e,i){if(t.caretPositionFromPoint){try{let r=t.caretPositionFromPoint(e,i);if(r)return{node:r.offsetNode,offset:r.offset}}catch(t){}}if(t.caretRangeFromPoint){let r=t.caretRangeFromPoint(e,i);if(r)return{node:r.startContainer,offset:r.startOffset}}}const An=typeof navigator!="undefined"?navigator:null;const Cn=typeof document!="undefined"?document:null;const Sn=An&&An.userAgent||"";const On=/Edge\/(\d+)/.exec(Sn);const $n=/MSIE \d/.exec(Sn);const _n=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Sn);const Bn=!!($n||_n||On);const jn=$n?document.documentMode:_n?+_n[1]:On?+On[1]:0;const qn=!Bn&&/gecko\/(\d+)/i.test(Sn);qn&&+(/Firefox\/(\d+)/.exec(Sn)||[0,0])[1];const Rn=!Bn&&/Chrome\/(\d+)/.exec(Sn);const Nn=!!Rn;const zn=Rn?+Rn[1]:0;const Tn=!Bn&&!!An&&/Apple Computer/.test(An.vendor);const In=Tn&&(/Mobile\/\w+/.test(Sn)||!!An&&An.maxTouchPoints>2);const Pn=In||(An?/Mac/.test(An.platform):false);const Jn=An?/Win/.test(An.platform):false;const Ln=/Android \d/.test(Sn);const Un=!!Cn&&"webkitFontSmoothing"in Cn.documentElement.style;const Wn=Un?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Hn(t){return{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function Zn(t,e){return typeof t=="number"?t:t[e]}function Kn(t){let e=t.getBoundingClientRect();let i=e.width/t.offsetWidth||1;let r=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*i,top:e.top,bottom:e.top+t.clientHeight*r}}function Vn(t,e,i){let r=t.someProp("scrollThreshold")||0,n=t.someProp("scrollMargin")||5;let s=t.dom.ownerDocument;for(let l=i||t.dom;;l=pn(l)){if(!l)break;if(l.nodeType!=1)continue;let t=l;let i=t==s.body;let u=i?Hn(s):Kn(t);let o=0,f=0;if(e.top<u.top+Zn(r,"top"))f=-(u.top-e.top+Zn(n,"top"));else if(e.bottom>u.bottom-Zn(r,"bottom"))f=e.bottom-e.top>u.bottom-u.top?e.top+Zn(n,"top")-u.top:e.bottom-u.bottom+Zn(n,"bottom");if(e.left<u.left+Zn(r,"left"))o=-(u.left-e.left+Zn(n,"left"));else if(e.right>u.right-Zn(r,"right"))o=e.right-u.right+Zn(n,"right");if(o||f){if(i){s.defaultView.scrollBy(o,f)}else{let i=t.scrollLeft,r=t.scrollTop;if(f)t.scrollTop+=f;if(o)t.scrollLeft+=o;let n=t.scrollLeft-i,s=t.scrollTop-r;e={left:e.left-n,top:e.top-s,right:e.right-n,bottom:e.bottom-s}}}if(i||/^(fixed|sticky)$/.test(getComputedStyle(l).position))break}}function Gn(t){let e=t.dom.getBoundingClientRect(),i=Math.max(0,e.top);let r,n;for(let s=(e.left+e.right)/2,l=i+1;l<Math.min(innerHeight,e.bottom);l+=5){let e=t.root.elementFromPoint(s,l);if(!e||e==t.dom||!t.dom.contains(e))continue;let u=e.getBoundingClientRect();if(u.top>=i-20){r=e;n=u.top;break}}return{refDOM:r,refTop:n,stack:Xn(t.dom)}}function Xn(t){let e=[],i=t.ownerDocument;for(let r=t;r;r=pn(r)){e.push({dom:r,top:r.scrollTop,left:r.scrollLeft});if(t==i)break}return e}function Yn({refDOM:t,refTop:e,stack:i}){let r=t?t.getBoundingClientRect().top:0;Qn(i,r==0?0:r-e)}function Qn(t,e){for(let i=0;i<t.length;i++){let{dom:r,top:n,left:s}=t[i];if(r.scrollTop!=n+e)r.scrollTop=n+e;if(r.scrollLeft!=s)r.scrollLeft=s}}let ts=null;function es(t){if(t.setActive)return t.setActive();if(ts)return t.focus(ts);let e=Xn(t);t.focus(ts==null?{get preventScroll(){ts={preventScroll:true};return true}}:undefined);if(!ts){ts=false;Qn(e,0)}}function is(t,e){let i,r=2e8,n,s=0;let l=e.top,u=e.top;let o,f;for(let h=t.firstChild,a=0;h;h=h.nextSibling,a++){let t;if(h.nodeType==1)t=h.getClientRects();else if(h.nodeType==3)t=wn(h).getClientRects();else continue;for(let c=0;c<t.length;c++){let d=t[c];if(d.top<=l&&d.bottom>=u){l=Math.max(d.bottom,l);u=Math.min(d.top,u);let t=d.left>e.left?d.left-e.left:d.right<e.left?e.left-d.right:0;if(t<r){i=h;r=t;n=t&&i.nodeType==3?{left:d.right<e.left?d.right:d.left,top:e.top}:e;if(h.nodeType==1&&t)s=a+(e.left>=(d.left+d.right)/2?1:0);continue}}else if(d.top>e.top&&!o&&d.left<=e.left&&d.right>=e.left){o=h;f={left:Math.max(d.left,Math.min(d.right,e.left)),top:d.top}}if(!i&&(e.left>=d.right&&e.top>=d.top||e.left>=d.left&&e.top>=d.bottom))s=a+1}}if(!i&&o){i=o;n=f;r=0}if(i&&i.nodeType==3)return rs(i,n);if(!i||r&&i.nodeType==1)return{node:t,offset:s};return is(i,n)}function rs(t,e){let i=t.nodeValue.length;let r=document.createRange();for(let n=0;n<i;n++){r.setEnd(t,n+1);r.setStart(t,n);let i=cs(r,1);if(i.top==i.bottom)continue;if(ns(e,i))return{node:t,offset:n+(e.left>=(i.left+i.right)/2?1:0)}}return{node:t,offset:0}}function ns(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function ss(t,e){let i=t.parentNode;if(i&&/^li$/i.test(i.nodeName)&&e.left<t.getBoundingClientRect().left)return i;return t}function ls(t,e,i){let{node:r,offset:n}=is(e,i),s=-1;if(r.nodeType==1&&!r.firstChild){let t=r.getBoundingClientRect();s=t.left!=t.right&&i.left>(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(r,n,s)}function us(t,e,i,r){let n=-1;for(let i=e,s=false;;){if(i==t.dom)break;let e=t.docView.nearestDesc(i,true);if(!e)return null;if(e.dom.nodeType==1&&(e.node.isBlock&&e.parent&&!s||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&!s){s=true;if(t.left>r.left||t.top>r.top)n=e.posBefore;else if(t.right<r.left||t.bottom<r.top)n=e.posAfter}if(!e.contentDOM&&n<0&&!e.node.isText){let i=e.node.isBlock?r.top<(t.top+t.bottom)/2:r.left<(t.left+t.right)/2;return i?e.posBefore:e.posAfter}}i=e.dom.parentNode}return n>-1?n:t.docView.posFromDOM(e,i,-1)}function fs(t,e,i){let r=t.childNodes.length;if(r&&i.top<i.bottom){for(let n=Math.max(0,Math.min(r-1,Math.floor(r*(e.top-i.top)/(i.bottom-i.top))-2)),s=n;;){let i=t.childNodes[s];if(i.nodeType==1){let t=i.getClientRects();for(let r=0;r<t.length;r++){let n=t[r];if(ns(e,n))return fs(i,e,n)}}if((s=(s+1)%r)==n)break}}return t}function hs(t,e){let i=t.dom.ownerDocument,r,n=0;let s=Mn(i,e.left,e.top);if(s)({node:r,offset:n}=s);let l=(t.root.elementFromPoint?t.root:i).elementFromPoint(e.left,e.top);let u;if(!l||!t.dom.contains(l.nodeType!=1?l.parentNode:l)){let i=t.dom.getBoundingClientRect();if(!ns(e,i))return null;l=fs(t.dom,e,i);if(!l)return null}if(Tn){for(let t=l;r&&t;t=pn(t))if(t.draggable)r=undefined}l=ss(l,e);if(r){if(qn&&r.nodeType==1){n=Math.min(n,r.childNodes.length);if(n<r.childNodes.length){let t=r.childNodes[n],i;if(t.nodeName=="IMG"&&(i=t.getBoundingClientRect()).right<=e.left&&i.bottom>e.top)n++}}let i;if(Un&&n&&r.nodeType==1&&(i=r.childNodes[n-1]).nodeType==1&&i.contentEditable=="false"&&i.getBoundingClientRect().top>=e.top)n--;if(r==t.dom&&n==r.childNodes.length-1&&r.lastChild.nodeType==1&&e.top>r.lastChild.getBoundingClientRect().bottom)u=t.state.doc.content.size;else if(n==0||r.nodeType!=1||r.childNodes[n-1].nodeName!="BR")u=us(t,r,n,e)}if(u==null)u=ls(t,l,e);let o=t.docView.nearestDesc(l,true);return{pos:u,inside:o?o.posAtStart-o.border:-1}}function as(t){return t.top<t.bottom||t.left<t.right}function cs(t,e){let i=t.getClientRects();if(i.length){let t=i[e<0?0:i.length-1];if(as(t))return t}return Array.prototype.find.call(i,as)||t.getBoundingClientRect()}const ds=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function ps(t,e,i){let{node:r,offset:n,atom:s}=t.docView.domFromPos(e,i<0?-1:1);let l=Un||qn;if(r.nodeType==3){if(l&&(ds.test(r.nodeValue)||(i<0?!n:n==r.nodeValue.length))){let t=cs(wn(r,n,n),i);if(qn&&n&&/\s/.test(r.nodeValue[n-1])&&n<r.nodeValue.length){let e=cs(wn(r,n-1,n-1),-1);if(e.top==t.top){let i=cs(wn(r,n,n+1),-1);if(i.top!=t.top)return ms(i,i.left<e.left)}}return t}else{let t=n,e=n,s=i<0?1:-1;if(i<0&&!n){e++;s=-1}else if(i>=0&&n==r.nodeValue.length){t--;s=1}else if(i<0){t--}else{e++}return ms(cs(wn(r,t,e),s),s<0)}}let u=t.state.doc.resolve(e-(s||0));if(!u.parent.inlineContent){if(s==null&&n&&(i<0||n==Dn(r))){let t=r.childNodes[n-1];if(t.nodeType==1)return ws(t.getBoundingClientRect(),false)}if(s==null&&n<Dn(r)){let t=r.childNodes[n];if(t.nodeType==1)return ws(t.getBoundingClientRect(),true)}return ws(r.getBoundingClientRect(),i>=0)}if(s==null&&n&&(i<0||n==Dn(r))){let t=r.childNodes[n-1];let e=t.nodeType==3?wn(t,Dn(t)-(l?0:1)):t.nodeType==1&&(t.nodeName!="BR"||!t.nextSibling)?t:null;if(e)return ms(cs(e,1),false)}if(s==null&&n<Dn(r)){let t=r.childNodes[n];while(t.pmViewDesc&&t.pmViewDesc.ignoreForCoords)t=t.nextSibling;let e=!t?null:t.nodeType==3?wn(t,0,l?0:1):t.nodeType==1?t:null;if(e)return ms(cs(e,-1),true)}return ms(cs(r.nodeType==3?wn(r):r,-i),i>=0)}function ms(t,e){if(t.width==0)return t;let i=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:i,right:i}}function ws(t,e){if(t.height==0)return t;let i=e?t.top:t.bottom;return{top:i,bottom:i,left:t.left,right:t.right}}function gs(t,e,i){let r=t.state,n=t.root.activeElement;if(r!=e)t.updateState(e);if(n!=t.dom)t.focus();try{return i()}finally{if(r!=e)t.updateState(r);if(n!=t.dom&&n)n.focus()}}function bs(t,e,i){let r=e.selection;let n=i=="up"?r.$from:r.$to;return gs(t,e,(()=>{let{node:e}=t.docView.domFromPos(n.pos,i=="up"?-1:1);for(;;){let i=t.docView.nearestDesc(e,true);if(!i)break;if(i.node.isBlock){e=i.contentDOM||i.dom;break}e=i.dom.parentNode}let r=ps(t,n.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(t.nodeType==1)e=t.getClientRects();else if(t.nodeType==3)e=wn(t,0,t.nodeValue.length).getClientRects();else continue;for(let t=0;t<e.length;t++){let n=e[t];if(n.bottom>n.top+1&&(i=="up"?r.top-n.top>(n.bottom-r.top)*2:n.bottom-r.bottom>(r.bottom-n.top)*2))return false}}return true}))}const ks=/[\u0590-\u08ac]/;function Ds(t,e,i){let{$head:r}=e.selection;if(!r.parent.isTextblock)return false;let n=r.parentOffset,s=!n,l=n==r.parent.content.size;let u=t.domSelection();if(!ks.test(r.parent.textContent)||!u.modify)return i=="left"||i=="backward"?s:l;return gs(t,e,(()=>{let{focusNode:e,focusOffset:n,anchorNode:s,anchorOffset:l}=t.domSelectionRange();let o=u.caretBidiLevel;u.modify("move",i,"character");let f=r.depth?t.docView.domAfterPos(r.before()):t.dom;let{focusNode:h,focusOffset:a}=t.domSelectionRange();let c=h&&!f.contains(h.nodeType==1?h:h.parentNode)||e==h&&n==a;try{u.collapse(s,l);if(e&&(e!=s||n!=l)&&u.extend)u.extend(e,n)}catch(t){}if(o!=null)u.caretBidiLevel=o;return c}))}let vs=null;let ys=null;let Fs=false;function Es(t,e,i){if(vs==e&&ys==i)return Fs;vs=e;ys=i;return Fs=i=="up"||i=="down"?bs(t,e,i):Ds(t,e,i)}const xs=0,Ms=1,As=2,Cs=3;class Ss{constructor(t,e,i,r){this.parent=t;this.children=e;this.dom=i;this.contentDOM=r;this.dirty=xs;i.pmViewDesc=this}matchesWidget(t){return false}matchesMark(t){return false}matchesNode(t,e,i){return false}matchesHack(t){return false}parseRule(){return null}stopEvent(t){return false}get size(){let t=0;for(let e=0;e<this.children.length;e++)t+=this.children[e].size;return t}get border(){return 0}destroy(){this.parent=undefined;if(this.dom.pmViewDesc==this)this.dom.pmViewDesc=undefined;for(let t=0;t<this.children.length;t++)this.children[t].destroy()}posBeforeChild(t){for(let e=0,i=this.posAtStart;;e++){let r=this.children[e];if(r==t)return i;i+=r.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(t,e,i){if(this.contentDOM&&this.contentDOM.contains(t.nodeType==1?t:t.parentNode)){if(i<0){let i,r;if(t==this.contentDOM){i=t.childNodes[e-1]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;i=t.previousSibling}while(i&&!((r=i.pmViewDesc)&&r.parent==this))i=i.previousSibling;return i?this.posBeforeChild(r)+r.size:this.posAtStart}else{let i,r;if(t==this.contentDOM){i=t.childNodes[e]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;i=t.nextSibling}while(i&&!((r=i.pmViewDesc)&&r.parent==this))i=i.nextSibling;return i?this.posBeforeChild(r):this.posAtEnd}}let r;if(t==this.dom&&this.contentDOM){r=e>dn(this.contentDOM)}else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM)){r=t.compareDocumentPosition(this.contentDOM)&2}else if(this.dom.firstChild){if(e==0)for(let e=t;;e=e.parentNode){if(e==this.dom){r=false;break}if(e.previousSibling)break}if(r==null&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){r=true;break}if(e.nextSibling)break}}return(r==null?i>0:r)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=false){for(let i=true,r=t;r;r=r.parentNode){let n=this.getDesc(r),s;if(n&&(!e||n.node)){if(i&&(s=n.nodeDOM)&&!(s.nodeType==1?s.contains(t.nodeType==1?t:t.parentNode):s==t))i=false;else return n}}}getDesc(t){let e=t.pmViewDesc;for(let t=e;t;t=t.parent)if(t==this)return e}posFromDOM(t,e,i){for(let r=t;r;r=r.parentNode){let n=this.getDesc(r);if(n)return n.localPosFromDOM(t,e,i)}return-1}descAt(t){for(let e=0,i=0;e<this.children.length;e++){let r=this.children[e],n=i+r.size;if(i==t&&n!=i){while(!r.border&&r.children.length)r=r.children[0];return r}if(t<n)return r.descAt(t-i-r.border);i=n}}domFromPos(t,e){if(!this.contentDOM)return{node:this.dom,offset:0,atom:t+1};let i=0,r=0;for(let e=0;i<this.children.length;i++){let n=this.children[i],s=e+n.size;if(s>t||n instanceof Rs){r=t-e;break}e=s}if(r)return this.children[i].domFromPos(r-this.children[i].border,e);for(let t;i&&!(t=this.children[i-1]).size&&t instanceof Os&&t.side>=0;i--){}if(e<=0){let t,r=true;for(;;i--,r=false){t=i?this.children[i-1]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&e&&r&&!t.border&&!t.domAtom)return t.domFromPos(t.size,e);return{node:this.contentDOM,offset:t?dn(t.dom)+1:0}}else{let t,r=true;for(;;i++,r=false){t=i<this.children.length?this.children[i]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&r&&!t.border&&!t.domAtom)return t.domFromPos(0,e);return{node:this.contentDOM,offset:t?dn(t.dom):this.contentDOM.childNodes.length}}}parseRange(t,e,i=0){if(this.children.length==0)return{node:this.contentDOM,from:t,to:e,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let r=-1,n=-1;for(let s=i,l=0;;l++){let i=this.children[l],u=s+i.size;if(r==-1&&t<=u){let n=s+i.border;if(t>=n&&e<=u-i.border&&i.node&&i.contentDOM&&this.contentDOM.contains(i.contentDOM))return i.parseRange(t,e,n);t=s;for(let e=l;e>0;e--){let i=this.children[e-1];if(i.size&&i.dom.parentNode==this.contentDOM&&!i.emptyChildAt(1)){r=dn(i.dom)+1;break}t-=i.size}if(r==-1)r=0}if(r>-1&&(u>e||l==this.children.length-1)){e=u;for(let t=l+1;t<this.children.length;t++){let i=this.children[t];if(i.size&&i.dom.parentNode==this.contentDOM&&!i.emptyChildAt(-1)){n=dn(i.dom);break}e+=i.size}if(n==-1)n=this.contentDOM.childNodes.length;break}s=u}return{node:this.contentDOM,from:t,to:e,fromOffset:r,toOffset:n}}emptyChildAt(t){if(this.border||!this.contentDOM||!this.children.length)return false;let e=this.children[t<0?0:this.children.length-1];return e.size==0||e.emptyChildAt(t)}domAfterPos(t){let{node:e,offset:i}=this.domFromPos(t,0);if(e.nodeType!=1||i==e.childNodes.length)throw new RangeError("No node after pos "+t);return e.childNodes[i]}setSelection(t,e,i,r=false){let n=Math.min(t,e),s=Math.max(t,e);for(let l=0,u=0;l<this.children.length;l++){let o=this.children[l],f=u+o.size;if(n>u&&s<f)return o.setSelection(t-u-o.border,e-u-o.border,i,r);u=f}let l=this.domFromPos(t,t?-1:1);let u=e==t?l:this.domFromPos(e,e?-1:1);let o=i.getSelection();let f=false;if((qn||Tn)&&t==e){let{node:t,offset:e}=l;if(t.nodeType==3){f=!!(e&&t.nodeValue[e-1]=="\n");if(f&&e==t.nodeValue.length){for(let e=t,i;e;e=e.parentNode){if(i=e.nextSibling){if(i.nodeName=="BR")l=u={node:i.parentNode,offset:dn(i)+1};break}let t=e.pmViewDesc;if(t&&t.node&&t.node.isBlock)break}}}else{let i=t.childNodes[e-1];f=i&&(i.nodeName=="BR"||i.contentEditable=="false")}}if(qn&&o.focusNode&&o.focusNode!=u.node&&o.focusNode.nodeType==1){let t=o.focusNode.childNodes[o.focusOffset];if(t&&t.contentEditable=="false")r=true}if(!(r||f&&Tn)&&gn(l.node,l.offset,o.anchorNode,o.anchorOffset)&&gn(u.node,u.offset,o.focusNode,o.focusOffset))return;let h=false;if((o.extend||t==e)&&!f){o.collapse(l.node,l.offset);try{if(t!=e)o.extend(u.node,u.offset);h=true}catch(t){}}if(!h){if(t>e){let t=l;l=u;u=t}let i=document.createRange();i.setEnd(u.node,u.offset);i.setStart(l.node,l.offset);o.removeAllRanges();o.addRange(i)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let i=0,r=0;r<this.children.length;r++){let n=this.children[r],s=i+n.size;if(i==s?t<=s&&e>=i:t<s&&e>i){let r=i+n.border,l=s-n.border;if(t>=r&&e<=l){this.dirty=t==i||e==s?As:Ms;if(t==r&&e==l&&(n.contentLost||n.dom.parentNode!=this.contentDOM))n.dirty=Cs;else n.markDirty(t-r,e-r);return}else{n.dirty=n.dom==n.contentDOM&&n.dom.parentNode==this.contentDOM&&!n.children.length?As:Cs}}i=s}this.dirty=As}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let i=t==1?As:Ms;if(e.dirty<i)e.dirty=i}}get domAtom(){return false}get ignoreForCoords(){return false}}class Os extends Ss{constructor(t,e,i,r){let n,s=e.type.toDOM;if(typeof s=="function")s=s(i,(()=>{if(!n)return r;if(n.parent)return n.parent.posBeforeChild(n)}));if(!e.type.spec.raw){if(s.nodeType!=1){let t=document.createElement("span");t.appendChild(s);s=t}s.contentEditable="false";s.classList.add("ProseMirror-widget")}super(t,[],s,null);this.widget=e;this.widget=e;n=this}matchesWidget(t){return this.dirty==xs&&t.type.eq(this.widget.type)}parseRule(){return{ignore:true}}stopEvent(t){let e=this.widget.spec.stopEvent;return e?e(t):false}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom);super.destroy()}get domAtom(){return true}get side(){return this.widget.type.side}}class $s extends Ss{constructor(t,e,i,r){super(t,[],e,null);this.textDOM=i;this.text=r}get size(){return this.text.length}localPosFromDOM(t,e){if(t!=this.textDOM)return this.posAtStart+(e?this.size:0);return this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}}class _s extends Ss{constructor(t,e,i,r){super(t,[],i,r);this.mark=e}static create(t,e,i,r){let n=r.nodeViews[e.type.name];let s=n&&n(e,r,i);if(!s||!s.dom)s=Mi.renderSpec(document,e.type.spec.toDOM(e,i));return new _s(t,e,s.dom,s.contentDOM||s.dom)}parseRule(){if(this.dirty&Cs||this.mark.type.spec.reparseInView)return null;return{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=Cs&&this.mark.eq(t)}markDirty(t,e){super.markDirty(t,e);if(this.dirty!=xs){let t=this.parent;while(!t.node)t=t.parent;if(t.dirty<this.dirty)t.dirty=this.dirty;this.dirty=xs}}slice(t,e,i){let r=_s.create(this.parent,this.mark,true,i);let n=this.children,s=this.size;if(e<s)n=tl(n,e,s,i);if(t>0)n=tl(n,0,t,i);for(let t=0;t<n.length;t++)n[t].parent=r;r.children=n;return r}}class Bs extends Ss{constructor(t,e,i,r,n,s,l,u,o){super(t,[],n,s);this.node=e;this.outerDeco=i;this.innerDeco=r;this.nodeDOM=l}static create(t,e,i,r,n,s){let l=n.nodeViews[e.type.name],u;let o=l&&l(e,n,(()=>{if(!u)return s;if(u.parent)return u.parent.posBeforeChild(u)}),i,r);let f=o&&o.dom,h=o&&o.contentDOM;if(e.isText){if(!f)f=document.createTextNode(e.text);else if(f.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else if(!f){({dom:f,contentDOM:h}=Mi.renderSpec(document,e.type.spec.toDOM(e)))}if(!h&&!e.isText&&f.nodeName!="BR"){if(!f.hasAttribute("contenteditable"))f.contentEditable="false";if(e.type.spec.draggable)f.draggable=true}let a=f;f=Us(f,i,e);if(o)return u=new Ns(t,e,i,r,f,h||null,a,o,n,s+1);else if(e.isText)return new qs(t,e,i,r,f,a,n);else return new Bs(t,e,i,r,f,h||null,a,n,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre")t.preserveWhitespace="full";if(!this.contentDOM){t.getContent=()=>this.node.content}else if(!this.contentLost){t.contentElement=this.contentDOM}else{for(let e=this.children.length-1;e>=0;e--){let i=this.children[e];if(this.dom.contains(i.dom.parentNode)){t.contentElement=i.dom.parentNode;break}}if(!t.contentElement)t.getContent=()=>pe.empty}return t}matchesNode(t,e,i){return this.dirty==xs&&t.eq(this.node)&&Ws(e,this.outerDeco)&&i.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let i=this.node.inlineContent,r=e;let n=t.composing?this.localCompositionInfo(t,e):null;let s=n&&n.pos>-1?n:null;let l=n&&n.pos<0;let u=new Zs(this,s&&s.node,t);Gs(this.node,this.innerDeco,((e,n,s)=>{if(e.spec.marks)u.syncToMarks(e.spec.marks,i,t);else if(e.type.side>=0&&!s)u.syncToMarks(n==this.node.childCount?be.none:this.node.child(n).marks,i,t);u.placeWidget(e,t,r)}),((e,s,o,f)=>{u.syncToMarks(e.marks,i,t);let h;if(u.findNodeMatch(e,s,o,f));else if(l&&t.state.selection.from>r&&t.state.selection.to<r+e.nodeSize&&(h=u.findIndexWithChild(n.node))>-1&&u.updateNodeAt(e,s,o,h,t));else if(u.updateNextNode(e,s,o,t,f,r));else{u.addNode(e,s,o,t,r)}r+=e.nodeSize}));u.syncToMarks([],i,t);if(this.node.isTextblock)u.addTextblockHacks();u.destroyRest();if(u.changed||this.dirty==As){if(s)this.protectLocalComposition(t,s);zs(this.contentDOM,this.children,t);if(In)Xs(this.dom)}}localCompositionInfo(t,e){let{from:i,to:r}=t.state.selection;if(!(t.state.selection instanceof Ur)||i<e||r>e+this.node.content.size)return null;let n=t.domSelectionRange();let s=Ys(n.focusNode,n.focusOffset);if(!s||!this.dom.contains(s.parentNode))return null;if(this.node.inlineContent){let t=s.nodeValue;let n=Qs(this.node.content,t,i-e,r-e);return n<0?null:{node:s,pos:n,text:t}}else{return{node:s,pos:-1,text:""}}}protectLocalComposition(t,{node:e,pos:i,text:r}){if(this.getDesc(e))return;let n=e;for(;;n=n.parentNode){if(n.parentNode==this.contentDOM)break;while(n.previousSibling)n.parentNode.removeChild(n.previousSibling);while(n.nextSibling)n.parentNode.removeChild(n.nextSibling);if(n.pmViewDesc)n.pmViewDesc=undefined}let s=new $s(this,n,e,r);t.input.compositionNodes.push(s);this.children=tl(this.children,i,i+r.length,t,s)}update(t,e,i,r){if(this.dirty==Cs||!t.sameMarkup(this.node))return false;this.updateInner(t,e,i,r);return true}updateInner(t,e,i,r){this.updateOuterDeco(e);this.node=t;this.innerDeco=i;if(this.contentDOM)this.updateChildren(r,this.posAtStart);this.dirty=xs}updateOuterDeco(t){if(Ws(t,this.outerDeco))return;let e=this.nodeDOM.nodeType!=1;let i=this.dom;this.dom=Js(this.dom,this.nodeDOM,Ps(this.outerDeco,this.node,e),Ps(t,this.node,e));if(this.dom!=i){i.pmViewDesc=undefined;this.dom.pmViewDesc=this}this.outerDeco=t}selectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.add("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.draggable=true}deselectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.remove("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function js(t,e,i,r,n){Us(r,e,t);let s=new Bs(undefined,t,e,i,r,r,r,n,0);if(s.contentDOM)s.updateChildren(n,0);return s}class qs extends Bs{constructor(t,e,i,r,n,s,l){super(t,e,i,r,n,null,s,l,0)}parseRule(){let t=this.nodeDOM.parentNode;while(t&&t!=this.dom&&!t.pmIsDeco)t=t.parentNode;return{skip:t||true}}update(t,e,i,r){if(this.dirty==Cs||this.dirty!=xs&&!this.inParent()||!t.sameMarkup(this.node))return false;this.updateOuterDeco(e);if((this.dirty!=xs||t.text!=this.node.text)&&t.text!=this.nodeDOM.nodeValue){this.nodeDOM.nodeValue=t.text;if(r.trackWrites==this.nodeDOM)r.trackWrites=null}this.node=t;this.dirty=xs;return true}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return true;return false}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,i){if(t==this.nodeDOM)return this.posAtStart+Math.min(e,this.node.text.length);return super.localPosFromDOM(t,e,i)}ignoreMutation(t){return t.type!="characterData"&&t.type!="selection"}slice(t,e,i){let r=this.node.cut(t,e),n=document.createTextNode(r.text);return new qs(this.parent,r,this.outerDeco,this.innerDeco,n,n,i)}markDirty(t,e){super.markDirty(t,e);if(this.dom!=this.nodeDOM&&(t==0||e==this.nodeDOM.nodeValue.length))this.dirty=Cs}get domAtom(){return false}}class Rs extends Ss{parseRule(){return{ignore:true}}matchesHack(t){return this.dirty==xs&&this.dom.nodeName==t}get domAtom(){return true}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class Ns extends Bs{constructor(t,e,i,r,n,s,l,u,o,f){super(t,e,i,r,n,s,l,o,f);this.spec=u}update(t,e,i,r){if(this.dirty==Cs)return false;if(this.spec.update){let n=this.spec.update(t,e,i);if(n)this.updateInner(t,e,i,r);return n}else if(!this.contentDOM&&!t.isLeaf){return false}else{return super.update(t,e,i,r)}}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,i,r){this.spec.setSelection?this.spec.setSelection(t,e,i):super.setSelection(t,e,i,r)}destroy(){if(this.spec.destroy)this.spec.destroy();super.destroy()}stopEvent(t){return this.spec.stopEvent?this.spec.stopEvent(t):false}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function zs(t,e,i){let r=t.firstChild,n=false;for(let s=0;s<e.length;s++){let l=e[s],u=l.dom;if(u.parentNode==t){while(u!=r){r=Hs(r);n=true}r=r.nextSibling}else{n=true;t.insertBefore(u,r)}if(l instanceof _s){let e=r?r.previousSibling:t.lastChild;zs(l.contentDOM,l.children,i);r=e?e.nextSibling:t.firstChild}}while(r){r=Hs(r);n=true}if(n&&i.trackWrites==t)i.trackWrites=null}const Ts=function(t){if(t)this.nodeName=t};Ts.prototype=Object.create(null);const Is=[new Ts];function Ps(t,e,i){if(t.length==0)return Is;let r=i?Is[0]:new Ts,n=[r];for(let s=0;s<t.length;s++){let l=t[s].type.attrs;if(!l)continue;if(l.nodeName)n.push(r=new Ts(l.nodeName));for(let t in l){let s=l[t];if(s==null)continue;if(i&&n.length==1)n.push(r=new Ts(e.isInline?"span":"div"));if(t=="class")r.class=(r.class?r.class+" ":"")+s;else if(t=="style")r.style=(r.style?r.style+";":"")+s;else if(t!="nodeName")r[t]=s}}return n}function Js(t,e,i,r){if(i==Is&&r==Is)return e;let n=e;for(let e=0;e<r.length;e++){let s=r[e],l=i[e];if(e){let e;if(l&&l.nodeName==s.nodeName&&n!=t&&(e=n.parentNode)&&e.nodeName.toLowerCase()==s.nodeName){n=e}else{e=document.createElement(s.nodeName);e.pmIsDeco=true;e.appendChild(n);l=Is[0];n=e}}Ls(n,l||Is[0],s)}return n}function Ls(t,e,i){for(let r in e)if(r!="class"&&r!="style"&&r!="nodeName"&&!(r in i))t.removeAttribute(r);for(let r in i)if(r!="class"&&r!="style"&&r!="nodeName"&&i[r]!=e[r])t.setAttribute(r,i[r]);if(e.class!=i.class){let r=e.class?e.class.split(" ").filter(Boolean):[];let n=i.class?i.class.split(" ").filter(Boolean):[];for(let e=0;e<r.length;e++)if(n.indexOf(r[e])==-1)t.classList.remove(r[e]);for(let e=0;e<n.length;e++)if(r.indexOf(n[e])==-1)t.classList.add(n[e]);if(t.classList.length==0)t.removeAttribute("class")}if(e.style!=i.style){if(e.style){let i=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,r;while(r=i.exec(e.style))t.style.removeProperty(r[1])}if(i.style)t.style.cssText+=i.style}}function Us(t,e,i){return Js(t,t,Is,Ps(e,i,t.nodeType!=1))}function Ws(t,e){if(t.length!=e.length)return false;for(let i=0;i<t.length;i++)if(!t[i].type.eq(e[i].type))return false;return true}function Hs(t){let e=t.nextSibling;t.parentNode.removeChild(t);return e}class Zs{constructor(t,e,i){this.lock=e;this.view=i;this.index=0;this.stack=[];this.changed=false;this.top=t;this.preMatch=Ks(t.node.content,t)}destroyBetween(t,e){if(t==e)return;for(let i=t;i<e;i++)this.top.children[i].destroy();this.top.children.splice(t,e-t);this.changed=true}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(t,e,i){let r=0,n=this.stack.length>>1;let s=Math.min(n,t.length);while(r<s&&(r==n-1?this.top:this.stack[r+1<<1]).matchesMark(t[r])&&t[r].type.spec.spanning!==false)r++;while(r<n){this.destroyRest();this.top.dirty=xs;this.index=this.stack.pop();this.top=this.stack.pop();n--}while(n<t.length){this.stack.push(this.top,this.index+1);let r=-1;for(let e=this.index;e<Math.min(this.index+3,this.top.children.length);e++){let i=this.top.children[e];if(i.matchesMark(t[n])&&!this.isLocked(i.dom)){r=e;break}}if(r>-1){if(r>this.index){this.changed=true;this.destroyBetween(this.index,r)}this.top=this.top.children[this.index]}else{let r=_s.create(this.top,t[n],e,i);this.top.children.splice(this.index,0,r);this.top=r;this.changed=true}this.index=0;n++}}findNodeMatch(t,e,i,r){let n=-1,s;if(r>=this.preMatch.index&&(s=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&s.matchesNode(t,e,i)){n=this.top.children.indexOf(s,this.index)}else{for(let r=this.index,s=Math.min(this.top.children.length,r+5);r<s;r++){let s=this.top.children[r];if(s.matchesNode(t,e,i)&&!this.preMatch.matched.has(s)){n=r;break}}}if(n<0)return false;this.destroyBetween(this.index,n);this.index++;return true}updateNodeAt(t,e,i,r,n){let s=this.top.children[r];if(s.dirty==Cs&&s.dom==s.contentDOM)s.dirty=As;if(!s.update(t,e,i,n))return false;this.destroyBetween(this.index,r);this.index++;return true}findIndexWithChild(t){for(;;){let e=t.parentNode;if(!e)return-1;if(e==this.top.contentDOM){let e=t.pmViewDesc;if(e)for(let t=this.index;t<this.top.children.length;t++){if(this.top.children[t]==e)return t}return-1}t=e}}updateNextNode(t,e,i,r,n,s){for(let l=this.index;l<this.top.children.length;l++){let u=this.top.children[l];if(u instanceof Bs){let o=this.preMatch.matched.get(u);if(o!=null&&o!=n)return false;let f=u.dom,h;let a=this.isLocked(f)&&!(t.isText&&u.node&&u.node.isText&&u.nodeDOM.nodeValue==t.text&&u.dirty!=Cs&&Ws(e,u.outerDeco));if(!a&&u.update(t,e,i,r)){this.destroyBetween(this.index,l);if(u.dom!=f)this.changed=true;this.index++;return true}else if(!a&&(h=this.recreateWrapper(u,t,e,i,r,s))){this.top.children[this.index]=h;if(h.contentDOM){h.dirty=As;h.updateChildren(r,s+1);h.dirty=xs}this.changed=true;this.index++;return true}break}}return false}recreateWrapper(t,e,i,r,n,s){if(t.dirty||e.isAtom||!t.children.length||!t.node.content.eq(e.content))return null;let l=Bs.create(this.top,e,i,r,n,s);if(l.contentDOM){l.children=t.children;t.children=[];for(let t of l.children)t.parent=l}t.destroy();return l}addNode(t,e,i,r,n){let s=Bs.create(this.top,t,e,i,r,n);if(s.contentDOM)s.updateChildren(r,n+1);this.top.children.splice(this.index++,0,s);this.changed=true}placeWidget(t,e,i){let r=this.index<this.top.children.length?this.top.children[this.index]:null;if(r&&r.matchesWidget(t)&&(t==r.widget||!r.widget.type.toDOM.parentNode)){this.index++}else{let r=new Os(this.top,t,e,i);this.top.children.splice(this.index++,0,r);this.changed=true}}addTextblockHacks(){let t=this.top.children[this.index-1],e=this.top;while(t instanceof _s){e=t;t=e.children[e.children.length-1]}if(!t||!(t instanceof qs)||/\n$/.test(t.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(t.node.text)){if((Tn||Nn)&&t&&t.dom.contentEditable=="false")this.addHackNode("IMG",e);this.addHackNode("BR",this.top)}}addHackNode(t,e){if(e==this.top&&this.index<e.children.length&&e.children[this.index].matchesHack(t)){this.index++}else{let i=document.createElement(t);if(t=="IMG"){i.className="ProseMirror-separator";i.alt=""}if(t=="BR")i.className="ProseMirror-trailingBreak";let r=new Rs(this.top,[],i,null);if(e!=this.top)e.children.push(r);else e.children.splice(this.index++,0,r);this.changed=true}}isLocked(t){return this.lock&&(t==this.lock||t.nodeType==1&&t.contains(this.lock.parentNode))}}function Ks(t,e){let i=e,r=i.children.length;let n=t.childCount,s=new Map,l=[];t:while(n>0){let u;for(;;){if(r){let t=i.children[r-1];if(t instanceof _s){i=t;r=t.children.length}else{u=t;r--;break}}else if(i==e){break t}else{r=i.parent.children.indexOf(i);i=i.parent}}let o=u.node;if(!o)continue;if(o!=t.child(n-1))break;--n;s.set(u,n);l.push(u)}return{index:n,matched:s,matches:l.reverse()}}function Vs(t,e){return t.type.side-e.type.side}function Gs(t,e,i,r){let n=e.locals(t),s=0;if(n.length==0){for(let i=0;i<t.childCount;i++){let l=t.child(i);r(l,n,e.forChild(s,l),i);s+=l.nodeSize}return}let l=0,u=[],o=null;for(let f=0;;){let h,a;while(l<n.length&&n[l].to==s){let t=n[l++];if(t.widget){if(!h)h=t;else(a||(a=[h])).push(t)}}if(h){if(a){a.sort(Vs);for(let t=0;t<a.length;t++)i(a[t],f,!!o)}else{i(h,f,!!o)}}let c,d;if(o){d=-1;c=o;o=null}else if(f<t.childCount){d=f;c=t.child(f++)}else{break}for(let t=0;t<u.length;t++)if(u[t].to<=s)u.splice(t--,1);while(l<n.length&&n[l].from<=s&&n[l].to>s)u.push(n[l++]);let p=s+c.nodeSize;if(c.isText){let t=p;if(l<n.length&&n[l].from<t)t=n[l].from;for(let e=0;e<u.length;e++)if(u[e].to<t)t=u[e].to;if(t<p){o=c.cut(t-s);c=c.cut(0,t-s);p=t;d=-1}}else{while(l<n.length&&n[l].to<p)l++}let m=c.isInline&&!c.isLeaf?u.filter((t=>!t.inline)):u.slice();r(c,m,e.forChild(s,c),d);s=p}}function Xs(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important";window.getComputedStyle(t).listStyle;t.style.cssText=e}}function Ys(t,e){for(;;){if(t.nodeType==3)return t;if(t.nodeType==1&&e>0){if(t.childNodes.length>e&&t.childNodes[e].nodeType==3)return t.childNodes[e];t=t.childNodes[e-1];e=Dn(t)}else if(t.nodeType==1&&e<t.childNodes.length){t=t.childNodes[e];e=0}else{return null}}}function Qs(t,e,i,r){for(let n=0,s=0;n<t.childCount&&s<=r;){let l=t.child(n++),u=s;s+=l.nodeSize;if(!l.isText)continue;let o=l.text;while(n<t.childCount){let e=t.child(n++);s+=e.nodeSize;if(!e.isText)break;o+=e.text}if(s>=i){if(s>=r&&o.slice(r-e.length-u,r-u)==e)return r-e.length;let t=u<r?o.lastIndexOf(e,r-u-1):-1;if(t>=0&&t+e.length+u>=i)return u+t;if(i==r&&o.length>=r+e.length-u&&o.slice(r-u,r-u+e.length)==e)return r}}return-1}function tl(t,e,i,r,n){let s=[];for(let l=0,u=0;l<t.length;l++){let o=t[l],f=u,h=u+=o.size;if(f>=i||h<=e){s.push(o)}else{if(f<e)s.push(o.slice(0,e-f,r));if(n){s.push(n);n=undefined}if(h>i)s.push(o.slice(i-f,o.size,r))}}return s}function el(t,e=null){let i=t.domSelectionRange(),r=t.state.doc;if(!i.focusNode)return null;let n=t.docView.nearestDesc(i.focusNode),s=n&&n.size==0;let l=t.docView.posFromDOM(i.focusNode,i.focusOffset,1);if(l<0)return null;let u=r.resolve(l),o,f;if(Fn(i)){o=u;while(n&&!n.node)n=n.parent;let t=n.node;if(n&&t.isAtom&&Hr.isSelectable(t)&&n.parent&&!(t.isInline&&vn(i.focusNode,i.focusOffset,n.dom))){let t=n.posBefore;f=new Hr(l==t?u:r.resolve(t))}}else{let e=t.docView.posFromDOM(i.anchorNode,i.anchorOffset,1);if(e<0)return null;o=r.resolve(e)}if(!f){let i=e=="pointer"||t.state.selection.head<u.pos&&!s?1:-1;f=cl(t,o,u,i)}return f}function il(t){return t.editable?t.hasFocus():pl(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function rl(t,e=false){let i=t.state.selection;hl(t,i);if(!il(t))return;if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&Nn){let e=t.domSelectionRange(),i=t.domObserver.currentSelection;if(e.anchorNode&&i.anchorNode&&gn(e.anchorNode,e.anchorOffset,i.anchorNode,i.anchorOffset)){t.input.mouseDown.delayedSelectionSync=true;t.domObserver.setCurSelection();return}}t.domObserver.disconnectSelection();if(t.cursorWrapper){fl(t)}else{let{anchor:r,head:n}=i,s,l;if(nl&&!(i instanceof Ur)){if(!i.$from.parent.inlineContent)s=sl(t,i.from);if(!i.empty&&!i.$from.parent.inlineContent)l=sl(t,i.to)}t.docView.setSelection(r,n,t.root,e);if(nl){if(s)ul(s);if(l)ul(l)}if(i.visible){t.dom.classList.remove("ProseMirror-hideselection")}else{t.dom.classList.add("ProseMirror-hideselection");if("onselectionchange"in document)ol(t)}}t.domObserver.setCurSelection();t.domObserver.connectSelection()}const nl=Tn||Nn&&zn<63;function sl(t,e){let{node:i,offset:r}=t.docView.domFromPos(e,0);let n=r<i.childNodes.length?i.childNodes[r]:null;let s=r?i.childNodes[r-1]:null;if(Tn&&n&&n.contentEditable=="false")return ll(n);if((!n||n.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(n)return ll(n);else if(s)return ll(s)}}function ll(t){t.contentEditable="true";if(Tn&&t.draggable){t.draggable=false;t.wasDraggable=true}return t}function ul(t){t.contentEditable="false";if(t.wasDraggable){t.draggable=true;t.wasDraggable=null}}function ol(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let i=t.domSelectionRange();let r=i.anchorNode,n=i.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{if(i.anchorNode!=r||i.anchorOffset!=n){e.removeEventListener("selectionchange",t.input.hideSelectionGuard);setTimeout((()=>{if(!il(t)||t.state.selection.visible)t.dom.classList.remove("ProseMirror-hideselection")}),20)}})}function fl(t){let e=t.domSelection(),i=document.createRange();let r=t.cursorWrapper.dom,n=r.nodeName=="IMG";if(n)i.setEnd(r.parentNode,dn(r)+1);else i.setEnd(r,0);i.collapse(false);e.removeAllRanges();e.addRange(i);if(!n&&!t.state.selection.visible&&Bn&&jn<=11){r.disabled=true;r.disabled=false}}function hl(t,e){if(e instanceof Hr){let i=t.docView.descAt(e.from);if(i!=t.lastSelectedViewDesc){al(t);if(i)i.selectNode();t.lastSelectedViewDesc=i}}else{al(t)}}function al(t){if(t.lastSelectedViewDesc){if(t.lastSelectedViewDesc.parent)t.lastSelectedViewDesc.deselectNode();t.lastSelectedViewDesc=undefined}}function cl(t,e,i,r){return t.someProp("createSelectionBetween",(r=>r(t,e,i)))||Ur.between(e,i,r)}function dl(t){if(t.editable&&!t.hasFocus())return false;return pl(t)}function pl(t){let e=t.domSelectionRange();if(!e.anchorNode)return false;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch(t){return false}}function ml(t){let e=t.docView.domFromPos(t.state.selection.anchor,0);let i=t.domSelectionRange();return gn(e.node,e.offset,i.anchorNode,i.anchorOffset)}function wl(t,e){let{$anchor:i,$head:r}=t.selection;let n=e>0?i.max(r):i.min(r);let s=!n.parent.inlineContent?n:n.depth?t.doc.resolve(e>0?n.after():n.before()):null;return s&&Ir.findFrom(s,e)}function gl(t,e){t.dispatch(t.state.tr.setSelection(e).scrollIntoView());return true}function bl(t,e,i){let r=t.state.selection;if(r instanceof Ur){if(i.indexOf("s")>-1){let{$head:i}=r,n=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter;if(!n||n.isText||!n.isLeaf)return false;let s=t.state.doc.resolve(i.pos+n.nodeSize*(e<0?-1:1));return gl(t,new Ur(r.$anchor,s))}else if(!r.empty){return false}else if(t.endOfTextblock(e>0?"forward":"backward")){let i=wl(t.state,e);if(i&&i instanceof Hr)return gl(t,i);return false}else if(!(Pn&&i.indexOf("m")>-1)){let i=r.$head,n=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter,s;if(!n||n.isText)return false;let l=e<0?i.pos-n.nodeSize:i.pos;if(!(n.isAtom||(s=t.docView.descAt(l))&&!s.contentDOM))return false;if(Hr.isSelectable(n)){return gl(t,new Hr(e<0?t.state.doc.resolve(i.pos-n.nodeSize):i))}else if(Un){return gl(t,new Ur(t.state.doc.resolve(e<0?l:l+n.nodeSize)))}else{return false}}}else if(r instanceof Hr&&r.node.isInline){return gl(t,new Ur(e>0?r.$to:r.$from))}else{let i=wl(t.state,e);if(i)return gl(t,i);return false}}function kl(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Dl(t,e){let i=t.pmViewDesc;return i&&i.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function vl(t,e){return e<0?yl(t):Fl(t)}function yl(t){let e=t.domSelectionRange();let i=e.focusNode,r=e.focusOffset;if(!i)return;let n,s,l=false;if(qn&&i.nodeType==1&&r<kl(i)&&Dl(i.childNodes[r],-1))l=true;for(;;){if(r>0){if(i.nodeType!=1){break}else{let t=i.childNodes[r-1];if(Dl(t,-1)){n=i;s=--r}else if(t.nodeType==3){i=t;r=i.nodeValue.length}else break}}else if(El(i)){break}else{let e=i.previousSibling;while(e&&Dl(e,-1)){n=i.parentNode;s=dn(e);e=e.previousSibling}if(!e){i=i.parentNode;if(i==t.dom)break;r=0}else{i=e;r=kl(i)}}}if(l)Al(t,i,r);else if(n)Al(t,n,s)}function Fl(t){let e=t.domSelectionRange();let i=e.focusNode,r=e.focusOffset;if(!i)return;let n=kl(i);let s,l;for(;;){if(r<n){if(i.nodeType!=1)break;let t=i.childNodes[r];if(Dl(t,1)){s=i;l=++r}else break}else if(El(i)){break}else{let e=i.nextSibling;while(e&&Dl(e,1)){s=e.parentNode;l=dn(e)+1;e=e.nextSibling}if(!e){i=i.parentNode;if(i==t.dom)break;r=n=0}else{i=e;r=0;n=kl(i)}}}if(s)Al(t,s,l)}function El(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function xl(t,e){while(t&&e==t.childNodes.length&&!yn(t)){e=dn(t)+1;t=t.parentNode}while(t&&e<t.childNodes.length){let i=t.childNodes[e];if(i.nodeType==3)return i;if(i.nodeType==1&&i.contentEditable=="false")break;t=i;e=0}}function Ml(t,e){while(t&&!e&&!yn(t)){e=dn(t);t=t.parentNode}while(t&&e){let i=t.childNodes[e-1];if(i.nodeType==3)return i;if(i.nodeType==1&&i.contentEditable=="false")break;t=i;e=t.childNodes.length}}function Al(t,e,i){if(e.nodeType!=3){let t,r;if(r=xl(e,i)){e=r;i=0}else if(t=Ml(e,i)){e=t;i=t.nodeValue.length}}let r=t.domSelection();if(Fn(r)){let t=document.createRange();t.setEnd(e,i);t.setStart(e,i);r.removeAllRanges();r.addRange(t)}else if(r.extend){r.extend(e,i)}t.domObserver.setCurSelection();let{state:n}=t;setTimeout((()=>{if(t.state==n)rl(t)}),50)}function Cl(t,e){let i=t.state.doc.resolve(e);if(!(Nn||Jn)&&i.parent.inlineContent){let r=t.coordsAtPos(e);if(e>i.start()){let i=t.coordsAtPos(e-1);let n=(i.top+i.bottom)/2;if(n>r.top&&n<r.bottom&&Math.abs(i.left-r.left)>1)return i.left<r.left?"ltr":"rtl"}if(e<i.end()){let i=t.coordsAtPos(e+1);let n=(i.top+i.bottom)/2;if(n>r.top&&n<r.bottom&&Math.abs(i.left-r.left)>1)return i.left>r.left?"ltr":"rtl"}}let r=getComputedStyle(t.dom).direction;return r=="rtl"?"rtl":"ltr"}function Sl(t,e,i){let r=t.state.selection;if(r instanceof Ur&&!r.empty||i.indexOf("s")>-1)return false;if(Pn&&i.indexOf("m")>-1)return false;let{$from:n,$to:s}=r;if(!n.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let i=wl(t.state,e);if(i&&i instanceof Hr)return gl(t,i)}if(!n.parent.inlineContent){let i=e<0?n:s;let l=r instanceof Kr?Ir.near(i,e):Ir.findFrom(i,e);return l?gl(t,l):false}return false}function Ol(t,e){if(!(t.state.selection instanceof Ur))return true;let{$head:i,$anchor:r,empty:n}=t.state.selection;if(!i.sameParent(r))return true;if(!n)return false;if(t.endOfTextblock(e>0?"forward":"backward"))return true;let s=!i.textOffset&&(e<0?i.nodeBefore:i.nodeAfter);if(s&&!s.isText){let r=t.state.tr;if(e<0)r.delete(i.pos-s.nodeSize,i.pos);else r.delete(i.pos,i.pos+s.nodeSize);t.dispatch(r);return true}return false}function $l(t,e,i){t.domObserver.stop();e.contentEditable=i;t.domObserver.start()}function _l(t){if(!Tn||t.state.selection.$head.parentOffset>0)return false;let{focusNode:e,focusOffset:i}=t.domSelectionRange();if(e&&e.nodeType==1&&i==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let i=e.firstChild;$l(t,i,"true");setTimeout((()=>$l(t,i,"false")),20)}return false}function Bl(t){let e="";if(t.ctrlKey)e+="c";if(t.metaKey)e+="m";if(t.altKey)e+="a";if(t.shiftKey)e+="s";return e}function jl(t,e){let i=e.keyCode,r=Bl(e);if(i==8||Pn&&i==72&&r=="c"){return Ol(t,-1)||vl(t,-1)}else if(i==46&&!e.shiftKey||Pn&&i==68&&r=="c"){return Ol(t,1)||vl(t,1)}else if(i==13||i==27){return true}else if(i==37||Pn&&i==66&&r=="c"){let e=i==37?Cl(t,t.state.selection.from)=="ltr"?-1:1:-1;return bl(t,e,r)||vl(t,e)}else if(i==39||Pn&&i==70&&r=="c"){let e=i==39?Cl(t,t.state.selection.from)=="ltr"?1:-1:1;return bl(t,e,r)||vl(t,e)}else if(i==38||Pn&&i==80&&r=="c"){return Sl(t,-1,r)||vl(t,-1)}else if(i==40||Pn&&i==78&&r=="c"){return _l(t)||Sl(t,1,r)||vl(t,1)}else if(r==(Pn?"m":"c")&&(i==66||i==73||i==89||i==90)){return true}return false}function ql(t,e){t.someProp("transformCopied",(i=>{e=i(e,t)}));let i=[],{content:r,openStart:n,openEnd:s}=e;while(n>1&&s>1&&r.childCount==1&&r.firstChild.childCount==1){n--;s--;let t=r.firstChild;i.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null);r=t.content}let l=t.someProp("clipboardSerializer")||Mi.fromSchema(t.state.schema);let u=Hl(),o=u.createElement("div");o.appendChild(l.serializeFragment(r,{document:u}));let f=o.firstChild,h,a=0;while(f&&f.nodeType==1&&(h=Ul[f.nodeName.toLowerCase()])){for(let t=h.length-1;t>=0;t--){let e=u.createElement(h[t]);while(o.firstChild)e.appendChild(o.firstChild);o.appendChild(e);a++}f=o.firstChild}if(f&&f.nodeType==1)f.setAttribute("data-pm-slice",`${n} ${s}${a?` -${a}`:""} ${JSON.stringify(i)}`);let c=t.someProp("clipboardTextSerializer",(i=>i(e,t)))||e.content.textBetween(0,e.content.size,"\n\n");return{dom:o,text:c}}function Rl(t,e,i,r,n){let s=n.parent.type.spec.code;let l,u;if(!i&&!e)return null;let o=e&&(r||s||!i);if(o){t.someProp("transformPastedText",(i=>{e=i(e,s||r,t)}));if(s)return e?new De(pe.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):De.empty;let i=t.someProp("clipboardTextParser",(i=>i(e,n,r,t)));if(i){u=i}else{let i=n.marks();let{schema:r}=t.state,s=Mi.fromSchema(r);l=document.createElement("div");e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=l.appendChild(document.createElement("p"));if(t)e.appendChild(s.serializeNode(r.text(t,i)))}))}}else{t.someProp("transformPastedHTML",(e=>{i=e(i,t)}));l=Zl(i);if(Un)Kl(l)}let f=l&&l.querySelector("[data-pm-slice]");let h=f&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(f.getAttribute("data-pm-slice")||"");if(h&&h[3])for(let t=+h[3];t>0;t--){let t=l.firstChild;while(t&&t.nodeType!=1)t=t.nextSibling;if(!t)break;l=t}if(!u){let e=t.someProp("clipboardParser")||t.someProp("domParser")||hi.fromSchema(t.state.schema);u=e.parseSlice(l,{preserveWhitespace:!!(o||h),context:n,ruleFromNode(t){if(t.nodeName=="BR"&&!t.nextSibling&&t.parentNode&&!Nl.test(t.parentNode.nodeName))return{ignore:true};return null}})}if(h){u=Vl(Ll(u,+h[1],+h[2]),h[4])}else{u=De.maxOpen(zl(u.content,n),true);if(u.openStart||u.openEnd){let t=0,e=0;for(let e=u.content.firstChild;t<u.openStart&&!e.type.spec.isolating;t++,e=e.firstChild){}for(let t=u.content.lastChild;e<u.openEnd&&!t.type.spec.isolating;e++,t=t.lastChild){}u=Ll(u,t,e)}}t.someProp("transformPasted",(e=>{u=e(u,t)}));return u}const Nl=/^(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 zl(t,e){if(t.childCount<2)return t;for(let i=e.depth;i>=0;i--){let r=e.node(i);let n=r.contentMatchAt(e.index(i));let s,l=[];t.forEach((t=>{if(!l)return;let e=n.findWrapping(t.type),i;if(!e)return l=null;if(i=l.length&&s.length&&Il(e,s,t,l[l.length-1],0)){l[l.length-1]=i}else{if(l.length)l[l.length-1]=Pl(l[l.length-1],s.length);let i=Tl(t,e);l.push(i);n=n.matchType(i.type);s=e}}));if(l)return pe.from(l)}return t}function Tl(t,e,i=0){for(let r=e.length-1;r>=i;r--)t=e[r].create(null,pe.from(t));return t}function Il(t,e,i,r,n){if(n<t.length&&n<e.length&&t[n]==e[n]){let s=Il(t,e,i,r.lastChild,n+1);if(s)return r.copy(r.content.replaceChild(r.childCount-1,s));let l=r.contentMatchAt(r.childCount);if(l.matchType(n==t.length-1?i.type:t[n+1]))return r.copy(r.content.append(pe.from(Tl(i,t,n+1))))}}function Pl(t,e){if(e==0)return t;let i=t.content.replaceChild(t.childCount-1,Pl(t.lastChild,e-1));let r=t.contentMatchAt(t.childCount).fillBefore(pe.empty,true);return t.copy(i.append(r))}function Jl(t,e,i,r,n,s){let l=e<0?t.firstChild:t.lastChild,u=l.content;if(t.childCount>1)s=0;if(n<r-1)u=Jl(u,e,i,r,n+1,s);if(n>=i)u=e<0?l.contentMatchAt(0).fillBefore(u,s<=n).append(u):u.append(l.contentMatchAt(l.childCount).fillBefore(pe.empty,true));return t.replaceChild(e<0?0:t.childCount-1,l.copy(u))}function Ll(t,e,i){if(e<t.openStart)t=new De(Jl(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd);if(i<t.openEnd)t=new De(Jl(t.content,1,i,t.openEnd,0,0),t.openStart,i);return t}const Ul={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let Wl=null;function Hl(){return Wl||(Wl=document.implementation.createHTMLDocument("title"))}function Zl(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);if(e)t=t.slice(e[0].length);let i=Hl().createElement("div");let r=/<([a-z][^>\s]+)/i.exec(t),n;if(n=r&&Ul[r[1].toLowerCase()])t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"</"+t+">")).reverse().join("");i.innerHTML=t;if(n)for(let t=0;t<n.length;t++)i=i.querySelector(n[t])||i;return i}function Kl(t){let e=t.querySelectorAll(Nn?"span:not([class]):not([style])":"span.Apple-converted-space");for(let i=0;i<e.length;i++){let r=e[i];if(r.childNodes.length==1&&r.textContent==" "&&r.parentNode)r.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),r)}}function Vl(t,e){if(!t.size)return t;let i=t.content.firstChild.type.schema,r;try{r=JSON.parse(e)}catch(e){return t}let{content:n,openStart:s,openEnd:l}=t;for(let t=r.length-2;t>=0;t-=2){let e=i.nodes[r[t]];if(!e||e.hasRequiredAttrs())break;n=pe.from(e.create(r[t+1],n));s++;l++}return new De(n,s,l)}const Gl={};const Xl={};const Yl={touchstart:true,touchmove:true};class Ql{constructor(){this.shiftKey=false;this.mouseDown=null;this.lastKeyCode=null;this.lastKeyCodeTime=0;this.lastClick={time:0,x:0,y:0,type:""};this.lastSelectionOrigin=null;this.lastSelectionTime=0;this.lastIOSEnter=0;this.lastIOSEnterFallbackTimeout=-1;this.lastFocus=0;this.lastTouch=0;this.lastAndroidDelete=0;this.composing=false;this.composingTimeout=-1;this.compositionNodes=[];this.compositionEndedAt=-2e8;this.compositionID=1;this.compositionPendingChanges=0;this.domChangeCount=0;this.eventHandlers=Object.create(null);this.hideSelectionGuard=null}}function tu(t){for(let e in Gl){let i=Gl[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=e=>{if(su(t,e)&&!nu(t,e)&&(t.editable||!(e.type in Xl)))i(t,e)},Yl[e]?{passive:true}:undefined)}if(Tn)t.dom.addEventListener("input",(()=>null));ru(t)}function eu(t,e){t.input.lastSelectionOrigin=e;t.input.lastSelectionTime=Date.now()}function iu(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout);clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function ru(t){t.someProp("handleDOMEvents",(e=>{for(let i in e)if(!t.input.eventHandlers[i])t.dom.addEventListener(i,t.input.eventHandlers[i]=e=>nu(t,e))}))}function nu(t,e){return t.someProp("handleDOMEvents",(i=>{let r=i[e.type];return r?r(t,e)||e.defaultPrevented:false}))}function su(t,e){if(!e.bubbles)return true;if(e.defaultPrevented)return false;for(let i=e.target;i!=t.dom;i=i.parentNode)if(!i||i.nodeType==11||i.pmViewDesc&&i.pmViewDesc.stopEvent(e))return false;return true}function lu(t,e){if(!nu(t,e)&&Gl[e.type]&&(t.editable||!(e.type in Xl)))Gl[e.type](t,e)}Xl.keydown=(t,e)=>{let i=e;t.input.shiftKey=i.keyCode==16||i.shiftKey;if(Du(t,i))return;t.input.lastKeyCode=i.keyCode;t.input.lastKeyCodeTime=Date.now();if(Ln&&Nn&&i.keyCode==13)return;if(i.keyCode!=229)t.domObserver.forceFlush();if(In&&i.keyCode==13&&!i.ctrlKey&&!i.altKey&&!i.metaKey){let e=Date.now();t.input.lastIOSEnter=e;t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{if(t.input.lastIOSEnter==e){t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter"))));t.input.lastIOSEnter=0}}),200)}else if(t.someProp("handleKeyDown",(e=>e(t,i)))||jl(t,i)){i.preventDefault()}else{eu(t,"key")}};Xl.keyup=(t,e)=>{if(e.keyCode==16)t.input.shiftKey=false};Xl.keypress=(t,e)=>{let i=e;if(Du(t,i)||!i.charCode||i.ctrlKey&&!i.altKey||Pn&&i.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,i)))){i.preventDefault();return}let r=t.state.selection;if(!(r instanceof Ur)||!r.$from.sameParent(r.$to)){let e=String.fromCharCode(i.charCode);if(!/[\r\n]/.test(e)&&!t.someProp("handleTextInput",(i=>i(t,r.$from.pos,r.$to.pos,e))))t.dispatch(t.state.tr.insertText(e).scrollIntoView());i.preventDefault()}};function uu(t){return{left:t.clientX,top:t.clientY}}function ou(t,e){let i=e.x-t.clientX,r=e.y-t.clientY;return i*i+r*r<100}function fu(t,e,i,r,n){if(r==-1)return false;let s=t.state.doc.resolve(r);for(let r=s.depth+1;r>0;r--){if(t.someProp(e,(e=>r>s.depth?e(t,i,s.nodeAfter,s.before(r),n,true):e(t,i,s.node(r),s.before(r),n,false))))return true}return false}function hu(t,e,i){if(!t.focused)t.focus();let r=t.state.tr.setSelection(e);if(i=="pointer")r.setMeta("pointer",true);t.dispatch(r)}function au(t,e){if(e==-1)return false;let i=t.state.doc.resolve(e),r=i.nodeAfter;if(r&&r.isAtom&&Hr.isSelectable(r)){hu(t,new Hr(i),"pointer");return true}return false}function cu(t,e){if(e==-1)return false;let i=t.state.selection,r,n;if(i instanceof Hr)r=i.node;let s=t.state.doc.resolve(e);for(let t=s.depth+1;t>0;t--){let e=t>s.depth?s.nodeAfter:s.node(t);if(Hr.isSelectable(e)){if(r&&i.$from.depth>0&&t>=i.$from.depth&&s.before(i.$from.depth+1)==i.$from.pos)n=s.before(i.$from.depth);else n=s.before(t);break}}if(n!=null){hu(t,Hr.create(t.state.doc,n),"pointer");return true}else{return false}}function du(t,e,i,r,n){return fu(t,"handleClickOn",e,i,r)||t.someProp("handleClick",(i=>i(t,e,r)))||(n?cu(t,i):au(t,i))}function pu(t,e,i,r){return fu(t,"handleDoubleClickOn",e,i,r)||t.someProp("handleDoubleClick",(i=>i(t,e,r)))}function mu(t,e,i,r){return fu(t,"handleTripleClickOn",e,i,r)||t.someProp("handleTripleClick",(i=>i(t,e,r)))||wu(t,i,r)}function wu(t,e,i){if(i.button!=0)return false;let r=t.state.doc;if(e==-1){if(r.inlineContent){hu(t,Ur.create(r,0,r.content.size),"pointer");return true}return false}let n=r.resolve(e);for(let e=n.depth+1;e>0;e--){let i=e>n.depth?n.nodeAfter:n.node(e);let s=n.before(e);if(i.inlineContent)hu(t,Ur.create(r,s+1,s+1+i.content.size),"pointer");else if(Hr.isSelectable(i))hu(t,Hr.create(r,s),"pointer");else continue;return true}}function gu(t){return xu(t)}const bu=Pn?"metaKey":"ctrlKey";Gl.mousedown=(t,e)=>{let i=e;t.input.shiftKey=i.shiftKey;let r=gu(t);let n=Date.now(),s="singleClick";if(n-t.input.lastClick.time<500&&ou(i,t.input.lastClick)&&!i[bu]){if(t.input.lastClick.type=="singleClick")s="doubleClick";else if(t.input.lastClick.type=="doubleClick")s="tripleClick"}t.input.lastClick={time:n,x:i.clientX,y:i.clientY,type:s};let l=t.posAtCoords(uu(i));if(!l)return;if(s=="singleClick"){if(t.input.mouseDown)t.input.mouseDown.done();t.input.mouseDown=new ku(t,l,i,!!r)}else if((s=="doubleClick"?pu:mu)(t,l.pos,l.inside,i)){i.preventDefault()}else{eu(t,"pointer")}};class ku{constructor(t,e,i,r){this.view=t;this.pos=e;this.event=i;this.flushed=r;this.delayedSelectionSync=false;this.mightDrag=null;this.startDoc=t.state.doc;this.selectNode=!!i[bu];this.allowDefault=i.shiftKey;let n,s;if(e.inside>-1){n=t.state.doc.nodeAt(e.inside);s=e.inside}else{let i=t.state.doc.resolve(e.pos);n=i.parent;s=i.depth?i.before():0}const l=r?null:i.target;const u=l?t.docView.nearestDesc(l,true):null;this.target=u?u.dom:null;let{selection:o}=t.state;if(i.button==0&&n.type.spec.draggable&&n.type.spec.selectable!==false||o instanceof Hr&&o.from<=s&&o.to>s)this.mightDrag={node:n,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&qn&&!this.target.hasAttribute("contentEditable"))};if(this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.draggable=true;if(this.mightDrag.setUneditable)setTimeout((()=>{if(this.view.input.mouseDown==this)this.target.setAttribute("contentEditable","false")}),20);this.view.domObserver.start()}t.root.addEventListener("mouseup",this.up=this.up.bind(this));t.root.addEventListener("mousemove",this.move=this.move.bind(this));eu(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up);this.view.root.removeEventListener("mousemove",this.move);if(this.mightDrag&&this.target){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.removeAttribute("draggable");if(this.mightDrag.setUneditable)this.target.removeAttribute("contentEditable");this.view.domObserver.start()}if(this.delayedSelectionSync)setTimeout((()=>rl(this.view)));this.view.input.mouseDown=null}up(t){this.done();if(!this.view.dom.contains(t.target))return;let e=this.pos;if(this.view.state.doc!=this.startDoc)e=this.view.posAtCoords(uu(t));this.updateAllowDefault(t);if(this.allowDefault||!e){eu(this.view,"pointer")}else if(du(this.view,e.pos,e.inside,t,this.selectNode)){t.preventDefault()}else if(t.button==0&&(this.flushed||Tn&&this.mightDrag&&!this.mightDrag.node.isAtom||Nn&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)){hu(this.view,Ir.near(this.view.state.doc.resolve(e.pos)),"pointer");t.preventDefault()}else{eu(this.view,"pointer")}}move(t){this.updateAllowDefault(t);eu(this.view,"pointer");if(t.buttons==0)this.done()}updateAllowDefault(t){if(!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4))this.allowDefault=true}}Gl.touchstart=t=>{t.input.lastTouch=Date.now();gu(t);eu(t,"pointer")};Gl.touchmove=t=>{t.input.lastTouch=Date.now();eu(t,"pointer")};Gl.contextmenu=t=>gu(t);function Du(t,e){if(t.composing)return true;if(Tn&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500){t.input.compositionEndedAt=-2e8;return true}return false}const vu=Ln?5e3:-1;Xl.compositionstart=Xl.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,i=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!i.textOffset&&i.parentOffset&&i.nodeBefore.marks.some((t=>t.type.spec.inclusive===false)))){t.markCursor=t.state.storedMarks||i.marks();xu(t,true);t.markCursor=null}else{xu(t);if(qn&&e.selection.empty&&i.parentOffset&&!i.textOffset&&i.nodeBefore.marks.length){let e=t.domSelectionRange();for(let i=e.focusNode,r=e.focusOffset;i&&i.nodeType==1&&r!=0;){let e=r<0?i.lastChild:i.childNodes[r-1];if(!e)break;if(e.nodeType==3){t.domSelection().collapse(e,e.nodeValue.length);break}else{i=e;r=-1}}}}t.input.composing=true}yu(t,vu)};Xl.compositionend=(t,e)=>{if(t.composing){t.input.composing=false;t.input.compositionEndedAt=e.timeStamp;t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0;if(t.input.compositionPendingChanges)Promise.resolve().then((()=>t.domObserver.flush()));t.input.compositionID++;yu(t,20)}};function yu(t,e){clearTimeout(t.input.composingTimeout);if(e>-1)t.input.composingTimeout=setTimeout((()=>xu(t)),e)}function Fu(t){if(t.composing){t.input.composing=false;t.input.compositionEndedAt=Eu()}while(t.input.compositionNodes.length>0)t.input.compositionNodes.pop().markParentsDirty()}function Eu(){let t=document.createEvent("Event");t.initEvent("event",true,true);return t.timeStamp}function xu(t,e=false){if(Ln&&t.domObserver.flushingSoon>=0)return;t.domObserver.forceFlush();Fu(t);if(e||t.docView&&t.docView.dirty){let e=el(t);if(e&&!e.eq(t.state.selection))t.dispatch(t.state.tr.setSelection(e));else t.updateState(t.state);return true}return false}function Mu(t,e){if(!t.dom.parentNode)return;let i=t.dom.parentNode.appendChild(document.createElement("div"));i.appendChild(e);i.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),n=document.createRange();n.selectNodeContents(e);t.dom.blur();r.removeAllRanges();r.addRange(n);setTimeout((()=>{if(i.parentNode)i.parentNode.removeChild(i);t.focus()}),50)}const Au=Bn&&jn<15||In&&Wn<604;Gl.copy=Xl.cut=(t,e)=>{let i=e;let r=t.state.selection,n=i.type=="cut";if(r.empty)return;let s=Au?null:i.clipboardData;let l=r.content(),{dom:u,text:o}=ql(t,l);if(s){i.preventDefault();s.clearData();s.setData("text/html",u.innerHTML);s.setData("text/plain",o)}else{Mu(t,u)}if(n)t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function Cu(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function Su(t,e){if(!t.dom.parentNode)return;let i=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code;let r=t.dom.parentNode.appendChild(document.createElement(i?"textarea":"div"));if(!i)r.contentEditable="true";r.style.cssText="position: fixed; left: -10000px; top: 10px";r.focus();let n=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout((()=>{t.focus();if(r.parentNode)r.parentNode.removeChild(r);if(i)Ou(t,r.value,null,n,e);else Ou(t,r.textContent,r.innerHTML,n,e)}),50)}function Ou(t,e,i,r,n){let s=Rl(t,e,i,r,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,n,s||De.empty))))return true;if(!s)return false;let l=Cu(s);let u=l?t.state.tr.replaceSelectionWith(l,r):t.state.tr.replaceSelection(s);t.dispatch(u.scrollIntoView().setMeta("paste",true).setMeta("uiEvent","paste"));return true}function $u(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let i=t.getData("text/uri-list");return i?i.replace(/\r?\n/g," "):""}Xl.paste=(t,e)=>{let i=e;if(t.composing&&!Ln)return;let r=Au?null:i.clipboardData;let n=t.input.shiftKey&&t.input.lastKeyCode!=45;if(r&&Ou(t,$u(r),r.getData("text/html"),n,i))i.preventDefault();else Su(t,i)};class _u{constructor(t,e,i){this.slice=t;this.move=e;this.node=i}}const Bu=Pn?"altKey":"ctrlKey";Gl.dragstart=(t,e)=>{let i=e;let r=t.input.mouseDown;if(r)r.done();if(!i.dataTransfer)return;let n=t.state.selection;let s=n.empty?null:t.posAtCoords(uu(i));let l;if(s&&s.pos>=n.from&&s.pos<=(n instanceof Hr?n.to-1:n.to));else if(r&&r.mightDrag){l=Hr.create(t.state.doc,r.mightDrag.pos)}else if(i.target&&i.target.nodeType==1){let e=t.docView.nearestDesc(i.target,true);if(e&&e.node.type.spec.draggable&&e!=t.docView)l=Hr.create(t.state.doc,e.posBefore)}let u=(l||t.state.selection).content(),{dom:o,text:f}=ql(t,u);i.dataTransfer.clearData();i.dataTransfer.setData(Au?"Text":"text/html",o.innerHTML);i.dataTransfer.effectAllowed="copyMove";if(!Au)i.dataTransfer.setData("text/plain",f);t.dragging=new _u(u,!i[Bu],l)};Gl.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{if(t.dragging==e)t.dragging=null}),50)};Xl.dragover=Xl.dragenter=(t,e)=>e.preventDefault();Xl.drop=(t,e)=>{let i=e;let r=t.dragging;t.dragging=null;if(!i.dataTransfer)return;let n=t.posAtCoords(uu(i));if(!n)return;let s=t.state.doc.resolve(n.pos);let l=r&&r.slice;if(l){t.someProp("transformPasted",(e=>{l=e(l,t)}))}else{l=Rl(t,$u(i.dataTransfer),Au?null:i.dataTransfer.getData("text/html"),false,s)}let u=!!(r&&!i[Bu]);if(t.someProp("handleDrop",(e=>e(t,i,l||De.empty,u)))){i.preventDefault();return}if(!l)return;i.preventDefault();let o=l?kr(t.state.doc,s.pos,l):s.pos;if(o==null)o=s.pos;let f=t.state.tr;if(u){let{node:t}=r;if(t)t.replace(f);else f.deleteSelection()}let h=f.mapping.map(o);let a=l.openStart==0&&l.openEnd==0&&l.content.childCount==1;let c=f.doc;if(a)f.replaceRangeWith(h,h,l.content.firstChild);else f.replaceRange(h,h,l);if(f.doc.eq(c))return;let d=f.doc.resolve(h);if(a&&Hr.isSelectable(l.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(l.content.firstChild)){f.setSelection(new Hr(d))}else{let e=f.mapping.map(o);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,i,r,n)=>e=n));f.setSelection(cl(t,d,f.doc.resolve(e)))}t.focus();t.dispatch(f.setMeta("uiEvent","drop"))};Gl.focus=t=>{t.input.lastFocus=Date.now();if(!t.focused){t.domObserver.stop();t.dom.classList.add("ProseMirror-focused");t.domObserver.start();t.focused=true;setTimeout((()=>{if(t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange()))rl(t)}),20)}};Gl.blur=(t,e)=>{let i=e;if(t.focused){t.domObserver.stop();t.dom.classList.remove("ProseMirror-focused");t.domObserver.start();if(i.relatedTarget&&t.dom.contains(i.relatedTarget))t.domObserver.currentSelection.clear();t.focused=false}};Gl.beforeinput=(t,e)=>{let i=e;if(Nn&&Ln&&i.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;t.dom.blur();t.focus();if(t.someProp("handleKeyDown",(e=>e(t,En(8,"Backspace")))))return;let{$cursor:i}=t.state.selection;if(i&&i.pos>0)t.dispatch(t.state.tr.delete(i.pos-1,i.pos).scrollIntoView())}),50)}};for(let t in Xl)Gl[t]=Xl[t];function ju(t,e){if(t==e)return true;for(let i in t)if(t[i]!==e[i])return false;for(let i in e)if(!(i in t))return false;return true}class qu{constructor(t,e){this.toDOM=t;this.spec=e||Iu;this.side=this.spec.side||0}map(t,e,i,r){let{pos:n,deleted:s}=t.mapResult(e.from+r,this.side<0?-1:1);return s?null:new zu(n-i,n-i,this)}valid(){return true}eq(t){return this==t||t instanceof qu&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&ju(this.spec,t.spec))}destroy(t){if(this.spec.destroy)this.spec.destroy(t)}}class Ru{constructor(t,e){this.attrs=t;this.spec=e||Iu}map(t,e,i,r){let n=t.map(e.from+r,this.spec.inclusiveStart?-1:1)-i;let s=t.map(e.to+r,this.spec.inclusiveEnd?1:-1)-i;return n>=s?null:new zu(n,s,this)}valid(t,e){return e.from<e.to}eq(t){return this==t||t instanceof Ru&&ju(this.attrs,t.attrs)&&ju(this.spec,t.spec)}static is(t){return t.type instanceof Ru}destroy(){}}class Nu{constructor(t,e){this.attrs=t;this.spec=e||Iu}map(t,e,i,r){let n=t.mapResult(e.from+r,1);if(n.deleted)return null;let s=t.mapResult(e.to+r,-1);if(s.deleted||s.pos<=n.pos)return null;return new zu(n.pos-i,s.pos-i,this)}valid(t,e){let{index:i,offset:r}=t.content.findIndex(e.from),n;return r==e.from&&!(n=t.child(i)).isText&&r+n.nodeSize==e.to}eq(t){return this==t||t instanceof Nu&&ju(this.attrs,t.attrs)&&ju(this.spec,t.spec)}destroy(){}}class zu{constructor(t,e,i){this.from=t;this.to=e;this.type=i}copy(t,e){return new zu(t,e,this.type)}eq(t,e=0){return this.type.eq(t.type)&&this.from+e==t.from&&this.to+e==t.to}map(t,e,i){return this.type.map(t,this,e,i)}static widget(t,e,i){return new zu(t,t,new qu(e,i))}static inline(t,e,i,r){return new zu(t,e,new Ru(i,r))}static node(t,e,i,r){return new zu(t,e,new Nu(i,r))}get spec(){return this.type.spec}get inline(){return this.type instanceof Ru}get widget(){return this.type instanceof qu}}const Tu=[],Iu={};class Pu{constructor(t,e){this.local=t.length?t:Tu;this.children=e.length?e:Tu}static create(t,e){return e.length?Vu(e,t,0,Iu):Ju}find(t,e,i){let r=[];this.findInner(t==null?0:t,e==null?1e9:e,r,0,i);return r}findInner(t,e,i,r,n){for(let s=0;s<this.local.length;s++){let l=this.local[s];if(l.from<=e&&l.to>=t&&(!n||n(l.spec)))i.push(l.copy(l.from+r,l.to+r))}for(let s=0;s<this.children.length;s+=3){if(this.children[s]<e&&this.children[s+1]>t){let l=this.children[s]+1;this.children[s+2].findInner(t-l,e-l,i,r+l,n)}}}map(t,e,i){if(this==Ju||t.maps.length==0)return this;return this.mapInner(t,e,0,0,i||Iu)}mapInner(t,e,i,r,n){let s;for(let l=0;l<this.local.length;l++){let u=this.local[l].map(t,i,r);if(u&&u.type.valid(e,u))(s||(s=[])).push(u);else if(n.onRemove)n.onRemove(this.local[l].spec)}if(this.children.length)return Uu(this.children,s||[],t,e,i,r,n);else return s?new Pu(s.sort(Gu),Tu):Ju}add(t,e){if(!e.length)return this;if(this==Ju)return Pu.create(t,e);return this.addInner(t,e,0)}addInner(t,e,i){let r,n=0;t.forEach(((t,s)=>{let l=s+i,u;if(!(u=Zu(e,t,l)))return;if(!r)r=this.children.slice();while(n<r.length&&r[n]<s)n+=3;if(r[n]==s)r[n+2]=r[n+2].addInner(t,u,l+1);else r.splice(n,0,s,s+t.nodeSize,Vu(u,t,l+1,Iu));n+=3}));let s=Wu(n?Ku(e):e,-i);for(let e=0;e<s.length;e++)if(!s[e].type.valid(t,s[e]))s.splice(e--,1);return new Pu(s.length?this.local.concat(s).sort(Gu):this.local,r||this.children)}remove(t){if(t.length==0||this==Ju)return this;return this.removeInner(t,0)}removeInner(t,e){let i=this.children,r=this.local;for(let r=0;r<i.length;r+=3){let n;let s=i[r]+e,l=i[r+1]+e;for(let e=0,i;e<t.length;e++)if(i=t[e]){if(i.from>s&&i.to<l){t[e]=null;(n||(n=[])).push(i)}}if(!n)continue;if(i==this.children)i=this.children.slice();let u=i[r+2].removeInner(n,s+1);if(u!=Ju){i[r+2]=u}else{i.splice(r,3);r-=3}}if(r.length)for(let i=0,n;i<t.length;i++)if(n=t[i]){for(let t=0;t<r.length;t++)if(r[t].eq(n,e)){if(r==this.local)r=this.local.slice();r.splice(t--,1)}}if(i==this.children&&r==this.local)return this;return r.length||i.length?new Pu(r,i):Ju}forChild(t,e){if(this==Ju)return this;if(e.isLeaf)return Pu.empty;let i,r;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){if(this.children[e]==t)i=this.children[e+2];break}let n=t+1,s=n+e.content.size;for(let t=0;t<this.local.length;t++){let e=this.local[t];if(e.from<s&&e.to>n&&e.type instanceof Ru){let t=Math.max(n,e.from)-n,i=Math.min(s,e.to)-n;if(t<i)(r||(r=[])).push(e.copy(t,i))}}if(r){let t=new Pu(r.sort(Gu),Tu);return i?new Lu([t,i]):t}return i||Ju}eq(t){if(this==t)return true;if(!(t instanceof Pu)||this.local.length!=t.local.length||this.children.length!=t.children.length)return false;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return false;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return false;return true}locals(t){return Xu(this.localsInner(t))}localsInner(t){if(this==Ju)return Tu;if(t.inlineContent||!this.local.some(Ru.is))return this.local;let e=[];for(let t=0;t<this.local.length;t++){if(!(this.local[t].type instanceof Ru))e.push(this.local[t])}return e}}Pu.empty=new Pu([],[]);Pu.removeOverlap=Xu;const Ju=Pu.empty;class Lu{constructor(t){this.members=t}map(t,e){const i=this.members.map((i=>i.map(t,e,Iu)));return Lu.from(i)}forChild(t,e){if(e.isLeaf)return Pu.empty;let i=[];for(let r=0;r<this.members.length;r++){let n=this.members[r].forChild(t,e);if(n==Ju)continue;if(n instanceof Lu)i=i.concat(n.members);else i.push(n)}return Lu.from(i)}eq(t){if(!(t instanceof Lu)||t.members.length!=this.members.length)return false;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return false;return true}locals(t){let e,i=true;for(let r=0;r<this.members.length;r++){let n=this.members[r].localsInner(t);if(!n.length)continue;if(!e){e=n}else{if(i){e=e.slice();i=false}for(let t=0;t<n.length;t++)e.push(n[t])}}return e?Xu(i?e:e.sort(Gu)):Tu}static from(t){switch(t.length){case 0:return Ju;case 1:return t[0];default:return new Lu(t.every((t=>t instanceof Pu))?t:t.reduce(((t,e)=>t.concat(e instanceof Pu?e:e.members)),[]))}}}function Uu(t,e,i,r,n,s,l){let u=t.slice();for(let t=0,e=s;t<i.maps.length;t++){let r=0;i.maps[t].forEach(((t,i,n,s)=>{let l=s-n-(i-t);for(let n=0;n<u.length;n+=3){let s=u[n+1];if(s<0||t>s+e-r)continue;let o=u[n]+e-r;if(i>=o){u[n+1]=t<=o?-2:-1}else if(t>=e&&l){u[n]+=l;u[n+1]+=l}}r+=l}));e=i.maps[t].map(e,-1)}let o=false;for(let e=0;e<u.length;e+=3)if(u[e+1]<0){if(u[e+1]==-2){o=true;u[e+1]=-1;continue}let f=i.map(t[e]+s),h=f-n;if(h<0||h>=r.content.size){o=true;continue}let a=i.map(t[e+1]+s,-1),c=a-n;let{index:d,offset:p}=r.content.findIndex(h);let m=r.maybeChild(d);if(m&&p==h&&p+m.nodeSize==c){let r=u[e+2].mapInner(i,m,f+1,t[e]+s+1,l);if(r!=Ju){u[e]=h;u[e+1]=c;u[e+2]=r}else{u[e+1]=-2;o=true}}else{o=true}}if(o){let o=Hu(u,t,e,i,n,s,l);let f=Vu(o,r,0,l);e=f.local;for(let t=0;t<u.length;t+=3)if(u[t+1]<0){u.splice(t,3);t-=3}for(let t=0,e=0;t<f.children.length;t+=3){let i=f.children[t];while(e<u.length&&u[e]<i)e+=3;u.splice(e,0,f.children[t],f.children[t+1],f.children[t+2])}}return new Pu(e.sort(Gu),u)}function Wu(t,e){if(!e||!t.length)return t;let i=[];for(let r=0;r<t.length;r++){let n=t[r];i.push(new zu(n.from+e,n.to+e,n.type))}return i}function Hu(t,e,i,r,n,s,l){function u(t,e){for(let s=0;s<t.local.length;s++){let u=t.local[s].map(r,n,e);if(u)i.push(u);else if(l.onRemove)l.onRemove(t.local[s].spec)}for(let i=0;i<t.children.length;i+=3)u(t.children[i+2],t.children[i]+e+1)}for(let i=0;i<t.length;i+=3)if(t[i+1]==-1)u(t[i+2],e[i]+s+1);return i}function Zu(t,e,i){if(e.isLeaf)return null;let r=i+e.nodeSize,n=null;for(let e=0,s;e<t.length;e++){if((s=t[e])&&s.from>i&&s.to<r){(n||(n=[])).push(s);t[e]=null}}return n}function Ku(t){let e=[];for(let i=0;i<t.length;i++)if(t[i]!=null)e.push(t[i]);return e}function Vu(t,e,i,r){let n=[],s=false;e.forEach(((e,l)=>{let u=Zu(t,e,l+i);if(u){s=true;let t=Vu(u,e,i+l+1,r);if(t!=Ju)n.push(l,l+e.nodeSize,t)}}));let l=Wu(s?Ku(t):t,-i).sort(Gu);for(let t=0;t<l.length;t++)if(!l[t].type.valid(e,l[t])){if(r.onRemove)r.onRemove(l[t].spec);l.splice(t--,1)}return l.length||n.length?new Pu(l,n):Ju}function Gu(t,e){return t.from-e.from||t.to-e.to}function Xu(t){let e=t;for(let i=0;i<e.length-1;i++){let r=e[i];if(r.from!=r.to)for(let n=i+1;n<e.length;n++){let s=e[n];if(s.from==r.from){if(s.to!=r.to){if(e==t)e=t.slice();e[n]=s.copy(s.from,r.to);Yu(e,n+1,s.copy(r.to,s.to))}continue}else{if(s.from<r.to){if(e==t)e=t.slice();e[i]=r.copy(r.from,s.from);Yu(e,n,r.copy(s.from,r.to))}break}}}return e}function Yu(t,e,i){while(e<t.length&&Gu(i,t[e])>0)e++;t.splice(e,0,i)}function Qu(t){let e=[];t.someProp("decorations",(i=>{let r=i(t.state);if(r&&r!=Ju)e.push(r)}));if(t.cursorWrapper)e.push(Pu.create(t.state.doc,[t.cursorWrapper.deco]));return Lu.from(e)}const to={childList:true,characterData:true,characterDataOldValue:true,attributes:true,attributeOldValue:true,subtree:true};const eo=Bn&&jn<=11;class io{constructor(){this.anchorNode=null;this.anchorOffset=0;this.focusNode=null;this.focusOffset=0}set(t){this.anchorNode=t.anchorNode;this.anchorOffset=t.anchorOffset;this.focusNode=t.focusNode;this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class ro{constructor(t,e){this.view=t;this.handleDOMChange=e;this.queue=[];this.flushingSoon=-1;this.observer=null;this.currentSelection=new io;this.onCharData=null;this.suppressingSelectionUpdates=false;this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e<t.length;e++)this.queue.push(t[e]);if(Bn&&jn<=11&&t.some((t=>t.type=="childList"&&t.removedNodes.length||t.type=="characterData"&&t.oldValue.length>t.target.nodeValue.length)))this.flushSoon();else this.flush()}));if(eo){this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue});this.flushSoon()}}this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){if(this.flushingSoon<0)this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1;this.flush()}),20)}forceFlush(){if(this.flushingSoon>-1){window.clearTimeout(this.flushingSoon);this.flushingSoon=-1;this.flush()}}start(){if(this.observer){this.observer.takeRecords();this.observer.observe(this.view.dom,to)}if(this.onCharData)this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;e<t.length;e++)this.queue.push(t[e]);window.setTimeout((()=>this.flush()),20)}this.observer.disconnect()}if(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=true;setTimeout((()=>this.suppressingSelectionUpdates=false),50)}onSelectionChange(){if(!dl(this.view))return;if(this.suppressingSelectionUpdates)return rl(this.view);if(Bn&&jn<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&gn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return true;let e=new Set,i;for(let i=t.focusNode;i;i=pn(i))e.add(i);for(let r=t.anchorNode;r;r=pn(r))if(e.has(r)){i=r;break}let r=i&&this.view.docView.nearestDesc(i);if(r&&r.ignoreMutation({type:"selection",target:i.nodeType==3?i.parentNode:i})){this.setCurSelection();return true}}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();if(e.length)this.queue=[];let i=t.domSelectionRange();let r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(i)&&dl(t)&&!this.ignoreSelectionChange(i);let n=-1,s=-1,l=false,u=[];if(t.editable){for(let t=0;t<e.length;t++){let i=this.registerMutation(e[t],u);if(i){n=n<0?i.from:Math.min(i.from,n);s=s<0?i.to:Math.max(i.to,s);if(i.typeOver)l=true}}}if(qn&&u.length>1){let t=u.filter((t=>t.nodeName=="BR"));if(t.length==2){let e=t[0],i=t[1];if(e.parentNode&&e.parentNode.parentNode==i.parentNode)i.remove();else e.remove()}}let o=null;if(n<0&&r&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)<Date.now()-300&&Fn(i)&&(o=el(t))&&o.eq(Ir.near(t.state.doc.resolve(0),1))){t.input.lastFocus=0;rl(t);this.currentSelection.set(i);t.scrollToSelection()}else if(n>-1||r){if(n>-1){t.docView.markDirty(n,s);lo(t)}this.handleDOMChange(n,s,l,u);if(t.docView&&t.docView.dirty)t.updateState(t.state);else if(!this.currentSelection.eq(i))rl(t);this.currentSelection.set(i)}}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let i=this.view.docView.nearestDesc(t.target);if(t.type=="attributes"&&(i==this.view.docView||t.attributeName=="contenteditable"||t.attributeName=="style"&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!i||i.ignoreMutation(t))return null;if(t.type=="childList"){for(let i=0;i<t.addedNodes.length;i++)e.push(t.addedNodes[i]);if(i.contentDOM&&i.contentDOM!=i.dom&&!i.contentDOM.contains(t.target))return{from:i.posBefore,to:i.posAfter};let r=t.previousSibling,n=t.nextSibling;if(Bn&&jn<=11&&t.addedNodes.length){for(let e=0;e<t.addedNodes.length;e++){let{previousSibling:i,nextSibling:s}=t.addedNodes[e];if(!i||Array.prototype.indexOf.call(t.addedNodes,i)<0)r=i;if(!s||Array.prototype.indexOf.call(t.addedNodes,s)<0)n=s}}let s=r&&r.parentNode==t.target?dn(r)+1:0;let l=i.localPosFromDOM(t.target,s,-1);let u=n&&n.parentNode==t.target?dn(n):t.target.childNodes.length;let o=i.localPosFromDOM(t.target,u,1);return{from:l,to:o}}else if(t.type=="attributes"){return{from:i.posAtStart-i.border,to:i.posAtEnd+i.border}}else{return{from:i.posAtStart,to:i.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}}}}let no=new WeakMap;let so=false;function lo(t){if(no.has(t))return;no.set(t,null);if(["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1){t.requiresGeckoHackNode=qn;if(so)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.");so=true}}function uo(t){let e;function i(t){t.preventDefault();t.stopImmediatePropagation();e=t.getTargetRanges()[0]}t.dom.addEventListener("beforeinput",i,true);document.execCommand("indent");t.dom.removeEventListener("beforeinput",i,true);let r=e.startContainer,n=e.startOffset;let s=e.endContainer,l=e.endOffset;let u=t.domAtPos(t.state.selection.anchor);if(gn(u.node,u.offset,s,l))[r,n,s,l]=[s,l,r,n];return{anchorNode:r,anchorOffset:n,focusNode:s,focusOffset:l}}function oo(t,e,i){let{node:r,fromOffset:n,toOffset:s,from:l,to:u}=t.docView.parseRange(e,i);let o=t.domSelectionRange();let f;let h=o.anchorNode;if(h&&t.dom.contains(h.nodeType==1?h:h.parentNode)){f=[{node:h,offset:o.anchorOffset}];if(!Fn(o))f.push({node:o.focusNode,offset:o.focusOffset})}if(Nn&&t.input.lastKeyCode===8){for(let t=s;t>n;t--){let e=r.childNodes[t-1],i=e.pmViewDesc;if(e.nodeName=="BR"&&!i){s=t;break}if(!i||i.size)break}}let a=t.state.doc;let c=t.someProp("domParser")||hi.fromSchema(t.state.schema);let d=a.resolve(l);let p=null,m=c.parse(r,{topNode:d.parent,topMatch:d.parent.contentMatchAt(d.index()),topOpen:true,from:n,to:s,preserveWhitespace:d.parent.type.whitespace=="pre"?"full":true,findPositions:f,ruleFromNode:fo,context:d});if(f&&f[0].pos!=null){let t=f[0].pos,e=f[1]&&f[1].pos;if(e==null)e=t;p={anchor:t+l,head:e+l}}return{doc:m,sel:p,from:l,to:u}}function fo(t){let e=t.pmViewDesc;if(e){return e.parseRule()}else if(t.nodeName=="BR"&&t.parentNode){if(Tn&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let t=document.createElement("div");t.appendChild(document.createElement("li"));return{skip:t}}else if(t.parentNode.lastChild==t||Tn&&/^(tr|table)$/i.test(t.parentNode.nodeName)){return{ignore:true}}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder")){return{ignore:true}}return null}const ho=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function ao(t,e,i,r,n){let s=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);t.input.compositionPendingChanges=0;if(e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null;let i=el(t,e);if(i&&!t.state.selection.eq(i)){if(Nn&&Ln&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter")))))return;let r=t.state.tr.setSelection(i);if(e=="pointer")r.setMeta("pointer",true);else if(e=="key")r.scrollIntoView();if(s)r.setMeta("composition",s);t.dispatch(r)}return}let l=t.state.doc.resolve(e);let u=l.sharedDepth(i);e=l.before(u+1);i=t.state.doc.resolve(i).after(u+1);let o=t.state.selection;let f=oo(t,e,i);let h=t.state.doc,a=h.slice(f.from,f.to);let c,d;if(t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime){c=t.state.selection.to;d="end"}else{c=t.state.selection.from;d="start"}t.input.lastKeyCode=null;let p=go(a.content,f.doc.content,f.from,c,d);if((In&&t.input.lastIOSEnter>Date.now()-225||Ln)&&n.some((t=>t.nodeType==1&&!ho.test(t.nodeName)))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(!p){if(r&&o instanceof Ur&&!o.empty&&o.$head.sameParent(o.$anchor)&&!t.composing&&!(f.sel&&f.sel.anchor!=f.sel.head)){p={start:o.from,endA:o.to,endB:o.to}}else{if(f.sel){let e=co(t,t.state.doc,f.sel);if(e&&!e.eq(t.state.selection)){let i=t.state.tr.setSelection(e);if(s)i.setMeta("composition",s);t.dispatch(i)}}return}}if(Nn&&t.cursorWrapper&&f.sel&&f.sel.anchor==t.cursorWrapper.deco.from&&f.sel.head==f.sel.anchor){let t=p.endB-p.start;f.sel={anchor:f.sel.anchor+t,head:f.sel.anchor+t}}t.input.domChangeCount++;if(t.state.selection.from<t.state.selection.to&&p.start==p.endB&&t.state.selection instanceof Ur){if(p.start>t.state.selection.from&&p.start<=t.state.selection.from+2&&t.state.selection.from>=f.from){p.start=t.state.selection.from}else if(p.endA<t.state.selection.to&&p.endA>=t.state.selection.to-2&&t.state.selection.to<=f.to){p.endB+=t.state.selection.to-p.endA;p.endA=t.state.selection.to}}if(Bn&&jn<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>f.from&&f.doc.textBetween(p.start-f.from-1,p.start-f.from+1)==" "){p.start--;p.endA--;p.endB--}let m=f.doc.resolveNoCache(p.start-f.from);let w=f.doc.resolveNoCache(p.endB-f.from);let g=h.resolve(p.start);let b=m.sameParent(w)&&m.parent.inlineContent&&g.end()>=p.endA;let k;if((In&&t.input.lastIOSEnter>Date.now()-225&&(!b||n.some((t=>t.nodeName=="DIV"||t.nodeName=="P")))||!b&&m.pos<f.doc.content.size&&!m.sameParent(w)&&(k=Ir.findFrom(f.doc.resolve(m.pos+1),1,true))&&k.head==w.pos)&&t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&mo(h,p.start,p.endA,m,w)&&t.someProp("handleKeyDown",(e=>e(t,En(8,"Backspace"))))){if(Ln&&Nn)t.domObserver.suppressSelectionUpdates();return}if(Nn&&Ln&&p.endB==p.start)t.input.lastAndroidDelete=Date.now();if(Ln&&!b&&m.start()!=w.start()&&w.parentOffset==0&&m.depth==w.depth&&f.sel&&f.sel.anchor==f.sel.head&&f.sel.head==p.endA){p.endB-=2;w=f.doc.resolveNoCache(p.endB-f.from);setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,En(13,"Enter"))}))}),20)}let D=p.start,v=p.endA;let y,F,E;if(b){if(m.pos==w.pos){if(Bn&&jn<=11&&m.parentOffset==0){t.domObserver.suppressSelectionUpdates();setTimeout((()=>rl(t)),20)}y=t.state.tr.delete(D,v);F=h.resolve(p.start).marksAcross(h.resolve(p.endA))}else if(p.endA==p.endB&&(E=po(m.parent.content.cut(m.parentOffset,w.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){y=t.state.tr;if(E.type=="add")y.addMark(D,v,E.mark);else y.removeMark(D,v,E.mark)}else if(m.parent.child(m.index()).isText&&m.index()==w.index()-(w.textOffset?0:1)){let e=m.parent.textBetween(m.parentOffset,w.parentOffset);if(t.someProp("handleTextInput",(i=>i(t,D,v,e))))return;y=t.state.tr.insertText(e,D,v)}}if(!y)y=t.state.tr.replace(D,v,f.doc.slice(p.start-f.from,p.endB-f.from));if(f.sel){let e=co(t,y.doc,f.sel);if(e&&!(Nn&&Ln&&t.composing&&e.empty&&(p.start!=p.endB||t.input.lastAndroidDelete<Date.now()-100)&&(e.head==D||e.head==y.mapping.map(v)-1)||Bn&&e.empty&&e.head==D))y.setSelection(e)}if(F)y.ensureMarks(F);if(s)y.setMeta("composition",s);t.dispatch(y.scrollIntoView())}function co(t,e,i){if(Math.max(i.anchor,i.head)>e.content.size)return null;return cl(t,e.resolve(i.anchor),e.resolve(i.head))}function po(t,e){let i=t.firstChild.marks,r=e.firstChild.marks;let n=i,s=r,l,u,o;for(let t=0;t<r.length;t++)n=r[t].removeFromSet(n);for(let t=0;t<i.length;t++)s=i[t].removeFromSet(s);if(n.length==1&&s.length==0){u=n[0];l="add";o=t=>t.mark(u.addToSet(t.marks))}else if(n.length==0&&s.length==1){u=s[0];l="remove";o=t=>t.mark(u.removeFromSet(t.marks))}else{return null}let f=[];for(let t=0;t<e.childCount;t++)f.push(o(e.child(t)));if(pe.from(f).eq(t))return{mark:u,type:l}}function mo(t,e,i,r,n){if(!r.parent.isTextblock||i-e<=n.pos-r.pos||wo(r,true,false)<n.pos)return false;let s=t.resolve(e);if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return false;let l=t.resolve(wo(s,true,true));if(!l.parent.isTextblock||l.pos>i||wo(l,true,false)<i)return false;return r.parent.content.cut(r.parentOffset).eq(l.parent.content)}function wo(t,e,i){let r=t.depth,n=e?t.end():t.pos;while(r>0&&(e||t.indexAfter(r)==t.node(r).childCount)){r--;n++;e=false}if(i){let e=t.node(r).maybeChild(t.indexAfter(r));while(e&&!e.isLeaf){e=e.firstChild;n++}}return n}function go(t,e,i,r,n){let s=t.findDiffStart(e,i);if(s==null)return null;let{a:l,b:u}=t.findDiffEnd(e,i+t.size,i+e.size);if(n=="end"){let t=Math.max(0,s-Math.min(l,u));r-=l+t-s}if(l<s&&t.size<e.size){let t=r<=s&&r>=l?s-r:0;s-=t;if(s&&s<e.size&&bo(e.textBetween(s-1,s+1)))s+=t?1:-1;u=s+(u-l);l=s}else if(u<s){let e=r<=s&&r>=u?s-r:0;s-=e;if(s&&s<t.size&&bo(t.textBetween(s-1,s+1)))s+=e?1:-1;l=s+(l-u);u=s}return{start:s,endA:l,endB:u}}function bo(t){if(t.length!=2)return false;let e=t.charCodeAt(0),i=t.charCodeAt(1);return e>=56320&&e<=57343&&i>=55296&&i<=56319}class ko{constructor(t,e){this._root=null;this.focused=false;this.trackWrites=null;this.mounted=false;this.markCursor=null;this.cursorWrapper=null;this.lastSelectedViewDesc=undefined;this.input=new Ql;this.prevDirectPlugins=[];this.pluginViews=[];this.requiresGeckoHackNode=false;this.dragging=null;this._props=e;this.state=e.state;this.directPlugins=e.plugins||[];this.directPlugins.forEach(Mo);this.dispatch=this.dispatch.bind(this);this.dom=t&&t.mount||document.createElement("div");if(t){if(t.appendChild)t.appendChild(this.dom);else if(typeof t=="function")t(this.dom);else if(t.mount)this.mounted=true}this.editable=yo(this);vo(this);this.nodeViews=Eo(this);this.docView=js(this.state.doc,Do(this),Qu(this),this.dom,this);this.domObserver=new ro(this,((t,e,i,r)=>ao(this,t,e,i,r)));this.domObserver.start();tu(this);this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){if(t.handleDOMEvents!=this._props.handleDOMEvents)ru(this);let e=this._props;this._props=t;if(t.plugins){t.plugins.forEach(Mo);this.directPlugins=t.plugins}this.updateStateInner(t.state,e)}setProps(t){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let i in t)e[i]=t[i];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var i;let r=this.state,n=false,s=false;if(t.storedMarks&&this.composing){Fu(this);s=true}this.state=t;let l=r.plugins!=t.plugins||this._props.plugins!=e.plugins;if(l||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=Eo(this);if(xo(t,this.nodeViews)){this.nodeViews=t;n=true}}if(l||e.handleDOMEvents!=this._props.handleDOMEvents){ru(this)}this.editable=yo(this);vo(this);let u=Qu(this),o=Do(this);let f=r.plugins!=t.plugins&&!r.doc.eq(t.doc)?"reset":t.scrollToSelection>r.scrollToSelection?"to selection":"preserve";let h=n||!this.docView.matchesNode(t.doc,o,u);if(h||!t.selection.eq(r.selection))s=true;let a=f=="preserve"&&s&&this.dom.style.overflowAnchor==null&&Gn(this);if(s){this.domObserver.stop();let e=h&&(Bn||Nn)&&!this.composing&&!r.selection.empty&&!t.selection.empty&&Fo(r.selection,t.selection);if(h){let i=Nn?this.trackWrites=this.domSelectionRange().focusNode:null;if(n||!this.docView.update(t.doc,o,u,this)){this.docView.updateOuterDeco([]);this.docView.destroy();this.docView=js(t.doc,o,u,this.dom,this)}if(i&&!this.trackWrites)e=true}if(e||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&ml(this))){rl(this,e)}else{hl(this,t.selection);this.domObserver.setCurSelection()}this.domObserver.start()}this.updatePluginViews(r);if(((i=this.dragging)===null||i===void 0?void 0:i.node)&&!r.doc.eq(t.doc))this.updateDraggedNode(this.dragging,r);if(f=="reset"){this.dom.scrollTop=0}else if(f=="to selection"){this.scrollToSelection()}else if(a){Yn(a)}}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(this.someProp("handleScrollToSelection",(t=>t(this))));else if(this.state.selection instanceof Hr){let e=this.docView.domAfterPos(this.state.selection.from);if(e.nodeType==1)Vn(this,e.getBoundingClientRect(),t)}else{Vn(this,this.coordsAtPos(this.state.selection.head,1),t)}}destroyPluginViews(){let t;while(t=this.pluginViews.pop())if(t.destroy)t.destroy()}updatePluginViews(t){if(!t||t.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins;this.destroyPluginViews();for(let t=0;t<this.directPlugins.length;t++){let e=this.directPlugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}for(let t=0;t<this.state.plugins.length;t++){let e=this.state.plugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}}else{for(let e=0;e<this.pluginViews.length;e++){let i=this.pluginViews[e];if(i.update)i.update(this,t)}}}updateDraggedNode(t,e){let i=t.node,r=-1;if(this.state.doc.nodeAt(i.from)==i.node){r=i.from}else{let t=i.from+(this.state.doc.content.size-e.doc.content.size);let n=t>0&&this.state.doc.nodeAt(t);if(n==i.node)r=t}this.dragging=new _u(t.slice,t.move,r<0?undefined:Hr.create(this.state.doc,r))}someProp(t,e){let i=this._props&&this._props[t],r;if(i!=null&&(r=e?e(i):i))return r;for(let i=0;i<this.directPlugins.length;i++){let n=this.directPlugins[i].props[t];if(n!=null&&(r=e?e(n):n))return r}let n=this.state.plugins;if(n)for(let i=0;i<n.length;i++){let s=n[i].props[t];if(s!=null&&(r=e?e(s):s))return r}}hasFocus(){if(Bn){let t=this.root.activeElement;if(t==this.dom)return true;if(!t||!this.dom.contains(t))return false;while(t&&this.dom!=t&&this.dom.contains(t)){if(t.contentEditable=="false")return false;t=t.parentElement}return true}return this.root.activeElement==this.dom}focus(){this.domObserver.stop();if(this.editable)es(this.dom);rl(this);this.domObserver.start()}get root(){let t=this._root;if(t==null)for(let t=this.dom.parentNode;t;t=t.parentNode){if(t.nodeType==9||t.nodeType==11&&t.host){if(!t.getSelection)Object.getPrototypeOf(t).getSelection=()=>t.ownerDocument.getSelection();return this._root=t}}return t||document}updateRoot(){this._root=null}posAtCoords(t){return hs(this,t)}coordsAtPos(t,e=1){return ps(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,i=-1){let r=this.docView.posFromDOM(t,e,i);if(r==null)throw new RangeError("DOM position not inside the editor");return r}endOfTextblock(t,e){return Es(this,e||this.state,t)}pasteHTML(t,e){return Ou(this,"",t,false,e||new ClipboardEvent("paste"))}pasteText(t,e){return Ou(this,t,null,true,e||new ClipboardEvent("paste"))}destroy(){if(!this.docView)return;iu(this);this.destroyPluginViews();if(this.mounted){this.docView.update(this.state.doc,[],Qu(this),this);this.dom.textContent=""}else if(this.dom.parentNode){this.dom.parentNode.removeChild(this.dom)}this.docView.destroy();this.docView=null}get isDestroyed(){return this.docView==null}dispatchEvent(t){return lu(this,t)}dispatch(t){let e=this._props.dispatchTransaction;if(e)e.call(this,t);else this.updateState(this.state.apply(t))}domSelectionRange(){return Tn&&this.root.nodeType===11&&xn(this.dom.ownerDocument)==this.dom?uo(this):this.domSelection()}domSelection(){return this.root.getSelection()}}function Do(t){let e=Object.create(null);e.class="ProseMirror";e.contenteditable=String(t.editable);t.someProp("attributes",(i=>{if(typeof i=="function")i=i(t.state);if(i)for(let t in i){if(t=="class")e.class+=" "+i[t];else if(t=="style")e.style=(e.style?e.style+";":"")+i[t];else if(!e[t]&&t!="contenteditable"&&t!="nodeName")e[t]=String(i[t])}}));if(!e.translate)e.translate="no";return[zu.node(0,t.state.doc.content.size,e)]}function vo(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator";e.setAttribute("mark-placeholder","true");e.setAttribute("alt","");t.cursorWrapper={dom:e,deco:zu.widget(t.state.selection.head,e,{raw:true,marks:t.markCursor})}}else{t.cursorWrapper=null}}function yo(t){return!t.someProp("editable",(e=>e(t.state)===false))}function Fo(t,e){let i=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(i)!=e.$anchor.start(i)}function Eo(t){let e=Object.create(null);function i(t){for(let i in t)if(!Object.prototype.hasOwnProperty.call(e,i))e[i]=t[i]}t.someProp("nodeViews",i);t.someProp("markViews",i);return e}function xo(t,e){let i=0,r=0;for(let r in t){if(t[r]!=e[r])return true;i++}for(let t in e)r++;return i!=r}function Mo(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}const Ao=["p",0],Co=["blockquote",0],So=["hr"],Oo=["pre",["code",0]],$o=["br"];const _o={doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return Ao}},blockquote:{content:"block+",group:"block",defining:true,parseDOM:[{tag:"blockquote"}],toDOM(){return Co}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return So}},heading:{attrs:{level:{default:1}},content:"inline*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",marks:"",group:"block",code:true,defining:true,parseDOM:[{tag:"pre",preserveWhitespace:"full"}],toDOM(){return Oo}},text:{group:"inline"},image:{inline:true,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){let{src:e,alt:i,title:r}=t.attrs;return["img",{src:e,alt:i,title:r}]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return $o}}};const Bo=["em",0],jo=["strong",0],qo=["code",0];const Ro={link:{attrs:{href:{},title:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){let{href:e,title:i}=t.attrs;return["a",{href:e,title:i},0]}},em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return Bo}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return jo}},code:{parseDOM:[{tag:"code"}],toDOM(){return qo}}};const No=new oi({nodes:_o,marks:Ro});const zo=["ol",0],To=["ul",0],Io=["li",0];const Po={attrs:{order:{default:1}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1}}}],toDOM(t){return t.attrs.order==1?zo:["ol",{start:t.attrs.order},0]}};const Jo={parseDOM:[{tag:"ul"}],toDOM(){return To}};const Lo={parseDOM:[{tag:"li"}],toDOM(){return Io},defining:true};function Uo(t,e){let i={};for(let e in t)i[e]=t[e];for(let t in e)i[t]=e[t];return i}function Wo(t,e,i){return t.append({ordered_list:Uo(Po,{content:"list_item+",group:i}),bullet_list:Uo(Jo,{content:"list_item+",group:i}),list_item:Uo(Lo,{content:e})})}function Ho(t,e=null){return function(i,r){let{$from:n,$to:s}=i.selection;let l=n.blockRange(s),u=false,o=l;if(!l)return false;if(l.depth>=2&&n.node(l.depth-1).type.compatibleContent(t)&&l.startIndex==0){if(n.index(l.depth-1)==0)return false;let t=i.doc.resolve(l.start-2);o=new Ne(t,t,l.depth);if(l.endIndex<l.parent.childCount)l=new Ne(n,i.doc.resolve(s.end(l.depth)),l.depth);u=true}let f=nr(o,t,e,l);if(!f)return false;if(r)r(Zo(i.tr,l,f,u,t).scrollIntoView());return true}}function Zo(t,e,i,r,n){let s=pe.empty;for(let t=i.length-1;t>=0;t--)s=pe.from(i[t].type.create(i[t].attrs,s));t.step(new Gi(e.start-(r?2:0),e.end,e.start,e.end,new De(s,0,0),i.length,true));let l=0;for(let t=0;t<i.length;t++)if(i[t].type==n)l=t+1;let u=i.length-l;let o=e.start+i.length-(r?2:0),f=e.parent;for(let i=e.startIndex,r=e.endIndex,n=true;i<r;i++,n=false){if(!n&&cr(t.doc,o,u)){t.split(o,u);o+=2*u}o+=f.child(i).nodeSize}return t}function Ko(t,e){return function(i,r){let{$from:n,$to:s,node:l}=i.selection;if(l&&l.isBlock||n.depth<2||!n.sameParent(s))return false;let u=n.node(-1);if(u.type!=t)return false;if(n.parent.content.size==0&&n.node(-1).childCount==n.indexAfter(-1)){if(n.depth==3||n.node(-3).type!=t||n.index(-2)!=n.node(-2).childCount-1)return false;if(r){let e=pe.empty;let s=n.index(-1)?1:n.index(-2)?2:3;for(let t=n.depth-s;t>=n.depth-3;t--)e=pe.from(n.node(t).copy(e));let l=n.indexAfter(-1)<n.node(-2).childCount?1:n.indexAfter(-2)<n.node(-3).childCount?2:3;e=e.append(pe.from(t.createAndFill()));let u=n.before(n.depth-(s-1));let o=i.tr.replace(u,n.after(-l),new De(e,4-s,0));let f=-1;o.doc.nodesBetween(u,o.doc.content.size,((t,e)=>{if(f>-1)return false;if(t.isTextblock&&t.content.size==0)f=e+1}));if(f>-1)o.setSelection(Ir.near(o.doc.resolve(f)));r(o.scrollIntoView())}return true}let o=s.pos==n.end()?u.contentMatchAt(0).defaultType:null;let f=i.tr.delete(n.pos,s.pos);let h=o?[e?{type:t,attrs:e}:null,{type:o}]:undefined;if(!cr(f.doc,n.pos,2,h))return false;if(r)r(f.split(n.pos,2,h).scrollIntoView());return true}}function Vo(t){return function(e,i){let{$from:r,$to:n}=e.selection;let s=r.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;if(!i)return true;if(r.node(s.depth-1).type==t)return Go(e,i,t,s);else return Xo(e,i,s)}}function Go(t,e,i,r){let n=t.tr,s=r.end,l=r.$to.end(r.depth);if(s<l){n.step(new Gi(s-1,l,s,l,new De(pe.from(i.create(null,r.parent.copy())),1,0),1,true));r=new Ne(n.doc.resolve(r.$from.pos),n.doc.resolve(l),r.depth)}const u=ir(r);if(u==null)return false;n.lift(r,u);let o=n.mapping.map(s,-1)-1;if(pr(n.doc,o))n.join(o);e(n.scrollIntoView());return true}function Xo(t,e,i){let r=t.tr,n=i.parent;for(let t=i.end,e=i.endIndex-1,s=i.startIndex;e>s;e--){t-=n.child(e).nodeSize;r.delete(t-1,t+1)}let s=r.doc.resolve(i.start),l=s.nodeAfter;if(r.mapping.map(i.end)!=i.start+s.nodeAfter.nodeSize)return false;let u=i.startIndex==0,o=i.endIndex==n.childCount;let f=s.node(-1),h=s.index(-1);if(!f.canReplace(h+(u?0:1),h+1,l.content.append(o?pe.empty:pe.from(n))))return false;let a=s.pos,c=a+l.nodeSize;r.step(new Gi(a-(u?1:0),c+(o?1:0),a+1,c-1,new De((u?pe.empty:pe.from(n.copy(pe.empty))).append(o?pe.empty:pe.from(n.copy(pe.empty))),u?0:1,o?0:1),u?0:1));e(r.scrollIntoView());return true}function Yo(t){return function(e,i){let{$from:r,$to:n}=e.selection;let s=r.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;let l=s.startIndex;if(l==0)return false;let u=s.parent,o=u.child(l-1);if(o.type!=t)return false;if(i){let r=o.lastChild&&o.lastChild.type==u.type;let n=pe.from(r?t.create():null);let l=new De(pe.from(t.create(null,pe.from(u.type.create(null,n)))),r?3:1,0);let f=s.start,h=s.end;i(e.tr.step(new Gi(f-(r?3:1),h,f,h,l,1,true)).scrollIntoView())}return true}}var Qo={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:"'"};var tf={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'};var ef=typeof navigator!="undefined"&&/Mac/.test(navigator.platform);var rf=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var nf=0;nf<10;nf++)Qo[48+nf]=Qo[96+nf]=String(nf);for(var nf=1;nf<=24;nf++)Qo[nf+111]="F"+nf;for(var nf=65;nf<=90;nf++){Qo[nf]=String.fromCharCode(nf+32);tf[nf]=String.fromCharCode(nf)}for(var sf in Qo)if(!tf.hasOwnProperty(sf))tf[sf]=Qo[sf];function lf(t){var e=ef&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||rf&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified";var i=!e&&t.key||(t.shiftKey?tf:Qo)[t.keyCode]||t.key||"Unidentified";if(i=="Esc")i="Escape";if(i=="Del")i="Delete";if(i=="Left")i="ArrowLeft";if(i=="Up")i="ArrowUp";if(i=="Right")i="ArrowRight";if(i=="Down")i="ArrowDown";return i}const uf=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function of(t){let e=t.split(/-(?!$)/),i=e[e.length-1];if(i=="Space")i=" ";let r,n,s,l;for(let t=0;t<e.length-1;t++){let i=e[t];if(/^(cmd|meta|m)$/i.test(i))l=true;else if(/^a(lt)?$/i.test(i))r=true;else if(/^(c|ctrl|control)$/i.test(i))n=true;else if(/^s(hift)?$/i.test(i))s=true;else if(/^mod$/i.test(i)){if(uf)l=true;else n=true}else throw new Error("Unrecognized modifier name: "+i)}if(r)i="Alt-"+i;if(n)i="Ctrl-"+i;if(l)i="Meta-"+i;if(s)i="Shift-"+i;return i}function ff(t){let e=Object.create(null);for(let i in t)e[of(i)]=t[i];return e}function hf(t,e,i=true){if(e.altKey)t="Alt-"+t;if(e.ctrlKey)t="Ctrl-"+t;if(e.metaKey)t="Meta-"+t;if(i&&e.shiftKey)t="Shift-"+t;return t}function af(t){return new fn({props:{handleKeyDown:cf(t)}})}function cf(t){let e=ff(t);return function(t,i){let r=lf(i),n,s=e[hf(r,i)];if(s&&s(t.state,t.dispatch,t))return true;if(r.length==1&&r!=" "){if(i.shiftKey){let n=e[hf(r,i,false)];if(n&&n(t.state,t.dispatch,t))return true}if((i.shiftKey||i.altKey||i.metaKey||r.charCodeAt(0)>127)&&(n=Qo[i.keyCode])&&n!=r){let r=e[hf(n,i)];if(r&&r(t.state,t.dispatch,t))return true}}return false}}var df=200;var pf=function t(){};pf.prototype.append=function t(e){if(!e.length){return this}e=pf.from(e);return!this.length&&e||e.length<df&&this.leafAppend(e)||this.length<df&&e.leafPrepend(this)||this.appendInner(e)};pf.prototype.prepend=function t(e){if(!e.length){return this}return pf.from(e).append(this)};pf.prototype.appendInner=function t(e){return new wf(this,e)};pf.prototype.slice=function t(e,i){if(e===void 0)e=0;if(i===void 0)i=this.length;if(e>=i){return pf.empty}return this.sliceInner(Math.max(0,e),Math.min(this.length,i))};pf.prototype.get=function t(e){if(e<0||e>=this.length){return undefined}return this.getInner(e)};pf.prototype.forEach=function t(e,i,r){if(i===void 0)i=0;if(r===void 0)r=this.length;if(i<=r){this.forEachInner(e,i,r,0)}else{this.forEachInvertedInner(e,i,r,0)}};pf.prototype.map=function t(e,i,r){if(i===void 0)i=0;if(r===void 0)r=this.length;var n=[];this.forEach((function(t,i){return n.push(e(t,i))}),i,r);return n};pf.from=function t(e){if(e instanceof pf){return e}return e&&e.length?new mf(e):pf.empty};var mf=function(t){function e(e){t.call(this);this.values=e}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;var i={length:{configurable:true},depth:{configurable:true}};e.prototype.flatten=function t(){return this.values};e.prototype.sliceInner=function t(i,r){if(i==0&&r==this.length){return this}return new e(this.values.slice(i,r))};e.prototype.getInner=function t(e){return this.values[e]};e.prototype.forEachInner=function t(e,i,r,n){for(var s=i;s<r;s++){if(e(this.values[s],n+s)===false){return false}}};e.prototype.forEachInvertedInner=function t(e,i,r,n){for(var s=i-1;s>=r;s--){if(e(this.values[s],n+s)===false){return false}}};e.prototype.leafAppend=function t(i){if(this.length+i.length<=df){return new e(this.values.concat(i.flatten()))}};e.prototype.leafPrepend=function t(i){if(this.length+i.length<=df){return new e(i.flatten().concat(this.values))}};i.length.get=function(){return this.values.length};i.depth.get=function(){return 0};Object.defineProperties(e.prototype,i);return e}(pf);pf.empty=new mf([]);var wf=function(t){function e(e,i){t.call(this);this.left=e;this.right=i;this.length=e.length+i.length;this.depth=Math.max(e.depth,i.depth)+1}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.flatten=function t(){return this.left.flatten().concat(this.right.flatten())};e.prototype.getInner=function t(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)};e.prototype.forEachInner=function t(e,i,r,n){var s=this.left.length;if(i<s&&this.left.forEachInner(e,i,Math.min(r,s),n)===false){return false}if(r>s&&this.right.forEachInner(e,Math.max(i-s,0),Math.min(this.length,r)-s,n+s)===false){return false}};e.prototype.forEachInvertedInner=function t(e,i,r,n){var s=this.left.length;if(i>s&&this.right.forEachInvertedInner(e,i-s,Math.max(r,s)-s,n+s)===false){return false}if(r<s&&this.left.forEachInvertedInner(e,Math.min(i,s),r,n)===false){return false}};e.prototype.sliceInner=function t(e,i){if(e==0&&i==this.length){return this}var r=this.left.length;if(i<=r){return this.left.slice(e,i)}if(e>=r){return this.right.slice(e-r,i-r)}return this.left.slice(e,r).append(this.right.slice(0,i-r))};e.prototype.leafAppend=function t(i){var r=this.right.leafAppend(i);if(r){return new e(this.left,r)}};e.prototype.leafPrepend=function t(i){var r=this.left.leafPrepend(i);if(r){return new e(r,this.right)}};e.prototype.appendInner=function t(i){if(this.left.depth>=Math.max(this.right.depth,i.depth)+1){return new e(this.left,new e(this.right,i))}return new e(this,i)};return e}(pf);const gf=500;class bf{constructor(t,e){this.items=t;this.eventCount=e}popEvent(t,e){if(this.eventCount==0)return null;let i=this.items.length;for(;;i--){let t=this.items.get(i-1);if(t.selection){--i;break}}let r,n;if(e){r=this.remapping(i,this.items.length);n=r.maps.length}let s=t.tr;let l,u;let o=[],f=[];this.items.forEach(((t,e)=>{if(!t.step){if(!r){r=this.remapping(i,e+1);n=r.maps.length}n--;f.push(t);return}if(r){f.push(new Df(t.map));let e=t.step.map(r.slice(n)),i;if(e&&s.maybeStep(e).doc){i=s.mapping.maps[s.mapping.maps.length-1];o.push(new Df(i,undefined,undefined,o.length+f.length))}n--;if(i)r.appendMap(i,n)}else{s.maybeStep(t.step)}if(t.selection){l=r?t.selection.map(r.slice(n)):t.selection;u=new bf(this.items.slice(0,i).append(f.reverse().concat(o)),this.eventCount-1);return false}}),this.items.length,0);return{remaining:u,transform:s,selection:l}}addTransform(t,e,i,r){let n=[],s=this.eventCount;let l=this.items,u=!r&&l.length?l.get(l.length-1):null;for(let i=0;i<t.steps.length;i++){let o=t.steps[i].invert(t.docs[i]);let f=new Df(t.mapping.maps[i],o,e),h;if(h=u&&u.merge(f)){f=h;if(i)n.pop();else l=l.slice(0,l.length-1)}n.push(f);if(e){s++;e=undefined}if(!r)u=f}let o=s-i.depth;if(o>yf){l=kf(l,o);s-=o}return new bf(l.append(n),s)}remapping(t,e){let i=new Ii;this.items.forEach(((e,r)=>{let n=e.mirrorOffset!=null&&r-e.mirrorOffset>=t?i.maps.length-e.mirrorOffset:undefined;i.appendMap(e.map,n)}),t,e);return i}addMaps(t){if(this.eventCount==0)return this;return new bf(this.items.append(t.map((t=>new Df(t)))),this.eventCount)}rebased(t,e){if(!this.eventCount)return this;let i=[],r=Math.max(0,this.items.length-e);let n=t.mapping;let s=t.steps.length;let l=this.eventCount;this.items.forEach((t=>{if(t.selection)l--}),r);let u=e;this.items.forEach((e=>{let r=n.getMirror(--u);if(r==null)return;s=Math.min(s,r);let o=n.maps[r];if(e.step){let s=t.steps[r].invert(t.docs[r]);let f=e.selection&&e.selection.map(n.slice(u+1,r));if(f)l++;i.push(new Df(o,s,f))}else{i.push(new Df(o))}}),r);let o=[];for(let t=e;t<s;t++)o.push(new Df(n.maps[t]));let f=this.items.slice(0,r).append(o).append(i);let h=new bf(f,l);if(h.emptyItemCount()>gf)h=h.compress(this.items.length-i.length);return h}emptyItemCount(){let t=0;this.items.forEach((e=>{if(!e.step)t++}));return t}compress(t=this.items.length){let e=this.remapping(0,t),i=e.maps.length;let r=[],n=0;this.items.forEach(((s,l)=>{if(l>=t){r.push(s);if(s.selection)n++}else if(s.step){let t=s.step.map(e.slice(i)),l=t&&t.getMap();i--;if(l)e.appendMap(l,i);if(t){let u=s.selection&&s.selection.map(e.slice(i));if(u)n++;let o=new Df(l.invert(),t,u),f,h=r.length-1;if(f=r.length&&r[h].merge(o))r[h]=f;else r.push(o)}}else if(s.map){i--}}),this.items.length,0);return new bf(pf.from(r.reverse()),n)}}bf.empty=new bf(pf.empty,0);function kf(t,e){let i;t.forEach(((t,r)=>{if(t.selection&&e--==0){i=r;return false}}));return t.slice(i)}class Df{constructor(t,e,i,r){this.map=t;this.step=e;this.selection=i;this.mirrorOffset=r}merge(t){if(this.step&&t.step&&!t.selection){let e=t.step.merge(this.step);if(e)return new Df(e.getMap().invert(),e,this.selection)}}}class vf{constructor(t,e,i,r,n){this.done=t;this.undone=e;this.prevRanges=i;this.prevTime=r;this.prevComposition=n}}const yf=20;function Ff(t,e,i,r){let n=i.getMeta($f),s;if(n)return n.historyState;if(i.getMeta(_f))t=new vf(t.done,t.undone,null,0,-1);let l=i.getMeta("appendedTransaction");if(i.steps.length==0){return t}else if(l&&l.getMeta($f)){if(l.getMeta($f).redo)return new vf(t.done.addTransform(i,undefined,r,Of(e)),t.undone,xf(i.mapping.maps[i.steps.length-1]),t.prevTime,t.prevComposition);else return new vf(t.done,t.undone.addTransform(i,undefined,r,Of(e)),null,t.prevTime,t.prevComposition)}else if(i.getMeta("addToHistory")!==false&&!(l&&l.getMeta("addToHistory")===false)){let n=i.getMeta("composition");let s=t.prevTime==0||!l&&t.prevComposition!=n&&(t.prevTime<(i.time||0)-r.newGroupDelay||!Ef(i,t.prevRanges));let u=l?Mf(t.prevRanges,i.mapping):xf(i.mapping.maps[i.steps.length-1]);return new vf(t.done.addTransform(i,s?e.selection.getBookmark():undefined,r,Of(e)),bf.empty,u,i.time,n==null?t.prevComposition:n)}else if(s=i.getMeta("rebased")){return new vf(t.done.rebased(i,s),t.undone.rebased(i,s),Mf(t.prevRanges,i.mapping),t.prevTime,t.prevComposition)}else{return new vf(t.done.addMaps(i.mapping.maps),t.undone.addMaps(i.mapping.maps),Mf(t.prevRanges,i.mapping),t.prevTime,t.prevComposition)}}function Ef(t,e){if(!e)return false;if(!t.docChanged)return true;let i=false;t.mapping.maps[0].forEach(((t,r)=>{for(let n=0;n<e.length;n+=2)if(t<=e[n+1]&&r>=e[n])i=true}));return i}function xf(t){let e=[];t.forEach(((t,i,r,n)=>e.push(r,n)));return e}function Mf(t,e){if(!t)return null;let i=[];for(let r=0;r<t.length;r+=2){let n=e.map(t[r],1),s=e.map(t[r+1],-1);if(n<=s)i.push(n,s)}return i}function Af(t,e,i,r){let n=Of(e);let s=$f.get(e).spec.config;let l=(r?t.undone:t.done).popEvent(e,n);if(!l)return;let u=l.selection.resolve(l.transform.doc);let o=(r?t.done:t.undone).addTransform(l.transform,e.selection.getBookmark(),s,n);let f=new vf(r?o:l.remaining,r?l.remaining:o,null,0,-1);i(l.transform.setSelection(u).setMeta($f,{redo:r,historyState:f}).scrollIntoView())}let Cf=false,Sf=null;function Of(t){let e=t.plugins;if(Sf!=e){Cf=false;Sf=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){Cf=true;break}}return Cf}const $f=new cn("history");const _f=new cn("closeHistory");function Bf(t={}){t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500};return new fn({key:$f,state:{init(){return new vf(bf.empty,bf.empty,null,0,-1)},apply(e,i,r){return Ff(i,r,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(t,e){let i=e.inputType;let r=i=="historyUndo"?jf:i=="historyRedo"?qf:null;if(!r)return false;e.preventDefault();return r(t.state,t.dispatch)}}}})}const jf=(t,e)=>{let i=$f.getState(t);if(!i||i.done.eventCount==0)return false;if(e)Af(i,t,e,false);return true};const qf=(t,e)=>{let i=$f.getState(t);if(!i||i.undone.eventCount==0)return false;if(e)Af(i,t,e,true);return true};const Rf=(t,e)=>{if(t.selection.empty)return false;if(e)e(t.tr.deleteSelection().scrollIntoView());return true};function Nf(t,e){let{$cursor:i}=t.selection;if(!i||(e?!e.endOfTextblock("backward",t):i.parentOffset>0))return null;return i}const zf=(t,e,i)=>{let r=Nf(t,i);if(!r)return false;let n=Pf(r);if(!n){let i=r.blockRange(),n=i&&ir(i);if(n==null)return false;if(e)e(t.tr.lift(i,n).scrollIntoView());return true}let s=n.nodeBefore;if(!s.type.spec.isolating&&sh(t,n,e))return true;if(r.parent.content.size==0&&(Tf(s,"end")||Hr.isSelectable(s))){let i=Dr(t.doc,r.before(),r.after(),De.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=t.tr.step(i);r.setSelection(Tf(s,"end")?Ir.findFrom(r.doc.resolve(r.mapping.map(n.pos,-1)),-1):Hr.create(r.doc,n.pos-s.nodeSize));e(r.scrollIntoView())}return true}}if(s.isAtom&&n.depth==r.depth-1){if(e)e(t.tr.delete(n.pos-s.nodeSize,n.pos).scrollIntoView());return true}return false};function Tf(t,e,i=false){for(let r=t;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return true;if(i&&r.childCount!=1)return false}return false}const If=(t,e,i)=>{let{$head:r,empty:n}=t.selection,s=r;if(!n)return false;if(r.parent.isTextblock){if(i?!i.endOfTextblock("backward",t):r.parentOffset>0)return false;s=Pf(r)}let l=s&&s.nodeBefore;if(!l||!Hr.isSelectable(l))return false;if(e)e(t.tr.setSelection(Hr.create(t.doc,s.pos-l.nodeSize)).scrollIntoView());return true};function Pf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function Jf(t,e){let{$cursor:i}=t.selection;if(!i||(e?!e.endOfTextblock("forward",t):i.parentOffset<i.parent.content.size))return null;return i}const Lf=(t,e,i)=>{let r=Jf(t,i);if(!r)return false;let n=Wf(r);if(!n)return false;let s=n.nodeAfter;if(sh(t,n,e))return true;if(r.parent.content.size==0&&(Tf(s,"start")||Hr.isSelectable(s))){let i=Dr(t.doc,r.before(),r.after(),De.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=t.tr.step(i);r.setSelection(Tf(s,"start")?Ir.findFrom(r.doc.resolve(r.mapping.map(n.pos)),1):Hr.create(r.doc,r.mapping.map(n.pos)));e(r.scrollIntoView())}return true}}if(s.isAtom&&n.depth==r.depth-1){if(e)e(t.tr.delete(n.pos,n.pos+s.nodeSize).scrollIntoView());return true}return false};const Uf=(t,e,i)=>{let{$head:r,empty:n}=t.selection,s=r;if(!n)return false;if(r.parent.isTextblock){if(i?!i.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size)return false;s=Wf(r)}let l=s&&s.nodeAfter;if(!l||!Hr.isSelectable(l))return false;if(e)e(t.tr.setSelection(Hr.create(t.doc,s.pos)).scrollIntoView());return true};function Wf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let i=t.node(e);if(t.index(e)+1<i.childCount)return t.doc.resolve(t.after(e+1));if(i.type.spec.isolating)break}return null}const Hf=(t,e)=>{let i=t.selection,r=i instanceof Hr,n;if(r){if(i.node.isTextblock||!pr(t.doc,i.from))return false;n=i.from}else{n=wr(t.doc,i.from,-1);if(n==null)return false}if(e){let i=t.tr.join(n);if(r)i.setSelection(Hr.create(i.doc,n-t.doc.resolve(n).nodeBefore.nodeSize));e(i.scrollIntoView())}return true};const Zf=(t,e)=>{let i=t.selection,r;if(i instanceof Hr){if(i.node.isTextblock||!pr(t.doc,i.to))return false;r=i.to}else{r=wr(t.doc,i.to,1);if(r==null)return false}if(e)e(t.tr.join(r).scrollIntoView());return true};const Kf=(t,e)=>{let{$from:i,$to:r}=t.selection;let n=i.blockRange(r),s=n&&ir(n);if(s==null)return false;if(e)e(t.tr.lift(n,s).scrollIntoView());return true};const Vf=(t,e)=>{let{$head:i,$anchor:r}=t.selection;if(!i.parent.type.spec.code||!i.sameParent(r))return false;if(e)e(t.tr.insertText("\n").scrollIntoView());return true};function Gf(t){for(let e=0;e<t.edgeCount;e++){let{type:i}=t.edge(e);if(i.isTextblock&&!i.hasRequiredAttrs())return i}return null}const Xf=(t,e)=>{let{$head:i,$anchor:r}=t.selection;if(!i.parent.type.spec.code||!i.sameParent(r))return false;let n=i.node(-1),s=i.indexAfter(-1),l=Gf(n.contentMatchAt(s));if(!l||!n.canReplaceWith(s,s,l))return false;if(e){let r=i.after(),n=t.tr.replaceWith(r,r,l.createAndFill());n.setSelection(Ir.near(n.doc.resolve(r),1));e(n.scrollIntoView())}return true};const Yf=(t,e)=>{let i=t.selection,{$from:r,$to:n}=i;if(i instanceof Kr||r.parent.inlineContent||n.parent.inlineContent)return false;let s=Gf(n.parent.contentMatchAt(n.indexAfter()));if(!s||!s.isTextblock)return false;if(e){let i=(!r.parentOffset&&n.index()<n.parent.childCount?r:n).pos;let l=t.tr.insert(i,s.createAndFill());l.setSelection(Ur.create(l.doc,i+1));e(l.scrollIntoView())}return true};const Qf=(t,e)=>{let{$cursor:i}=t.selection;if(!i||i.parent.content.size)return false;if(i.depth>1&&i.after()!=i.end(-1)){let r=i.before();if(cr(t.doc,r)){if(e)e(t.tr.split(r).scrollIntoView());return true}}let r=i.blockRange(),n=r&&ir(r);if(n==null)return false;if(e)e(t.tr.lift(r,n).scrollIntoView());return true};function th(t){return(e,i)=>{let{$from:r,$to:n}=e.selection;if(e.selection instanceof Hr&&e.selection.node.isBlock){if(!r.parentOffset||!cr(e.doc,r.pos))return false;if(i)i(e.tr.split(r.pos).scrollIntoView());return true}if(!r.parent.isBlock)return false;if(i){let s=n.parentOffset==n.parent.content.size;let l=e.tr;if(e.selection instanceof Ur||e.selection instanceof Kr)l.deleteSelection();let u=r.depth==0?null:Gf(r.node(-1).contentMatchAt(r.indexAfter(-1)));let o=t&&t(n.parent,s);let f=o?[o]:s&&u?[{type:u}]:undefined;let h=cr(l.doc,l.mapping.map(r.pos),1,f);if(!f&&!h&&cr(l.doc,l.mapping.map(r.pos),1,u?[{type:u}]:undefined)){if(u)f=[{type:u}];h=true}if(h){l.split(l.mapping.map(r.pos),1,f);if(!s&&!r.parentOffset&&r.parent.type!=u){let t=l.mapping.map(r.before()),e=l.doc.resolve(t);if(u&&r.node(-1).canReplaceWith(e.index(),e.index()+1,u))l.setNodeMarkup(l.mapping.map(r.before()),u)}}i(l.scrollIntoView())}return true}}const eh=th();const ih=(t,e)=>{let{$from:i,to:r}=t.selection,n;let s=i.sharedDepth(r);if(s==0)return false;n=i.before(s);if(e)e(t.tr.setSelection(Hr.create(t.doc,n)));return true};const rh=(t,e)=>{if(e)e(t.tr.setSelection(new Kr(t.doc)));return true};function nh(t,e,i){let r=e.nodeBefore,n=e.nodeAfter,s=e.index();if(!r||!n||!r.type.compatibleContent(n.type))return false;if(!r.content.size&&e.parent.canReplace(s-1,s)){if(i)i(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView());return true}if(!e.parent.canReplace(s,s+1)||!(n.isTextblock||pr(t.doc,e.pos)))return false;if(i)i(t.tr.clearIncompatible(e.pos,r.type,r.contentMatchAt(r.childCount)).join(e.pos).scrollIntoView());return true}function sh(t,e,i){let r=e.nodeBefore,n=e.nodeAfter,s,l;if(r.type.spec.isolating||n.type.spec.isolating)return false;if(nh(t,e,i))return true;let u=e.parent.canReplace(e.index(),e.index()+1);if(u&&(s=(l=r.contentMatchAt(r.childCount)).findWrapping(n.type))&&l.matchType(s[0]||n.type).validEnd){if(i){let l=e.pos+n.nodeSize,u=pe.empty;for(let t=s.length-1;t>=0;t--)u=pe.from(s[t].create(null,u));u=pe.from(r.copy(u));let o=t.tr.step(new Gi(e.pos-1,l,e.pos,l,new De(u,1,0),s.length,true));let f=l+2*s.length;if(pr(o.doc,f))o.join(f);i(o.scrollIntoView())}return true}let o=Ir.findFrom(e,1);let f=o&&o.$from.blockRange(o.$to),h=f&&ir(f);if(h!=null&&h>=e.depth){if(i)i(t.tr.lift(f,h).scrollIntoView());return true}if(u&&Tf(n,"start",true)&&Tf(r,"end")){let s=r,l=[];for(;;){l.push(s);if(s.isTextblock)break;s=s.lastChild}let u=n,o=1;for(;!u.isTextblock;u=u.firstChild)o++;if(s.canReplace(s.childCount,s.childCount,u.content)){if(i){let r=pe.empty;for(let t=l.length-1;t>=0;t--)r=pe.from(l[t].copy(r));let s=t.tr.step(new Gi(e.pos-l.length,e.pos+n.nodeSize,e.pos+o,e.pos+n.nodeSize-o,new De(r,l.length,0),0,true));i(s.scrollIntoView())}return true}}return false}function lh(t){return function(e,i){let r=e.selection,n=t<0?r.$from:r.$to;let s=n.depth;while(n.node(s).isInline){if(!s)return false;s--}if(!n.node(s).isTextblock)return false;if(i)i(e.tr.setSelection(Ur.create(e.doc,t<0?n.start(s):n.end(s))));return true}}const uh=lh(-1);const oh=lh(1);function fh(t,e=null){return function(i,r){let{$from:n,$to:s}=i.selection;let l=n.blockRange(s),u=l&&nr(l,t,e);if(!u)return false;if(r)r(i.tr.wrap(l,u).scrollIntoView());return true}}function hh(t,e=null){return function(i,r){let n=false;for(let r=0;r<i.selection.ranges.length&&!n;r++){let{$from:{pos:s},$to:{pos:l}}=i.selection.ranges[r];i.doc.nodesBetween(s,l,((r,s)=>{if(n)return false;if(!r.isTextblock||r.hasMarkup(t,e))return;if(r.type==t){n=true}else{let e=i.doc.resolve(s),r=e.index();n=e.parent.canReplaceWith(r,r+1,t)}}))}if(!n)return false;if(r){let n=i.tr;for(let r=0;r<i.selection.ranges.length;r++){let{$from:{pos:s},$to:{pos:l}}=i.selection.ranges[r];n.setBlockType(s,l,t,e)}r(n.scrollIntoView())}return true}}function ah(t,e,i){for(let r=0;r<e.length;r++){let{$from:n,$to:s}=e[r];let l=n.depth==0?t.inlineContent&&t.type.allowsMarkType(i):false;t.nodesBetween(n.pos,s.pos,(t=>{if(l)return false;l=t.inlineContent&&t.type.allowsMarkType(i)}));if(l)return true}return false}function ch(t,e=null){return function(i,r){let{empty:n,$cursor:s,ranges:l}=i.selection;if(n&&!s||!ah(i.doc,l,t))return false;if(r){if(s){if(t.isInSet(i.storedMarks||s.marks()))r(i.tr.removeStoredMark(t));else r(i.tr.addStoredMark(t.create(e)))}else{let n=false,s=i.tr;for(let e=0;!n&&e<l.length;e++){let{$from:r,$to:s}=l[e];n=i.doc.rangeHasMark(r.pos,s.pos,t)}for(let i=0;i<l.length;i++){let{$from:r,$to:u}=l[i];if(n){s.removeMark(r.pos,u.pos,t)}else{let i=r.pos,n=u.pos,l=r.nodeAfter,o=u.nodeBefore;let f=l&&l.isText?/^\s*/.exec(l.text)[0].length:0;let h=o&&o.isText?/\s*$/.exec(o.text)[0].length:0;if(i+f<n){i+=f;n-=h}s.addMark(i,n,t.create(e))}}r(s.scrollIntoView())}}return true}}function dh(...t){return function(e,i,r){for(let n=0;n<t.length;n++)if(t[n](e,i,r))return true;return false}}let ph=dh(Rf,zf,If);let mh=dh(Rf,Lf,Uf);const wh={Enter:dh(Vf,Yf,Qf,eh),"Mod-Enter":Xf,Backspace:ph,"Mod-Backspace":ph,"Shift-Backspace":ph,Delete:mh,"Mod-Delete":mh,"Mod-a":rh};const gh={"Ctrl-h":wh["Backspace"],"Alt-Backspace":wh["Mod-Backspace"],"Ctrl-d":wh["Delete"],"Ctrl-Alt-Backspace":wh["Mod-Delete"],"Alt-Delete":wh["Mod-Delete"],"Alt-d":wh["Mod-Delete"],"Ctrl-a":uh,"Ctrl-e":oh};for(let t in wh)gh[t]=wh[t];const bh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os!="undefined"&&os.platform?os.platform()=="darwin":false;const kh=bh?gh:wh;function Dh(t={}){return new fn({view(e){return new vh(e,t)}})}class vh{constructor(t,e){var i;this.editorView=t;this.cursorPos=null;this.element=null;this.timeout=-1;this.width=(i=e.width)!==null&&i!==void 0?i:1;this.color=e.color===false?undefined:e.color||"black";this.class=e.class;this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let i=t=>{this[e](t)};t.dom.addEventListener(e,i);return{name:e,handler:i}}))}destroy(){this.handlers.forEach((({name:t,handler:e})=>this.editorView.dom.removeEventListener(t,e)))}update(t,e){if(this.cursorPos!=null&&e.doc!=t.state.doc){if(this.cursorPos>t.state.doc.content.size)this.setCursor(null);else this.updateOverlay()}}setCursor(t){if(t==this.cursorPos)return;this.cursorPos=t;if(t==null){this.element.parentNode.removeChild(this.element);this.element=null}else{this.updateOverlay()}}updateOverlay(){let t=this.editorView.state.doc.resolve(this.cursorPos);let e=!t.parent.inlineContent,i;if(e){let e=t.nodeBefore,r=t.nodeAfter;if(e||r){let t=this.editorView.nodeDOM(this.cursorPos-(e?e.nodeSize:0));if(t){let n=t.getBoundingClientRect();let s=e?n.bottom:n.top;if(e&&r)s=(s+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2;i={left:n.left,right:n.right,top:s-this.width/2,bottom:s+this.width/2}}}}if(!i){let t=this.editorView.coordsAtPos(this.cursorPos);i={left:t.left-this.width/2,right:t.left+this.width/2,top:t.top,bottom:t.bottom}}let r=this.editorView.dom.offsetParent;if(!this.element){this.element=r.appendChild(document.createElement("div"));if(this.class)this.element.className=this.class;this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;";if(this.color){this.element.style.backgroundColor=this.color}}this.element.classList.toggle("prosemirror-dropcursor-block",e);this.element.classList.toggle("prosemirror-dropcursor-inline",!e);let n,s;if(!r||r==document.body&&getComputedStyle(r).position=="static"){n=-pageXOffset;s=-pageYOffset}else{let t=r.getBoundingClientRect();n=t.left-r.scrollLeft;s=t.top-r.scrollTop}this.element.style.left=i.left-n+"px";this.element.style.top=i.top-s+"px";this.element.style.width=i.right-i.left+"px";this.element.style.height=i.bottom-i.top+"px"}scheduleRemoval(t){clearTimeout(this.timeout);this.timeout=setTimeout((()=>this.setCursor(null)),t)}dragover(t){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:t.clientX,top:t.clientY});let i=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside);let r=i&&i.type.spec.disableDropCursor;let n=typeof r=="function"?r(this.editorView,e,t):r;if(e&&!n){let t=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=kr(this.editorView.state.doc,t,this.editorView.dragging.slice);if(e!=null)t=e}this.setCursor(t);this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(t){if(t.target==this.editorView.dom||!this.editorView.dom.contains(t.relatedTarget))this.setCursor(null)}}class yh extends Ir{constructor(t){super(t,t)}map(t,e){let i=t.resolve(e.map(this.head));return yh.valid(i)?new yh(i):Ir.near(i)}content(){return De.empty}eq(t){return t instanceof yh&&t.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new yh(t.resolve(e.pos))}getBookmark(){return new Fh(this.anchor)}static valid(t){let e=t.parent;if(e.isTextblock||!Eh(t)||!xh(t))return false;let i=e.type.spec.allowGapCursor;if(i!=null)return i;let r=e.contentMatchAt(t.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,e,i=false){t:for(;;){if(!i&&yh.valid(t))return t;let r=t.pos,n=null;for(let i=t.depth;;i--){let s=t.node(i);if(e>0?t.indexAfter(i)<s.childCount:t.index(i)>0){n=s.child(e>0?t.indexAfter(i):t.index(i)-1);break}else if(i==0){return null}r+=e;let l=t.doc.resolve(r);if(yh.valid(l))return l}for(;;){let s=e>0?n.firstChild:n.lastChild;if(!s){if(n.isAtom&&!n.isText&&!Hr.isSelectable(n)){t=t.doc.resolve(r+n.nodeSize*e);i=false;continue t}break}n=s;r+=e;let l=t.doc.resolve(r);if(yh.valid(l))return l}return null}}}yh.prototype.visible=false;yh.findFrom=yh.findGapCursorFrom;Ir.jsonID("gapcursor",yh);class Fh{constructor(t){this.pos=t}map(t){return new Fh(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return yh.valid(e)?new yh(e):Ir.near(e)}}function Eh(t){for(let e=t.depth;e>=0;e--){let i=t.index(e),r=t.node(e);if(i==0){if(r.type.spec.isolating)return true;continue}for(let t=r.child(i-1);;t=t.lastChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function xh(t){for(let e=t.depth;e>=0;e--){let i=t.indexAfter(e),r=t.node(e);if(i==r.childCount){if(r.type.spec.isolating)return true;continue}for(let t=r.child(i);;t=t.firstChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function Mh(){return new fn({props:{decorations:$h,createSelectionBetween(t,e,i){return e.pos==i.pos&&yh.valid(i)?new yh(i):null},handleClick:Sh,handleKeyDown:Ah,handleDOMEvents:{beforeinput:Oh}}})}const Ah=cf({ArrowLeft:Ch("horiz",-1),ArrowRight:Ch("horiz",1),ArrowUp:Ch("vert",-1),ArrowDown:Ch("vert",1)});function Ch(t,e){const i=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(t,r,n){let s=t.selection;let l=e>0?s.$to:s.$from,u=s.empty;if(s instanceof Ur){if(!n.endOfTextblock(i)||l.depth==0)return false;u=false;l=t.doc.resolve(e>0?l.after():l.before())}let o=yh.findGapCursorFrom(l,e,u);if(!o)return false;if(r)r(t.tr.setSelection(new yh(o)));return true}}function Sh(t,e,i){if(!t||!t.editable)return false;let r=t.state.doc.resolve(e);if(!yh.valid(r))return false;let n=t.posAtCoords({left:i.clientX,top:i.clientY});if(n&&n.inside>-1&&Hr.isSelectable(t.state.doc.nodeAt(n.inside)))return false;t.dispatch(t.state.tr.setSelection(new yh(r)));return true}function Oh(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof yh))return false;let{$from:i}=t.state.selection;let r=i.parent.contentMatchAt(i.index()).findWrapping(t.state.schema.nodes.text);if(!r)return false;let n=pe.empty;for(let t=r.length-1;t>=0;t--)n=pe.from(r[t].createAndFill(null,n));let s=t.state.tr.replace(i.pos,i.pos,new De(n,0,0));s.setSelection(Ur.near(s.doc.resolve(i.pos+1)));t.dispatch(s);return false}function $h(t){if(!(t.selection instanceof yh))return null;let e=document.createElement("div");e.className="ProseMirror-gapcursor";return Pu.create(t.doc,[zu.widget(t.selection.head,e,{key:"gapcursor"})])}function _h(){var t=arguments[0];if(typeof t=="string")t=document.createElement(t);var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var n=i[r];if(typeof n=="string")t.setAttribute(r,n);else if(n!=null)t[r]=n}e++}for(;e<arguments.length;e++)Bh(t,arguments[e]);return t}function Bh(t,e){if(typeof e=="string"){t.appendChild(document.createTextNode(e))}else if(e==null);else if(e.nodeType!=null){t.appendChild(e)}else if(Array.isArray(e)){for(var i=0;i<e.length;i++)Bh(t,e[i])}else{throw new RangeError("Unsupported child node: "+e)}}const jh="http://www.w3.org/2000/svg";const qh="http://www.w3.org/1999/xlink";const Rh="ProseMirror-icon";function Nh(t){let e=0;for(let i=0;i<t.length;i++)e=(e<<5)-e+t.charCodeAt(i)|0;return e}function zh(t,e){let i=(t.nodeType==9?t:t.ownerDocument)||document;let r=i.createElement("div");r.className=Rh;if(e.path){let{path:n,width:s,height:l}=e;let u="pm-icon-"+Nh(n).toString(16);if(!i.getElementById(u))Th(t,u,e);let o=r.appendChild(i.createElementNS(jh,"svg"));o.style.width=s/l+"em";let f=o.appendChild(i.createElementNS(jh,"use"));f.setAttributeNS(qh,"href",/([^#]*)/.exec(i.location.toString())[1]+"#"+u)}else if(e.dom){r.appendChild(e.dom.cloneNode(true))}else{let{text:t,css:n}=e;r.appendChild(i.createElement("span")).textContent=t||"";if(n)r.firstChild.style.cssText=n}return r}function Th(t,e,i){let[r,n]=t.nodeType==9?[t,t.body]:[t.ownerDocument||document,t];let s=r.getElementById(Rh+"-collection");if(!s){s=r.createElementNS(jh,"svg");s.id=Rh+"-collection";s.style.display="none";n.insertBefore(s,n.firstChild)}let l=r.createElementNS(jh,"symbol");l.id=e;l.setAttribute("viewBox","0 0 "+i.width+" "+i.height);let u=l.appendChild(r.createElementNS(jh,"path"));u.setAttribute("d",i.path);s.appendChild(l)}const Ih="ProseMirror-menu";class Ph{constructor(t){this.spec=t}render(t){let e=this.spec;let i=e.render?e.render(t):e.icon?zh(t.root,e.icon):e.label?_h("div",null,Jh(t,e.label)):null;if(!i)throw new RangeError("MenuItem without icon or label property");if(e.title){const r=typeof e.title==="function"?e.title(t.state):e.title;i.setAttribute("title",Jh(t,r))}if(e.class)i.classList.add(e.class);if(e.css)i.style.cssText+=e.css;i.addEventListener("mousedown",(r=>{r.preventDefault();if(!i.classList.contains(Ih+"-disabled"))e.run(t.state,t.dispatch,t,r)}));function r(t){if(e.select){let r=e.select(t);i.style.display=r?"":"none";if(!r)return false}let r=true;if(e.enable){r=e.enable(t)||false;la(i,Ih+"-disabled",!r)}if(e.active){let n=r&&e.active(t)||false;la(i,Ih+"-active",n)}return true}return{dom:i,update:r}}}function Jh(t,e){return t._props.translate?t._props.translate(e):e}let Lh={time:0,node:null};function Uh(t){Lh.time=Date.now();Lh.node=t.target}function Wh(t){return Date.now()-100<Lh.time&&Lh.node&&t.contains(Lh.node)}class Hh{constructor(t,e={}){this.options=e;this.options=e||{};this.content=Array.isArray(t)?t:[t]}render(t){let e=Zh(this.content,t);let i=t.dom.ownerDocument.defaultView||window;let r=_h("div",{class:Ih+"-dropdown "+(this.options.class||""),style:this.options.css},Jh(t,this.options.label||""));if(this.options.title)r.setAttribute("title",Jh(t,this.options.title));let n=_h("div",{class:Ih+"-dropdown-wrap"},r);let s=null;let l=null;let u=()=>{if(s&&s.close()){s=null;i.removeEventListener("mousedown",l)}};r.addEventListener("mousedown",(t=>{t.preventDefault();Uh(t);if(s){u()}else{s=this.expand(n,e.dom);i.addEventListener("mousedown",l=()=>{if(!Wh(n))u()})}}));function o(t){let i=e.update(t);n.style.display=i?"":"none";return i}return{dom:n,update:o}}expand(t,e){let i=_h("div",{class:Ih+"-dropdown-menu "+(this.options.class||"")},e);let r=false;function n(){if(r)return false;r=true;t.removeChild(i);return true}t.appendChild(i);return{close:n,node:i}}}function Zh(t,e){let i=[],r=[];for(let n=0;n<t.length;n++){let{dom:s,update:l}=t[n].render(e);i.push(_h("div",{class:Ih+"-dropdown-item"},s));r.push(l)}return{dom:i,update:Kh(r,i)}}function Kh(t,e){return i=>{let r=false;for(let n=0;n<t.length;n++){let s=t[n](i);e[n].style.display=s?"":"none";if(s)r=true}return r}}class Vh{constructor(t,e={}){this.options=e;this.content=Array.isArray(t)?t:[t]}render(t){let e=Zh(this.content,t);let i=t.dom.ownerDocument.defaultView||window;let r=_h("div",{class:Ih+"-submenu-label"},Jh(t,this.options.label||""));let n=_h("div",{class:Ih+"-submenu-wrap"},r,_h("div",{class:Ih+"-submenu"},e.dom));let s=null;r.addEventListener("mousedown",(t=>{t.preventDefault();Uh(t);la(n,Ih+"-submenu-wrap-active",false);if(!s)i.addEventListener("mousedown",s=()=>{if(!Wh(n)){n.classList.remove(Ih+"-submenu-wrap-active");i.removeEventListener("mousedown",s);s=null}})}));function l(t){let i=e.update(t);n.style.display=i?"":"none";return i}return{dom:n,update:l}}}function Gh(t,e){let i=document.createDocumentFragment();let r=[],n=[];for(let s=0;s<e.length;s++){let l=e[s],u=[],o=[];for(let e=0;e<l.length;e++){let{dom:r,update:n}=l[e].render(t);let s=_h("span",{class:Ih+"item"},r);i.appendChild(s);o.push(s);u.push(n)}if(u.length){r.push(Kh(u,o));if(s<e.length-1)n.push(i.appendChild(Xh()))}}function s(t){let e=false,i=false;for(let s=0;s<r.length;s++){let l=r[s](t);if(s)n[s-1].style.display=i&&l?"":"none";i=l;if(l)e=true}return e}return{dom:i,update:s}}function Xh(){return _h("span",{class:Ih+"separator"})}const Yh={join:{width:800,height:900,path:"M0 75h800v125h-800z M0 825h800v-125h-800z M250 400h100v-100h100v100h100v100h-100v100h-100v-100h-100z"},lift:{width:1024,height:1024,path:"M219 310v329q0 7-5 12t-12 5q-8 0-13-5l-164-164q-5-5-5-13t5-13l164-164q5-5 13-5 7 0 12 5t5 12zM1024 749v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12zM1024 530v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 310v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 91v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12z"},selectParentNode:{text:"⬚",css:"font-weight: bold"},undo:{width:1024,height:1024,path:"M761 1024c113-206 132-520-313-509v253l-384-384 384-384v248c534-13 594 472 313 775z"},redo:{width:1024,height:1024,path:"M576 248v-248l384 384-384 384v-253c-446-10-427 303-313 509-280-303-221-789 313-775z"},strong:{width:805,height:1024,path:"M317 869q42 18 80 18 214 0 214-191 0-65-23-102-15-25-35-42t-38-26-46-14-48-6-54-1q-41 0-57 5 0 30-0 90t-0 90q0 4-0 38t-0 55 2 47 6 38zM309 442q24 4 62 4 46 0 81-7t62-25 42-51 14-81q0-40-16-70t-45-46-61-24-70-8q-28 0-74 7 0 28 2 86t2 86q0 15-0 45t-0 45q0 26 0 39zM0 950l1-53q8-2 48-9t60-15q4-6 7-15t4-19 3-18 1-21 0-19v-37q0-561-12-585-2-4-12-8t-25-6-28-4-27-2-17-1l-2-47q56-1 194-6t213-5q13 0 39 0t38 0q40 0 78 7t73 24 61 40 42 59 16 78q0 29-9 54t-22 41-36 32-41 25-48 22q88 20 146 76t58 141q0 57-20 102t-53 74-78 48-93 27-100 8q-25 0-75-1t-75-1q-60 0-175 6t-132 6z"},em:{width:585,height:1024,path:"M0 949l9-48q3-1 46-12t63-21q16-20 23-57 0-4 35-165t65-310 29-169v-14q-13-7-31-10t-39-4-33-3l10-58q18 1 68 3t85 4 68 1q27 0 56-1t69-4 56-3q-2 22-10 50-17 5-58 16t-62 19q-4 10-8 24t-5 22-4 26-3 24q-15 84-50 239t-44 203q-1 5-7 33t-11 51-9 47-3 32l0 10q9 2 105 17-1 25-9 56-6 0-18 0t-18 0q-16 0-49-5t-49-5q-78-1-117-1-29 0-81 5t-69 6z"},code:{width:896,height:1024,path:"M608 192l-96 96 224 224-224 224 96 96 288-320-288-320zM288 192l-288 320 288 320 96-96-224-224 224-224-96-96z"},link:{width:951,height:1024,path:"M832 694q0-22-16-38l-118-118q-16-16-38-16-24 0-41 18 1 1 10 10t12 12 8 10 7 14 2 15q0 22-16 38t-38 16q-8 0-15-2t-14-7-10-8-12-12-10-10q-18 17-18 41 0 22 16 38l117 118q15 15 38 15 22 0 38-14l84-83q16-16 16-38zM430 292q0-22-16-38l-117-118q-16-16-38-16-22 0-38 15l-84 83q-16 16-16 38 0 22 16 38l118 118q15 15 38 15 24 0 41-17-1-1-10-10t-12-12-8-10-7-14-2-15q0-22 16-38t38-16q8 0 15 2t14 7 10 8 12 12 10 10q18-17 18-41zM941 694q0 68-48 116l-84 83q-47 47-116 47-69 0-116-48l-117-118q-47-47-47-116 0-70 50-119l-50-50q-49 50-118 50-68 0-116-48l-118-118q-48-48-48-116t48-116l84-83q47-47 116-47 69 0 116 48l117 118q47 47 47 116 0 70-50 119l50 50q49-50 118-50 68 0 116 48l118 118q48 48 48 116z"},bulletList:{width:768,height:896,path:"M0 512h128v-128h-128v128zM0 256h128v-128h-128v128zM0 768h128v-128h-128v128zM256 512h512v-128h-512v128zM256 256h512v-128h-512v128zM256 768h512v-128h-512v128z"},orderedList:{width:768,height:896,path:"M320 512h448v-128h-448v128zM320 768h448v-128h-448v128zM320 128v128h448v-128h-448zM79 384h78v-256h-36l-85 23v50l43-2v185zM189 590c0-36-12-78-96-78-33 0-64 6-83 16l1 66c21-10 42-15 67-15s32 11 32 28c0 26-30 58-110 112v50h192v-67l-91 2c49-30 87-66 87-113l1-1z"},blockquote:{width:640,height:896,path:"M0 448v256h256v-256h-128c0 0 0-128 128-128v-128c0 0-256 0-256 256zM640 320v-128c0 0-256 0-256 256v256h256v-256h-128c0 0 0-128 128-128z"}};const Qh=new Ph({title:"Join with above block",run:Hf,select:t=>Hf(t),icon:Yh.join});const ta=new Ph({title:"Lift out of enclosing block",run:Kf,select:t=>Kf(t),icon:Yh.lift});const ea=new Ph({title:"Select parent node",run:ih,select:t=>ih(t),icon:Yh.selectParentNode});let ia=new Ph({title:"Undo last change",run:jf,enable:t=>jf(t),icon:Yh.undo});let ra=new Ph({title:"Redo last undone change",run:qf,enable:t=>qf(t),icon:Yh.redo});function na(t,e){let i={run(i,r){return fh(t,e.attrs)(i,r)},select(i){return fh(t,e.attrs)(i)}};for(let t in e)i[t]=e[t];return new Ph(i)}function sa(t,e){let i=hh(t,e.attrs);let r={run:i,enable(t){return i(t)},active(i){let{$from:r,to:n,node:s}=i.selection;if(s)return s.hasMarkup(t,e.attrs);return n<=r.end()&&r.parent.hasMarkup(t,e.attrs)}};for(let t in e)r[t]=e[t];return new Ph(r)}function la(t,e,i){if(i)t.classList.add(e);else t.classList.remove(e)}const ua="ProseMirror-menubar";function oa(){if(typeof navigator=="undefined")return false;let t=navigator.userAgent;return!/Edge\/\d/.test(t)&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t)}function fa(t){return new fn({view(e){return new ha(e,t)}})}class ha{constructor(t,e){this.editorView=t;this.options=e;this.spacer=null;this.maxHeight=0;this.widthForMaxHeight=0;this.floating=false;this.scrollHandler=null;this.wrapper=_h("div",{class:ua+"-wrapper"});this.menu=this.wrapper.appendChild(_h("div",{class:ua}));this.menu.className=ua;if(t.dom.parentNode)t.dom.parentNode.replaceChild(this.wrapper,t.dom);this.wrapper.appendChild(t.dom);let{dom:i,update:r}=Gh(this.editorView,this.options.content);this.contentUpdate=r;this.menu.appendChild(i);this.update();if(e.floating&&!oa()){this.updateFloat();let t=da(this.wrapper);this.scrollHandler=e=>{let i=this.editorView.root;if(!(i.body||i).contains(this.wrapper))t.forEach((t=>t.removeEventListener("scroll",this.scrollHandler)));else this.updateFloat(e.target.getBoundingClientRect?e.target:undefined)};t.forEach((t=>t.addEventListener("scroll",this.scrollHandler)))}}update(){this.contentUpdate(this.editorView.state);if(this.floating){this.updateScrollCursor()}else{if(this.menu.offsetWidth!=this.widthForMaxHeight){this.widthForMaxHeight=this.menu.offsetWidth;this.maxHeight=0}if(this.menu.offsetHeight>this.maxHeight){this.maxHeight=this.menu.offsetHeight;this.menu.style.minHeight=this.maxHeight+"px"}}}updateScrollCursor(){let t=this.editorView.root.getSelection();if(!t.focusNode)return;let e=t.getRangeAt(0).getClientRects();let i=e[aa(t)?0:e.length-1];if(!i)return;let r=this.menu.getBoundingClientRect();if(i.top<r.bottom&&i.bottom>r.top){let t=ca(this.wrapper);if(t)t.scrollTop-=r.bottom-i.top}}updateFloat(t){let e=this.wrapper,i=e.getBoundingClientRect(),r=t?Math.max(0,t.getBoundingClientRect().top):0;if(this.floating){if(i.top>=r||i.bottom<this.menu.offsetHeight+10){this.floating=false;this.menu.style.position=this.menu.style.left=this.menu.style.top=this.menu.style.width="";this.menu.style.display="";this.spacer.parentNode.removeChild(this.spacer);this.spacer=null}else{let n=(e.offsetWidth-e.clientWidth)/2;this.menu.style.left=i.left+n+"px";this.menu.style.display=i.top>(this.editorView.dom.ownerDocument.defaultView||window).innerHeight?"none":"";if(t)this.menu.style.top=r+"px"}}else{if(i.top<r&&i.bottom>=this.menu.offsetHeight+10){this.floating=true;let i=this.menu.getBoundingClientRect();this.menu.style.left=i.left+"px";this.menu.style.width=i.width+"px";if(t)this.menu.style.top=r+"px";this.menu.style.position="fixed";this.spacer=_h("div",{class:ua+"-spacer",style:`height: ${i.height}px`});e.insertBefore(this.spacer,this.menu)}}}destroy(){if(this.wrapper.parentNode)this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}}function aa(t){if(t.anchorNode==t.focusNode)return t.anchorOffset>t.focusOffset;return t.anchorNode.compareDocumentPosition(t.focusNode)==Node.DOCUMENT_POSITION_FOLLOWING}function ca(t){for(let e=t.parentNode;e;e=e.parentNode)if(e.scrollHeight>e.clientHeight)return e}function da(t){let e=[t.ownerDocument.defaultView||window];for(let i=t.parentNode;i;i=i.parentNode)e.push(i);return e}class pa{constructor(t,e,i={}){this.match=t;this.match=t;this.handler=typeof e=="string"?ma(e):e;this.undoable=i.undoable!==false;this.inCode=i.inCode||false}}function ma(t){return function(e,i,r,n){let s=t;if(i[1]){let t=i[0].lastIndexOf(i[1]);s+=i[0].slice(t+i[1].length);r+=t;let e=r-n;if(e>0){s=i[0].slice(t-e,t)+s;r=n}}return e.tr.insertText(s,r,n)}}const wa=500;function ga({rules:t}){let e=new fn({state:{init(){return null},apply(t,e){let i=t.getMeta(this);if(i)return i;return t.selectionSet||t.docChanged?null:e}},props:{handleTextInput(i,r,n,s){return ba(i,r,n,s,t,e)},handleDOMEvents:{compositionend:i=>{setTimeout((()=>{let{$cursor:r}=i.state.selection;if(r)ba(i,r.pos,r.pos,"",t,e)}))}}},isInputRules:true});return e}function ba(t,e,i,r,n,s){if(t.composing)return false;let l=t.state,u=l.doc.resolve(e);let o=u.parent.textBetween(Math.max(0,u.parentOffset-wa),u.parentOffset,null,"")+r;for(let f=0;f<n.length;f++){let h=n[f];if(u.parent.type.spec.code){if(!h.inCode)continue}else if(h.inCode==="only"){continue}let a=h.match.exec(o);let c=a&&h.handler(l,a,e-(a[0].length-r.length),i);if(!c)continue;if(h.undoable)c.setMeta(s,{transform:c,from:e,to:i,text:r});t.dispatch(c);return true}return false}const ka=(t,e)=>{let i=t.plugins;for(let r=0;r<i.length;r++){let n=i[r],s;if(n.spec.isInputRules&&(s=n.getState(t))){if(e){let i=t.tr,r=s.transform;for(let t=r.steps.length-1;t>=0;t--)i.step(r.steps[t].invert(r.docs[t]));if(s.text){let e=i.doc.resolve(s.from).marks();i.replaceWith(s.from,s.to,t.schema.text(s.text,e))}else{i.delete(s.from,s.to)}e(i)}return true}}return false};const Da=new pa(/--$/,"—");const va=new pa(/\.\.\.$/,"…");const ya=new pa(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(")$/,"“");const Fa=new pa(/"$/,"”");const Ea=new pa(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(')$/,"‘");const xa=new pa(/'$/,"’");const Ma=[ya,Fa,Ea,xa];function Aa(t,e,i=null,r){return new pa(t,((t,n,s,l)=>{let u=i instanceof Function?i(n):i;let o=t.tr.delete(s,l);let f=o.doc.resolve(s),h=f.blockRange(),a=h&&nr(h,e,u);if(!a)return null;o.wrap(h,a);let c=o.doc.resolve(s-1).nodeBefore;if(c&&c.type==e&&pr(o.doc,s-1)&&(!r||r(n,c)))o.join(s-1);return o}))}function Ca(t,e,i=null){return new pa(t,((t,r,n,s)=>{let l=t.doc.resolve(n);let u=i instanceof Function?i(r):i;if(!l.node(-1).canReplaceWith(l.index(-1),l.indexAfter(-1),e))return null;return t.tr.delete(n,s).setBlockType(n,n,e,u)}))}const Sa="ProseMirror-prompt";function Oa(t){let e=document.body.appendChild(document.createElement("div"));e.className=Sa;let i=t=>{if(!e.contains(t.target))r()};setTimeout((()=>window.addEventListener("mousedown",i)),50);let r=()=>{window.removeEventListener("mousedown",i);if(e.parentNode)e.parentNode.removeChild(e)};let n=[];for(let e in t.fields)n.push(t.fields[e].render());let s=document.createElement("button");s.type="submit";s.className=Sa+"-submit";s.textContent="OK";let l=document.createElement("button");l.type="button";l.className=Sa+"-cancel";l.textContent="Cancel";l.addEventListener("click",r);let u=e.appendChild(document.createElement("form"));if(t.title)u.appendChild(document.createElement("h5")).textContent=t.title;n.forEach((t=>{u.appendChild(document.createElement("div")).appendChild(t)}));let o=u.appendChild(document.createElement("div"));o.className=Sa+"-buttons";o.appendChild(s);o.appendChild(document.createTextNode(" "));o.appendChild(l);let f=e.getBoundingClientRect();e.style.top=(window.innerHeight-f.height)/2+"px";e.style.left=(window.innerWidth-f.width)/2+"px";let h=()=>{let e=$a(t.fields,n);if(e){r();t.callback(e)}};u.addEventListener("submit",(t=>{t.preventDefault();h()}));u.addEventListener("keydown",(t=>{if(t.keyCode==27){t.preventDefault();r()}else if(t.keyCode==13&&!(t.ctrlKey||t.metaKey||t.shiftKey)){t.preventDefault();h()}else if(t.keyCode==9){window.setTimeout((()=>{if(!e.contains(document.activeElement))r()}),500)}}));let a=u.elements[0];if(a)a.focus()}function $a(t,e){let i=Object.create(null),r=0;for(let n in t){let s=t[n],l=e[r++];let u=s.read(l),o=s.validate(u);if(o){_a(l,o);return null}i[n]=s.clean(u)}return i}function _a(t,e){let i=t.parentNode;let r=i.appendChild(document.createElement("div"));r.style.left=t.offsetLeft+t.offsetWidth+2+"px";r.style.top=t.offsetTop-5+"px";r.className="ProseMirror-invalid";r.textContent=e;setTimeout((()=>i.removeChild(r)),1500)}class Ba{constructor(t){this.options=t}read(t){return t.value}validateType(t){return null}validate(t){if(!t&&this.options.required)return"Required field";return this.validateType(t)||(this.options.validate?this.options.validate(t):null)}clean(t){return this.options.clean?this.options.clean(t):t}}class ja extends Ba{render(){let t=document.createElement("input");t.type="text";t.placeholder=this.options.label;t.value=this.options.value||"";t.autocomplete="off";return t}}function qa(t,e){let i=t.selection.$from;for(let t=i.depth;t>=0;t--){let r=i.index(t);if(i.node(t).canReplaceWith(r,r,e))return true}return false}function Ra(t){return new Ph({title:"Insert image",label:"Image",enable(e){return qa(e,t)},run(e,i,r){let{from:n,to:s}=e.selection,l=null;if(e.selection instanceof Hr&&e.selection.node.type==t)l=e.selection.node.attrs;Oa({title:"Insert image",fields:{src:new ja({label:"Location",required:true,value:l&&l.src}),title:new ja({label:"Title",value:l&&l.title}),alt:new ja({label:"Description",value:l?l.alt:e.doc.textBetween(n,s," ")})},callback(e){r.dispatch(r.state.tr.replaceSelectionWith(t.createAndFill(e)));r.focus()}})}})}function Na(t,e){let i={label:e.title,run:t};for(let t in e)i[t]=e[t];if(!e.enable&&!e.select)i[e.enable?"enable":"select"]=e=>t(e);return new Ph(i)}function za(t,e){let{from:i,$from:r,to:n,empty:s}=t.selection;if(s)return!!e.isInSet(t.storedMarks||r.marks());else return t.doc.rangeHasMark(i,n,e)}function Ta(t,e){let i={active(e){return za(e,t)}};for(let t in e)i[t]=e[t];return Na(ch(t),i)}function Ia(t){return new Ph({title:"Add or remove link",icon:Yh.link,active(e){return za(e,t)},enable(t){return!t.selection.empty},run(e,i,r){if(za(e,t)){ch(t)(e,i);return true}Oa({title:"Create a link",fields:{href:new ja({label:"Link target",required:true}),title:new ja({label:"Title"})},callback(e){ch(t,e)(r.state,r.dispatch);r.focus()}})}})}function Pa(t,e){return Na(Ho(t,e.attrs),e)}function Ja(t){let e={};let i;if(i=t.marks.strong)e.toggleStrong=Ta(i,{title:"Toggle strong style",icon:Yh.strong});if(i=t.marks.em)e.toggleEm=Ta(i,{title:"Toggle emphasis",icon:Yh.em});if(i=t.marks.code)e.toggleCode=Ta(i,{title:"Toggle code font",icon:Yh.code});if(i=t.marks.link)e.toggleLink=Ia(i);let r;if(r=t.nodes.image)e.insertImage=Ra(r);if(r=t.nodes.bullet_list)e.wrapBulletList=Pa(r,{title:"Wrap in bullet list",icon:Yh.bulletList});if(r=t.nodes.ordered_list)e.wrapOrderedList=Pa(r,{title:"Wrap in ordered list",icon:Yh.orderedList});if(r=t.nodes.blockquote)e.wrapBlockQuote=na(r,{title:"Wrap in block quote",icon:Yh.blockquote});if(r=t.nodes.paragraph)e.makeParagraph=sa(r,{title:"Change to paragraph",label:"Plain"});if(r=t.nodes.code_block)e.makeCodeBlock=sa(r,{title:"Change to code block",label:"Code"});if(r=t.nodes.heading)for(let t=1;t<=10;t++)e["makeHead"+t]=sa(r,{title:"Change to heading "+t,label:"Level "+t,attrs:{level:t}});if(r=t.nodes.horizontal_rule){let t=r;e.insertHorizontalRule=new Ph({title:"Insert horizontal rule",label:"Horizontal rule",enable(e){return qa(e,t)},run(e,i){i(e.tr.replaceSelectionWith(t.create()))}})}let n=t=>t.filter((t=>t));e.insertMenu=new Hh(n([e.insertImage,e.insertHorizontalRule]),{label:"Insert"});e.typeMenu=new Hh(n([e.makeParagraph,e.makeCodeBlock,e.makeHead1&&new Vh(n([e.makeHead1,e.makeHead2,e.makeHead3,e.makeHead4,e.makeHead5,e.makeHead6]),{label:"Heading"})]),{label:"Type..."});e.inlineMenu=[n([e.toggleStrong,e.toggleEm,e.toggleCode,e.toggleLink])];e.blockMenu=[n([e.wrapBulletList,e.wrapOrderedList,e.wrapBlockQuote,Qh,ta,ea])];e.fullMenu=e.inlineMenu.concat([[e.insertMenu,e.typeMenu]],[[ia,ra]],e.blockMenu);return e}const La=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function Ua(t,e){let i={},r;function n(t,r){if(e){let i=e[t];if(i===false)return;if(i)t=i}i[t]=r}n("Mod-z",jf);n("Shift-Mod-z",qf);n("Backspace",ka);if(!La)n("Mod-y",qf);n("Alt-ArrowUp",Hf);n("Alt-ArrowDown",Zf);n("Mod-BracketLeft",Kf);n("Escape",ih);if(r=t.marks.strong){n("Mod-b",ch(r));n("Mod-B",ch(r))}if(r=t.marks.em){n("Mod-i",ch(r));n("Mod-I",ch(r))}if(r=t.marks.code)n("Mod-`",ch(r));if(r=t.nodes.bullet_list)n("Shift-Ctrl-8",Ho(r));if(r=t.nodes.ordered_list)n("Shift-Ctrl-9",Ho(r));if(r=t.nodes.blockquote)n("Ctrl->",fh(r));if(r=t.nodes.hard_break){let t=r,e=dh(Xf,((e,i)=>{if(i)i(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}));n("Mod-Enter",e);n("Shift-Enter",e);if(La)n("Ctrl-Enter",e)}if(r=t.nodes.list_item){n("Enter",Ko(r));n("Mod-[",Vo(r));n("Mod-]",Yo(r))}if(r=t.nodes.paragraph)n("Shift-Ctrl-0",hh(r));if(r=t.nodes.code_block)n("Shift-Ctrl-\\",hh(r));if(r=t.nodes.heading)for(let t=1;t<=6;t++)n("Shift-Ctrl-"+t,hh(r,{level:t}));if(r=t.nodes.horizontal_rule){let t=r;n("Mod-_",((e,i)=>{if(i)i(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}))}return i}function Wa(t){return Aa(/^\s*>\s$/,t)}function Ha(t){return Aa(/^(\d+)\.\s$/,t,(t=>({order:+t[1]})),((t,e)=>e.childCount+e.attrs.order==+t[1]))}function Za(t){return Aa(/^\s*([-+*])\s$/,t)}function Ka(t){return Ca(/^```$/,t)}function Va(t,e){return Ca(new RegExp("^(#{1,"+e+"})\\s$"),t,(t=>({level:t[1].length})))}function Ga(t){let e=Ma.concat(va,Da),i;if(i=t.nodes.blockquote)e.push(Wa(i));if(i=t.nodes.ordered_list)e.push(Ha(i));if(i=t.nodes.bullet_list)e.push(Za(i));if(i=t.nodes.code_block)e.push(Ka(i));if(i=t.nodes.heading)e.push(Va(i,6));return ga({rules:e})}function Xa(t){let e=[Ga(t.schema),af(Ua(t.schema,t.mapKeys)),af(kh),Dh(),Mh()];if(t.menuBar!==false)e.push(fa({floating:t.floatingMenu!==false,content:t.menuContent||Ja(t.schema).fullMenu}));if(t.history!==false)e.push(Bf());return e.concat(new fn({props:{attributes:{class:"ProseMirror-example-setup-style"}}}))}const Ya={Bold:"strong",Italic:"em",Blockquote:"blockquote",HeaderLevel1:"headerlevel1",HeaderLevel2:"headerlevel2",HeaderLevel3:"headerlevel3",Link:"link",OrderedList:"ordered_list",BulletList:"bullet_list",Strikethrough:"strikethrough",Code:"code",CodeBlock:"code_block"};const Qa={Heading:"heading",one:1,two:2,three:3};const tc=(t,e)=>{t.active=t=>{const{from:i,$from:r,to:n,empty:s}=t.selection;if(s){return!!e.isInSet(t.storedMarks||r.marks())}else{return t.doc.rangeHasMark(i,n,e)}}};const ec=(t,e,i)=>{t.active=t=>{const{$from:r}=t.selection;const n=r.node(r.depth);if(n&&n.type.name===e.name){if(e.name===Qa.Heading&&i){return n.attrs.level===i}return true}return false}};const ic=(t,e)=>{t.active=t=>{const{from:i,to:r}=t.selection;for(let n=i;n<=r;n++){const i=t.doc.resolve(n);for(let t=i.depth;t>0;t--){const r=i.node(t);if(r&&r.type.name===e.name){return true}}}return false}};const rc=(t,e,i)=>{const r=(e,r)=>{const{from:n,to:s}=e.selection;if(n===s){const s=t.marks.link.create({href:i.href,title:i.href,target:lc(i.href)?"_blank":null});const l=i.text||i.href;const u=t.text(l,[s]);r(e.tr.insert(n,u))}else{const l=t.marks.link.create({href:i.href,title:i.href,target:lc(i.href)?"_blank":null});const u=e.doc.textBetween(n,s," ");const o=t.text(i.text||u,[l]);r(e.tr.replaceWith(n,s,o))}return true};tc(r,t.marks.link);return r};const nc=(t,e,i)=>{const r=t.marks[e];if(!r){throw new Error(`Mark "${e}" not found in schema`)}const n=sc(e,i);const s=ch(r,n);tc(s,r);return s};const sc=(t,e)=>{if(t===Ya.Link&&e.href){return{href:e.href,target:lc(e.href)?"_blank":null}}return undefined};const lc=t=>!t.startsWith(window.location.origin);const uc=(t,e,i={},r=false)=>{const n=t.nodes[e];const s=t.nodes.paragraph;return(t,e)=>{const{$from:l,to:u}=t.selection;if(t.selection instanceof Ur&&l.sameParent(l.doc.resolve(u))){if(l.parent.type===n){if(e){e(t.tr.setBlockType(l.pos,u,s))}return true}else{if(r){return fh(n,i)(t,e)}else{return hh(n,i)(t,e)}}}return false}};const oc=t=>{try{new URL(t)}catch(t){return false}return true};const fc=(t,e,i)=>{const r=t.nodes[e];if(!r){throw new Error(`Node type "${e}" not found in schema`)}let n;if(e===Qa.Heading&&i){n=uc(t,Qa.Heading,{level:i})}else if(e===Ya.CodeBlock){n=uc(t,Ya.CodeBlock)}else{n=hh(r)}ec(n,r,i);return n};const hc=(t,e)=>{const i=t.nodes[e];if(!i){throw new Error(`Node type "${e}" not found in schema`)}let r;if(e===Ya.Blockquote){r=uc(t,Ya.Blockquote,{},true)}else{r=fh(i)}ic(r,i);return r};const ac=t=>(e,i)=>{const{$from:r,$to:n}=e.selection;const s=r.blockRange(n);if(!s){return false}const l=s&&nr(s,t);if(l){if(i){i(e.tr.wrap(s,l).scrollIntoView())}return true}else{const t=s&&ir(s);if(t!==null){if(i){i(e.tr.lift(s,t).scrollIntoView())}return true}return false}};const cc=(t,e)=>{const i=t.nodes[e];if(!i){throw new Error(`List type "${e}" not found in schema`)}const r=ac(i);ic(r,i);return r};const dc=(t,e)=>{const{from:i,to:r}=t.selection;if(i===r){return false}const n=window.clipboardData;if(!n){return false}const s=n.getData("text");if(!oc(s)){return false}const l=t.schema.marks.link.create({href:s,target:lc(s)?"_blank":null});const u=t.doc.textBetween(i,r," ");const o=t.schema.text(u,[l]);e(t.tr.replaceWith(i,r,o))};const pc={strong:nc,em:nc,underline:nc,strikethrough:nc,code:nc,link:rc,headerlevel1:t=>fc(t,Qa.Heading,Qa.one),headerlevel2:t=>fc(t,Qa.Heading,Qa.two),headerlevel3:t=>fc(t,Qa.Heading,Qa.three),blockquote:t=>hc(t,Ya.Blockquote),code_block:t=>fc(t,Ya.CodeBlock),ordered_list:t=>cc(t,Ya.OrderedList),bullet_list:t=>cc(t,Ya.BulletList)};class mc{constructor(t){this.schema=t}getCommand(t,e){const i=pc[t];if(!i){throw new Error(`The Mark "${t}" is not supported`)}return i(this.schema,t,e)}buildKeymap(){return{"Mod-B":this.getCommand(Ya.Bold),"Mod-I":this.getCommand(Ya.Italic),"Mod-Shift-1":this.getCommand(Ya.HeaderLevel1),"Mod-Shift-2":this.getCommand(Ya.HeaderLevel2),"Mod-Shift-3":this.getCommand(Ya.HeaderLevel3),"Mod-Shift-X":this.getCommand(Ya.Strikethrough),"Mod-`":this.getCommand(Ya.Code),"Mod-Shift-C":this.getCommand(Ya.CodeBlock),"Mod-v":dc}}}const wc=()=>{const t=/Macintosh|MacIntel|MacPPC|Mac68K/;if(navigator.userAgent.match(t)){return{mod:"⌘",option:"⌥",shift:"⇧"}}return{mod:"Ctrl",option:"Alt",shift:"Shift"}};const{mod:gc,shift:bc}=wc();const kc=[{value:Ya.Bold,text:"Bold",commandText:`${gc} B`,icon:"-lime-text-bold",iconOnly:true,selected:false},{value:Ya.Italic,text:"Italic",commandText:`${gc} I`,icon:"-lime-text-italic",iconOnly:true,selected:false},{value:Ya.Strikethrough,text:"Strikethrough",commandText:`${gc} ${bc} X`,icon:"-lime-text-strikethrough",iconOnly:true,selected:false},{value:Ya.Code,text:"Code",commandText:`${gc} \``,icon:"-lime-text-code",iconOnly:true,selected:false},{value:Ya.CodeBlock,text:"Code Block",commandText:`${gc} ${bc} C`,icon:"-lime-text-code-block",iconOnly:true,selected:false},{separator:true},{value:Ya.HeaderLevel1,text:"Header 1",commandText:`${gc} ${bc} 1`,icon:"-lime-text-h-heading-1",iconOnly:true,selected:false},{value:Ya.HeaderLevel2,text:"Header 2",commandText:`${gc} ${bc} 2`,icon:"-lime-text-h-heading-2",iconOnly:true,selected:false},{value:Ya.HeaderLevel3,text:"Header 3",commandText:`${gc} ${bc} 3`,icon:"-lime-text-h-heading-3",iconOnly:true,selected:false},{separator:true},{value:Ya.BulletList,text:"Bullet list",icon:"-lime-text-bulleted-list",iconOnly:true,selected:false},{value:Ya.OrderedList,text:"Numbered list",icon:"-lime-text-ordered-list",iconOnly:true,selected:false},{value:Ya.Blockquote,text:"Blockquote",icon:"-lime-text-blockquote",iconOnly:true,selected:false},{value:Ya.Link,text:"Link",icon:"-lime-text-link",iconOnly:true}];const Dc=()=>he(kc);const vc={strong:"editor-menu.bold",em:"editor-menu.italic",headerlevel1:"editor-menu.h1",headerlevel2:"editor-menu.h2",headerlevel3:"editor-menu.h3",bullet_list:"editor-menu.bulleted-list",ordered_list:"editor-menu.numbered-list",code_block:"editor-menu.code-block",blockquote:"editor-menu.blockquote",link:"editor-menu.link",strikethrough:"editor-menu.strikethrough",code:"editor-menu.code"};const yc={};function Fc(t){let e=yc[t];if(e){return e}e=yc[t]=[];for(let t=0;t<128;t++){const i=String.fromCharCode(t);e.push(i)}for(let i=0;i<t.length;i++){const r=t.charCodeAt(i);e[r]="%"+("0"+r.toString(16).toUpperCase()).slice(-2)}return e}function Ec(t,e){if(typeof e!=="string"){e=Ec.defaultChars}const i=Fc(e);return t.replace(/(%[a-f0-9]{2})+/gi,(function(t){let e="";for(let r=0,n=t.length;r<n;r+=3){const s=parseInt(t.slice(r+1,r+3),16);if(s<128){e+=i[s];continue}if((s&224)===192&&r+3<n){const i=parseInt(t.slice(r+4,r+6),16);if((i&192)===128){const t=s<<6&1984|i&63;if(t<128){e+="��"}else{e+=String.fromCharCode(t)}r+=3;continue}}if((s&240)===224&&r+6<n){const i=parseInt(t.slice(r+4,r+6),16);const n=parseInt(t.slice(r+7,r+9),16);if((i&192)===128&&(n&192)===128){const t=s<<12&61440|i<<6&4032|n&63;if(t<2048||t>=55296&&t<=57343){e+="���"}else{e+=String.fromCharCode(t)}r+=6;continue}}if((s&248)===240&&r+9<n){const i=parseInt(t.slice(r+4,r+6),16);const n=parseInt(t.slice(r+7,r+9),16);const l=parseInt(t.slice(r+10,r+12),16);if((i&192)===128&&(n&192)===128&&(l&192)===128){let t=s<<18&1835008|i<<12&258048|n<<6&4032|l&63;if(t<65536||t>1114111){e+="����"}else{t-=65536;e+=String.fromCharCode(55296+(t>>10),56320+(t&1023))}r+=9;continue}}e+="�"}return e}))}Ec.defaultChars=";/?:@&=+$,#";Ec.componentChars="";const xc={};function Mc(t){let e=xc[t];if(e){return e}e=xc[t]=[];for(let t=0;t<128;t++){const i=String.fromCharCode(t);if(/^[0-9a-z]$/i.test(i)){e.push(i)}else{e.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}}for(let i=0;i<t.length;i++){e[t.charCodeAt(i)]=t[i]}return e}function Ac(t,e,i){if(typeof e!=="string"){i=e;e=Ac.defaultChars}if(typeof i==="undefined"){i=true}const r=Mc(e);let n="";for(let e=0,s=t.length;e<s;e++){const l=t.charCodeAt(e);if(i&&l===37&&e+2<s){if(/^[0-9a-f]{2}$/i.test(t.slice(e+1,e+3))){n+=t.slice(e,e+3);e+=2;continue}}if(l<128){n+=r[l];continue}if(l>=55296&&l<=57343){if(l>=55296&&l<=56319&&e+1<s){const i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){n+=encodeURIComponent(t[e]+t[e+1]);e++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(t[e])}return n}Ac.defaultChars=";/?:@&=+$,-_.!~*'()#";Ac.componentChars="-_.!~*'()";function Cc(t){let e="";e+=t.protocol||"";e+=t.slashes?"//":"";e+=t.auth?t.auth+"@":"";if(t.hostname&&t.hostname.indexOf(":")!==-1){e+="["+t.hostname+"]"}else{e+=t.hostname||""}e+=t.port?":"+t.port:"";e+=t.pathname||"";e+=t.search||"";e+=t.hash||"";return e}function Sc(){this.protocol=null;this.slashes=null;this.auth=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.pathname=null}const Oc=/^([a-z0-9.+-]+:)/i;const $c=/:[0-9]*$/;const _c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/;const Bc=["<",">",'"',"`"," ","\r","\n","\t"];const jc=["{","}","|","\\","^","`"].concat(Bc);const qc=["'"].concat(jc);const Rc=["%","/","?",";","#"].concat(qc);const Nc=["/","?","#"];const zc=255;const Tc=/^[+a-z0-9A-Z_-]{0,63}$/;const Ic=/^([+a-z0-9A-Z_-]{0,63})(.*)$/;const Pc={javascript:true,"javascript:":true};const Jc={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true};function Lc(t,e){if(t&&t instanceof Sc)return t;const i=new Sc;i.parse(t,e);return i}Sc.prototype.parse=function(t,e){let i,r,n;let s=t;s=s.trim();if(!e&&t.split("#").length===1){const t=_c.exec(s);if(t){this.pathname=t[1];if(t[2]){this.search=t[2]}return this}}let l=Oc.exec(s);if(l){l=l[0];i=l.toLowerCase();this.protocol=l;s=s.substr(l.length)}if(e||l||s.match(/^\/\/[^@\/]+@[^@\/]+/)){n=s.substr(0,2)==="//";if(n&&!(l&&Pc[l])){s=s.substr(2);this.slashes=true}}if(!Pc[l]&&(n||l&&!Jc[l])){let t=-1;for(let e=0;e<Nc.length;e++){r=s.indexOf(Nc[e]);if(r!==-1&&(t===-1||r<t)){t=r}}let e,i;if(t===-1){i=s.lastIndexOf("@")}else{i=s.lastIndexOf("@",t)}if(i!==-1){e=s.slice(0,i);s=s.slice(i+1);this.auth=e}t=-1;for(let e=0;e<Rc.length;e++){r=s.indexOf(Rc[e]);if(r!==-1&&(t===-1||r<t)){t=r}}if(t===-1){t=s.length}if(s[t-1]===":"){t--}const n=s.slice(0,t);s=s.slice(t);this.parseHost(n);this.hostname=this.hostname||"";const l=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!l){const t=this.hostname.split(/\./);for(let e=0,i=t.length;e<i;e++){const i=t[e];if(!i){continue}if(!i.match(Tc)){let r="";for(let t=0,e=i.length;t<e;t++){if(i.charCodeAt(t)>127){r+="x"}else{r+=i[t]}}if(!r.match(Tc)){const r=t.slice(0,e);const n=t.slice(e+1);const l=i.match(Ic);if(l){r.push(l[1]);n.unshift(l[2])}if(n.length){s=n.join(".")+s}this.hostname=r.join(".");break}}}}if(this.hostname.length>zc){this.hostname=""}if(l){this.hostname=this.hostname.substr(1,this.hostname.length-2)}}const u=s.indexOf("#");if(u!==-1){this.hash=s.substr(u);s=s.slice(0,u)}const o=s.indexOf("?");if(o!==-1){this.search=s.substr(o);s=s.slice(0,o)}if(s){this.pathname=s}if(Jc[i]&&this.hostname&&!this.pathname){this.pathname=""}return this};Sc.prototype.parseHost=function(t){let e=$c.exec(t);if(e){e=e[0];if(e!==":"){this.port=e.substr(1)}t=t.substr(0,t.length-e.length)}if(t){this.hostname=t}};const Uc=Object.freeze({__proto__:null,decode:Ec,encode:Ac,format:Cc,parse:Lc});const Wc=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;const Hc=/[\0-\x1F\x7F-\x9F]/;const Zc=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;const Kc=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;const Vc=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;const Gc=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;const Xc=Object.freeze({__proto__:null,Any:Wc,Cc:Hc,Cf:Zc,P:Kc,S:Vc,Z:Gc});function Yc(t){return Object.prototype.toString.call(t)}function Qc(t){return Yc(t)==="[object String]"}const td=Object.prototype.hasOwnProperty;function ed(t,e){return td.call(t,e)}function id(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}if(typeof e!=="object"){throw new TypeError(e+"must be object")}Object.keys(e).forEach((function(i){t[i]=e[i]}))}));return t}function rd(t,e,i){return[].concat(t.slice(0,e),i,t.slice(e+1))}function nd(t){if(t>=55296&&t<=57343){return false}if(t>=64976&&t<=65007){return false}if((t&65535)===65535||(t&65535)===65534){return false}if(t>=0&&t<=8){return false}if(t===11){return false}if(t>=14&&t<=31){return false}if(t>=127&&t<=159){return false}if(t>1114111){return false}return true}function sd(t){if(t>65535){t-=65536;const e=55296+(t>>10);const i=56320+(t&1023);return String.fromCharCode(e,i)}return String.fromCharCode(t)}const ld=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;const ud=/&([a-z#][a-z0-9]{1,31});/gi;const od=new RegExp(ld.source+"|"+ud.source,"gi");const fd=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function hd(t,e){if(e.charCodeAt(0)===35&&fd.test(e)){const i=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);if(nd(i)){return sd(i)}return t}const i=x(t);if(i!==t){return i}return t}function ad(t){if(t.indexOf("\\")<0){return t}return t.replace(ld,"$1")}function cd(t){if(t.indexOf("\\")<0&&t.indexOf("&")<0){return t}return t.replace(od,(function(t,e,i){if(e){return e}return hd(t,i)}))}const dd=/[&<>"]/;const pd=/[&<>"]/g;const md={"&":"&","<":"<",">":">",'"':"""};function wd(t){return md[t]}function gd(t){if(dd.test(t)){return t.replace(pd,wd)}return t}const bd=/[.?*+^$[\]\\(){}|-]/g;function kd(t){return t.replace(bd,"\\$&")}function Dd(t){switch(t){case 9:case 32:return true}return false}function vd(t){if(t>=8192&&t<=8202){return true}switch(t){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return true}return false}function yd(t){return Kc.test(t)||Vc.test(t)}function Fd(t){switch(t){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return true;default:return false}}function Ed(t){t=t.trim().replace(/\s+/g," ");if("ẞ".toLowerCase()==="Ṿ"){t=t.replace(/ẞ/g,"ß")}return t.toLowerCase().toUpperCase()}const xd={mdurl:Uc,ucmicro:Xc};const Md=Object.freeze({__proto__:null,lib:xd,assign:id,isString:Qc,has:ed,unescapeMd:ad,unescapeAll:cd,isValidEntityCode:nd,fromCodePoint:sd,escapeHtml:gd,arrayReplaceAt:rd,isSpace:Dd,isWhiteSpace:vd,isMdAsciiPunct:Fd,isPunctChar:yd,escapeRE:kd,normalizeReference:Ed});function Ad(t,e,i){let r,n,s,l;const u=t.posMax;const o=t.pos;t.pos=e+1;r=1;while(t.pos<u){s=t.src.charCodeAt(t.pos);if(s===93){r--;if(r===0){n=true;break}}l=t.pos;t.md.inline.skipToken(t);if(s===91){if(l===t.pos-1){r++}else if(i){t.pos=o;return-1}}}let f=-1;if(n){f=t.pos}t.pos=o;return f}function Cd(t,e,i){let r;let n=e;const s={ok:false,pos:0,str:""};if(t.charCodeAt(n)===60){n++;while(n<i){r=t.charCodeAt(n);if(r===10){return s}if(r===60){return s}if(r===62){s.pos=n+1;s.str=cd(t.slice(e+1,n));s.ok=true;return s}if(r===92&&n+1<i){n+=2;continue}n++}return s}let l=0;while(n<i){r=t.charCodeAt(n);if(r===32){break}if(r<32||r===127){break}if(r===92&&n+1<i){if(t.charCodeAt(n+1)===32){break}n+=2;continue}if(r===40){l++;if(l>32){return s}}if(r===41){if(l===0){break}l--}n++}if(e===n){return s}if(l!==0){return s}s.str=cd(t.slice(e,n));s.pos=n;s.ok=true;return s}function Sd(t,e,i,r){let n;let s=e;const l={ok:false,can_continue:false,pos:0,str:"",marker:0};if(r){l.str=r.str;l.marker=r.marker}else{if(s>=i){return l}let r=t.charCodeAt(s);if(r!==34&&r!==39&&r!==40){return l}e++;s++;if(r===40){r=41}l.marker=r}while(s<i){n=t.charCodeAt(s);if(n===l.marker){l.pos=s+1;l.str+=cd(t.slice(e,s));l.ok=true;return l}else if(n===40&&l.marker===41){return l}else if(n===92&&s+1<i){s++}s++}l.can_continue=true;l.str+=cd(t.slice(e,s));return l}const Od=Object.freeze({__proto__:null,parseLinkLabel:Ad,parseLinkDestination:Cd,parseLinkTitle:Sd});const $d={};$d.code_inline=function(t,e,i,r,n){const s=t[e];return"<code"+n.renderAttrs(s)+">"+gd(s.content)+"</code>"};$d.code_block=function(t,e,i,r,n){const s=t[e];return"<pre"+n.renderAttrs(s)+"><code>"+gd(t[e].content)+"</code></pre>\n"};$d.fence=function(t,e,i,r,n){const s=t[e];const l=s.info?cd(s.info).trim():"";let u="";let o="";if(l){const t=l.split(/(\s+)/g);u=t[0];o=t.slice(2).join("")}let f;if(i.highlight){f=i.highlight(s.content,u,o)||gd(s.content)}else{f=gd(s.content)}if(f.indexOf("<pre")===0){return f+"\n"}if(l){const t=s.attrIndex("class");const e=s.attrs?s.attrs.slice():[];if(t<0){e.push(["class",i.langPrefix+u])}else{e[t]=e[t].slice();e[t][1]+=" "+i.langPrefix+u}const r={attrs:e};return`<pre><code${n.renderAttrs(r)}>${f}</code></pre>\n`}return`<pre><code${n.renderAttrs(s)}>${f}</code></pre>\n`};$d.image=function(t,e,i,r,n){const s=t[e];s.attrs[s.attrIndex("alt")][1]=n.renderInlineAsText(s.children,i,r);return n.renderToken(t,e,i)};$d.hardbreak=function(t,e,i){return i.xhtmlOut?"<br />\n":"<br>\n"};$d.softbreak=function(t,e,i){return i.breaks?i.xhtmlOut?"<br />\n":"<br>\n":"\n"};$d.text=function(t,e){return gd(t[e].content)};$d.html_block=function(t,e){return t[e].content};$d.html_inline=function(t,e){return t[e].content};function _d(){this.rules=id({},$d)}_d.prototype.renderAttrs=function t(e){let i,r,n;if(!e.attrs){return""}n="";for(i=0,r=e.attrs.length;i<r;i++){n+=" "+gd(e.attrs[i][0])+'="'+gd(e.attrs[i][1])+'"'}return n};_d.prototype.renderToken=function t(e,i,r){const n=e[i];let s="";if(n.hidden){return""}if(n.block&&n.nesting!==-1&&i&&e[i-1].hidden){s+="\n"}s+=(n.nesting===-1?"</":"<")+n.tag;s+=this.renderAttrs(n);if(n.nesting===0&&r.xhtmlOut){s+=" /"}let l=false;if(n.block){l=true;if(n.nesting===1){if(i+1<e.length){const t=e[i+1];if(t.type==="inline"||t.hidden){l=false}else if(t.nesting===-1&&t.tag===n.tag){l=false}}}}s+=l?">\n":">";return s};_d.prototype.renderInline=function(t,e,i){let r="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(typeof n[l]!=="undefined"){r+=n[l](t,s,e,i,this)}else{r+=this.renderToken(t,s,e)}}return r};_d.prototype.renderInlineAsText=function(t,e,i){let r="";for(let n=0,s=t.length;n<s;n++){switch(t[n].type){case"text":r+=t[n].content;break;case"image":r+=this.renderInlineAsText(t[n].children,e,i);break;case"html_inline":case"html_block":r+=t[n].content;break;case"softbreak":case"hardbreak":r+="\n";break}}return r};_d.prototype.render=function(t,e,i){let r="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(l==="inline"){r+=this.renderInline(t[s].children,e,i)}else if(typeof n[l]!=="undefined"){r+=n[l](t,s,e,i,this)}else{r+=this.renderToken(t,s,e,i)}}return r};function Bd(){this.__rules__=[];this.__cache__=null}Bd.prototype.__find__=function(t){for(let e=0;e<this.__rules__.length;e++){if(this.__rules__[e].name===t){return e}}return-1};Bd.prototype.__compile__=function(){const t=this;const e=[""];t.__rules__.forEach((function(t){if(!t.enabled){return}t.alt.forEach((function(t){if(e.indexOf(t)<0){e.push(t)}}))}));t.__cache__={};e.forEach((function(e){t.__cache__[e]=[];t.__rules__.forEach((function(i){if(!i.enabled){return}if(e&&i.alt.indexOf(e)<0){return}t.__cache__[e].push(i.fn)}))}))};Bd.prototype.at=function(t,e,i){const r=this.__find__(t);const n=i||{};if(r===-1){throw new Error("Parser rule not found: "+t)}this.__rules__[r].fn=e;this.__rules__[r].alt=n.alt||[];this.__cache__=null};Bd.prototype.before=function(t,e,i,r){const n=this.__find__(t);const s=r||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n,0,{name:e,enabled:true,fn:i,alt:s.alt||[]});this.__cache__=null};Bd.prototype.after=function(t,e,i,r){const n=this.__find__(t);const s=r||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n+1,0,{name:e,enabled:true,fn:i,alt:s.alt||[]});this.__cache__=null};Bd.prototype.push=function(t,e,i){const r=i||{};this.__rules__.push({name:t,enabled:true,fn:e,alt:r.alt||[]});this.__cache__=null};Bd.prototype.enable=function(t,e){if(!Array.isArray(t)){t=[t]}const i=[];t.forEach((function(t){const r=this.__find__(t);if(r<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[r].enabled=true;i.push(t)}),this);this.__cache__=null;return i};Bd.prototype.enableOnly=function(t,e){if(!Array.isArray(t)){t=[t]}this.__rules__.forEach((function(t){t.enabled=false}));this.enable(t,e)};Bd.prototype.disable=function(t,e){if(!Array.isArray(t)){t=[t]}const i=[];t.forEach((function(t){const r=this.__find__(t);if(r<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[r].enabled=false;i.push(t)}),this);this.__cache__=null;return i};Bd.prototype.getRules=function(t){if(this.__cache__===null){this.__compile__()}return this.__cache__[t]||[]};function jd(t,e,i){this.type=t;this.tag=e;this.attrs=null;this.map=null;this.nesting=i;this.level=0;this.children=null;this.content="";this.markup="";this.info="";this.meta=null;this.block=false;this.hidden=false}jd.prototype.attrIndex=function t(e){if(!this.attrs){return-1}const i=this.attrs;for(let t=0,r=i.length;t<r;t++){if(i[t][0]===e){return t}}return-1};jd.prototype.attrPush=function t(e){if(this.attrs){this.attrs.push(e)}else{this.attrs=[e]}};jd.prototype.attrSet=function t(e,i){const r=this.attrIndex(e);const n=[e,i];if(r<0){this.attrPush(n)}else{this.attrs[r]=n}};jd.prototype.attrGet=function t(e){const i=this.attrIndex(e);let r=null;if(i>=0){r=this.attrs[i][1]}return r};jd.prototype.attrJoin=function t(e,i){const r=this.attrIndex(e);if(r<0){this.attrPush([e,i])}else{this.attrs[r][1]=this.attrs[r][1]+" "+i}};function qd(t,e,i){this.src=t;this.env=i;this.tokens=[];this.inlineMode=false;this.md=e}qd.prototype.Token=jd;const Rd=/\r\n?|\n/g;const Nd=/\0/g;function zd(t){let e;e=t.src.replace(Rd,"\n");e=e.replace(Nd,"�");t.src=e}function Td(t){let e;if(t.inlineMode){e=new t.Token("inline","",0);e.content=t.src;e.map=[0,1];e.children=[];t.tokens.push(e)}else{t.md.block.parse(t.src,t.md,t.env,t.tokens)}}function Id(t){const e=t.tokens;for(let i=0,r=e.length;i<r;i++){const r=e[i];if(r.type==="inline"){t.md.inline.parse(r.content,t.md,t.env,r.children)}}}function Pd(t){return/^<a[>\s]/i.test(t)}function Jd(t){return/^<\/a\s*>/i.test(t)}function Ld(t){const e=t.tokens;if(!t.md.options.linkify){return}for(let i=0,r=e.length;i<r;i++){if(e[i].type!=="inline"||!t.md.linkify.pretest(e[i].content)){continue}let r=e[i].children;let n=0;for(let s=r.length-1;s>=0;s--){const l=r[s];if(l.type==="link_close"){s--;while(r[s].level!==l.level&&r[s].type!=="link_open"){s--}continue}if(l.type==="html_inline"){if(Pd(l.content)&&n>0){n--}if(Jd(l.content)){n++}}if(n>0){continue}if(l.type==="text"&&t.md.linkify.test(l.content)){const n=l.content;let u=t.md.linkify.match(n);const o=[];let f=l.level;let h=0;if(u.length>0&&u[0].index===0&&s>0&&r[s-1].type==="text_special"){u=u.slice(1)}for(let e=0;e<u.length;e++){const i=u[e].url;const r=t.md.normalizeLink(i);if(!t.md.validateLink(r)){continue}let s=u[e].text;if(!u[e].schema){s=t.md.normalizeLinkText("http://"+s).replace(/^http:\/\//,"")}else if(u[e].schema==="mailto:"&&!/^mailto:/i.test(s)){s=t.md.normalizeLinkText("mailto:"+s).replace(/^mailto:/,"")}else{s=t.md.normalizeLinkText(s)}const l=u[e].index;if(l>h){const e=new t.Token("text","",0);e.content=n.slice(h,l);e.level=f;o.push(e)}const a=new t.Token("link_open","a",1);a.attrs=[["href",r]];a.level=f++;a.markup="linkify";a.info="auto";o.push(a);const c=new t.Token("text","",0);c.content=s;c.level=f;o.push(c);const d=new t.Token("link_close","a",-1);d.level=--f;d.markup="linkify";d.info="auto";o.push(d);h=u[e].lastIndex}if(h<n.length){const e=new t.Token("text","",0);e.content=n.slice(h);e.level=f;o.push(e)}e[i].children=r=rd(r,s,o)}}}}const Ud=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/;const Wd=/\((c|tm|r)\)/i;const Hd=/\((c|tm|r)\)/gi;const Zd={c:"©",r:"®",tm:"™"};function Kd(t,e){return Zd[e.toLowerCase()]}function Vd(t){let e=0;for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.type==="text"&&!e){r.content=r.content.replace(Hd,Kd)}if(r.type==="link_open"&&r.info==="auto"){e--}if(r.type==="link_close"&&r.info==="auto"){e++}}}function Gd(t){let e=0;for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.type==="text"&&!e){if(Ud.test(r.content)){r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")}}if(r.type==="link_open"&&r.info==="auto"){e--}if(r.type==="link_close"&&r.info==="auto"){e++}}}function Xd(t){let e;if(!t.md.options.typographer){return}for(e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"){continue}if(Wd.test(t.tokens[e].content)){Vd(t.tokens[e].children)}if(Ud.test(t.tokens[e].content)){Gd(t.tokens[e].children)}}}const Yd=/['"]/;const Qd=/['"]/g;const tp="’";function ep(t,e,i){return t.slice(0,e)+i+t.slice(e+1)}function ip(t,e){let i;const r=[];for(let n=0;n<t.length;n++){const s=t[n];const l=t[n].level;for(i=r.length-1;i>=0;i--){if(r[i].level<=l){break}}r.length=i+1;if(s.type!=="text"){continue}let u=s.content;let o=0;let f=u.length;t:while(o<f){Qd.lastIndex=o;const h=Qd.exec(u);if(!h){break}let a=true;let c=true;o=h.index+1;const d=h[0]==="'";let p=32;if(h.index-1>=0){p=u.charCodeAt(h.index-1)}else{for(i=n-1;i>=0;i--){if(t[i].type==="softbreak"||t[i].type==="hardbreak")break;if(!t[i].content)continue;p=t[i].content.charCodeAt(t[i].content.length-1);break}}let m=32;if(o<f){m=u.charCodeAt(o)}else{for(i=n+1;i<t.length;i++){if(t[i].type==="softbreak"||t[i].type==="hardbreak")break;if(!t[i].content)continue;m=t[i].content.charCodeAt(0);break}}const w=Fd(p)||yd(String.fromCharCode(p));const g=Fd(m)||yd(String.fromCharCode(m));const b=vd(p);const k=vd(m);if(k){a=false}else if(g){if(!(b||w)){a=false}}if(b){c=false}else if(w){if(!(k||g)){c=false}}if(m===34&&h[0]==='"'){if(p>=48&&p<=57){c=a=false}}if(a&&c){a=w;c=g}if(!a&&!c){if(d){s.content=ep(s.content,h.index,tp)}continue}if(c){for(i=r.length-1;i>=0;i--){let a=r[i];if(r[i].level<l){break}if(a.single===d&&r[i].level===l){a=r[i];let l;let c;if(d){l=e.md.options.quotes[2];c=e.md.options.quotes[3]}else{l=e.md.options.quotes[0];c=e.md.options.quotes[1]}s.content=ep(s.content,h.index,c);t[a.token].content=ep(t[a.token].content,a.pos,l);o+=c.length-1;if(a.token===n){o+=l.length-1}u=s.content;f=u.length;r.length=i;continue t}}}if(a){r.push({token:n,pos:h.index,single:d,level:l})}else if(c&&d){s.content=ep(s.content,h.index,tp)}}}}function rp(t){if(!t.md.options.typographer){return}for(let e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"||!Yd.test(t.tokens[e].content)){continue}ip(t.tokens[e].children,t)}}function np(t){let e,i;const r=t.tokens;const n=r.length;for(let t=0;t<n;t++){if(r[t].type!=="inline")continue;const n=r[t].children;const s=n.length;for(e=0;e<s;e++){if(n[e].type==="text_special"){n[e].type="text"}}for(e=i=0;e<s;e++){if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==i){n[i]=n[e]}i++}}if(e!==i){n.length=i}}}const sp=[["normalize",zd],["block",Td],["inline",Id],["linkify",Ld],["replacements",Xd],["smartquotes",rp],["text_join",np]];function lp(){this.ruler=new Bd;for(let t=0;t<sp.length;t++){this.ruler.push(sp[t][0],sp[t][1])}}lp.prototype.process=function(t){const e=this.ruler.getRules("");for(let i=0,r=e.length;i<r;i++){e[i](t)}};lp.prototype.State=qd;function up(t,e,i,r){this.src=t;this.md=e;this.env=i;this.tokens=r;this.bMarks=[];this.eMarks=[];this.tShift=[];this.sCount=[];this.bsCount=[];this.blkIndent=0;this.line=0;this.lineMax=0;this.tight=false;this.ddIndent=-1;this.listIndent=-1;this.parentType="root";this.level=0;const n=this.src;for(let t=0,e=0,i=0,r=0,s=n.length,l=false;e<s;e++){const u=n.charCodeAt(e);if(!l){if(Dd(u)){i++;if(u===9){r+=4-r%4}else{r++}continue}else{l=true}}if(u===10||e===s-1){if(u!==10){e++}this.bMarks.push(t);this.eMarks.push(e);this.tShift.push(i);this.sCount.push(r);this.bsCount.push(0);l=false;i=0;r=0;t=e+1}}this.bMarks.push(n.length);this.eMarks.push(n.length);this.tShift.push(0);this.sCount.push(0);this.bsCount.push(0);this.lineMax=this.bMarks.length-1}up.prototype.push=function(t,e,i){const r=new jd(t,e,i);r.block=true;if(i<0)this.level--;r.level=this.level;if(i>0)this.level++;this.tokens.push(r);return r};up.prototype.isEmpty=function t(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};up.prototype.skipEmptyLines=function t(e){for(let t=this.lineMax;e<t;e++){if(this.bMarks[e]+this.tShift[e]<this.eMarks[e]){break}}return e};up.prototype.skipSpaces=function t(e){for(let t=this.src.length;e<t;e++){const t=this.src.charCodeAt(e);if(!Dd(t)){break}}return e};up.prototype.skipSpacesBack=function t(e,i){if(e<=i){return e}while(e>i){if(!Dd(this.src.charCodeAt(--e))){return e+1}}return e};up.prototype.skipChars=function t(e,i){for(let t=this.src.length;e<t;e++){if(this.src.charCodeAt(e)!==i){break}}return e};up.prototype.skipCharsBack=function t(e,i,r){if(e<=r){return e}while(e>r){if(i!==this.src.charCodeAt(--e)){return e+1}}return e};up.prototype.getLines=function t(e,i,r,n){if(e>=i){return""}const s=new Array(i-e);for(let t=0,l=e;l<i;l++,t++){let e=0;const u=this.bMarks[l];let o=u;let f;if(l+1<i||n){f=this.eMarks[l]+1}else{f=this.eMarks[l]}while(o<f&&e<r){const t=this.src.charCodeAt(o);if(Dd(t)){if(t===9){e+=4-(e+this.bsCount[l])%4}else{e++}}else if(o-u<this.tShift[l]){e++}else{break}o++}if(e>r){s[t]=new Array(e-r+1).join(" ")+this.src.slice(o,f)}else{s[t]=this.src.slice(o,f)}}return s.join("")};up.prototype.Token=jd;const op=65536;function fp(t,e){const i=t.bMarks[e]+t.tShift[e];const r=t.eMarks[e];return t.src.slice(i,r)}function hp(t){const e=[];const i=t.length;let r=0;let n=t.charCodeAt(r);let s=false;let l=0;let u="";while(r<i){if(n===124){if(!s){e.push(u+t.substring(l,r));u="";l=r+1}else{u+=t.substring(l,r-1);l=r}}s=n===92;r++;n=t.charCodeAt(r)}e.push(u+t.substring(l));return e}function ap(t,e,i,r){if(e+2>i){return false}let n=e+1;if(t.sCount[n]<t.blkIndent){return false}if(t.sCount[n]-t.blkIndent>=4){return false}let s=t.bMarks[n]+t.tShift[n];if(s>=t.eMarks[n]){return false}const l=t.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58){return false}if(s>=t.eMarks[n]){return false}const u=t.src.charCodeAt(s++);if(u!==124&&u!==45&&u!==58&&!Dd(u)){return false}if(l===45&&Dd(u)){return false}while(s<t.eMarks[n]){const e=t.src.charCodeAt(s);if(e!==124&&e!==45&&e!==58&&!Dd(e)){return false}s++}let o=fp(t,e+1);let f=o.split("|");const h=[];for(let t=0;t<f.length;t++){const e=f[t].trim();if(!e){if(t===0||t===f.length-1){continue}else{return false}}if(!/^:?-+:?$/.test(e)){return false}if(e.charCodeAt(e.length-1)===58){h.push(e.charCodeAt(0)===58?"center":"right")}else if(e.charCodeAt(0)===58){h.push("left")}else{h.push("")}}o=fp(t,e).trim();if(o.indexOf("|")===-1){return false}if(t.sCount[e]-t.blkIndent>=4){return false}f=hp(o);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();const a=f.length;if(a===0||a!==h.length){return false}if(r){return true}const c=t.parentType;t.parentType="table";const d=t.md.block.ruler.getRules("blockquote");const p=t.push("table_open","table",1);const m=[e,0];p.map=m;const w=t.push("thead_open","thead",1);w.map=[e,e+1];const g=t.push("tr_open","tr",1);g.map=[e,e+1];for(let e=0;e<f.length;e++){const i=t.push("th_open","th",1);if(h[e]){i.attrs=[["style","text-align:"+h[e]]]}const r=t.push("inline","",0);r.content=f[e].trim();r.children=[];t.push("th_close","th",-1)}t.push("tr_close","tr",-1);t.push("thead_close","thead",-1);let b;let k=0;for(n=e+2;n<i;n++){if(t.sCount[n]<t.blkIndent){break}let r=false;for(let e=0,s=d.length;e<s;e++){if(d[e](t,n,i,true)){r=true;break}}if(r){break}o=fp(t,n).trim();if(!o){break}if(t.sCount[n]-t.blkIndent>=4){break}f=hp(o);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();k+=a-f.length;if(k>op){break}if(n===e+2){const i=t.push("tbody_open","tbody",1);i.map=b=[e+2,0]}const s=t.push("tr_open","tr",1);s.map=[n,n+1];for(let e=0;e<a;e++){const i=t.push("td_open","td",1);if(h[e]){i.attrs=[["style","text-align:"+h[e]]]}const r=t.push("inline","",0);r.content=f[e]?f[e].trim():"";r.children=[];t.push("td_close","td",-1)}t.push("tr_close","tr",-1)}if(b){t.push("tbody_close","tbody",-1);b[1]=n}t.push("table_close","table",-1);m[1]=n;t.parentType=c;t.line=n;return true}function cp(t,e,i){if(t.sCount[e]-t.blkIndent<4){return false}let r=e+1;let n=r;while(r<i){if(t.isEmpty(r)){r++;continue}if(t.sCount[r]-t.blkIndent>=4){r++;n=r;continue}break}t.line=n;const s=t.push("code_block","code",0);s.content=t.getLines(e,n,4+t.blkIndent,false)+"\n";s.map=[e,t.line];return true}function dp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(n+3>s){return false}const l=t.src.charCodeAt(n);if(l!==126&&l!==96){return false}let u=n;n=t.skipChars(n,l);let o=n-u;if(o<3){return false}const f=t.src.slice(u,n);const h=t.src.slice(n,s);if(l===96){if(h.indexOf(String.fromCharCode(l))>=0){return false}}if(r){return true}let a=e;let c=false;for(;;){a++;if(a>=i){break}n=u=t.bMarks[a]+t.tShift[a];s=t.eMarks[a];if(n<s&&t.sCount[a]<t.blkIndent){break}if(t.src.charCodeAt(n)!==l){continue}if(t.sCount[a]-t.blkIndent>=4){continue}n=t.skipChars(n,l);if(n-u<o){continue}n=t.skipSpaces(n);if(n<s){continue}c=true;break}o=t.sCount[e];t.line=a+(c?1:0);const d=t.push("fence","code",0);d.info=h;d.content=t.getLines(e+1,a,o,true);d.markup=f;d.map=[e,t.line];return true}function pp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];const l=t.lineMax;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==62){return false}if(r){return true}const u=[];const o=[];const f=[];const h=[];const a=t.md.block.ruler.getRules("blockquote");const c=t.parentType;t.parentType="blockquote";let d=false;let p;for(p=e;p<i;p++){const e=t.sCount[p]<t.blkIndent;n=t.bMarks[p]+t.tShift[p];s=t.eMarks[p];if(n>=s){break}if(t.src.charCodeAt(n++)===62&&!e){let e=t.sCount[p]+1;let i;let r;if(t.src.charCodeAt(n)===32){n++;e++;r=false;i=true}else if(t.src.charCodeAt(n)===9){i=true;if((t.bsCount[p]+e)%4===3){n++;e++;r=false}else{r=true}}else{i=false}let l=e;u.push(t.bMarks[p]);t.bMarks[p]=n;while(n<s){const e=t.src.charCodeAt(n);if(Dd(e)){if(e===9){l+=4-(l+t.bsCount[p]+(r?1:0))%4}else{l++}}else{break}n++}d=n>=s;o.push(t.bsCount[p]);t.bsCount[p]=t.sCount[p]+1+(i?1:0);f.push(t.sCount[p]);t.sCount[p]=l-e;h.push(t.tShift[p]);t.tShift[p]=n-t.bMarks[p];continue}if(d){break}let r=false;for(let e=0,n=a.length;e<n;e++){if(a[e](t,p,i,true)){r=true;break}}if(r){t.lineMax=p;if(t.blkIndent!==0){u.push(t.bMarks[p]);o.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]-=t.blkIndent}break}u.push(t.bMarks[p]);o.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]=-1}const m=t.blkIndent;t.blkIndent=0;const w=t.push("blockquote_open","blockquote",1);w.markup=">";const g=[e,0];w.map=g;t.md.block.tokenize(t,e,p);const b=t.push("blockquote_close","blockquote",-1);b.markup=">";t.lineMax=l;t.parentType=c;g[1]=t.line;for(let i=0;i<h.length;i++){t.bMarks[i+e]=u[i];t.tShift[i+e]=h[i];t.sCount[i+e]=f[i];t.bsCount[i+e]=o[i]}t.blkIndent=m;return true}function mp(t,e,i,r){const n=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let s=t.bMarks[e]+t.tShift[e];const l=t.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95){return false}let u=1;while(s<n){const e=t.src.charCodeAt(s++);if(e!==l&&!Dd(e)){return false}if(e===l){u++}}if(u<3){return false}if(r){return true}t.line=e+1;const o=t.push("hr","hr",0);o.map=[e,t.line];o.markup=Array(u+1).join(String.fromCharCode(l));return true}function wp(t,e){const i=t.eMarks[e];let r=t.bMarks[e]+t.tShift[e];const n=t.src.charCodeAt(r++);if(n!==42&&n!==45&&n!==43){return-1}if(r<i){const e=t.src.charCodeAt(r);if(!Dd(e)){return-1}}return r}function gp(t,e){const i=t.bMarks[e]+t.tShift[e];const r=t.eMarks[e];let n=i;if(n+1>=r){return-1}let s=t.src.charCodeAt(n++);if(s<48||s>57){return-1}for(;;){if(n>=r){return-1}s=t.src.charCodeAt(n++);if(s>=48&&s<=57){if(n-i>=10){return-1}continue}if(s===41||s===46){break}return-1}if(n<r){s=t.src.charCodeAt(n);if(!Dd(s)){return-1}}return n}function bp(t,e){const i=t.level+2;for(let r=e+2,n=t.tokens.length-2;r<n;r++){if(t.tokens[r].level===i&&t.tokens[r].type==="paragraph_open"){t.tokens[r+2].hidden=true;t.tokens[r].hidden=true;r+=2}}}function kp(t,e,i,r){let n,s,l,u;let o=e;let f=true;if(t.sCount[o]-t.blkIndent>=4){return false}if(t.listIndent>=0&&t.sCount[o]-t.listIndent>=4&&t.sCount[o]<t.blkIndent){return false}let h=false;if(r&&t.parentType==="paragraph"){if(t.sCount[o]>=t.blkIndent){h=true}}let a;let c;let d;if((d=gp(t,o))>=0){a=true;l=t.bMarks[o]+t.tShift[o];c=Number(t.src.slice(l,d-1));if(h&&c!==1)return false}else if((d=wp(t,o))>=0){a=false}else{return false}if(h){if(t.skipSpaces(d)>=t.eMarks[o])return false}if(r){return true}const p=t.src.charCodeAt(d-1);const m=t.tokens.length;if(a){u=t.push("ordered_list_open","ol",1);if(c!==1){u.attrs=[["start",c]]}}else{u=t.push("bullet_list_open","ul",1)}const w=[o,0];u.map=w;u.markup=String.fromCharCode(p);let g=false;const b=t.md.block.ruler.getRules("list");const k=t.parentType;t.parentType="list";while(o<i){s=d;n=t.eMarks[o];const e=t.sCount[o]+d-(t.bMarks[o]+t.tShift[o]);let r=e;while(s<n){const e=t.src.charCodeAt(s);if(e===9){r+=4-(r+t.bsCount[o])%4}else if(e===32){r++}else{break}s++}const h=s;let c;if(h>=n){c=1}else{c=r-e}if(c>4){c=1}const m=e+c;u=t.push("list_item_open","li",1);u.markup=String.fromCharCode(p);const w=[o,0];u.map=w;if(a){u.info=t.src.slice(l,d-1)}const k=t.tight;const D=t.tShift[o];const v=t.sCount[o];const y=t.listIndent;t.listIndent=t.blkIndent;t.blkIndent=m;t.tight=true;t.tShift[o]=h-t.bMarks[o];t.sCount[o]=r;if(h>=n&&t.isEmpty(o+1)){t.line=Math.min(t.line+2,i)}else{t.md.block.tokenize(t,o,i,true)}if(!t.tight||g){f=false}g=t.line-o>1&&t.isEmpty(t.line-1);t.blkIndent=t.listIndent;t.listIndent=y;t.tShift[o]=D;t.sCount[o]=v;t.tight=k;u=t.push("list_item_close","li",-1);u.markup=String.fromCharCode(p);o=t.line;w[1]=o;if(o>=i){break}if(t.sCount[o]<t.blkIndent){break}if(t.sCount[o]-t.blkIndent>=4){break}let F=false;for(let e=0,r=b.length;e<r;e++){if(b[e](t,o,i,true)){F=true;break}}if(F){break}if(a){d=gp(t,o);if(d<0){break}l=t.bMarks[o]+t.tShift[o]}else{d=wp(t,o);if(d<0){break}}if(p!==t.src.charCodeAt(d-1)){break}}if(a){u=t.push("ordered_list_close","ol",-1)}else{u=t.push("bullet_list_close","ul",-1)}u.markup=String.fromCharCode(p);w[1]=o;t.line=o;t.parentType=k;if(f){bp(t,m)}return true}function Dp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];let l=e+1;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==91){return false}function u(e){const i=t.lineMax;if(e>=i||t.isEmpty(e)){return null}let r=false;if(t.sCount[e]-t.blkIndent>3){r=true}if(t.sCount[e]<0){r=true}if(!r){const r=t.md.block.ruler.getRules("reference");const n=t.parentType;t.parentType="reference";let s=false;for(let n=0,l=r.length;n<l;n++){if(r[n](t,e,i,true)){s=true;break}}t.parentType=n;if(s){return null}}const n=t.bMarks[e]+t.tShift[e];const s=t.eMarks[e];return t.src.slice(n,s+1)}let o=t.src.slice(n,s+1);s=o.length;let f=-1;for(n=1;n<s;n++){const t=o.charCodeAt(n);if(t===91){return false}else if(t===93){f=n;break}else if(t===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}else if(t===92){n++;if(n<s&&o.charCodeAt(n)===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}}}if(f<0||o.charCodeAt(f+1)!==58){return false}for(n=f+2;n<s;n++){const t=o.charCodeAt(n);if(t===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}else if(Dd(t));else{break}}const h=t.md.helpers.parseLinkDestination(o,n,s);if(!h.ok){return false}const a=t.md.normalizeLink(h.str);if(!t.md.validateLink(a)){return false}n=h.pos;const c=n;const d=l;const p=n;for(;n<s;n++){const t=o.charCodeAt(n);if(t===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}else if(Dd(t));else{break}}let m=t.md.helpers.parseLinkTitle(o,n,s);while(m.can_continue){const e=u(l);if(e===null)break;o+=e;n=s;s=o.length;l++;m=t.md.helpers.parseLinkTitle(o,n,s,m)}let w;if(n<s&&p!==n&&m.ok){w=m.str;n=m.pos}else{w="";n=c;l=d}while(n<s){const t=o.charCodeAt(n);if(!Dd(t)){break}n++}if(n<s&&o.charCodeAt(n)!==10){if(w){w="";n=c;l=d;while(n<s){const t=o.charCodeAt(n);if(!Dd(t)){break}n++}}}if(n<s&&o.charCodeAt(n)!==10){return false}const g=Ed(o.slice(1,f));if(!g){return false}if(r){return true}if(typeof t.env.references==="undefined"){t.env.references={}}if(typeof t.env.references[g]==="undefined"){t.env.references[g]={title:w,href:a}}t.line=l;return true}const vp=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];const yp="[a-zA-Z_:][a-zA-Z0-9:._-]*";const Fp="[^\"'=<>`\\x00-\\x20]+";const Ep="'[^']*'";const xp='"[^"]*"';const Mp="(?:"+Fp+"|"+Ep+"|"+xp+")";const Ap="(?:\\s+"+yp+"(?:\\s*=\\s*"+Mp+")?)";const Cp="<[A-Za-z][A-Za-z0-9\\-]*"+Ap+"*\\s*\\/?>";const Sp="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";const Op="\x3c!---?>|\x3c!--(?:[^-]|-[^-]|--[^>])*--\x3e";const $p="<[?][\\s\\S]*?[?]>";const _p="<![A-Za-z][^>]*>";const Bp="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";const jp=new RegExp("^(?:"+Cp+"|"+Sp+"|"+Op+"|"+$p+"|"+_p+"|"+Bp+")");const qp=new RegExp("^(?:"+Cp+"|"+Sp+")");const Rp=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,true],[/^<!--/,/-->/,true],[/^<\?/,/\?>/,true],[/^<![A-Z]/,/>/,true],[/^<!\[CDATA\[/,/\]\]>/,true],[new RegExp("^</?("+vp.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,true],[new RegExp(qp.source+"\\s*$"),/^$/,false]];function Np(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(!t.md.options.html){return false}if(t.src.charCodeAt(n)!==60){return false}let l=t.src.slice(n,s);let u=0;for(;u<Rp.length;u++){if(Rp[u][0].test(l)){break}}if(u===Rp.length){return false}if(r){return Rp[u][2]}let o=e+1;if(!Rp[u][1].test(l)){for(;o<i;o++){if(t.sCount[o]<t.blkIndent){break}n=t.bMarks[o]+t.tShift[o];s=t.eMarks[o];l=t.src.slice(n,s);if(Rp[u][1].test(l)){if(l.length!==0){o++}break}}}t.line=o;const f=t.push("html_block","",0);f.map=[e,o];f.content=t.getLines(e,o,t.blkIndent,true);return true}function zp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let l=t.src.charCodeAt(n);if(l!==35||n>=s){return false}let u=1;l=t.src.charCodeAt(++n);while(l===35&&n<s&&u<=6){u++;l=t.src.charCodeAt(++n)}if(u>6||n<s&&!Dd(l)){return false}if(r){return true}s=t.skipSpacesBack(s,n);const o=t.skipCharsBack(s,35,n);if(o>n&&Dd(t.src.charCodeAt(o-1))){s=o}t.line=e+1;const f=t.push("heading_open","h"+String(u),1);f.markup="########".slice(0,u);f.map=[e,t.line];const h=t.push("inline","",0);h.content=t.src.slice(n,s).trim();h.map=[e,t.line];h.children=[];const a=t.push("heading_close","h"+String(u),-1);a.markup="########".slice(0,u);return true}function Tp(t,e,i){const r=t.md.block.ruler.getRules("paragraph");if(t.sCount[e]-t.blkIndent>=4){return false}const n=t.parentType;t.parentType="paragraph";let s=0;let l;let u=e+1;for(;u<i&&!t.isEmpty(u);u++){if(t.sCount[u]-t.blkIndent>3){continue}if(t.sCount[u]>=t.blkIndent){let e=t.bMarks[u]+t.tShift[u];const i=t.eMarks[u];if(e<i){l=t.src.charCodeAt(e);if(l===45||l===61){e=t.skipChars(e,l);e=t.skipSpaces(e);if(e>=i){s=l===61?1:2;break}}}}if(t.sCount[u]<0){continue}let e=false;for(let n=0,s=r.length;n<s;n++){if(r[n](t,u,i,true)){e=true;break}}if(e){break}}if(!s){return false}const o=t.getLines(e,u,t.blkIndent,false).trim();t.line=u+1;const f=t.push("heading_open","h"+String(s),1);f.markup=String.fromCharCode(l);f.map=[e,t.line];const h=t.push("inline","",0);h.content=o;h.map=[e,t.line-1];h.children=[];const a=t.push("heading_close","h"+String(s),-1);a.markup=String.fromCharCode(l);t.parentType=n;return true}function Ip(t,e,i){const r=t.md.block.ruler.getRules("paragraph");const n=t.parentType;let s=e+1;t.parentType="paragraph";for(;s<i&&!t.isEmpty(s);s++){if(t.sCount[s]-t.blkIndent>3){continue}if(t.sCount[s]<0){continue}let e=false;for(let n=0,l=r.length;n<l;n++){if(r[n](t,s,i,true)){e=true;break}}if(e){break}}const l=t.getLines(e,s,t.blkIndent,false).trim();t.line=s;const u=t.push("paragraph_open","p",1);u.map=[e,t.line];const o=t.push("inline","",0);o.content=l;o.map=[e,t.line];o.children=[];t.push("paragraph_close","p",-1);t.parentType=n;return true}const Pp=[["table",ap,["paragraph","reference"]],["code",cp],["fence",dp,["paragraph","reference","blockquote","list"]],["blockquote",pp,["paragraph","reference","blockquote","list"]],["hr",mp,["paragraph","reference","blockquote","list"]],["list",kp,["paragraph","reference","blockquote"]],["reference",Dp],["html_block",Np,["paragraph","reference","blockquote"]],["heading",zp,["paragraph","reference","blockquote"]],["lheading",Tp],["paragraph",Ip]];function Jp(){this.ruler=new Bd;for(let t=0;t<Pp.length;t++){this.ruler.push(Pp[t][0],Pp[t][1],{alt:(Pp[t][2]||[]).slice()})}}Jp.prototype.tokenize=function(t,e,i){const r=this.ruler.getRules("");const n=r.length;const s=t.md.options.maxNesting;let l=e;let u=false;while(l<i){t.line=l=t.skipEmptyLines(l);if(l>=i){break}if(t.sCount[l]<t.blkIndent){break}if(t.level>=s){t.line=i;break}const e=t.line;let o=false;for(let s=0;s<n;s++){o=r[s](t,l,i,false);if(o){if(e>=t.line){throw new Error("block rule didn't increment state.line")}break}}if(!o)throw new Error("none of the block rules matched");t.tight=!u;if(t.isEmpty(t.line-1)){u=true}l=t.line;if(l<i&&t.isEmpty(l)){u=true;l++;t.line=l}}};Jp.prototype.parse=function(t,e,i,r){if(!t){return}const n=new this.State(t,e,i,r);this.tokenize(n,n.line,n.lineMax)};Jp.prototype.State=up;function Lp(t,e,i,r){this.src=t;this.env=i;this.md=e;this.tokens=r;this.tokens_meta=Array(r.length);this.pos=0;this.posMax=this.src.length;this.level=0;this.pending="";this.pendingLevel=0;this.cache={};this.delimiters=[];this._prev_delimiters=[];this.backticks={};this.backticksScanned=false;this.linkLevel=0}Lp.prototype.pushPending=function(){const t=new jd("text","",0);t.content=this.pending;t.level=this.pendingLevel;this.tokens.push(t);this.pending="";return t};Lp.prototype.push=function(t,e,i){if(this.pending){this.pushPending()}const r=new jd(t,e,i);let n=null;if(i<0){this.level--;this.delimiters=this._prev_delimiters.pop()}r.level=this.level;if(i>0){this.level++;this._prev_delimiters.push(this.delimiters);this.delimiters=[];n={delimiters:this.delimiters}}this.pendingLevel=this.level;this.tokens.push(r);this.tokens_meta.push(n);return r};Lp.prototype.scanDelims=function(t,e){const i=this.posMax;const r=this.src.charCodeAt(t);const n=t>0?this.src.charCodeAt(t-1):32;let s=t;while(s<i&&this.src.charCodeAt(s)===r){s++}const l=s-t;const u=s<i?this.src.charCodeAt(s):32;const o=Fd(n)||yd(String.fromCharCode(n));const f=Fd(u)||yd(String.fromCharCode(u));const h=vd(n);const a=vd(u);const c=!a&&(!f||h||o);const d=!h&&(!o||a||f);const p=c&&(e||!d||o);const m=d&&(e||!c||f);return{can_open:p,can_close:m,length:l}};Lp.prototype.Token=jd;function Up(t){switch(t){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return true;default:return false}}function Wp(t,e){let i=t.pos;while(i<t.posMax&&!Up(t.src.charCodeAt(i))){i++}if(i===t.pos){return false}if(!e){t.pending+=t.src.slice(t.pos,i)}t.pos=i;return true}const Hp=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function Zp(t,e){if(!t.md.options.linkify)return false;if(t.linkLevel>0)return false;const i=t.pos;const r=t.posMax;if(i+3>r)return false;if(t.src.charCodeAt(i)!==58)return false;if(t.src.charCodeAt(i+1)!==47)return false;if(t.src.charCodeAt(i+2)!==47)return false;const n=t.pending.match(Hp);if(!n)return false;const s=n[1];const l=t.md.linkify.matchAtStart(t.src.slice(i-s.length));if(!l)return false;let u=l.url;if(u.length<=s.length)return false;u=u.replace(/\*+$/,"");const o=t.md.normalizeLink(u);if(!t.md.validateLink(o))return false;if(!e){t.pending=t.pending.slice(0,-s.length);const e=t.push("link_open","a",1);e.attrs=[["href",o]];e.markup="linkify";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(u);const r=t.push("link_close","a",-1);r.markup="linkify";r.info="auto"}t.pos+=u.length-s.length;return true}function Kp(t,e){let i=t.pos;if(t.src.charCodeAt(i)!==10){return false}const r=t.pending.length-1;const n=t.posMax;if(!e){if(r>=0&&t.pending.charCodeAt(r)===32){if(r>=1&&t.pending.charCodeAt(r-1)===32){let e=r-1;while(e>=1&&t.pending.charCodeAt(e-1)===32)e--;t.pending=t.pending.slice(0,e);t.push("hardbreak","br",0)}else{t.pending=t.pending.slice(0,-1);t.push("softbreak","br",0)}}else{t.push("softbreak","br",0)}}i++;while(i<n&&Dd(t.src.charCodeAt(i))){i++}t.pos=i;return true}const Vp=[];for(let t=0;t<256;t++){Vp.push(0)}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach((function(t){Vp[t.charCodeAt(0)]=1}));function Gp(t,e){let i=t.pos;const r=t.posMax;if(t.src.charCodeAt(i)!==92)return false;i++;if(i>=r)return false;let n=t.src.charCodeAt(i);if(n===10){if(!e){t.push("hardbreak","br",0)}i++;while(i<r){n=t.src.charCodeAt(i);if(!Dd(n))break;i++}t.pos=i;return true}let s=t.src[i];if(n>=55296&&n<=56319&&i+1<r){const e=t.src.charCodeAt(i+1);if(e>=56320&&e<=57343){s+=t.src[i+1];i++}}const l="\\"+s;if(!e){const e=t.push("text_special","",0);if(n<256&&Vp[n]!==0){e.content=s}else{e.content=l}e.markup=l;e.info="escape"}t.pos=i+1;return true}function Xp(t,e){let i=t.pos;const r=t.src.charCodeAt(i);if(r!==96){return false}const n=i;i++;const s=t.posMax;while(i<s&&t.src.charCodeAt(i)===96){i++}const l=t.src.slice(n,i);const u=l.length;if(t.backticksScanned&&(t.backticks[u]||0)<=n){if(!e)t.pending+=l;t.pos+=u;return true}let o=i;let f;while((f=t.src.indexOf("`",o))!==-1){o=f+1;while(o<s&&t.src.charCodeAt(o)===96){o++}const r=o-f;if(r===u){if(!e){const e=t.push("code_inline","code",0);e.markup=l;e.content=t.src.slice(i,f).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}t.pos=o;return true}t.backticks[r]=f}t.backticksScanned=true;if(!e)t.pending+=l;t.pos+=u;return true}function Yp(t,e){const i=t.pos;const r=t.src.charCodeAt(i);if(e){return false}if(r!==126){return false}const n=t.scanDelims(t.pos,true);let s=n.length;const l=String.fromCharCode(r);if(s<2){return false}let u;if(s%2){u=t.push("text","",0);u.content=l;s--}for(let e=0;e<s;e+=2){u=t.push("text","",0);u.content=l+l;t.delimiters.push({marker:r,length:0,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function Qp(t,e){let i;const r=[];const n=e.length;for(let s=0;s<n;s++){const n=e[s];if(n.marker!==126){continue}if(n.end===-1){continue}const l=e[n.end];i=t.tokens[n.token];i.type="s_open";i.tag="s";i.nesting=1;i.markup="~~";i.content="";i=t.tokens[l.token];i.type="s_close";i.tag="s";i.nesting=-1;i.markup="~~";i.content="";if(t.tokens[l.token-1].type==="text"&&t.tokens[l.token-1].content==="~"){r.push(l.token-1)}}while(r.length){const e=r.pop();let n=e+1;while(n<t.tokens.length&&t.tokens[n].type==="s_close"){n++}n--;if(e!==n){i=t.tokens[n];t.tokens[n]=t.tokens[e];t.tokens[e]=i}}}function tm(t){const e=t.tokens_meta;const i=t.tokens_meta.length;Qp(t,t.delimiters);for(let r=0;r<i;r++){if(e[r]&&e[r].delimiters){Qp(t,e[r].delimiters)}}}const em={tokenize:Yp,postProcess:tm};function im(t,e){const i=t.pos;const r=t.src.charCodeAt(i);if(e){return false}if(r!==95&&r!==42){return false}const n=t.scanDelims(t.pos,r===42);for(let e=0;e<n.length;e++){const e=t.push("text","",0);e.content=String.fromCharCode(r);t.delimiters.push({marker:r,length:n.length,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function rm(t,e){const i=e.length;for(let r=i-1;r>=0;r--){const i=e[r];if(i.marker!==95&&i.marker!==42){continue}if(i.end===-1){continue}const n=e[i.end];const s=r>0&&e[r-1].end===i.end+1&&e[r-1].marker===i.marker&&e[r-1].token===i.token-1&&e[i.end+1].token===n.token+1;const l=String.fromCharCode(i.marker);const u=t.tokens[i.token];u.type=s?"strong_open":"em_open";u.tag=s?"strong":"em";u.nesting=1;u.markup=s?l+l:l;u.content="";const o=t.tokens[n.token];o.type=s?"strong_close":"em_close";o.tag=s?"strong":"em";o.nesting=-1;o.markup=s?l+l:l;o.content="";if(s){t.tokens[e[r-1].token].content="";t.tokens[e[i.end+1].token].content="";r--}}}function nm(t){const e=t.tokens_meta;const i=t.tokens_meta.length;rm(t,t.delimiters);for(let r=0;r<i;r++){if(e[r]&&e[r].delimiters){rm(t,e[r].delimiters)}}}const sm={tokenize:im,postProcess:nm};function lm(t,e){let i,r,n,s;let l="";let u="";let o=t.pos;let f=true;if(t.src.charCodeAt(t.pos)!==91){return false}const h=t.pos;const a=t.posMax;const c=t.pos+1;const d=t.md.helpers.parseLinkLabel(t,t.pos,true);if(d<0){return false}let p=d+1;if(p<a&&t.src.charCodeAt(p)===40){f=false;p++;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Dd(i)&&i!==10){break}}if(p>=a){return false}o=p;n=t.md.helpers.parseLinkDestination(t.src,p,t.posMax);if(n.ok){l=t.md.normalizeLink(n.str);if(t.md.validateLink(l)){p=n.pos}else{l=""}o=p;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Dd(i)&&i!==10){break}}n=t.md.helpers.parseLinkTitle(t.src,p,t.posMax);if(p<a&&o!==p&&n.ok){u=n.str;p=n.pos;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Dd(i)&&i!==10){break}}}}if(p>=a||t.src.charCodeAt(p)!==41){f=true}p++}if(f){if(typeof t.env.references==="undefined"){return false}if(p<a&&t.src.charCodeAt(p)===91){o=p+1;p=t.md.helpers.parseLinkLabel(t,p);if(p>=0){r=t.src.slice(o,p++)}else{p=d+1}}else{p=d+1}if(!r){r=t.src.slice(c,d)}s=t.env.references[Ed(r)];if(!s){t.pos=h;return false}l=s.href;u=s.title}if(!e){t.pos=c;t.posMax=d;const e=t.push("link_open","a",1);const i=[["href",l]];e.attrs=i;if(u){i.push(["title",u])}t.linkLevel++;t.md.inline.tokenize(t);t.linkLevel--;t.push("link_close","a",-1)}t.pos=p;t.posMax=a;return true}function um(t,e){let i,r,n,s,l,u,o,f;let h="";const a=t.pos;const c=t.posMax;if(t.src.charCodeAt(t.pos)!==33){return false}if(t.src.charCodeAt(t.pos+1)!==91){return false}const d=t.pos+2;const p=t.md.helpers.parseLinkLabel(t,t.pos+1,false);if(p<0){return false}s=p+1;if(s<c&&t.src.charCodeAt(s)===40){s++;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Dd(i)&&i!==10){break}}if(s>=c){return false}f=s;u=t.md.helpers.parseLinkDestination(t.src,s,t.posMax);if(u.ok){h=t.md.normalizeLink(u.str);if(t.md.validateLink(h)){s=u.pos}else{h=""}}f=s;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Dd(i)&&i!==10){break}}u=t.md.helpers.parseLinkTitle(t.src,s,t.posMax);if(s<c&&f!==s&&u.ok){o=u.str;s=u.pos;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Dd(i)&&i!==10){break}}}else{o=""}if(s>=c||t.src.charCodeAt(s)!==41){t.pos=a;return false}s++}else{if(typeof t.env.references==="undefined"){return false}if(s<c&&t.src.charCodeAt(s)===91){f=s+1;s=t.md.helpers.parseLinkLabel(t,s);if(s>=0){n=t.src.slice(f,s++)}else{s=p+1}}else{s=p+1}if(!n){n=t.src.slice(d,p)}l=t.env.references[Ed(n)];if(!l){t.pos=a;return false}h=l.href;o=l.title}if(!e){r=t.src.slice(d,p);const e=[];t.md.inline.parse(r,t.md,t.env,e);const i=t.push("image","img",0);const n=[["src",h],["alt",""]];i.attrs=n;i.children=e;i.content=r;if(o){n.push(["title",o])}}t.pos=s;t.posMax=c;return true}const om=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;const fm=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function hm(t,e){let i=t.pos;if(t.src.charCodeAt(i)!==60){return false}const r=t.pos;const n=t.posMax;for(;;){if(++i>=n)return false;const e=t.src.charCodeAt(i);if(e===60)return false;if(e===62)break}const s=t.src.slice(r+1,i);if(fm.test(s)){const i=t.md.normalizeLink(s);if(!t.md.validateLink(i)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",i]];e.markup="autolink";e.info="auto";const r=t.push("text","",0);r.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}if(om.test(s)){const i=t.md.normalizeLink("mailto:"+s);if(!t.md.validateLink(i)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",i]];e.markup="autolink";e.info="auto";const r=t.push("text","",0);r.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}return false}function am(t){return/^<a[>\s]/i.test(t)}function cm(t){return/^<\/a\s*>/i.test(t)}function dm(t){const e=t|32;return e>=97&&e<=122}function pm(t,e){if(!t.md.options.html){return false}const i=t.posMax;const r=t.pos;if(t.src.charCodeAt(r)!==60||r+2>=i){return false}const n=t.src.charCodeAt(r+1);if(n!==33&&n!==63&&n!==47&&!dm(n)){return false}const s=t.src.slice(r).match(jp);if(!s){return false}if(!e){const e=t.push("html_inline","",0);e.content=s[0];if(am(e.content))t.linkLevel++;if(cm(e.content))t.linkLevel--}t.pos+=s[0].length;return true}const mm=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;const wm=/^&([a-z][a-z0-9]{1,31});/i;function gm(t,e){const i=t.pos;const r=t.posMax;if(t.src.charCodeAt(i)!==38)return false;if(i+1>=r)return false;const n=t.src.charCodeAt(i+1);if(n===35){const r=t.src.slice(i).match(mm);if(r){if(!e){const e=r[1][0].toLowerCase()==="x"?parseInt(r[1].slice(1),16):parseInt(r[1],10);const i=t.push("text_special","",0);i.content=nd(e)?sd(e):sd(65533);i.markup=r[0];i.info="entity"}t.pos+=r[0].length;return true}}else{const r=t.src.slice(i).match(wm);if(r){const i=x(r[0]);if(i!==r[0]){if(!e){const e=t.push("text_special","",0);e.content=i;e.markup=r[0];e.info="entity"}t.pos+=r[0].length;return true}}}return false}function bm(t){const e={};const i=t.length;if(!i)return;let r=0;let n=-2;const s=[];for(let l=0;l<i;l++){const i=t[l];s.push(0);if(t[r].marker!==i.marker||n!==i.token-1){r=l}n=i.token;i.length=i.length||0;if(!i.close)continue;if(!e.hasOwnProperty(i.marker)){e[i.marker]=[-1,-1,-1,-1,-1,-1]}const u=e[i.marker][(i.open?3:0)+i.length%3];let o=r-s[r]-1;let f=o;for(;o>u;o-=s[o]+1){const e=t[o];if(e.marker!==i.marker)continue;if(e.open&&e.end<0){let r=false;if(e.close||i.open){if((e.length+i.length)%3===0){if(e.length%3!==0||i.length%3!==0){r=true}}}if(!r){const r=o>0&&!t[o-1].open?s[o-1]+1:0;s[l]=l-o+r;s[o]=r;i.open=false;e.end=l;e.close=false;f=-1;n=-2;break}}}if(f!==-1){e[i.marker][(i.open?3:0)+(i.length||0)%3]=f}}}function km(t){const e=t.tokens_meta;const i=t.tokens_meta.length;bm(t.delimiters);for(let t=0;t<i;t++){if(e[t]&&e[t].delimiters){bm(e[t].delimiters)}}}function Dm(t){let e,i;let r=0;const n=t.tokens;const s=t.tokens.length;for(e=i=0;e<s;e++){if(n[e].nesting<0)r--;n[e].level=r;if(n[e].nesting>0)r++;if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==i){n[i]=n[e]}i++}}if(e!==i){n.length=i}}const vm=[["text",Wp],["linkify",Zp],["newline",Kp],["escape",Gp],["backticks",Xp],["strikethrough",em.tokenize],["emphasis",sm.tokenize],["link",lm],["image",um],["autolink",hm],["html_inline",pm],["entity",gm]];const ym=[["balance_pairs",km],["strikethrough",em.postProcess],["emphasis",sm.postProcess],["fragments_join",Dm]];function Fm(){this.ruler=new Bd;for(let t=0;t<vm.length;t++){this.ruler.push(vm[t][0],vm[t][1])}this.ruler2=new Bd;for(let t=0;t<ym.length;t++){this.ruler2.push(ym[t][0],ym[t][1])}}Fm.prototype.skipToken=function(t){const e=t.pos;const i=this.ruler.getRules("");const r=i.length;const n=t.md.options.maxNesting;const s=t.cache;if(typeof s[e]!=="undefined"){t.pos=s[e];return}let l=false;if(t.level<n){for(let n=0;n<r;n++){t.level++;l=i[n](t,true);t.level--;if(l){if(e>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}else{t.pos=t.posMax}if(!l){t.pos++}s[e]=t.pos};Fm.prototype.tokenize=function(t){const e=this.ruler.getRules("");const i=e.length;const r=t.posMax;const n=t.md.options.maxNesting;while(t.pos<r){const s=t.pos;let l=false;if(t.level<n){for(let r=0;r<i;r++){l=e[r](t,false);if(l){if(s>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}if(l){if(t.pos>=r){break}continue}t.pending+=t.src[t.pos++]}if(t.pending){t.pushPending()}};Fm.prototype.parse=function(t,e,i,r){const n=new this.State(t,e,i,r);this.tokenize(n);const s=this.ruler2.getRules("");const l=s.length;for(let t=0;t<l;t++){s[t](n)}};Fm.prototype.State=Lp;function Em(t){const e={};t=t||{};e.src_Any=Wc.source;e.src_Cc=Hc.source;e.src_Z=Gc.source;e.src_P=Kc.source;e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|");e.src_ZCc=[e.src_Z,e.src_Cc].join("|");const i="[><|]";e.src_pseudo_letter="(?:(?!"+i+"|"+e.src_ZPCc+")"+e.src_Any+")";e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?";e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?";e.src_host_terminator="(?=$|"+i+"|"+e.src_ZPCc+")"+"(?!"+(t["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))";e.src_path="(?:"+"[/?#]"+"(?:"+"(?!"+e.src_ZCc+"|"+i+"|[()[\\]{}.,\"'?!\\-;]).|"+"\\[(?:(?!"+e.src_ZCc+"|\\]).)*\\]|"+"\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|"+"\\{(?:(?!"+e.src_ZCc+"|[}]).)*\\}|"+'\\"(?:(?!'+e.src_ZCc+'|["]).)+\\"|'+"\\'(?:(?!"+e.src_ZCc+"|[']).)+\\'|"+"\\'(?="+e.src_pseudo_letter+"|[-])|"+"\\.{2,}[a-zA-Z0-9%/&]|"+"\\.(?!"+e.src_ZCc+"|[.]|$)|"+(t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+"|$)|"+";(?!"+e.src_ZCc+"|$)|"+"\\!+(?!"+e.src_ZCc+"|[!]|$)|"+"\\?(?!"+e.src_ZCc+"|[?]|$)"+")+"+"|\\/"+")?";e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*';e.src_xn="xn--[a-z0-9\\-]{1,59}";e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63}"+")";e.src_domain="(?:"+e.src_xn+"|"+"(?:"+e.src_pseudo_letter+")"+"|"+"(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+")"+")";e.src_host="(?:"+"(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+")"+")";e.tpl_host_fuzzy="(?:"+e.src_ip4+"|"+"(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))"+")";e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))";e.src_host_strict=e.src_host+e.src_host_terminator;e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator;e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator;e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))";e.tpl_email_fuzzy="(^|"+i+'|"|\\(|'+e.src_ZCc+")"+"("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")";e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")";e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")";return e}function xm(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}Object.keys(e).forEach((function(i){t[i]=e[i]}))}));return t}function Mm(t){return Object.prototype.toString.call(t)}function Am(t){return Mm(t)==="[object String]"}function Cm(t){return Mm(t)==="[object Object]"}function Sm(t){return Mm(t)==="[object RegExp]"}function Om(t){return Mm(t)==="[object Function]"}function $m(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const _m={fuzzyLink:true,fuzzyEmail:true,fuzzyIP:false};function Bm(t){return Object.keys(t||{}).reduce((function(t,e){return t||_m.hasOwnProperty(e)}),false)}const jm={"http:":{validate:function(t,e,i){const r=t.slice(e);if(!i.re.http){i.re.http=new RegExp("^\\/\\/"+i.re.src_auth+i.re.src_host_port_strict+i.re.src_path,"i")}if(i.re.http.test(r)){return r.match(i.re.http)[0].length}return 0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,i){const r=t.slice(e);if(!i.re.no_http){i.re.no_http=new RegExp("^"+i.re.src_auth+"(?:localhost|(?:(?:"+i.re.src_domain+")\\.)+"+i.re.src_domain_root+")"+i.re.src_port+i.re.src_host_terminator+i.re.src_path,"i")}if(i.re.no_http.test(r)){if(e>=3&&t[e-3]===":"){return 0}if(e>=3&&t[e-3]==="/"){return 0}return r.match(i.re.no_http)[0].length}return 0}},"mailto:":{validate:function(t,e,i){const r=t.slice(e);if(!i.re.mailto){i.re.mailto=new RegExp("^"+i.re.src_email_name+"@"+i.re.src_host_strict,"i")}if(i.re.mailto.test(r)){return r.match(i.re.mailto)[0].length}return 0}}};const qm="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]";const Rm="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Nm(t){t.__index__=-1;t.__text_cache__=""}function zm(t){return function(e,i){const r=e.slice(i);if(t.test(r)){return r.match(t)[0].length}return 0}}function Tm(){return function(t,e){e.normalize(t)}}function Im(t){const e=t.re=Em(t.__opts__);const i=t.__tlds__.slice();t.onCompile();if(!t.__tlds_replaced__){i.push(qm)}i.push(e.src_xn);e.src_tlds=i.join("|");function r(t){return t.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(r(e.tpl_email_fuzzy),"i");e.link_fuzzy=RegExp(r(e.tpl_link_fuzzy),"i");e.link_no_ip_fuzzy=RegExp(r(e.tpl_link_no_ip_fuzzy),"i");e.host_fuzzy_test=RegExp(r(e.tpl_host_fuzzy_test),"i");const n=[];t.__compiled__={};function s(t,e){throw new Error('(LinkifyIt) Invalid schema "'+t+'": '+e)}Object.keys(t.__schemas__).forEach((function(e){const i=t.__schemas__[e];if(i===null){return}const r={validate:null,link:null};t.__compiled__[e]=r;if(Cm(i)){if(Sm(i.validate)){r.validate=zm(i.validate)}else if(Om(i.validate)){r.validate=i.validate}else{s(e,i)}if(Om(i.normalize)){r.normalize=i.normalize}else if(!i.normalize){r.normalize=Tm()}else{s(e,i)}return}if(Am(i)){n.push(e);return}s(e,i)}));n.forEach((function(e){if(!t.__compiled__[t.__schemas__[e]]){return}t.__compiled__[e].validate=t.__compiled__[t.__schemas__[e]].validate;t.__compiled__[e].normalize=t.__compiled__[t.__schemas__[e]].normalize}));t.__compiled__[""]={validate:null,normalize:Tm()};const l=Object.keys(t.__compiled__).filter((function(e){return e.length>0&&t.__compiled__[e]})).map($m).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","i");t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","ig");t.re.schema_at_start=RegExp("^"+t.re.schema_search.source,"i");t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i");Nm(t)}function Pm(t,e){const i=t.__index__;const r=t.__last_index__;const n=t.__text_cache__.slice(i,r);this.schema=t.__schema__.toLowerCase();this.index=i+e;this.lastIndex=r+e;this.raw=n;this.text=n;this.url=n}function Jm(t,e){const i=new Pm(t,e);t.__compiled__[i.schema].normalize(i,t);return i}function Lm(t,e){if(!(this instanceof Lm)){return new Lm(t,e)}if(!e){if(Bm(t)){e=t;t={}}}this.__opts__=xm({},_m,e);this.__index__=-1;this.__last_index__=-1;this.__schema__="";this.__text_cache__="";this.__schemas__=xm({},jm,t);this.__compiled__={};this.__tlds__=Rm;this.__tlds_replaced__=false;this.re={};Im(this)}Lm.prototype.add=function t(e,i){this.__schemas__[e]=i;Im(this);return this};Lm.prototype.set=function t(e){this.__opts__=xm(this.__opts__,e);return this};Lm.prototype.test=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length){return false}let i,r,n,s,l,u,o,f,h;if(this.re.schema_test.test(e)){o=this.re.schema_search;o.lastIndex=0;while((i=o.exec(e))!==null){s=this.testSchemaAt(e,i[2],o.lastIndex);if(s){this.__schema__=i[2];this.__index__=i.index+i[1].length;this.__last_index__=i.index+i[0].length+s;break}}}if(this.__opts__.fuzzyLink&&this.__compiled__["http:"]){f=e.search(this.re.host_fuzzy_test);if(f>=0){if(this.__index__<0||f<this.__index__){if((r=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null){l=r.index+r[1].length;if(this.__index__<0||l<this.__index__){this.__schema__="";this.__index__=l;this.__last_index__=r.index+r[0].length}}}}}if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]){h=e.indexOf("@");if(h>=0){if((n=e.match(this.re.email_fuzzy))!==null){l=n.index+n[1].length;u=n.index+n[0].length;if(this.__index__<0||l<this.__index__||l===this.__index__&&u>this.__last_index__){this.__schema__="mailto:";this.__index__=l;this.__last_index__=u}}}}return this.__index__>=0};Lm.prototype.pretest=function t(e){return this.re.pretest.test(e)};Lm.prototype.testSchemaAt=function t(e,i,r){if(!this.__compiled__[i.toLowerCase()]){return 0}return this.__compiled__[i.toLowerCase()].validate(e,r,this)};Lm.prototype.match=function t(e){const i=[];let r=0;if(this.__index__>=0&&this.__text_cache__===e){i.push(Jm(this,r));r=this.__last_index__}let n=r?e.slice(r):e;while(this.test(n)){i.push(Jm(this,r));n=n.slice(this.__last_index__);r+=this.__last_index__}if(i.length){return i}return null};Lm.prototype.matchAtStart=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length)return null;const i=this.re.schema_at_start.exec(e);if(!i)return null;const r=this.testSchemaAt(e,i[2],i[0].length);if(!r)return null;this.__schema__=i[2];this.__index__=i.index+i[1].length;this.__last_index__=i.index+i[0].length+r;return Jm(this,0)};Lm.prototype.tlds=function t(e,i){e=Array.isArray(e)?e:[e];if(!i){this.__tlds__=e.slice();this.__tlds_replaced__=true;Im(this);return this}this.__tlds__=this.__tlds__.concat(e).sort().filter((function(t,e,i){return t!==i[e-1]})).reverse();Im(this);return this};Lm.prototype.normalize=function t(e){if(!e.schema){e.url="http://"+e.url}if(e.schema==="mailto:"&&!/^mailto:/i.test(e.url)){e.url="mailto:"+e.url}};Lm.prototype.onCompile=function t(){};const Um=2147483647;const Wm=36;const Hm=1;const Zm=26;const Km=38;const Vm=700;const Gm=72;const Xm=128;const Ym="-";const Qm=/^xn--/;const tw=/[^\0-\x7F]/;const ew=/[\x2E\u3002\uFF0E\uFF61]/g;const iw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const rw=Wm-Hm;const nw=Math.floor;const sw=String.fromCharCode;function lw(t){throw new RangeError(iw[t])}function uw(t,e){const i=[];let r=t.length;while(r--){i[r]=e(t[r])}return i}function ow(t,e){const i=t.split("@");let r="";if(i.length>1){r=i[0]+"@";t=i[1]}t=t.replace(ew,".");const n=t.split(".");const s=uw(n,e).join(".");return r+s}function fw(t){const e=[];let i=0;const r=t.length;while(i<r){const n=t.charCodeAt(i++);if(n>=55296&&n<=56319&&i<r){const r=t.charCodeAt(i++);if((r&64512)==56320){e.push(((n&1023)<<10)+(r&1023)+65536)}else{e.push(n);i--}}else{e.push(n)}}return e}const hw=t=>String.fromCodePoint(...t);const aw=function(t){if(t>=48&&t<58){return 26+(t-48)}if(t>=65&&t<91){return t-65}if(t>=97&&t<123){return t-97}return Wm};const cw=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)};const dw=function(t,e,i){let r=0;t=i?nw(t/Vm):t>>1;t+=nw(t/e);for(;t>rw*Zm>>1;r+=Wm){t=nw(t/rw)}return nw(r+(rw+1)*t/(t+Km))};const pw=function(t){const e=[];const i=t.length;let r=0;let n=Xm;let s=Gm;let l=t.lastIndexOf(Ym);if(l<0){l=0}for(let i=0;i<l;++i){if(t.charCodeAt(i)>=128){lw("not-basic")}e.push(t.charCodeAt(i))}for(let u=l>0?l+1:0;u<i;){const l=r;for(let e=1,n=Wm;;n+=Wm){if(u>=i){lw("invalid-input")}const l=aw(t.charCodeAt(u++));if(l>=Wm){lw("invalid-input")}if(l>nw((Um-r)/e)){lw("overflow")}r+=l*e;const o=n<=s?Hm:n>=s+Zm?Zm:n-s;if(l<o){break}const f=Wm-o;if(e>nw(Um/f)){lw("overflow")}e*=f}const o=e.length+1;s=dw(r-l,o,l==0);if(nw(r/o)>Um-n){lw("overflow")}n+=nw(r/o);r%=o;e.splice(r++,0,n)}return String.fromCodePoint(...e)};const mw=function(t){const e=[];t=fw(t);const i=t.length;let r=Xm;let n=0;let s=Gm;for(const i of t){if(i<128){e.push(sw(i))}}const l=e.length;let u=l;if(l){e.push(Ym)}while(u<i){let i=Um;for(const e of t){if(e>=r&&e<i){i=e}}const o=u+1;if(i-r>nw((Um-n)/o)){lw("overflow")}n+=(i-r)*o;r=i;for(const i of t){if(i<r&&++n>Um){lw("overflow")}if(i===r){let t=n;for(let i=Wm;;i+=Wm){const r=i<=s?Hm:i>=s+Zm?Zm:i-s;if(t<r){break}const n=t-r;const l=Wm-r;e.push(sw(cw(r+n%l,0)));t=nw(n/l)}e.push(sw(cw(t,0)));s=dw(n,o,u===l);n=0;++u}}++n;++r}return e.join("")};const ww=function(t){return ow(t,(function(t){return Qm.test(t)?pw(t.slice(4).toLowerCase()):t}))};const gw=function(t){return ow(t,(function(t){return tw.test(t)?"xn--"+mw(t):t}))};const bw={version:"2.3.1",ucs2:{decode:fw,encode:hw},decode:pw,encode:mw,toASCII:gw,toUnicode:ww};const kw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};const Dw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}};const vw={options:{html:true,xhtmlOut:true,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}};const yw={default:kw,zero:Dw,commonmark:vw};const Fw=/^(vbscript|javascript|file|data):/;const Ew=/^data:image\/(gif|png|jpeg|webp);/;function xw(t){const e=t.trim().toLowerCase();return Fw.test(e)?Ew.test(e):true}const Mw=["http:","https:","mailto:"];function Aw(t){const e=Lc(t,true);if(e.hostname){if(!e.protocol||Mw.indexOf(e.protocol)>=0){try{e.hostname=bw.toASCII(e.hostname)}catch(t){}}}return Ac(Cc(e))}function Cw(t){const e=Lc(t,true);if(e.hostname){if(!e.protocol||Mw.indexOf(e.protocol)>=0){try{e.hostname=bw.toUnicode(e.hostname)}catch(t){}}}return Ec(Cc(e),Ec.defaultChars+"%")}function Sw(t,e){if(!(this instanceof Sw)){return new Sw(t,e)}if(!e){if(!Qc(t)){e=t||{};t="default"}}this.inline=new Fm;this.block=new Jp;this.core=new lp;this.renderer=new _d;this.linkify=new Lm;this.validateLink=xw;this.normalizeLink=Aw;this.normalizeLinkText=Cw;this.utils=Md;this.helpers=id({},Od);this.options={};this.configure(t);if(e){this.set(e)}}Sw.prototype.set=function(t){id(this.options,t);return this};Sw.prototype.configure=function(t){const e=this;if(Qc(t)){const e=t;t=yw[e];if(!t){throw new Error('Wrong `markdown-it` preset "'+e+'", check name')}}if(!t){throw new Error("Wrong `markdown-it` preset, can't be empty")}if(t.options){e.set(t.options)}if(t.components){Object.keys(t.components).forEach((function(i){if(t.components[i].rules){e[i].ruler.enableOnly(t.components[i].rules)}if(t.components[i].rules2){e[i].ruler2.enableOnly(t.components[i].rules2)}}))}return this};Sw.prototype.enable=function(t,e){let i=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){i=i.concat(this[e].ruler.enable(t,true))}),this);i=i.concat(this.inline.ruler2.enable(t,true));const r=t.filter((function(t){return i.indexOf(t)<0}));if(r.length&&!e){throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r)}return this};Sw.prototype.disable=function(t,e){let i=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){i=i.concat(this[e].ruler.disable(t,true))}),this);i=i.concat(this.inline.ruler2.disable(t,true));const r=t.filter((function(t){return i.indexOf(t)<0}));if(r.length&&!e){throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r)}return this};Sw.prototype.use=function(t){const e=[this].concat(Array.prototype.slice.call(arguments,1));t.apply(t,e);return this};Sw.prototype.parse=function(t,e){if(typeof t!=="string"){throw new Error("Input data should be a String")}const i=new this.core.State(t,this,e);this.core.process(i);return i.tokens};Sw.prototype.render=function(t,e){e=e||{};return this.renderer.render(this.parse(t,e),this.options,e)};Sw.prototype.parseInline=function(t,e){const i=new this.core.State(t,this,e);i.inlineMode=true;this.core.process(i);return i.tokens};Sw.prototype.renderInline=function(t,e){e=e||{};return this.renderer.render(this.parseInline(t,e),this.options,e)};const Ow=new oi({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return["p",0]}},blockquote:{content:"block+",group:"block",parseDOM:[{tag:"blockquote"}],toDOM(){return["blockquote",0]}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return["div",["hr"]]}},heading:{attrs:{level:{default:1}},content:"(text | image)*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",group:"block",code:true,defining:true,marks:"",attrs:{params:{default:""}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:t=>({params:t.getAttribute("data-params")||""})}],toDOM(t){return["pre",t.attrs.params?{"data-params":t.attrs.params}:{},["code",0]]}},ordered_list:{content:"list_item+",group:"block",attrs:{order:{default:1},tight:{default:false}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1,tight:t.hasAttribute("data-tight")}}}],toDOM(t){return["ol",{start:t.attrs.order==1?null:t.attrs.order,"data-tight":t.attrs.tight?"true":null},0]}},bullet_list:{content:"list_item+",group:"block",attrs:{tight:{default:false}},parseDOM:[{tag:"ul",getAttrs:t=>({tight:t.hasAttribute("data-tight")})}],toDOM(t){return["ul",{"data-tight":t.attrs.tight?"true":null},0]}},list_item:{content:"block+",defining:true,parseDOM:[{tag:"li"}],toDOM(){return["li",0]}},text:{group:"inline"},image:{inline:true,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){return["img",t.attrs]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return["br"]}}},marks:{em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return["em"]}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return["strong"]}},link:{attrs:{href:{},title:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){return["a",t.attrs]}},code:{parseDOM:[{tag:"code"}],toDOM(){return["code"]}}}});function $w(t,e){if(t.isText&&e.isText&&be.sameSet(t.marks,e.marks))return t.withText(t.text+e.text)}class _w{constructor(t,e){this.schema=t;this.tokenHandlers=e;this.stack=[{type:t.topNodeType,attrs:null,content:[],marks:be.none}]}top(){return this.stack[this.stack.length-1]}push(t){if(this.stack.length)this.top().content.push(t)}addText(t){if(!t)return;let e=this.top(),i=e.content,r=i[i.length-1];let n=this.schema.text(t,e.marks),s;if(r&&(s=$w(r,n)))i[i.length-1]=s;else i.push(n)}openMark(t){let e=this.top();e.marks=t.addToSet(e.marks)}closeMark(t){let e=this.top();e.marks=t.removeFromSet(e.marks)}parseTokens(t){for(let e=0;e<t.length;e++){let i=t[e];let r=this.tokenHandlers[i.type];if(!r)throw new Error("Token type `"+i.type+"` not supported by Markdown parser");r(this,i,t,e)}}addNode(t,e,i){let r=this.top();let n=t.createAndFill(e,i,r?r.marks:[]);if(!n)return null;this.push(n);return n}openNode(t,e){this.stack.push({type:t,attrs:e,content:[],marks:be.none})}closeNode(){let t=this.stack.pop();return this.addNode(t.type,t.attrs,t.content)}}function Bw(t,e,i,r){if(t.getAttrs)return t.getAttrs(e,i,r);else if(t.attrs instanceof Function)return t.attrs(e);else return t.attrs}function jw(t,e){return t.noCloseToken||e=="code_inline"||e=="code_block"||e=="fence"}function qw(t){return t[t.length-1]=="\n"?t.slice(0,t.length-1):t}function Rw(){}function Nw(t,e){let i=Object.create(null);for(let r in e){let n=e[r];if(n.block){let e=t.nodeType(n.block);if(jw(n,r)){i[r]=(t,i,r,s)=>{t.openNode(e,Bw(n,i,r,s));t.addText(qw(i.content));t.closeNode()}}else{i[r+"_open"]=(t,i,r,s)=>t.openNode(e,Bw(n,i,r,s));i[r+"_close"]=t=>t.closeNode()}}else if(n.node){let e=t.nodeType(n.node);i[r]=(t,i,r,s)=>t.addNode(e,Bw(n,i,r,s))}else if(n.mark){let e=t.marks[n.mark];if(jw(n,r)){i[r]=(t,i,r,s)=>{t.openMark(e.create(Bw(n,i,r,s)));t.addText(qw(i.content));t.closeMark(e)}}else{i[r+"_open"]=(t,i,r,s)=>t.openMark(e.create(Bw(n,i,r,s)));i[r+"_close"]=t=>t.closeMark(e)}}else if(n.ignore){if(jw(n,r)){i[r]=Rw}else{i[r+"_open"]=Rw;i[r+"_close"]=Rw}}else{throw new RangeError("Unrecognized parsing spec "+JSON.stringify(n))}}i.text=(t,e)=>t.addText(e.content);i.inline=(t,e)=>t.parseTokens(e.children);i.softbreak=i.softbreak||(t=>t.addText(" "));return i}class zw{constructor(t,e,i){this.schema=t;this.tokenizer=e;this.tokens=i;this.tokenHandlers=Nw(t,i)}parse(t,e={}){let i=new _w(this.schema,this.tokenHandlers),r;i.parseTokens(this.tokenizer.parse(t,e));do{r=i.closeNode()}while(i.stack.length);return r||this.schema.topNodeType.createAndFill()}}function Tw(t,e){while(++e<t.length)if(t[e].type!="list_item_open")return t[e].hidden;return false}new zw(Ow,Sw("commonmark",{html:false}),{blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(t,e,i)=>({tight:Tw(e,i)})},ordered_list:{block:"ordered_list",getAttrs:(t,e,i)=>({order:+t.attrGet("start")||1,tight:Tw(e,i)})},heading:{block:"heading",getAttrs:t=>({level:+t.tag.slice(1)})},code_block:{block:"code_block",noCloseToken:true},fence:{block:"code_block",getAttrs:t=>({params:t.info||""}),noCloseToken:true},hr:{node:"horizontal_rule"},image:{node:"image",getAttrs:t=>({src:t.attrGet("src"),title:t.attrGet("title")||null,alt:t.children[0]&&t.children[0].content||null})},hardbreak:{node:"hard_break"},em:{mark:"em"},strong:{mark:"strong"},link:{mark:"link",getAttrs:t=>({href:t.attrGet("href"),title:t.attrGet("title")||null})},code_inline:{mark:"code",noCloseToken:true}});class Iw{constructor(t,e,i={}){this.nodes=t;this.marks=e;this.options=i}serialize(t,e={}){e=Object.assign({},this.options,e);let i=new Uw(this.nodes,this.marks,e);i.renderContent(t);return i.out}}const Pw=new Iw({blockquote(t,e){t.wrapBlock("> ",null,e,(()=>t.renderContent(e)))},code_block(t,e){const i=e.textContent.match(/`{3,}/gm);const r=i?i.sort().slice(-1)[0]+"`":"```";t.write(r+(e.attrs.params||"")+"\n");t.text(e.textContent,false);t.write("\n");t.write(r);t.closeBlock(e)},heading(t,e){t.write(t.repeat("#",e.attrs.level)+" ");t.renderInline(e,false);t.closeBlock(e)},horizontal_rule(t,e){t.write(e.attrs.markup||"---");t.closeBlock(e)},bullet_list(t,e){t.renderList(e," ",(()=>(e.attrs.bullet||"*")+" "))},ordered_list(t,e){let i=e.attrs.order||1;let r=String(i+e.childCount-1).length;let n=t.repeat(" ",r+2);t.renderList(e,n,(e=>{let n=String(i+e);return t.repeat(" ",r-n.length)+n+". "}))},list_item(t,e){t.renderContent(e)},paragraph(t,e){t.renderInline(e);t.closeBlock(e)},image(t,e){t.write("]/g,"\\$&")+(e.attrs.title?' "'+e.attrs.title.replace(/"/g,'\\"')+'"':"")+")")},hard_break(t,e,i,r){for(let n=r+1;n<i.childCount;n++)if(i.child(n).type!=e.type){t.write("\\\n");return}},text(t,e){t.text(e.text,!t.inAutolink)}},{em:{open:"*",close:"*",mixable:true,expelEnclosingWhitespace:true},strong:{open:"**",close:"**",mixable:true,expelEnclosingWhitespace:true},link:{open(t,e,i,r){t.inAutolink=Lw(e,i,r);return t.inAutolink?"<":"["},close(t,e,i,r){let{inAutolink:n}=t;t.inAutolink=undefined;return n?">":"]("+e.attrs.href.replace(/[\(\)"]/g,"\\$&")+(e.attrs.title?` "${e.attrs.title.replace(/"/g,'\\"')}"`:"")+")"},mixable:true},code:{open(t,e,i,r){return Jw(i.child(r),-1)},close(t,e,i,r){return Jw(i.child(r-1),1)},escape:false}});function Jw(t,e){let i=/`+/g,r,n=0;if(t.isText)while(r=i.exec(t.text))n=Math.max(n,r[0].length);let s=n>0&&e>0?" `":"`";for(let t=0;t<n;t++)s+="`";if(n>0&&e<0)s+=" ";return s}function Lw(t,e,i){if(t.attrs.title||!/^\w+:/.test(t.attrs.href))return false;let r=e.child(i);if(!r.isText||r.text!=t.attrs.href||r.marks[r.marks.length-1]!=t)return false;return i==e.childCount-1||!t.isInSet(e.child(i+1).marks)}class Uw{constructor(t,e,i){this.nodes=t;this.marks=e;this.options=i;this.delim="";this.out="";this.closed=null;this.inAutolink=undefined;this.atBlockStart=false;this.inTightList=false;if(typeof this.options.tightLists=="undefined")this.options.tightLists=false;if(typeof this.options.hardBreakNodeName=="undefined")this.options.hardBreakNodeName="hard_break"}flushClose(t=2){if(this.closed){if(!this.atBlank())this.out+="\n";if(t>1){let e=this.delim;let i=/\s+$/.exec(e);if(i)e=e.slice(0,e.length-i[0].length);for(let i=1;i<t;i++)this.out+=e+"\n"}this.closed=null}}wrapBlock(t,e,i,r){let n=this.delim;this.write(e!=null?e:t);this.delim+=t;r();this.delim=n;this.closeBlock(i)}atBlank(){return/(^|\n)$/.test(this.out)}ensureNewLine(){if(!this.atBlank())this.out+="\n"}write(t){this.flushClose();if(this.delim&&this.atBlank())this.out+=this.delim;if(t)this.out+=t}closeBlock(t){this.closed=t}text(t,e=true){let i=t.split("\n");for(let t=0;t<i.length;t++){this.write();if(!e&&i[t][0]=="["&&/(^|[^\\])\!$/.test(this.out))this.out=this.out.slice(0,this.out.length-1)+"\\!";this.out+=e?this.esc(i[t],this.atBlockStart):i[t];if(t!=i.length-1)this.out+="\n"}}render(t,e,i){if(!this.nodes[t.type.name])throw new Error("Token type `"+t.type.name+"` not supported by Markdown renderer");this.nodes[t.type.name](this,t,e,i)}renderContent(t){t.forEach(((e,i,r)=>this.render(e,t,r)))}renderInline(t,e=true){this.atBlockStart=e;let i=[],r="";let n=(e,n,s)=>{let l=e?e.marks:[];if(e&&e.type.name===this.options.hardBreakNodeName)l=l.filter((e=>{if(s+1==t.childCount)return false;let i=t.child(s+1);return e.isInSet(i.marks)&&(!i.isText||/\S/.test(i.text))}));let u=r;r="";if(e&&e.isText&&l.some((t=>{let e=this.marks[t.type.name];return e&&e.expelEnclosingWhitespace&&!t.isInSet(i)}))){let[t,r,n]=/^(\s*)(.*)$/m.exec(e.text);if(r){u+=r;e=n?e.withText(n):null;if(!e)l=i}}if(e&&e.isText&&l.some((e=>{let i=this.marks[e.type.name];return i&&i.expelEnclosingWhitespace&&(s==t.childCount-1||!e.isInSet(t.child(s+1).marks))}))){let[t,n,s]=/^(.*?)(\s*)$/m.exec(e.text);if(s){r=s;e=n?e.withText(n):null;if(!e)l=i}}let o=l.length?l[l.length-1]:null;let f=o&&this.marks[o.type.name].escape===false;let h=l.length-(f?1:0);t:for(let t=0;t<h;t++){let e=l[t];if(!this.marks[e.type.name].mixable)break;for(let r=0;r<i.length;r++){let n=i[r];if(!this.marks[n.type.name].mixable)break;if(e.eq(n)){if(t>r)l=l.slice(0,r).concat(e).concat(l.slice(r,t)).concat(l.slice(t+1,h));else if(r>t)l=l.slice(0,t).concat(l.slice(t+1,r)).concat(e).concat(l.slice(r,h));continue t}}}let a=0;while(a<Math.min(i.length,h)&&l[a].eq(i[a]))++a;while(a<i.length)this.text(this.markString(i.pop(),false,t,s),false);if(u)this.text(u);if(e){while(i.length<h){let e=l[i.length];i.push(e);this.text(this.markString(e,true,t,s),false);this.atBlockStart=false}if(f&&e.isText)this.text(this.markString(o,true,t,s)+e.text+this.markString(o,false,t,s+1),false);else this.render(e,t,s);this.atBlockStart=false}if((e===null||e===void 0?void 0:e.isText)&&e.nodeSize>0){this.atBlockStart=false}};t.forEach(n);n(null,0,t.childCount);this.atBlockStart=false}renderList(t,e,i){if(this.closed&&this.closed.type==t.type)this.flushClose(3);else if(this.inTightList)this.flushClose(1);let r=typeof t.attrs.tight!="undefined"?t.attrs.tight:this.options.tightLists;let n=this.inTightList;this.inTightList=r;t.forEach(((n,s,l)=>{if(l&&r)this.flushClose(1);this.wrapBlock(e,i(l),t,(()=>this.render(n,t,l)))}));this.inTightList=n}esc(t,e=false){t=t.replace(/[`*\\~\[\]_]/g,((e,i)=>e=="_"&&i>0&&i+1<t.length&&t[i-1].match(/\w/)&&t[i+1].match(/\w/)?e:"\\"+e));if(e)t=t.replace(/^(\+[ ]|[\-*>])/,"\\$&").replace(/^(\s*)(#{1,6})(\s|$)/,"$1\\$2$3").replace(/^(\s*\d+)\.\s/,"$1\\. ");if(this.options.escapeExtraCharacters)t=t.replace(this.options.escapeExtraCharacters,"\\$&");return t}quote(t){let e=t.indexOf('"')==-1?'""':t.indexOf("'")==-1?"''":"()";return e[0]+t+e[1]}repeat(t,e){let i="";for(let r=0;r<e;r++)i+=t;return i}markString(t,e,i,r){let n=this.marks[t.type.name];let s=e?n.open:n.close;return typeof s=="string"?s:s(this,t,i,r)}getEnclosingWhitespace(t){return{leading:(t.match(/^(\s+)/)||[undefined])[0],trailing:(t.match(/(\s+)$/)||[undefined])[0]}}}const Ww=new Iw(Object.assign({},Pw.nodes),Object.assign(Object.assign({},Pw.marks),{strikethrough:{open:"~~",close:"~~",mixable:true,expelEnclosingWhitespace:true}}));class Hw{constructor(){this.parseAsHTML=t=>M(t);this.serialize=t=>{if(t.dom.textContent===""){return""}else{return Ww.serialize(t.state.doc)}}}}class Zw{constructor(){this.parseAsHTML=t=>new Promise((e=>{e(t)}));this.serialize=t=>{if(t.dom.textContent===""){return""}else{return t.dom.innerHTML}}}}const Kw={parseDOM:[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration=line-through"}],toDOM:()=>["s",0]};const Vw=new cn("linkPlugin");const Gw=(t,e)=>{const{from:i,to:r}=t.state.selection;let n="";let s="";t.state.doc.nodesBetween(i,r,(t=>{if(t.type.name==="text"){n=t.text;t.marks.forEach((t=>{if(t.type.name==="link"){s=t.attrs.href}}))}}));if(e){e(n,s)}};const Xw=(t,e,i)=>{while(e>0){const r=t.nodeAt(e-1);if(!(r===null||r===void 0?void 0:r.isText)||!r.marks.some((t=>t.type.name===Ya.Link&&t.attrs.href===i))){break}e--}return e};const Yw=(t,e,i)=>{while(e<t.content.size){const r=t.nodeAt(e);if(!(r===null||r===void 0?void 0:r.isText)||!r.marks.some((t=>t.type.name===Ya.Link&&t.attrs.href===i))){break}e++}return e};const Qw=(t,e)=>{const i=t.posAtCoords({left:e.clientX,top:e.clientY});const r=t.state.doc.nodeAt(i.pos);if(!r){return null}const n=r.marks.find((t=>t.type.name===Ya.Link));if(!n){return null}const s=n.attrs.href;const l=Xw(t.state.doc,i.pos,s);const u=Yw(t.state.doc,i.pos,s);const o=t.state.doc.textBetween(l,u," ");return{href:s,text:o,from:l,to:u}};const tg=(t,e)=>{const{href:i}=Qw(t,e);if(i){window.open(i,"_blank");return true}return false};const eg=(t,e,i)=>{const r=new CustomEvent("open-editor-link-menu",{detail:{href:e,text:i},bubbles:true,composed:true});t.dom.dispatchEvent(r)};let ig=0;const rg=200;let ng;const sg=(t,e)=>{const i=Date.now();if(i-ig<rg){clearTimeout(ng);ig=i;return false}ig=i;ng=setTimeout((()=>{const i=Qw(t,e);if(i){const{href:e,text:r,from:n,to:s}=i;const l=t.state.tr.setSelection(Ur.create(t.state.doc,n,s));t.dispatch(l);eg(t,e,r)}}),rg);return true};const lg=(t,e)=>{const i=e.clipboardData;if(!i){return false}const r=i.getData("text/plain");if(!oc(r)){return false}ug(t,r);return true};const ug=(t,e)=>{const{state:i,dispatch:r}=t;const{from:n,to:s}=i.selection;const l=No.marks.link.create({href:e,title:e,target:lc(e)?"_blank":null});const u=i.doc.textBetween(n,s," ")||e;const o=i.tr.insertText(u,n,s).addMark(n,n+u.length,l);r(o)};const og=t=>new fn({key:Vw,props:{handlePaste:(t,e)=>lg(t,e),handleDOMEvents:{mousedown:(t,e)=>{if((e.metaKey||e.ctrlKey)&&e.button===0){return tg(t,e)}return sg(t,e)}}},view:()=>({update:e=>{Gw(e,t)}})});const fg='@charset "UTF-8";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-prosemirror-adapter){display:flex;flex-direction:column}:host(limel-prosemirror-adapter) limel-action-bar{order:1}:host(limel-prosemirror-adapter) div#editor{order:2;height:100%}:host(limel-prosemirror-adapter) div[contenteditable=true]{height:100%}*{box-sizing:border-box}.ProseMirror-menubar-wrapper{display:grid;grid-template-rows:auto 1fr}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}limel-action-bar{--action-bar-border-radius:0.25rem;position:sticky;z-index:1;top:1px;background-color:rgba(var(--contrast-200), 0.5);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);opacity:0.6;transition:opacity 0.5s ease;margin:0 1px;width:calc(100% - 2px)}:host(limel-prosemirror-adapter:focus-within) limel-action-bar,:host(limel-prosemirror-adapter:hover) limel-action-bar{opacity:1}.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;padding:var(--limel-text-editor-padding)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror:focus-visible{outline:none}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-selectednode{outline:0.125rem solid rgb(var(--color-sky-light))}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-2rem;right:-0.125rem;top:-0.125rem;bottom:-0.125rem;border:0.125rem solid rgb(var(--color-sky-light));pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}limel-portal{width:25rem}blockquote{position:relative;font-weight:100;font-size:0.875rem;max-width:100%;line-height:1.4;margin:0;padding:0.5rem 1.25rem;border-radius:0.05rem 0.75rem;background-color:rgb(var(--contrast-300))}blockquote:before,blockquote:after{position:absolute;font-size:2.75rem;opacity:0.4}blockquote:before{content:"“";left:0;top:-0.75rem}blockquote:after{content:"”";right:0;bottom:-2rem}:host(limel-markdown.truncate-paragraphs) p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}p,li{font-size:0.875rem;word-break:break-word;hyphens:auto;-webkit-hyphens:auto}a{word-break:break-all}p{margin-top:0;margin-bottom:0.5rem}p:only-child{margin-bottom:0}a{transition:color 0.2s ease;color:var(--markdown-hyperlink-color, rgb(var(--color-blue-dark)));text-decoration:none}a:hover{color:var(--markdown-hyperlink-color--hovered, rgb(var(--color-blue-default)))}hr{margin:1.75rem 0 2rem 0;border-width:0;border-top:1px solid rgb(var(--contrast-500))}dl{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;margin-bottom:2rem;border:1px solid rgb(var(--contrast-400));border-radius:0.375rem;background-color:rgb(var(--contrast-200))}dl dt,dl dd{padding:0.375rem 0.5rem;font-size:0.875rem;margin:0}dl dt:nth-of-type(even),dl dd:nth-of-type(even){background-color:rgb(var(--contrast-300))}dl dt:first-child{border-top-left-radius:0.375rem}dl dt:last-child{border-bottom-left-radius:0.375rem}dl dd:first-child{border-top-right-radius:0.375rem}dl dd:last-child{border-bottom-right-radius:0.375rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:0.875rem}h6{font-size:0.75rem}h1,h2{margin-top:0.5rem;margin-bottom:0.5rem;letter-spacing:-0.03125rem;font-weight:500}h3,h4{margin-top:0.75rem;margin-bottom:0.25rem;font-weight:600}h5,h6{margin-top:0.5rem;margin-bottom:0.125rem;font-weight:600}h1,h2,h3,h4,h5,h6{word-break:break-word;hyphens:auto;-webkit-hyphens:auto}:not([contenteditable=true]) h1,:not([contenteditable=true]) h2,:not([contenteditable=true]) h3,:not([contenteditable=true]) h4,:not([contenteditable=true]) h5,:not([contenteditable=true]) h6{text-wrap:balance}[contenteditable=true] h1,[contenteditable=true] h2,[contenteditable=true] h3,[contenteditable=true] h4,[contenteditable=true] h5,[contenteditable=true] h6{text-wrap:initial}ul{list-style:none}ul li{position:relative;margin-left:0.75rem}ul li:before{content:"";position:absolute;left:-0.5rem;top:0.5rem;width:0.25rem;height:0.25rem;border-radius:50%;background-color:rgb(var(--contrast-700));display:block}ol{margin-top:0.25rem;padding-left:1rem}ul{margin-top:0.25rem;padding-left:0}ul ul,ul ol,ol ol,ol ul{margin-left:0}li{margin-bottom:0.25rem}code{font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-size:0.8125rem;letter-spacing:-0.0125rem;color:rgb(var(--contrast-1300));-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;display:inline-block;border-radius:0.25rem;padding:0.03125rem 0.25rem;background-color:rgb(var(--contrast-600))}pre>code{display:block;margin:0.5rem 0;padding:0.5rem 0.75rem;overflow:auto;white-space:pre-wrap}:host(limel-markdown:not(.no-table-styles)) table{table-layout:auto;min-width:100%;border-collapse:collapse;border-spacing:0;background:transparent;margin:0.75rem 0;border:1px solid rgb(var(--contrast-400))}:host(limel-markdown:not(.no-table-styles)) th,:host(limel-markdown:not(.no-table-styles)) td{text-align:left;vertical-align:top;transition:background-color 0.2s ease;font-size:0.875rem}:host(limel-markdown:not(.no-table-styles)) td{padding:0.5rem 0.375rem 0.75rem 0.375rem}:host(limel-markdown:not(.no-table-styles)) tr th{background-color:rgb(var(--contrast-400));padding:0.25rem 0.375rem;font-weight:normal}:host(limel-markdown:not(.no-table-styles)) tr th:only-child{text-align:center}:host(limel-markdown:not(.no-table-styles)) tbody tr:nth-child(odd) td{background-color:rgb(var(--contrast-200))}:host(limel-markdown:not(.no-table-styles)) tbody tr:hover td{background-color:rgb(var(--contrast-300))}';const hg=class{constructor(i){t(this,i);this.change=e(this,"change",7);this.suppressChangeEvent=false;this.actionBarPluginKey=new cn("actionBarPlugin");this.getActionBarItems=()=>{this.actionBarItems=Dc().map(this.getTranslatedItem)};this.getTranslatedItem=t=>{const e=he(t);if(S(t)){const i=vc[t.value];if(i){e.text=A.get(i,this.language)}}return e};this.handleTransaction=t=>{const e=this.view.state.apply(t);this.view.updateState(e);if(this.suppressChangeEvent){return}if(t.getMeta("pointer")){return}this.change.emit(this.contentConverter.serialize(this.view,this.schema))};this.handleActionBarItem=t=>{t.preventDefault();t.stopImmediatePropagation();const{value:e}=t.detail;if(e===Ya.Link){this.isLinkMenuOpen=true;return}try{const t=this.menuCommandFactory.getCommand(e);this.dispatchMenuCommand(t)}catch(t){throw new Error(`Error executing command: ${t}`)}};this.handleCancelLinkMenu=()=>{this.isLinkMenuOpen=false};this.handleSaveLinkMenu=()=>{this.isLinkMenuOpen=false;try{const t=this.menuCommandFactory.getCommand("link",this.link);this.dispatchMenuCommand(t)}catch(t){throw new Error(`Error executing command: ${t}`)}this.link={href:""}};this.handleLinkChange=t=>{this.link=t.detail};this.updateActionBarItems=(t,e)=>{const i=he(t);i.forEach((t=>{if(S(t)){const i=this.menuCommandFactory.getCommand(t.value);if(i&&i.active){t.selected=i.active(e.state)}else{t.selected=false}}}));this.actionBarItems=i};this.createMenuStateTrackingPlugin=t=>new fn({key:this.actionBarPluginKey,view:()=>({update:e=>{this.updateActionBarItems(t,e)}})});this.handleNewLinkSelection=(t,e)=>{this.link.text=t;this.link.href=e};this.handleOpenLinkMenu=t=>{t.stopImmediatePropagation();const{href:e,text:i}=t.detail;this.link={href:e,text:i};this.isLinkMenuOpen=true};this.contentType="markdown";this.value=undefined;this.language=undefined;this.view=undefined;this.actionBarItems=[];this.link={href:""};this.isLinkMenuOpen=false;this.portalId=C()}watchValue(t){if(!this.view||t===this.contentConverter.serialize(this.view,this.schema)){return}this.updateView(t)}componentWillLoad(){this.getActionBarItems();this.setupContentConverter()}componentDidLoad(){setTimeout((()=>{this.initializeTextEditor()}),0);this.host.addEventListener("open-editor-link-menu",this.handleOpenLinkMenu)}disconnectedCallback(){this.host.removeEventListener("open-editor-link-menu",this.handleOpenLinkMenu);this.view.destroy()}render(){return[i("div",{id:"editor"}),i("limel-action-bar",{slot:"trigger",accessibleLabel:"Toolbar",actions:this.actionBarItems,onItemSelected:this.handleActionBarItem}),i("limel-portal",{containerId:this.portalId,visible:this.isLinkMenuOpen,openDirection:"top",inheritParentWidth:true,containerStyle:{"z-index":1}},i("limel-menu-surface",{open:this.isLinkMenuOpen,onDismiss:this.handleCancelLinkMenu,style:{"--mdc-menu-min-width":"100%","max-height":"inherit"}},i("limel-text-editor-link-menu",{link:this.link,isOpen:this.isLinkMenuOpen,onLinkChange:this.handleLinkChange,onCancel:this.handleCancelLinkMenu,onSave:this.handleSaveLinkMenu})))]}setupContentConverter(){if(this.contentType==="markdown"){this.contentConverter=new Hw}else if(this.contentType==="html"){this.contentConverter=new Zw}else{throw new Error(`Unsupported content type: ${this.contentType}. Only 'markdown' and 'html' are supported.`)}}async initializeTextEditor(){this.schema=this.initializeSchema();const t=await this.parseInitialContent();this.menuCommandFactory=new mc(this.schema);this.view=new ko(this.host.shadowRoot.querySelector("#editor"),{state:this.createEditorState(t),dispatchTransaction:this.handleTransaction});if(this.value){this.updateView(this.value)}}initializeSchema(){return new oi({nodes:Wo(No.spec.nodes,"paragraph block*","block"),marks:No.spec.marks.append({strikethrough:Kw})})}async parseInitialContent(){const t=document.createElement("div");if(this.value){t.innerHTML=await this.contentConverter.parseAsHTML(this.value,this.schema)}else{t.innerHTML="<p></p>"}return hi.fromSchema(this.schema).parse(t)}createEditorState(t){return un.create({doc:t,plugins:[...Xa({schema:this.schema,menuBar:false}),af(this.menuCommandFactory.buildKeymap()),this.createMenuStateTrackingPlugin(this.actionBarItems),og(this.handleNewLinkSelection)]})}async updateView(t){this.suppressChangeEvent=true;const e=await this.contentConverter.parseAsHTML(t,this.schema);const i=hi.fromSchema(this.view.state.schema);const r=new window.DOMParser;const n=r.parseFromString(e,"text/html");const s=i.parse(n.body);const l=this.view.state.tr;l.replaceWith(0,l.doc.content.size,s.content);this.view.dispatch(l);this.suppressChangeEvent=false}dispatchMenuCommand(t){const{state:e}=this.view;const i=e.selection;let r=e.tr;if(!i.empty){r.setSelection(i)}t(e,(t=>{r=t}));this.view.dispatch(r);this.setFocus()}setFocus(){var t;(t=this.view)===null||t===void 0?void 0:t.focus()}get host(){return r(this)}static get watchers(){return{value:["watchValue"]}}};hg.style=fg;export{hg as limel_prosemirror_adapter};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as i,g as r}from"./p-443111b3.js";import{k as n,l as s,U as l,e as u,a as o,n as f,p as h,i as a,S as c,g as d}from"./p-2ba41fdf.js";import{b as p,a as m}from"./p-b28128d2.js";import{k as w,b as g,g as b,a as k}from"./p-9cff01aa.js";import{i as D,r as v,S as y}from"./p-c93050d6.js";import{i as F}from"./p-0b1af919.js";import{i as E}from"./p-858c6b82.js";import{d as x,m as M}from"./p-714d3ef8.js";import{t as A}from"./p-29e0e5bd.js";import{c as C}from"./p-3ccdc4a3.js";import{i as S}from"./p-91741e79.js";import"./p-eda23c05.js";import"./p-4c3358cb.js";import"./p-9acf7b5d.js";import"./p-5fdb83c9.js";import"./p-eab67c09.js";var O=Object.create;var $=function(){function t(){}return function(e){if(!D(e)){return{}}if(O){return O(e)}t.prototype=e;var i=new t;t.prototype=undefined;return i}}();function _(t,e){var i=-1,r=t.length;e||(e=Array(r));while(++i<r){e[i]=t[i]}return e}function B(t,e){var i=-1,r=t==null?0:t.length;while(++i<r){if(e(t[i],i,t)===false){break}}return t}function j(t,e,i,r){var n=!i;i||(i={});var s=-1,l=e.length;while(++s<l){var u=e[s];var o=r?r(i[u],t[u],u,i,t):undefined;if(o===undefined){o=t[u]}if(n){p(i,u,o)}else{m(i,u,o)}}return i}function q(t,e){return t&&j(e,n(e),t)}function R(t,e){return t&&j(e,w(e),t)}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var z=N&&typeof module=="object"&&module&&!module.nodeType&&module;var T=z&&z.exports===N;var I=T?v.Buffer:undefined,P=I?I.allocUnsafe:undefined;function J(t,e){if(e){return t.slice()}var i=t.length,r=P?P(i):new t.constructor(i);t.copy(r);return r}function L(t,e){return j(t,s(t),e)}function U(t,e){return j(t,g(t),e)}var W=Object.prototype;var H=W.hasOwnProperty;function Z(t){var e=t.length,i=new t.constructor(e);if(e&&typeof t[0]=="string"&&H.call(t,"index")){i.index=t.index;i.input=t.input}return i}function K(t){var e=new t.constructor(t.byteLength);new l(e).set(new l(t));return e}function V(t,e){var i=e?K(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.byteLength)}var G=/\w*$/;function X(t){var e=new t.constructor(t.source,G.exec(t));e.lastIndex=t.lastIndex;return e}var Y=y?y.prototype:undefined,Q=Y?Y.valueOf:undefined;function tt(t){return Q?Object(Q.call(t)):{}}function et(t,e){var i=e?K(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}var it="[object Boolean]",rt="[object Date]",nt="[object Map]",st="[object Number]",lt="[object RegExp]",ut="[object Set]",ot="[object String]",ft="[object Symbol]";var ht="[object ArrayBuffer]",at="[object DataView]",ct="[object Float32Array]",dt="[object Float64Array]",pt="[object Int8Array]",mt="[object Int16Array]",wt="[object Int32Array]",gt="[object Uint8Array]",bt="[object Uint8ClampedArray]",kt="[object Uint16Array]",Dt="[object Uint32Array]";function vt(t,e,i){var r=t.constructor;switch(e){case ht:return K(t);case it:case rt:return new r(+t);case at:return V(t,i);case ct:case dt:case pt:case mt:case wt:case gt:case bt:case kt:case Dt:return et(t,i);case nt:return new r;case st:case ot:return new r(t);case lt:return X(t);case ut:return new r;case ft:return tt(t)}}function yt(t){return typeof t.constructor=="function"&&!u(t)?$(b(t)):{}}var Ft="[object Map]";function Et(t){return E(t)&&o(t)==Ft}var xt=h&&h.isMap;var Mt=xt?f(xt):Et;var At="[object Set]";function Ct(t){return E(t)&&o(t)==At}var St=h&&h.isSet;var Ot=St?f(St):Ct;var $t=1,_t=2,Bt=4;var jt="[object Arguments]",qt="[object Array]",Rt="[object Boolean]",Nt="[object Date]",zt="[object Error]",Tt="[object Function]",It="[object GeneratorFunction]",Pt="[object Map]",Jt="[object Number]",Lt="[object Object]",Ut="[object RegExp]",Wt="[object Set]",Ht="[object String]",Zt="[object Symbol]",Kt="[object WeakMap]";var Vt="[object ArrayBuffer]",Gt="[object DataView]",Xt="[object Float32Array]",Yt="[object Float64Array]",Qt="[object Int8Array]",te="[object Int16Array]",ee="[object Int32Array]",ie="[object Uint8Array]",re="[object Uint8ClampedArray]",ne="[object Uint16Array]",se="[object Uint32Array]";var le={};le[jt]=le[qt]=le[Vt]=le[Gt]=le[Rt]=le[Nt]=le[Xt]=le[Yt]=le[Qt]=le[te]=le[ee]=le[Pt]=le[Jt]=le[Lt]=le[Ut]=le[Wt]=le[Ht]=le[Zt]=le[ie]=le[re]=le[ne]=le[se]=true;le[zt]=le[Tt]=le[Kt]=false;function ue(t,e,i,r,s,l){var u,f=e&$t,h=e&_t,p=e&Bt;if(i){u=s?i(t,r,s,l):i(t)}if(u!==undefined){return u}if(!D(t)){return t}var g=F(t);if(g){u=Z(t);if(!f){return _(t,u)}}else{var b=o(t),v=b==Tt||b==It;if(a(t)){return J(t,f)}if(b==Lt||b==jt||v&&!s){u=h||v?{}:yt(t);if(!f){return h?U(t,R(u,t)):L(t,q(u,t))}}else{if(!le[b]){return s?t:{}}u=vt(t,b,f)}}l||(l=new c);var y=l.get(t);if(y){return y}l.set(t,u);if(Ot(t)){t.forEach((function(r){u.add(ue(r,e,i,r,t,l))}))}else if(Mt(t)){t.forEach((function(r,n){u.set(n,ue(r,e,i,n,t,l))}))}var E=p?h?k:d:h?w:n;var x=g?undefined:E(t);B(x||t,(function(r,n){if(x){n=r;r=t[n]}m(u,n,ue(r,e,i,n,t,l))}));return u}var oe=1,fe=4;function he(t){return ue(t,oe|fe)}function ae(t){this.content=t}ae.prototype={constructor:ae,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?undefined:this.content[e+1]},update:function(t,e,i){var r=i&&i!=t?this.remove(i):this;var n=r.find(t),s=r.content.slice();if(n==-1){s.push(i||t,e)}else{s[n+1]=e;if(i)s[n]=i}return new ae(s)},remove:function(t){var e=this.find(t);if(e==-1)return this;var i=this.content.slice();i.splice(e,2);return new ae(i)},addToStart:function(t,e){return new ae([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var i=this.remove(t).content.slice();i.push(t,e);return new ae(i)},addBefore:function(t,e,i){var r=this.remove(e),n=r.content.slice();var s=r.find(t);n.splice(s==-1?n.length:s,0,e,i);return new ae(n)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){t=ae.from(t);if(!t.size)return this;return new ae(t.content.concat(this.subtract(t).content))},append:function(t){t=ae.from(t);if(!t.size)return this;return new ae(this.subtract(t).content.concat(t.content))},subtract:function(t){var e=this;t=ae.from(t);for(var i=0;i<t.content.length;i+=2)e=e.remove(t.content[i]);return e},toObject:function(){var t={};this.forEach((function(e,i){t[e]=i}));return t},get size(){return this.content.length>>1}};ae.from=function(t){if(t instanceof ae)return t;var e=[];if(t)for(var i in t)e.push(i,t[i]);return new ae(e)};function ce(t,e,i){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:i;let n=t.child(r),s=e.child(r);if(n==s){i+=n.nodeSize;continue}if(!n.sameMarkup(s))return i;if(n.isText&&n.text!=s.text){for(let t=0;n.text[t]==s.text[t];t++)i++;return i}if(n.content.size||s.content.size){let t=ce(n.content,s.content,i+1);if(t!=null)return t}i+=n.nodeSize}}function de(t,e,i,r){for(let n=t.childCount,s=e.childCount;;){if(n==0||s==0)return n==s?null:{a:i,b:r};let l=t.child(--n),u=e.child(--s),o=l.nodeSize;if(l==u){i-=o;r-=o;continue}if(!l.sameMarkup(u))return{a:i,b:r};if(l.isText&&l.text!=u.text){let t=0,e=Math.min(l.text.length,u.text.length);while(t<e&&l.text[l.text.length-t-1]==u.text[u.text.length-t-1]){t++;i--;r--}return{a:i,b:r}}if(l.content.size||u.content.size){let t=de(l.content,u.content,i-1,r-1);if(t)return t}i-=o;r-=o}}class pe{constructor(t,e){this.content=t;this.size=e||0;if(e==null)for(let e=0;e<t.length;e++)this.size+=t[e].nodeSize}nodesBetween(t,e,i,r=0,n){for(let s=0,l=0;l<e;s++){let u=this.content[s],o=l+u.nodeSize;if(o>t&&i(u,r+l,n||null,s)!==false&&u.content.size){let n=l+1;u.nodesBetween(Math.max(0,t-n),Math.min(u.content.size,e-n),i,r+n)}l=o}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,i,r){let n="",s=true;this.nodesBetween(t,e,((l,u)=>{let o=l.isText?l.text.slice(Math.max(t,u)-u,e-u):!l.isLeaf?"":r?typeof r==="function"?r(l):r:l.type.spec.leafText?l.type.spec.leafText(l):"";if(l.isBlock&&(l.isLeaf&&o||l.isTextblock)&&i){if(s)s=false;else n+=i}n+=o}),0);return n}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,i=t.firstChild,r=this.content.slice(),n=0;if(e.isText&&e.sameMarkup(i)){r[r.length-1]=e.withText(e.text+i.text);n=1}for(;n<t.content.length;n++)r.push(t.content[n]);return new pe(r,this.size+t.size)}cut(t,e=this.size){if(t==0&&e==this.size)return this;let i=[],r=0;if(e>t)for(let n=0,s=0;s<e;n++){let l=this.content[n],u=s+l.nodeSize;if(u>t){if(s<t||u>e){if(l.isText)l=l.cut(Math.max(0,t-s),Math.min(l.text.length,e-s));else l=l.cut(Math.max(0,t-s-1),Math.min(l.content.size,e-s-1))}i.push(l);r+=l.nodeSize}s=u}return new pe(i,r)}cutByIndex(t,e){if(t==e)return pe.empty;if(t==0&&e==this.content.length)return this;return new pe(this.content.slice(t,e))}replaceChild(t,e){let i=this.content[t];if(i==e)return this;let r=this.content.slice();let n=this.size+e.nodeSize-i.nodeSize;r[t]=e;return new pe(r,n)}addToStart(t){return new pe([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new pe(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return false;for(let e=0;e<this.content.length;e++)if(!this.content[e].eq(t.content[e]))return false;return true}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(t){let e=this.content[t];if(!e)throw new RangeError("Index "+t+" out of range for "+this);return e}maybeChild(t){return this.content[t]||null}forEach(t){for(let e=0,i=0;e<this.content.length;e++){let r=this.content[e];t(r,i,e);i+=r.nodeSize}}findDiffStart(t,e=0){return ce(this,t,e)}findDiffEnd(t,e=this.size,i=t.size){return de(this,t,e,i)}findIndex(t,e=-1){if(t==0)return we(0,t);if(t==this.size)return we(this.content.length,t);if(t>this.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let i=0,r=0;;i++){let n=this.child(i),s=r+n.nodeSize;if(s>=t){if(s==t||e>0)return we(i+1,s);return we(i,r)}r=s}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return pe.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new pe(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return pe.empty;let e,i=0;for(let r=0;r<t.length;r++){let n=t[r];i+=n.nodeSize;if(r&&n.isText&&t[r-1].sameMarkup(n)){if(!e)e=t.slice(0,r);e[e.length-1]=n.withText(e[e.length-1].text+n.text)}else if(e){e.push(n)}}return new pe(e||t,i)}static from(t){if(!t)return pe.empty;if(t instanceof pe)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new pe([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}pe.empty=new pe([],0);const me={index:0,offset:0};function we(t,e){me.index=t;me.offset=e;return me}function ge(t,e){if(t===e)return true;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return false;let i=Array.isArray(t);if(Array.isArray(e)!=i)return false;if(i){if(t.length!=e.length)return false;for(let i=0;i<t.length;i++)if(!ge(t[i],e[i]))return false}else{for(let i in t)if(!(i in e)||!ge(t[i],e[i]))return false;for(let i in e)if(!(i in t))return false}return true}class be{constructor(t,e){this.type=t;this.attrs=e}addToSet(t){let e,i=false;for(let r=0;r<t.length;r++){let n=t[r];if(this.eq(n))return t;if(this.type.excludes(n.type)){if(!e)e=t.slice(0,r)}else if(n.type.excludes(this.type)){return t}else{if(!i&&n.type.rank>this.type.rank){if(!e)e=t.slice(0,r);e.push(this);i=true}if(e)e.push(n)}}if(!e)e=t.slice();if(!i)e.push(this);return e}removeFromSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return t.slice(0,e).concat(t.slice(e+1));return t}isInSet(t){for(let e=0;e<t.length;e++)if(this.eq(t[e]))return true;return false}eq(t){return this==t||this.type==t.type&&ge(this.attrs,t.attrs)}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Mark.fromJSON");let i=t.marks[e.type];if(!i)throw new RangeError(`There is no mark type ${e.type} in this schema`);return i.create(e.attrs)}static sameSet(t,e){if(t==e)return true;if(t.length!=e.length)return false;for(let i=0;i<t.length;i++)if(!t[i].eq(e[i]))return false;return true}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return be.none;if(t instanceof be)return[t];let e=t.slice();e.sort(((t,e)=>t.type.rank-e.type.rank));return e}}be.none=[];class ke extends Error{}class De{constructor(t,e,i){this.content=t;this.openStart=e;this.openEnd=i}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let i=ye(this.content,t+this.openStart,e);return i&&new De(i,this.openStart,this.openEnd)}removeBetween(t,e){return new De(ve(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};if(this.openStart>0)t.openStart=this.openStart;if(this.openEnd>0)t.openEnd=this.openEnd;return t}static fromJSON(t,e){if(!e)return De.empty;let i=e.openStart||0,r=e.openEnd||0;if(typeof i!="number"||typeof r!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new De(pe.fromJSON(t,e.content),i,r)}static maxOpen(t,e=true){let i=0,r=0;for(let r=t.firstChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.firstChild)i++;for(let i=t.lastChild;i&&!i.isLeaf&&(e||!i.type.spec.isolating);i=i.lastChild)r++;return new De(t,i,r)}}De.empty=new De(pe.empty,0,0);function ve(t,e,i){let{index:r,offset:n}=t.findIndex(e),s=t.maybeChild(r);let{index:l,offset:u}=t.findIndex(i);if(n==e||s.isText){if(u!=i&&!t.child(l).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(i))}if(r!=l)throw new RangeError("Removing non-flat range");return t.replaceChild(r,s.copy(ve(s.content,e-n-1,i-n-1)))}function ye(t,e,i,r){let{index:n,offset:s}=t.findIndex(e),l=t.maybeChild(n);if(s==e||l.isText){if(r&&!r.canReplace(n,n,i))return null;return t.cut(0,e).append(i).append(t.cut(e))}let u=ye(l.content,e-s-1,i);return u&&t.replaceChild(n,l.copy(u))}function Fe(t,e,i){if(i.openStart>t.depth)throw new ke("Inserted content deeper than insertion position");if(t.depth-i.openStart!=e.depth-i.openEnd)throw new ke("Inconsistent open depths");return Ee(t,e,i,0)}function Ee(t,e,i,r){let n=t.index(r),s=t.node(r);if(n==e.index(r)&&r<t.depth-i.openStart){let l=Ee(t,e,i,r+1);return s.copy(s.content.replaceChild(n,l))}else if(!i.content.size){return Se(s,$e(t,e,r))}else if(!i.openStart&&!i.openEnd&&t.depth==r&&e.depth==r){let r=t.parent,n=r.content;return Se(r,n.cut(0,t.parentOffset).append(i.content).append(n.cut(e.parentOffset)))}else{let{start:n,end:l}=_e(i,t);return Se(s,Oe(t,n,l,e,r))}}function xe(t,e){if(!e.type.compatibleContent(t.type))throw new ke("Cannot join "+e.type.name+" onto "+t.type.name)}function Me(t,e,i){let r=t.node(i);xe(r,e.node(i));return r}function Ae(t,e){let i=e.length-1;if(i>=0&&t.isText&&t.sameMarkup(e[i]))e[i]=t.withText(e[i].text+t.text);else e.push(t)}function Ce(t,e,i,r){let n=(e||t).node(i);let s=0,l=e?e.index(i):n.childCount;if(t){s=t.index(i);if(t.depth>i){s++}else if(t.textOffset){Ae(t.nodeAfter,r);s++}}for(let t=s;t<l;t++)Ae(n.child(t),r);if(e&&e.depth==i&&e.textOffset)Ae(e.nodeBefore,r)}function Se(t,e){t.type.checkContent(e);return t.copy(e)}function Oe(t,e,i,r,n){let s=t.depth>n&&Me(t,e,n+1);let l=r.depth>n&&Me(i,r,n+1);let u=[];Ce(null,t,n,u);if(s&&l&&e.index(n)==i.index(n)){xe(s,l);Ae(Se(s,Oe(t,e,i,r,n+1)),u)}else{if(s)Ae(Se(s,$e(t,e,n+1)),u);Ce(e,i,n,u);if(l)Ae(Se(l,$e(i,r,n+1)),u)}Ce(r,null,n,u);return new pe(u)}function $e(t,e,i){let r=[];Ce(null,t,i,r);if(t.depth>i){let n=Me(t,e,i+1);Ae(Se(n,$e(t,e,i+1)),r)}Ce(e,null,i,r);return new pe(r)}function _e(t,e){let i=e.depth-t.openStart,r=e.node(i);let n=r.copy(t.content);for(let t=i-1;t>=0;t--)n=e.node(t).copy(pe.from(n));return{start:n.resolveNoCache(t.openStart+i),end:n.resolveNoCache(n.content.size-t.openEnd-i)}}class Be{constructor(t,e,i){this.pos=t;this.path=e;this.parentOffset=i;this.depth=e.length/3-1}resolveDepth(t){if(t==null)return this.depth;if(t<0)return this.depth+t;return t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){t=this.resolveDepth(t);return this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){t=this.resolveDepth(t);return t==0?0:this.path[t*3-1]+1}end(t){t=this.resolveDepth(t);return this.start(t)+this.node(t).content.size}before(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){t=this.resolveDepth(t);if(!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let i=this.pos-this.path[this.path.length-1],r=t.child(e);return i?t.child(e).cut(i):r}get nodeBefore(){let t=this.index(this.depth);let e=this.pos-this.path[this.path.length-1];if(e)return this.parent.child(t).cut(0,e);return t==0?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let i=this.path[e*3],r=e==0?0:this.path[e*3-1]+1;for(let e=0;e<t;e++)r+=i.child(e).nodeSize;return r}marks(){let t=this.parent,e=this.index();if(t.content.size==0)return be.none;if(this.textOffset)return t.child(e).marks;let i=t.maybeChild(e-1),r=t.maybeChild(e);if(!i){let t=i;i=r;r=t}let n=i.marks;for(var s=0;s<n.length;s++)if(n[s].type.spec.inclusive===false&&(!r||!n[s].isInSet(r.marks)))n=n[s--].removeFromSet(n);return n}marksAcross(t){let e=this.parent.maybeChild(this.index());if(!e||!e.isInline)return null;let i=e.marks,r=t.parent.maybeChild(t.index());for(var n=0;n<i.length;n++)if(i[n].type.spec.inclusive===false&&(!r||!i[n].isInSet(r.marks)))i=i[n--].removeFromSet(i);return i}sharedDepth(t){for(let e=this.depth;e>0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos<this.pos)return t.blockRange(this);for(let i=this.depth-(this.parent.inlineContent||this.pos==t.pos?1:0);i>=0;i--)if(t.pos<=this.end(i)&&(!e||e(this.node(i))))return new Ne(this,t,i);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos<this.pos?t:this}toString(){let t="";for(let e=1;e<=this.depth;e++)t+=(t?"/":"")+this.node(e).type.name+"_"+this.index(e-1);return t+":"+this.parentOffset}static resolve(t,e){if(!(e>=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let i=[];let r=0,n=e;for(let e=t;;){let{index:t,offset:s}=e.content.findIndex(n);let l=n-s;i.push(e,t,r+s);if(!l)break;e=e.child(t);if(e.isText)break;n=l-1;r+=s+1}return new Be(e,i,n)}static resolveCached(t,e){for(let i=0;i<je.length;i++){let r=je[i];if(r.pos==e&&r.doc==t)return r}let i=je[qe]=Be.resolve(t,e);qe=(qe+1)%Re;return i}}let je=[],qe=0,Re=12;class Ne{constructor(t,e,i){this.$from=t;this.$to=e;this.depth=i}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const ze=Object.create(null);class Te{constructor(t,e,i,r=be.none){this.type=t;this.attrs=e;this.marks=r;this.content=i||pe.empty}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(t){return this.content.child(t)}maybeChild(t){return this.content.maybeChild(t)}forEach(t){this.content.forEach(t)}nodesBetween(t,e,i,r=0){this.content.nodesBetween(t,e,i,r,this)}descendants(t){this.nodesBetween(0,this.content.size,t)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(t,e,i,r){return this.content.textBetween(t,e,i,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(t){return this==t||this.sameMarkup(t)&&this.content.eq(t.content)}sameMarkup(t){return this.hasMarkup(t.type,t.attrs,t.marks)}hasMarkup(t,e,i){return this.type==t&&ge(this.attrs,e||t.defaultAttrs||ze)&&be.sameSet(this.marks,i||be.none)}copy(t=null){if(t==this.content)return this;return new Te(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new Te(this.type,this.attrs,this.content,t)}cut(t,e=this.content.size){if(t==0&&e==this.content.size)return this;return this.copy(this.content.cut(t,e))}slice(t,e=this.content.size,i=false){if(t==e)return De.empty;let r=this.resolve(t),n=this.resolve(e);let s=i?0:r.sharedDepth(e);let l=r.start(s),u=r.node(s);let o=u.content.cut(r.pos-l,n.pos-l);return new De(o,r.depth-s,n.depth-s)}replace(t,e,i){return Fe(this.resolve(t),this.resolve(e),i)}nodeAt(t){for(let e=this;;){let{index:i,offset:r}=e.content.findIndex(t);e=e.maybeChild(i);if(!e)return null;if(r==t||e.isText)return e;t-=r+1}}childAfter(t){let{index:e,offset:i}=this.content.findIndex(t);return{node:this.content.maybeChild(e),index:e,offset:i}}childBefore(t){if(t==0)return{node:null,index:0,offset:0};let{index:e,offset:i}=this.content.findIndex(t);if(i<t)return{node:this.content.child(e),index:e,offset:i};let r=this.content.child(e-1);return{node:r,index:e-1,offset:i-r.nodeSize}}resolve(t){return Be.resolveCached(this,t)}resolveNoCache(t){return Be.resolve(this,t)}rangeHasMark(t,e,i){let r=false;if(e>t)this.nodesBetween(t,e,(t=>{if(i.isInSet(t.marks))r=true;return!r}));return r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;if(this.content.size)t+="("+this.content.toStringInner()+")";return Pe(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,i=pe.empty,r=0,n=i.childCount){let s=this.contentMatchAt(t).matchFragment(i,r,n);let l=s&&s.matchFragment(this.content,e);if(!l||!l.validEnd)return false;for(let t=r;t<n;t++)if(!this.type.allowsMarks(i.child(t).marks))return false;return true}canReplaceWith(t,e,i,r){if(r&&!this.type.allowsMarks(r))return false;let n=this.contentMatchAt(t).matchType(i);let s=n&&n.matchFragment(this.content,e);return s?s.validEnd:false}canAppend(t){if(t.content.size)return this.canReplace(this.childCount,this.childCount,t.content);else return this.type.compatibleContent(t.type)}check(){this.type.checkContent(this.content);let t=be.none;for(let e=0;e<this.marks.length;e++)t=this.marks[e].addToSet(t);if(!be.sameSet(t,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map((t=>t.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}if(this.content.size)t.content=this.content.toJSON();if(this.marks.length)t.marks=this.marks.map((t=>t.toJSON()));return t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let i=null;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");i=e.marks.map(t.markFromJSON)}if(e.type=="text"){if(typeof e.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(e.text,i)}let r=pe.fromJSON(t,e.content);return t.nodeType(e.type).create(e.attrs,r,i)}}Te.prototype.text=undefined;class Ie extends Te{constructor(t,e,i,r){super(t,e,null,r);if(!i)throw new RangeError("Empty text nodes are not allowed");this.text=i}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);return Pe(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new Ie(this.type,this.attrs,this.text,t)}withText(t){if(t==this.text)return this;return new Ie(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){if(t==0&&e==this.text.length)return this;return this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();t.text=this.text;return t}}function Pe(t,e){for(let i=t.length-1;i>=0;i--)e=t[i].type.name+"("+e+")";return e}class Je{constructor(t){this.validEnd=t;this.next=[];this.wrapCache=[]}static parse(t,e){let i=new Le(t,e);if(i.next==null)return Je.empty;let r=Ue(i);if(i.next)i.err("Unexpected trailing text");let n=ti(Xe(r));ei(n,i);return n}matchType(t){for(let e=0;e<this.next.length;e++)if(this.next[e].type==t)return this.next[e].next;return null}matchFragment(t,e=0,i=t.childCount){let r=this;for(let n=e;r&&n<i;n++)r=r.matchType(t.child(n).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let t=0;t<this.next.length;t++){let{type:e}=this.next[t];if(!(e.isText||e.hasRequiredAttrs()))return e}return null}compatible(t){for(let e=0;e<this.next.length;e++)for(let i=0;i<t.next.length;i++)if(this.next[e].type==t.next[i].type)return true;return false}fillBefore(t,e=false,i=0){let r=[this];function n(s,l){let u=s.matchFragment(t,i);if(u&&(!e||u.validEnd))return pe.from(l.map((t=>t.createAndFill())));for(let t=0;t<s.next.length;t++){let{type:e,next:i}=s.next[t];if(!(e.isText||e.hasRequiredAttrs())&&r.indexOf(i)==-1){r.push(i);let t=n(i,l.concat(e));if(t)return t}}return null}return n(this,[])}findWrapping(t){for(let e=0;e<this.wrapCache.length;e+=2)if(this.wrapCache[e]==t)return this.wrapCache[e+1];let e=this.computeWrapping(t);this.wrapCache.push(t,e);return e}computeWrapping(t){let e=Object.create(null),i=[{match:this,type:null,via:null}];while(i.length){let r=i.shift(),n=r.match;if(n.matchType(t)){let t=[];for(let e=r;e.type;e=e.via)t.push(e.type);return t.reverse()}for(let t=0;t<n.next.length;t++){let{type:s,next:l}=n.next[t];if(!s.isLeaf&&!s.hasRequiredAttrs()&&!(s.name in e)&&(!r.type||l.validEnd)){i.push({match:s.contentMatch,type:s,via:r});e[s.name]=true}}}return null}get edgeCount(){return this.next.length}edge(t){if(t>=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function e(i){t.push(i);for(let r=0;r<i.next.length;r++)if(t.indexOf(i.next[r].next)==-1)e(i.next[r].next)}e(this);return t.map(((e,i)=>{let r=i+(e.validEnd?"*":" ")+" ";for(let i=0;i<e.next.length;i++)r+=(i?", ":"")+e.next[i].type.name+"->"+t.indexOf(e.next[i].next);return r})).join("\n")}}Je.empty=new Je(true);class Le{constructor(t,e){this.string=t;this.nodeTypes=e;this.inline=null;this.pos=0;this.tokens=t.split(/\s*(?=\b|\W|$)/);if(this.tokens[this.tokens.length-1]=="")this.tokens.pop();if(this.tokens[0]=="")this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||true)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function Ue(t){let e=[];do{e.push(We(t))}while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function We(t){let e=[];do{e.push(He(t))}while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function He(t){let e=Ge(t);for(;;){if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=Ke(t,e);else break}return e}function Ze(t){if(/\D/.test(t.next))t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);t.pos++;return e}function Ke(t,e){let i=Ze(t),r=i;if(t.eat(",")){if(t.next!="}")r=Ze(t);else r=-1}if(!t.eat("}"))t.err("Unclosed braced range");return{type:"range",min:i,max:r,expr:e}}function Ve(t,e){let i=t.nodeTypes,r=i[e];if(r)return[r];let n=[];for(let t in i){let r=i[t];if(r.groups.indexOf(e)>-1)n.push(r)}if(n.length==0)t.err("No node type or group '"+e+"' found");return n}function Ge(t){if(t.eat("(")){let e=Ue(t);if(!t.eat(")"))t.err("Missing closing paren");return e}else if(!/\W/.test(t.next)){let e=Ve(t,t.next).map((e=>{if(t.inline==null)t.inline=e.isInline;else if(t.inline!=e.isInline)t.err("Mixing inline and block content");return{type:"name",value:e}}));t.pos++;return e.length==1?e[0]:{type:"choice",exprs:e}}else{t.err("Unexpected token '"+t.next+"'")}}function Xe(t){let e=[[]];n(s(t,0),i());return e;function i(){return e.push([])-1}function r(t,i,r){let n={term:r,to:i};e[t].push(n);return n}function n(t,e){t.forEach((t=>t.to=e))}function s(t,e){if(t.type=="choice"){return t.exprs.reduce(((t,i)=>t.concat(s(i,e))),[])}else if(t.type=="seq"){for(let r=0;;r++){let l=s(t.exprs[r],e);if(r==t.exprs.length-1)return l;n(l,e=i())}}else if(t.type=="star"){let l=i();r(e,l);n(s(t.expr,l),l);return[r(l)]}else if(t.type=="plus"){let l=i();n(s(t.expr,e),l);n(s(t.expr,l),l);return[r(l)]}else if(t.type=="opt"){return[r(e)].concat(s(t.expr,e))}else if(t.type=="range"){let l=e;for(let e=0;e<t.min;e++){let e=i();n(s(t.expr,l),e);l=e}if(t.max==-1){n(s(t.expr,l),l)}else{for(let e=t.min;e<t.max;e++){let e=i();r(l,e);n(s(t.expr,l),e);l=e}}return[r(l)]}else if(t.type=="name"){return[r(e,undefined,t.value)]}else{throw new Error("Unknown expr type")}}}function Ye(t,e){return e-t}function Qe(t,e){let i=[];r(e);return i.sort(Ye);function r(e){let n=t[e];if(n.length==1&&!n[0].term)return r(n[0].to);i.push(e);for(let t=0;t<n.length;t++){let{term:e,to:s}=n[t];if(!e&&i.indexOf(s)==-1)r(s)}}}function ti(t){let e=Object.create(null);return i(Qe(t,0));function i(r){let n=[];r.forEach((e=>{t[e].forEach((({term:e,to:i})=>{if(!e)return;let r;for(let t=0;t<n.length;t++)if(n[t][0]==e)r=n[t][1];Qe(t,i).forEach((t=>{if(!r)n.push([e,r=[]]);if(r.indexOf(t)==-1)r.push(t)}))}))}));let s=e[r.join(",")]=new Je(r.indexOf(t.length-1)>-1);for(let t=0;t<n.length;t++){let r=n[t][1].sort(Ye);s.next.push({type:n[t][0],next:e[r.join(",")]||i(r)})}return s}}function ei(t,e){for(let i=0,r=[t];i<r.length;i++){let t=r[i],n=!t.validEnd,s=[];for(let e=0;e<t.next.length;e++){let{type:i,next:l}=t.next[e];s.push(i.name);if(n&&!(i.isText||i.hasRequiredAttrs()))n=false;if(r.indexOf(l)==-1)r.push(l)}if(n)e.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function ii(t){let e=Object.create(null);for(let i in t){let r=t[i];if(!r.hasDefault)return null;e[i]=r.default}return e}function ri(t,e){let i=Object.create(null);for(let r in t){let n=e&&e[r];if(n===undefined){let e=t[r];if(e.hasDefault)n=e.default;else throw new RangeError("No value supplied for attribute "+r)}i[r]=n}return i}function ni(t){let e=Object.create(null);if(t)for(let i in t)e[i]=new li(t[i]);return e}class si{constructor(t,e,i){this.name=t;this.schema=e;this.spec=i;this.markSet=null;this.groups=i.group?i.group.split(" "):[];this.attrs=ni(i.attrs);this.defaultAttrs=ii(this.attrs);this.contentMatch=null;this.inlineContent=null;this.isBlock=!(i.inline||t=="text");this.isText=t=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Je.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return true;return false}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){if(!t&&this.defaultAttrs)return this.defaultAttrs;else return ri(this.attrs,t)}create(t=null,e,i){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Te(this,this.computeAttrs(t),pe.from(e),be.setFrom(i))}createChecked(t=null,e,i){e=pe.from(e);this.checkContent(e);return new Te(this,this.computeAttrs(t),e,be.setFrom(i))}createAndFill(t=null,e,i){t=this.computeAttrs(t);e=pe.from(e);if(e.size){let t=this.contentMatch.fillBefore(e);if(!t)return null;e=t.append(e)}let r=this.contentMatch.matchFragment(e);let n=r&&r.fillBefore(pe.empty,true);if(!n)return null;return new Te(this,t,e.append(n),be.setFrom(i))}validContent(t){let e=this.contentMatch.matchFragment(t);if(!e||!e.validEnd)return false;for(let e=0;e<t.childCount;e++)if(!this.allowsMarks(t.child(e).marks))return false;return true}checkContent(t){if(!this.validContent(t))throw new RangeError(`Invalid content for node ${this.name}: ${t.toString().slice(0,50)}`)}allowsMarkType(t){return this.markSet==null||this.markSet.indexOf(t)>-1}allowsMarks(t){if(this.markSet==null)return true;for(let e=0;e<t.length;e++)if(!this.allowsMarkType(t[e].type))return false;return true}allowedMarks(t){if(this.markSet==null)return t;let e;for(let i=0;i<t.length;i++){if(!this.allowsMarkType(t[i].type)){if(!e)e=t.slice(0,i)}else if(e){e.push(t[i])}}return!e?t:e.length?e:be.none}static compile(t,e){let i=Object.create(null);t.forEach(((t,r)=>i[t]=new si(t,e,r)));let r=e.spec.topNode||"doc";if(!i[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!i.text)throw new RangeError("Every schema needs a 'text' type");for(let t in i.text.attrs)throw new RangeError("The text node type should not have attributes");return i}}class li{constructor(t){this.hasDefault=Object.prototype.hasOwnProperty.call(t,"default");this.default=t.default}get isRequired(){return!this.hasDefault}}class ui{constructor(t,e,i,r){this.name=t;this.rank=e;this.schema=i;this.spec=r;this.attrs=ni(r.attrs);this.excluded=null;let n=ii(this.attrs);this.instance=n?new be(this,n):null}create(t=null){if(!t&&this.instance)return this.instance;return new be(this,ri(this.attrs,t))}static compile(t,e){let i=Object.create(null),r=0;t.forEach(((t,n)=>i[t]=new ui(t,r++,e,n)));return i}removeFromSet(t){for(var e=0;e<t.length;e++)if(t[e].type==this){t=t.slice(0,e).concat(t.slice(e+1));e--}return t}isInSet(t){for(let e=0;e<t.length;e++)if(t[e].type==this)return t[e]}excludes(t){return this.excluded.indexOf(t)>-1}}class oi{constructor(t){this.cached=Object.create(null);let e=this.spec={};for(let i in t)e[i]=t[i];e.nodes=ae.from(t.nodes),e.marks=ae.from(t.marks||{}),this.nodes=si.compile(this.spec.nodes,this);this.marks=ui.compile(this.spec.marks,this);let i=Object.create(null);for(let t in this.nodes){if(t in this.marks)throw new RangeError(t+" can not be both a node and a mark");let e=this.nodes[t],r=e.spec.content||"",n=e.spec.marks;e.contentMatch=i[r]||(i[r]=Je.parse(r,this.nodes));e.inlineContent=e.contentMatch.inlineContent;e.markSet=n=="_"?null:n?fi(this,n.split(" ")):n==""||!e.inlineContent?[]:null}for(let t in this.marks){let e=this.marks[t],i=e.spec.excludes;e.excluded=i==null?[e]:i==""?[]:fi(this,i.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this);this.markFromJSON=this.markFromJSON.bind(this);this.topNodeType=this.nodes[this.spec.topNode||"doc"];this.cached.wrappings=Object.create(null)}node(t,e=null,i,r){if(typeof t=="string")t=this.nodeType(t);else if(!(t instanceof si))throw new RangeError("Invalid node type: "+t);else if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")");return t.createChecked(e,i,r)}text(t,e){let i=this.nodes.text;return new Ie(i,i.defaultAttrs,t,be.setFrom(e))}mark(t,e){if(typeof t=="string")t=this.marks[t];return t.create(e)}nodeFromJSON(t){return Te.fromJSON(this,t)}markFromJSON(t){return be.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function fi(t,e){let i=[];for(let r=0;r<e.length;r++){let n=e[r],s=t.marks[n],l=s;if(s){i.push(s)}else{for(let e in t.marks){let r=t.marks[e];if(n=="_"||r.spec.group&&r.spec.group.split(" ").indexOf(n)>-1)i.push(l=r)}}if(!l)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return i}class hi{constructor(t,e){this.schema=t;this.rules=e;this.tags=[];this.styles=[];e.forEach((t=>{if(t.tag)this.tags.push(t);else if(t.style)this.styles.push(t)}));this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return false;let i=t.nodes[e.node];return i.contentMatch.matchType(i)}))}parse(t,e={}){let i=new ki(this,e,false);i.addAll(t,e.from,e.to);return i.finish()}parseSlice(t,e={}){let i=new ki(this,e,true);i.addAll(t,e.from,e.to);return De.maxOpen(i.finish())}matchTag(t,e,i){for(let r=i?this.tags.indexOf(i)+1:0;r<this.tags.length;r++){let i=this.tags[r];if(vi(t,i.tag)&&(i.namespace===undefined||t.namespaceURI==i.namespace)&&(!i.context||e.matchesContext(i.context))){if(i.getAttrs){let e=i.getAttrs(t);if(e===false)continue;i.attrs=e||undefined}return i}}}matchStyle(t,e,i,r){for(let n=r?this.styles.indexOf(r)+1:0;n<this.styles.length;n++){let r=this.styles[n],s=r.style;if(s.indexOf(t)!=0||r.context&&!i.matchesContext(r.context)||s.length>t.length&&(s.charCodeAt(t.length)!=61||s.slice(t.length+1)!=e))continue;if(r.getAttrs){let t=r.getAttrs(e);if(t===false)continue;r.attrs=t||undefined}return r}}static schemaRules(t){let e=[];function i(t){let i=t.priority==null?50:t.priority,r=0;for(;r<e.length;r++){let t=e[r],n=t.priority==null?50:t.priority;if(n<i)break}e.splice(r,0,t)}for(let e in t.marks){let r=t.marks[e].spec.parseDOM;if(r)r.forEach((t=>{i(t=Fi(t));if(!(t.mark||t.ignore||t.clearMark))t.mark=e}))}for(let e in t.nodes){let r=t.nodes[e].spec.parseDOM;if(r)r.forEach((t=>{i(t=Fi(t));if(!(t.node||t.ignore||t.mark))t.node=e}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new hi(t,hi.schemaRules(t)))}}const ai={address:true,article:true,aside:true,blockquote:true,canvas:true,dd:true,div:true,dl:true,fieldset:true,figcaption:true,figure:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,li:true,noscript:true,ol:true,output:true,p:true,pre:true,section:true,table:true,tfoot:true,ul:true};const ci={head:true,noscript:true,object:true,script:true,style:true,title:true};const di={ol:true,ul:true};const pi=1,mi=2,wi=4;function gi(t,e,i){if(e!=null)return(e?pi:0)|(e==="full"?mi:0);return t&&t.whitespace=="pre"?pi|mi:i&~wi}class bi{constructor(t,e,i,r,n,s,l){this.type=t;this.attrs=e;this.marks=i;this.pendingMarks=r;this.solid=n;this.options=l;this.content=[];this.activeMarks=be.none;this.stashMarks=[];this.match=s||(l&wi?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(pe.from(t));if(e){this.match=this.type.contentMatch.matchFragment(e)}else{let e=this.type.contentMatch,i;if(i=e.findWrapping(t.type)){this.match=e;return i}else{return null}}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&pi)){let t=this.content[this.content.length-1],e;if(t&&t.isText&&(e=/[ \t\r\n\u000c]+$/.exec(t.text))){let i=t;if(t.text.length==e[0].length)this.content.pop();else this.content[this.content.length-1]=i.withText(i.text.slice(0,i.text.length-e[0].length))}}let e=pe.from(this.content);if(!t&&this.match)e=e.append(this.match.fillBefore(pe.empty,true));return this.type?this.type.create(this.attrs,e,this.marks):e}popFromStashMark(t){for(let e=this.stashMarks.length-1;e>=0;e--)if(t.eq(this.stashMarks[e]))return this.stashMarks.splice(e,1)[0]}applyPending(t){for(let e=0,i=this.pendingMarks;e<i.length;e++){let r=i[e];if((this.type?this.type.allowsMarkType(r.type):Ei(r.type,t))&&!r.isInSet(this.activeMarks)){this.activeMarks=r.addToSet(this.activeMarks);this.pendingMarks=r.removeFromSet(this.pendingMarks)}}}inlineContext(t){if(this.type)return this.type.inlineContent;if(this.content.length)return this.content[0].isInline;return t.parentNode&&!ai.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}}class ki{constructor(t,e,i){this.parser=t;this.options=e;this.isOpen=i;this.open=0;let r=e.topNode,n;let s=gi(null,e.preserveWhitespace,0)|(i?wi:0);if(r)n=new bi(r.type,r.attrs,be.none,be.none,true,e.topMatch||r.type.contentMatch,s);else if(i)n=new bi(null,null,be.none,be.none,true,null,s);else n=new bi(t.schema.topNodeType,null,be.none,be.none,true,null,s);this.nodes=[n];this.find=e.findPositions;this.needsBlock=false}get top(){return this.nodes[this.open]}addDOM(t){if(t.nodeType==3)this.addTextNode(t);else if(t.nodeType==1)this.addElement(t)}withStyleRules(t,e){let i=t.getAttribute("style");if(!i)return e();let r=this.readStyles(yi(i));if(!r)return;let[n,s]=r,l=this.top;for(let t=0;t<s.length;t++)this.removePendingMark(s[t],l);for(let t=0;t<n.length;t++)this.addPendingMark(n[t]);e();for(let t=0;t<n.length;t++)this.removePendingMark(n[t],l);for(let t=0;t<s.length;t++)this.addPendingMark(s[t])}addTextNode(t){let e=t.nodeValue;let i=this.top;if(i.options&mi||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(e)){if(!(i.options&pi)){e=e.replace(/[ \t\r\n\u000c]+/g," ");if(/^[ \t\r\n\u000c]/.test(e)&&this.open==this.nodes.length-1){let r=i.content[i.content.length-1];let n=t.previousSibling;if(!r||n&&n.nodeName=="BR"||r.isText&&/[ \t\r\n\u000c]$/.test(r.text))e=e.slice(1)}}else if(!(i.options&mi)){e=e.replace(/\r?\n|\r/g," ")}else{e=e.replace(/\r\n?/g,"\n")}if(e)this.insertNode(this.parser.schema.text(e));this.findInText(t)}else{this.findInside(t)}}addElement(t,e){let i=t.nodeName.toLowerCase(),r;if(di.hasOwnProperty(i)&&this.parser.normalizeLists)Di(t);let n=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(r=this.parser.matchTag(t,this,e));if(n?n.ignore:ci.hasOwnProperty(i)){this.findInside(t);this.ignoreFallback(t)}else if(!n||n.skip||n.closeParent){if(n&&n.closeParent)this.open=Math.max(0,this.open-1);else if(n&&n.skip.nodeType)t=n.skip;let e,r=this.top,s=this.needsBlock;if(ai.hasOwnProperty(i)){if(r.content.length&&r.content[0].isInline&&this.open){this.open--;r=this.top}e=true;if(!r.type)this.needsBlock=true}else if(!t.firstChild){this.leafFallback(t);return}if(n&&n.skip)this.addAll(t);else this.withStyleRules(t,(()=>this.addAll(t)));if(e)this.sync(r);this.needsBlock=s}else{this.withStyleRules(t,(()=>{this.addElementByRule(t,n,n.consuming===false?r:undefined)}))}}leafFallback(t){if(t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent)this.addTextNode(t.ownerDocument.createTextNode("\n"))}ignoreFallback(t){if(t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent))this.findPlace(this.parser.schema.text("-"))}readStyles(t){let e=be.none,i=be.none;for(let r=0;r<t.length;r+=2){for(let n=undefined;;){let s=this.parser.matchStyle(t[r],t[r+1],this,n);if(!s)break;if(s.ignore)return null;if(s.clearMark){this.top.pendingMarks.concat(this.top.activeMarks).forEach((t=>{if(s.clearMark(t))i=t.addToSet(i)}))}else{e=this.parser.schema.marks[s.mark].create(s.attrs).addToSet(e)}if(s.consuming===false)n=s;else break}}return[e,i]}addElementByRule(t,e,i){let r,n,s;if(e.node){n=this.parser.schema.nodes[e.node];if(!n.isLeaf){r=this.enter(n,e.attrs||null,e.preserveWhitespace)}else if(!this.insertNode(n.create(e.attrs))){this.leafFallback(t)}}else{let t=this.parser.schema.marks[e.mark];s=t.create(e.attrs);this.addPendingMark(s)}let l=this.top;if(n&&n.isLeaf){this.findInside(t)}else if(i){this.addElement(t,i)}else if(e.getContent){this.findInside(t);e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t)))}else{let i=t;if(typeof e.contentElement=="string")i=t.querySelector(e.contentElement);else if(typeof e.contentElement=="function")i=e.contentElement(t);else if(e.contentElement)i=e.contentElement;this.findAround(t,i,true);this.addAll(i)}if(r&&this.sync(l))this.open--;if(s)this.removePendingMark(s,l)}addAll(t,e,i){let r=e||0;for(let n=e?t.childNodes[e]:t.firstChild,s=i==null?null:t.childNodes[i];n!=s;n=n.nextSibling,++r){this.findAtPoint(t,r);this.addDOM(n)}this.findAtPoint(t,r)}findPlace(t){let e,i;for(let r=this.open;r>=0;r--){let n=this.nodes[r];let s=n.findWrapping(t);if(s&&(!e||e.length>s.length)){e=s;i=n;if(!s.length)break}if(n.solid)break}if(!e)return false;this.sync(i);for(let t=0;t<e.length;t++)this.enterInner(e[t],null,false);return true}insertNode(t){if(t.isInline&&this.needsBlock&&!this.top.type){let t=this.textblockFromContext();if(t)this.enterInner(t)}if(this.findPlace(t)){this.closeExtra();let e=this.top;e.applyPending(t.type);if(e.match)e.match=e.match.matchType(t.type);let i=e.activeMarks;for(let r=0;r<t.marks.length;r++)if(!e.type||e.type.allowsMarkType(t.marks[r].type))i=t.marks[r].addToSet(i);e.content.push(t.mark(i));return true}return false}enter(t,e,i){let r=this.findPlace(t.create(e));if(r)this.enterInner(t,e,true,i);return r}enterInner(t,e=null,i=false,r){this.closeExtra();let n=this.top;n.applyPending(t);n.match=n.match&&n.match.matchType(t);let s=gi(t,r,n.options);if(n.options&wi&&n.content.length==0)s|=wi;this.nodes.push(new bi(t,e,n.activeMarks,n.pendingMarks,i,null,s));this.open++}closeExtra(t=false){let e=this.nodes.length-1;if(e>this.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){this.open=0;this.closeExtra(this.isOpen);return this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t){this.open=e;return true}return false}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let i=this.nodes[e].content;for(let e=i.length-1;e>=0;e--)t+=i[e].nodeSize;if(e)t++}return t}findAtPoint(t,e){if(this.find)for(let i=0;i<this.find.length;i++){if(this.find[i].node==t&&this.find[i].offset==e)this.find[i].pos=this.currentPos}}findInside(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].pos==null&&t.nodeType==1&&t.contains(this.find[e].node))this.find[e].pos=this.currentPos}}findAround(t,e,i){if(t!=e&&this.find)for(let r=0;r<this.find.length;r++){if(this.find[r].pos==null&&t.nodeType==1&&t.contains(this.find[r].node)){let t=e.compareDocumentPosition(this.find[r].node);if(t&(i?2:4))this.find[r].pos=this.currentPos}}}findInText(t){if(this.find)for(let e=0;e<this.find.length;e++){if(this.find[e].node==t)this.find[e].pos=this.currentPos-(t.nodeValue.length-this.find[e].offset)}}matchesContext(t){if(t.indexOf("|")>-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/");let i=this.options.context;let r=!this.isOpen&&(!i||i.parent.type==this.nodes[0].type);let n=-(i?i.depth+1:0)+(r?0:1);let s=(t,l)=>{for(;t>=0;t--){let u=e[t];if(u==""){if(t==e.length-1||t==0)continue;for(;l>=n;l--)if(s(t-1,l))return true;return false}else{let t=l>0||l==0&&r?this.nodes[l].type:i&&l>=n?i.node(l-n).type:null;if(!t||t.name!=u&&t.groups.indexOf(u)==-1)return false;l--}}return true};return s(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let i=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(i&&i.isTextblock&&i.defaultAttrs)return i}for(let t in this.parser.schema.nodes){let e=this.parser.schema.nodes[t];if(e.isTextblock&&e.defaultAttrs)return e}}addPendingMark(t){let e=xi(t,this.top.pendingMarks);if(e)this.top.stashMarks.push(e);this.top.pendingMarks=t.addToSet(this.top.pendingMarks)}removePendingMark(t,e){for(let i=this.open;i>=0;i--){let r=this.nodes[i];let n=r.pendingMarks.lastIndexOf(t);if(n>-1){r.pendingMarks=t.removeFromSet(r.pendingMarks)}else{r.activeMarks=t.removeFromSet(r.activeMarks);let e=r.popFromStashMark(t);if(e&&r.type&&r.type.allowsMarkType(e.type))r.activeMarks=e.addToSet(r.activeMarks)}if(r==e)break}}}function Di(t){for(let e=t.firstChild,i=null;e;e=e.nextSibling){let t=e.nodeType==1?e.nodeName.toLowerCase():null;if(t&&di.hasOwnProperty(t)&&i){i.appendChild(e);e=i}else if(t=="li"){i=e}else if(t){i=null}}}function vi(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function yi(t){let e=/\s*([\w-]+)\s*:\s*([^;]+)/g,i,r=[];while(i=e.exec(t))r.push(i[1],i[2].trim());return r}function Fi(t){let e={};for(let i in t)e[i]=t[i];return e}function Ei(t,e){let i=e.schema.nodes;for(let r in i){let n=i[r];if(!n.allowsMarkType(t))continue;let s=[],l=t=>{s.push(t);for(let i=0;i<t.edgeCount;i++){let{type:r,next:n}=t.edge(i);if(r==e)return true;if(s.indexOf(n)<0&&l(n))return true}};if(l(n.contentMatch))return true}}function xi(t,e){for(let i=0;i<e.length;i++){if(t.eq(e[i]))return e[i]}}class Mi{constructor(t,e){this.nodes=t;this.marks=e}serializeFragment(t,e={},i){if(!i)i=Ci(e).createDocumentFragment();let r=i,n=[];t.forEach((t=>{if(n.length||t.marks.length){let i=0,s=0;while(i<n.length&&s<t.marks.length){let e=t.marks[s];if(!this.marks[e.type.name]){s++;continue}if(!e.eq(n[i][0])||e.type.spec.spanning===false)break;i++;s++}while(i<n.length)r=n.pop()[1];while(s<t.marks.length){let i=t.marks[s++];let l=this.serializeMark(i,t.isInline,e);if(l){n.push([i,r]);r.appendChild(l.dom);r=l.contentDOM||l.dom}}}r.appendChild(this.serializeNodeInner(t,e))}));return i}serializeNodeInner(t,e){let{dom:i,contentDOM:r}=Mi.renderSpec(Ci(e),this.nodes[t.type.name](t));if(r){if(t.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(t.content,e,r)}return i}serializeNode(t,e={}){let i=this.serializeNodeInner(t,e);for(let r=t.marks.length-1;r>=0;r--){let n=this.serializeMark(t.marks[r],t.isInline,e);if(n){(n.contentDOM||n.dom).appendChild(i);i=n.dom}}return i}serializeMark(t,e,i={}){let r=this.marks[t.type.name];return r&&Mi.renderSpec(Ci(i),r(t,e))}static renderSpec(t,e,i=null){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let r=e[0],n=r.indexOf(" ");if(n>0){i=r.slice(0,n);r=r.slice(n+1)}let s;let l=i?t.createElementNS(i,r):t.createElement(r);let u=e[1],o=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){o=2;for(let t in u)if(u[t]!=null){let e=t.indexOf(" ");if(e>0)l.setAttributeNS(t.slice(0,e),t.slice(e+1),u[t]);else l.setAttribute(t,u[t])}}for(let r=o;r<e.length;r++){let n=e[r];if(n===0){if(r<e.length-1||r>o)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else{let{dom:e,contentDOM:r}=Mi.renderSpec(t,n,i);l.appendChild(e);if(r){if(s)throw new RangeError("Multiple content holes");s=r}}}return{dom:l,contentDOM:s}}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new Mi(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=Ai(t.nodes);if(!e.text)e.text=t=>t.text;return e}static marksFromSchema(t){return Ai(t.marks)}}function Ai(t){let e={};for(let i in t){let r=t[i].spec.toDOM;if(r)e[i]=r}return e}function Ci(t){return t.document||window.document}const Si=65535;const Oi=Math.pow(2,16);function $i(t,e){return t+e*Oi}function _i(t){return t&Si}function Bi(t){return(t-(t&Si))/Oi}const ji=1,qi=2,Ri=4,Ni=8;class zi{constructor(t,e,i){this.pos=t;this.delInfo=e;this.recover=i}get deleted(){return(this.delInfo&Ni)>0}get deletedBefore(){return(this.delInfo&(ji|Ri))>0}get deletedAfter(){return(this.delInfo&(qi|Ri))>0}get deletedAcross(){return(this.delInfo&Ri)>0}}class Ti{constructor(t,e=false){this.ranges=t;this.inverted=e;if(!t.length&&Ti.empty)return Ti.empty}recover(t){let e=0,i=_i(t);if(!this.inverted)for(let t=0;t<i;t++)e+=this.ranges[t*3+2]-this.ranges[t*3+1];return this.ranges[i*3]+e+Bi(t)}mapResult(t,e=1){return this._map(t,e,false)}map(t,e=1){return this._map(t,e,true)}_map(t,e,i){let r=0,n=this.inverted?2:1,s=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let u=this.ranges[l]-(this.inverted?r:0);if(u>t)break;let o=this.ranges[l+n],f=this.ranges[l+s],h=u+o;if(t<=h){let n=!o?e:t==u?-1:t==h?1:e;let s=u+r+(n<0?0:f);if(i)return s;let a=t==(e<0?u:h)?null:$i(l/3,t-u);let c=t==u?qi:t==h?ji:Ri;if(e<0?t!=u:t!=h)c|=Ni;return new zi(s,c,a)}r+=f-o}return i?t+r:new zi(t+r,0,null)}touches(t,e){let i=0,r=_i(e);let n=this.inverted?2:1,s=this.inverted?1:2;for(let e=0;e<this.ranges.length;e+=3){let l=this.ranges[e]-(this.inverted?i:0);if(l>t)break;let u=this.ranges[e+n],o=l+u;if(t<=o&&e==r*3)return true;i+=this.ranges[e+s]-u}return false}forEach(t){let e=this.inverted?2:1,i=this.inverted?1:2;for(let r=0,n=0;r<this.ranges.length;r+=3){let s=this.ranges[r],l=s-(this.inverted?n:0),u=s+(this.inverted?0:n);let o=this.ranges[r+e],f=this.ranges[r+i];t(l,l+o,u,u+f);n+=f-o}}invert(){return new Ti(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?Ti.empty:new Ti(t<0?[0,-t,0]:[0,0,t])}}Ti.empty=new Ti([]);class Ii{constructor(t=[],e,i=0,r=t.length){this.maps=t;this.mirror=e;this.from=i;this.to=r}slice(t=0,e=this.maps.length){return new Ii(this.maps,this.mirror,t,e)}copy(){return new Ii(this.maps.slice(),this.mirror&&this.mirror.slice(),this.from,this.to)}appendMap(t,e){this.to=this.maps.push(t);if(e!=null)this.setMirror(this.maps.length-1,e)}appendMapping(t){for(let e=0,i=this.maps.length;e<t.maps.length;e++){let r=t.getMirror(e);this.appendMap(t.maps[e],r!=null&&r<e?i+r:undefined)}}getMirror(t){if(this.mirror)for(let e=0;e<this.mirror.length;e++)if(this.mirror[e]==t)return this.mirror[e+(e%2?-1:1)]}setMirror(t,e){if(!this.mirror)this.mirror=[];this.mirror.push(t,e)}appendMappingInverted(t){for(let e=t.maps.length-1,i=this.maps.length+t.maps.length;e>=0;e--){let r=t.getMirror(e);this.appendMap(t.maps[e].invert(),r!=null&&r>e?i-r-1:undefined)}}invert(){let t=new Ii;t.appendMappingInverted(this);return t}map(t,e=1){if(this.mirror)return this._map(t,e,true);for(let i=this.from;i<this.to;i++)t=this.maps[i].map(t,e);return t}mapResult(t,e=1){return this._map(t,e,false)}_map(t,e,i){let r=0;for(let i=this.from;i<this.to;i++){let n=this.maps[i],s=n.mapResult(t,e);if(s.recover!=null){let e=this.getMirror(i);if(e!=null&&e>i&&e<this.to){i=e;t=this.maps[e].recover(s.recover);continue}}r|=s.delInfo;t=s.pos}return i?t:new zi(t,r,null)}}const Pi=Object.create(null);class Ji{getMap(){return Ti.empty}merge(t){return null}static fromJSON(t,e){if(!e||!e.stepType)throw new RangeError("Invalid input for Step.fromJSON");let i=Pi[e.stepType];if(!i)throw new RangeError(`No step type ${e.stepType} defined`);return i.fromJSON(t,e)}static jsonID(t,e){if(t in Pi)throw new RangeError("Duplicate use of step JSON ID "+t);Pi[t]=e;e.prototype.jsonID=t;return e}}class Li{constructor(t,e){this.doc=t;this.failed=e}static ok(t){return new Li(t,null)}static fail(t){return new Li(null,t)}static fromReplace(t,e,i,r){try{return Li.ok(t.replace(e,i,r))}catch(t){if(t instanceof ke)return Li.fail(t.message);throw t}}}function Ui(t,e,i){let r=[];for(let n=0;n<t.childCount;n++){let s=t.child(n);if(s.content.size)s=s.copy(Ui(s.content,e,s));if(s.isInline)s=e(s,i,n);r.push(s)}return pe.fromArray(r)}class Wi extends Ji{constructor(t,e,i){super();this.from=t;this.to=e;this.mark=i}apply(t){let e=t.slice(this.from,this.to),i=t.resolve(this.from);let r=i.node(i.sharedDepth(this.to));let n=new De(Ui(e.content,((t,e)=>{if(!t.isAtom||!e.type.allowsMarkType(this.mark.type))return t;return t.mark(this.mark.addToSet(t.marks))}),r),e.openStart,e.openEnd);return Li.fromReplace(t,this.from,this.to,n)}invert(){return new Hi(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);if(e.deleted&&i.deleted||e.pos>=i.pos)return null;return new Wi(e.pos,i.pos,this.mark)}merge(t){if(t instanceof Wi&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new Wi(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Wi(e.from,e.to,t.markFromJSON(e.mark))}}Ji.jsonID("addMark",Wi);class Hi extends Ji{constructor(t,e,i){super();this.from=t;this.to=e;this.mark=i}apply(t){let e=t.slice(this.from,this.to);let i=new De(Ui(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return Li.fromReplace(t,this.from,this.to,i)}invert(){return new Wi(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);if(e.deleted&&i.deleted||e.pos>=i.pos)return null;return new Hi(e.pos,i.pos,this.mark)}merge(t){if(t instanceof Hi&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new Hi(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark);return null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new Hi(e.from,e.to,t.markFromJSON(e.mark))}}Ji.jsonID("removeMark",Hi);class Zi extends Ji{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Li.fail("No node at mark step's position");let i=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return Li.fromReplace(t,this.pos,this.pos+1,new De(pe.from(i),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let i=0;i<e.marks.length;i++)if(!e.marks[i].isInSet(t))return new Zi(this.pos,e.marks[i]);return new Zi(this.pos,this.mark)}}return new Ki(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new Zi(e.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new Zi(e.pos,t.markFromJSON(e.mark))}}Ji.jsonID("addNodeMark",Zi);class Ki extends Ji{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Li.fail("No node at mark step's position");let i=e.type.create(e.attrs,null,this.mark.removeFromSet(e.marks));return Li.fromReplace(t,this.pos,this.pos+1,new De(pe.from(i),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(!e||!this.mark.isInSet(e.marks))return this;return new Zi(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new Ki(e.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Ki(e.pos,t.markFromJSON(e.mark))}}Ji.jsonID("removeNodeMark",Ki);class Vi extends Ji{constructor(t,e,i,r=false){super();this.from=t;this.to=e;this.slice=i;this.structure=r}apply(t){if(this.structure&&Xi(t,this.from,this.to))return Li.fail("Structure replace would overwrite content");return Li.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new Ti([this.from,this.to-this.from,this.slice.size])}invert(t){return new Vi(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);if(e.deletedAcross&&i.deletedAcross)return null;return new Vi(e.pos,Math.max(e.pos,i.pos),this.slice)}merge(t){if(!(t instanceof Vi)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let e=this.slice.size+t.slice.size==0?De.empty:new De(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new Vi(this.from,this.to+(t.to-t.from),e,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let e=this.slice.size+t.slice.size==0?De.empty:new De(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new Vi(t.from,this.to,e,this.structure)}else{return null}}toJSON(){let t={stepType:"replace",from:this.from,to:this.to};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new Vi(e.from,e.to,De.fromJSON(t,e.slice),!!e.structure)}}Ji.jsonID("replace",Vi);class Gi extends Ji{constructor(t,e,i,r,n,s,l=false){super();this.from=t;this.to=e;this.gapFrom=i;this.gapTo=r;this.slice=n;this.insert=s;this.structure=l}apply(t){if(this.structure&&(Xi(t,this.from,this.gapFrom)||Xi(t,this.gapTo,this.to)))return Li.fail("Structure gap-replace would overwrite content");let e=t.slice(this.gapFrom,this.gapTo);if(e.openStart||e.openEnd)return Li.fail("Gap is not a flat range");let i=this.slice.insertAt(this.insert,e.content);if(!i)return Li.fail("Content does not fit in gap");return Li.fromReplace(t,this.from,this.to,i)}getMap(){return new Ti([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let e=this.gapTo-this.gapFrom;return new Gi(this.from,this.from+this.slice.size+e,this.from+this.insert,this.from+this.insert+e,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let e=t.mapResult(this.from,1),i=t.mapResult(this.to,-1);let r=t.map(this.gapFrom,-1),n=t.map(this.gapTo,1);if(e.deletedAcross&&i.deletedAcross||r<e.pos||n>i.pos)return null;return new Gi(e.pos,i.pos,r,n,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};if(this.slice.size)t.slice=this.slice.toJSON();if(this.structure)t.structure=true;return t}static fromJSON(t,e){if(typeof e.from!="number"||typeof e.to!="number"||typeof e.gapFrom!="number"||typeof e.gapTo!="number"||typeof e.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new Gi(e.from,e.to,e.gapFrom,e.gapTo,De.fromJSON(t,e.slice),e.insert,!!e.structure)}}Ji.jsonID("replaceAround",Gi);function Xi(t,e,i){let r=t.resolve(e),n=i-e,s=r.depth;while(n>0&&s>0&&r.indexAfter(s)==r.node(s).childCount){s--;n--}if(n>0){let t=r.node(s).maybeChild(r.indexAfter(s));while(n>0){if(!t||t.isLeaf)return true;t=t.firstChild;n--}}return false}function Yi(t,e,i,r){let n=[],s=[];let l,u;t.doc.nodesBetween(e,i,((t,o,f)=>{if(!t.isInline)return;let h=t.marks;if(!r.isInSet(h)&&f.type.allowsMarkType(r.type)){let f=Math.max(o,e),a=Math.min(o+t.nodeSize,i);let c=r.addToSet(h);for(let t=0;t<h.length;t++){if(!h[t].isInSet(c)){if(l&&l.to==f&&l.mark.eq(h[t]))l.to=a;else n.push(l=new Hi(f,a,h[t]))}}if(u&&u.to==f)u.to=a;else s.push(u=new Wi(f,a,r))}}));n.forEach((e=>t.step(e)));s.forEach((e=>t.step(e)))}function Qi(t,e,i,r){let n=[],s=0;t.doc.nodesBetween(e,i,((t,l)=>{if(!t.isInline)return;s++;let u=null;if(r instanceof ui){let e=t.marks,i;while(i=r.isInSet(e)){(u||(u=[])).push(i);e=i.removeFromSet(e)}}else if(r){if(r.isInSet(t.marks))u=[r]}else{u=t.marks}if(u&&u.length){let r=Math.min(l+t.nodeSize,i);for(let t=0;t<u.length;t++){let i=u[t],o;for(let t=0;t<n.length;t++){let e=n[t];if(e.step==s-1&&i.eq(n[t].style))o=e}if(o){o.to=r;o.step=s}else{n.push({style:i,from:Math.max(l,e),to:r,step:s})}}}}));n.forEach((e=>t.step(new Hi(e.from,e.to,e.style))))}function tr(t,e,i,r=i.contentMatch){let n=t.doc.nodeAt(e);let s=[],l=e+1;for(let e=0;e<n.childCount;e++){let u=n.child(e),o=l+u.nodeSize;let f=r.matchType(u.type);if(!f){s.push(new Vi(l,o,De.empty))}else{r=f;for(let e=0;e<u.marks.length;e++)if(!i.allowsMarkType(u.marks[e].type))t.step(new Hi(l,o,u.marks[e]));if(u.isText&&!i.spec.code){let t,e=/\r?\n|\r/g,r;while(t=e.exec(u.text)){if(!r)r=new De(pe.from(i.schema.text(" ",i.allowedMarks(u.marks))),0,0);s.push(new Vi(l+t.index,l+t.index+t[0].length,r))}}}l=o}if(!r.validEnd){let e=r.fillBefore(pe.empty,true);t.replace(l,l,new De(e,0,0))}for(let e=s.length-1;e>=0;e--)t.step(s[e])}function er(t,e,i){return(e==0||t.canReplace(e,t.childCount))&&(i==t.childCount||t.canReplace(0,i))}function ir(t){let e=t.parent;let i=e.content.cutByIndex(t.startIndex,t.endIndex);for(let e=t.depth;;--e){let r=t.$from.node(e);let n=t.$from.index(e),s=t.$to.indexAfter(e);if(e<t.depth&&r.canReplace(n,s,i))return e;if(e==0||r.type.spec.isolating||!er(r,n,s))break}return null}function rr(t,e,i){let{$from:r,$to:n,depth:s}=e;let l=r.before(s+1),u=n.after(s+1);let o=l,f=u;let h=pe.empty,a=0;for(let t=s,e=false;t>i;t--)if(e||r.index(t)>0){e=true;h=pe.from(r.node(t).copy(h));a++}else{o--}let c=pe.empty,d=0;for(let t=s,e=false;t>i;t--)if(e||n.after(t+1)<n.end(t)){e=true;c=pe.from(n.node(t).copy(c));d++}else{f++}t.step(new Gi(o,f,l,u,new De(h.append(c),a,d),h.size-a,true))}function nr(t,e,i=null,r=t){let n=lr(t,e);let s=n&&ur(r,e);if(!s)return null;return n.map(sr).concat({type:e,attrs:i}).concat(s.map(sr))}function sr(t){return{type:t,attrs:null}}function lr(t,e){let{parent:i,startIndex:r,endIndex:n}=t;let s=i.contentMatchAt(r).findWrapping(e);if(!s)return null;let l=s.length?s[0]:e;return i.canReplaceWith(r,n,l)?s:null}function ur(t,e){let{parent:i,startIndex:r,endIndex:n}=t;let s=i.child(r);let l=e.contentMatch.findWrapping(s.type);if(!l)return null;let u=l.length?l[l.length-1]:e;let o=u.contentMatch;for(let t=r;o&&t<n;t++)o=o.matchType(i.child(t).type);if(!o||!o.validEnd)return null;return l}function or(t,e,i){let r=pe.empty;for(let t=i.length-1;t>=0;t--){if(r.size){let e=i[t].type.contentMatch.matchFragment(r);if(!e||!e.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=pe.from(i[t].type.create(i[t].attrs,r))}let n=e.start,s=e.end;t.step(new Gi(n,s,n,s,new De(r,0,0),i.length,true))}function fr(t,e,i,r,n){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=t.steps.length;t.doc.nodesBetween(e,i,((e,i)=>{if(e.isTextblock&&!e.hasMarkup(r,n)&&hr(t.doc,t.mapping.slice(s).map(i),r)){t.clearIncompatible(t.mapping.slice(s).map(i,1),r);let l=t.mapping.slice(s);let u=l.map(i,1),o=l.map(i+e.nodeSize,1);t.step(new Gi(u,o,u+1,o-1,new De(pe.from(r.create(n,null,e.marks)),0,0),1,true));return false}}))}function hr(t,e,i){let r=t.resolve(e),n=r.index();return r.parent.canReplaceWith(n,n+1,i)}function ar(t,e,i,r,n){let s=t.doc.nodeAt(e);if(!s)throw new RangeError("No node at given position");if(!i)i=s.type;let l=i.create(r,null,n||s.marks);if(s.isLeaf)return t.replaceWith(e,e+s.nodeSize,l);if(!i.validContent(s.content))throw new RangeError("Invalid content for node type "+i.name);t.step(new Gi(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new De(pe.from(l),0,0),1,true))}function cr(t,e,i=1,r){let n=t.resolve(e),s=n.depth-i;let l=r&&r[r.length-1]||n.parent;if(s<0||n.parent.type.spec.isolating||!n.parent.canReplace(n.index(),n.parent.childCount)||!l.type.validContent(n.parent.content.cutByIndex(n.index(),n.parent.childCount)))return false;for(let t=n.depth-1,e=i-2;t>s;t--,e--){let i=n.node(t),s=n.index(t);if(i.type.spec.isolating)return false;let l=i.content.cutByIndex(s,i.childCount);let u=r&&r[e+1];if(u)l=l.replaceChild(0,u.type.create(u.attrs));let o=r&&r[e]||i;if(!i.canReplace(s+1,i.childCount)||!o.type.validContent(l))return false}let u=n.indexAfter(s);let o=r&&r[0];return n.node(s).canReplaceWith(u,u,o?o.type:n.node(s+1).type)}function dr(t,e,i=1,r){let n=t.doc.resolve(e),s=pe.empty,l=pe.empty;for(let t=n.depth,e=n.depth-i,u=i-1;t>e;t--,u--){s=pe.from(n.node(t).copy(s));let e=r&&r[u];l=pe.from(e?e.type.create(e.attrs,l):n.node(t).copy(l))}t.step(new Vi(e,e,new De(s.append(l),i,i),true))}function pr(t,e){let i=t.resolve(e),r=i.index();return mr(i.nodeBefore,i.nodeAfter)&&i.parent.canReplace(r,r+1)}function mr(t,e){return!!(t&&e&&!t.isLeaf&&t.canAppend(e))}function wr(t,e,i=-1){let r=t.resolve(e);for(let t=r.depth;;t--){let n,s,l=r.index(t);if(t==r.depth){n=r.nodeBefore;s=r.nodeAfter}else if(i>0){n=r.node(t+1);l++;s=r.node(t).maybeChild(l)}else{n=r.node(t).maybeChild(l-1);s=r.node(t+1)}if(n&&!n.isTextblock&&mr(n,s)&&r.node(t).canReplace(l,l+1))return e;if(t==0)break;e=i<0?r.before(t):r.after(t)}}function gr(t,e,i){let r=new Vi(e-i,e+i,De.empty,true);t.step(r)}function br(t,e,i){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),i))return e;if(r.parentOffset==0)for(let t=r.depth-1;t>=0;t--){let e=r.index(t);if(r.node(t).canReplaceWith(e,e,i))return r.before(t+1);if(e>0)return null}if(r.parentOffset==r.parent.content.size)for(let t=r.depth-1;t>=0;t--){let e=r.indexAfter(t);if(r.node(t).canReplaceWith(e,e,i))return r.after(t+1);if(e<r.node(t).childCount)return null}return null}function kr(t,e,i){let r=t.resolve(e);if(!i.content.size)return e;let n=i.content;for(let t=0;t<i.openStart;t++)n=n.firstChild.content;for(let t=1;t<=(i.openStart==0&&i.size?2:1);t++){for(let e=r.depth;e>=0;e--){let i=e==r.depth?0:r.pos<=(r.start(e+1)+r.end(e+1))/2?-1:1;let s=r.index(e)+(i>0?1:0);let l=r.node(e),u=false;if(t==1){u=l.canReplace(s,s,n)}else{let t=l.contentMatchAt(s).findWrapping(n.firstChild.type);u=t&&l.canReplaceWith(s,s,t[0])}if(u)return i==0?r.pos:i<0?r.before(e+1):r.after(e+1)}}return null}function Dr(t,e,i=e,r=De.empty){if(e==i&&!r.size)return null;let n=t.resolve(e),s=t.resolve(i);if(vr(n,s,r))return new Vi(e,i,r);return new yr(n,s,r).fit()}function vr(t,e,i){return!i.openStart&&!i.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),i.content)}class yr{constructor(t,e,i){this.$from=t;this.$to=e;this.unplaced=i;this.frontier=[];this.placed=pe.empty;for(let e=0;e<=t.depth;e++){let i=t.node(e);this.frontier.push({type:i.type,match:i.contentMatchAt(t.indexAfter(e))})}for(let e=t.depth;e>0;e--)this.placed=pe.from(t.node(e).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){while(this.unplaced.size){let t=this.findFittable();if(t)this.placeNodes(t);else this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth;let i=this.$from,r=this.close(t<0?this.$to:i.doc.resolve(t));if(!r)return null;let n=this.placed,s=i.depth,l=r.depth;while(s&&l&&n.childCount==1){n=n.firstChild.content;s--;l--}let u=new De(n,s,l);if(t>-1)return new Gi(i.pos,t,this.$to.pos,this.$to.end(),u,e);if(u.size||i.pos!=this.$to.pos)return new Vi(i.pos,r.pos,u);return null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,i=0,r=this.unplaced.openEnd;i<t;i++){let n=e.firstChild;if(e.childCount>1)r=0;if(n.type.spec.isolating&&r<=i){t=i;break}e=n.content}for(let e=1;e<=2;e++){for(let i=e==1?t:this.unplaced.openStart;i>=0;i--){let t,r=null;if(i){r=xr(this.unplaced.content,i-1).firstChild;t=r.content}else{t=this.unplaced.content}let n=t.firstChild;for(let t=this.depth;t>=0;t--){let{type:s,match:l}=this.frontier[t],u,o=null;if(e==1&&(n?l.matchType(n.type)||(o=l.fillBefore(pe.from(n),false)):r&&s.compatibleContent(r.type)))return{sliceDepth:i,frontierDepth:t,parent:r,inject:o};else if(e==2&&n&&(u=l.findWrapping(n.type)))return{sliceDepth:i,frontierDepth:t,parent:r,wrap:u};if(r&&l.matchType(r.type))break}}}}openMore(){let{content:t,openStart:e,openEnd:i}=this.unplaced;let r=xr(t,e);if(!r.childCount||r.firstChild.isLeaf)return false;this.unplaced=new De(t,e+1,Math.max(i,r.size+e>=t.size-i?e+1:0));return true}dropNode(){let{content:t,openStart:e,openEnd:i}=this.unplaced;let r=xr(t,e);if(r.childCount<=1&&e>0){let n=t.size-e<=e+r.size;this.unplaced=new De(Fr(t,e-1,1),e-1,n?e-1:i)}else{this.unplaced=new De(Fr(t,e,1),e,i)}}placeNodes({sliceDepth:t,frontierDepth:e,parent:i,inject:r,wrap:n}){while(this.depth>e)this.closeFrontierNode();if(n)for(let t=0;t<n.length;t++)this.openFrontierNode(n[t]);let s=this.unplaced,l=i?i.content:s.content;let u=s.openStart-t;let o=0,f=[];let{match:h,type:a}=this.frontier[e];if(r){for(let t=0;t<r.childCount;t++)f.push(r.child(t));h=h.matchFragment(r)}let c=l.size+t-(s.content.size-s.openEnd);while(o<l.childCount){let t=l.child(o),e=h.matchType(t.type);if(!e)break;o++;if(o>1||u==0||t.content.size){h=e;f.push(Mr(t.mark(a.allowedMarks(t.marks)),o==1?u:0,o==l.childCount?c:-1))}}let d=o==l.childCount;if(!d)c=-1;this.placed=Er(this.placed,e,pe.from(f));this.frontier[e].match=h;if(d&&c<0&&i&&i.type==this.frontier[this.depth].type&&this.frontier.length>1)this.closeFrontierNode();for(let t=0,e=l;t<c;t++){let t=e.lastChild;this.frontier.push({type:t.type,match:t.contentMatchAt(t.childCount)});e=t.content}this.unplaced=!d?new De(Fr(s.content,t,o),s.openStart,s.openEnd):t==0?De.empty:new De(Fr(s.content,t-1,1),t-1,c<0?s.openEnd:t-1)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let t=this.frontier[this.depth],e;if(!t.type.isTextblock||!Ar(this.$to,this.$to.depth,t.type,t.match,false)||this.$to.depth==this.depth&&(e=this.findCloseLevel(this.$to))&&e.depth==this.depth)return-1;let{depth:i}=this.$to,r=this.$to.after(i);while(i>1&&r==this.$to.end(--i))++r;return r}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:i,type:r}=this.frontier[e];let n=e<t.depth&&t.end(e+1)==t.pos+(t.depth-(e+1));let s=Ar(t,e,r,i,n);if(!s)continue;for(let i=e-1;i>=0;i--){let{match:e,type:r}=this.frontier[i];let n=Ar(t,i,r,e,true);if(!n||n.childCount)continue t}return{depth:e,fit:s,move:n?t.doc.resolve(t.after(e+1)):t}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;while(this.depth>e.depth)this.closeFrontierNode();if(e.fit.childCount)this.placed=Er(this.placed,e.depth,e.fit);t=e.move;for(let i=e.depth+1;i<=t.depth;i++){let e=t.node(i),r=e.type.contentMatch.fillBefore(e.content,true,t.index(i));this.openFrontierNode(e.type,e.attrs,r)}return t}openFrontierNode(t,e=null,i){let r=this.frontier[this.depth];r.match=r.match.matchType(t);this.placed=Er(this.placed,this.depth,pe.from(t.create(e,i)));this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop();let e=t.match.fillBefore(pe.empty,true);if(e.childCount)this.placed=Er(this.placed,this.frontier.length,e)}}function Fr(t,e,i){if(e==0)return t.cutByIndex(i,t.childCount);return t.replaceChild(0,t.firstChild.copy(Fr(t.firstChild.content,e-1,i)))}function Er(t,e,i){if(e==0)return t.append(i);return t.replaceChild(t.childCount-1,t.lastChild.copy(Er(t.lastChild.content,e-1,i)))}function xr(t,e){for(let i=0;i<e;i++)t=t.firstChild.content;return t}function Mr(t,e,i){if(e<=0)return t;let r=t.content;if(e>1)r=r.replaceChild(0,Mr(r.firstChild,e-1,r.childCount==1?i-1:0));if(e>0){r=t.type.contentMatch.fillBefore(r).append(r);if(i<=0)r=r.append(t.type.contentMatch.matchFragment(r).fillBefore(pe.empty,true))}return t.copy(r)}function Ar(t,e,i,r,n){let s=t.node(e),l=n?t.indexAfter(e):t.index(e);if(l==s.childCount&&!i.compatibleContent(s.type))return null;let u=r.fillBefore(s.content,true,l);return u&&!Cr(i,s.content,l)?u:null}function Cr(t,e,i){for(let r=i;r<e.childCount;r++)if(!t.allowsMarks(e.child(r).marks))return true;return false}function Sr(t){return t.spec.defining||t.spec.definingForContent}function Or(t,e,i,r){if(!r.size)return t.deleteRange(e,i);let n=t.doc.resolve(e),s=t.doc.resolve(i);if(vr(n,s,r))return t.step(new Vi(e,i,r));let l=jr(n,t.doc.resolve(i));if(l[l.length-1]==0)l.pop();let u=-(n.depth+1);l.unshift(u);for(let t=n.depth,e=n.pos-1;t>0;t--,e--){let i=n.node(t).type.spec;if(i.defining||i.definingAsContext||i.isolating)break;if(l.indexOf(t)>-1)u=t;else if(n.before(t)==e)l.splice(1,0,-t)}let o=l.indexOf(u);let f=[],h=r.openStart;for(let t=r.content,e=0;;e++){let i=t.firstChild;f.push(i);if(e==r.openStart)break;t=i.content}for(let t=h-1;t>=0;t--){let e=f[t],i=Sr(e.type);if(i&&!e.sameMarkup(n.node(Math.abs(u)-1)))h=t;else if(i||!e.type.isTextblock)break}for(let e=r.openStart;e>=0;e--){let u=(e+h+1)%(r.openStart+1);let a=f[u];if(!a)continue;for(let e=0;e<l.length;e++){let f=l[(e+o)%l.length],h=true;if(f<0){h=false;f=-f}let c=n.node(f-1),d=n.index(f-1);if(c.canReplaceWith(d,d,a.type,a.marks))return t.replace(n.before(f),h?s.after(f):i,new De($r(r.content,0,r.openStart,u),u,r.openEnd))}}let a=t.steps.length;for(let u=l.length-1;u>=0;u--){t.replace(e,i,r);if(t.steps.length>a)break;let o=l[u];if(o<0)continue;e=n.before(o);i=s.after(o)}}function $r(t,e,i,r,n){if(e<i){let n=t.firstChild;t=t.replaceChild(0,n.copy($r(n.content,e+1,i,r,n)))}if(e>r){let e=n.contentMatchAt(0);let i=e.fillBefore(t).append(t);t=i.append(e.matchFragment(i).fillBefore(pe.empty,true))}return t}function _r(t,e,i,r){if(!r.isInline&&e==i&&t.doc.resolve(e).parent.content.size){let n=br(t.doc,e,r.type);if(n!=null)e=i=n}t.replaceRange(e,i,new De(pe.from(r),0,0))}function Br(t,e,i){let r=t.doc.resolve(e),n=t.doc.resolve(i);let s=jr(r,n);for(let e=0;e<s.length;e++){let i=s[e],l=e==s.length-1;if(l&&i==0||r.node(i).type.contentMatch.validEnd)return t.delete(r.start(i),n.end(i));if(i>0&&(l||r.node(i-1).canReplace(r.index(i-1),n.indexAfter(i-1))))return t.delete(r.before(i),n.after(i))}for(let s=1;s<=r.depth&&s<=n.depth;s++){if(e-r.start(s)==r.depth-s&&i>r.end(s)&&n.end(s)-i!=n.depth-s)return t.delete(r.before(s),i)}t.delete(e,i)}function jr(t,e){let i=[],r=Math.min(t.depth,e.depth);for(let n=r;n>=0;n--){let r=t.start(n);if(r<t.pos-(t.depth-n)||e.end(n)>e.pos+(e.depth-n)||t.node(n).type.spec.isolating||e.node(n).type.spec.isolating)break;if(r==e.start(n)||n==t.depth&&n==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&n&&e.start(n-1)==r-1)i.push(n)}return i}class qr extends Ji{constructor(t,e,i){super();this.pos=t;this.attr=e;this.value=i}apply(t){let e=t.nodeAt(this.pos);if(!e)return Li.fail("No node at attribute step's position");let i=Object.create(null);for(let t in e.attrs)i[t]=e.attrs[t];i[this.attr]=this.value;let r=e.type.create(i,null,e.marks);return Li.fromReplace(t,this.pos,this.pos+1,new De(pe.from(r),0,e.isLeaf?0:1))}getMap(){return Ti.empty}invert(t){return new qr(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new qr(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.pos!="number"||typeof e.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new qr(e.pos,e.attr,e.value)}}Ji.jsonID("attr",qr);class Rr extends Ji{constructor(t,e){super();this.attr=t;this.value=e}apply(t){let e=Object.create(null);for(let i in t.attrs)e[i]=t.attrs[i];e[this.attr]=this.value;let i=t.type.create(e,t.content,t.marks);return Li.ok(i)}getMap(){return Ti.empty}invert(t){return new Rr(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if(typeof e.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Rr(e.attr,e.value)}}Ji.jsonID("docAttr",Rr);let Nr=class extends Error{};Nr=function t(e){let i=Error.call(this,e);i.__proto__=t.prototype;return i};Nr.prototype=Object.create(Error.prototype);Nr.prototype.constructor=Nr;Nr.prototype.name="TransformError";class zr{constructor(t){this.doc=t;this.steps=[];this.docs=[];this.mapping=new Ii}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Nr(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);if(!e.failed)this.addStep(t,e.doc);return e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc);this.steps.push(t);this.mapping.appendMap(t.getMap());this.doc=e}replace(t,e=t,i=De.empty){let r=Dr(this.doc,t,e,i);if(r)this.step(r);return this}replaceWith(t,e,i){return this.replace(t,e,new De(pe.from(i),0,0))}delete(t,e){return this.replace(t,e,De.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,i){Or(this,t,e,i);return this}replaceRangeWith(t,e,i){_r(this,t,e,i);return this}deleteRange(t,e){Br(this,t,e);return this}lift(t,e){rr(this,t,e);return this}join(t,e=1){gr(this,t,e);return this}wrap(t,e){or(this,t,e);return this}setBlockType(t,e=t,i,r=null){fr(this,t,e,i,r);return this}setNodeMarkup(t,e,i=null,r){ar(this,t,e,i,r);return this}setNodeAttribute(t,e,i){this.step(new qr(t,e,i));return this}setDocAttribute(t,e){this.step(new Rr(t,e));return this}addNodeMark(t,e){this.step(new Zi(t,e));return this}removeNodeMark(t,e){if(!(e instanceof be)){let i=this.doc.nodeAt(t);if(!i)throw new RangeError("No node at position "+t);e=e.isInSet(i.marks);if(!e)return this}this.step(new Ki(t,e));return this}split(t,e=1,i){dr(this,t,e,i);return this}addMark(t,e,i){Yi(this,t,e,i);return this}removeMark(t,e,i){Qi(this,t,e,i);return this}clearIncompatible(t,e,i){tr(this,t,e,i);return this}}const Tr=Object.create(null);class Ir{constructor(t,e,i){this.$anchor=t;this.$head=e;this.ranges=i||[new Pr(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e<t.length;e++)if(t[e].$from.pos!=t[e].$to.pos)return false;return true}content(){return this.$from.doc.slice(this.from,this.to,true)}replace(t,e=De.empty){let i=e.content.lastChild,r=null;for(let t=0;t<e.openEnd;t++){r=i;i=i.lastChild}let n=t.steps.length,s=this.ranges;for(let l=0;l<s.length;l++){let{$from:u,$to:o}=s[l],f=t.mapping.slice(n);t.replaceRange(f.map(u.pos),f.map(o.pos),l?De.empty:e);if(l==0)Xr(t,n,(i?i.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(t,e){let i=t.steps.length,r=this.ranges;for(let n=0;n<r.length;n++){let{$from:s,$to:l}=r[n],u=t.mapping.slice(i);let o=u.map(s.pos),f=u.map(l.pos);if(n){t.deleteRange(o,f)}else{t.replaceRangeWith(o,f,e);Xr(t,i,e.isInline?-1:1)}}}static findFrom(t,e,i=false){let r=t.parent.inlineContent?new Ur(t):Gr(t.node(0),t.parent,t.pos,t.index(),e,i);if(r)return r;for(let r=t.depth-1;r>=0;r--){let n=e<0?Gr(t.node(0),t.node(r),t.before(r+1),t.index(r),e,i):Gr(t.node(0),t.node(r),t.after(r+1),t.index(r)+1,e,i);if(n)return n}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new Kr(t.node(0))}static atStart(t){return Gr(t,t,0,0,1)||new Kr(t)}static atEnd(t){return Gr(t,t,t.content.size,t.childCount,-1)||new Kr(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let i=Tr[e.type];if(!i)throw new RangeError(`No selection type ${e.type} defined`);return i.fromJSON(t,e)}static jsonID(t,e){if(t in Tr)throw new RangeError("Duplicate use of selection JSON ID "+t);Tr[t]=e;e.prototype.jsonID=t;return e}getBookmark(){return Ur.between(this.$anchor,this.$head).getBookmark()}}Ir.prototype.visible=true;class Pr{constructor(t,e){this.$from=t;this.$to=e}}let Jr=false;function Lr(t){if(!Jr&&!t.parent.inlineContent){Jr=true;console["warn"]("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")")}}class Ur extends Ir{constructor(t,e=t){Lr(t);Lr(e);super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let i=t.resolve(e.map(this.head));if(!i.parent.inlineContent)return Ir.near(i);let r=t.resolve(e.map(this.anchor));return new Ur(r.parent.inlineContent?r:i,i)}replace(t,e=De.empty){super.replace(t,e);if(e==De.empty){let e=this.$from.marksAcross(this.$to);if(e)t.ensureMarks(e)}}eq(t){return t instanceof Ur&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Wr(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if(typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new Ur(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,i=e){let r=t.resolve(e);return new this(r,i==e?r:t.resolve(i))}static between(t,e,i){let r=t.pos-e.pos;if(!i||r)i=r>=0?1:-1;if(!e.parent.inlineContent){let t=Ir.findFrom(e,i,true)||Ir.findFrom(e,-i,true);if(t)e=t.$head;else return Ir.near(e,i)}if(!t.parent.inlineContent){if(r==0){t=e}else{t=(Ir.findFrom(t,-i,true)||Ir.findFrom(t,i,true)).$anchor;if(t.pos<e.pos!=r<0)t=e}}return new Ur(t,e)}}Ir.jsonID("text",Ur);class Wr{constructor(t,e){this.anchor=t;this.head=e}map(t){return new Wr(t.map(this.anchor),t.map(this.head))}resolve(t){return Ur.between(t.resolve(this.anchor),t.resolve(this.head))}}class Hr extends Ir{constructor(t){let e=t.nodeAfter;let i=t.node(0).resolve(t.pos+e.nodeSize);super(t,i);this.node=e}map(t,e){let{deleted:i,pos:r}=e.mapResult(this.anchor);let n=t.resolve(r);if(i)return Ir.near(n);return new Hr(n)}content(){return new De(pe.from(this.node),0,0)}eq(t){return t instanceof Hr&&t.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new Zr(this.anchor)}static fromJSON(t,e){if(typeof e.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new Hr(t.resolve(e.anchor))}static create(t,e){return new Hr(t.resolve(e))}static isSelectable(t){return!t.isText&&t.type.spec.selectable!==false}}Hr.prototype.visible=false;Ir.jsonID("node",Hr);class Zr{constructor(t){this.anchor=t}map(t){let{deleted:e,pos:i}=t.mapResult(this.anchor);return e?new Wr(i,i):new Zr(i)}resolve(t){let e=t.resolve(this.anchor),i=e.nodeAfter;if(i&&Hr.isSelectable(i))return new Hr(e);return Ir.near(e)}}class Kr extends Ir{constructor(t){super(t.resolve(0),t.resolve(t.content.size))}replace(t,e=De.empty){if(e==De.empty){t.delete(0,t.doc.content.size);let e=Ir.atStart(t.doc);if(!e.eq(t.selection))t.setSelection(e)}else{super.replace(t,e)}}toJSON(){return{type:"all"}}static fromJSON(t){return new Kr(t)}map(t){return new Kr(t)}eq(t){return t instanceof Kr}getBookmark(){return Vr}}Ir.jsonID("all",Kr);const Vr={map(){return this},resolve(t){return new Kr(t)}};function Gr(t,e,i,r,n,s=false){if(e.inlineContent)return Ur.create(t,i);for(let l=r-(n>0?0:1);n>0?l<e.childCount:l>=0;l+=n){let r=e.child(l);if(!r.isAtom){let e=Gr(t,r,i+n,n<0?r.childCount:0,n,s);if(e)return e}else if(!s&&Hr.isSelectable(r)){return Hr.create(t,i-(n<0?r.nodeSize:0))}i+=r.nodeSize*n}return null}function Xr(t,e,i){let r=t.steps.length-1;if(r<e)return;let n=t.steps[r];if(!(n instanceof Vi||n instanceof Gi))return;let s=t.mapping.maps[r],l;s.forEach(((t,e,i,r)=>{if(l==null)l=r}));t.setSelection(Ir.near(t.doc.resolve(l),i))}const Yr=1,Qr=2,tn=4;class en extends zr{constructor(t){super(t.doc);this.curSelectionFor=0;this.updated=0;this.meta=Object.create(null);this.time=Date.now();this.curSelection=t.selection;this.storedMarks=t.storedMarks}get selection(){if(this.curSelectionFor<this.steps.length){this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor));this.curSelectionFor=this.steps.length}return this.curSelection}setSelection(t){if(t.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");this.curSelection=t;this.curSelectionFor=this.steps.length;this.updated=(this.updated|Yr)&~Qr;this.storedMarks=null;return this}get selectionSet(){return(this.updated&Yr)>0}setStoredMarks(t){this.storedMarks=t;this.updated|=Qr;return this}ensureMarks(t){if(!be.sameSet(this.storedMarks||this.selection.$from.marks(),t))this.setStoredMarks(t);return this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Qr)>0}addStep(t,e){super.addStep(t,e);this.updated=this.updated&~Qr;this.storedMarks=null}setTime(t){this.time=t;return this}replaceSelection(t){this.selection.replace(this,t);return this}replaceSelectionWith(t,e=true){let i=this.selection;if(e)t=t.mark(this.storedMarks||(i.empty?i.$from.marks():i.$from.marksAcross(i.$to)||be.none));i.replaceWith(this,t);return this}deleteSelection(){this.selection.replace(this);return this}insertText(t,e,i){let r=this.doc.type.schema;if(e==null){if(!t)return this.deleteSelection();return this.replaceSelectionWith(r.text(t),true)}else{if(i==null)i=e;i=i==null?e:i;if(!t)return this.deleteRange(e,i);let n=this.storedMarks;if(!n){let t=this.doc.resolve(e);n=i==e?t.marks():t.marksAcross(this.doc.resolve(i))}this.replaceRangeWith(e,i,r.text(t,n));if(!this.selection.empty)this.setSelection(Ir.near(this.selection.$to));return this}}setMeta(t,e){this.meta[typeof t=="string"?t:t.key]=e;return this}getMeta(t){return this.meta[typeof t=="string"?t:t.key]}get isGeneric(){for(let t in this.meta)return false;return true}scrollIntoView(){this.updated|=tn;return this}get scrolledIntoView(){return(this.updated&tn)>0}}function rn(t,e){return!e||!t?t:t.bind(e)}class nn{constructor(t,e,i){this.name=t;this.init=rn(e.init,i);this.apply=rn(e.apply,i)}}const sn=[new nn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new nn("selection",{init(t,e){return t.selection||Ir.atStart(e.doc)},apply(t){return t.selection}}),new nn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,i,r){return r.selection.$cursor?t.storedMarks:null}}),new nn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class ln{constructor(t,e){this.schema=t;this.plugins=[];this.pluginsByKey=Object.create(null);this.fields=sn.slice();if(e)e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t);this.pluginsByKey[t.key]=t;if(t.spec.state)this.fields.push(new nn(t.key,t.spec.state,t))}))}}class un{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let i=0;i<this.config.plugins.length;i++)if(i!=e){let e=this.config.plugins[i];if(e.spec.filterTransaction&&!e.spec.filterTransaction.call(e,t,this))return false}return true}applyTransaction(t){if(!this.filterTransaction(t))return{state:this,transactions:[]};let e=[t],i=this.applyInner(t),r=null;for(;;){let n=false;for(let s=0;s<this.config.plugins.length;s++){let l=this.config.plugins[s];if(l.spec.appendTransaction){let u=r?r[s].n:0,o=r?r[s].state:this;let f=u<e.length&&l.spec.appendTransaction.call(l,u?e.slice(u):e,o,i);if(f&&i.filterTransaction(f,s)){f.setMeta("appendedTransaction",t);if(!r){r=[];for(let t=0;t<this.config.plugins.length;t++)r.push(t<s?{state:i,n:e.length}:{state:this,n:0})}e.push(f);i=i.applyInner(f);n=true}if(r)r[s]={state:i,n:e.length}}}if(!n)return{state:i,transactions:e}}}applyInner(t){if(!t.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let e=new un(this.config),i=this.config.fields;for(let r=0;r<i.length;r++){let n=i[r];e[n.name]=n.apply(t,this[n.name],this,e)}return e}get tr(){return new en(this)}static create(t){let e=new ln(t.doc?t.doc.type.schema:t.schema,t.plugins);let i=new un(e);for(let r=0;r<e.fields.length;r++)i[e.fields[r].name]=e.fields[r].init(t,i);return i}reconfigure(t){let e=new ln(this.schema,t.plugins);let i=e.fields,r=new un(e);for(let e=0;e<i.length;e++){let n=i[e].name;r[n]=this.hasOwnProperty(n)?this[n]:i[e].init(t,r)}return r}toJSON(t){let e={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks)e.storedMarks=this.storedMarks.map((t=>t.toJSON()));if(t&&typeof t=="object")for(let i in t){if(i=="doc"||i=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let r=t[i],n=r.spec.state;if(n&&n.toJSON)e[i]=n.toJSON.call(r,this[r.key])}return e}static fromJSON(t,e,i){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let r=new ln(t.schema,t.plugins);let n=new un(r);r.fields.forEach((r=>{if(r.name=="doc"){n.doc=Te.fromJSON(t.schema,e.doc)}else if(r.name=="selection"){n.selection=Ir.fromJSON(n.doc,e.selection)}else if(r.name=="storedMarks"){if(e.storedMarks)n.storedMarks=e.storedMarks.map(t.schema.markFromJSON)}else{if(i)for(let s in i){let l=i[s],u=l.spec.state;if(l.key==r.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(e,s)){n[r.name]=u.fromJSON.call(l,t,e[s],n);return}}n[r.name]=r.init(t,n)}}));return n}}function on(t,e,i){for(let r in t){let n=t[r];if(n instanceof Function)n=n.bind(e);else if(r=="handleDOMEvents")n=on(n,e,{});i[r]=n}return i}class fn{constructor(t){this.spec=t;this.props={};if(t.props)on(t.props,this,this.props);this.key=t.key?t.key.key:an("plugin")}getState(t){return t[this.key]}}const hn=Object.create(null);function an(t){if(t in hn)return t+"$"+ ++hn[t];hn[t]=0;return t+"$"}class cn{constructor(t="key"){this.key=an(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const dn=function(t){for(var e=0;;e++){t=t.previousSibling;if(!t)return e}};const pn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let mn=null;const wn=function(t,e,i){let r=mn||(mn=document.createRange());r.setEnd(t,i==null?t.nodeValue.length:i);r.setStart(t,e||0);return r};const gn=function(t,e,i,r){return i&&(kn(t,e,i,r,-1)||kn(t,e,i,r,1))};const bn=/^(img|br|input|textarea|hr)$/i;function kn(t,e,i,r,n){for(;;){if(t==i&&e==r)return true;if(e==(n<0?0:Dn(t))){let i=t.parentNode;if(!i||i.nodeType!=1||yn(t)||bn.test(t.nodeName)||t.contentEditable=="false")return false;e=dn(t)+(n<0?0:1);t=i}else if(t.nodeType==1){t=t.childNodes[e+(n<0?-1:0)];if(t.contentEditable=="false")return false;e=n<0?Dn(t):0}else{return false}}}function Dn(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function vn(t,e,i){for(let r=e==0,n=e==Dn(t);r||n;){if(t==i)return true;let e=dn(t);t=t.parentNode;if(!t)return false;r=r&&e==0;n=n&&e==Dn(t)}}function yn(t){let e;for(let i=t;i;i=i.parentNode)if(e=i.pmViewDesc)break;return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const Fn=function(t){return t.focusNode&&gn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function En(t,e){let i=document.createEvent("Event");i.initEvent("keydown",true,true);i.keyCode=t;i.key=i.code=e;return i}function xn(t){let e=t.activeElement;while(e&&e.shadowRoot)e=e.shadowRoot.activeElement;return e}function Mn(t,e,i){if(t.caretPositionFromPoint){try{let r=t.caretPositionFromPoint(e,i);if(r)return{node:r.offsetNode,offset:r.offset}}catch(t){}}if(t.caretRangeFromPoint){let r=t.caretRangeFromPoint(e,i);if(r)return{node:r.startContainer,offset:r.startOffset}}}const An=typeof navigator!="undefined"?navigator:null;const Cn=typeof document!="undefined"?document:null;const Sn=An&&An.userAgent||"";const On=/Edge\/(\d+)/.exec(Sn);const $n=/MSIE \d/.exec(Sn);const _n=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Sn);const Bn=!!($n||_n||On);const jn=$n?document.documentMode:_n?+_n[1]:On?+On[1]:0;const qn=!Bn&&/gecko\/(\d+)/i.test(Sn);qn&&+(/Firefox\/(\d+)/.exec(Sn)||[0,0])[1];const Rn=!Bn&&/Chrome\/(\d+)/.exec(Sn);const Nn=!!Rn;const zn=Rn?+Rn[1]:0;const Tn=!Bn&&!!An&&/Apple Computer/.test(An.vendor);const In=Tn&&(/Mobile\/\w+/.test(Sn)||!!An&&An.maxTouchPoints>2);const Pn=In||(An?/Mac/.test(An.platform):false);const Jn=An?/Win/.test(An.platform):false;const Ln=/Android \d/.test(Sn);const Un=!!Cn&&"webkitFontSmoothing"in Cn.documentElement.style;const Wn=Un?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Hn(t){return{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function Zn(t,e){return typeof t=="number"?t:t[e]}function Kn(t){let e=t.getBoundingClientRect();let i=e.width/t.offsetWidth||1;let r=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*i,top:e.top,bottom:e.top+t.clientHeight*r}}function Vn(t,e,i){let r=t.someProp("scrollThreshold")||0,n=t.someProp("scrollMargin")||5;let s=t.dom.ownerDocument;for(let l=i||t.dom;;l=pn(l)){if(!l)break;if(l.nodeType!=1)continue;let t=l;let i=t==s.body;let u=i?Hn(s):Kn(t);let o=0,f=0;if(e.top<u.top+Zn(r,"top"))f=-(u.top-e.top+Zn(n,"top"));else if(e.bottom>u.bottom-Zn(r,"bottom"))f=e.bottom-e.top>u.bottom-u.top?e.top+Zn(n,"top")-u.top:e.bottom-u.bottom+Zn(n,"bottom");if(e.left<u.left+Zn(r,"left"))o=-(u.left-e.left+Zn(n,"left"));else if(e.right>u.right-Zn(r,"right"))o=e.right-u.right+Zn(n,"right");if(o||f){if(i){s.defaultView.scrollBy(o,f)}else{let i=t.scrollLeft,r=t.scrollTop;if(f)t.scrollTop+=f;if(o)t.scrollLeft+=o;let n=t.scrollLeft-i,s=t.scrollTop-r;e={left:e.left-n,top:e.top-s,right:e.right-n,bottom:e.bottom-s}}}if(i||/^(fixed|sticky)$/.test(getComputedStyle(l).position))break}}function Gn(t){let e=t.dom.getBoundingClientRect(),i=Math.max(0,e.top);let r,n;for(let s=(e.left+e.right)/2,l=i+1;l<Math.min(innerHeight,e.bottom);l+=5){let e=t.root.elementFromPoint(s,l);if(!e||e==t.dom||!t.dom.contains(e))continue;let u=e.getBoundingClientRect();if(u.top>=i-20){r=e;n=u.top;break}}return{refDOM:r,refTop:n,stack:Xn(t.dom)}}function Xn(t){let e=[],i=t.ownerDocument;for(let r=t;r;r=pn(r)){e.push({dom:r,top:r.scrollTop,left:r.scrollLeft});if(t==i)break}return e}function Yn({refDOM:t,refTop:e,stack:i}){let r=t?t.getBoundingClientRect().top:0;Qn(i,r==0?0:r-e)}function Qn(t,e){for(let i=0;i<t.length;i++){let{dom:r,top:n,left:s}=t[i];if(r.scrollTop!=n+e)r.scrollTop=n+e;if(r.scrollLeft!=s)r.scrollLeft=s}}let ts=null;function es(t){if(t.setActive)return t.setActive();if(ts)return t.focus(ts);let e=Xn(t);t.focus(ts==null?{get preventScroll(){ts={preventScroll:true};return true}}:undefined);if(!ts){ts=false;Qn(e,0)}}function is(t,e){let i,r=2e8,n,s=0;let l=e.top,u=e.top;let o,f;for(let h=t.firstChild,a=0;h;h=h.nextSibling,a++){let t;if(h.nodeType==1)t=h.getClientRects();else if(h.nodeType==3)t=wn(h).getClientRects();else continue;for(let c=0;c<t.length;c++){let d=t[c];if(d.top<=l&&d.bottom>=u){l=Math.max(d.bottom,l);u=Math.min(d.top,u);let t=d.left>e.left?d.left-e.left:d.right<e.left?e.left-d.right:0;if(t<r){i=h;r=t;n=t&&i.nodeType==3?{left:d.right<e.left?d.right:d.left,top:e.top}:e;if(h.nodeType==1&&t)s=a+(e.left>=(d.left+d.right)/2?1:0);continue}}else if(d.top>e.top&&!o&&d.left<=e.left&&d.right>=e.left){o=h;f={left:Math.max(d.left,Math.min(d.right,e.left)),top:d.top}}if(!i&&(e.left>=d.right&&e.top>=d.top||e.left>=d.left&&e.top>=d.bottom))s=a+1}}if(!i&&o){i=o;n=f;r=0}if(i&&i.nodeType==3)return rs(i,n);if(!i||r&&i.nodeType==1)return{node:t,offset:s};return is(i,n)}function rs(t,e){let i=t.nodeValue.length;let r=document.createRange();for(let n=0;n<i;n++){r.setEnd(t,n+1);r.setStart(t,n);let i=cs(r,1);if(i.top==i.bottom)continue;if(ns(e,i))return{node:t,offset:n+(e.left>=(i.left+i.right)/2?1:0)}}return{node:t,offset:0}}function ns(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function ss(t,e){let i=t.parentNode;if(i&&/^li$/i.test(i.nodeName)&&e.left<t.getBoundingClientRect().left)return i;return t}function ls(t,e,i){let{node:r,offset:n}=is(e,i),s=-1;if(r.nodeType==1&&!r.firstChild){let t=r.getBoundingClientRect();s=t.left!=t.right&&i.left>(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(r,n,s)}function us(t,e,i,r){let n=-1;for(let i=e,s=false;;){if(i==t.dom)break;let e=t.docView.nearestDesc(i,true);if(!e)return null;if(e.dom.nodeType==1&&(e.node.isBlock&&e.parent&&!s||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&!s){s=true;if(t.left>r.left||t.top>r.top)n=e.posBefore;else if(t.right<r.left||t.bottom<r.top)n=e.posAfter}if(!e.contentDOM&&n<0&&!e.node.isText){let i=e.node.isBlock?r.top<(t.top+t.bottom)/2:r.left<(t.left+t.right)/2;return i?e.posBefore:e.posAfter}}i=e.dom.parentNode}return n>-1?n:t.docView.posFromDOM(e,i,-1)}function fs(t,e,i){let r=t.childNodes.length;if(r&&i.top<i.bottom){for(let n=Math.max(0,Math.min(r-1,Math.floor(r*(e.top-i.top)/(i.bottom-i.top))-2)),s=n;;){let i=t.childNodes[s];if(i.nodeType==1){let t=i.getClientRects();for(let r=0;r<t.length;r++){let n=t[r];if(ns(e,n))return fs(i,e,n)}}if((s=(s+1)%r)==n)break}}return t}function hs(t,e){let i=t.dom.ownerDocument,r,n=0;let s=Mn(i,e.left,e.top);if(s)({node:r,offset:n}=s);let l=(t.root.elementFromPoint?t.root:i).elementFromPoint(e.left,e.top);let u;if(!l||!t.dom.contains(l.nodeType!=1?l.parentNode:l)){let i=t.dom.getBoundingClientRect();if(!ns(e,i))return null;l=fs(t.dom,e,i);if(!l)return null}if(Tn){for(let t=l;r&&t;t=pn(t))if(t.draggable)r=undefined}l=ss(l,e);if(r){if(qn&&r.nodeType==1){n=Math.min(n,r.childNodes.length);if(n<r.childNodes.length){let t=r.childNodes[n],i;if(t.nodeName=="IMG"&&(i=t.getBoundingClientRect()).right<=e.left&&i.bottom>e.top)n++}}let i;if(Un&&n&&r.nodeType==1&&(i=r.childNodes[n-1]).nodeType==1&&i.contentEditable=="false"&&i.getBoundingClientRect().top>=e.top)n--;if(r==t.dom&&n==r.childNodes.length-1&&r.lastChild.nodeType==1&&e.top>r.lastChild.getBoundingClientRect().bottom)u=t.state.doc.content.size;else if(n==0||r.nodeType!=1||r.childNodes[n-1].nodeName!="BR")u=us(t,r,n,e)}if(u==null)u=ls(t,l,e);let o=t.docView.nearestDesc(l,true);return{pos:u,inside:o?o.posAtStart-o.border:-1}}function as(t){return t.top<t.bottom||t.left<t.right}function cs(t,e){let i=t.getClientRects();if(i.length){let t=i[e<0?0:i.length-1];if(as(t))return t}return Array.prototype.find.call(i,as)||t.getBoundingClientRect()}const ds=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function ps(t,e,i){let{node:r,offset:n,atom:s}=t.docView.domFromPos(e,i<0?-1:1);let l=Un||qn;if(r.nodeType==3){if(l&&(ds.test(r.nodeValue)||(i<0?!n:n==r.nodeValue.length))){let t=cs(wn(r,n,n),i);if(qn&&n&&/\s/.test(r.nodeValue[n-1])&&n<r.nodeValue.length){let e=cs(wn(r,n-1,n-1),-1);if(e.top==t.top){let i=cs(wn(r,n,n+1),-1);if(i.top!=t.top)return ms(i,i.left<e.left)}}return t}else{let t=n,e=n,s=i<0?1:-1;if(i<0&&!n){e++;s=-1}else if(i>=0&&n==r.nodeValue.length){t--;s=1}else if(i<0){t--}else{e++}return ms(cs(wn(r,t,e),s),s<0)}}let u=t.state.doc.resolve(e-(s||0));if(!u.parent.inlineContent){if(s==null&&n&&(i<0||n==Dn(r))){let t=r.childNodes[n-1];if(t.nodeType==1)return ws(t.getBoundingClientRect(),false)}if(s==null&&n<Dn(r)){let t=r.childNodes[n];if(t.nodeType==1)return ws(t.getBoundingClientRect(),true)}return ws(r.getBoundingClientRect(),i>=0)}if(s==null&&n&&(i<0||n==Dn(r))){let t=r.childNodes[n-1];let e=t.nodeType==3?wn(t,Dn(t)-(l?0:1)):t.nodeType==1&&(t.nodeName!="BR"||!t.nextSibling)?t:null;if(e)return ms(cs(e,1),false)}if(s==null&&n<Dn(r)){let t=r.childNodes[n];while(t.pmViewDesc&&t.pmViewDesc.ignoreForCoords)t=t.nextSibling;let e=!t?null:t.nodeType==3?wn(t,0,l?0:1):t.nodeType==1?t:null;if(e)return ms(cs(e,-1),true)}return ms(cs(r.nodeType==3?wn(r):r,-i),i>=0)}function ms(t,e){if(t.width==0)return t;let i=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:i,right:i}}function ws(t,e){if(t.height==0)return t;let i=e?t.top:t.bottom;return{top:i,bottom:i,left:t.left,right:t.right}}function gs(t,e,i){let r=t.state,n=t.root.activeElement;if(r!=e)t.updateState(e);if(n!=t.dom)t.focus();try{return i()}finally{if(r!=e)t.updateState(r);if(n!=t.dom&&n)n.focus()}}function bs(t,e,i){let r=e.selection;let n=i=="up"?r.$from:r.$to;return gs(t,e,(()=>{let{node:e}=t.docView.domFromPos(n.pos,i=="up"?-1:1);for(;;){let i=t.docView.nearestDesc(e,true);if(!i)break;if(i.node.isBlock){e=i.contentDOM||i.dom;break}e=i.dom.parentNode}let r=ps(t,n.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(t.nodeType==1)e=t.getClientRects();else if(t.nodeType==3)e=wn(t,0,t.nodeValue.length).getClientRects();else continue;for(let t=0;t<e.length;t++){let n=e[t];if(n.bottom>n.top+1&&(i=="up"?r.top-n.top>(n.bottom-r.top)*2:n.bottom-r.bottom>(r.bottom-n.top)*2))return false}}return true}))}const ks=/[\u0590-\u08ac]/;function Ds(t,e,i){let{$head:r}=e.selection;if(!r.parent.isTextblock)return false;let n=r.parentOffset,s=!n,l=n==r.parent.content.size;let u=t.domSelection();if(!ks.test(r.parent.textContent)||!u.modify)return i=="left"||i=="backward"?s:l;return gs(t,e,(()=>{let{focusNode:e,focusOffset:n,anchorNode:s,anchorOffset:l}=t.domSelectionRange();let o=u.caretBidiLevel;u.modify("move",i,"character");let f=r.depth?t.docView.domAfterPos(r.before()):t.dom;let{focusNode:h,focusOffset:a}=t.domSelectionRange();let c=h&&!f.contains(h.nodeType==1?h:h.parentNode)||e==h&&n==a;try{u.collapse(s,l);if(e&&(e!=s||n!=l)&&u.extend)u.extend(e,n)}catch(t){}if(o!=null)u.caretBidiLevel=o;return c}))}let vs=null;let ys=null;let Fs=false;function Es(t,e,i){if(vs==e&&ys==i)return Fs;vs=e;ys=i;return Fs=i=="up"||i=="down"?bs(t,e,i):Ds(t,e,i)}const xs=0,Ms=1,As=2,Cs=3;class Ss{constructor(t,e,i,r){this.parent=t;this.children=e;this.dom=i;this.contentDOM=r;this.dirty=xs;i.pmViewDesc=this}matchesWidget(t){return false}matchesMark(t){return false}matchesNode(t,e,i){return false}matchesHack(t){return false}parseRule(){return null}stopEvent(t){return false}get size(){let t=0;for(let e=0;e<this.children.length;e++)t+=this.children[e].size;return t}get border(){return 0}destroy(){this.parent=undefined;if(this.dom.pmViewDesc==this)this.dom.pmViewDesc=undefined;for(let t=0;t<this.children.length;t++)this.children[t].destroy()}posBeforeChild(t){for(let e=0,i=this.posAtStart;;e++){let r=this.children[e];if(r==t)return i;i+=r.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(t,e,i){if(this.contentDOM&&this.contentDOM.contains(t.nodeType==1?t:t.parentNode)){if(i<0){let i,r;if(t==this.contentDOM){i=t.childNodes[e-1]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;i=t.previousSibling}while(i&&!((r=i.pmViewDesc)&&r.parent==this))i=i.previousSibling;return i?this.posBeforeChild(r)+r.size:this.posAtStart}else{let i,r;if(t==this.contentDOM){i=t.childNodes[e]}else{while(t.parentNode!=this.contentDOM)t=t.parentNode;i=t.nextSibling}while(i&&!((r=i.pmViewDesc)&&r.parent==this))i=i.nextSibling;return i?this.posBeforeChild(r):this.posAtEnd}}let r;if(t==this.dom&&this.contentDOM){r=e>dn(this.contentDOM)}else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM)){r=t.compareDocumentPosition(this.contentDOM)&2}else if(this.dom.firstChild){if(e==0)for(let e=t;;e=e.parentNode){if(e==this.dom){r=false;break}if(e.previousSibling)break}if(r==null&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){r=true;break}if(e.nextSibling)break}}return(r==null?i>0:r)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=false){for(let i=true,r=t;r;r=r.parentNode){let n=this.getDesc(r),s;if(n&&(!e||n.node)){if(i&&(s=n.nodeDOM)&&!(s.nodeType==1?s.contains(t.nodeType==1?t:t.parentNode):s==t))i=false;else return n}}}getDesc(t){let e=t.pmViewDesc;for(let t=e;t;t=t.parent)if(t==this)return e}posFromDOM(t,e,i){for(let r=t;r;r=r.parentNode){let n=this.getDesc(r);if(n)return n.localPosFromDOM(t,e,i)}return-1}descAt(t){for(let e=0,i=0;e<this.children.length;e++){let r=this.children[e],n=i+r.size;if(i==t&&n!=i){while(!r.border&&r.children.length)r=r.children[0];return r}if(t<n)return r.descAt(t-i-r.border);i=n}}domFromPos(t,e){if(!this.contentDOM)return{node:this.dom,offset:0,atom:t+1};let i=0,r=0;for(let e=0;i<this.children.length;i++){let n=this.children[i],s=e+n.size;if(s>t||n instanceof Rs){r=t-e;break}e=s}if(r)return this.children[i].domFromPos(r-this.children[i].border,e);for(let t;i&&!(t=this.children[i-1]).size&&t instanceof Os&&t.side>=0;i--){}if(e<=0){let t,r=true;for(;;i--,r=false){t=i?this.children[i-1]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&e&&r&&!t.border&&!t.domAtom)return t.domFromPos(t.size,e);return{node:this.contentDOM,offset:t?dn(t.dom)+1:0}}else{let t,r=true;for(;;i++,r=false){t=i<this.children.length?this.children[i]:null;if(!t||t.dom.parentNode==this.contentDOM)break}if(t&&r&&!t.border&&!t.domAtom)return t.domFromPos(0,e);return{node:this.contentDOM,offset:t?dn(t.dom):this.contentDOM.childNodes.length}}}parseRange(t,e,i=0){if(this.children.length==0)return{node:this.contentDOM,from:t,to:e,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let r=-1,n=-1;for(let s=i,l=0;;l++){let i=this.children[l],u=s+i.size;if(r==-1&&t<=u){let n=s+i.border;if(t>=n&&e<=u-i.border&&i.node&&i.contentDOM&&this.contentDOM.contains(i.contentDOM))return i.parseRange(t,e,n);t=s;for(let e=l;e>0;e--){let i=this.children[e-1];if(i.size&&i.dom.parentNode==this.contentDOM&&!i.emptyChildAt(1)){r=dn(i.dom)+1;break}t-=i.size}if(r==-1)r=0}if(r>-1&&(u>e||l==this.children.length-1)){e=u;for(let t=l+1;t<this.children.length;t++){let i=this.children[t];if(i.size&&i.dom.parentNode==this.contentDOM&&!i.emptyChildAt(-1)){n=dn(i.dom);break}e+=i.size}if(n==-1)n=this.contentDOM.childNodes.length;break}s=u}return{node:this.contentDOM,from:t,to:e,fromOffset:r,toOffset:n}}emptyChildAt(t){if(this.border||!this.contentDOM||!this.children.length)return false;let e=this.children[t<0?0:this.children.length-1];return e.size==0||e.emptyChildAt(t)}domAfterPos(t){let{node:e,offset:i}=this.domFromPos(t,0);if(e.nodeType!=1||i==e.childNodes.length)throw new RangeError("No node after pos "+t);return e.childNodes[i]}setSelection(t,e,i,r=false){let n=Math.min(t,e),s=Math.max(t,e);for(let l=0,u=0;l<this.children.length;l++){let o=this.children[l],f=u+o.size;if(n>u&&s<f)return o.setSelection(t-u-o.border,e-u-o.border,i,r);u=f}let l=this.domFromPos(t,t?-1:1);let u=e==t?l:this.domFromPos(e,e?-1:1);let o=i.getSelection();let f=false;if((qn||Tn)&&t==e){let{node:t,offset:e}=l;if(t.nodeType==3){f=!!(e&&t.nodeValue[e-1]=="\n");if(f&&e==t.nodeValue.length){for(let e=t,i;e;e=e.parentNode){if(i=e.nextSibling){if(i.nodeName=="BR")l=u={node:i.parentNode,offset:dn(i)+1};break}let t=e.pmViewDesc;if(t&&t.node&&t.node.isBlock)break}}}else{let i=t.childNodes[e-1];f=i&&(i.nodeName=="BR"||i.contentEditable=="false")}}if(qn&&o.focusNode&&o.focusNode!=u.node&&o.focusNode.nodeType==1){let t=o.focusNode.childNodes[o.focusOffset];if(t&&t.contentEditable=="false")r=true}if(!(r||f&&Tn)&&gn(l.node,l.offset,o.anchorNode,o.anchorOffset)&&gn(u.node,u.offset,o.focusNode,o.focusOffset))return;let h=false;if((o.extend||t==e)&&!f){o.collapse(l.node,l.offset);try{if(t!=e)o.extend(u.node,u.offset);h=true}catch(t){}}if(!h){if(t>e){let t=l;l=u;u=t}let i=document.createRange();i.setEnd(u.node,u.offset);i.setStart(l.node,l.offset);o.removeAllRanges();o.addRange(i)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let i=0,r=0;r<this.children.length;r++){let n=this.children[r],s=i+n.size;if(i==s?t<=s&&e>=i:t<s&&e>i){let r=i+n.border,l=s-n.border;if(t>=r&&e<=l){this.dirty=t==i||e==s?As:Ms;if(t==r&&e==l&&(n.contentLost||n.dom.parentNode!=this.contentDOM))n.dirty=Cs;else n.markDirty(t-r,e-r);return}else{n.dirty=n.dom==n.contentDOM&&n.dom.parentNode==this.contentDOM&&!n.children.length?As:Cs}}i=s}this.dirty=As}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let i=t==1?As:Ms;if(e.dirty<i)e.dirty=i}}get domAtom(){return false}get ignoreForCoords(){return false}}class Os extends Ss{constructor(t,e,i,r){let n,s=e.type.toDOM;if(typeof s=="function")s=s(i,(()=>{if(!n)return r;if(n.parent)return n.parent.posBeforeChild(n)}));if(!e.type.spec.raw){if(s.nodeType!=1){let t=document.createElement("span");t.appendChild(s);s=t}s.contentEditable="false";s.classList.add("ProseMirror-widget")}super(t,[],s,null);this.widget=e;this.widget=e;n=this}matchesWidget(t){return this.dirty==xs&&t.type.eq(this.widget.type)}parseRule(){return{ignore:true}}stopEvent(t){let e=this.widget.spec.stopEvent;return e?e(t):false}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom);super.destroy()}get domAtom(){return true}get side(){return this.widget.type.side}}class $s extends Ss{constructor(t,e,i,r){super(t,[],e,null);this.textDOM=i;this.text=r}get size(){return this.text.length}localPosFromDOM(t,e){if(t!=this.textDOM)return this.posAtStart+(e?this.size:0);return this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}}class _s extends Ss{constructor(t,e,i,r){super(t,[],i,r);this.mark=e}static create(t,e,i,r){let n=r.nodeViews[e.type.name];let s=n&&n(e,r,i);if(!s||!s.dom)s=Mi.renderSpec(document,e.type.spec.toDOM(e,i));return new _s(t,e,s.dom,s.contentDOM||s.dom)}parseRule(){if(this.dirty&Cs||this.mark.type.spec.reparseInView)return null;return{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=Cs&&this.mark.eq(t)}markDirty(t,e){super.markDirty(t,e);if(this.dirty!=xs){let t=this.parent;while(!t.node)t=t.parent;if(t.dirty<this.dirty)t.dirty=this.dirty;this.dirty=xs}}slice(t,e,i){let r=_s.create(this.parent,this.mark,true,i);let n=this.children,s=this.size;if(e<s)n=tl(n,e,s,i);if(t>0)n=tl(n,0,t,i);for(let t=0;t<n.length;t++)n[t].parent=r;r.children=n;return r}}class Bs extends Ss{constructor(t,e,i,r,n,s,l,u,o){super(t,[],n,s);this.node=e;this.outerDeco=i;this.innerDeco=r;this.nodeDOM=l}static create(t,e,i,r,n,s){let l=n.nodeViews[e.type.name],u;let o=l&&l(e,n,(()=>{if(!u)return s;if(u.parent)return u.parent.posBeforeChild(u)}),i,r);let f=o&&o.dom,h=o&&o.contentDOM;if(e.isText){if(!f)f=document.createTextNode(e.text);else if(f.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else if(!f){({dom:f,contentDOM:h}=Mi.renderSpec(document,e.type.spec.toDOM(e)))}if(!h&&!e.isText&&f.nodeName!="BR"){if(!f.hasAttribute("contenteditable"))f.contentEditable="false";if(e.type.spec.draggable)f.draggable=true}let a=f;f=Us(f,i,e);if(o)return u=new Ns(t,e,i,r,f,h||null,a,o,n,s+1);else if(e.isText)return new qs(t,e,i,r,f,a,n);else return new Bs(t,e,i,r,f,h||null,a,n,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre")t.preserveWhitespace="full";if(!this.contentDOM){t.getContent=()=>this.node.content}else if(!this.contentLost){t.contentElement=this.contentDOM}else{for(let e=this.children.length-1;e>=0;e--){let i=this.children[e];if(this.dom.contains(i.dom.parentNode)){t.contentElement=i.dom.parentNode;break}}if(!t.contentElement)t.getContent=()=>pe.empty}return t}matchesNode(t,e,i){return this.dirty==xs&&t.eq(this.node)&&Ws(e,this.outerDeco)&&i.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let i=this.node.inlineContent,r=e;let n=t.composing?this.localCompositionInfo(t,e):null;let s=n&&n.pos>-1?n:null;let l=n&&n.pos<0;let u=new Zs(this,s&&s.node,t);Gs(this.node,this.innerDeco,((e,n,s)=>{if(e.spec.marks)u.syncToMarks(e.spec.marks,i,t);else if(e.type.side>=0&&!s)u.syncToMarks(n==this.node.childCount?be.none:this.node.child(n).marks,i,t);u.placeWidget(e,t,r)}),((e,s,o,f)=>{u.syncToMarks(e.marks,i,t);let h;if(u.findNodeMatch(e,s,o,f));else if(l&&t.state.selection.from>r&&t.state.selection.to<r+e.nodeSize&&(h=u.findIndexWithChild(n.node))>-1&&u.updateNodeAt(e,s,o,h,t));else if(u.updateNextNode(e,s,o,t,f,r));else{u.addNode(e,s,o,t,r)}r+=e.nodeSize}));u.syncToMarks([],i,t);if(this.node.isTextblock)u.addTextblockHacks();u.destroyRest();if(u.changed||this.dirty==As){if(s)this.protectLocalComposition(t,s);zs(this.contentDOM,this.children,t);if(In)Xs(this.dom)}}localCompositionInfo(t,e){let{from:i,to:r}=t.state.selection;if(!(t.state.selection instanceof Ur)||i<e||r>e+this.node.content.size)return null;let n=t.domSelectionRange();let s=Ys(n.focusNode,n.focusOffset);if(!s||!this.dom.contains(s.parentNode))return null;if(this.node.inlineContent){let t=s.nodeValue;let n=Qs(this.node.content,t,i-e,r-e);return n<0?null:{node:s,pos:n,text:t}}else{return{node:s,pos:-1,text:""}}}protectLocalComposition(t,{node:e,pos:i,text:r}){if(this.getDesc(e))return;let n=e;for(;;n=n.parentNode){if(n.parentNode==this.contentDOM)break;while(n.previousSibling)n.parentNode.removeChild(n.previousSibling);while(n.nextSibling)n.parentNode.removeChild(n.nextSibling);if(n.pmViewDesc)n.pmViewDesc=undefined}let s=new $s(this,n,e,r);t.input.compositionNodes.push(s);this.children=tl(this.children,i,i+r.length,t,s)}update(t,e,i,r){if(this.dirty==Cs||!t.sameMarkup(this.node))return false;this.updateInner(t,e,i,r);return true}updateInner(t,e,i,r){this.updateOuterDeco(e);this.node=t;this.innerDeco=i;if(this.contentDOM)this.updateChildren(r,this.posAtStart);this.dirty=xs}updateOuterDeco(t){if(Ws(t,this.outerDeco))return;let e=this.nodeDOM.nodeType!=1;let i=this.dom;this.dom=Js(this.dom,this.nodeDOM,Ps(this.outerDeco,this.node,e),Ps(t,this.node,e));if(this.dom!=i){i.pmViewDesc=undefined;this.dom.pmViewDesc=this}this.outerDeco=t}selectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.add("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.draggable=true}deselectNode(){if(this.nodeDOM.nodeType==1)this.nodeDOM.classList.remove("ProseMirror-selectednode");if(this.contentDOM||!this.node.type.spec.draggable)this.dom.removeAttribute("draggable")}get domAtom(){return this.node.isAtom}}function js(t,e,i,r,n){Us(r,e,t);let s=new Bs(undefined,t,e,i,r,r,r,n,0);if(s.contentDOM)s.updateChildren(n,0);return s}class qs extends Bs{constructor(t,e,i,r,n,s,l){super(t,e,i,r,n,null,s,l,0)}parseRule(){let t=this.nodeDOM.parentNode;while(t&&t!=this.dom&&!t.pmIsDeco)t=t.parentNode;return{skip:t||true}}update(t,e,i,r){if(this.dirty==Cs||this.dirty!=xs&&!this.inParent()||!t.sameMarkup(this.node))return false;this.updateOuterDeco(e);if((this.dirty!=xs||t.text!=this.node.text)&&t.text!=this.nodeDOM.nodeValue){this.nodeDOM.nodeValue=t.text;if(r.trackWrites==this.nodeDOM)r.trackWrites=null}this.node=t;this.dirty=xs;return true}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return true;return false}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,i){if(t==this.nodeDOM)return this.posAtStart+Math.min(e,this.node.text.length);return super.localPosFromDOM(t,e,i)}ignoreMutation(t){return t.type!="characterData"&&t.type!="selection"}slice(t,e,i){let r=this.node.cut(t,e),n=document.createTextNode(r.text);return new qs(this.parent,r,this.outerDeco,this.innerDeco,n,n,i)}markDirty(t,e){super.markDirty(t,e);if(this.dom!=this.nodeDOM&&(t==0||e==this.nodeDOM.nodeValue.length))this.dirty=Cs}get domAtom(){return false}}class Rs extends Ss{parseRule(){return{ignore:true}}matchesHack(t){return this.dirty==xs&&this.dom.nodeName==t}get domAtom(){return true}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class Ns extends Bs{constructor(t,e,i,r,n,s,l,u,o,f){super(t,e,i,r,n,s,l,o,f);this.spec=u}update(t,e,i,r){if(this.dirty==Cs)return false;if(this.spec.update){let n=this.spec.update(t,e,i);if(n)this.updateInner(t,e,i,r);return n}else if(!this.contentDOM&&!t.isLeaf){return false}else{return super.update(t,e,i,r)}}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,i,r){this.spec.setSelection?this.spec.setSelection(t,e,i):super.setSelection(t,e,i,r)}destroy(){if(this.spec.destroy)this.spec.destroy();super.destroy()}stopEvent(t){return this.spec.stopEvent?this.spec.stopEvent(t):false}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function zs(t,e,i){let r=t.firstChild,n=false;for(let s=0;s<e.length;s++){let l=e[s],u=l.dom;if(u.parentNode==t){while(u!=r){r=Hs(r);n=true}r=r.nextSibling}else{n=true;t.insertBefore(u,r)}if(l instanceof _s){let e=r?r.previousSibling:t.lastChild;zs(l.contentDOM,l.children,i);r=e?e.nextSibling:t.firstChild}}while(r){r=Hs(r);n=true}if(n&&i.trackWrites==t)i.trackWrites=null}const Ts=function(t){if(t)this.nodeName=t};Ts.prototype=Object.create(null);const Is=[new Ts];function Ps(t,e,i){if(t.length==0)return Is;let r=i?Is[0]:new Ts,n=[r];for(let s=0;s<t.length;s++){let l=t[s].type.attrs;if(!l)continue;if(l.nodeName)n.push(r=new Ts(l.nodeName));for(let t in l){let s=l[t];if(s==null)continue;if(i&&n.length==1)n.push(r=new Ts(e.isInline?"span":"div"));if(t=="class")r.class=(r.class?r.class+" ":"")+s;else if(t=="style")r.style=(r.style?r.style+";":"")+s;else if(t!="nodeName")r[t]=s}}return n}function Js(t,e,i,r){if(i==Is&&r==Is)return e;let n=e;for(let e=0;e<r.length;e++){let s=r[e],l=i[e];if(e){let e;if(l&&l.nodeName==s.nodeName&&n!=t&&(e=n.parentNode)&&e.nodeName.toLowerCase()==s.nodeName){n=e}else{e=document.createElement(s.nodeName);e.pmIsDeco=true;e.appendChild(n);l=Is[0];n=e}}Ls(n,l||Is[0],s)}return n}function Ls(t,e,i){for(let r in e)if(r!="class"&&r!="style"&&r!="nodeName"&&!(r in i))t.removeAttribute(r);for(let r in i)if(r!="class"&&r!="style"&&r!="nodeName"&&i[r]!=e[r])t.setAttribute(r,i[r]);if(e.class!=i.class){let r=e.class?e.class.split(" ").filter(Boolean):[];let n=i.class?i.class.split(" ").filter(Boolean):[];for(let e=0;e<r.length;e++)if(n.indexOf(r[e])==-1)t.classList.remove(r[e]);for(let e=0;e<n.length;e++)if(r.indexOf(n[e])==-1)t.classList.add(n[e]);if(t.classList.length==0)t.removeAttribute("class")}if(e.style!=i.style){if(e.style){let i=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,r;while(r=i.exec(e.style))t.style.removeProperty(r[1])}if(i.style)t.style.cssText+=i.style}}function Us(t,e,i){return Js(t,t,Is,Ps(e,i,t.nodeType!=1))}function Ws(t,e){if(t.length!=e.length)return false;for(let i=0;i<t.length;i++)if(!t[i].type.eq(e[i].type))return false;return true}function Hs(t){let e=t.nextSibling;t.parentNode.removeChild(t);return e}class Zs{constructor(t,e,i){this.lock=e;this.view=i;this.index=0;this.stack=[];this.changed=false;this.top=t;this.preMatch=Ks(t.node.content,t)}destroyBetween(t,e){if(t==e)return;for(let i=t;i<e;i++)this.top.children[i].destroy();this.top.children.splice(t,e-t);this.changed=true}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(t,e,i){let r=0,n=this.stack.length>>1;let s=Math.min(n,t.length);while(r<s&&(r==n-1?this.top:this.stack[r+1<<1]).matchesMark(t[r])&&t[r].type.spec.spanning!==false)r++;while(r<n){this.destroyRest();this.top.dirty=xs;this.index=this.stack.pop();this.top=this.stack.pop();n--}while(n<t.length){this.stack.push(this.top,this.index+1);let r=-1;for(let e=this.index;e<Math.min(this.index+3,this.top.children.length);e++){let i=this.top.children[e];if(i.matchesMark(t[n])&&!this.isLocked(i.dom)){r=e;break}}if(r>-1){if(r>this.index){this.changed=true;this.destroyBetween(this.index,r)}this.top=this.top.children[this.index]}else{let r=_s.create(this.top,t[n],e,i);this.top.children.splice(this.index,0,r);this.top=r;this.changed=true}this.index=0;n++}}findNodeMatch(t,e,i,r){let n=-1,s;if(r>=this.preMatch.index&&(s=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&s.matchesNode(t,e,i)){n=this.top.children.indexOf(s,this.index)}else{for(let r=this.index,s=Math.min(this.top.children.length,r+5);r<s;r++){let s=this.top.children[r];if(s.matchesNode(t,e,i)&&!this.preMatch.matched.has(s)){n=r;break}}}if(n<0)return false;this.destroyBetween(this.index,n);this.index++;return true}updateNodeAt(t,e,i,r,n){let s=this.top.children[r];if(s.dirty==Cs&&s.dom==s.contentDOM)s.dirty=As;if(!s.update(t,e,i,n))return false;this.destroyBetween(this.index,r);this.index++;return true}findIndexWithChild(t){for(;;){let e=t.parentNode;if(!e)return-1;if(e==this.top.contentDOM){let e=t.pmViewDesc;if(e)for(let t=this.index;t<this.top.children.length;t++){if(this.top.children[t]==e)return t}return-1}t=e}}updateNextNode(t,e,i,r,n,s){for(let l=this.index;l<this.top.children.length;l++){let u=this.top.children[l];if(u instanceof Bs){let o=this.preMatch.matched.get(u);if(o!=null&&o!=n)return false;let f=u.dom,h;let a=this.isLocked(f)&&!(t.isText&&u.node&&u.node.isText&&u.nodeDOM.nodeValue==t.text&&u.dirty!=Cs&&Ws(e,u.outerDeco));if(!a&&u.update(t,e,i,r)){this.destroyBetween(this.index,l);if(u.dom!=f)this.changed=true;this.index++;return true}else if(!a&&(h=this.recreateWrapper(u,t,e,i,r,s))){this.top.children[this.index]=h;if(h.contentDOM){h.dirty=As;h.updateChildren(r,s+1);h.dirty=xs}this.changed=true;this.index++;return true}break}}return false}recreateWrapper(t,e,i,r,n,s){if(t.dirty||e.isAtom||!t.children.length||!t.node.content.eq(e.content))return null;let l=Bs.create(this.top,e,i,r,n,s);if(l.contentDOM){l.children=t.children;t.children=[];for(let t of l.children)t.parent=l}t.destroy();return l}addNode(t,e,i,r,n){let s=Bs.create(this.top,t,e,i,r,n);if(s.contentDOM)s.updateChildren(r,n+1);this.top.children.splice(this.index++,0,s);this.changed=true}placeWidget(t,e,i){let r=this.index<this.top.children.length?this.top.children[this.index]:null;if(r&&r.matchesWidget(t)&&(t==r.widget||!r.widget.type.toDOM.parentNode)){this.index++}else{let r=new Os(this.top,t,e,i);this.top.children.splice(this.index++,0,r);this.changed=true}}addTextblockHacks(){let t=this.top.children[this.index-1],e=this.top;while(t instanceof _s){e=t;t=e.children[e.children.length-1]}if(!t||!(t instanceof qs)||/\n$/.test(t.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(t.node.text)){if((Tn||Nn)&&t&&t.dom.contentEditable=="false")this.addHackNode("IMG",e);this.addHackNode("BR",this.top)}}addHackNode(t,e){if(e==this.top&&this.index<e.children.length&&e.children[this.index].matchesHack(t)){this.index++}else{let i=document.createElement(t);if(t=="IMG"){i.className="ProseMirror-separator";i.alt=""}if(t=="BR")i.className="ProseMirror-trailingBreak";let r=new Rs(this.top,[],i,null);if(e!=this.top)e.children.push(r);else e.children.splice(this.index++,0,r);this.changed=true}}isLocked(t){return this.lock&&(t==this.lock||t.nodeType==1&&t.contains(this.lock.parentNode))}}function Ks(t,e){let i=e,r=i.children.length;let n=t.childCount,s=new Map,l=[];t:while(n>0){let u;for(;;){if(r){let t=i.children[r-1];if(t instanceof _s){i=t;r=t.children.length}else{u=t;r--;break}}else if(i==e){break t}else{r=i.parent.children.indexOf(i);i=i.parent}}let o=u.node;if(!o)continue;if(o!=t.child(n-1))break;--n;s.set(u,n);l.push(u)}return{index:n,matched:s,matches:l.reverse()}}function Vs(t,e){return t.type.side-e.type.side}function Gs(t,e,i,r){let n=e.locals(t),s=0;if(n.length==0){for(let i=0;i<t.childCount;i++){let l=t.child(i);r(l,n,e.forChild(s,l),i);s+=l.nodeSize}return}let l=0,u=[],o=null;for(let f=0;;){let h,a;while(l<n.length&&n[l].to==s){let t=n[l++];if(t.widget){if(!h)h=t;else(a||(a=[h])).push(t)}}if(h){if(a){a.sort(Vs);for(let t=0;t<a.length;t++)i(a[t],f,!!o)}else{i(h,f,!!o)}}let c,d;if(o){d=-1;c=o;o=null}else if(f<t.childCount){d=f;c=t.child(f++)}else{break}for(let t=0;t<u.length;t++)if(u[t].to<=s)u.splice(t--,1);while(l<n.length&&n[l].from<=s&&n[l].to>s)u.push(n[l++]);let p=s+c.nodeSize;if(c.isText){let t=p;if(l<n.length&&n[l].from<t)t=n[l].from;for(let e=0;e<u.length;e++)if(u[e].to<t)t=u[e].to;if(t<p){o=c.cut(t-s);c=c.cut(0,t-s);p=t;d=-1}}else{while(l<n.length&&n[l].to<p)l++}let m=c.isInline&&!c.isLeaf?u.filter((t=>!t.inline)):u.slice();r(c,m,e.forChild(s,c),d);s=p}}function Xs(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important";window.getComputedStyle(t).listStyle;t.style.cssText=e}}function Ys(t,e){for(;;){if(t.nodeType==3)return t;if(t.nodeType==1&&e>0){if(t.childNodes.length>e&&t.childNodes[e].nodeType==3)return t.childNodes[e];t=t.childNodes[e-1];e=Dn(t)}else if(t.nodeType==1&&e<t.childNodes.length){t=t.childNodes[e];e=0}else{return null}}}function Qs(t,e,i,r){for(let n=0,s=0;n<t.childCount&&s<=r;){let l=t.child(n++),u=s;s+=l.nodeSize;if(!l.isText)continue;let o=l.text;while(n<t.childCount){let e=t.child(n++);s+=e.nodeSize;if(!e.isText)break;o+=e.text}if(s>=i){if(s>=r&&o.slice(r-e.length-u,r-u)==e)return r-e.length;let t=u<r?o.lastIndexOf(e,r-u-1):-1;if(t>=0&&t+e.length+u>=i)return u+t;if(i==r&&o.length>=r+e.length-u&&o.slice(r-u,r-u+e.length)==e)return r}}return-1}function tl(t,e,i,r,n){let s=[];for(let l=0,u=0;l<t.length;l++){let o=t[l],f=u,h=u+=o.size;if(f>=i||h<=e){s.push(o)}else{if(f<e)s.push(o.slice(0,e-f,r));if(n){s.push(n);n=undefined}if(h>i)s.push(o.slice(i-f,o.size,r))}}return s}function el(t,e=null){let i=t.domSelectionRange(),r=t.state.doc;if(!i.focusNode)return null;let n=t.docView.nearestDesc(i.focusNode),s=n&&n.size==0;let l=t.docView.posFromDOM(i.focusNode,i.focusOffset,1);if(l<0)return null;let u=r.resolve(l),o,f;if(Fn(i)){o=u;while(n&&!n.node)n=n.parent;let t=n.node;if(n&&t.isAtom&&Hr.isSelectable(t)&&n.parent&&!(t.isInline&&vn(i.focusNode,i.focusOffset,n.dom))){let t=n.posBefore;f=new Hr(l==t?u:r.resolve(t))}}else{let e=t.docView.posFromDOM(i.anchorNode,i.anchorOffset,1);if(e<0)return null;o=r.resolve(e)}if(!f){let i=e=="pointer"||t.state.selection.head<u.pos&&!s?1:-1;f=cl(t,o,u,i)}return f}function il(t){return t.editable?t.hasFocus():pl(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function rl(t,e=false){let i=t.state.selection;hl(t,i);if(!il(t))return;if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&Nn){let e=t.domSelectionRange(),i=t.domObserver.currentSelection;if(e.anchorNode&&i.anchorNode&&gn(e.anchorNode,e.anchorOffset,i.anchorNode,i.anchorOffset)){t.input.mouseDown.delayedSelectionSync=true;t.domObserver.setCurSelection();return}}t.domObserver.disconnectSelection();if(t.cursorWrapper){fl(t)}else{let{anchor:r,head:n}=i,s,l;if(nl&&!(i instanceof Ur)){if(!i.$from.parent.inlineContent)s=sl(t,i.from);if(!i.empty&&!i.$from.parent.inlineContent)l=sl(t,i.to)}t.docView.setSelection(r,n,t.root,e);if(nl){if(s)ul(s);if(l)ul(l)}if(i.visible){t.dom.classList.remove("ProseMirror-hideselection")}else{t.dom.classList.add("ProseMirror-hideselection");if("onselectionchange"in document)ol(t)}}t.domObserver.setCurSelection();t.domObserver.connectSelection()}const nl=Tn||Nn&&zn<63;function sl(t,e){let{node:i,offset:r}=t.docView.domFromPos(e,0);let n=r<i.childNodes.length?i.childNodes[r]:null;let s=r?i.childNodes[r-1]:null;if(Tn&&n&&n.contentEditable=="false")return ll(n);if((!n||n.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(n)return ll(n);else if(s)return ll(s)}}function ll(t){t.contentEditable="true";if(Tn&&t.draggable){t.draggable=false;t.wasDraggable=true}return t}function ul(t){t.contentEditable="false";if(t.wasDraggable){t.draggable=true;t.wasDraggable=null}}function ol(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let i=t.domSelectionRange();let r=i.anchorNode,n=i.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{if(i.anchorNode!=r||i.anchorOffset!=n){e.removeEventListener("selectionchange",t.input.hideSelectionGuard);setTimeout((()=>{if(!il(t)||t.state.selection.visible)t.dom.classList.remove("ProseMirror-hideselection")}),20)}})}function fl(t){let e=t.domSelection(),i=document.createRange();let r=t.cursorWrapper.dom,n=r.nodeName=="IMG";if(n)i.setEnd(r.parentNode,dn(r)+1);else i.setEnd(r,0);i.collapse(false);e.removeAllRanges();e.addRange(i);if(!n&&!t.state.selection.visible&&Bn&&jn<=11){r.disabled=true;r.disabled=false}}function hl(t,e){if(e instanceof Hr){let i=t.docView.descAt(e.from);if(i!=t.lastSelectedViewDesc){al(t);if(i)i.selectNode();t.lastSelectedViewDesc=i}}else{al(t)}}function al(t){if(t.lastSelectedViewDesc){if(t.lastSelectedViewDesc.parent)t.lastSelectedViewDesc.deselectNode();t.lastSelectedViewDesc=undefined}}function cl(t,e,i,r){return t.someProp("createSelectionBetween",(r=>r(t,e,i)))||Ur.between(e,i,r)}function dl(t){if(t.editable&&!t.hasFocus())return false;return pl(t)}function pl(t){let e=t.domSelectionRange();if(!e.anchorNode)return false;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch(t){return false}}function ml(t){let e=t.docView.domFromPos(t.state.selection.anchor,0);let i=t.domSelectionRange();return gn(e.node,e.offset,i.anchorNode,i.anchorOffset)}function wl(t,e){let{$anchor:i,$head:r}=t.selection;let n=e>0?i.max(r):i.min(r);let s=!n.parent.inlineContent?n:n.depth?t.doc.resolve(e>0?n.after():n.before()):null;return s&&Ir.findFrom(s,e)}function gl(t,e){t.dispatch(t.state.tr.setSelection(e).scrollIntoView());return true}function bl(t,e,i){let r=t.state.selection;if(r instanceof Ur){if(i.indexOf("s")>-1){let{$head:i}=r,n=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter;if(!n||n.isText||!n.isLeaf)return false;let s=t.state.doc.resolve(i.pos+n.nodeSize*(e<0?-1:1));return gl(t,new Ur(r.$anchor,s))}else if(!r.empty){return false}else if(t.endOfTextblock(e>0?"forward":"backward")){let i=wl(t.state,e);if(i&&i instanceof Hr)return gl(t,i);return false}else if(!(Pn&&i.indexOf("m")>-1)){let i=r.$head,n=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter,s;if(!n||n.isText)return false;let l=e<0?i.pos-n.nodeSize:i.pos;if(!(n.isAtom||(s=t.docView.descAt(l))&&!s.contentDOM))return false;if(Hr.isSelectable(n)){return gl(t,new Hr(e<0?t.state.doc.resolve(i.pos-n.nodeSize):i))}else if(Un){return gl(t,new Ur(t.state.doc.resolve(e<0?l:l+n.nodeSize)))}else{return false}}}else if(r instanceof Hr&&r.node.isInline){return gl(t,new Ur(e>0?r.$to:r.$from))}else{let i=wl(t.state,e);if(i)return gl(t,i);return false}}function kl(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Dl(t,e){let i=t.pmViewDesc;return i&&i.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function vl(t,e){return e<0?yl(t):Fl(t)}function yl(t){let e=t.domSelectionRange();let i=e.focusNode,r=e.focusOffset;if(!i)return;let n,s,l=false;if(qn&&i.nodeType==1&&r<kl(i)&&Dl(i.childNodes[r],-1))l=true;for(;;){if(r>0){if(i.nodeType!=1){break}else{let t=i.childNodes[r-1];if(Dl(t,-1)){n=i;s=--r}else if(t.nodeType==3){i=t;r=i.nodeValue.length}else break}}else if(El(i)){break}else{let e=i.previousSibling;while(e&&Dl(e,-1)){n=i.parentNode;s=dn(e);e=e.previousSibling}if(!e){i=i.parentNode;if(i==t.dom)break;r=0}else{i=e;r=kl(i)}}}if(l)Al(t,i,r);else if(n)Al(t,n,s)}function Fl(t){let e=t.domSelectionRange();let i=e.focusNode,r=e.focusOffset;if(!i)return;let n=kl(i);let s,l;for(;;){if(r<n){if(i.nodeType!=1)break;let t=i.childNodes[r];if(Dl(t,1)){s=i;l=++r}else break}else if(El(i)){break}else{let e=i.nextSibling;while(e&&Dl(e,1)){s=e.parentNode;l=dn(e)+1;e=e.nextSibling}if(!e){i=i.parentNode;if(i==t.dom)break;r=n=0}else{i=e;r=0;n=kl(i)}}}if(s)Al(t,s,l)}function El(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function xl(t,e){while(t&&e==t.childNodes.length&&!yn(t)){e=dn(t)+1;t=t.parentNode}while(t&&e<t.childNodes.length){let i=t.childNodes[e];if(i.nodeType==3)return i;if(i.nodeType==1&&i.contentEditable=="false")break;t=i;e=0}}function Ml(t,e){while(t&&!e&&!yn(t)){e=dn(t);t=t.parentNode}while(t&&e){let i=t.childNodes[e-1];if(i.nodeType==3)return i;if(i.nodeType==1&&i.contentEditable=="false")break;t=i;e=t.childNodes.length}}function Al(t,e,i){if(e.nodeType!=3){let t,r;if(r=xl(e,i)){e=r;i=0}else if(t=Ml(e,i)){e=t;i=t.nodeValue.length}}let r=t.domSelection();if(Fn(r)){let t=document.createRange();t.setEnd(e,i);t.setStart(e,i);r.removeAllRanges();r.addRange(t)}else if(r.extend){r.extend(e,i)}t.domObserver.setCurSelection();let{state:n}=t;setTimeout((()=>{if(t.state==n)rl(t)}),50)}function Cl(t,e){let i=t.state.doc.resolve(e);if(!(Nn||Jn)&&i.parent.inlineContent){let r=t.coordsAtPos(e);if(e>i.start()){let i=t.coordsAtPos(e-1);let n=(i.top+i.bottom)/2;if(n>r.top&&n<r.bottom&&Math.abs(i.left-r.left)>1)return i.left<r.left?"ltr":"rtl"}if(e<i.end()){let i=t.coordsAtPos(e+1);let n=(i.top+i.bottom)/2;if(n>r.top&&n<r.bottom&&Math.abs(i.left-r.left)>1)return i.left>r.left?"ltr":"rtl"}}let r=getComputedStyle(t.dom).direction;return r=="rtl"?"rtl":"ltr"}function Sl(t,e,i){let r=t.state.selection;if(r instanceof Ur&&!r.empty||i.indexOf("s")>-1)return false;if(Pn&&i.indexOf("m")>-1)return false;let{$from:n,$to:s}=r;if(!n.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let i=wl(t.state,e);if(i&&i instanceof Hr)return gl(t,i)}if(!n.parent.inlineContent){let i=e<0?n:s;let l=r instanceof Kr?Ir.near(i,e):Ir.findFrom(i,e);return l?gl(t,l):false}return false}function Ol(t,e){if(!(t.state.selection instanceof Ur))return true;let{$head:i,$anchor:r,empty:n}=t.state.selection;if(!i.sameParent(r))return true;if(!n)return false;if(t.endOfTextblock(e>0?"forward":"backward"))return true;let s=!i.textOffset&&(e<0?i.nodeBefore:i.nodeAfter);if(s&&!s.isText){let r=t.state.tr;if(e<0)r.delete(i.pos-s.nodeSize,i.pos);else r.delete(i.pos,i.pos+s.nodeSize);t.dispatch(r);return true}return false}function $l(t,e,i){t.domObserver.stop();e.contentEditable=i;t.domObserver.start()}function _l(t){if(!Tn||t.state.selection.$head.parentOffset>0)return false;let{focusNode:e,focusOffset:i}=t.domSelectionRange();if(e&&e.nodeType==1&&i==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let i=e.firstChild;$l(t,i,"true");setTimeout((()=>$l(t,i,"false")),20)}return false}function Bl(t){let e="";if(t.ctrlKey)e+="c";if(t.metaKey)e+="m";if(t.altKey)e+="a";if(t.shiftKey)e+="s";return e}function jl(t,e){let i=e.keyCode,r=Bl(e);if(i==8||Pn&&i==72&&r=="c"){return Ol(t,-1)||vl(t,-1)}else if(i==46&&!e.shiftKey||Pn&&i==68&&r=="c"){return Ol(t,1)||vl(t,1)}else if(i==13||i==27){return true}else if(i==37||Pn&&i==66&&r=="c"){let e=i==37?Cl(t,t.state.selection.from)=="ltr"?-1:1:-1;return bl(t,e,r)||vl(t,e)}else if(i==39||Pn&&i==70&&r=="c"){let e=i==39?Cl(t,t.state.selection.from)=="ltr"?1:-1:1;return bl(t,e,r)||vl(t,e)}else if(i==38||Pn&&i==80&&r=="c"){return Sl(t,-1,r)||vl(t,-1)}else if(i==40||Pn&&i==78&&r=="c"){return _l(t)||Sl(t,1,r)||vl(t,1)}else if(r==(Pn?"m":"c")&&(i==66||i==73||i==89||i==90)){return true}return false}function ql(t,e){t.someProp("transformCopied",(i=>{e=i(e,t)}));let i=[],{content:r,openStart:n,openEnd:s}=e;while(n>1&&s>1&&r.childCount==1&&r.firstChild.childCount==1){n--;s--;let t=r.firstChild;i.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null);r=t.content}let l=t.someProp("clipboardSerializer")||Mi.fromSchema(t.state.schema);let u=Hl(),o=u.createElement("div");o.appendChild(l.serializeFragment(r,{document:u}));let f=o.firstChild,h,a=0;while(f&&f.nodeType==1&&(h=Ul[f.nodeName.toLowerCase()])){for(let t=h.length-1;t>=0;t--){let e=u.createElement(h[t]);while(o.firstChild)e.appendChild(o.firstChild);o.appendChild(e);a++}f=o.firstChild}if(f&&f.nodeType==1)f.setAttribute("data-pm-slice",`${n} ${s}${a?` -${a}`:""} ${JSON.stringify(i)}`);let c=t.someProp("clipboardTextSerializer",(i=>i(e,t)))||e.content.textBetween(0,e.content.size,"\n\n");return{dom:o,text:c}}function Rl(t,e,i,r,n){let s=n.parent.type.spec.code;let l,u;if(!i&&!e)return null;let o=e&&(r||s||!i);if(o){t.someProp("transformPastedText",(i=>{e=i(e,s||r,t)}));if(s)return e?new De(pe.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):De.empty;let i=t.someProp("clipboardTextParser",(i=>i(e,n,r,t)));if(i){u=i}else{let i=n.marks();let{schema:r}=t.state,s=Mi.fromSchema(r);l=document.createElement("div");e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=l.appendChild(document.createElement("p"));if(t)e.appendChild(s.serializeNode(r.text(t,i)))}))}}else{t.someProp("transformPastedHTML",(e=>{i=e(i,t)}));l=Zl(i);if(Un)Kl(l)}let f=l&&l.querySelector("[data-pm-slice]");let h=f&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(f.getAttribute("data-pm-slice")||"");if(h&&h[3])for(let t=+h[3];t>0;t--){let t=l.firstChild;while(t&&t.nodeType!=1)t=t.nextSibling;if(!t)break;l=t}if(!u){let e=t.someProp("clipboardParser")||t.someProp("domParser")||hi.fromSchema(t.state.schema);u=e.parseSlice(l,{preserveWhitespace:!!(o||h),context:n,ruleFromNode(t){if(t.nodeName=="BR"&&!t.nextSibling&&t.parentNode&&!Nl.test(t.parentNode.nodeName))return{ignore:true};return null}})}if(h){u=Vl(Ll(u,+h[1],+h[2]),h[4])}else{u=De.maxOpen(zl(u.content,n),true);if(u.openStart||u.openEnd){let t=0,e=0;for(let e=u.content.firstChild;t<u.openStart&&!e.type.spec.isolating;t++,e=e.firstChild){}for(let t=u.content.lastChild;e<u.openEnd&&!t.type.spec.isolating;e++,t=t.lastChild){}u=Ll(u,t,e)}}t.someProp("transformPasted",(e=>{u=e(u,t)}));return u}const Nl=/^(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 zl(t,e){if(t.childCount<2)return t;for(let i=e.depth;i>=0;i--){let r=e.node(i);let n=r.contentMatchAt(e.index(i));let s,l=[];t.forEach((t=>{if(!l)return;let e=n.findWrapping(t.type),i;if(!e)return l=null;if(i=l.length&&s.length&&Il(e,s,t,l[l.length-1],0)){l[l.length-1]=i}else{if(l.length)l[l.length-1]=Pl(l[l.length-1],s.length);let i=Tl(t,e);l.push(i);n=n.matchType(i.type);s=e}}));if(l)return pe.from(l)}return t}function Tl(t,e,i=0){for(let r=e.length-1;r>=i;r--)t=e[r].create(null,pe.from(t));return t}function Il(t,e,i,r,n){if(n<t.length&&n<e.length&&t[n]==e[n]){let s=Il(t,e,i,r.lastChild,n+1);if(s)return r.copy(r.content.replaceChild(r.childCount-1,s));let l=r.contentMatchAt(r.childCount);if(l.matchType(n==t.length-1?i.type:t[n+1]))return r.copy(r.content.append(pe.from(Tl(i,t,n+1))))}}function Pl(t,e){if(e==0)return t;let i=t.content.replaceChild(t.childCount-1,Pl(t.lastChild,e-1));let r=t.contentMatchAt(t.childCount).fillBefore(pe.empty,true);return t.copy(i.append(r))}function Jl(t,e,i,r,n,s){let l=e<0?t.firstChild:t.lastChild,u=l.content;if(t.childCount>1)s=0;if(n<r-1)u=Jl(u,e,i,r,n+1,s);if(n>=i)u=e<0?l.contentMatchAt(0).fillBefore(u,s<=n).append(u):u.append(l.contentMatchAt(l.childCount).fillBefore(pe.empty,true));return t.replaceChild(e<0?0:t.childCount-1,l.copy(u))}function Ll(t,e,i){if(e<t.openStart)t=new De(Jl(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd);if(i<t.openEnd)t=new De(Jl(t.content,1,i,t.openEnd,0,0),t.openStart,i);return t}const Ul={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let Wl=null;function Hl(){return Wl||(Wl=document.implementation.createHTMLDocument("title"))}function Zl(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);if(e)t=t.slice(e[0].length);let i=Hl().createElement("div");let r=/<([a-z][^>\s]+)/i.exec(t),n;if(n=r&&Ul[r[1].toLowerCase()])t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"</"+t+">")).reverse().join("");i.innerHTML=t;if(n)for(let t=0;t<n.length;t++)i=i.querySelector(n[t])||i;return i}function Kl(t){let e=t.querySelectorAll(Nn?"span:not([class]):not([style])":"span.Apple-converted-space");for(let i=0;i<e.length;i++){let r=e[i];if(r.childNodes.length==1&&r.textContent==" "&&r.parentNode)r.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),r)}}function Vl(t,e){if(!t.size)return t;let i=t.content.firstChild.type.schema,r;try{r=JSON.parse(e)}catch(e){return t}let{content:n,openStart:s,openEnd:l}=t;for(let t=r.length-2;t>=0;t-=2){let e=i.nodes[r[t]];if(!e||e.hasRequiredAttrs())break;n=pe.from(e.create(r[t+1],n));s++;l++}return new De(n,s,l)}const Gl={};const Xl={};const Yl={touchstart:true,touchmove:true};class Ql{constructor(){this.shiftKey=false;this.mouseDown=null;this.lastKeyCode=null;this.lastKeyCodeTime=0;this.lastClick={time:0,x:0,y:0,type:""};this.lastSelectionOrigin=null;this.lastSelectionTime=0;this.lastIOSEnter=0;this.lastIOSEnterFallbackTimeout=-1;this.lastFocus=0;this.lastTouch=0;this.lastAndroidDelete=0;this.composing=false;this.composingTimeout=-1;this.compositionNodes=[];this.compositionEndedAt=-2e8;this.compositionID=1;this.compositionPendingChanges=0;this.domChangeCount=0;this.eventHandlers=Object.create(null);this.hideSelectionGuard=null}}function tu(t){for(let e in Gl){let i=Gl[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=e=>{if(su(t,e)&&!nu(t,e)&&(t.editable||!(e.type in Xl)))i(t,e)},Yl[e]?{passive:true}:undefined)}if(Tn)t.dom.addEventListener("input",(()=>null));ru(t)}function eu(t,e){t.input.lastSelectionOrigin=e;t.input.lastSelectionTime=Date.now()}function iu(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout);clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function ru(t){t.someProp("handleDOMEvents",(e=>{for(let i in e)if(!t.input.eventHandlers[i])t.dom.addEventListener(i,t.input.eventHandlers[i]=e=>nu(t,e))}))}function nu(t,e){return t.someProp("handleDOMEvents",(i=>{let r=i[e.type];return r?r(t,e)||e.defaultPrevented:false}))}function su(t,e){if(!e.bubbles)return true;if(e.defaultPrevented)return false;for(let i=e.target;i!=t.dom;i=i.parentNode)if(!i||i.nodeType==11||i.pmViewDesc&&i.pmViewDesc.stopEvent(e))return false;return true}function lu(t,e){if(!nu(t,e)&&Gl[e.type]&&(t.editable||!(e.type in Xl)))Gl[e.type](t,e)}Xl.keydown=(t,e)=>{let i=e;t.input.shiftKey=i.keyCode==16||i.shiftKey;if(Du(t,i))return;t.input.lastKeyCode=i.keyCode;t.input.lastKeyCodeTime=Date.now();if(Ln&&Nn&&i.keyCode==13)return;if(i.keyCode!=229)t.domObserver.forceFlush();if(In&&i.keyCode==13&&!i.ctrlKey&&!i.altKey&&!i.metaKey){let e=Date.now();t.input.lastIOSEnter=e;t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{if(t.input.lastIOSEnter==e){t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter"))));t.input.lastIOSEnter=0}}),200)}else if(t.someProp("handleKeyDown",(e=>e(t,i)))||jl(t,i)){i.preventDefault()}else{eu(t,"key")}};Xl.keyup=(t,e)=>{if(e.keyCode==16)t.input.shiftKey=false};Xl.keypress=(t,e)=>{let i=e;if(Du(t,i)||!i.charCode||i.ctrlKey&&!i.altKey||Pn&&i.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,i)))){i.preventDefault();return}let r=t.state.selection;if(!(r instanceof Ur)||!r.$from.sameParent(r.$to)){let e=String.fromCharCode(i.charCode);if(!/[\r\n]/.test(e)&&!t.someProp("handleTextInput",(i=>i(t,r.$from.pos,r.$to.pos,e))))t.dispatch(t.state.tr.insertText(e).scrollIntoView());i.preventDefault()}};function uu(t){return{left:t.clientX,top:t.clientY}}function ou(t,e){let i=e.x-t.clientX,r=e.y-t.clientY;return i*i+r*r<100}function fu(t,e,i,r,n){if(r==-1)return false;let s=t.state.doc.resolve(r);for(let r=s.depth+1;r>0;r--){if(t.someProp(e,(e=>r>s.depth?e(t,i,s.nodeAfter,s.before(r),n,true):e(t,i,s.node(r),s.before(r),n,false))))return true}return false}function hu(t,e,i){if(!t.focused)t.focus();let r=t.state.tr.setSelection(e);if(i=="pointer")r.setMeta("pointer",true);t.dispatch(r)}function au(t,e){if(e==-1)return false;let i=t.state.doc.resolve(e),r=i.nodeAfter;if(r&&r.isAtom&&Hr.isSelectable(r)){hu(t,new Hr(i),"pointer");return true}return false}function cu(t,e){if(e==-1)return false;let i=t.state.selection,r,n;if(i instanceof Hr)r=i.node;let s=t.state.doc.resolve(e);for(let t=s.depth+1;t>0;t--){let e=t>s.depth?s.nodeAfter:s.node(t);if(Hr.isSelectable(e)){if(r&&i.$from.depth>0&&t>=i.$from.depth&&s.before(i.$from.depth+1)==i.$from.pos)n=s.before(i.$from.depth);else n=s.before(t);break}}if(n!=null){hu(t,Hr.create(t.state.doc,n),"pointer");return true}else{return false}}function du(t,e,i,r,n){return fu(t,"handleClickOn",e,i,r)||t.someProp("handleClick",(i=>i(t,e,r)))||(n?cu(t,i):au(t,i))}function pu(t,e,i,r){return fu(t,"handleDoubleClickOn",e,i,r)||t.someProp("handleDoubleClick",(i=>i(t,e,r)))}function mu(t,e,i,r){return fu(t,"handleTripleClickOn",e,i,r)||t.someProp("handleTripleClick",(i=>i(t,e,r)))||wu(t,i,r)}function wu(t,e,i){if(i.button!=0)return false;let r=t.state.doc;if(e==-1){if(r.inlineContent){hu(t,Ur.create(r,0,r.content.size),"pointer");return true}return false}let n=r.resolve(e);for(let e=n.depth+1;e>0;e--){let i=e>n.depth?n.nodeAfter:n.node(e);let s=n.before(e);if(i.inlineContent)hu(t,Ur.create(r,s+1,s+1+i.content.size),"pointer");else if(Hr.isSelectable(i))hu(t,Hr.create(r,s),"pointer");else continue;return true}}function gu(t){return xu(t)}const bu=Pn?"metaKey":"ctrlKey";Gl.mousedown=(t,e)=>{let i=e;t.input.shiftKey=i.shiftKey;let r=gu(t);let n=Date.now(),s="singleClick";if(n-t.input.lastClick.time<500&&ou(i,t.input.lastClick)&&!i[bu]){if(t.input.lastClick.type=="singleClick")s="doubleClick";else if(t.input.lastClick.type=="doubleClick")s="tripleClick"}t.input.lastClick={time:n,x:i.clientX,y:i.clientY,type:s};let l=t.posAtCoords(uu(i));if(!l)return;if(s=="singleClick"){if(t.input.mouseDown)t.input.mouseDown.done();t.input.mouseDown=new ku(t,l,i,!!r)}else if((s=="doubleClick"?pu:mu)(t,l.pos,l.inside,i)){i.preventDefault()}else{eu(t,"pointer")}};class ku{constructor(t,e,i,r){this.view=t;this.pos=e;this.event=i;this.flushed=r;this.delayedSelectionSync=false;this.mightDrag=null;this.startDoc=t.state.doc;this.selectNode=!!i[bu];this.allowDefault=i.shiftKey;let n,s;if(e.inside>-1){n=t.state.doc.nodeAt(e.inside);s=e.inside}else{let i=t.state.doc.resolve(e.pos);n=i.parent;s=i.depth?i.before():0}const l=r?null:i.target;const u=l?t.docView.nearestDesc(l,true):null;this.target=u?u.dom:null;let{selection:o}=t.state;if(i.button==0&&n.type.spec.draggable&&n.type.spec.selectable!==false||o instanceof Hr&&o.from<=s&&o.to>s)this.mightDrag={node:n,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&qn&&!this.target.hasAttribute("contentEditable"))};if(this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.draggable=true;if(this.mightDrag.setUneditable)setTimeout((()=>{if(this.view.input.mouseDown==this)this.target.setAttribute("contentEditable","false")}),20);this.view.domObserver.start()}t.root.addEventListener("mouseup",this.up=this.up.bind(this));t.root.addEventListener("mousemove",this.move=this.move.bind(this));eu(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up);this.view.root.removeEventListener("mousemove",this.move);if(this.mightDrag&&this.target){this.view.domObserver.stop();if(this.mightDrag.addAttr)this.target.removeAttribute("draggable");if(this.mightDrag.setUneditable)this.target.removeAttribute("contentEditable");this.view.domObserver.start()}if(this.delayedSelectionSync)setTimeout((()=>rl(this.view)));this.view.input.mouseDown=null}up(t){this.done();if(!this.view.dom.contains(t.target))return;let e=this.pos;if(this.view.state.doc!=this.startDoc)e=this.view.posAtCoords(uu(t));this.updateAllowDefault(t);if(this.allowDefault||!e){eu(this.view,"pointer")}else if(du(this.view,e.pos,e.inside,t,this.selectNode)){t.preventDefault()}else if(t.button==0&&(this.flushed||Tn&&this.mightDrag&&!this.mightDrag.node.isAtom||Nn&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)){hu(this.view,Ir.near(this.view.state.doc.resolve(e.pos)),"pointer");t.preventDefault()}else{eu(this.view,"pointer")}}move(t){this.updateAllowDefault(t);eu(this.view,"pointer");if(t.buttons==0)this.done()}updateAllowDefault(t){if(!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4))this.allowDefault=true}}Gl.touchstart=t=>{t.input.lastTouch=Date.now();gu(t);eu(t,"pointer")};Gl.touchmove=t=>{t.input.lastTouch=Date.now();eu(t,"pointer")};Gl.contextmenu=t=>gu(t);function Du(t,e){if(t.composing)return true;if(Tn&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500){t.input.compositionEndedAt=-2e8;return true}return false}const vu=Ln?5e3:-1;Xl.compositionstart=Xl.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,i=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!i.textOffset&&i.parentOffset&&i.nodeBefore.marks.some((t=>t.type.spec.inclusive===false)))){t.markCursor=t.state.storedMarks||i.marks();xu(t,true);t.markCursor=null}else{xu(t);if(qn&&e.selection.empty&&i.parentOffset&&!i.textOffset&&i.nodeBefore.marks.length){let e=t.domSelectionRange();for(let i=e.focusNode,r=e.focusOffset;i&&i.nodeType==1&&r!=0;){let e=r<0?i.lastChild:i.childNodes[r-1];if(!e)break;if(e.nodeType==3){t.domSelection().collapse(e,e.nodeValue.length);break}else{i=e;r=-1}}}}t.input.composing=true}yu(t,vu)};Xl.compositionend=(t,e)=>{if(t.composing){t.input.composing=false;t.input.compositionEndedAt=e.timeStamp;t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0;if(t.input.compositionPendingChanges)Promise.resolve().then((()=>t.domObserver.flush()));t.input.compositionID++;yu(t,20)}};function yu(t,e){clearTimeout(t.input.composingTimeout);if(e>-1)t.input.composingTimeout=setTimeout((()=>xu(t)),e)}function Fu(t){if(t.composing){t.input.composing=false;t.input.compositionEndedAt=Eu()}while(t.input.compositionNodes.length>0)t.input.compositionNodes.pop().markParentsDirty()}function Eu(){let t=document.createEvent("Event");t.initEvent("event",true,true);return t.timeStamp}function xu(t,e=false){if(Ln&&t.domObserver.flushingSoon>=0)return;t.domObserver.forceFlush();Fu(t);if(e||t.docView&&t.docView.dirty){let e=el(t);if(e&&!e.eq(t.state.selection))t.dispatch(t.state.tr.setSelection(e));else t.updateState(t.state);return true}return false}function Mu(t,e){if(!t.dom.parentNode)return;let i=t.dom.parentNode.appendChild(document.createElement("div"));i.appendChild(e);i.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),n=document.createRange();n.selectNodeContents(e);t.dom.blur();r.removeAllRanges();r.addRange(n);setTimeout((()=>{if(i.parentNode)i.parentNode.removeChild(i);t.focus()}),50)}const Au=Bn&&jn<15||In&&Wn<604;Gl.copy=Xl.cut=(t,e)=>{let i=e;let r=t.state.selection,n=i.type=="cut";if(r.empty)return;let s=Au?null:i.clipboardData;let l=r.content(),{dom:u,text:o}=ql(t,l);if(s){i.preventDefault();s.clearData();s.setData("text/html",u.innerHTML);s.setData("text/plain",o)}else{Mu(t,u)}if(n)t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function Cu(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function Su(t,e){if(!t.dom.parentNode)return;let i=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code;let r=t.dom.parentNode.appendChild(document.createElement(i?"textarea":"div"));if(!i)r.contentEditable="true";r.style.cssText="position: fixed; left: -10000px; top: 10px";r.focus();let n=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout((()=>{t.focus();if(r.parentNode)r.parentNode.removeChild(r);if(i)Ou(t,r.value,null,n,e);else Ou(t,r.textContent,r.innerHTML,n,e)}),50)}function Ou(t,e,i,r,n){let s=Rl(t,e,i,r,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,n,s||De.empty))))return true;if(!s)return false;let l=Cu(s);let u=l?t.state.tr.replaceSelectionWith(l,r):t.state.tr.replaceSelection(s);t.dispatch(u.scrollIntoView().setMeta("paste",true).setMeta("uiEvent","paste"));return true}function $u(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let i=t.getData("text/uri-list");return i?i.replace(/\r?\n/g," "):""}Xl.paste=(t,e)=>{let i=e;if(t.composing&&!Ln)return;let r=Au?null:i.clipboardData;let n=t.input.shiftKey&&t.input.lastKeyCode!=45;if(r&&Ou(t,$u(r),r.getData("text/html"),n,i))i.preventDefault();else Su(t,i)};class _u{constructor(t,e,i){this.slice=t;this.move=e;this.node=i}}const Bu=Pn?"altKey":"ctrlKey";Gl.dragstart=(t,e)=>{let i=e;let r=t.input.mouseDown;if(r)r.done();if(!i.dataTransfer)return;let n=t.state.selection;let s=n.empty?null:t.posAtCoords(uu(i));let l;if(s&&s.pos>=n.from&&s.pos<=(n instanceof Hr?n.to-1:n.to));else if(r&&r.mightDrag){l=Hr.create(t.state.doc,r.mightDrag.pos)}else if(i.target&&i.target.nodeType==1){let e=t.docView.nearestDesc(i.target,true);if(e&&e.node.type.spec.draggable&&e!=t.docView)l=Hr.create(t.state.doc,e.posBefore)}let u=(l||t.state.selection).content(),{dom:o,text:f}=ql(t,u);i.dataTransfer.clearData();i.dataTransfer.setData(Au?"Text":"text/html",o.innerHTML);i.dataTransfer.effectAllowed="copyMove";if(!Au)i.dataTransfer.setData("text/plain",f);t.dragging=new _u(u,!i[Bu],l)};Gl.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{if(t.dragging==e)t.dragging=null}),50)};Xl.dragover=Xl.dragenter=(t,e)=>e.preventDefault();Xl.drop=(t,e)=>{let i=e;let r=t.dragging;t.dragging=null;if(!i.dataTransfer)return;let n=t.posAtCoords(uu(i));if(!n)return;let s=t.state.doc.resolve(n.pos);let l=r&&r.slice;if(l){t.someProp("transformPasted",(e=>{l=e(l,t)}))}else{l=Rl(t,$u(i.dataTransfer),Au?null:i.dataTransfer.getData("text/html"),false,s)}let u=!!(r&&!i[Bu]);if(t.someProp("handleDrop",(e=>e(t,i,l||De.empty,u)))){i.preventDefault();return}if(!l)return;i.preventDefault();let o=l?kr(t.state.doc,s.pos,l):s.pos;if(o==null)o=s.pos;let f=t.state.tr;if(u){let{node:t}=r;if(t)t.replace(f);else f.deleteSelection()}let h=f.mapping.map(o);let a=l.openStart==0&&l.openEnd==0&&l.content.childCount==1;let c=f.doc;if(a)f.replaceRangeWith(h,h,l.content.firstChild);else f.replaceRange(h,h,l);if(f.doc.eq(c))return;let d=f.doc.resolve(h);if(a&&Hr.isSelectable(l.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(l.content.firstChild)){f.setSelection(new Hr(d))}else{let e=f.mapping.map(o);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,i,r,n)=>e=n));f.setSelection(cl(t,d,f.doc.resolve(e)))}t.focus();t.dispatch(f.setMeta("uiEvent","drop"))};Gl.focus=t=>{t.input.lastFocus=Date.now();if(!t.focused){t.domObserver.stop();t.dom.classList.add("ProseMirror-focused");t.domObserver.start();t.focused=true;setTimeout((()=>{if(t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange()))rl(t)}),20)}};Gl.blur=(t,e)=>{let i=e;if(t.focused){t.domObserver.stop();t.dom.classList.remove("ProseMirror-focused");t.domObserver.start();if(i.relatedTarget&&t.dom.contains(i.relatedTarget))t.domObserver.currentSelection.clear();t.focused=false}};Gl.beforeinput=(t,e)=>{let i=e;if(Nn&&Ln&&i.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;t.dom.blur();t.focus();if(t.someProp("handleKeyDown",(e=>e(t,En(8,"Backspace")))))return;let{$cursor:i}=t.state.selection;if(i&&i.pos>0)t.dispatch(t.state.tr.delete(i.pos-1,i.pos).scrollIntoView())}),50)}};for(let t in Xl)Gl[t]=Xl[t];function ju(t,e){if(t==e)return true;for(let i in t)if(t[i]!==e[i])return false;for(let i in e)if(!(i in t))return false;return true}class qu{constructor(t,e){this.toDOM=t;this.spec=e||Iu;this.side=this.spec.side||0}map(t,e,i,r){let{pos:n,deleted:s}=t.mapResult(e.from+r,this.side<0?-1:1);return s?null:new zu(n-i,n-i,this)}valid(){return true}eq(t){return this==t||t instanceof qu&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&ju(this.spec,t.spec))}destroy(t){if(this.spec.destroy)this.spec.destroy(t)}}class Ru{constructor(t,e){this.attrs=t;this.spec=e||Iu}map(t,e,i,r){let n=t.map(e.from+r,this.spec.inclusiveStart?-1:1)-i;let s=t.map(e.to+r,this.spec.inclusiveEnd?1:-1)-i;return n>=s?null:new zu(n,s,this)}valid(t,e){return e.from<e.to}eq(t){return this==t||t instanceof Ru&&ju(this.attrs,t.attrs)&&ju(this.spec,t.spec)}static is(t){return t.type instanceof Ru}destroy(){}}class Nu{constructor(t,e){this.attrs=t;this.spec=e||Iu}map(t,e,i,r){let n=t.mapResult(e.from+r,1);if(n.deleted)return null;let s=t.mapResult(e.to+r,-1);if(s.deleted||s.pos<=n.pos)return null;return new zu(n.pos-i,s.pos-i,this)}valid(t,e){let{index:i,offset:r}=t.content.findIndex(e.from),n;return r==e.from&&!(n=t.child(i)).isText&&r+n.nodeSize==e.to}eq(t){return this==t||t instanceof Nu&&ju(this.attrs,t.attrs)&&ju(this.spec,t.spec)}destroy(){}}class zu{constructor(t,e,i){this.from=t;this.to=e;this.type=i}copy(t,e){return new zu(t,e,this.type)}eq(t,e=0){return this.type.eq(t.type)&&this.from+e==t.from&&this.to+e==t.to}map(t,e,i){return this.type.map(t,this,e,i)}static widget(t,e,i){return new zu(t,t,new qu(e,i))}static inline(t,e,i,r){return new zu(t,e,new Ru(i,r))}static node(t,e,i,r){return new zu(t,e,new Nu(i,r))}get spec(){return this.type.spec}get inline(){return this.type instanceof Ru}get widget(){return this.type instanceof qu}}const Tu=[],Iu={};class Pu{constructor(t,e){this.local=t.length?t:Tu;this.children=e.length?e:Tu}static create(t,e){return e.length?Vu(e,t,0,Iu):Ju}find(t,e,i){let r=[];this.findInner(t==null?0:t,e==null?1e9:e,r,0,i);return r}findInner(t,e,i,r,n){for(let s=0;s<this.local.length;s++){let l=this.local[s];if(l.from<=e&&l.to>=t&&(!n||n(l.spec)))i.push(l.copy(l.from+r,l.to+r))}for(let s=0;s<this.children.length;s+=3){if(this.children[s]<e&&this.children[s+1]>t){let l=this.children[s]+1;this.children[s+2].findInner(t-l,e-l,i,r+l,n)}}}map(t,e,i){if(this==Ju||t.maps.length==0)return this;return this.mapInner(t,e,0,0,i||Iu)}mapInner(t,e,i,r,n){let s;for(let l=0;l<this.local.length;l++){let u=this.local[l].map(t,i,r);if(u&&u.type.valid(e,u))(s||(s=[])).push(u);else if(n.onRemove)n.onRemove(this.local[l].spec)}if(this.children.length)return Uu(this.children,s||[],t,e,i,r,n);else return s?new Pu(s.sort(Gu),Tu):Ju}add(t,e){if(!e.length)return this;if(this==Ju)return Pu.create(t,e);return this.addInner(t,e,0)}addInner(t,e,i){let r,n=0;t.forEach(((t,s)=>{let l=s+i,u;if(!(u=Zu(e,t,l)))return;if(!r)r=this.children.slice();while(n<r.length&&r[n]<s)n+=3;if(r[n]==s)r[n+2]=r[n+2].addInner(t,u,l+1);else r.splice(n,0,s,s+t.nodeSize,Vu(u,t,l+1,Iu));n+=3}));let s=Wu(n?Ku(e):e,-i);for(let e=0;e<s.length;e++)if(!s[e].type.valid(t,s[e]))s.splice(e--,1);return new Pu(s.length?this.local.concat(s).sort(Gu):this.local,r||this.children)}remove(t){if(t.length==0||this==Ju)return this;return this.removeInner(t,0)}removeInner(t,e){let i=this.children,r=this.local;for(let r=0;r<i.length;r+=3){let n;let s=i[r]+e,l=i[r+1]+e;for(let e=0,i;e<t.length;e++)if(i=t[e]){if(i.from>s&&i.to<l){t[e]=null;(n||(n=[])).push(i)}}if(!n)continue;if(i==this.children)i=this.children.slice();let u=i[r+2].removeInner(n,s+1);if(u!=Ju){i[r+2]=u}else{i.splice(r,3);r-=3}}if(r.length)for(let i=0,n;i<t.length;i++)if(n=t[i]){for(let t=0;t<r.length;t++)if(r[t].eq(n,e)){if(r==this.local)r=this.local.slice();r.splice(t--,1)}}if(i==this.children&&r==this.local)return this;return r.length||i.length?new Pu(r,i):Ju}forChild(t,e){if(this==Ju)return this;if(e.isLeaf)return Pu.empty;let i,r;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){if(this.children[e]==t)i=this.children[e+2];break}let n=t+1,s=n+e.content.size;for(let t=0;t<this.local.length;t++){let e=this.local[t];if(e.from<s&&e.to>n&&e.type instanceof Ru){let t=Math.max(n,e.from)-n,i=Math.min(s,e.to)-n;if(t<i)(r||(r=[])).push(e.copy(t,i))}}if(r){let t=new Pu(r.sort(Gu),Tu);return i?new Lu([t,i]):t}return i||Ju}eq(t){if(this==t)return true;if(!(t instanceof Pu)||this.local.length!=t.local.length||this.children.length!=t.children.length)return false;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return false;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return false;return true}locals(t){return Xu(this.localsInner(t))}localsInner(t){if(this==Ju)return Tu;if(t.inlineContent||!this.local.some(Ru.is))return this.local;let e=[];for(let t=0;t<this.local.length;t++){if(!(this.local[t].type instanceof Ru))e.push(this.local[t])}return e}}Pu.empty=new Pu([],[]);Pu.removeOverlap=Xu;const Ju=Pu.empty;class Lu{constructor(t){this.members=t}map(t,e){const i=this.members.map((i=>i.map(t,e,Iu)));return Lu.from(i)}forChild(t,e){if(e.isLeaf)return Pu.empty;let i=[];for(let r=0;r<this.members.length;r++){let n=this.members[r].forChild(t,e);if(n==Ju)continue;if(n instanceof Lu)i=i.concat(n.members);else i.push(n)}return Lu.from(i)}eq(t){if(!(t instanceof Lu)||t.members.length!=this.members.length)return false;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return false;return true}locals(t){let e,i=true;for(let r=0;r<this.members.length;r++){let n=this.members[r].localsInner(t);if(!n.length)continue;if(!e){e=n}else{if(i){e=e.slice();i=false}for(let t=0;t<n.length;t++)e.push(n[t])}}return e?Xu(i?e:e.sort(Gu)):Tu}static from(t){switch(t.length){case 0:return Ju;case 1:return t[0];default:return new Lu(t.every((t=>t instanceof Pu))?t:t.reduce(((t,e)=>t.concat(e instanceof Pu?e:e.members)),[]))}}}function Uu(t,e,i,r,n,s,l){let u=t.slice();for(let t=0,e=s;t<i.maps.length;t++){let r=0;i.maps[t].forEach(((t,i,n,s)=>{let l=s-n-(i-t);for(let n=0;n<u.length;n+=3){let s=u[n+1];if(s<0||t>s+e-r)continue;let o=u[n]+e-r;if(i>=o){u[n+1]=t<=o?-2:-1}else if(t>=e&&l){u[n]+=l;u[n+1]+=l}}r+=l}));e=i.maps[t].map(e,-1)}let o=false;for(let e=0;e<u.length;e+=3)if(u[e+1]<0){if(u[e+1]==-2){o=true;u[e+1]=-1;continue}let f=i.map(t[e]+s),h=f-n;if(h<0||h>=r.content.size){o=true;continue}let a=i.map(t[e+1]+s,-1),c=a-n;let{index:d,offset:p}=r.content.findIndex(h);let m=r.maybeChild(d);if(m&&p==h&&p+m.nodeSize==c){let r=u[e+2].mapInner(i,m,f+1,t[e]+s+1,l);if(r!=Ju){u[e]=h;u[e+1]=c;u[e+2]=r}else{u[e+1]=-2;o=true}}else{o=true}}if(o){let o=Hu(u,t,e,i,n,s,l);let f=Vu(o,r,0,l);e=f.local;for(let t=0;t<u.length;t+=3)if(u[t+1]<0){u.splice(t,3);t-=3}for(let t=0,e=0;t<f.children.length;t+=3){let i=f.children[t];while(e<u.length&&u[e]<i)e+=3;u.splice(e,0,f.children[t],f.children[t+1],f.children[t+2])}}return new Pu(e.sort(Gu),u)}function Wu(t,e){if(!e||!t.length)return t;let i=[];for(let r=0;r<t.length;r++){let n=t[r];i.push(new zu(n.from+e,n.to+e,n.type))}return i}function Hu(t,e,i,r,n,s,l){function u(t,e){for(let s=0;s<t.local.length;s++){let u=t.local[s].map(r,n,e);if(u)i.push(u);else if(l.onRemove)l.onRemove(t.local[s].spec)}for(let i=0;i<t.children.length;i+=3)u(t.children[i+2],t.children[i]+e+1)}for(let i=0;i<t.length;i+=3)if(t[i+1]==-1)u(t[i+2],e[i]+s+1);return i}function Zu(t,e,i){if(e.isLeaf)return null;let r=i+e.nodeSize,n=null;for(let e=0,s;e<t.length;e++){if((s=t[e])&&s.from>i&&s.to<r){(n||(n=[])).push(s);t[e]=null}}return n}function Ku(t){let e=[];for(let i=0;i<t.length;i++)if(t[i]!=null)e.push(t[i]);return e}function Vu(t,e,i,r){let n=[],s=false;e.forEach(((e,l)=>{let u=Zu(t,e,l+i);if(u){s=true;let t=Vu(u,e,i+l+1,r);if(t!=Ju)n.push(l,l+e.nodeSize,t)}}));let l=Wu(s?Ku(t):t,-i).sort(Gu);for(let t=0;t<l.length;t++)if(!l[t].type.valid(e,l[t])){if(r.onRemove)r.onRemove(l[t].spec);l.splice(t--,1)}return l.length||n.length?new Pu(l,n):Ju}function Gu(t,e){return t.from-e.from||t.to-e.to}function Xu(t){let e=t;for(let i=0;i<e.length-1;i++){let r=e[i];if(r.from!=r.to)for(let n=i+1;n<e.length;n++){let s=e[n];if(s.from==r.from){if(s.to!=r.to){if(e==t)e=t.slice();e[n]=s.copy(s.from,r.to);Yu(e,n+1,s.copy(r.to,s.to))}continue}else{if(s.from<r.to){if(e==t)e=t.slice();e[i]=r.copy(r.from,s.from);Yu(e,n,r.copy(s.from,r.to))}break}}}return e}function Yu(t,e,i){while(e<t.length&&Gu(i,t[e])>0)e++;t.splice(e,0,i)}function Qu(t){let e=[];t.someProp("decorations",(i=>{let r=i(t.state);if(r&&r!=Ju)e.push(r)}));if(t.cursorWrapper)e.push(Pu.create(t.state.doc,[t.cursorWrapper.deco]));return Lu.from(e)}const to={childList:true,characterData:true,characterDataOldValue:true,attributes:true,attributeOldValue:true,subtree:true};const eo=Bn&&jn<=11;class io{constructor(){this.anchorNode=null;this.anchorOffset=0;this.focusNode=null;this.focusOffset=0}set(t){this.anchorNode=t.anchorNode;this.anchorOffset=t.anchorOffset;this.focusNode=t.focusNode;this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class ro{constructor(t,e){this.view=t;this.handleDOMChange=e;this.queue=[];this.flushingSoon=-1;this.observer=null;this.currentSelection=new io;this.onCharData=null;this.suppressingSelectionUpdates=false;this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e<t.length;e++)this.queue.push(t[e]);if(Bn&&jn<=11&&t.some((t=>t.type=="childList"&&t.removedNodes.length||t.type=="characterData"&&t.oldValue.length>t.target.nodeValue.length)))this.flushSoon();else this.flush()}));if(eo){this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue});this.flushSoon()}}this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){if(this.flushingSoon<0)this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1;this.flush()}),20)}forceFlush(){if(this.flushingSoon>-1){window.clearTimeout(this.flushingSoon);this.flushingSoon=-1;this.flush()}}start(){if(this.observer){this.observer.takeRecords();this.observer.observe(this.view.dom,to)}if(this.onCharData)this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;e<t.length;e++)this.queue.push(t[e]);window.setTimeout((()=>this.flush()),20)}this.observer.disconnect()}if(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=true;setTimeout((()=>this.suppressingSelectionUpdates=false),50)}onSelectionChange(){if(!dl(this.view))return;if(this.suppressingSelectionUpdates)return rl(this.view);if(Bn&&jn<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&gn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return true;let e=new Set,i;for(let i=t.focusNode;i;i=pn(i))e.add(i);for(let r=t.anchorNode;r;r=pn(r))if(e.has(r)){i=r;break}let r=i&&this.view.docView.nearestDesc(i);if(r&&r.ignoreMutation({type:"selection",target:i.nodeType==3?i.parentNode:i})){this.setCurSelection();return true}}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();if(e.length)this.queue=[];let i=t.domSelectionRange();let r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(i)&&dl(t)&&!this.ignoreSelectionChange(i);let n=-1,s=-1,l=false,u=[];if(t.editable){for(let t=0;t<e.length;t++){let i=this.registerMutation(e[t],u);if(i){n=n<0?i.from:Math.min(i.from,n);s=s<0?i.to:Math.max(i.to,s);if(i.typeOver)l=true}}}if(qn&&u.length>1){let t=u.filter((t=>t.nodeName=="BR"));if(t.length==2){let e=t[0],i=t[1];if(e.parentNode&&e.parentNode.parentNode==i.parentNode)i.remove();else e.remove()}}let o=null;if(n<0&&r&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)<Date.now()-300&&Fn(i)&&(o=el(t))&&o.eq(Ir.near(t.state.doc.resolve(0),1))){t.input.lastFocus=0;rl(t);this.currentSelection.set(i);t.scrollToSelection()}else if(n>-1||r){if(n>-1){t.docView.markDirty(n,s);lo(t)}this.handleDOMChange(n,s,l,u);if(t.docView&&t.docView.dirty)t.updateState(t.state);else if(!this.currentSelection.eq(i))rl(t);this.currentSelection.set(i)}}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let i=this.view.docView.nearestDesc(t.target);if(t.type=="attributes"&&(i==this.view.docView||t.attributeName=="contenteditable"||t.attributeName=="style"&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!i||i.ignoreMutation(t))return null;if(t.type=="childList"){for(let i=0;i<t.addedNodes.length;i++)e.push(t.addedNodes[i]);if(i.contentDOM&&i.contentDOM!=i.dom&&!i.contentDOM.contains(t.target))return{from:i.posBefore,to:i.posAfter};let r=t.previousSibling,n=t.nextSibling;if(Bn&&jn<=11&&t.addedNodes.length){for(let e=0;e<t.addedNodes.length;e++){let{previousSibling:i,nextSibling:s}=t.addedNodes[e];if(!i||Array.prototype.indexOf.call(t.addedNodes,i)<0)r=i;if(!s||Array.prototype.indexOf.call(t.addedNodes,s)<0)n=s}}let s=r&&r.parentNode==t.target?dn(r)+1:0;let l=i.localPosFromDOM(t.target,s,-1);let u=n&&n.parentNode==t.target?dn(n):t.target.childNodes.length;let o=i.localPosFromDOM(t.target,u,1);return{from:l,to:o}}else if(t.type=="attributes"){return{from:i.posAtStart-i.border,to:i.posAtEnd+i.border}}else{return{from:i.posAtStart,to:i.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}}}}let no=new WeakMap;let so=false;function lo(t){if(no.has(t))return;no.set(t,null);if(["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1){t.requiresGeckoHackNode=qn;if(so)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.");so=true}}function uo(t){let e;function i(t){t.preventDefault();t.stopImmediatePropagation();e=t.getTargetRanges()[0]}t.dom.addEventListener("beforeinput",i,true);document.execCommand("indent");t.dom.removeEventListener("beforeinput",i,true);let r=e.startContainer,n=e.startOffset;let s=e.endContainer,l=e.endOffset;let u=t.domAtPos(t.state.selection.anchor);if(gn(u.node,u.offset,s,l))[r,n,s,l]=[s,l,r,n];return{anchorNode:r,anchorOffset:n,focusNode:s,focusOffset:l}}function oo(t,e,i){let{node:r,fromOffset:n,toOffset:s,from:l,to:u}=t.docView.parseRange(e,i);let o=t.domSelectionRange();let f;let h=o.anchorNode;if(h&&t.dom.contains(h.nodeType==1?h:h.parentNode)){f=[{node:h,offset:o.anchorOffset}];if(!Fn(o))f.push({node:o.focusNode,offset:o.focusOffset})}if(Nn&&t.input.lastKeyCode===8){for(let t=s;t>n;t--){let e=r.childNodes[t-1],i=e.pmViewDesc;if(e.nodeName=="BR"&&!i){s=t;break}if(!i||i.size)break}}let a=t.state.doc;let c=t.someProp("domParser")||hi.fromSchema(t.state.schema);let d=a.resolve(l);let p=null,m=c.parse(r,{topNode:d.parent,topMatch:d.parent.contentMatchAt(d.index()),topOpen:true,from:n,to:s,preserveWhitespace:d.parent.type.whitespace=="pre"?"full":true,findPositions:f,ruleFromNode:fo,context:d});if(f&&f[0].pos!=null){let t=f[0].pos,e=f[1]&&f[1].pos;if(e==null)e=t;p={anchor:t+l,head:e+l}}return{doc:m,sel:p,from:l,to:u}}function fo(t){let e=t.pmViewDesc;if(e){return e.parseRule()}else if(t.nodeName=="BR"&&t.parentNode){if(Tn&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let t=document.createElement("div");t.appendChild(document.createElement("li"));return{skip:t}}else if(t.parentNode.lastChild==t||Tn&&/^(tr|table)$/i.test(t.parentNode.nodeName)){return{ignore:true}}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder")){return{ignore:true}}return null}const ho=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function ao(t,e,i,r,n){let s=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);t.input.compositionPendingChanges=0;if(e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null;let i=el(t,e);if(i&&!t.state.selection.eq(i)){if(Nn&&Ln&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter")))))return;let r=t.state.tr.setSelection(i);if(e=="pointer")r.setMeta("pointer",true);else if(e=="key")r.scrollIntoView();if(s)r.setMeta("composition",s);t.dispatch(r)}return}let l=t.state.doc.resolve(e);let u=l.sharedDepth(i);e=l.before(u+1);i=t.state.doc.resolve(i).after(u+1);let o=t.state.selection;let f=oo(t,e,i);let h=t.state.doc,a=h.slice(f.from,f.to);let c,d;if(t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime){c=t.state.selection.to;d="end"}else{c=t.state.selection.from;d="start"}t.input.lastKeyCode=null;let p=go(a.content,f.doc.content,f.from,c,d);if((In&&t.input.lastIOSEnter>Date.now()-225||Ln)&&n.some((t=>t.nodeType==1&&!ho.test(t.nodeName)))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(!p){if(r&&o instanceof Ur&&!o.empty&&o.$head.sameParent(o.$anchor)&&!t.composing&&!(f.sel&&f.sel.anchor!=f.sel.head)){p={start:o.from,endA:o.to,endB:o.to}}else{if(f.sel){let e=co(t,t.state.doc,f.sel);if(e&&!e.eq(t.state.selection)){let i=t.state.tr.setSelection(e);if(s)i.setMeta("composition",s);t.dispatch(i)}}return}}if(Nn&&t.cursorWrapper&&f.sel&&f.sel.anchor==t.cursorWrapper.deco.from&&f.sel.head==f.sel.anchor){let t=p.endB-p.start;f.sel={anchor:f.sel.anchor+t,head:f.sel.anchor+t}}t.input.domChangeCount++;if(t.state.selection.from<t.state.selection.to&&p.start==p.endB&&t.state.selection instanceof Ur){if(p.start>t.state.selection.from&&p.start<=t.state.selection.from+2&&t.state.selection.from>=f.from){p.start=t.state.selection.from}else if(p.endA<t.state.selection.to&&p.endA>=t.state.selection.to-2&&t.state.selection.to<=f.to){p.endB+=t.state.selection.to-p.endA;p.endA=t.state.selection.to}}if(Bn&&jn<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>f.from&&f.doc.textBetween(p.start-f.from-1,p.start-f.from+1)==" "){p.start--;p.endA--;p.endB--}let m=f.doc.resolveNoCache(p.start-f.from);let w=f.doc.resolveNoCache(p.endB-f.from);let g=h.resolve(p.start);let b=m.sameParent(w)&&m.parent.inlineContent&&g.end()>=p.endA;let k;if((In&&t.input.lastIOSEnter>Date.now()-225&&(!b||n.some((t=>t.nodeName=="DIV"||t.nodeName=="P")))||!b&&m.pos<f.doc.content.size&&!m.sameParent(w)&&(k=Ir.findFrom(f.doc.resolve(m.pos+1),1,true))&&k.head==w.pos)&&t.someProp("handleKeyDown",(e=>e(t,En(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&mo(h,p.start,p.endA,m,w)&&t.someProp("handleKeyDown",(e=>e(t,En(8,"Backspace"))))){if(Ln&&Nn)t.domObserver.suppressSelectionUpdates();return}if(Nn&&Ln&&p.endB==p.start)t.input.lastAndroidDelete=Date.now();if(Ln&&!b&&m.start()!=w.start()&&w.parentOffset==0&&m.depth==w.depth&&f.sel&&f.sel.anchor==f.sel.head&&f.sel.head==p.endA){p.endB-=2;w=f.doc.resolveNoCache(p.endB-f.from);setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,En(13,"Enter"))}))}),20)}let D=p.start,v=p.endA;let y,F,E;if(b){if(m.pos==w.pos){if(Bn&&jn<=11&&m.parentOffset==0){t.domObserver.suppressSelectionUpdates();setTimeout((()=>rl(t)),20)}y=t.state.tr.delete(D,v);F=h.resolve(p.start).marksAcross(h.resolve(p.endA))}else if(p.endA==p.endB&&(E=po(m.parent.content.cut(m.parentOffset,w.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){y=t.state.tr;if(E.type=="add")y.addMark(D,v,E.mark);else y.removeMark(D,v,E.mark)}else if(m.parent.child(m.index()).isText&&m.index()==w.index()-(w.textOffset?0:1)){let e=m.parent.textBetween(m.parentOffset,w.parentOffset);if(t.someProp("handleTextInput",(i=>i(t,D,v,e))))return;y=t.state.tr.insertText(e,D,v)}}if(!y)y=t.state.tr.replace(D,v,f.doc.slice(p.start-f.from,p.endB-f.from));if(f.sel){let e=co(t,y.doc,f.sel);if(e&&!(Nn&&Ln&&t.composing&&e.empty&&(p.start!=p.endB||t.input.lastAndroidDelete<Date.now()-100)&&(e.head==D||e.head==y.mapping.map(v)-1)||Bn&&e.empty&&e.head==D))y.setSelection(e)}if(F)y.ensureMarks(F);if(s)y.setMeta("composition",s);t.dispatch(y.scrollIntoView())}function co(t,e,i){if(Math.max(i.anchor,i.head)>e.content.size)return null;return cl(t,e.resolve(i.anchor),e.resolve(i.head))}function po(t,e){let i=t.firstChild.marks,r=e.firstChild.marks;let n=i,s=r,l,u,o;for(let t=0;t<r.length;t++)n=r[t].removeFromSet(n);for(let t=0;t<i.length;t++)s=i[t].removeFromSet(s);if(n.length==1&&s.length==0){u=n[0];l="add";o=t=>t.mark(u.addToSet(t.marks))}else if(n.length==0&&s.length==1){u=s[0];l="remove";o=t=>t.mark(u.removeFromSet(t.marks))}else{return null}let f=[];for(let t=0;t<e.childCount;t++)f.push(o(e.child(t)));if(pe.from(f).eq(t))return{mark:u,type:l}}function mo(t,e,i,r,n){if(!r.parent.isTextblock||i-e<=n.pos-r.pos||wo(r,true,false)<n.pos)return false;let s=t.resolve(e);if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return false;let l=t.resolve(wo(s,true,true));if(!l.parent.isTextblock||l.pos>i||wo(l,true,false)<i)return false;return r.parent.content.cut(r.parentOffset).eq(l.parent.content)}function wo(t,e,i){let r=t.depth,n=e?t.end():t.pos;while(r>0&&(e||t.indexAfter(r)==t.node(r).childCount)){r--;n++;e=false}if(i){let e=t.node(r).maybeChild(t.indexAfter(r));while(e&&!e.isLeaf){e=e.firstChild;n++}}return n}function go(t,e,i,r,n){let s=t.findDiffStart(e,i);if(s==null)return null;let{a:l,b:u}=t.findDiffEnd(e,i+t.size,i+e.size);if(n=="end"){let t=Math.max(0,s-Math.min(l,u));r-=l+t-s}if(l<s&&t.size<e.size){let t=r<=s&&r>=l?s-r:0;s-=t;if(s&&s<e.size&&bo(e.textBetween(s-1,s+1)))s+=t?1:-1;u=s+(u-l);l=s}else if(u<s){let e=r<=s&&r>=u?s-r:0;s-=e;if(s&&s<t.size&&bo(t.textBetween(s-1,s+1)))s+=e?1:-1;l=s+(l-u);u=s}return{start:s,endA:l,endB:u}}function bo(t){if(t.length!=2)return false;let e=t.charCodeAt(0),i=t.charCodeAt(1);return e>=56320&&e<=57343&&i>=55296&&i<=56319}class ko{constructor(t,e){this._root=null;this.focused=false;this.trackWrites=null;this.mounted=false;this.markCursor=null;this.cursorWrapper=null;this.lastSelectedViewDesc=undefined;this.input=new Ql;this.prevDirectPlugins=[];this.pluginViews=[];this.requiresGeckoHackNode=false;this.dragging=null;this._props=e;this.state=e.state;this.directPlugins=e.plugins||[];this.directPlugins.forEach(Mo);this.dispatch=this.dispatch.bind(this);this.dom=t&&t.mount||document.createElement("div");if(t){if(t.appendChild)t.appendChild(this.dom);else if(typeof t=="function")t(this.dom);else if(t.mount)this.mounted=true}this.editable=yo(this);vo(this);this.nodeViews=Eo(this);this.docView=js(this.state.doc,Do(this),Qu(this),this.dom,this);this.domObserver=new ro(this,((t,e,i,r)=>ao(this,t,e,i,r)));this.domObserver.start();tu(this);this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){if(t.handleDOMEvents!=this._props.handleDOMEvents)ru(this);let e=this._props;this._props=t;if(t.plugins){t.plugins.forEach(Mo);this.directPlugins=t.plugins}this.updateStateInner(t.state,e)}setProps(t){let e={};for(let t in this._props)e[t]=this._props[t];e.state=this.state;for(let i in t)e[i]=t[i];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var i;let r=this.state,n=false,s=false;if(t.storedMarks&&this.composing){Fu(this);s=true}this.state=t;let l=r.plugins!=t.plugins||this._props.plugins!=e.plugins;if(l||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=Eo(this);if(xo(t,this.nodeViews)){this.nodeViews=t;n=true}}if(l||e.handleDOMEvents!=this._props.handleDOMEvents){ru(this)}this.editable=yo(this);vo(this);let u=Qu(this),o=Do(this);let f=r.plugins!=t.plugins&&!r.doc.eq(t.doc)?"reset":t.scrollToSelection>r.scrollToSelection?"to selection":"preserve";let h=n||!this.docView.matchesNode(t.doc,o,u);if(h||!t.selection.eq(r.selection))s=true;let a=f=="preserve"&&s&&this.dom.style.overflowAnchor==null&&Gn(this);if(s){this.domObserver.stop();let e=h&&(Bn||Nn)&&!this.composing&&!r.selection.empty&&!t.selection.empty&&Fo(r.selection,t.selection);if(h){let i=Nn?this.trackWrites=this.domSelectionRange().focusNode:null;if(n||!this.docView.update(t.doc,o,u,this)){this.docView.updateOuterDeco([]);this.docView.destroy();this.docView=js(t.doc,o,u,this.dom,this)}if(i&&!this.trackWrites)e=true}if(e||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&ml(this))){rl(this,e)}else{hl(this,t.selection);this.domObserver.setCurSelection()}this.domObserver.start()}this.updatePluginViews(r);if(((i=this.dragging)===null||i===void 0?void 0:i.node)&&!r.doc.eq(t.doc))this.updateDraggedNode(this.dragging,r);if(f=="reset"){this.dom.scrollTop=0}else if(f=="to selection"){this.scrollToSelection()}else if(a){Yn(a)}}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(this.someProp("handleScrollToSelection",(t=>t(this))));else if(this.state.selection instanceof Hr){let e=this.docView.domAfterPos(this.state.selection.from);if(e.nodeType==1)Vn(this,e.getBoundingClientRect(),t)}else{Vn(this,this.coordsAtPos(this.state.selection.head,1),t)}}destroyPluginViews(){let t;while(t=this.pluginViews.pop())if(t.destroy)t.destroy()}updatePluginViews(t){if(!t||t.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins;this.destroyPluginViews();for(let t=0;t<this.directPlugins.length;t++){let e=this.directPlugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}for(let t=0;t<this.state.plugins.length;t++){let e=this.state.plugins[t];if(e.spec.view)this.pluginViews.push(e.spec.view(this))}}else{for(let e=0;e<this.pluginViews.length;e++){let i=this.pluginViews[e];if(i.update)i.update(this,t)}}}updateDraggedNode(t,e){let i=t.node,r=-1;if(this.state.doc.nodeAt(i.from)==i.node){r=i.from}else{let t=i.from+(this.state.doc.content.size-e.doc.content.size);let n=t>0&&this.state.doc.nodeAt(t);if(n==i.node)r=t}this.dragging=new _u(t.slice,t.move,r<0?undefined:Hr.create(this.state.doc,r))}someProp(t,e){let i=this._props&&this._props[t],r;if(i!=null&&(r=e?e(i):i))return r;for(let i=0;i<this.directPlugins.length;i++){let n=this.directPlugins[i].props[t];if(n!=null&&(r=e?e(n):n))return r}let n=this.state.plugins;if(n)for(let i=0;i<n.length;i++){let s=n[i].props[t];if(s!=null&&(r=e?e(s):s))return r}}hasFocus(){if(Bn){let t=this.root.activeElement;if(t==this.dom)return true;if(!t||!this.dom.contains(t))return false;while(t&&this.dom!=t&&this.dom.contains(t)){if(t.contentEditable=="false")return false;t=t.parentElement}return true}return this.root.activeElement==this.dom}focus(){this.domObserver.stop();if(this.editable)es(this.dom);rl(this);this.domObserver.start()}get root(){let t=this._root;if(t==null)for(let t=this.dom.parentNode;t;t=t.parentNode){if(t.nodeType==9||t.nodeType==11&&t.host){if(!t.getSelection)Object.getPrototypeOf(t).getSelection=()=>t.ownerDocument.getSelection();return this._root=t}}return t||document}updateRoot(){this._root=null}posAtCoords(t){return hs(this,t)}coordsAtPos(t,e=1){return ps(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,i=-1){let r=this.docView.posFromDOM(t,e,i);if(r==null)throw new RangeError("DOM position not inside the editor");return r}endOfTextblock(t,e){return Es(this,e||this.state,t)}pasteHTML(t,e){return Ou(this,"",t,false,e||new ClipboardEvent("paste"))}pasteText(t,e){return Ou(this,t,null,true,e||new ClipboardEvent("paste"))}destroy(){if(!this.docView)return;iu(this);this.destroyPluginViews();if(this.mounted){this.docView.update(this.state.doc,[],Qu(this),this);this.dom.textContent=""}else if(this.dom.parentNode){this.dom.parentNode.removeChild(this.dom)}this.docView.destroy();this.docView=null}get isDestroyed(){return this.docView==null}dispatchEvent(t){return lu(this,t)}dispatch(t){let e=this._props.dispatchTransaction;if(e)e.call(this,t);else this.updateState(this.state.apply(t))}domSelectionRange(){return Tn&&this.root.nodeType===11&&xn(this.dom.ownerDocument)==this.dom?uo(this):this.domSelection()}domSelection(){return this.root.getSelection()}}function Do(t){let e=Object.create(null);e.class="ProseMirror";e.contenteditable=String(t.editable);t.someProp("attributes",(i=>{if(typeof i=="function")i=i(t.state);if(i)for(let t in i){if(t=="class")e.class+=" "+i[t];else if(t=="style")e.style=(e.style?e.style+";":"")+i[t];else if(!e[t]&&t!="contenteditable"&&t!="nodeName")e[t]=String(i[t])}}));if(!e.translate)e.translate="no";return[zu.node(0,t.state.doc.content.size,e)]}function vo(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator";e.setAttribute("mark-placeholder","true");e.setAttribute("alt","");t.cursorWrapper={dom:e,deco:zu.widget(t.state.selection.head,e,{raw:true,marks:t.markCursor})}}else{t.cursorWrapper=null}}function yo(t){return!t.someProp("editable",(e=>e(t.state)===false))}function Fo(t,e){let i=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(i)!=e.$anchor.start(i)}function Eo(t){let e=Object.create(null);function i(t){for(let i in t)if(!Object.prototype.hasOwnProperty.call(e,i))e[i]=t[i]}t.someProp("nodeViews",i);t.someProp("markViews",i);return e}function xo(t,e){let i=0,r=0;for(let r in t){if(t[r]!=e[r])return true;i++}for(let t in e)r++;return i!=r}function Mo(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}const Ao=["p",0],Co=["blockquote",0],So=["hr"],Oo=["pre",["code",0]],$o=["br"];const _o={doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return Ao}},blockquote:{content:"block+",group:"block",defining:true,parseDOM:[{tag:"blockquote"}],toDOM(){return Co}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return So}},heading:{attrs:{level:{default:1}},content:"inline*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",marks:"",group:"block",code:true,defining:true,parseDOM:[{tag:"pre",preserveWhitespace:"full"}],toDOM(){return Oo}},text:{group:"inline"},image:{inline:true,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){let{src:e,alt:i,title:r}=t.attrs;return["img",{src:e,alt:i,title:r}]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return $o}}};const Bo=["em",0],jo=["strong",0],qo=["code",0];const Ro={link:{attrs:{href:{},title:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){let{href:e,title:i}=t.attrs;return["a",{href:e,title:i},0]}},em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return Bo}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return jo}},code:{parseDOM:[{tag:"code"}],toDOM(){return qo}}};const No=new oi({nodes:_o,marks:Ro});const zo=["ol",0],To=["ul",0],Io=["li",0];const Po={attrs:{order:{default:1}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1}}}],toDOM(t){return t.attrs.order==1?zo:["ol",{start:t.attrs.order},0]}};const Jo={parseDOM:[{tag:"ul"}],toDOM(){return To}};const Lo={parseDOM:[{tag:"li"}],toDOM(){return Io},defining:true};function Uo(t,e){let i={};for(let e in t)i[e]=t[e];for(let t in e)i[t]=e[t];return i}function Wo(t,e,i){return t.append({ordered_list:Uo(Po,{content:"list_item+",group:i}),bullet_list:Uo(Jo,{content:"list_item+",group:i}),list_item:Uo(Lo,{content:e})})}function Ho(t,e=null){return function(i,r){let{$from:n,$to:s}=i.selection;let l=n.blockRange(s),u=false,o=l;if(!l)return false;if(l.depth>=2&&n.node(l.depth-1).type.compatibleContent(t)&&l.startIndex==0){if(n.index(l.depth-1)==0)return false;let t=i.doc.resolve(l.start-2);o=new Ne(t,t,l.depth);if(l.endIndex<l.parent.childCount)l=new Ne(n,i.doc.resolve(s.end(l.depth)),l.depth);u=true}let f=nr(o,t,e,l);if(!f)return false;if(r)r(Zo(i.tr,l,f,u,t).scrollIntoView());return true}}function Zo(t,e,i,r,n){let s=pe.empty;for(let t=i.length-1;t>=0;t--)s=pe.from(i[t].type.create(i[t].attrs,s));t.step(new Gi(e.start-(r?2:0),e.end,e.start,e.end,new De(s,0,0),i.length,true));let l=0;for(let t=0;t<i.length;t++)if(i[t].type==n)l=t+1;let u=i.length-l;let o=e.start+i.length-(r?2:0),f=e.parent;for(let i=e.startIndex,r=e.endIndex,n=true;i<r;i++,n=false){if(!n&&cr(t.doc,o,u)){t.split(o,u);o+=2*u}o+=f.child(i).nodeSize}return t}function Ko(t,e){return function(i,r){let{$from:n,$to:s,node:l}=i.selection;if(l&&l.isBlock||n.depth<2||!n.sameParent(s))return false;let u=n.node(-1);if(u.type!=t)return false;if(n.parent.content.size==0&&n.node(-1).childCount==n.indexAfter(-1)){if(n.depth==3||n.node(-3).type!=t||n.index(-2)!=n.node(-2).childCount-1)return false;if(r){let e=pe.empty;let s=n.index(-1)?1:n.index(-2)?2:3;for(let t=n.depth-s;t>=n.depth-3;t--)e=pe.from(n.node(t).copy(e));let l=n.indexAfter(-1)<n.node(-2).childCount?1:n.indexAfter(-2)<n.node(-3).childCount?2:3;e=e.append(pe.from(t.createAndFill()));let u=n.before(n.depth-(s-1));let o=i.tr.replace(u,n.after(-l),new De(e,4-s,0));let f=-1;o.doc.nodesBetween(u,o.doc.content.size,((t,e)=>{if(f>-1)return false;if(t.isTextblock&&t.content.size==0)f=e+1}));if(f>-1)o.setSelection(Ir.near(o.doc.resolve(f)));r(o.scrollIntoView())}return true}let o=s.pos==n.end()?u.contentMatchAt(0).defaultType:null;let f=i.tr.delete(n.pos,s.pos);let h=o?[e?{type:t,attrs:e}:null,{type:o}]:undefined;if(!cr(f.doc,n.pos,2,h))return false;if(r)r(f.split(n.pos,2,h).scrollIntoView());return true}}function Vo(t){return function(e,i){let{$from:r,$to:n}=e.selection;let s=r.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;if(!i)return true;if(r.node(s.depth-1).type==t)return Go(e,i,t,s);else return Xo(e,i,s)}}function Go(t,e,i,r){let n=t.tr,s=r.end,l=r.$to.end(r.depth);if(s<l){n.step(new Gi(s-1,l,s,l,new De(pe.from(i.create(null,r.parent.copy())),1,0),1,true));r=new Ne(n.doc.resolve(r.$from.pos),n.doc.resolve(l),r.depth)}const u=ir(r);if(u==null)return false;n.lift(r,u);let o=n.mapping.map(s,-1)-1;if(pr(n.doc,o))n.join(o);e(n.scrollIntoView());return true}function Xo(t,e,i){let r=t.tr,n=i.parent;for(let t=i.end,e=i.endIndex-1,s=i.startIndex;e>s;e--){t-=n.child(e).nodeSize;r.delete(t-1,t+1)}let s=r.doc.resolve(i.start),l=s.nodeAfter;if(r.mapping.map(i.end)!=i.start+s.nodeAfter.nodeSize)return false;let u=i.startIndex==0,o=i.endIndex==n.childCount;let f=s.node(-1),h=s.index(-1);if(!f.canReplace(h+(u?0:1),h+1,l.content.append(o?pe.empty:pe.from(n))))return false;let a=s.pos,c=a+l.nodeSize;r.step(new Gi(a-(u?1:0),c+(o?1:0),a+1,c-1,new De((u?pe.empty:pe.from(n.copy(pe.empty))).append(o?pe.empty:pe.from(n.copy(pe.empty))),u?0:1,o?0:1),u?0:1));e(r.scrollIntoView());return true}function Yo(t){return function(e,i){let{$from:r,$to:n}=e.selection;let s=r.blockRange(n,(e=>e.childCount>0&&e.firstChild.type==t));if(!s)return false;let l=s.startIndex;if(l==0)return false;let u=s.parent,o=u.child(l-1);if(o.type!=t)return false;if(i){let r=o.lastChild&&o.lastChild.type==u.type;let n=pe.from(r?t.create():null);let l=new De(pe.from(t.create(null,pe.from(u.type.create(null,n)))),r?3:1,0);let f=s.start,h=s.end;i(e.tr.step(new Gi(f-(r?3:1),h,f,h,l,1,true)).scrollIntoView())}return true}}var Qo={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:"'"};var tf={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'};var ef=typeof navigator!="undefined"&&/Mac/.test(navigator.platform);var rf=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var nf=0;nf<10;nf++)Qo[48+nf]=Qo[96+nf]=String(nf);for(var nf=1;nf<=24;nf++)Qo[nf+111]="F"+nf;for(var nf=65;nf<=90;nf++){Qo[nf]=String.fromCharCode(nf+32);tf[nf]=String.fromCharCode(nf)}for(var sf in Qo)if(!tf.hasOwnProperty(sf))tf[sf]=Qo[sf];function lf(t){var e=ef&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||rf&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified";var i=!e&&t.key||(t.shiftKey?tf:Qo)[t.keyCode]||t.key||"Unidentified";if(i=="Esc")i="Escape";if(i=="Del")i="Delete";if(i=="Left")i="ArrowLeft";if(i=="Up")i="ArrowUp";if(i=="Right")i="ArrowRight";if(i=="Down")i="ArrowDown";return i}const uf=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function of(t){let e=t.split(/-(?!$)/),i=e[e.length-1];if(i=="Space")i=" ";let r,n,s,l;for(let t=0;t<e.length-1;t++){let i=e[t];if(/^(cmd|meta|m)$/i.test(i))l=true;else if(/^a(lt)?$/i.test(i))r=true;else if(/^(c|ctrl|control)$/i.test(i))n=true;else if(/^s(hift)?$/i.test(i))s=true;else if(/^mod$/i.test(i)){if(uf)l=true;else n=true}else throw new Error("Unrecognized modifier name: "+i)}if(r)i="Alt-"+i;if(n)i="Ctrl-"+i;if(l)i="Meta-"+i;if(s)i="Shift-"+i;return i}function ff(t){let e=Object.create(null);for(let i in t)e[of(i)]=t[i];return e}function hf(t,e,i=true){if(e.altKey)t="Alt-"+t;if(e.ctrlKey)t="Ctrl-"+t;if(e.metaKey)t="Meta-"+t;if(i&&e.shiftKey)t="Shift-"+t;return t}function af(t){return new fn({props:{handleKeyDown:cf(t)}})}function cf(t){let e=ff(t);return function(t,i){let r=lf(i),n,s=e[hf(r,i)];if(s&&s(t.state,t.dispatch,t))return true;if(r.length==1&&r!=" "){if(i.shiftKey){let n=e[hf(r,i,false)];if(n&&n(t.state,t.dispatch,t))return true}if((i.shiftKey||i.altKey||i.metaKey||r.charCodeAt(0)>127)&&(n=Qo[i.keyCode])&&n!=r){let r=e[hf(n,i)];if(r&&r(t.state,t.dispatch,t))return true}}return false}}var df=200;var pf=function t(){};pf.prototype.append=function t(e){if(!e.length){return this}e=pf.from(e);return!this.length&&e||e.length<df&&this.leafAppend(e)||this.length<df&&e.leafPrepend(this)||this.appendInner(e)};pf.prototype.prepend=function t(e){if(!e.length){return this}return pf.from(e).append(this)};pf.prototype.appendInner=function t(e){return new wf(this,e)};pf.prototype.slice=function t(e,i){if(e===void 0)e=0;if(i===void 0)i=this.length;if(e>=i){return pf.empty}return this.sliceInner(Math.max(0,e),Math.min(this.length,i))};pf.prototype.get=function t(e){if(e<0||e>=this.length){return undefined}return this.getInner(e)};pf.prototype.forEach=function t(e,i,r){if(i===void 0)i=0;if(r===void 0)r=this.length;if(i<=r){this.forEachInner(e,i,r,0)}else{this.forEachInvertedInner(e,i,r,0)}};pf.prototype.map=function t(e,i,r){if(i===void 0)i=0;if(r===void 0)r=this.length;var n=[];this.forEach((function(t,i){return n.push(e(t,i))}),i,r);return n};pf.from=function t(e){if(e instanceof pf){return e}return e&&e.length?new mf(e):pf.empty};var mf=function(t){function e(e){t.call(this);this.values=e}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;var i={length:{configurable:true},depth:{configurable:true}};e.prototype.flatten=function t(){return this.values};e.prototype.sliceInner=function t(i,r){if(i==0&&r==this.length){return this}return new e(this.values.slice(i,r))};e.prototype.getInner=function t(e){return this.values[e]};e.prototype.forEachInner=function t(e,i,r,n){for(var s=i;s<r;s++){if(e(this.values[s],n+s)===false){return false}}};e.prototype.forEachInvertedInner=function t(e,i,r,n){for(var s=i-1;s>=r;s--){if(e(this.values[s],n+s)===false){return false}}};e.prototype.leafAppend=function t(i){if(this.length+i.length<=df){return new e(this.values.concat(i.flatten()))}};e.prototype.leafPrepend=function t(i){if(this.length+i.length<=df){return new e(i.flatten().concat(this.values))}};i.length.get=function(){return this.values.length};i.depth.get=function(){return 0};Object.defineProperties(e.prototype,i);return e}(pf);pf.empty=new mf([]);var wf=function(t){function e(e,i){t.call(this);this.left=e;this.right=i;this.length=e.length+i.length;this.depth=Math.max(e.depth,i.depth)+1}if(t)e.__proto__=t;e.prototype=Object.create(t&&t.prototype);e.prototype.constructor=e;e.prototype.flatten=function t(){return this.left.flatten().concat(this.right.flatten())};e.prototype.getInner=function t(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)};e.prototype.forEachInner=function t(e,i,r,n){var s=this.left.length;if(i<s&&this.left.forEachInner(e,i,Math.min(r,s),n)===false){return false}if(r>s&&this.right.forEachInner(e,Math.max(i-s,0),Math.min(this.length,r)-s,n+s)===false){return false}};e.prototype.forEachInvertedInner=function t(e,i,r,n){var s=this.left.length;if(i>s&&this.right.forEachInvertedInner(e,i-s,Math.max(r,s)-s,n+s)===false){return false}if(r<s&&this.left.forEachInvertedInner(e,Math.min(i,s),r,n)===false){return false}};e.prototype.sliceInner=function t(e,i){if(e==0&&i==this.length){return this}var r=this.left.length;if(i<=r){return this.left.slice(e,i)}if(e>=r){return this.right.slice(e-r,i-r)}return this.left.slice(e,r).append(this.right.slice(0,i-r))};e.prototype.leafAppend=function t(i){var r=this.right.leafAppend(i);if(r){return new e(this.left,r)}};e.prototype.leafPrepend=function t(i){var r=this.left.leafPrepend(i);if(r){return new e(r,this.right)}};e.prototype.appendInner=function t(i){if(this.left.depth>=Math.max(this.right.depth,i.depth)+1){return new e(this.left,new e(this.right,i))}return new e(this,i)};return e}(pf);const gf=500;class bf{constructor(t,e){this.items=t;this.eventCount=e}popEvent(t,e){if(this.eventCount==0)return null;let i=this.items.length;for(;;i--){let t=this.items.get(i-1);if(t.selection){--i;break}}let r,n;if(e){r=this.remapping(i,this.items.length);n=r.maps.length}let s=t.tr;let l,u;let o=[],f=[];this.items.forEach(((t,e)=>{if(!t.step){if(!r){r=this.remapping(i,e+1);n=r.maps.length}n--;f.push(t);return}if(r){f.push(new Df(t.map));let e=t.step.map(r.slice(n)),i;if(e&&s.maybeStep(e).doc){i=s.mapping.maps[s.mapping.maps.length-1];o.push(new Df(i,undefined,undefined,o.length+f.length))}n--;if(i)r.appendMap(i,n)}else{s.maybeStep(t.step)}if(t.selection){l=r?t.selection.map(r.slice(n)):t.selection;u=new bf(this.items.slice(0,i).append(f.reverse().concat(o)),this.eventCount-1);return false}}),this.items.length,0);return{remaining:u,transform:s,selection:l}}addTransform(t,e,i,r){let n=[],s=this.eventCount;let l=this.items,u=!r&&l.length?l.get(l.length-1):null;for(let i=0;i<t.steps.length;i++){let o=t.steps[i].invert(t.docs[i]);let f=new Df(t.mapping.maps[i],o,e),h;if(h=u&&u.merge(f)){f=h;if(i)n.pop();else l=l.slice(0,l.length-1)}n.push(f);if(e){s++;e=undefined}if(!r)u=f}let o=s-i.depth;if(o>yf){l=kf(l,o);s-=o}return new bf(l.append(n),s)}remapping(t,e){let i=new Ii;this.items.forEach(((e,r)=>{let n=e.mirrorOffset!=null&&r-e.mirrorOffset>=t?i.maps.length-e.mirrorOffset:undefined;i.appendMap(e.map,n)}),t,e);return i}addMaps(t){if(this.eventCount==0)return this;return new bf(this.items.append(t.map((t=>new Df(t)))),this.eventCount)}rebased(t,e){if(!this.eventCount)return this;let i=[],r=Math.max(0,this.items.length-e);let n=t.mapping;let s=t.steps.length;let l=this.eventCount;this.items.forEach((t=>{if(t.selection)l--}),r);let u=e;this.items.forEach((e=>{let r=n.getMirror(--u);if(r==null)return;s=Math.min(s,r);let o=n.maps[r];if(e.step){let s=t.steps[r].invert(t.docs[r]);let f=e.selection&&e.selection.map(n.slice(u+1,r));if(f)l++;i.push(new Df(o,s,f))}else{i.push(new Df(o))}}),r);let o=[];for(let t=e;t<s;t++)o.push(new Df(n.maps[t]));let f=this.items.slice(0,r).append(o).append(i);let h=new bf(f,l);if(h.emptyItemCount()>gf)h=h.compress(this.items.length-i.length);return h}emptyItemCount(){let t=0;this.items.forEach((e=>{if(!e.step)t++}));return t}compress(t=this.items.length){let e=this.remapping(0,t),i=e.maps.length;let r=[],n=0;this.items.forEach(((s,l)=>{if(l>=t){r.push(s);if(s.selection)n++}else if(s.step){let t=s.step.map(e.slice(i)),l=t&&t.getMap();i--;if(l)e.appendMap(l,i);if(t){let u=s.selection&&s.selection.map(e.slice(i));if(u)n++;let o=new Df(l.invert(),t,u),f,h=r.length-1;if(f=r.length&&r[h].merge(o))r[h]=f;else r.push(o)}}else if(s.map){i--}}),this.items.length,0);return new bf(pf.from(r.reverse()),n)}}bf.empty=new bf(pf.empty,0);function kf(t,e){let i;t.forEach(((t,r)=>{if(t.selection&&e--==0){i=r;return false}}));return t.slice(i)}class Df{constructor(t,e,i,r){this.map=t;this.step=e;this.selection=i;this.mirrorOffset=r}merge(t){if(this.step&&t.step&&!t.selection){let e=t.step.merge(this.step);if(e)return new Df(e.getMap().invert(),e,this.selection)}}}class vf{constructor(t,e,i,r,n){this.done=t;this.undone=e;this.prevRanges=i;this.prevTime=r;this.prevComposition=n}}const yf=20;function Ff(t,e,i,r){let n=i.getMeta($f),s;if(n)return n.historyState;if(i.getMeta(_f))t=new vf(t.done,t.undone,null,0,-1);let l=i.getMeta("appendedTransaction");if(i.steps.length==0){return t}else if(l&&l.getMeta($f)){if(l.getMeta($f).redo)return new vf(t.done.addTransform(i,undefined,r,Of(e)),t.undone,xf(i.mapping.maps[i.steps.length-1]),t.prevTime,t.prevComposition);else return new vf(t.done,t.undone.addTransform(i,undefined,r,Of(e)),null,t.prevTime,t.prevComposition)}else if(i.getMeta("addToHistory")!==false&&!(l&&l.getMeta("addToHistory")===false)){let n=i.getMeta("composition");let s=t.prevTime==0||!l&&t.prevComposition!=n&&(t.prevTime<(i.time||0)-r.newGroupDelay||!Ef(i,t.prevRanges));let u=l?Mf(t.prevRanges,i.mapping):xf(i.mapping.maps[i.steps.length-1]);return new vf(t.done.addTransform(i,s?e.selection.getBookmark():undefined,r,Of(e)),bf.empty,u,i.time,n==null?t.prevComposition:n)}else if(s=i.getMeta("rebased")){return new vf(t.done.rebased(i,s),t.undone.rebased(i,s),Mf(t.prevRanges,i.mapping),t.prevTime,t.prevComposition)}else{return new vf(t.done.addMaps(i.mapping.maps),t.undone.addMaps(i.mapping.maps),Mf(t.prevRanges,i.mapping),t.prevTime,t.prevComposition)}}function Ef(t,e){if(!e)return false;if(!t.docChanged)return true;let i=false;t.mapping.maps[0].forEach(((t,r)=>{for(let n=0;n<e.length;n+=2)if(t<=e[n+1]&&r>=e[n])i=true}));return i}function xf(t){let e=[];t.forEach(((t,i,r,n)=>e.push(r,n)));return e}function Mf(t,e){if(!t)return null;let i=[];for(let r=0;r<t.length;r+=2){let n=e.map(t[r],1),s=e.map(t[r+1],-1);if(n<=s)i.push(n,s)}return i}function Af(t,e,i,r){let n=Of(e);let s=$f.get(e).spec.config;let l=(r?t.undone:t.done).popEvent(e,n);if(!l)return;let u=l.selection.resolve(l.transform.doc);let o=(r?t.done:t.undone).addTransform(l.transform,e.selection.getBookmark(),s,n);let f=new vf(r?o:l.remaining,r?l.remaining:o,null,0,-1);i(l.transform.setSelection(u).setMeta($f,{redo:r,historyState:f}).scrollIntoView())}let Cf=false,Sf=null;function Of(t){let e=t.plugins;if(Sf!=e){Cf=false;Sf=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){Cf=true;break}}return Cf}const $f=new cn("history");const _f=new cn("closeHistory");function Bf(t={}){t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500};return new fn({key:$f,state:{init(){return new vf(bf.empty,bf.empty,null,0,-1)},apply(e,i,r){return Ff(i,r,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(t,e){let i=e.inputType;let r=i=="historyUndo"?jf:i=="historyRedo"?qf:null;if(!r)return false;e.preventDefault();return r(t.state,t.dispatch)}}}})}const jf=(t,e)=>{let i=$f.getState(t);if(!i||i.done.eventCount==0)return false;if(e)Af(i,t,e,false);return true};const qf=(t,e)=>{let i=$f.getState(t);if(!i||i.undone.eventCount==0)return false;if(e)Af(i,t,e,true);return true};const Rf=(t,e)=>{if(t.selection.empty)return false;if(e)e(t.tr.deleteSelection().scrollIntoView());return true};function Nf(t,e){let{$cursor:i}=t.selection;if(!i||(e?!e.endOfTextblock("backward",t):i.parentOffset>0))return null;return i}const zf=(t,e,i)=>{let r=Nf(t,i);if(!r)return false;let n=Pf(r);if(!n){let i=r.blockRange(),n=i&&ir(i);if(n==null)return false;if(e)e(t.tr.lift(i,n).scrollIntoView());return true}let s=n.nodeBefore;if(!s.type.spec.isolating&&sh(t,n,e))return true;if(r.parent.content.size==0&&(Tf(s,"end")||Hr.isSelectable(s))){let i=Dr(t.doc,r.before(),r.after(),De.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=t.tr.step(i);r.setSelection(Tf(s,"end")?Ir.findFrom(r.doc.resolve(r.mapping.map(n.pos,-1)),-1):Hr.create(r.doc,n.pos-s.nodeSize));e(r.scrollIntoView())}return true}}if(s.isAtom&&n.depth==r.depth-1){if(e)e(t.tr.delete(n.pos-s.nodeSize,n.pos).scrollIntoView());return true}return false};function Tf(t,e,i=false){for(let r=t;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return true;if(i&&r.childCount!=1)return false}return false}const If=(t,e,i)=>{let{$head:r,empty:n}=t.selection,s=r;if(!n)return false;if(r.parent.isTextblock){if(i?!i.endOfTextblock("backward",t):r.parentOffset>0)return false;s=Pf(r)}let l=s&&s.nodeBefore;if(!l||!Hr.isSelectable(l))return false;if(e)e(t.tr.setSelection(Hr.create(t.doc,s.pos-l.nodeSize)).scrollIntoView());return true};function Pf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function Jf(t,e){let{$cursor:i}=t.selection;if(!i||(e?!e.endOfTextblock("forward",t):i.parentOffset<i.parent.content.size))return null;return i}const Lf=(t,e,i)=>{let r=Jf(t,i);if(!r)return false;let n=Wf(r);if(!n)return false;let s=n.nodeAfter;if(sh(t,n,e))return true;if(r.parent.content.size==0&&(Tf(s,"start")||Hr.isSelectable(s))){let i=Dr(t.doc,r.before(),r.after(),De.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=t.tr.step(i);r.setSelection(Tf(s,"start")?Ir.findFrom(r.doc.resolve(r.mapping.map(n.pos)),1):Hr.create(r.doc,r.mapping.map(n.pos)));e(r.scrollIntoView())}return true}}if(s.isAtom&&n.depth==r.depth-1){if(e)e(t.tr.delete(n.pos,n.pos+s.nodeSize).scrollIntoView());return true}return false};const Uf=(t,e,i)=>{let{$head:r,empty:n}=t.selection,s=r;if(!n)return false;if(r.parent.isTextblock){if(i?!i.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size)return false;s=Wf(r)}let l=s&&s.nodeAfter;if(!l||!Hr.isSelectable(l))return false;if(e)e(t.tr.setSelection(Hr.create(t.doc,s.pos)).scrollIntoView());return true};function Wf(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let i=t.node(e);if(t.index(e)+1<i.childCount)return t.doc.resolve(t.after(e+1));if(i.type.spec.isolating)break}return null}const Hf=(t,e)=>{let i=t.selection,r=i instanceof Hr,n;if(r){if(i.node.isTextblock||!pr(t.doc,i.from))return false;n=i.from}else{n=wr(t.doc,i.from,-1);if(n==null)return false}if(e){let i=t.tr.join(n);if(r)i.setSelection(Hr.create(i.doc,n-t.doc.resolve(n).nodeBefore.nodeSize));e(i.scrollIntoView())}return true};const Zf=(t,e)=>{let i=t.selection,r;if(i instanceof Hr){if(i.node.isTextblock||!pr(t.doc,i.to))return false;r=i.to}else{r=wr(t.doc,i.to,1);if(r==null)return false}if(e)e(t.tr.join(r).scrollIntoView());return true};const Kf=(t,e)=>{let{$from:i,$to:r}=t.selection;let n=i.blockRange(r),s=n&&ir(n);if(s==null)return false;if(e)e(t.tr.lift(n,s).scrollIntoView());return true};const Vf=(t,e)=>{let{$head:i,$anchor:r}=t.selection;if(!i.parent.type.spec.code||!i.sameParent(r))return false;if(e)e(t.tr.insertText("\n").scrollIntoView());return true};function Gf(t){for(let e=0;e<t.edgeCount;e++){let{type:i}=t.edge(e);if(i.isTextblock&&!i.hasRequiredAttrs())return i}return null}const Xf=(t,e)=>{let{$head:i,$anchor:r}=t.selection;if(!i.parent.type.spec.code||!i.sameParent(r))return false;let n=i.node(-1),s=i.indexAfter(-1),l=Gf(n.contentMatchAt(s));if(!l||!n.canReplaceWith(s,s,l))return false;if(e){let r=i.after(),n=t.tr.replaceWith(r,r,l.createAndFill());n.setSelection(Ir.near(n.doc.resolve(r),1));e(n.scrollIntoView())}return true};const Yf=(t,e)=>{let i=t.selection,{$from:r,$to:n}=i;if(i instanceof Kr||r.parent.inlineContent||n.parent.inlineContent)return false;let s=Gf(n.parent.contentMatchAt(n.indexAfter()));if(!s||!s.isTextblock)return false;if(e){let i=(!r.parentOffset&&n.index()<n.parent.childCount?r:n).pos;let l=t.tr.insert(i,s.createAndFill());l.setSelection(Ur.create(l.doc,i+1));e(l.scrollIntoView())}return true};const Qf=(t,e)=>{let{$cursor:i}=t.selection;if(!i||i.parent.content.size)return false;if(i.depth>1&&i.after()!=i.end(-1)){let r=i.before();if(cr(t.doc,r)){if(e)e(t.tr.split(r).scrollIntoView());return true}}let r=i.blockRange(),n=r&&ir(r);if(n==null)return false;if(e)e(t.tr.lift(r,n).scrollIntoView());return true};function th(t){return(e,i)=>{let{$from:r,$to:n}=e.selection;if(e.selection instanceof Hr&&e.selection.node.isBlock){if(!r.parentOffset||!cr(e.doc,r.pos))return false;if(i)i(e.tr.split(r.pos).scrollIntoView());return true}if(!r.parent.isBlock)return false;if(i){let s=n.parentOffset==n.parent.content.size;let l=e.tr;if(e.selection instanceof Ur||e.selection instanceof Kr)l.deleteSelection();let u=r.depth==0?null:Gf(r.node(-1).contentMatchAt(r.indexAfter(-1)));let o=t&&t(n.parent,s);let f=o?[o]:s&&u?[{type:u}]:undefined;let h=cr(l.doc,l.mapping.map(r.pos),1,f);if(!f&&!h&&cr(l.doc,l.mapping.map(r.pos),1,u?[{type:u}]:undefined)){if(u)f=[{type:u}];h=true}if(h){l.split(l.mapping.map(r.pos),1,f);if(!s&&!r.parentOffset&&r.parent.type!=u){let t=l.mapping.map(r.before()),e=l.doc.resolve(t);if(u&&r.node(-1).canReplaceWith(e.index(),e.index()+1,u))l.setNodeMarkup(l.mapping.map(r.before()),u)}}i(l.scrollIntoView())}return true}}const eh=th();const ih=(t,e)=>{let{$from:i,to:r}=t.selection,n;let s=i.sharedDepth(r);if(s==0)return false;n=i.before(s);if(e)e(t.tr.setSelection(Hr.create(t.doc,n)));return true};const rh=(t,e)=>{if(e)e(t.tr.setSelection(new Kr(t.doc)));return true};function nh(t,e,i){let r=e.nodeBefore,n=e.nodeAfter,s=e.index();if(!r||!n||!r.type.compatibleContent(n.type))return false;if(!r.content.size&&e.parent.canReplace(s-1,s)){if(i)i(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView());return true}if(!e.parent.canReplace(s,s+1)||!(n.isTextblock||pr(t.doc,e.pos)))return false;if(i)i(t.tr.clearIncompatible(e.pos,r.type,r.contentMatchAt(r.childCount)).join(e.pos).scrollIntoView());return true}function sh(t,e,i){let r=e.nodeBefore,n=e.nodeAfter,s,l;if(r.type.spec.isolating||n.type.spec.isolating)return false;if(nh(t,e,i))return true;let u=e.parent.canReplace(e.index(),e.index()+1);if(u&&(s=(l=r.contentMatchAt(r.childCount)).findWrapping(n.type))&&l.matchType(s[0]||n.type).validEnd){if(i){let l=e.pos+n.nodeSize,u=pe.empty;for(let t=s.length-1;t>=0;t--)u=pe.from(s[t].create(null,u));u=pe.from(r.copy(u));let o=t.tr.step(new Gi(e.pos-1,l,e.pos,l,new De(u,1,0),s.length,true));let f=l+2*s.length;if(pr(o.doc,f))o.join(f);i(o.scrollIntoView())}return true}let o=Ir.findFrom(e,1);let f=o&&o.$from.blockRange(o.$to),h=f&&ir(f);if(h!=null&&h>=e.depth){if(i)i(t.tr.lift(f,h).scrollIntoView());return true}if(u&&Tf(n,"start",true)&&Tf(r,"end")){let s=r,l=[];for(;;){l.push(s);if(s.isTextblock)break;s=s.lastChild}let u=n,o=1;for(;!u.isTextblock;u=u.firstChild)o++;if(s.canReplace(s.childCount,s.childCount,u.content)){if(i){let r=pe.empty;for(let t=l.length-1;t>=0;t--)r=pe.from(l[t].copy(r));let s=t.tr.step(new Gi(e.pos-l.length,e.pos+n.nodeSize,e.pos+o,e.pos+n.nodeSize-o,new De(r,l.length,0),0,true));i(s.scrollIntoView())}return true}}return false}function lh(t){return function(e,i){let r=e.selection,n=t<0?r.$from:r.$to;let s=n.depth;while(n.node(s).isInline){if(!s)return false;s--}if(!n.node(s).isTextblock)return false;if(i)i(e.tr.setSelection(Ur.create(e.doc,t<0?n.start(s):n.end(s))));return true}}const uh=lh(-1);const oh=lh(1);function fh(t,e=null){return function(i,r){let{$from:n,$to:s}=i.selection;let l=n.blockRange(s),u=l&&nr(l,t,e);if(!u)return false;if(r)r(i.tr.wrap(l,u).scrollIntoView());return true}}function hh(t,e=null){return function(i,r){let n=false;for(let r=0;r<i.selection.ranges.length&&!n;r++){let{$from:{pos:s},$to:{pos:l}}=i.selection.ranges[r];i.doc.nodesBetween(s,l,((r,s)=>{if(n)return false;if(!r.isTextblock||r.hasMarkup(t,e))return;if(r.type==t){n=true}else{let e=i.doc.resolve(s),r=e.index();n=e.parent.canReplaceWith(r,r+1,t)}}))}if(!n)return false;if(r){let n=i.tr;for(let r=0;r<i.selection.ranges.length;r++){let{$from:{pos:s},$to:{pos:l}}=i.selection.ranges[r];n.setBlockType(s,l,t,e)}r(n.scrollIntoView())}return true}}function ah(t,e,i){for(let r=0;r<e.length;r++){let{$from:n,$to:s}=e[r];let l=n.depth==0?t.inlineContent&&t.type.allowsMarkType(i):false;t.nodesBetween(n.pos,s.pos,(t=>{if(l)return false;l=t.inlineContent&&t.type.allowsMarkType(i)}));if(l)return true}return false}function ch(t,e=null){return function(i,r){let{empty:n,$cursor:s,ranges:l}=i.selection;if(n&&!s||!ah(i.doc,l,t))return false;if(r){if(s){if(t.isInSet(i.storedMarks||s.marks()))r(i.tr.removeStoredMark(t));else r(i.tr.addStoredMark(t.create(e)))}else{let n=false,s=i.tr;for(let e=0;!n&&e<l.length;e++){let{$from:r,$to:s}=l[e];n=i.doc.rangeHasMark(r.pos,s.pos,t)}for(let i=0;i<l.length;i++){let{$from:r,$to:u}=l[i];if(n){s.removeMark(r.pos,u.pos,t)}else{let i=r.pos,n=u.pos,l=r.nodeAfter,o=u.nodeBefore;let f=l&&l.isText?/^\s*/.exec(l.text)[0].length:0;let h=o&&o.isText?/\s*$/.exec(o.text)[0].length:0;if(i+f<n){i+=f;n-=h}s.addMark(i,n,t.create(e))}}r(s.scrollIntoView())}}return true}}function dh(...t){return function(e,i,r){for(let n=0;n<t.length;n++)if(t[n](e,i,r))return true;return false}}let ph=dh(Rf,zf,If);let mh=dh(Rf,Lf,Uf);const wh={Enter:dh(Vf,Yf,Qf,eh),"Mod-Enter":Xf,Backspace:ph,"Mod-Backspace":ph,"Shift-Backspace":ph,Delete:mh,"Mod-Delete":mh,"Mod-a":rh};const gh={"Ctrl-h":wh["Backspace"],"Alt-Backspace":wh["Mod-Backspace"],"Ctrl-d":wh["Delete"],"Ctrl-Alt-Backspace":wh["Mod-Delete"],"Alt-Delete":wh["Mod-Delete"],"Alt-d":wh["Mod-Delete"],"Ctrl-a":uh,"Ctrl-e":oh};for(let t in wh)gh[t]=wh[t];const bh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os!="undefined"&&os.platform?os.platform()=="darwin":false;const kh=bh?gh:wh;function Dh(t={}){return new fn({view(e){return new vh(e,t)}})}class vh{constructor(t,e){var i;this.editorView=t;this.cursorPos=null;this.element=null;this.timeout=-1;this.width=(i=e.width)!==null&&i!==void 0?i:1;this.color=e.color===false?undefined:e.color||"black";this.class=e.class;this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let i=t=>{this[e](t)};t.dom.addEventListener(e,i);return{name:e,handler:i}}))}destroy(){this.handlers.forEach((({name:t,handler:e})=>this.editorView.dom.removeEventListener(t,e)))}update(t,e){if(this.cursorPos!=null&&e.doc!=t.state.doc){if(this.cursorPos>t.state.doc.content.size)this.setCursor(null);else this.updateOverlay()}}setCursor(t){if(t==this.cursorPos)return;this.cursorPos=t;if(t==null){this.element.parentNode.removeChild(this.element);this.element=null}else{this.updateOverlay()}}updateOverlay(){let t=this.editorView.state.doc.resolve(this.cursorPos);let e=!t.parent.inlineContent,i;if(e){let e=t.nodeBefore,r=t.nodeAfter;if(e||r){let t=this.editorView.nodeDOM(this.cursorPos-(e?e.nodeSize:0));if(t){let n=t.getBoundingClientRect();let s=e?n.bottom:n.top;if(e&&r)s=(s+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2;i={left:n.left,right:n.right,top:s-this.width/2,bottom:s+this.width/2}}}}if(!i){let t=this.editorView.coordsAtPos(this.cursorPos);i={left:t.left-this.width/2,right:t.left+this.width/2,top:t.top,bottom:t.bottom}}let r=this.editorView.dom.offsetParent;if(!this.element){this.element=r.appendChild(document.createElement("div"));if(this.class)this.element.className=this.class;this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;";if(this.color){this.element.style.backgroundColor=this.color}}this.element.classList.toggle("prosemirror-dropcursor-block",e);this.element.classList.toggle("prosemirror-dropcursor-inline",!e);let n,s;if(!r||r==document.body&&getComputedStyle(r).position=="static"){n=-pageXOffset;s=-pageYOffset}else{let t=r.getBoundingClientRect();n=t.left-r.scrollLeft;s=t.top-r.scrollTop}this.element.style.left=i.left-n+"px";this.element.style.top=i.top-s+"px";this.element.style.width=i.right-i.left+"px";this.element.style.height=i.bottom-i.top+"px"}scheduleRemoval(t){clearTimeout(this.timeout);this.timeout=setTimeout((()=>this.setCursor(null)),t)}dragover(t){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:t.clientX,top:t.clientY});let i=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside);let r=i&&i.type.spec.disableDropCursor;let n=typeof r=="function"?r(this.editorView,e,t):r;if(e&&!n){let t=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=kr(this.editorView.state.doc,t,this.editorView.dragging.slice);if(e!=null)t=e}this.setCursor(t);this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(t){if(t.target==this.editorView.dom||!this.editorView.dom.contains(t.relatedTarget))this.setCursor(null)}}class yh extends Ir{constructor(t){super(t,t)}map(t,e){let i=t.resolve(e.map(this.head));return yh.valid(i)?new yh(i):Ir.near(i)}content(){return De.empty}eq(t){return t instanceof yh&&t.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(t,e){if(typeof e.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new yh(t.resolve(e.pos))}getBookmark(){return new Fh(this.anchor)}static valid(t){let e=t.parent;if(e.isTextblock||!Eh(t)||!xh(t))return false;let i=e.type.spec.allowGapCursor;if(i!=null)return i;let r=e.contentMatchAt(t.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,e,i=false){t:for(;;){if(!i&&yh.valid(t))return t;let r=t.pos,n=null;for(let i=t.depth;;i--){let s=t.node(i);if(e>0?t.indexAfter(i)<s.childCount:t.index(i)>0){n=s.child(e>0?t.indexAfter(i):t.index(i)-1);break}else if(i==0){return null}r+=e;let l=t.doc.resolve(r);if(yh.valid(l))return l}for(;;){let s=e>0?n.firstChild:n.lastChild;if(!s){if(n.isAtom&&!n.isText&&!Hr.isSelectable(n)){t=t.doc.resolve(r+n.nodeSize*e);i=false;continue t}break}n=s;r+=e;let l=t.doc.resolve(r);if(yh.valid(l))return l}return null}}}yh.prototype.visible=false;yh.findFrom=yh.findGapCursorFrom;Ir.jsonID("gapcursor",yh);class Fh{constructor(t){this.pos=t}map(t){return new Fh(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return yh.valid(e)?new yh(e):Ir.near(e)}}function Eh(t){for(let e=t.depth;e>=0;e--){let i=t.index(e),r=t.node(e);if(i==0){if(r.type.spec.isolating)return true;continue}for(let t=r.child(i-1);;t=t.lastChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function xh(t){for(let e=t.depth;e>=0;e--){let i=t.indexAfter(e),r=t.node(e);if(i==r.childCount){if(r.type.spec.isolating)return true;continue}for(let t=r.child(i);;t=t.firstChild){if(t.childCount==0&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return true;if(t.inlineContent)return false}}return true}function Mh(){return new fn({props:{decorations:$h,createSelectionBetween(t,e,i){return e.pos==i.pos&&yh.valid(i)?new yh(i):null},handleClick:Sh,handleKeyDown:Ah,handleDOMEvents:{beforeinput:Oh}}})}const Ah=cf({ArrowLeft:Ch("horiz",-1),ArrowRight:Ch("horiz",1),ArrowUp:Ch("vert",-1),ArrowDown:Ch("vert",1)});function Ch(t,e){const i=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(t,r,n){let s=t.selection;let l=e>0?s.$to:s.$from,u=s.empty;if(s instanceof Ur){if(!n.endOfTextblock(i)||l.depth==0)return false;u=false;l=t.doc.resolve(e>0?l.after():l.before())}let o=yh.findGapCursorFrom(l,e,u);if(!o)return false;if(r)r(t.tr.setSelection(new yh(o)));return true}}function Sh(t,e,i){if(!t||!t.editable)return false;let r=t.state.doc.resolve(e);if(!yh.valid(r))return false;let n=t.posAtCoords({left:i.clientX,top:i.clientY});if(n&&n.inside>-1&&Hr.isSelectable(t.state.doc.nodeAt(n.inside)))return false;t.dispatch(t.state.tr.setSelection(new yh(r)));return true}function Oh(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof yh))return false;let{$from:i}=t.state.selection;let r=i.parent.contentMatchAt(i.index()).findWrapping(t.state.schema.nodes.text);if(!r)return false;let n=pe.empty;for(let t=r.length-1;t>=0;t--)n=pe.from(r[t].createAndFill(null,n));let s=t.state.tr.replace(i.pos,i.pos,new De(n,0,0));s.setSelection(Ur.near(s.doc.resolve(i.pos+1)));t.dispatch(s);return false}function $h(t){if(!(t.selection instanceof yh))return null;let e=document.createElement("div");e.className="ProseMirror-gapcursor";return Pu.create(t.doc,[zu.widget(t.selection.head,e,{key:"gapcursor"})])}function _h(){var t=arguments[0];if(typeof t=="string")t=document.createElement(t);var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var n=i[r];if(typeof n=="string")t.setAttribute(r,n);else if(n!=null)t[r]=n}e++}for(;e<arguments.length;e++)Bh(t,arguments[e]);return t}function Bh(t,e){if(typeof e=="string"){t.appendChild(document.createTextNode(e))}else if(e==null);else if(e.nodeType!=null){t.appendChild(e)}else if(Array.isArray(e)){for(var i=0;i<e.length;i++)Bh(t,e[i])}else{throw new RangeError("Unsupported child node: "+e)}}const jh="http://www.w3.org/2000/svg";const qh="http://www.w3.org/1999/xlink";const Rh="ProseMirror-icon";function Nh(t){let e=0;for(let i=0;i<t.length;i++)e=(e<<5)-e+t.charCodeAt(i)|0;return e}function zh(t,e){let i=(t.nodeType==9?t:t.ownerDocument)||document;let r=i.createElement("div");r.className=Rh;if(e.path){let{path:n,width:s,height:l}=e;let u="pm-icon-"+Nh(n).toString(16);if(!i.getElementById(u))Th(t,u,e);let o=r.appendChild(i.createElementNS(jh,"svg"));o.style.width=s/l+"em";let f=o.appendChild(i.createElementNS(jh,"use"));f.setAttributeNS(qh,"href",/([^#]*)/.exec(i.location.toString())[1]+"#"+u)}else if(e.dom){r.appendChild(e.dom.cloneNode(true))}else{let{text:t,css:n}=e;r.appendChild(i.createElement("span")).textContent=t||"";if(n)r.firstChild.style.cssText=n}return r}function Th(t,e,i){let[r,n]=t.nodeType==9?[t,t.body]:[t.ownerDocument||document,t];let s=r.getElementById(Rh+"-collection");if(!s){s=r.createElementNS(jh,"svg");s.id=Rh+"-collection";s.style.display="none";n.insertBefore(s,n.firstChild)}let l=r.createElementNS(jh,"symbol");l.id=e;l.setAttribute("viewBox","0 0 "+i.width+" "+i.height);let u=l.appendChild(r.createElementNS(jh,"path"));u.setAttribute("d",i.path);s.appendChild(l)}const Ih="ProseMirror-menu";class Ph{constructor(t){this.spec=t}render(t){let e=this.spec;let i=e.render?e.render(t):e.icon?zh(t.root,e.icon):e.label?_h("div",null,Jh(t,e.label)):null;if(!i)throw new RangeError("MenuItem without icon or label property");if(e.title){const r=typeof e.title==="function"?e.title(t.state):e.title;i.setAttribute("title",Jh(t,r))}if(e.class)i.classList.add(e.class);if(e.css)i.style.cssText+=e.css;i.addEventListener("mousedown",(r=>{r.preventDefault();if(!i.classList.contains(Ih+"-disabled"))e.run(t.state,t.dispatch,t,r)}));function r(t){if(e.select){let r=e.select(t);i.style.display=r?"":"none";if(!r)return false}let r=true;if(e.enable){r=e.enable(t)||false;la(i,Ih+"-disabled",!r)}if(e.active){let n=r&&e.active(t)||false;la(i,Ih+"-active",n)}return true}return{dom:i,update:r}}}function Jh(t,e){return t._props.translate?t._props.translate(e):e}let Lh={time:0,node:null};function Uh(t){Lh.time=Date.now();Lh.node=t.target}function Wh(t){return Date.now()-100<Lh.time&&Lh.node&&t.contains(Lh.node)}class Hh{constructor(t,e={}){this.options=e;this.options=e||{};this.content=Array.isArray(t)?t:[t]}render(t){let e=Zh(this.content,t);let i=t.dom.ownerDocument.defaultView||window;let r=_h("div",{class:Ih+"-dropdown "+(this.options.class||""),style:this.options.css},Jh(t,this.options.label||""));if(this.options.title)r.setAttribute("title",Jh(t,this.options.title));let n=_h("div",{class:Ih+"-dropdown-wrap"},r);let s=null;let l=null;let u=()=>{if(s&&s.close()){s=null;i.removeEventListener("mousedown",l)}};r.addEventListener("mousedown",(t=>{t.preventDefault();Uh(t);if(s){u()}else{s=this.expand(n,e.dom);i.addEventListener("mousedown",l=()=>{if(!Wh(n))u()})}}));function o(t){let i=e.update(t);n.style.display=i?"":"none";return i}return{dom:n,update:o}}expand(t,e){let i=_h("div",{class:Ih+"-dropdown-menu "+(this.options.class||"")},e);let r=false;function n(){if(r)return false;r=true;t.removeChild(i);return true}t.appendChild(i);return{close:n,node:i}}}function Zh(t,e){let i=[],r=[];for(let n=0;n<t.length;n++){let{dom:s,update:l}=t[n].render(e);i.push(_h("div",{class:Ih+"-dropdown-item"},s));r.push(l)}return{dom:i,update:Kh(r,i)}}function Kh(t,e){return i=>{let r=false;for(let n=0;n<t.length;n++){let s=t[n](i);e[n].style.display=s?"":"none";if(s)r=true}return r}}class Vh{constructor(t,e={}){this.options=e;this.content=Array.isArray(t)?t:[t]}render(t){let e=Zh(this.content,t);let i=t.dom.ownerDocument.defaultView||window;let r=_h("div",{class:Ih+"-submenu-label"},Jh(t,this.options.label||""));let n=_h("div",{class:Ih+"-submenu-wrap"},r,_h("div",{class:Ih+"-submenu"},e.dom));let s=null;r.addEventListener("mousedown",(t=>{t.preventDefault();Uh(t);la(n,Ih+"-submenu-wrap-active",false);if(!s)i.addEventListener("mousedown",s=()=>{if(!Wh(n)){n.classList.remove(Ih+"-submenu-wrap-active");i.removeEventListener("mousedown",s);s=null}})}));function l(t){let i=e.update(t);n.style.display=i?"":"none";return i}return{dom:n,update:l}}}function Gh(t,e){let i=document.createDocumentFragment();let r=[],n=[];for(let s=0;s<e.length;s++){let l=e[s],u=[],o=[];for(let e=0;e<l.length;e++){let{dom:r,update:n}=l[e].render(t);let s=_h("span",{class:Ih+"item"},r);i.appendChild(s);o.push(s);u.push(n)}if(u.length){r.push(Kh(u,o));if(s<e.length-1)n.push(i.appendChild(Xh()))}}function s(t){let e=false,i=false;for(let s=0;s<r.length;s++){let l=r[s](t);if(s)n[s-1].style.display=i&&l?"":"none";i=l;if(l)e=true}return e}return{dom:i,update:s}}function Xh(){return _h("span",{class:Ih+"separator"})}const Yh={join:{width:800,height:900,path:"M0 75h800v125h-800z M0 825h800v-125h-800z M250 400h100v-100h100v100h100v100h-100v100h-100v-100h-100z"},lift:{width:1024,height:1024,path:"M219 310v329q0 7-5 12t-12 5q-8 0-13-5l-164-164q-5-5-5-13t5-13l164-164q5-5 13-5 7 0 12 5t5 12zM1024 749v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12zM1024 530v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 310v109q0 7-5 12t-12 5h-621q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h621q7 0 12 5t5 12zM1024 91v109q0 7-5 12t-12 5h-987q-7 0-12-5t-5-12v-109q0-7 5-12t12-5h987q7 0 12 5t5 12z"},selectParentNode:{text:"⬚",css:"font-weight: bold"},undo:{width:1024,height:1024,path:"M761 1024c113-206 132-520-313-509v253l-384-384 384-384v248c534-13 594 472 313 775z"},redo:{width:1024,height:1024,path:"M576 248v-248l384 384-384 384v-253c-446-10-427 303-313 509-280-303-221-789 313-775z"},strong:{width:805,height:1024,path:"M317 869q42 18 80 18 214 0 214-191 0-65-23-102-15-25-35-42t-38-26-46-14-48-6-54-1q-41 0-57 5 0 30-0 90t-0 90q0 4-0 38t-0 55 2 47 6 38zM309 442q24 4 62 4 46 0 81-7t62-25 42-51 14-81q0-40-16-70t-45-46-61-24-70-8q-28 0-74 7 0 28 2 86t2 86q0 15-0 45t-0 45q0 26 0 39zM0 950l1-53q8-2 48-9t60-15q4-6 7-15t4-19 3-18 1-21 0-19v-37q0-561-12-585-2-4-12-8t-25-6-28-4-27-2-17-1l-2-47q56-1 194-6t213-5q13 0 39 0t38 0q40 0 78 7t73 24 61 40 42 59 16 78q0 29-9 54t-22 41-36 32-41 25-48 22q88 20 146 76t58 141q0 57-20 102t-53 74-78 48-93 27-100 8q-25 0-75-1t-75-1q-60 0-175 6t-132 6z"},em:{width:585,height:1024,path:"M0 949l9-48q3-1 46-12t63-21q16-20 23-57 0-4 35-165t65-310 29-169v-14q-13-7-31-10t-39-4-33-3l10-58q18 1 68 3t85 4 68 1q27 0 56-1t69-4 56-3q-2 22-10 50-17 5-58 16t-62 19q-4 10-8 24t-5 22-4 26-3 24q-15 84-50 239t-44 203q-1 5-7 33t-11 51-9 47-3 32l0 10q9 2 105 17-1 25-9 56-6 0-18 0t-18 0q-16 0-49-5t-49-5q-78-1-117-1-29 0-81 5t-69 6z"},code:{width:896,height:1024,path:"M608 192l-96 96 224 224-224 224 96 96 288-320-288-320zM288 192l-288 320 288 320 96-96-224-224 224-224-96-96z"},link:{width:951,height:1024,path:"M832 694q0-22-16-38l-118-118q-16-16-38-16-24 0-41 18 1 1 10 10t12 12 8 10 7 14 2 15q0 22-16 38t-38 16q-8 0-15-2t-14-7-10-8-12-12-10-10q-18 17-18 41 0 22 16 38l117 118q15 15 38 15 22 0 38-14l84-83q16-16 16-38zM430 292q0-22-16-38l-117-118q-16-16-38-16-22 0-38 15l-84 83q-16 16-16 38 0 22 16 38l118 118q15 15 38 15 24 0 41-17-1-1-10-10t-12-12-8-10-7-14-2-15q0-22 16-38t38-16q8 0 15 2t14 7 10 8 12 12 10 10q18-17 18-41zM941 694q0 68-48 116l-84 83q-47 47-116 47-69 0-116-48l-117-118q-47-47-47-116 0-70 50-119l-50-50q-49 50-118 50-68 0-116-48l-118-118q-48-48-48-116t48-116l84-83q47-47 116-47 69 0 116 48l117 118q47 47 47 116 0 70-50 119l50 50q49-50 118-50 68 0 116 48l118 118q48 48 48 116z"},bulletList:{width:768,height:896,path:"M0 512h128v-128h-128v128zM0 256h128v-128h-128v128zM0 768h128v-128h-128v128zM256 512h512v-128h-512v128zM256 256h512v-128h-512v128zM256 768h512v-128h-512v128z"},orderedList:{width:768,height:896,path:"M320 512h448v-128h-448v128zM320 768h448v-128h-448v128zM320 128v128h448v-128h-448zM79 384h78v-256h-36l-85 23v50l43-2v185zM189 590c0-36-12-78-96-78-33 0-64 6-83 16l1 66c21-10 42-15 67-15s32 11 32 28c0 26-30 58-110 112v50h192v-67l-91 2c49-30 87-66 87-113l1-1z"},blockquote:{width:640,height:896,path:"M0 448v256h256v-256h-128c0 0 0-128 128-128v-128c0 0-256 0-256 256zM640 320v-128c0 0-256 0-256 256v256h256v-256h-128c0 0 0-128 128-128z"}};const Qh=new Ph({title:"Join with above block",run:Hf,select:t=>Hf(t),icon:Yh.join});const ta=new Ph({title:"Lift out of enclosing block",run:Kf,select:t=>Kf(t),icon:Yh.lift});const ea=new Ph({title:"Select parent node",run:ih,select:t=>ih(t),icon:Yh.selectParentNode});let ia=new Ph({title:"Undo last change",run:jf,enable:t=>jf(t),icon:Yh.undo});let ra=new Ph({title:"Redo last undone change",run:qf,enable:t=>qf(t),icon:Yh.redo});function na(t,e){let i={run(i,r){return fh(t,e.attrs)(i,r)},select(i){return fh(t,e.attrs)(i)}};for(let t in e)i[t]=e[t];return new Ph(i)}function sa(t,e){let i=hh(t,e.attrs);let r={run:i,enable(t){return i(t)},active(i){let{$from:r,to:n,node:s}=i.selection;if(s)return s.hasMarkup(t,e.attrs);return n<=r.end()&&r.parent.hasMarkup(t,e.attrs)}};for(let t in e)r[t]=e[t];return new Ph(r)}function la(t,e,i){if(i)t.classList.add(e);else t.classList.remove(e)}const ua="ProseMirror-menubar";function oa(){if(typeof navigator=="undefined")return false;let t=navigator.userAgent;return!/Edge\/\d/.test(t)&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t)}function fa(t){return new fn({view(e){return new ha(e,t)}})}class ha{constructor(t,e){this.editorView=t;this.options=e;this.spacer=null;this.maxHeight=0;this.widthForMaxHeight=0;this.floating=false;this.scrollHandler=null;this.wrapper=_h("div",{class:ua+"-wrapper"});this.menu=this.wrapper.appendChild(_h("div",{class:ua}));this.menu.className=ua;if(t.dom.parentNode)t.dom.parentNode.replaceChild(this.wrapper,t.dom);this.wrapper.appendChild(t.dom);let{dom:i,update:r}=Gh(this.editorView,this.options.content);this.contentUpdate=r;this.menu.appendChild(i);this.update();if(e.floating&&!oa()){this.updateFloat();let t=da(this.wrapper);this.scrollHandler=e=>{let i=this.editorView.root;if(!(i.body||i).contains(this.wrapper))t.forEach((t=>t.removeEventListener("scroll",this.scrollHandler)));else this.updateFloat(e.target.getBoundingClientRect?e.target:undefined)};t.forEach((t=>t.addEventListener("scroll",this.scrollHandler)))}}update(){this.contentUpdate(this.editorView.state);if(this.floating){this.updateScrollCursor()}else{if(this.menu.offsetWidth!=this.widthForMaxHeight){this.widthForMaxHeight=this.menu.offsetWidth;this.maxHeight=0}if(this.menu.offsetHeight>this.maxHeight){this.maxHeight=this.menu.offsetHeight;this.menu.style.minHeight=this.maxHeight+"px"}}}updateScrollCursor(){let t=this.editorView.root.getSelection();if(!t.focusNode)return;let e=t.getRangeAt(0).getClientRects();let i=e[aa(t)?0:e.length-1];if(!i)return;let r=this.menu.getBoundingClientRect();if(i.top<r.bottom&&i.bottom>r.top){let t=ca(this.wrapper);if(t)t.scrollTop-=r.bottom-i.top}}updateFloat(t){let e=this.wrapper,i=e.getBoundingClientRect(),r=t?Math.max(0,t.getBoundingClientRect().top):0;if(this.floating){if(i.top>=r||i.bottom<this.menu.offsetHeight+10){this.floating=false;this.menu.style.position=this.menu.style.left=this.menu.style.top=this.menu.style.width="";this.menu.style.display="";this.spacer.parentNode.removeChild(this.spacer);this.spacer=null}else{let n=(e.offsetWidth-e.clientWidth)/2;this.menu.style.left=i.left+n+"px";this.menu.style.display=i.top>(this.editorView.dom.ownerDocument.defaultView||window).innerHeight?"none":"";if(t)this.menu.style.top=r+"px"}}else{if(i.top<r&&i.bottom>=this.menu.offsetHeight+10){this.floating=true;let i=this.menu.getBoundingClientRect();this.menu.style.left=i.left+"px";this.menu.style.width=i.width+"px";if(t)this.menu.style.top=r+"px";this.menu.style.position="fixed";this.spacer=_h("div",{class:ua+"-spacer",style:`height: ${i.height}px`});e.insertBefore(this.spacer,this.menu)}}}destroy(){if(this.wrapper.parentNode)this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}}function aa(t){if(t.anchorNode==t.focusNode)return t.anchorOffset>t.focusOffset;return t.anchorNode.compareDocumentPosition(t.focusNode)==Node.DOCUMENT_POSITION_FOLLOWING}function ca(t){for(let e=t.parentNode;e;e=e.parentNode)if(e.scrollHeight>e.clientHeight)return e}function da(t){let e=[t.ownerDocument.defaultView||window];for(let i=t.parentNode;i;i=i.parentNode)e.push(i);return e}class pa{constructor(t,e,i={}){this.match=t;this.match=t;this.handler=typeof e=="string"?ma(e):e;this.undoable=i.undoable!==false;this.inCode=i.inCode||false}}function ma(t){return function(e,i,r,n){let s=t;if(i[1]){let t=i[0].lastIndexOf(i[1]);s+=i[0].slice(t+i[1].length);r+=t;let e=r-n;if(e>0){s=i[0].slice(t-e,t)+s;r=n}}return e.tr.insertText(s,r,n)}}const wa=500;function ga({rules:t}){let e=new fn({state:{init(){return null},apply(t,e){let i=t.getMeta(this);if(i)return i;return t.selectionSet||t.docChanged?null:e}},props:{handleTextInput(i,r,n,s){return ba(i,r,n,s,t,e)},handleDOMEvents:{compositionend:i=>{setTimeout((()=>{let{$cursor:r}=i.state.selection;if(r)ba(i,r.pos,r.pos,"",t,e)}))}}},isInputRules:true});return e}function ba(t,e,i,r,n,s){if(t.composing)return false;let l=t.state,u=l.doc.resolve(e);let o=u.parent.textBetween(Math.max(0,u.parentOffset-wa),u.parentOffset,null,"")+r;for(let f=0;f<n.length;f++){let h=n[f];if(u.parent.type.spec.code){if(!h.inCode)continue}else if(h.inCode==="only"){continue}let a=h.match.exec(o);let c=a&&h.handler(l,a,e-(a[0].length-r.length),i);if(!c)continue;if(h.undoable)c.setMeta(s,{transform:c,from:e,to:i,text:r});t.dispatch(c);return true}return false}const ka=(t,e)=>{let i=t.plugins;for(let r=0;r<i.length;r++){let n=i[r],s;if(n.spec.isInputRules&&(s=n.getState(t))){if(e){let i=t.tr,r=s.transform;for(let t=r.steps.length-1;t>=0;t--)i.step(r.steps[t].invert(r.docs[t]));if(s.text){let e=i.doc.resolve(s.from).marks();i.replaceWith(s.from,s.to,t.schema.text(s.text,e))}else{i.delete(s.from,s.to)}e(i)}return true}}return false};const Da=new pa(/--$/,"—");const va=new pa(/\.\.\.$/,"…");const ya=new pa(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(")$/,"“");const Fa=new pa(/"$/,"”");const Ea=new pa(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(')$/,"‘");const xa=new pa(/'$/,"’");const Ma=[ya,Fa,Ea,xa];function Aa(t,e,i=null,r){return new pa(t,((t,n,s,l)=>{let u=i instanceof Function?i(n):i;let o=t.tr.delete(s,l);let f=o.doc.resolve(s),h=f.blockRange(),a=h&&nr(h,e,u);if(!a)return null;o.wrap(h,a);let c=o.doc.resolve(s-1).nodeBefore;if(c&&c.type==e&&pr(o.doc,s-1)&&(!r||r(n,c)))o.join(s-1);return o}))}function Ca(t,e,i=null){return new pa(t,((t,r,n,s)=>{let l=t.doc.resolve(n);let u=i instanceof Function?i(r):i;if(!l.node(-1).canReplaceWith(l.index(-1),l.indexAfter(-1),e))return null;return t.tr.delete(n,s).setBlockType(n,n,e,u)}))}const Sa="ProseMirror-prompt";function Oa(t){let e=document.body.appendChild(document.createElement("div"));e.className=Sa;let i=t=>{if(!e.contains(t.target))r()};setTimeout((()=>window.addEventListener("mousedown",i)),50);let r=()=>{window.removeEventListener("mousedown",i);if(e.parentNode)e.parentNode.removeChild(e)};let n=[];for(let e in t.fields)n.push(t.fields[e].render());let s=document.createElement("button");s.type="submit";s.className=Sa+"-submit";s.textContent="OK";let l=document.createElement("button");l.type="button";l.className=Sa+"-cancel";l.textContent="Cancel";l.addEventListener("click",r);let u=e.appendChild(document.createElement("form"));if(t.title)u.appendChild(document.createElement("h5")).textContent=t.title;n.forEach((t=>{u.appendChild(document.createElement("div")).appendChild(t)}));let o=u.appendChild(document.createElement("div"));o.className=Sa+"-buttons";o.appendChild(s);o.appendChild(document.createTextNode(" "));o.appendChild(l);let f=e.getBoundingClientRect();e.style.top=(window.innerHeight-f.height)/2+"px";e.style.left=(window.innerWidth-f.width)/2+"px";let h=()=>{let e=$a(t.fields,n);if(e){r();t.callback(e)}};u.addEventListener("submit",(t=>{t.preventDefault();h()}));u.addEventListener("keydown",(t=>{if(t.keyCode==27){t.preventDefault();r()}else if(t.keyCode==13&&!(t.ctrlKey||t.metaKey||t.shiftKey)){t.preventDefault();h()}else if(t.keyCode==9){window.setTimeout((()=>{if(!e.contains(document.activeElement))r()}),500)}}));let a=u.elements[0];if(a)a.focus()}function $a(t,e){let i=Object.create(null),r=0;for(let n in t){let s=t[n],l=e[r++];let u=s.read(l),o=s.validate(u);if(o){_a(l,o);return null}i[n]=s.clean(u)}return i}function _a(t,e){let i=t.parentNode;let r=i.appendChild(document.createElement("div"));r.style.left=t.offsetLeft+t.offsetWidth+2+"px";r.style.top=t.offsetTop-5+"px";r.className="ProseMirror-invalid";r.textContent=e;setTimeout((()=>i.removeChild(r)),1500)}class Ba{constructor(t){this.options=t}read(t){return t.value}validateType(t){return null}validate(t){if(!t&&this.options.required)return"Required field";return this.validateType(t)||(this.options.validate?this.options.validate(t):null)}clean(t){return this.options.clean?this.options.clean(t):t}}class ja extends Ba{render(){let t=document.createElement("input");t.type="text";t.placeholder=this.options.label;t.value=this.options.value||"";t.autocomplete="off";return t}}function qa(t,e){let i=t.selection.$from;for(let t=i.depth;t>=0;t--){let r=i.index(t);if(i.node(t).canReplaceWith(r,r,e))return true}return false}function Ra(t){return new Ph({title:"Insert image",label:"Image",enable(e){return qa(e,t)},run(e,i,r){let{from:n,to:s}=e.selection,l=null;if(e.selection instanceof Hr&&e.selection.node.type==t)l=e.selection.node.attrs;Oa({title:"Insert image",fields:{src:new ja({label:"Location",required:true,value:l&&l.src}),title:new ja({label:"Title",value:l&&l.title}),alt:new ja({label:"Description",value:l?l.alt:e.doc.textBetween(n,s," ")})},callback(e){r.dispatch(r.state.tr.replaceSelectionWith(t.createAndFill(e)));r.focus()}})}})}function Na(t,e){let i={label:e.title,run:t};for(let t in e)i[t]=e[t];if(!e.enable&&!e.select)i[e.enable?"enable":"select"]=e=>t(e);return new Ph(i)}function za(t,e){let{from:i,$from:r,to:n,empty:s}=t.selection;if(s)return!!e.isInSet(t.storedMarks||r.marks());else return t.doc.rangeHasMark(i,n,e)}function Ta(t,e){let i={active(e){return za(e,t)}};for(let t in e)i[t]=e[t];return Na(ch(t),i)}function Ia(t){return new Ph({title:"Add or remove link",icon:Yh.link,active(e){return za(e,t)},enable(t){return!t.selection.empty},run(e,i,r){if(za(e,t)){ch(t)(e,i);return true}Oa({title:"Create a link",fields:{href:new ja({label:"Link target",required:true}),title:new ja({label:"Title"})},callback(e){ch(t,e)(r.state,r.dispatch);r.focus()}})}})}function Pa(t,e){return Na(Ho(t,e.attrs),e)}function Ja(t){let e={};let i;if(i=t.marks.strong)e.toggleStrong=Ta(i,{title:"Toggle strong style",icon:Yh.strong});if(i=t.marks.em)e.toggleEm=Ta(i,{title:"Toggle emphasis",icon:Yh.em});if(i=t.marks.code)e.toggleCode=Ta(i,{title:"Toggle code font",icon:Yh.code});if(i=t.marks.link)e.toggleLink=Ia(i);let r;if(r=t.nodes.image)e.insertImage=Ra(r);if(r=t.nodes.bullet_list)e.wrapBulletList=Pa(r,{title:"Wrap in bullet list",icon:Yh.bulletList});if(r=t.nodes.ordered_list)e.wrapOrderedList=Pa(r,{title:"Wrap in ordered list",icon:Yh.orderedList});if(r=t.nodes.blockquote)e.wrapBlockQuote=na(r,{title:"Wrap in block quote",icon:Yh.blockquote});if(r=t.nodes.paragraph)e.makeParagraph=sa(r,{title:"Change to paragraph",label:"Plain"});if(r=t.nodes.code_block)e.makeCodeBlock=sa(r,{title:"Change to code block",label:"Code"});if(r=t.nodes.heading)for(let t=1;t<=10;t++)e["makeHead"+t]=sa(r,{title:"Change to heading "+t,label:"Level "+t,attrs:{level:t}});if(r=t.nodes.horizontal_rule){let t=r;e.insertHorizontalRule=new Ph({title:"Insert horizontal rule",label:"Horizontal rule",enable(e){return qa(e,t)},run(e,i){i(e.tr.replaceSelectionWith(t.create()))}})}let n=t=>t.filter((t=>t));e.insertMenu=new Hh(n([e.insertImage,e.insertHorizontalRule]),{label:"Insert"});e.typeMenu=new Hh(n([e.makeParagraph,e.makeCodeBlock,e.makeHead1&&new Vh(n([e.makeHead1,e.makeHead2,e.makeHead3,e.makeHead4,e.makeHead5,e.makeHead6]),{label:"Heading"})]),{label:"Type..."});e.inlineMenu=[n([e.toggleStrong,e.toggleEm,e.toggleCode,e.toggleLink])];e.blockMenu=[n([e.wrapBulletList,e.wrapOrderedList,e.wrapBlockQuote,Qh,ta,ea])];e.fullMenu=e.inlineMenu.concat([[e.insertMenu,e.typeMenu]],[[ia,ra]],e.blockMenu);return e}const La=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function Ua(t,e){let i={},r;function n(t,r){if(e){let i=e[t];if(i===false)return;if(i)t=i}i[t]=r}n("Mod-z",jf);n("Shift-Mod-z",qf);n("Backspace",ka);if(!La)n("Mod-y",qf);n("Alt-ArrowUp",Hf);n("Alt-ArrowDown",Zf);n("Mod-BracketLeft",Kf);n("Escape",ih);if(r=t.marks.strong){n("Mod-b",ch(r));n("Mod-B",ch(r))}if(r=t.marks.em){n("Mod-i",ch(r));n("Mod-I",ch(r))}if(r=t.marks.code)n("Mod-`",ch(r));if(r=t.nodes.bullet_list)n("Shift-Ctrl-8",Ho(r));if(r=t.nodes.ordered_list)n("Shift-Ctrl-9",Ho(r));if(r=t.nodes.blockquote)n("Ctrl->",fh(r));if(r=t.nodes.hard_break){let t=r,e=dh(Xf,((e,i)=>{if(i)i(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}));n("Mod-Enter",e);n("Shift-Enter",e);if(La)n("Ctrl-Enter",e)}if(r=t.nodes.list_item){n("Enter",Ko(r));n("Mod-[",Vo(r));n("Mod-]",Yo(r))}if(r=t.nodes.paragraph)n("Shift-Ctrl-0",hh(r));if(r=t.nodes.code_block)n("Shift-Ctrl-\\",hh(r));if(r=t.nodes.heading)for(let t=1;t<=6;t++)n("Shift-Ctrl-"+t,hh(r,{level:t}));if(r=t.nodes.horizontal_rule){let t=r;n("Mod-_",((e,i)=>{if(i)i(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}))}return i}function Wa(t){return Aa(/^\s*>\s$/,t)}function Ha(t){return Aa(/^(\d+)\.\s$/,t,(t=>({order:+t[1]})),((t,e)=>e.childCount+e.attrs.order==+t[1]))}function Za(t){return Aa(/^\s*([-+*])\s$/,t)}function Ka(t){return Ca(/^```$/,t)}function Va(t,e){return Ca(new RegExp("^(#{1,"+e+"})\\s$"),t,(t=>({level:t[1].length})))}function Ga(t){let e=Ma.concat(va,Da),i;if(i=t.nodes.blockquote)e.push(Wa(i));if(i=t.nodes.ordered_list)e.push(Ha(i));if(i=t.nodes.bullet_list)e.push(Za(i));if(i=t.nodes.code_block)e.push(Ka(i));if(i=t.nodes.heading)e.push(Va(i,6));return ga({rules:e})}function Xa(t){let e=[Ga(t.schema),af(Ua(t.schema,t.mapKeys)),af(kh),Dh(),Mh()];if(t.menuBar!==false)e.push(fa({floating:t.floatingMenu!==false,content:t.menuContent||Ja(t.schema).fullMenu}));if(t.history!==false)e.push(Bf());return e.concat(new fn({props:{attributes:{class:"ProseMirror-example-setup-style"}}}))}const Ya={Bold:"strong",Italic:"em",Blockquote:"blockquote",HeaderLevel1:"headerlevel1",HeaderLevel2:"headerlevel2",HeaderLevel3:"headerlevel3",Link:"link",OrderedList:"ordered_list",BulletList:"bullet_list",Strikethrough:"strikethrough",Code:"code",CodeBlock:"code_block"};const Qa={Heading:"heading",one:1,two:2,three:3};const tc=(t,e)=>{t.active=t=>{const{from:i,$from:r,to:n,empty:s}=t.selection;if(s){return!!e.isInSet(t.storedMarks||r.marks())}else{return t.doc.rangeHasMark(i,n,e)}}};const ec=(t,e,i)=>{t.active=t=>{const{$from:r}=t.selection;const n=r.node(r.depth);if(n&&n.type.name===e.name){if(e.name===Qa.Heading&&i){return n.attrs.level===i}return true}return false}};const ic=(t,e)=>{t.active=t=>{const{from:i,to:r}=t.selection;for(let n=i;n<=r;n++){const i=t.doc.resolve(n);for(let t=i.depth;t>0;t--){const r=i.node(t);if(r&&r.type.name===e.name){return true}}}return false}};const rc=(t,e,i)=>{const r=(e,r)=>{const{from:n,to:s}=e.selection;if(n===s){const s=t.marks.link.create({href:i.href,title:i.href,target:lc(i.href)?"_blank":null});const l=i.text||i.href;const u=t.text(l,[s]);r(e.tr.insert(n,u))}else{const l=t.marks.link.create({href:i.href,title:i.href,target:lc(i.href)?"_blank":null});const u=e.doc.textBetween(n,s," ");const o=t.text(i.text||u,[l]);r(e.tr.replaceWith(n,s,o))}return true};tc(r,t.marks.link);return r};const nc=(t,e,i)=>{const r=t.marks[e];if(!r){throw new Error(`Mark "${e}" not found in schema`)}const n=sc(e,i);const s=ch(r,n);tc(s,r);return s};const sc=(t,e)=>{if(t===Ya.Link&&e.href){return{href:e.href,target:lc(e.href)?"_blank":null}}return undefined};const lc=t=>!t.startsWith(window.location.origin);const uc=(t,e,i={},r=false)=>{const n=t.nodes[e];const s=t.nodes.paragraph;return(t,e)=>{const{$from:l,to:u}=t.selection;if(t.selection instanceof Ur&&l.sameParent(l.doc.resolve(u))){if(l.parent.type===n){if(e){e(t.tr.setBlockType(l.pos,u,s))}return true}else{if(r){return fh(n,i)(t,e)}else{return hh(n,i)(t,e)}}}return false}};const oc=t=>{try{new URL(t)}catch(t){return false}return true};const fc=(t,e,i)=>{const r=t.nodes[e];if(!r){throw new Error(`Node type "${e}" not found in schema`)}let n;if(e===Qa.Heading&&i){n=uc(t,Qa.Heading,{level:i})}else if(e===Ya.CodeBlock){n=uc(t,Ya.CodeBlock)}else{n=hh(r)}ec(n,r,i);return n};const hc=(t,e)=>{const i=t.nodes[e];if(!i){throw new Error(`Node type "${e}" not found in schema`)}let r;if(e===Ya.Blockquote){r=uc(t,Ya.Blockquote,{},true)}else{r=fh(i)}ic(r,i);return r};const ac=t=>(e,i)=>{const{$from:r,$to:n}=e.selection;const s=r.blockRange(n);if(!s){return false}const l=s&&nr(s,t);if(l){if(i){i(e.tr.wrap(s,l).scrollIntoView())}return true}else{const t=s&&ir(s);if(t!==null){if(i){i(e.tr.lift(s,t).scrollIntoView())}return true}return false}};const cc=(t,e)=>{const i=t.nodes[e];if(!i){throw new Error(`List type "${e}" not found in schema`)}const r=ac(i);ic(r,i);return r};const dc=(t,e)=>{const{from:i,to:r}=t.selection;if(i===r){return false}const n=window.clipboardData;if(!n){return false}const s=n.getData("text");if(!oc(s)){return false}const l=t.schema.marks.link.create({href:s,target:lc(s)?"_blank":null});const u=t.doc.textBetween(i,r," ");const o=t.schema.text(u,[l]);e(t.tr.replaceWith(i,r,o))};const pc={strong:nc,em:nc,underline:nc,strikethrough:nc,code:nc,link:rc,headerlevel1:t=>fc(t,Qa.Heading,Qa.one),headerlevel2:t=>fc(t,Qa.Heading,Qa.two),headerlevel3:t=>fc(t,Qa.Heading,Qa.three),blockquote:t=>hc(t,Ya.Blockquote),code_block:t=>fc(t,Ya.CodeBlock),ordered_list:t=>cc(t,Ya.OrderedList),bullet_list:t=>cc(t,Ya.BulletList)};class mc{constructor(t){this.schema=t}getCommand(t,e){const i=pc[t];if(!i){throw new Error(`The Mark "${t}" is not supported`)}return i(this.schema,t,e)}buildKeymap(){return{"Mod-B":this.getCommand(Ya.Bold),"Mod-I":this.getCommand(Ya.Italic),"Mod-Shift-1":this.getCommand(Ya.HeaderLevel1),"Mod-Shift-2":this.getCommand(Ya.HeaderLevel2),"Mod-Shift-3":this.getCommand(Ya.HeaderLevel3),"Mod-Shift-X":this.getCommand(Ya.Strikethrough),"Mod-`":this.getCommand(Ya.Code),"Mod-Shift-C":this.getCommand(Ya.CodeBlock),"Mod-v":dc}}}const wc=()=>{const t=/Macintosh|MacIntel|MacPPC|Mac68K/;if(navigator.userAgent.match(t)){return{mod:"⌘",option:"⌥",shift:"⇧"}}return{mod:"Ctrl",option:"Alt",shift:"Shift"}};const{mod:gc,shift:bc}=wc();const kc=[{value:Ya.Bold,text:"Bold",commandText:`${gc} B`,icon:"-lime-text-bold",iconOnly:true,selected:false},{value:Ya.Italic,text:"Italic",commandText:`${gc} I`,icon:"-lime-text-italic",iconOnly:true,selected:false},{value:Ya.Strikethrough,text:"Strikethrough",commandText:`${gc} ${bc} X`,icon:"-lime-text-strikethrough",iconOnly:true,selected:false},{value:Ya.Code,text:"Code",commandText:`${gc} \``,icon:"-lime-text-code",iconOnly:true,selected:false},{value:Ya.CodeBlock,text:"Code Block",commandText:`${gc} ${bc} C`,icon:"-lime-text-code-block",iconOnly:true,selected:false},{separator:true},{value:Ya.HeaderLevel1,text:"Header 1",commandText:`${gc} ${bc} 1`,icon:"-lime-text-h-heading-1",iconOnly:true,selected:false},{value:Ya.HeaderLevel2,text:"Header 2",commandText:`${gc} ${bc} 2`,icon:"-lime-text-h-heading-2",iconOnly:true,selected:false},{value:Ya.HeaderLevel3,text:"Header 3",commandText:`${gc} ${bc} 3`,icon:"-lime-text-h-heading-3",iconOnly:true,selected:false},{separator:true},{value:Ya.BulletList,text:"Bullet list",icon:"-lime-text-bulleted-list",iconOnly:true,selected:false},{value:Ya.OrderedList,text:"Numbered list",icon:"-lime-text-ordered-list",iconOnly:true,selected:false},{value:Ya.Blockquote,text:"Blockquote",icon:"-lime-text-blockquote",iconOnly:true,selected:false},{value:Ya.Link,text:"Link",icon:"-lime-text-link",iconOnly:true}];const Dc=()=>he(kc);const vc={strong:"editor-menu.bold",em:"editor-menu.italic",headerlevel1:"editor-menu.h1",headerlevel2:"editor-menu.h2",headerlevel3:"editor-menu.h3",bullet_list:"editor-menu.bulleted-list",ordered_list:"editor-menu.numbered-list",code_block:"editor-menu.code-block",blockquote:"editor-menu.blockquote",link:"editor-menu.link",strikethrough:"editor-menu.strikethrough",code:"editor-menu.code"};const yc={};function Fc(t){let e=yc[t];if(e){return e}e=yc[t]=[];for(let t=0;t<128;t++){const i=String.fromCharCode(t);e.push(i)}for(let i=0;i<t.length;i++){const r=t.charCodeAt(i);e[r]="%"+("0"+r.toString(16).toUpperCase()).slice(-2)}return e}function Ec(t,e){if(typeof e!=="string"){e=Ec.defaultChars}const i=Fc(e);return t.replace(/(%[a-f0-9]{2})+/gi,(function(t){let e="";for(let r=0,n=t.length;r<n;r+=3){const s=parseInt(t.slice(r+1,r+3),16);if(s<128){e+=i[s];continue}if((s&224)===192&&r+3<n){const i=parseInt(t.slice(r+4,r+6),16);if((i&192)===128){const t=s<<6&1984|i&63;if(t<128){e+="��"}else{e+=String.fromCharCode(t)}r+=3;continue}}if((s&240)===224&&r+6<n){const i=parseInt(t.slice(r+4,r+6),16);const n=parseInt(t.slice(r+7,r+9),16);if((i&192)===128&&(n&192)===128){const t=s<<12&61440|i<<6&4032|n&63;if(t<2048||t>=55296&&t<=57343){e+="���"}else{e+=String.fromCharCode(t)}r+=6;continue}}if((s&248)===240&&r+9<n){const i=parseInt(t.slice(r+4,r+6),16);const n=parseInt(t.slice(r+7,r+9),16);const l=parseInt(t.slice(r+10,r+12),16);if((i&192)===128&&(n&192)===128&&(l&192)===128){let t=s<<18&1835008|i<<12&258048|n<<6&4032|l&63;if(t<65536||t>1114111){e+="����"}else{t-=65536;e+=String.fromCharCode(55296+(t>>10),56320+(t&1023))}r+=9;continue}}e+="�"}return e}))}Ec.defaultChars=";/?:@&=+$,#";Ec.componentChars="";const xc={};function Mc(t){let e=xc[t];if(e){return e}e=xc[t]=[];for(let t=0;t<128;t++){const i=String.fromCharCode(t);if(/^[0-9a-z]$/i.test(i)){e.push(i)}else{e.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}}for(let i=0;i<t.length;i++){e[t.charCodeAt(i)]=t[i]}return e}function Ac(t,e,i){if(typeof e!=="string"){i=e;e=Ac.defaultChars}if(typeof i==="undefined"){i=true}const r=Mc(e);let n="";for(let e=0,s=t.length;e<s;e++){const l=t.charCodeAt(e);if(i&&l===37&&e+2<s){if(/^[0-9a-f]{2}$/i.test(t.slice(e+1,e+3))){n+=t.slice(e,e+3);e+=2;continue}}if(l<128){n+=r[l];continue}if(l>=55296&&l<=57343){if(l>=55296&&l<=56319&&e+1<s){const i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){n+=encodeURIComponent(t[e]+t[e+1]);e++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(t[e])}return n}Ac.defaultChars=";/?:@&=+$,-_.!~*'()#";Ac.componentChars="-_.!~*'()";function Cc(t){let e="";e+=t.protocol||"";e+=t.slashes?"//":"";e+=t.auth?t.auth+"@":"";if(t.hostname&&t.hostname.indexOf(":")!==-1){e+="["+t.hostname+"]"}else{e+=t.hostname||""}e+=t.port?":"+t.port:"";e+=t.pathname||"";e+=t.search||"";e+=t.hash||"";return e}function Sc(){this.protocol=null;this.slashes=null;this.auth=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.pathname=null}const Oc=/^([a-z0-9.+-]+:)/i;const $c=/:[0-9]*$/;const _c=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/;const Bc=["<",">",'"',"`"," ","\r","\n","\t"];const jc=["{","}","|","\\","^","`"].concat(Bc);const qc=["'"].concat(jc);const Rc=["%","/","?",";","#"].concat(qc);const Nc=["/","?","#"];const zc=255;const Tc=/^[+a-z0-9A-Z_-]{0,63}$/;const Ic=/^([+a-z0-9A-Z_-]{0,63})(.*)$/;const Pc={javascript:true,"javascript:":true};const Jc={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true};function Lc(t,e){if(t&&t instanceof Sc)return t;const i=new Sc;i.parse(t,e);return i}Sc.prototype.parse=function(t,e){let i,r,n;let s=t;s=s.trim();if(!e&&t.split("#").length===1){const t=_c.exec(s);if(t){this.pathname=t[1];if(t[2]){this.search=t[2]}return this}}let l=Oc.exec(s);if(l){l=l[0];i=l.toLowerCase();this.protocol=l;s=s.substr(l.length)}if(e||l||s.match(/^\/\/[^@\/]+@[^@\/]+/)){n=s.substr(0,2)==="//";if(n&&!(l&&Pc[l])){s=s.substr(2);this.slashes=true}}if(!Pc[l]&&(n||l&&!Jc[l])){let t=-1;for(let e=0;e<Nc.length;e++){r=s.indexOf(Nc[e]);if(r!==-1&&(t===-1||r<t)){t=r}}let e,i;if(t===-1){i=s.lastIndexOf("@")}else{i=s.lastIndexOf("@",t)}if(i!==-1){e=s.slice(0,i);s=s.slice(i+1);this.auth=e}t=-1;for(let e=0;e<Rc.length;e++){r=s.indexOf(Rc[e]);if(r!==-1&&(t===-1||r<t)){t=r}}if(t===-1){t=s.length}if(s[t-1]===":"){t--}const n=s.slice(0,t);s=s.slice(t);this.parseHost(n);this.hostname=this.hostname||"";const l=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!l){const t=this.hostname.split(/\./);for(let e=0,i=t.length;e<i;e++){const i=t[e];if(!i){continue}if(!i.match(Tc)){let r="";for(let t=0,e=i.length;t<e;t++){if(i.charCodeAt(t)>127){r+="x"}else{r+=i[t]}}if(!r.match(Tc)){const r=t.slice(0,e);const n=t.slice(e+1);const l=i.match(Ic);if(l){r.push(l[1]);n.unshift(l[2])}if(n.length){s=n.join(".")+s}this.hostname=r.join(".");break}}}}if(this.hostname.length>zc){this.hostname=""}if(l){this.hostname=this.hostname.substr(1,this.hostname.length-2)}}const u=s.indexOf("#");if(u!==-1){this.hash=s.substr(u);s=s.slice(0,u)}const o=s.indexOf("?");if(o!==-1){this.search=s.substr(o);s=s.slice(0,o)}if(s){this.pathname=s}if(Jc[i]&&this.hostname&&!this.pathname){this.pathname=""}return this};Sc.prototype.parseHost=function(t){let e=$c.exec(t);if(e){e=e[0];if(e!==":"){this.port=e.substr(1)}t=t.substr(0,t.length-e.length)}if(t){this.hostname=t}};const Uc=Object.freeze({__proto__:null,decode:Ec,encode:Ac,format:Cc,parse:Lc});const Wc=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;const Hc=/[\0-\x1F\x7F-\x9F]/;const Zc=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;const Kc=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;const Vc=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;const Gc=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;const Xc=Object.freeze({__proto__:null,Any:Wc,Cc:Hc,Cf:Zc,P:Kc,S:Vc,Z:Gc});function Yc(t){return Object.prototype.toString.call(t)}function Qc(t){return Yc(t)==="[object String]"}const td=Object.prototype.hasOwnProperty;function ed(t,e){return td.call(t,e)}function id(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}if(typeof e!=="object"){throw new TypeError(e+"must be object")}Object.keys(e).forEach((function(i){t[i]=e[i]}))}));return t}function rd(t,e,i){return[].concat(t.slice(0,e),i,t.slice(e+1))}function nd(t){if(t>=55296&&t<=57343){return false}if(t>=64976&&t<=65007){return false}if((t&65535)===65535||(t&65535)===65534){return false}if(t>=0&&t<=8){return false}if(t===11){return false}if(t>=14&&t<=31){return false}if(t>=127&&t<=159){return false}if(t>1114111){return false}return true}function sd(t){if(t>65535){t-=65536;const e=55296+(t>>10);const i=56320+(t&1023);return String.fromCharCode(e,i)}return String.fromCharCode(t)}const ld=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;const ud=/&([a-z#][a-z0-9]{1,31});/gi;const od=new RegExp(ld.source+"|"+ud.source,"gi");const fd=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function hd(t,e){if(e.charCodeAt(0)===35&&fd.test(e)){const i=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);if(nd(i)){return sd(i)}return t}const i=x(t);if(i!==t){return i}return t}function ad(t){if(t.indexOf("\\")<0){return t}return t.replace(ld,"$1")}function cd(t){if(t.indexOf("\\")<0&&t.indexOf("&")<0){return t}return t.replace(od,(function(t,e,i){if(e){return e}return hd(t,i)}))}const dd=/[&<>"]/;const pd=/[&<>"]/g;const md={"&":"&","<":"<",">":">",'"':"""};function wd(t){return md[t]}function gd(t){if(dd.test(t)){return t.replace(pd,wd)}return t}const bd=/[.?*+^$[\]\\(){}|-]/g;function kd(t){return t.replace(bd,"\\$&")}function Dd(t){switch(t){case 9:case 32:return true}return false}function vd(t){if(t>=8192&&t<=8202){return true}switch(t){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return true}return false}function yd(t){return Kc.test(t)||Vc.test(t)}function Fd(t){switch(t){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return true;default:return false}}function Ed(t){t=t.trim().replace(/\s+/g," ");if("ẞ".toLowerCase()==="Ṿ"){t=t.replace(/ẞ/g,"ß")}return t.toLowerCase().toUpperCase()}const xd={mdurl:Uc,ucmicro:Xc};const Md=Object.freeze({__proto__:null,lib:xd,assign:id,isString:Qc,has:ed,unescapeMd:ad,unescapeAll:cd,isValidEntityCode:nd,fromCodePoint:sd,escapeHtml:gd,arrayReplaceAt:rd,isSpace:Dd,isWhiteSpace:vd,isMdAsciiPunct:Fd,isPunctChar:yd,escapeRE:kd,normalizeReference:Ed});function Ad(t,e,i){let r,n,s,l;const u=t.posMax;const o=t.pos;t.pos=e+1;r=1;while(t.pos<u){s=t.src.charCodeAt(t.pos);if(s===93){r--;if(r===0){n=true;break}}l=t.pos;t.md.inline.skipToken(t);if(s===91){if(l===t.pos-1){r++}else if(i){t.pos=o;return-1}}}let f=-1;if(n){f=t.pos}t.pos=o;return f}function Cd(t,e,i){let r;let n=e;const s={ok:false,pos:0,str:""};if(t.charCodeAt(n)===60){n++;while(n<i){r=t.charCodeAt(n);if(r===10){return s}if(r===60){return s}if(r===62){s.pos=n+1;s.str=cd(t.slice(e+1,n));s.ok=true;return s}if(r===92&&n+1<i){n+=2;continue}n++}return s}let l=0;while(n<i){r=t.charCodeAt(n);if(r===32){break}if(r<32||r===127){break}if(r===92&&n+1<i){if(t.charCodeAt(n+1)===32){break}n+=2;continue}if(r===40){l++;if(l>32){return s}}if(r===41){if(l===0){break}l--}n++}if(e===n){return s}if(l!==0){return s}s.str=cd(t.slice(e,n));s.pos=n;s.ok=true;return s}function Sd(t,e,i,r){let n;let s=e;const l={ok:false,can_continue:false,pos:0,str:"",marker:0};if(r){l.str=r.str;l.marker=r.marker}else{if(s>=i){return l}let r=t.charCodeAt(s);if(r!==34&&r!==39&&r!==40){return l}e++;s++;if(r===40){r=41}l.marker=r}while(s<i){n=t.charCodeAt(s);if(n===l.marker){l.pos=s+1;l.str+=cd(t.slice(e,s));l.ok=true;return l}else if(n===40&&l.marker===41){return l}else if(n===92&&s+1<i){s++}s++}l.can_continue=true;l.str+=cd(t.slice(e,s));return l}const Od=Object.freeze({__proto__:null,parseLinkLabel:Ad,parseLinkDestination:Cd,parseLinkTitle:Sd});const $d={};$d.code_inline=function(t,e,i,r,n){const s=t[e];return"<code"+n.renderAttrs(s)+">"+gd(s.content)+"</code>"};$d.code_block=function(t,e,i,r,n){const s=t[e];return"<pre"+n.renderAttrs(s)+"><code>"+gd(t[e].content)+"</code></pre>\n"};$d.fence=function(t,e,i,r,n){const s=t[e];const l=s.info?cd(s.info).trim():"";let u="";let o="";if(l){const t=l.split(/(\s+)/g);u=t[0];o=t.slice(2).join("")}let f;if(i.highlight){f=i.highlight(s.content,u,o)||gd(s.content)}else{f=gd(s.content)}if(f.indexOf("<pre")===0){return f+"\n"}if(l){const t=s.attrIndex("class");const e=s.attrs?s.attrs.slice():[];if(t<0){e.push(["class",i.langPrefix+u])}else{e[t]=e[t].slice();e[t][1]+=" "+i.langPrefix+u}const r={attrs:e};return`<pre><code${n.renderAttrs(r)}>${f}</code></pre>\n`}return`<pre><code${n.renderAttrs(s)}>${f}</code></pre>\n`};$d.image=function(t,e,i,r,n){const s=t[e];s.attrs[s.attrIndex("alt")][1]=n.renderInlineAsText(s.children,i,r);return n.renderToken(t,e,i)};$d.hardbreak=function(t,e,i){return i.xhtmlOut?"<br />\n":"<br>\n"};$d.softbreak=function(t,e,i){return i.breaks?i.xhtmlOut?"<br />\n":"<br>\n":"\n"};$d.text=function(t,e){return gd(t[e].content)};$d.html_block=function(t,e){return t[e].content};$d.html_inline=function(t,e){return t[e].content};function _d(){this.rules=id({},$d)}_d.prototype.renderAttrs=function t(e){let i,r,n;if(!e.attrs){return""}n="";for(i=0,r=e.attrs.length;i<r;i++){n+=" "+gd(e.attrs[i][0])+'="'+gd(e.attrs[i][1])+'"'}return n};_d.prototype.renderToken=function t(e,i,r){const n=e[i];let s="";if(n.hidden){return""}if(n.block&&n.nesting!==-1&&i&&e[i-1].hidden){s+="\n"}s+=(n.nesting===-1?"</":"<")+n.tag;s+=this.renderAttrs(n);if(n.nesting===0&&r.xhtmlOut){s+=" /"}let l=false;if(n.block){l=true;if(n.nesting===1){if(i+1<e.length){const t=e[i+1];if(t.type==="inline"||t.hidden){l=false}else if(t.nesting===-1&&t.tag===n.tag){l=false}}}}s+=l?">\n":">";return s};_d.prototype.renderInline=function(t,e,i){let r="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(typeof n[l]!=="undefined"){r+=n[l](t,s,e,i,this)}else{r+=this.renderToken(t,s,e)}}return r};_d.prototype.renderInlineAsText=function(t,e,i){let r="";for(let n=0,s=t.length;n<s;n++){switch(t[n].type){case"text":r+=t[n].content;break;case"image":r+=this.renderInlineAsText(t[n].children,e,i);break;case"html_inline":case"html_block":r+=t[n].content;break;case"softbreak":case"hardbreak":r+="\n";break}}return r};_d.prototype.render=function(t,e,i){let r="";const n=this.rules;for(let s=0,l=t.length;s<l;s++){const l=t[s].type;if(l==="inline"){r+=this.renderInline(t[s].children,e,i)}else if(typeof n[l]!=="undefined"){r+=n[l](t,s,e,i,this)}else{r+=this.renderToken(t,s,e,i)}}return r};function Bd(){this.__rules__=[];this.__cache__=null}Bd.prototype.__find__=function(t){for(let e=0;e<this.__rules__.length;e++){if(this.__rules__[e].name===t){return e}}return-1};Bd.prototype.__compile__=function(){const t=this;const e=[""];t.__rules__.forEach((function(t){if(!t.enabled){return}t.alt.forEach((function(t){if(e.indexOf(t)<0){e.push(t)}}))}));t.__cache__={};e.forEach((function(e){t.__cache__[e]=[];t.__rules__.forEach((function(i){if(!i.enabled){return}if(e&&i.alt.indexOf(e)<0){return}t.__cache__[e].push(i.fn)}))}))};Bd.prototype.at=function(t,e,i){const r=this.__find__(t);const n=i||{};if(r===-1){throw new Error("Parser rule not found: "+t)}this.__rules__[r].fn=e;this.__rules__[r].alt=n.alt||[];this.__cache__=null};Bd.prototype.before=function(t,e,i,r){const n=this.__find__(t);const s=r||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n,0,{name:e,enabled:true,fn:i,alt:s.alt||[]});this.__cache__=null};Bd.prototype.after=function(t,e,i,r){const n=this.__find__(t);const s=r||{};if(n===-1){throw new Error("Parser rule not found: "+t)}this.__rules__.splice(n+1,0,{name:e,enabled:true,fn:i,alt:s.alt||[]});this.__cache__=null};Bd.prototype.push=function(t,e,i){const r=i||{};this.__rules__.push({name:t,enabled:true,fn:e,alt:r.alt||[]});this.__cache__=null};Bd.prototype.enable=function(t,e){if(!Array.isArray(t)){t=[t]}const i=[];t.forEach((function(t){const r=this.__find__(t);if(r<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[r].enabled=true;i.push(t)}),this);this.__cache__=null;return i};Bd.prototype.enableOnly=function(t,e){if(!Array.isArray(t)){t=[t]}this.__rules__.forEach((function(t){t.enabled=false}));this.enable(t,e)};Bd.prototype.disable=function(t,e){if(!Array.isArray(t)){t=[t]}const i=[];t.forEach((function(t){const r=this.__find__(t);if(r<0){if(e){return}throw new Error("Rules manager: invalid rule name "+t)}this.__rules__[r].enabled=false;i.push(t)}),this);this.__cache__=null;return i};Bd.prototype.getRules=function(t){if(this.__cache__===null){this.__compile__()}return this.__cache__[t]||[]};function jd(t,e,i){this.type=t;this.tag=e;this.attrs=null;this.map=null;this.nesting=i;this.level=0;this.children=null;this.content="";this.markup="";this.info="";this.meta=null;this.block=false;this.hidden=false}jd.prototype.attrIndex=function t(e){if(!this.attrs){return-1}const i=this.attrs;for(let t=0,r=i.length;t<r;t++){if(i[t][0]===e){return t}}return-1};jd.prototype.attrPush=function t(e){if(this.attrs){this.attrs.push(e)}else{this.attrs=[e]}};jd.prototype.attrSet=function t(e,i){const r=this.attrIndex(e);const n=[e,i];if(r<0){this.attrPush(n)}else{this.attrs[r]=n}};jd.prototype.attrGet=function t(e){const i=this.attrIndex(e);let r=null;if(i>=0){r=this.attrs[i][1]}return r};jd.prototype.attrJoin=function t(e,i){const r=this.attrIndex(e);if(r<0){this.attrPush([e,i])}else{this.attrs[r][1]=this.attrs[r][1]+" "+i}};function qd(t,e,i){this.src=t;this.env=i;this.tokens=[];this.inlineMode=false;this.md=e}qd.prototype.Token=jd;const Rd=/\r\n?|\n/g;const Nd=/\0/g;function zd(t){let e;e=t.src.replace(Rd,"\n");e=e.replace(Nd,"�");t.src=e}function Td(t){let e;if(t.inlineMode){e=new t.Token("inline","",0);e.content=t.src;e.map=[0,1];e.children=[];t.tokens.push(e)}else{t.md.block.parse(t.src,t.md,t.env,t.tokens)}}function Id(t){const e=t.tokens;for(let i=0,r=e.length;i<r;i++){const r=e[i];if(r.type==="inline"){t.md.inline.parse(r.content,t.md,t.env,r.children)}}}function Pd(t){return/^<a[>\s]/i.test(t)}function Jd(t){return/^<\/a\s*>/i.test(t)}function Ld(t){const e=t.tokens;if(!t.md.options.linkify){return}for(let i=0,r=e.length;i<r;i++){if(e[i].type!=="inline"||!t.md.linkify.pretest(e[i].content)){continue}let r=e[i].children;let n=0;for(let s=r.length-1;s>=0;s--){const l=r[s];if(l.type==="link_close"){s--;while(r[s].level!==l.level&&r[s].type!=="link_open"){s--}continue}if(l.type==="html_inline"){if(Pd(l.content)&&n>0){n--}if(Jd(l.content)){n++}}if(n>0){continue}if(l.type==="text"&&t.md.linkify.test(l.content)){const n=l.content;let u=t.md.linkify.match(n);const o=[];let f=l.level;let h=0;if(u.length>0&&u[0].index===0&&s>0&&r[s-1].type==="text_special"){u=u.slice(1)}for(let e=0;e<u.length;e++){const i=u[e].url;const r=t.md.normalizeLink(i);if(!t.md.validateLink(r)){continue}let s=u[e].text;if(!u[e].schema){s=t.md.normalizeLinkText("http://"+s).replace(/^http:\/\//,"")}else if(u[e].schema==="mailto:"&&!/^mailto:/i.test(s)){s=t.md.normalizeLinkText("mailto:"+s).replace(/^mailto:/,"")}else{s=t.md.normalizeLinkText(s)}const l=u[e].index;if(l>h){const e=new t.Token("text","",0);e.content=n.slice(h,l);e.level=f;o.push(e)}const a=new t.Token("link_open","a",1);a.attrs=[["href",r]];a.level=f++;a.markup="linkify";a.info="auto";o.push(a);const c=new t.Token("text","",0);c.content=s;c.level=f;o.push(c);const d=new t.Token("link_close","a",-1);d.level=--f;d.markup="linkify";d.info="auto";o.push(d);h=u[e].lastIndex}if(h<n.length){const e=new t.Token("text","",0);e.content=n.slice(h);e.level=f;o.push(e)}e[i].children=r=rd(r,s,o)}}}}const Ud=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/;const Wd=/\((c|tm|r)\)/i;const Hd=/\((c|tm|r)\)/gi;const Zd={c:"©",r:"®",tm:"™"};function Kd(t,e){return Zd[e.toLowerCase()]}function Vd(t){let e=0;for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.type==="text"&&!e){r.content=r.content.replace(Hd,Kd)}if(r.type==="link_open"&&r.info==="auto"){e--}if(r.type==="link_close"&&r.info==="auto"){e++}}}function Gd(t){let e=0;for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.type==="text"&&!e){if(Ud.test(r.content)){r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")}}if(r.type==="link_open"&&r.info==="auto"){e--}if(r.type==="link_close"&&r.info==="auto"){e++}}}function Xd(t){let e;if(!t.md.options.typographer){return}for(e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"){continue}if(Wd.test(t.tokens[e].content)){Vd(t.tokens[e].children)}if(Ud.test(t.tokens[e].content)){Gd(t.tokens[e].children)}}}const Yd=/['"]/;const Qd=/['"]/g;const tp="’";function ep(t,e,i){return t.slice(0,e)+i+t.slice(e+1)}function ip(t,e){let i;const r=[];for(let n=0;n<t.length;n++){const s=t[n];const l=t[n].level;for(i=r.length-1;i>=0;i--){if(r[i].level<=l){break}}r.length=i+1;if(s.type!=="text"){continue}let u=s.content;let o=0;let f=u.length;t:while(o<f){Qd.lastIndex=o;const h=Qd.exec(u);if(!h){break}let a=true;let c=true;o=h.index+1;const d=h[0]==="'";let p=32;if(h.index-1>=0){p=u.charCodeAt(h.index-1)}else{for(i=n-1;i>=0;i--){if(t[i].type==="softbreak"||t[i].type==="hardbreak")break;if(!t[i].content)continue;p=t[i].content.charCodeAt(t[i].content.length-1);break}}let m=32;if(o<f){m=u.charCodeAt(o)}else{for(i=n+1;i<t.length;i++){if(t[i].type==="softbreak"||t[i].type==="hardbreak")break;if(!t[i].content)continue;m=t[i].content.charCodeAt(0);break}}const w=Fd(p)||yd(String.fromCharCode(p));const g=Fd(m)||yd(String.fromCharCode(m));const b=vd(p);const k=vd(m);if(k){a=false}else if(g){if(!(b||w)){a=false}}if(b){c=false}else if(w){if(!(k||g)){c=false}}if(m===34&&h[0]==='"'){if(p>=48&&p<=57){c=a=false}}if(a&&c){a=w;c=g}if(!a&&!c){if(d){s.content=ep(s.content,h.index,tp)}continue}if(c){for(i=r.length-1;i>=0;i--){let a=r[i];if(r[i].level<l){break}if(a.single===d&&r[i].level===l){a=r[i];let l;let c;if(d){l=e.md.options.quotes[2];c=e.md.options.quotes[3]}else{l=e.md.options.quotes[0];c=e.md.options.quotes[1]}s.content=ep(s.content,h.index,c);t[a.token].content=ep(t[a.token].content,a.pos,l);o+=c.length-1;if(a.token===n){o+=l.length-1}u=s.content;f=u.length;r.length=i;continue t}}}if(a){r.push({token:n,pos:h.index,single:d,level:l})}else if(c&&d){s.content=ep(s.content,h.index,tp)}}}}function rp(t){if(!t.md.options.typographer){return}for(let e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"||!Yd.test(t.tokens[e].content)){continue}ip(t.tokens[e].children,t)}}function np(t){let e,i;const r=t.tokens;const n=r.length;for(let t=0;t<n;t++){if(r[t].type!=="inline")continue;const n=r[t].children;const s=n.length;for(e=0;e<s;e++){if(n[e].type==="text_special"){n[e].type="text"}}for(e=i=0;e<s;e++){if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==i){n[i]=n[e]}i++}}if(e!==i){n.length=i}}}const sp=[["normalize",zd],["block",Td],["inline",Id],["linkify",Ld],["replacements",Xd],["smartquotes",rp],["text_join",np]];function lp(){this.ruler=new Bd;for(let t=0;t<sp.length;t++){this.ruler.push(sp[t][0],sp[t][1])}}lp.prototype.process=function(t){const e=this.ruler.getRules("");for(let i=0,r=e.length;i<r;i++){e[i](t)}};lp.prototype.State=qd;function up(t,e,i,r){this.src=t;this.md=e;this.env=i;this.tokens=r;this.bMarks=[];this.eMarks=[];this.tShift=[];this.sCount=[];this.bsCount=[];this.blkIndent=0;this.line=0;this.lineMax=0;this.tight=false;this.ddIndent=-1;this.listIndent=-1;this.parentType="root";this.level=0;const n=this.src;for(let t=0,e=0,i=0,r=0,s=n.length,l=false;e<s;e++){const u=n.charCodeAt(e);if(!l){if(Dd(u)){i++;if(u===9){r+=4-r%4}else{r++}continue}else{l=true}}if(u===10||e===s-1){if(u!==10){e++}this.bMarks.push(t);this.eMarks.push(e);this.tShift.push(i);this.sCount.push(r);this.bsCount.push(0);l=false;i=0;r=0;t=e+1}}this.bMarks.push(n.length);this.eMarks.push(n.length);this.tShift.push(0);this.sCount.push(0);this.bsCount.push(0);this.lineMax=this.bMarks.length-1}up.prototype.push=function(t,e,i){const r=new jd(t,e,i);r.block=true;if(i<0)this.level--;r.level=this.level;if(i>0)this.level++;this.tokens.push(r);return r};up.prototype.isEmpty=function t(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};up.prototype.skipEmptyLines=function t(e){for(let t=this.lineMax;e<t;e++){if(this.bMarks[e]+this.tShift[e]<this.eMarks[e]){break}}return e};up.prototype.skipSpaces=function t(e){for(let t=this.src.length;e<t;e++){const t=this.src.charCodeAt(e);if(!Dd(t)){break}}return e};up.prototype.skipSpacesBack=function t(e,i){if(e<=i){return e}while(e>i){if(!Dd(this.src.charCodeAt(--e))){return e+1}}return e};up.prototype.skipChars=function t(e,i){for(let t=this.src.length;e<t;e++){if(this.src.charCodeAt(e)!==i){break}}return e};up.prototype.skipCharsBack=function t(e,i,r){if(e<=r){return e}while(e>r){if(i!==this.src.charCodeAt(--e)){return e+1}}return e};up.prototype.getLines=function t(e,i,r,n){if(e>=i){return""}const s=new Array(i-e);for(let t=0,l=e;l<i;l++,t++){let e=0;const u=this.bMarks[l];let o=u;let f;if(l+1<i||n){f=this.eMarks[l]+1}else{f=this.eMarks[l]}while(o<f&&e<r){const t=this.src.charCodeAt(o);if(Dd(t)){if(t===9){e+=4-(e+this.bsCount[l])%4}else{e++}}else if(o-u<this.tShift[l]){e++}else{break}o++}if(e>r){s[t]=new Array(e-r+1).join(" ")+this.src.slice(o,f)}else{s[t]=this.src.slice(o,f)}}return s.join("")};up.prototype.Token=jd;const op=65536;function fp(t,e){const i=t.bMarks[e]+t.tShift[e];const r=t.eMarks[e];return t.src.slice(i,r)}function hp(t){const e=[];const i=t.length;let r=0;let n=t.charCodeAt(r);let s=false;let l=0;let u="";while(r<i){if(n===124){if(!s){e.push(u+t.substring(l,r));u="";l=r+1}else{u+=t.substring(l,r-1);l=r}}s=n===92;r++;n=t.charCodeAt(r)}e.push(u+t.substring(l));return e}function ap(t,e,i,r){if(e+2>i){return false}let n=e+1;if(t.sCount[n]<t.blkIndent){return false}if(t.sCount[n]-t.blkIndent>=4){return false}let s=t.bMarks[n]+t.tShift[n];if(s>=t.eMarks[n]){return false}const l=t.src.charCodeAt(s++);if(l!==124&&l!==45&&l!==58){return false}if(s>=t.eMarks[n]){return false}const u=t.src.charCodeAt(s++);if(u!==124&&u!==45&&u!==58&&!Dd(u)){return false}if(l===45&&Dd(u)){return false}while(s<t.eMarks[n]){const e=t.src.charCodeAt(s);if(e!==124&&e!==45&&e!==58&&!Dd(e)){return false}s++}let o=fp(t,e+1);let f=o.split("|");const h=[];for(let t=0;t<f.length;t++){const e=f[t].trim();if(!e){if(t===0||t===f.length-1){continue}else{return false}}if(!/^:?-+:?$/.test(e)){return false}if(e.charCodeAt(e.length-1)===58){h.push(e.charCodeAt(0)===58?"center":"right")}else if(e.charCodeAt(0)===58){h.push("left")}else{h.push("")}}o=fp(t,e).trim();if(o.indexOf("|")===-1){return false}if(t.sCount[e]-t.blkIndent>=4){return false}f=hp(o);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();const a=f.length;if(a===0||a!==h.length){return false}if(r){return true}const c=t.parentType;t.parentType="table";const d=t.md.block.ruler.getRules("blockquote");const p=t.push("table_open","table",1);const m=[e,0];p.map=m;const w=t.push("thead_open","thead",1);w.map=[e,e+1];const g=t.push("tr_open","tr",1);g.map=[e,e+1];for(let e=0;e<f.length;e++){const i=t.push("th_open","th",1);if(h[e]){i.attrs=[["style","text-align:"+h[e]]]}const r=t.push("inline","",0);r.content=f[e].trim();r.children=[];t.push("th_close","th",-1)}t.push("tr_close","tr",-1);t.push("thead_close","thead",-1);let b;let k=0;for(n=e+2;n<i;n++){if(t.sCount[n]<t.blkIndent){break}let r=false;for(let e=0,s=d.length;e<s;e++){if(d[e](t,n,i,true)){r=true;break}}if(r){break}o=fp(t,n).trim();if(!o){break}if(t.sCount[n]-t.blkIndent>=4){break}f=hp(o);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();k+=a-f.length;if(k>op){break}if(n===e+2){const i=t.push("tbody_open","tbody",1);i.map=b=[e+2,0]}const s=t.push("tr_open","tr",1);s.map=[n,n+1];for(let e=0;e<a;e++){const i=t.push("td_open","td",1);if(h[e]){i.attrs=[["style","text-align:"+h[e]]]}const r=t.push("inline","",0);r.content=f[e]?f[e].trim():"";r.children=[];t.push("td_close","td",-1)}t.push("tr_close","tr",-1)}if(b){t.push("tbody_close","tbody",-1);b[1]=n}t.push("table_close","table",-1);m[1]=n;t.parentType=c;t.line=n;return true}function cp(t,e,i){if(t.sCount[e]-t.blkIndent<4){return false}let r=e+1;let n=r;while(r<i){if(t.isEmpty(r)){r++;continue}if(t.sCount[r]-t.blkIndent>=4){r++;n=r;continue}break}t.line=n;const s=t.push("code_block","code",0);s.content=t.getLines(e,n,4+t.blkIndent,false)+"\n";s.map=[e,t.line];return true}function dp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(n+3>s){return false}const l=t.src.charCodeAt(n);if(l!==126&&l!==96){return false}let u=n;n=t.skipChars(n,l);let o=n-u;if(o<3){return false}const f=t.src.slice(u,n);const h=t.src.slice(n,s);if(l===96){if(h.indexOf(String.fromCharCode(l))>=0){return false}}if(r){return true}let a=e;let c=false;for(;;){a++;if(a>=i){break}n=u=t.bMarks[a]+t.tShift[a];s=t.eMarks[a];if(n<s&&t.sCount[a]<t.blkIndent){break}if(t.src.charCodeAt(n)!==l){continue}if(t.sCount[a]-t.blkIndent>=4){continue}n=t.skipChars(n,l);if(n-u<o){continue}n=t.skipSpaces(n);if(n<s){continue}c=true;break}o=t.sCount[e];t.line=a+(c?1:0);const d=t.push("fence","code",0);d.info=h;d.content=t.getLines(e+1,a,o,true);d.markup=f;d.map=[e,t.line];return true}function pp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];const l=t.lineMax;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==62){return false}if(r){return true}const u=[];const o=[];const f=[];const h=[];const a=t.md.block.ruler.getRules("blockquote");const c=t.parentType;t.parentType="blockquote";let d=false;let p;for(p=e;p<i;p++){const e=t.sCount[p]<t.blkIndent;n=t.bMarks[p]+t.tShift[p];s=t.eMarks[p];if(n>=s){break}if(t.src.charCodeAt(n++)===62&&!e){let e=t.sCount[p]+1;let i;let r;if(t.src.charCodeAt(n)===32){n++;e++;r=false;i=true}else if(t.src.charCodeAt(n)===9){i=true;if((t.bsCount[p]+e)%4===3){n++;e++;r=false}else{r=true}}else{i=false}let l=e;u.push(t.bMarks[p]);t.bMarks[p]=n;while(n<s){const e=t.src.charCodeAt(n);if(Dd(e)){if(e===9){l+=4-(l+t.bsCount[p]+(r?1:0))%4}else{l++}}else{break}n++}d=n>=s;o.push(t.bsCount[p]);t.bsCount[p]=t.sCount[p]+1+(i?1:0);f.push(t.sCount[p]);t.sCount[p]=l-e;h.push(t.tShift[p]);t.tShift[p]=n-t.bMarks[p];continue}if(d){break}let r=false;for(let e=0,n=a.length;e<n;e++){if(a[e](t,p,i,true)){r=true;break}}if(r){t.lineMax=p;if(t.blkIndent!==0){u.push(t.bMarks[p]);o.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]-=t.blkIndent}break}u.push(t.bMarks[p]);o.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]=-1}const m=t.blkIndent;t.blkIndent=0;const w=t.push("blockquote_open","blockquote",1);w.markup=">";const g=[e,0];w.map=g;t.md.block.tokenize(t,e,p);const b=t.push("blockquote_close","blockquote",-1);b.markup=">";t.lineMax=l;t.parentType=c;g[1]=t.line;for(let i=0;i<h.length;i++){t.bMarks[i+e]=u[i];t.tShift[i+e]=h[i];t.sCount[i+e]=f[i];t.bsCount[i+e]=o[i]}t.blkIndent=m;return true}function mp(t,e,i,r){const n=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let s=t.bMarks[e]+t.tShift[e];const l=t.src.charCodeAt(s++);if(l!==42&&l!==45&&l!==95){return false}let u=1;while(s<n){const e=t.src.charCodeAt(s++);if(e!==l&&!Dd(e)){return false}if(e===l){u++}}if(u<3){return false}if(r){return true}t.line=e+1;const o=t.push("hr","hr",0);o.map=[e,t.line];o.markup=Array(u+1).join(String.fromCharCode(l));return true}function wp(t,e){const i=t.eMarks[e];let r=t.bMarks[e]+t.tShift[e];const n=t.src.charCodeAt(r++);if(n!==42&&n!==45&&n!==43){return-1}if(r<i){const e=t.src.charCodeAt(r);if(!Dd(e)){return-1}}return r}function gp(t,e){const i=t.bMarks[e]+t.tShift[e];const r=t.eMarks[e];let n=i;if(n+1>=r){return-1}let s=t.src.charCodeAt(n++);if(s<48||s>57){return-1}for(;;){if(n>=r){return-1}s=t.src.charCodeAt(n++);if(s>=48&&s<=57){if(n-i>=10){return-1}continue}if(s===41||s===46){break}return-1}if(n<r){s=t.src.charCodeAt(n);if(!Dd(s)){return-1}}return n}function bp(t,e){const i=t.level+2;for(let r=e+2,n=t.tokens.length-2;r<n;r++){if(t.tokens[r].level===i&&t.tokens[r].type==="paragraph_open"){t.tokens[r+2].hidden=true;t.tokens[r].hidden=true;r+=2}}}function kp(t,e,i,r){let n,s,l,u;let o=e;let f=true;if(t.sCount[o]-t.blkIndent>=4){return false}if(t.listIndent>=0&&t.sCount[o]-t.listIndent>=4&&t.sCount[o]<t.blkIndent){return false}let h=false;if(r&&t.parentType==="paragraph"){if(t.sCount[o]>=t.blkIndent){h=true}}let a;let c;let d;if((d=gp(t,o))>=0){a=true;l=t.bMarks[o]+t.tShift[o];c=Number(t.src.slice(l,d-1));if(h&&c!==1)return false}else if((d=wp(t,o))>=0){a=false}else{return false}if(h){if(t.skipSpaces(d)>=t.eMarks[o])return false}if(r){return true}const p=t.src.charCodeAt(d-1);const m=t.tokens.length;if(a){u=t.push("ordered_list_open","ol",1);if(c!==1){u.attrs=[["start",c]]}}else{u=t.push("bullet_list_open","ul",1)}const w=[o,0];u.map=w;u.markup=String.fromCharCode(p);let g=false;const b=t.md.block.ruler.getRules("list");const k=t.parentType;t.parentType="list";while(o<i){s=d;n=t.eMarks[o];const e=t.sCount[o]+d-(t.bMarks[o]+t.tShift[o]);let r=e;while(s<n){const e=t.src.charCodeAt(s);if(e===9){r+=4-(r+t.bsCount[o])%4}else if(e===32){r++}else{break}s++}const h=s;let c;if(h>=n){c=1}else{c=r-e}if(c>4){c=1}const m=e+c;u=t.push("list_item_open","li",1);u.markup=String.fromCharCode(p);const w=[o,0];u.map=w;if(a){u.info=t.src.slice(l,d-1)}const k=t.tight;const D=t.tShift[o];const v=t.sCount[o];const y=t.listIndent;t.listIndent=t.blkIndent;t.blkIndent=m;t.tight=true;t.tShift[o]=h-t.bMarks[o];t.sCount[o]=r;if(h>=n&&t.isEmpty(o+1)){t.line=Math.min(t.line+2,i)}else{t.md.block.tokenize(t,o,i,true)}if(!t.tight||g){f=false}g=t.line-o>1&&t.isEmpty(t.line-1);t.blkIndent=t.listIndent;t.listIndent=y;t.tShift[o]=D;t.sCount[o]=v;t.tight=k;u=t.push("list_item_close","li",-1);u.markup=String.fromCharCode(p);o=t.line;w[1]=o;if(o>=i){break}if(t.sCount[o]<t.blkIndent){break}if(t.sCount[o]-t.blkIndent>=4){break}let F=false;for(let e=0,r=b.length;e<r;e++){if(b[e](t,o,i,true)){F=true;break}}if(F){break}if(a){d=gp(t,o);if(d<0){break}l=t.bMarks[o]+t.tShift[o]}else{d=wp(t,o);if(d<0){break}}if(p!==t.src.charCodeAt(d-1)){break}}if(a){u=t.push("ordered_list_close","ol",-1)}else{u=t.push("bullet_list_close","ul",-1)}u.markup=String.fromCharCode(p);w[1]=o;t.line=o;t.parentType=k;if(f){bp(t,m)}return true}function Dp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];let l=e+1;if(t.sCount[e]-t.blkIndent>=4){return false}if(t.src.charCodeAt(n)!==91){return false}function u(e){const i=t.lineMax;if(e>=i||t.isEmpty(e)){return null}let r=false;if(t.sCount[e]-t.blkIndent>3){r=true}if(t.sCount[e]<0){r=true}if(!r){const r=t.md.block.ruler.getRules("reference");const n=t.parentType;t.parentType="reference";let s=false;for(let n=0,l=r.length;n<l;n++){if(r[n](t,e,i,true)){s=true;break}}t.parentType=n;if(s){return null}}const n=t.bMarks[e]+t.tShift[e];const s=t.eMarks[e];return t.src.slice(n,s+1)}let o=t.src.slice(n,s+1);s=o.length;let f=-1;for(n=1;n<s;n++){const t=o.charCodeAt(n);if(t===91){return false}else if(t===93){f=n;break}else if(t===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}else if(t===92){n++;if(n<s&&o.charCodeAt(n)===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}}}if(f<0||o.charCodeAt(f+1)!==58){return false}for(n=f+2;n<s;n++){const t=o.charCodeAt(n);if(t===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}else if(Dd(t));else{break}}const h=t.md.helpers.parseLinkDestination(o,n,s);if(!h.ok){return false}const a=t.md.normalizeLink(h.str);if(!t.md.validateLink(a)){return false}n=h.pos;const c=n;const d=l;const p=n;for(;n<s;n++){const t=o.charCodeAt(n);if(t===10){const t=u(l);if(t!==null){o+=t;s=o.length;l++}}else if(Dd(t));else{break}}let m=t.md.helpers.parseLinkTitle(o,n,s);while(m.can_continue){const e=u(l);if(e===null)break;o+=e;n=s;s=o.length;l++;m=t.md.helpers.parseLinkTitle(o,n,s,m)}let w;if(n<s&&p!==n&&m.ok){w=m.str;n=m.pos}else{w="";n=c;l=d}while(n<s){const t=o.charCodeAt(n);if(!Dd(t)){break}n++}if(n<s&&o.charCodeAt(n)!==10){if(w){w="";n=c;l=d;while(n<s){const t=o.charCodeAt(n);if(!Dd(t)){break}n++}}}if(n<s&&o.charCodeAt(n)!==10){return false}const g=Ed(o.slice(1,f));if(!g){return false}if(r){return true}if(typeof t.env.references==="undefined"){t.env.references={}}if(typeof t.env.references[g]==="undefined"){t.env.references[g]={title:w,href:a}}t.line=l;return true}const vp=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];const yp="[a-zA-Z_:][a-zA-Z0-9:._-]*";const Fp="[^\"'=<>`\\x00-\\x20]+";const Ep="'[^']*'";const xp='"[^"]*"';const Mp="(?:"+Fp+"|"+Ep+"|"+xp+")";const Ap="(?:\\s+"+yp+"(?:\\s*=\\s*"+Mp+")?)";const Cp="<[A-Za-z][A-Za-z0-9\\-]*"+Ap+"*\\s*\\/?>";const Sp="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";const Op="\x3c!---?>|\x3c!--(?:[^-]|-[^-]|--[^>])*--\x3e";const $p="<[?][\\s\\S]*?[?]>";const _p="<![A-Za-z][^>]*>";const Bp="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";const jp=new RegExp("^(?:"+Cp+"|"+Sp+"|"+Op+"|"+$p+"|"+_p+"|"+Bp+")");const qp=new RegExp("^(?:"+Cp+"|"+Sp+")");const Rp=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,true],[/^<!--/,/-->/,true],[/^<\?/,/\?>/,true],[/^<![A-Z]/,/>/,true],[/^<!\[CDATA\[/,/\]\]>/,true],[new RegExp("^</?("+vp.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,true],[new RegExp(qp.source+"\\s*$"),/^$/,false]];function Np(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}if(!t.md.options.html){return false}if(t.src.charCodeAt(n)!==60){return false}let l=t.src.slice(n,s);let u=0;for(;u<Rp.length;u++){if(Rp[u][0].test(l)){break}}if(u===Rp.length){return false}if(r){return Rp[u][2]}let o=e+1;if(!Rp[u][1].test(l)){for(;o<i;o++){if(t.sCount[o]<t.blkIndent){break}n=t.bMarks[o]+t.tShift[o];s=t.eMarks[o];l=t.src.slice(n,s);if(Rp[u][1].test(l)){if(l.length!==0){o++}break}}}t.line=o;const f=t.push("html_block","",0);f.map=[e,o];f.content=t.getLines(e,o,t.blkIndent,true);return true}function zp(t,e,i,r){let n=t.bMarks[e]+t.tShift[e];let s=t.eMarks[e];if(t.sCount[e]-t.blkIndent>=4){return false}let l=t.src.charCodeAt(n);if(l!==35||n>=s){return false}let u=1;l=t.src.charCodeAt(++n);while(l===35&&n<s&&u<=6){u++;l=t.src.charCodeAt(++n)}if(u>6||n<s&&!Dd(l)){return false}if(r){return true}s=t.skipSpacesBack(s,n);const o=t.skipCharsBack(s,35,n);if(o>n&&Dd(t.src.charCodeAt(o-1))){s=o}t.line=e+1;const f=t.push("heading_open","h"+String(u),1);f.markup="########".slice(0,u);f.map=[e,t.line];const h=t.push("inline","",0);h.content=t.src.slice(n,s).trim();h.map=[e,t.line];h.children=[];const a=t.push("heading_close","h"+String(u),-1);a.markup="########".slice(0,u);return true}function Tp(t,e,i){const r=t.md.block.ruler.getRules("paragraph");if(t.sCount[e]-t.blkIndent>=4){return false}const n=t.parentType;t.parentType="paragraph";let s=0;let l;let u=e+1;for(;u<i&&!t.isEmpty(u);u++){if(t.sCount[u]-t.blkIndent>3){continue}if(t.sCount[u]>=t.blkIndent){let e=t.bMarks[u]+t.tShift[u];const i=t.eMarks[u];if(e<i){l=t.src.charCodeAt(e);if(l===45||l===61){e=t.skipChars(e,l);e=t.skipSpaces(e);if(e>=i){s=l===61?1:2;break}}}}if(t.sCount[u]<0){continue}let e=false;for(let n=0,s=r.length;n<s;n++){if(r[n](t,u,i,true)){e=true;break}}if(e){break}}if(!s){return false}const o=t.getLines(e,u,t.blkIndent,false).trim();t.line=u+1;const f=t.push("heading_open","h"+String(s),1);f.markup=String.fromCharCode(l);f.map=[e,t.line];const h=t.push("inline","",0);h.content=o;h.map=[e,t.line-1];h.children=[];const a=t.push("heading_close","h"+String(s),-1);a.markup=String.fromCharCode(l);t.parentType=n;return true}function Ip(t,e,i){const r=t.md.block.ruler.getRules("paragraph");const n=t.parentType;let s=e+1;t.parentType="paragraph";for(;s<i&&!t.isEmpty(s);s++){if(t.sCount[s]-t.blkIndent>3){continue}if(t.sCount[s]<0){continue}let e=false;for(let n=0,l=r.length;n<l;n++){if(r[n](t,s,i,true)){e=true;break}}if(e){break}}const l=t.getLines(e,s,t.blkIndent,false).trim();t.line=s;const u=t.push("paragraph_open","p",1);u.map=[e,t.line];const o=t.push("inline","",0);o.content=l;o.map=[e,t.line];o.children=[];t.push("paragraph_close","p",-1);t.parentType=n;return true}const Pp=[["table",ap,["paragraph","reference"]],["code",cp],["fence",dp,["paragraph","reference","blockquote","list"]],["blockquote",pp,["paragraph","reference","blockquote","list"]],["hr",mp,["paragraph","reference","blockquote","list"]],["list",kp,["paragraph","reference","blockquote"]],["reference",Dp],["html_block",Np,["paragraph","reference","blockquote"]],["heading",zp,["paragraph","reference","blockquote"]],["lheading",Tp],["paragraph",Ip]];function Jp(){this.ruler=new Bd;for(let t=0;t<Pp.length;t++){this.ruler.push(Pp[t][0],Pp[t][1],{alt:(Pp[t][2]||[]).slice()})}}Jp.prototype.tokenize=function(t,e,i){const r=this.ruler.getRules("");const n=r.length;const s=t.md.options.maxNesting;let l=e;let u=false;while(l<i){t.line=l=t.skipEmptyLines(l);if(l>=i){break}if(t.sCount[l]<t.blkIndent){break}if(t.level>=s){t.line=i;break}const e=t.line;let o=false;for(let s=0;s<n;s++){o=r[s](t,l,i,false);if(o){if(e>=t.line){throw new Error("block rule didn't increment state.line")}break}}if(!o)throw new Error("none of the block rules matched");t.tight=!u;if(t.isEmpty(t.line-1)){u=true}l=t.line;if(l<i&&t.isEmpty(l)){u=true;l++;t.line=l}}};Jp.prototype.parse=function(t,e,i,r){if(!t){return}const n=new this.State(t,e,i,r);this.tokenize(n,n.line,n.lineMax)};Jp.prototype.State=up;function Lp(t,e,i,r){this.src=t;this.env=i;this.md=e;this.tokens=r;this.tokens_meta=Array(r.length);this.pos=0;this.posMax=this.src.length;this.level=0;this.pending="";this.pendingLevel=0;this.cache={};this.delimiters=[];this._prev_delimiters=[];this.backticks={};this.backticksScanned=false;this.linkLevel=0}Lp.prototype.pushPending=function(){const t=new jd("text","",0);t.content=this.pending;t.level=this.pendingLevel;this.tokens.push(t);this.pending="";return t};Lp.prototype.push=function(t,e,i){if(this.pending){this.pushPending()}const r=new jd(t,e,i);let n=null;if(i<0){this.level--;this.delimiters=this._prev_delimiters.pop()}r.level=this.level;if(i>0){this.level++;this._prev_delimiters.push(this.delimiters);this.delimiters=[];n={delimiters:this.delimiters}}this.pendingLevel=this.level;this.tokens.push(r);this.tokens_meta.push(n);return r};Lp.prototype.scanDelims=function(t,e){const i=this.posMax;const r=this.src.charCodeAt(t);const n=t>0?this.src.charCodeAt(t-1):32;let s=t;while(s<i&&this.src.charCodeAt(s)===r){s++}const l=s-t;const u=s<i?this.src.charCodeAt(s):32;const o=Fd(n)||yd(String.fromCharCode(n));const f=Fd(u)||yd(String.fromCharCode(u));const h=vd(n);const a=vd(u);const c=!a&&(!f||h||o);const d=!h&&(!o||a||f);const p=c&&(e||!d||o);const m=d&&(e||!c||f);return{can_open:p,can_close:m,length:l}};Lp.prototype.Token=jd;function Up(t){switch(t){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return true;default:return false}}function Wp(t,e){let i=t.pos;while(i<t.posMax&&!Up(t.src.charCodeAt(i))){i++}if(i===t.pos){return false}if(!e){t.pending+=t.src.slice(t.pos,i)}t.pos=i;return true}const Hp=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function Zp(t,e){if(!t.md.options.linkify)return false;if(t.linkLevel>0)return false;const i=t.pos;const r=t.posMax;if(i+3>r)return false;if(t.src.charCodeAt(i)!==58)return false;if(t.src.charCodeAt(i+1)!==47)return false;if(t.src.charCodeAt(i+2)!==47)return false;const n=t.pending.match(Hp);if(!n)return false;const s=n[1];const l=t.md.linkify.matchAtStart(t.src.slice(i-s.length));if(!l)return false;let u=l.url;if(u.length<=s.length)return false;u=u.replace(/\*+$/,"");const o=t.md.normalizeLink(u);if(!t.md.validateLink(o))return false;if(!e){t.pending=t.pending.slice(0,-s.length);const e=t.push("link_open","a",1);e.attrs=[["href",o]];e.markup="linkify";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(u);const r=t.push("link_close","a",-1);r.markup="linkify";r.info="auto"}t.pos+=u.length-s.length;return true}function Kp(t,e){let i=t.pos;if(t.src.charCodeAt(i)!==10){return false}const r=t.pending.length-1;const n=t.posMax;if(!e){if(r>=0&&t.pending.charCodeAt(r)===32){if(r>=1&&t.pending.charCodeAt(r-1)===32){let e=r-1;while(e>=1&&t.pending.charCodeAt(e-1)===32)e--;t.pending=t.pending.slice(0,e);t.push("hardbreak","br",0)}else{t.pending=t.pending.slice(0,-1);t.push("softbreak","br",0)}}else{t.push("softbreak","br",0)}}i++;while(i<n&&Dd(t.src.charCodeAt(i))){i++}t.pos=i;return true}const Vp=[];for(let t=0;t<256;t++){Vp.push(0)}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach((function(t){Vp[t.charCodeAt(0)]=1}));function Gp(t,e){let i=t.pos;const r=t.posMax;if(t.src.charCodeAt(i)!==92)return false;i++;if(i>=r)return false;let n=t.src.charCodeAt(i);if(n===10){if(!e){t.push("hardbreak","br",0)}i++;while(i<r){n=t.src.charCodeAt(i);if(!Dd(n))break;i++}t.pos=i;return true}let s=t.src[i];if(n>=55296&&n<=56319&&i+1<r){const e=t.src.charCodeAt(i+1);if(e>=56320&&e<=57343){s+=t.src[i+1];i++}}const l="\\"+s;if(!e){const e=t.push("text_special","",0);if(n<256&&Vp[n]!==0){e.content=s}else{e.content=l}e.markup=l;e.info="escape"}t.pos=i+1;return true}function Xp(t,e){let i=t.pos;const r=t.src.charCodeAt(i);if(r!==96){return false}const n=i;i++;const s=t.posMax;while(i<s&&t.src.charCodeAt(i)===96){i++}const l=t.src.slice(n,i);const u=l.length;if(t.backticksScanned&&(t.backticks[u]||0)<=n){if(!e)t.pending+=l;t.pos+=u;return true}let o=i;let f;while((f=t.src.indexOf("`",o))!==-1){o=f+1;while(o<s&&t.src.charCodeAt(o)===96){o++}const r=o-f;if(r===u){if(!e){const e=t.push("code_inline","code",0);e.markup=l;e.content=t.src.slice(i,f).replace(/\n/g," ").replace(/^ (.+) $/,"$1")}t.pos=o;return true}t.backticks[r]=f}t.backticksScanned=true;if(!e)t.pending+=l;t.pos+=u;return true}function Yp(t,e){const i=t.pos;const r=t.src.charCodeAt(i);if(e){return false}if(r!==126){return false}const n=t.scanDelims(t.pos,true);let s=n.length;const l=String.fromCharCode(r);if(s<2){return false}let u;if(s%2){u=t.push("text","",0);u.content=l;s--}for(let e=0;e<s;e+=2){u=t.push("text","",0);u.content=l+l;t.delimiters.push({marker:r,length:0,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function Qp(t,e){let i;const r=[];const n=e.length;for(let s=0;s<n;s++){const n=e[s];if(n.marker!==126){continue}if(n.end===-1){continue}const l=e[n.end];i=t.tokens[n.token];i.type="s_open";i.tag="s";i.nesting=1;i.markup="~~";i.content="";i=t.tokens[l.token];i.type="s_close";i.tag="s";i.nesting=-1;i.markup="~~";i.content="";if(t.tokens[l.token-1].type==="text"&&t.tokens[l.token-1].content==="~"){r.push(l.token-1)}}while(r.length){const e=r.pop();let n=e+1;while(n<t.tokens.length&&t.tokens[n].type==="s_close"){n++}n--;if(e!==n){i=t.tokens[n];t.tokens[n]=t.tokens[e];t.tokens[e]=i}}}function tm(t){const e=t.tokens_meta;const i=t.tokens_meta.length;Qp(t,t.delimiters);for(let r=0;r<i;r++){if(e[r]&&e[r].delimiters){Qp(t,e[r].delimiters)}}}const em={tokenize:Yp,postProcess:tm};function im(t,e){const i=t.pos;const r=t.src.charCodeAt(i);if(e){return false}if(r!==95&&r!==42){return false}const n=t.scanDelims(t.pos,r===42);for(let e=0;e<n.length;e++){const e=t.push("text","",0);e.content=String.fromCharCode(r);t.delimiters.push({marker:r,length:n.length,token:t.tokens.length-1,end:-1,open:n.can_open,close:n.can_close})}t.pos+=n.length;return true}function rm(t,e){const i=e.length;for(let r=i-1;r>=0;r--){const i=e[r];if(i.marker!==95&&i.marker!==42){continue}if(i.end===-1){continue}const n=e[i.end];const s=r>0&&e[r-1].end===i.end+1&&e[r-1].marker===i.marker&&e[r-1].token===i.token-1&&e[i.end+1].token===n.token+1;const l=String.fromCharCode(i.marker);const u=t.tokens[i.token];u.type=s?"strong_open":"em_open";u.tag=s?"strong":"em";u.nesting=1;u.markup=s?l+l:l;u.content="";const o=t.tokens[n.token];o.type=s?"strong_close":"em_close";o.tag=s?"strong":"em";o.nesting=-1;o.markup=s?l+l:l;o.content="";if(s){t.tokens[e[r-1].token].content="";t.tokens[e[i.end+1].token].content="";r--}}}function nm(t){const e=t.tokens_meta;const i=t.tokens_meta.length;rm(t,t.delimiters);for(let r=0;r<i;r++){if(e[r]&&e[r].delimiters){rm(t,e[r].delimiters)}}}const sm={tokenize:im,postProcess:nm};function lm(t,e){let i,r,n,s;let l="";let u="";let o=t.pos;let f=true;if(t.src.charCodeAt(t.pos)!==91){return false}const h=t.pos;const a=t.posMax;const c=t.pos+1;const d=t.md.helpers.parseLinkLabel(t,t.pos,true);if(d<0){return false}let p=d+1;if(p<a&&t.src.charCodeAt(p)===40){f=false;p++;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Dd(i)&&i!==10){break}}if(p>=a){return false}o=p;n=t.md.helpers.parseLinkDestination(t.src,p,t.posMax);if(n.ok){l=t.md.normalizeLink(n.str);if(t.md.validateLink(l)){p=n.pos}else{l=""}o=p;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Dd(i)&&i!==10){break}}n=t.md.helpers.parseLinkTitle(t.src,p,t.posMax);if(p<a&&o!==p&&n.ok){u=n.str;p=n.pos;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Dd(i)&&i!==10){break}}}}if(p>=a||t.src.charCodeAt(p)!==41){f=true}p++}if(f){if(typeof t.env.references==="undefined"){return false}if(p<a&&t.src.charCodeAt(p)===91){o=p+1;p=t.md.helpers.parseLinkLabel(t,p);if(p>=0){r=t.src.slice(o,p++)}else{p=d+1}}else{p=d+1}if(!r){r=t.src.slice(c,d)}s=t.env.references[Ed(r)];if(!s){t.pos=h;return false}l=s.href;u=s.title}if(!e){t.pos=c;t.posMax=d;const e=t.push("link_open","a",1);const i=[["href",l]];e.attrs=i;if(u){i.push(["title",u])}t.linkLevel++;t.md.inline.tokenize(t);t.linkLevel--;t.push("link_close","a",-1)}t.pos=p;t.posMax=a;return true}function um(t,e){let i,r,n,s,l,u,o,f;let h="";const a=t.pos;const c=t.posMax;if(t.src.charCodeAt(t.pos)!==33){return false}if(t.src.charCodeAt(t.pos+1)!==91){return false}const d=t.pos+2;const p=t.md.helpers.parseLinkLabel(t,t.pos+1,false);if(p<0){return false}s=p+1;if(s<c&&t.src.charCodeAt(s)===40){s++;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Dd(i)&&i!==10){break}}if(s>=c){return false}f=s;u=t.md.helpers.parseLinkDestination(t.src,s,t.posMax);if(u.ok){h=t.md.normalizeLink(u.str);if(t.md.validateLink(h)){s=u.pos}else{h=""}}f=s;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Dd(i)&&i!==10){break}}u=t.md.helpers.parseLinkTitle(t.src,s,t.posMax);if(s<c&&f!==s&&u.ok){o=u.str;s=u.pos;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Dd(i)&&i!==10){break}}}else{o=""}if(s>=c||t.src.charCodeAt(s)!==41){t.pos=a;return false}s++}else{if(typeof t.env.references==="undefined"){return false}if(s<c&&t.src.charCodeAt(s)===91){f=s+1;s=t.md.helpers.parseLinkLabel(t,s);if(s>=0){n=t.src.slice(f,s++)}else{s=p+1}}else{s=p+1}if(!n){n=t.src.slice(d,p)}l=t.env.references[Ed(n)];if(!l){t.pos=a;return false}h=l.href;o=l.title}if(!e){r=t.src.slice(d,p);const e=[];t.md.inline.parse(r,t.md,t.env,e);const i=t.push("image","img",0);const n=[["src",h],["alt",""]];i.attrs=n;i.children=e;i.content=r;if(o){n.push(["title",o])}}t.pos=s;t.posMax=c;return true}const om=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;const fm=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function hm(t,e){let i=t.pos;if(t.src.charCodeAt(i)!==60){return false}const r=t.pos;const n=t.posMax;for(;;){if(++i>=n)return false;const e=t.src.charCodeAt(i);if(e===60)return false;if(e===62)break}const s=t.src.slice(r+1,i);if(fm.test(s)){const i=t.md.normalizeLink(s);if(!t.md.validateLink(i)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",i]];e.markup="autolink";e.info="auto";const r=t.push("text","",0);r.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}if(om.test(s)){const i=t.md.normalizeLink("mailto:"+s);if(!t.md.validateLink(i)){return false}if(!e){const e=t.push("link_open","a",1);e.attrs=[["href",i]];e.markup="autolink";e.info="auto";const r=t.push("text","",0);r.content=t.md.normalizeLinkText(s);const n=t.push("link_close","a",-1);n.markup="autolink";n.info="auto"}t.pos+=s.length+2;return true}return false}function am(t){return/^<a[>\s]/i.test(t)}function cm(t){return/^<\/a\s*>/i.test(t)}function dm(t){const e=t|32;return e>=97&&e<=122}function pm(t,e){if(!t.md.options.html){return false}const i=t.posMax;const r=t.pos;if(t.src.charCodeAt(r)!==60||r+2>=i){return false}const n=t.src.charCodeAt(r+1);if(n!==33&&n!==63&&n!==47&&!dm(n)){return false}const s=t.src.slice(r).match(jp);if(!s){return false}if(!e){const e=t.push("html_inline","",0);e.content=s[0];if(am(e.content))t.linkLevel++;if(cm(e.content))t.linkLevel--}t.pos+=s[0].length;return true}const mm=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;const wm=/^&([a-z][a-z0-9]{1,31});/i;function gm(t,e){const i=t.pos;const r=t.posMax;if(t.src.charCodeAt(i)!==38)return false;if(i+1>=r)return false;const n=t.src.charCodeAt(i+1);if(n===35){const r=t.src.slice(i).match(mm);if(r){if(!e){const e=r[1][0].toLowerCase()==="x"?parseInt(r[1].slice(1),16):parseInt(r[1],10);const i=t.push("text_special","",0);i.content=nd(e)?sd(e):sd(65533);i.markup=r[0];i.info="entity"}t.pos+=r[0].length;return true}}else{const r=t.src.slice(i).match(wm);if(r){const i=x(r[0]);if(i!==r[0]){if(!e){const e=t.push("text_special","",0);e.content=i;e.markup=r[0];e.info="entity"}t.pos+=r[0].length;return true}}}return false}function bm(t){const e={};const i=t.length;if(!i)return;let r=0;let n=-2;const s=[];for(let l=0;l<i;l++){const i=t[l];s.push(0);if(t[r].marker!==i.marker||n!==i.token-1){r=l}n=i.token;i.length=i.length||0;if(!i.close)continue;if(!e.hasOwnProperty(i.marker)){e[i.marker]=[-1,-1,-1,-1,-1,-1]}const u=e[i.marker][(i.open?3:0)+i.length%3];let o=r-s[r]-1;let f=o;for(;o>u;o-=s[o]+1){const e=t[o];if(e.marker!==i.marker)continue;if(e.open&&e.end<0){let r=false;if(e.close||i.open){if((e.length+i.length)%3===0){if(e.length%3!==0||i.length%3!==0){r=true}}}if(!r){const r=o>0&&!t[o-1].open?s[o-1]+1:0;s[l]=l-o+r;s[o]=r;i.open=false;e.end=l;e.close=false;f=-1;n=-2;break}}}if(f!==-1){e[i.marker][(i.open?3:0)+(i.length||0)%3]=f}}}function km(t){const e=t.tokens_meta;const i=t.tokens_meta.length;bm(t.delimiters);for(let t=0;t<i;t++){if(e[t]&&e[t].delimiters){bm(e[t].delimiters)}}}function Dm(t){let e,i;let r=0;const n=t.tokens;const s=t.tokens.length;for(e=i=0;e<s;e++){if(n[e].nesting<0)r--;n[e].level=r;if(n[e].nesting>0)r++;if(n[e].type==="text"&&e+1<s&&n[e+1].type==="text"){n[e+1].content=n[e].content+n[e+1].content}else{if(e!==i){n[i]=n[e]}i++}}if(e!==i){n.length=i}}const vm=[["text",Wp],["linkify",Zp],["newline",Kp],["escape",Gp],["backticks",Xp],["strikethrough",em.tokenize],["emphasis",sm.tokenize],["link",lm],["image",um],["autolink",hm],["html_inline",pm],["entity",gm]];const ym=[["balance_pairs",km],["strikethrough",em.postProcess],["emphasis",sm.postProcess],["fragments_join",Dm]];function Fm(){this.ruler=new Bd;for(let t=0;t<vm.length;t++){this.ruler.push(vm[t][0],vm[t][1])}this.ruler2=new Bd;for(let t=0;t<ym.length;t++){this.ruler2.push(ym[t][0],ym[t][1])}}Fm.prototype.skipToken=function(t){const e=t.pos;const i=this.ruler.getRules("");const r=i.length;const n=t.md.options.maxNesting;const s=t.cache;if(typeof s[e]!=="undefined"){t.pos=s[e];return}let l=false;if(t.level<n){for(let n=0;n<r;n++){t.level++;l=i[n](t,true);t.level--;if(l){if(e>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}else{t.pos=t.posMax}if(!l){t.pos++}s[e]=t.pos};Fm.prototype.tokenize=function(t){const e=this.ruler.getRules("");const i=e.length;const r=t.posMax;const n=t.md.options.maxNesting;while(t.pos<r){const s=t.pos;let l=false;if(t.level<n){for(let r=0;r<i;r++){l=e[r](t,false);if(l){if(s>=t.pos){throw new Error("inline rule didn't increment state.pos")}break}}}if(l){if(t.pos>=r){break}continue}t.pending+=t.src[t.pos++]}if(t.pending){t.pushPending()}};Fm.prototype.parse=function(t,e,i,r){const n=new this.State(t,e,i,r);this.tokenize(n);const s=this.ruler2.getRules("");const l=s.length;for(let t=0;t<l;t++){s[t](n)}};Fm.prototype.State=Lp;function Em(t){const e={};t=t||{};e.src_Any=Wc.source;e.src_Cc=Hc.source;e.src_Z=Gc.source;e.src_P=Kc.source;e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|");e.src_ZCc=[e.src_Z,e.src_Cc].join("|");const i="[><|]";e.src_pseudo_letter="(?:(?!"+i+"|"+e.src_ZPCc+")"+e.src_Any+")";e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?";e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?";e.src_host_terminator="(?=$|"+i+"|"+e.src_ZPCc+")"+"(?!"+(t["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))";e.src_path="(?:"+"[/?#]"+"(?:"+"(?!"+e.src_ZCc+"|"+i+"|[()[\\]{}.,\"'?!\\-;]).|"+"\\[(?:(?!"+e.src_ZCc+"|\\]).)*\\]|"+"\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|"+"\\{(?:(?!"+e.src_ZCc+"|[}]).)*\\}|"+'\\"(?:(?!'+e.src_ZCc+'|["]).)+\\"|'+"\\'(?:(?!"+e.src_ZCc+"|[']).)+\\'|"+"\\'(?="+e.src_pseudo_letter+"|[-])|"+"\\.{2,}[a-zA-Z0-9%/&]|"+"\\.(?!"+e.src_ZCc+"|[.]|$)|"+(t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+"|$)|"+";(?!"+e.src_ZCc+"|$)|"+"\\!+(?!"+e.src_ZCc+"|[!]|$)|"+"\\?(?!"+e.src_ZCc+"|[?]|$)"+")+"+"|\\/"+")?";e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*';e.src_xn="xn--[a-z0-9\\-]{1,59}";e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63}"+")";e.src_domain="(?:"+e.src_xn+"|"+"(?:"+e.src_pseudo_letter+")"+"|"+"(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+")"+")";e.src_host="(?:"+"(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+")"+")";e.tpl_host_fuzzy="(?:"+e.src_ip4+"|"+"(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))"+")";e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))";e.src_host_strict=e.src_host+e.src_host_terminator;e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator;e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator;e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator;e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))";e.tpl_email_fuzzy="(^|"+i+'|"|\\(|'+e.src_ZCc+")"+"("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")";e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")";e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))"+"((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")";return e}function xm(t){const e=Array.prototype.slice.call(arguments,1);e.forEach((function(e){if(!e){return}Object.keys(e).forEach((function(i){t[i]=e[i]}))}));return t}function Mm(t){return Object.prototype.toString.call(t)}function Am(t){return Mm(t)==="[object String]"}function Cm(t){return Mm(t)==="[object Object]"}function Sm(t){return Mm(t)==="[object RegExp]"}function Om(t){return Mm(t)==="[object Function]"}function $m(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const _m={fuzzyLink:true,fuzzyEmail:true,fuzzyIP:false};function Bm(t){return Object.keys(t||{}).reduce((function(t,e){return t||_m.hasOwnProperty(e)}),false)}const jm={"http:":{validate:function(t,e,i){const r=t.slice(e);if(!i.re.http){i.re.http=new RegExp("^\\/\\/"+i.re.src_auth+i.re.src_host_port_strict+i.re.src_path,"i")}if(i.re.http.test(r)){return r.match(i.re.http)[0].length}return 0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,i){const r=t.slice(e);if(!i.re.no_http){i.re.no_http=new RegExp("^"+i.re.src_auth+"(?:localhost|(?:(?:"+i.re.src_domain+")\\.)+"+i.re.src_domain_root+")"+i.re.src_port+i.re.src_host_terminator+i.re.src_path,"i")}if(i.re.no_http.test(r)){if(e>=3&&t[e-3]===":"){return 0}if(e>=3&&t[e-3]==="/"){return 0}return r.match(i.re.no_http)[0].length}return 0}},"mailto:":{validate:function(t,e,i){const r=t.slice(e);if(!i.re.mailto){i.re.mailto=new RegExp("^"+i.re.src_email_name+"@"+i.re.src_host_strict,"i")}if(i.re.mailto.test(r)){return r.match(i.re.mailto)[0].length}return 0}}};const qm="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]";const Rm="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Nm(t){t.__index__=-1;t.__text_cache__=""}function zm(t){return function(e,i){const r=e.slice(i);if(t.test(r)){return r.match(t)[0].length}return 0}}function Tm(){return function(t,e){e.normalize(t)}}function Im(t){const e=t.re=Em(t.__opts__);const i=t.__tlds__.slice();t.onCompile();if(!t.__tlds_replaced__){i.push(qm)}i.push(e.src_xn);e.src_tlds=i.join("|");function r(t){return t.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(r(e.tpl_email_fuzzy),"i");e.link_fuzzy=RegExp(r(e.tpl_link_fuzzy),"i");e.link_no_ip_fuzzy=RegExp(r(e.tpl_link_no_ip_fuzzy),"i");e.host_fuzzy_test=RegExp(r(e.tpl_host_fuzzy_test),"i");const n=[];t.__compiled__={};function s(t,e){throw new Error('(LinkifyIt) Invalid schema "'+t+'": '+e)}Object.keys(t.__schemas__).forEach((function(e){const i=t.__schemas__[e];if(i===null){return}const r={validate:null,link:null};t.__compiled__[e]=r;if(Cm(i)){if(Sm(i.validate)){r.validate=zm(i.validate)}else if(Om(i.validate)){r.validate=i.validate}else{s(e,i)}if(Om(i.normalize)){r.normalize=i.normalize}else if(!i.normalize){r.normalize=Tm()}else{s(e,i)}return}if(Am(i)){n.push(e);return}s(e,i)}));n.forEach((function(e){if(!t.__compiled__[t.__schemas__[e]]){return}t.__compiled__[e].validate=t.__compiled__[t.__schemas__[e]].validate;t.__compiled__[e].normalize=t.__compiled__[t.__schemas__[e]].normalize}));t.__compiled__[""]={validate:null,normalize:Tm()};const l=Object.keys(t.__compiled__).filter((function(e){return e.length>0&&t.__compiled__[e]})).map($m).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","i");t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+l+")","ig");t.re.schema_at_start=RegExp("^"+t.re.schema_search.source,"i");t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i");Nm(t)}function Pm(t,e){const i=t.__index__;const r=t.__last_index__;const n=t.__text_cache__.slice(i,r);this.schema=t.__schema__.toLowerCase();this.index=i+e;this.lastIndex=r+e;this.raw=n;this.text=n;this.url=n}function Jm(t,e){const i=new Pm(t,e);t.__compiled__[i.schema].normalize(i,t);return i}function Lm(t,e){if(!(this instanceof Lm)){return new Lm(t,e)}if(!e){if(Bm(t)){e=t;t={}}}this.__opts__=xm({},_m,e);this.__index__=-1;this.__last_index__=-1;this.__schema__="";this.__text_cache__="";this.__schemas__=xm({},jm,t);this.__compiled__={};this.__tlds__=Rm;this.__tlds_replaced__=false;this.re={};Im(this)}Lm.prototype.add=function t(e,i){this.__schemas__[e]=i;Im(this);return this};Lm.prototype.set=function t(e){this.__opts__=xm(this.__opts__,e);return this};Lm.prototype.test=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length){return false}let i,r,n,s,l,u,o,f,h;if(this.re.schema_test.test(e)){o=this.re.schema_search;o.lastIndex=0;while((i=o.exec(e))!==null){s=this.testSchemaAt(e,i[2],o.lastIndex);if(s){this.__schema__=i[2];this.__index__=i.index+i[1].length;this.__last_index__=i.index+i[0].length+s;break}}}if(this.__opts__.fuzzyLink&&this.__compiled__["http:"]){f=e.search(this.re.host_fuzzy_test);if(f>=0){if(this.__index__<0||f<this.__index__){if((r=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null){l=r.index+r[1].length;if(this.__index__<0||l<this.__index__){this.__schema__="";this.__index__=l;this.__last_index__=r.index+r[0].length}}}}}if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]){h=e.indexOf("@");if(h>=0){if((n=e.match(this.re.email_fuzzy))!==null){l=n.index+n[1].length;u=n.index+n[0].length;if(this.__index__<0||l<this.__index__||l===this.__index__&&u>this.__last_index__){this.__schema__="mailto:";this.__index__=l;this.__last_index__=u}}}}return this.__index__>=0};Lm.prototype.pretest=function t(e){return this.re.pretest.test(e)};Lm.prototype.testSchemaAt=function t(e,i,r){if(!this.__compiled__[i.toLowerCase()]){return 0}return this.__compiled__[i.toLowerCase()].validate(e,r,this)};Lm.prototype.match=function t(e){const i=[];let r=0;if(this.__index__>=0&&this.__text_cache__===e){i.push(Jm(this,r));r=this.__last_index__}let n=r?e.slice(r):e;while(this.test(n)){i.push(Jm(this,r));n=n.slice(this.__last_index__);r+=this.__last_index__}if(i.length){return i}return null};Lm.prototype.matchAtStart=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length)return null;const i=this.re.schema_at_start.exec(e);if(!i)return null;const r=this.testSchemaAt(e,i[2],i[0].length);if(!r)return null;this.__schema__=i[2];this.__index__=i.index+i[1].length;this.__last_index__=i.index+i[0].length+r;return Jm(this,0)};Lm.prototype.tlds=function t(e,i){e=Array.isArray(e)?e:[e];if(!i){this.__tlds__=e.slice();this.__tlds_replaced__=true;Im(this);return this}this.__tlds__=this.__tlds__.concat(e).sort().filter((function(t,e,i){return t!==i[e-1]})).reverse();Im(this);return this};Lm.prototype.normalize=function t(e){if(!e.schema){e.url="http://"+e.url}if(e.schema==="mailto:"&&!/^mailto:/i.test(e.url)){e.url="mailto:"+e.url}};Lm.prototype.onCompile=function t(){};const Um=2147483647;const Wm=36;const Hm=1;const Zm=26;const Km=38;const Vm=700;const Gm=72;const Xm=128;const Ym="-";const Qm=/^xn--/;const tw=/[^\0-\x7F]/;const ew=/[\x2E\u3002\uFF0E\uFF61]/g;const iw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const rw=Wm-Hm;const nw=Math.floor;const sw=String.fromCharCode;function lw(t){throw new RangeError(iw[t])}function uw(t,e){const i=[];let r=t.length;while(r--){i[r]=e(t[r])}return i}function ow(t,e){const i=t.split("@");let r="";if(i.length>1){r=i[0]+"@";t=i[1]}t=t.replace(ew,".");const n=t.split(".");const s=uw(n,e).join(".");return r+s}function fw(t){const e=[];let i=0;const r=t.length;while(i<r){const n=t.charCodeAt(i++);if(n>=55296&&n<=56319&&i<r){const r=t.charCodeAt(i++);if((r&64512)==56320){e.push(((n&1023)<<10)+(r&1023)+65536)}else{e.push(n);i--}}else{e.push(n)}}return e}const hw=t=>String.fromCodePoint(...t);const aw=function(t){if(t>=48&&t<58){return 26+(t-48)}if(t>=65&&t<91){return t-65}if(t>=97&&t<123){return t-97}return Wm};const cw=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)};const dw=function(t,e,i){let r=0;t=i?nw(t/Vm):t>>1;t+=nw(t/e);for(;t>rw*Zm>>1;r+=Wm){t=nw(t/rw)}return nw(r+(rw+1)*t/(t+Km))};const pw=function(t){const e=[];const i=t.length;let r=0;let n=Xm;let s=Gm;let l=t.lastIndexOf(Ym);if(l<0){l=0}for(let i=0;i<l;++i){if(t.charCodeAt(i)>=128){lw("not-basic")}e.push(t.charCodeAt(i))}for(let u=l>0?l+1:0;u<i;){const l=r;for(let e=1,n=Wm;;n+=Wm){if(u>=i){lw("invalid-input")}const l=aw(t.charCodeAt(u++));if(l>=Wm){lw("invalid-input")}if(l>nw((Um-r)/e)){lw("overflow")}r+=l*e;const o=n<=s?Hm:n>=s+Zm?Zm:n-s;if(l<o){break}const f=Wm-o;if(e>nw(Um/f)){lw("overflow")}e*=f}const o=e.length+1;s=dw(r-l,o,l==0);if(nw(r/o)>Um-n){lw("overflow")}n+=nw(r/o);r%=o;e.splice(r++,0,n)}return String.fromCodePoint(...e)};const mw=function(t){const e=[];t=fw(t);const i=t.length;let r=Xm;let n=0;let s=Gm;for(const i of t){if(i<128){e.push(sw(i))}}const l=e.length;let u=l;if(l){e.push(Ym)}while(u<i){let i=Um;for(const e of t){if(e>=r&&e<i){i=e}}const o=u+1;if(i-r>nw((Um-n)/o)){lw("overflow")}n+=(i-r)*o;r=i;for(const i of t){if(i<r&&++n>Um){lw("overflow")}if(i===r){let t=n;for(let i=Wm;;i+=Wm){const r=i<=s?Hm:i>=s+Zm?Zm:i-s;if(t<r){break}const n=t-r;const l=Wm-r;e.push(sw(cw(r+n%l,0)));t=nw(n/l)}e.push(sw(cw(t,0)));s=dw(n,o,u===l);n=0;++u}}++n;++r}return e.join("")};const ww=function(t){return ow(t,(function(t){return Qm.test(t)?pw(t.slice(4).toLowerCase()):t}))};const gw=function(t){return ow(t,(function(t){return tw.test(t)?"xn--"+mw(t):t}))};const bw={version:"2.3.1",ucs2:{decode:fw,encode:hw},decode:pw,encode:mw,toASCII:gw,toUnicode:ww};const kw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};const Dw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}};const vw={options:{html:true,xhtmlOut:true,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}};const yw={default:kw,zero:Dw,commonmark:vw};const Fw=/^(vbscript|javascript|file|data):/;const Ew=/^data:image\/(gif|png|jpeg|webp);/;function xw(t){const e=t.trim().toLowerCase();return Fw.test(e)?Ew.test(e):true}const Mw=["http:","https:","mailto:"];function Aw(t){const e=Lc(t,true);if(e.hostname){if(!e.protocol||Mw.indexOf(e.protocol)>=0){try{e.hostname=bw.toASCII(e.hostname)}catch(t){}}}return Ac(Cc(e))}function Cw(t){const e=Lc(t,true);if(e.hostname){if(!e.protocol||Mw.indexOf(e.protocol)>=0){try{e.hostname=bw.toUnicode(e.hostname)}catch(t){}}}return Ec(Cc(e),Ec.defaultChars+"%")}function Sw(t,e){if(!(this instanceof Sw)){return new Sw(t,e)}if(!e){if(!Qc(t)){e=t||{};t="default"}}this.inline=new Fm;this.block=new Jp;this.core=new lp;this.renderer=new _d;this.linkify=new Lm;this.validateLink=xw;this.normalizeLink=Aw;this.normalizeLinkText=Cw;this.utils=Md;this.helpers=id({},Od);this.options={};this.configure(t);if(e){this.set(e)}}Sw.prototype.set=function(t){id(this.options,t);return this};Sw.prototype.configure=function(t){const e=this;if(Qc(t)){const e=t;t=yw[e];if(!t){throw new Error('Wrong `markdown-it` preset "'+e+'", check name')}}if(!t){throw new Error("Wrong `markdown-it` preset, can't be empty")}if(t.options){e.set(t.options)}if(t.components){Object.keys(t.components).forEach((function(i){if(t.components[i].rules){e[i].ruler.enableOnly(t.components[i].rules)}if(t.components[i].rules2){e[i].ruler2.enableOnly(t.components[i].rules2)}}))}return this};Sw.prototype.enable=function(t,e){let i=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){i=i.concat(this[e].ruler.enable(t,true))}),this);i=i.concat(this.inline.ruler2.enable(t,true));const r=t.filter((function(t){return i.indexOf(t)<0}));if(r.length&&!e){throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r)}return this};Sw.prototype.disable=function(t,e){let i=[];if(!Array.isArray(t)){t=[t]}["core","block","inline"].forEach((function(e){i=i.concat(this[e].ruler.disable(t,true))}),this);i=i.concat(this.inline.ruler2.disable(t,true));const r=t.filter((function(t){return i.indexOf(t)<0}));if(r.length&&!e){throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r)}return this};Sw.prototype.use=function(t){const e=[this].concat(Array.prototype.slice.call(arguments,1));t.apply(t,e);return this};Sw.prototype.parse=function(t,e){if(typeof t!=="string"){throw new Error("Input data should be a String")}const i=new this.core.State(t,this,e);this.core.process(i);return i.tokens};Sw.prototype.render=function(t,e){e=e||{};return this.renderer.render(this.parse(t,e),this.options,e)};Sw.prototype.parseInline=function(t,e){const i=new this.core.State(t,this,e);i.inlineMode=true;this.core.process(i);return i.tokens};Sw.prototype.renderInline=function(t,e){e=e||{};return this.renderer.render(this.parseInline(t,e),this.options,e)};const Ow=new oi({nodes:{doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return["p",0]}},blockquote:{content:"block+",group:"block",parseDOM:[{tag:"blockquote"}],toDOM(){return["blockquote",0]}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return["div",["hr"]]}},heading:{attrs:{level:{default:1}},content:"(text | image)*",group:"block",defining:true,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(t){return["h"+t.attrs.level,0]}},code_block:{content:"text*",group:"block",code:true,defining:true,marks:"",attrs:{params:{default:""}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs:t=>({params:t.getAttribute("data-params")||""})}],toDOM(t){return["pre",t.attrs.params?{"data-params":t.attrs.params}:{},["code",0]]}},ordered_list:{content:"list_item+",group:"block",attrs:{order:{default:1},tight:{default:false}},parseDOM:[{tag:"ol",getAttrs(t){return{order:t.hasAttribute("start")?+t.getAttribute("start"):1,tight:t.hasAttribute("data-tight")}}}],toDOM(t){return["ol",{start:t.attrs.order==1?null:t.attrs.order,"data-tight":t.attrs.tight?"true":null},0]}},bullet_list:{content:"list_item+",group:"block",attrs:{tight:{default:false}},parseDOM:[{tag:"ul",getAttrs:t=>({tight:t.hasAttribute("data-tight")})}],toDOM(t){return["ul",{"data-tight":t.attrs.tight?"true":null},0]}},list_item:{content:"block+",defining:true,parseDOM:[{tag:"li"}],toDOM(){return["li",0]}},text:{group:"inline"},image:{inline:true,attrs:{src:{},alt:{default:null},title:{default:null}},group:"inline",draggable:true,parseDOM:[{tag:"img[src]",getAttrs(t){return{src:t.getAttribute("src"),title:t.getAttribute("title"),alt:t.getAttribute("alt")}}}],toDOM(t){return["img",t.attrs]}},hard_break:{inline:true,group:"inline",selectable:false,parseDOM:[{tag:"br"}],toDOM(){return["br"]}}},marks:{em:{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-style=italic"},{style:"font-style=normal",clearMark:t=>t.type.name=="em"}],toDOM(){return["em"]}},strong:{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name=="strong"},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}],toDOM(){return["strong"]}},link:{attrs:{href:{},title:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs(t){return{href:t.getAttribute("href"),title:t.getAttribute("title")}}}],toDOM(t){return["a",t.attrs]}},code:{parseDOM:[{tag:"code"}],toDOM(){return["code"]}}}});function $w(t,e){if(t.isText&&e.isText&&be.sameSet(t.marks,e.marks))return t.withText(t.text+e.text)}class _w{constructor(t,e){this.schema=t;this.tokenHandlers=e;this.stack=[{type:t.topNodeType,attrs:null,content:[],marks:be.none}]}top(){return this.stack[this.stack.length-1]}push(t){if(this.stack.length)this.top().content.push(t)}addText(t){if(!t)return;let e=this.top(),i=e.content,r=i[i.length-1];let n=this.schema.text(t,e.marks),s;if(r&&(s=$w(r,n)))i[i.length-1]=s;else i.push(n)}openMark(t){let e=this.top();e.marks=t.addToSet(e.marks)}closeMark(t){let e=this.top();e.marks=t.removeFromSet(e.marks)}parseTokens(t){for(let e=0;e<t.length;e++){let i=t[e];let r=this.tokenHandlers[i.type];if(!r)throw new Error("Token type `"+i.type+"` not supported by Markdown parser");r(this,i,t,e)}}addNode(t,e,i){let r=this.top();let n=t.createAndFill(e,i,r?r.marks:[]);if(!n)return null;this.push(n);return n}openNode(t,e){this.stack.push({type:t,attrs:e,content:[],marks:be.none})}closeNode(){let t=this.stack.pop();return this.addNode(t.type,t.attrs,t.content)}}function Bw(t,e,i,r){if(t.getAttrs)return t.getAttrs(e,i,r);else if(t.attrs instanceof Function)return t.attrs(e);else return t.attrs}function jw(t,e){return t.noCloseToken||e=="code_inline"||e=="code_block"||e=="fence"}function qw(t){return t[t.length-1]=="\n"?t.slice(0,t.length-1):t}function Rw(){}function Nw(t,e){let i=Object.create(null);for(let r in e){let n=e[r];if(n.block){let e=t.nodeType(n.block);if(jw(n,r)){i[r]=(t,i,r,s)=>{t.openNode(e,Bw(n,i,r,s));t.addText(qw(i.content));t.closeNode()}}else{i[r+"_open"]=(t,i,r,s)=>t.openNode(e,Bw(n,i,r,s));i[r+"_close"]=t=>t.closeNode()}}else if(n.node){let e=t.nodeType(n.node);i[r]=(t,i,r,s)=>t.addNode(e,Bw(n,i,r,s))}else if(n.mark){let e=t.marks[n.mark];if(jw(n,r)){i[r]=(t,i,r,s)=>{t.openMark(e.create(Bw(n,i,r,s)));t.addText(qw(i.content));t.closeMark(e)}}else{i[r+"_open"]=(t,i,r,s)=>t.openMark(e.create(Bw(n,i,r,s)));i[r+"_close"]=t=>t.closeMark(e)}}else if(n.ignore){if(jw(n,r)){i[r]=Rw}else{i[r+"_open"]=Rw;i[r+"_close"]=Rw}}else{throw new RangeError("Unrecognized parsing spec "+JSON.stringify(n))}}i.text=(t,e)=>t.addText(e.content);i.inline=(t,e)=>t.parseTokens(e.children);i.softbreak=i.softbreak||(t=>t.addText(" "));return i}class zw{constructor(t,e,i){this.schema=t;this.tokenizer=e;this.tokens=i;this.tokenHandlers=Nw(t,i)}parse(t,e={}){let i=new _w(this.schema,this.tokenHandlers),r;i.parseTokens(this.tokenizer.parse(t,e));do{r=i.closeNode()}while(i.stack.length);return r||this.schema.topNodeType.createAndFill()}}function Tw(t,e){while(++e<t.length)if(t[e].type!="list_item_open")return t[e].hidden;return false}new zw(Ow,Sw("commonmark",{html:false}),{blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(t,e,i)=>({tight:Tw(e,i)})},ordered_list:{block:"ordered_list",getAttrs:(t,e,i)=>({order:+t.attrGet("start")||1,tight:Tw(e,i)})},heading:{block:"heading",getAttrs:t=>({level:+t.tag.slice(1)})},code_block:{block:"code_block",noCloseToken:true},fence:{block:"code_block",getAttrs:t=>({params:t.info||""}),noCloseToken:true},hr:{node:"horizontal_rule"},image:{node:"image",getAttrs:t=>({src:t.attrGet("src"),title:t.attrGet("title")||null,alt:t.children[0]&&t.children[0].content||null})},hardbreak:{node:"hard_break"},em:{mark:"em"},strong:{mark:"strong"},link:{mark:"link",getAttrs:t=>({href:t.attrGet("href"),title:t.attrGet("title")||null})},code_inline:{mark:"code",noCloseToken:true}});class Iw{constructor(t,e,i={}){this.nodes=t;this.marks=e;this.options=i}serialize(t,e={}){e=Object.assign({},this.options,e);let i=new Uw(this.nodes,this.marks,e);i.renderContent(t);return i.out}}const Pw=new Iw({blockquote(t,e){t.wrapBlock("> ",null,e,(()=>t.renderContent(e)))},code_block(t,e){const i=e.textContent.match(/`{3,}/gm);const r=i?i.sort().slice(-1)[0]+"`":"```";t.write(r+(e.attrs.params||"")+"\n");t.text(e.textContent,false);t.write("\n");t.write(r);t.closeBlock(e)},heading(t,e){t.write(t.repeat("#",e.attrs.level)+" ");t.renderInline(e,false);t.closeBlock(e)},horizontal_rule(t,e){t.write(e.attrs.markup||"---");t.closeBlock(e)},bullet_list(t,e){t.renderList(e," ",(()=>(e.attrs.bullet||"*")+" "))},ordered_list(t,e){let i=e.attrs.order||1;let r=String(i+e.childCount-1).length;let n=t.repeat(" ",r+2);t.renderList(e,n,(e=>{let n=String(i+e);return t.repeat(" ",r-n.length)+n+". "}))},list_item(t,e){t.renderContent(e)},paragraph(t,e){t.renderInline(e);t.closeBlock(e)},image(t,e){t.write("]/g,"\\$&")+(e.attrs.title?' "'+e.attrs.title.replace(/"/g,'\\"')+'"':"")+")")},hard_break(t,e,i,r){for(let n=r+1;n<i.childCount;n++)if(i.child(n).type!=e.type){t.write("\\\n");return}},text(t,e){t.text(e.text,!t.inAutolink)}},{em:{open:"*",close:"*",mixable:true,expelEnclosingWhitespace:true},strong:{open:"**",close:"**",mixable:true,expelEnclosingWhitespace:true},link:{open(t,e,i,r){t.inAutolink=Lw(e,i,r);return t.inAutolink?"<":"["},close(t,e,i,r){let{inAutolink:n}=t;t.inAutolink=undefined;return n?">":"]("+e.attrs.href.replace(/[\(\)"]/g,"\\$&")+(e.attrs.title?` "${e.attrs.title.replace(/"/g,'\\"')}"`:"")+")"},mixable:true},code:{open(t,e,i,r){return Jw(i.child(r),-1)},close(t,e,i,r){return Jw(i.child(r-1),1)},escape:false}});function Jw(t,e){let i=/`+/g,r,n=0;if(t.isText)while(r=i.exec(t.text))n=Math.max(n,r[0].length);let s=n>0&&e>0?" `":"`";for(let t=0;t<n;t++)s+="`";if(n>0&&e<0)s+=" ";return s}function Lw(t,e,i){if(t.attrs.title||!/^\w+:/.test(t.attrs.href))return false;let r=e.child(i);if(!r.isText||r.text!=t.attrs.href||r.marks[r.marks.length-1]!=t)return false;return i==e.childCount-1||!t.isInSet(e.child(i+1).marks)}class Uw{constructor(t,e,i){this.nodes=t;this.marks=e;this.options=i;this.delim="";this.out="";this.closed=null;this.inAutolink=undefined;this.atBlockStart=false;this.inTightList=false;if(typeof this.options.tightLists=="undefined")this.options.tightLists=false;if(typeof this.options.hardBreakNodeName=="undefined")this.options.hardBreakNodeName="hard_break"}flushClose(t=2){if(this.closed){if(!this.atBlank())this.out+="\n";if(t>1){let e=this.delim;let i=/\s+$/.exec(e);if(i)e=e.slice(0,e.length-i[0].length);for(let i=1;i<t;i++)this.out+=e+"\n"}this.closed=null}}wrapBlock(t,e,i,r){let n=this.delim;this.write(e!=null?e:t);this.delim+=t;r();this.delim=n;this.closeBlock(i)}atBlank(){return/(^|\n)$/.test(this.out)}ensureNewLine(){if(!this.atBlank())this.out+="\n"}write(t){this.flushClose();if(this.delim&&this.atBlank())this.out+=this.delim;if(t)this.out+=t}closeBlock(t){this.closed=t}text(t,e=true){let i=t.split("\n");for(let t=0;t<i.length;t++){this.write();if(!e&&i[t][0]=="["&&/(^|[^\\])\!$/.test(this.out))this.out=this.out.slice(0,this.out.length-1)+"\\!";this.out+=e?this.esc(i[t],this.atBlockStart):i[t];if(t!=i.length-1)this.out+="\n"}}render(t,e,i){if(!this.nodes[t.type.name])throw new Error("Token type `"+t.type.name+"` not supported by Markdown renderer");this.nodes[t.type.name](this,t,e,i)}renderContent(t){t.forEach(((e,i,r)=>this.render(e,t,r)))}renderInline(t,e=true){this.atBlockStart=e;let i=[],r="";let n=(e,n,s)=>{let l=e?e.marks:[];if(e&&e.type.name===this.options.hardBreakNodeName)l=l.filter((e=>{if(s+1==t.childCount)return false;let i=t.child(s+1);return e.isInSet(i.marks)&&(!i.isText||/\S/.test(i.text))}));let u=r;r="";if(e&&e.isText&&l.some((t=>{let e=this.marks[t.type.name];return e&&e.expelEnclosingWhitespace&&!t.isInSet(i)}))){let[t,r,n]=/^(\s*)(.*)$/m.exec(e.text);if(r){u+=r;e=n?e.withText(n):null;if(!e)l=i}}if(e&&e.isText&&l.some((e=>{let i=this.marks[e.type.name];return i&&i.expelEnclosingWhitespace&&(s==t.childCount-1||!e.isInSet(t.child(s+1).marks))}))){let[t,n,s]=/^(.*?)(\s*)$/m.exec(e.text);if(s){r=s;e=n?e.withText(n):null;if(!e)l=i}}let o=l.length?l[l.length-1]:null;let f=o&&this.marks[o.type.name].escape===false;let h=l.length-(f?1:0);t:for(let t=0;t<h;t++){let e=l[t];if(!this.marks[e.type.name].mixable)break;for(let r=0;r<i.length;r++){let n=i[r];if(!this.marks[n.type.name].mixable)break;if(e.eq(n)){if(t>r)l=l.slice(0,r).concat(e).concat(l.slice(r,t)).concat(l.slice(t+1,h));else if(r>t)l=l.slice(0,t).concat(l.slice(t+1,r)).concat(e).concat(l.slice(r,h));continue t}}}let a=0;while(a<Math.min(i.length,h)&&l[a].eq(i[a]))++a;while(a<i.length)this.text(this.markString(i.pop(),false,t,s),false);if(u)this.text(u);if(e){while(i.length<h){let e=l[i.length];i.push(e);this.text(this.markString(e,true,t,s),false);this.atBlockStart=false}if(f&&e.isText)this.text(this.markString(o,true,t,s)+e.text+this.markString(o,false,t,s+1),false);else this.render(e,t,s);this.atBlockStart=false}if((e===null||e===void 0?void 0:e.isText)&&e.nodeSize>0){this.atBlockStart=false}};t.forEach(n);n(null,0,t.childCount);this.atBlockStart=false}renderList(t,e,i){if(this.closed&&this.closed.type==t.type)this.flushClose(3);else if(this.inTightList)this.flushClose(1);let r=typeof t.attrs.tight!="undefined"?t.attrs.tight:this.options.tightLists;let n=this.inTightList;this.inTightList=r;t.forEach(((n,s,l)=>{if(l&&r)this.flushClose(1);this.wrapBlock(e,i(l),t,(()=>this.render(n,t,l)))}));this.inTightList=n}esc(t,e=false){t=t.replace(/[`*\\~\[\]_]/g,((e,i)=>e=="_"&&i>0&&i+1<t.length&&t[i-1].match(/\w/)&&t[i+1].match(/\w/)?e:"\\"+e));if(e)t=t.replace(/^(\+[ ]|[\-*>])/,"\\$&").replace(/^(\s*)(#{1,6})(\s|$)/,"$1\\$2$3").replace(/^(\s*\d+)\.\s/,"$1\\. ");if(this.options.escapeExtraCharacters)t=t.replace(this.options.escapeExtraCharacters,"\\$&");return t}quote(t){let e=t.indexOf('"')==-1?'""':t.indexOf("'")==-1?"''":"()";return e[0]+t+e[1]}repeat(t,e){let i="";for(let r=0;r<e;r++)i+=t;return i}markString(t,e,i,r){let n=this.marks[t.type.name];let s=e?n.open:n.close;return typeof s=="string"?s:s(this,t,i,r)}getEnclosingWhitespace(t){return{leading:(t.match(/^(\s+)/)||[undefined])[0],trailing:(t.match(/(\s+)$/)||[undefined])[0]}}}const Ww=new Iw(Object.assign({},Pw.nodes),Object.assign(Object.assign({},Pw.marks),{strikethrough:{open:"~~",close:"~~",mixable:true,expelEnclosingWhitespace:true}}));class Hw{constructor(){this.parseAsHTML=t=>M(t);this.serialize=t=>{if(t.dom.textContent===""){return""}else{return Ww.serialize(t.state.doc)}}}}class Zw{constructor(){this.parseAsHTML=t=>new Promise((e=>{e(t)}));this.serialize=t=>{if(t.dom.textContent===""){return""}else{return t.dom.innerHTML}}}}const Kw={parseDOM:[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration=line-through"}],toDOM:()=>["s",0]};const Vw=new cn("linkPlugin");const Gw=(t,e)=>{const{from:i,to:r}=t.state.selection;let n="";let s="";t.state.doc.nodesBetween(i,r,(t=>{if(t.type.name==="text"){n=t.text;t.marks.forEach((t=>{if(t.type.name==="link"){s=t.attrs.href}}))}}));if(e){e(n,s)}};const Xw=(t,e,i)=>{while(e>0){const r=t.nodeAt(e-1);if(!(r===null||r===void 0?void 0:r.isText)||!r.marks.some((t=>t.type.name===Ya.Link&&t.attrs.href===i))){break}e--}return e};const Yw=(t,e,i)=>{while(e<t.content.size){const r=t.nodeAt(e);if(!(r===null||r===void 0?void 0:r.isText)||!r.marks.some((t=>t.type.name===Ya.Link&&t.attrs.href===i))){break}e++}return e};const Qw=(t,e)=>{const i=t.posAtCoords({left:e.clientX,top:e.clientY});const r=t.state.doc.nodeAt(i.pos);if(!r){return null}const n=r.marks.find((t=>t.type.name===Ya.Link));if(!n){return null}const s=n.attrs.href;const l=Xw(t.state.doc,i.pos,s);const u=Yw(t.state.doc,i.pos,s);const o=t.state.doc.textBetween(l,u," ");return{href:s,text:o,from:l,to:u}};const tg=(t,e)=>{const{href:i}=Qw(t,e);if(i){window.open(i,"_blank");return true}return false};const eg=(t,e,i)=>{const r=new CustomEvent("open-editor-link-menu",{detail:{href:e,text:i},bubbles:true,composed:true});t.dom.dispatchEvent(r)};let ig=0;const rg=200;let ng;const sg=(t,e)=>{const i=Date.now();if(i-ig<rg){clearTimeout(ng);ig=i;return false}ig=i;ng=setTimeout((()=>{const i=Qw(t,e);if(i){const{href:e,text:r,from:n,to:s}=i;const l=t.state.tr.setSelection(Ur.create(t.state.doc,n,s));t.dispatch(l);eg(t,e,r)}}),rg);return true};const lg=(t,e)=>{const i=e.clipboardData;if(!i){return false}const r=i.getData("text/plain");if(oc(r)){ug(t,r);return true}return false};const ug=(t,e)=>{const{state:i,dispatch:r}=t;const{from:n,to:s}=i.selection;const l=No.marks.link.create({href:e,title:e,target:lc(e)?"_blank":null});const u=i.doc.textBetween(n,s," ")||e;const o=i.tr.insertText(u,n,s).addMark(n,n+u.length,l);r(o)};const og=t=>new fn({key:Vw,props:{handlePaste:(t,e)=>lg(t,e),handleDOMEvents:{mousedown:(t,e)=>{if((e.metaKey||e.ctrlKey)&&e.button===0){return tg(t,e)}return sg(t,e)}}},view:()=>({update:e=>{Gw(e,t)}})});const fg=new cn("imageRemoverPlugin");const hg=()=>new fn({key:fg,props:{handlePaste:(t,e,i)=>dg(t,e,i)}});const ag=t=>{if(t instanceof Te){if(t.type.name==="image"){return true}let e=false;t.content.forEach((t=>{if(ag(t)){e=true}}));return e}else if(t instanceof pe){let e=false;t.forEach((t=>{if(ag(t)){e=true}}));return e}return false};const cg=t=>{const e=[];t.forEach((t=>{if(!ag(t)){if(t.content.size>0){const i=cg(t.content);const r=t.copy(i);e.push(r)}else{e.push(t)}}}));return pe.fromArray(e)};const dg=(t,e,i)=>{const r=e.clipboardData;if(!r){return false}const n=new De(cg(i.content),i.openStart,i.openEnd);if(n.content.childCount<i.content.childCount){const{state:e,dispatch:i}=t;const r=e.tr.replaceSelection(n);i(r);return true}return false};const pg='@charset "UTF-8";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-prosemirror-adapter){display:flex;flex-direction:column}:host(limel-prosemirror-adapter) limel-action-bar{order:1}:host(limel-prosemirror-adapter) div#editor{order:2;height:100%}:host(limel-prosemirror-adapter) div[contenteditable=true]{height:100%}*{box-sizing:border-box}.ProseMirror-menubar-wrapper{display:grid;grid-template-rows:auto 1fr}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}limel-action-bar{--action-bar-border-radius:0.25rem;position:sticky;z-index:1;top:1px;background-color:rgba(var(--contrast-200), 0.5);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);opacity:0.6;transition:opacity 0.5s ease;margin:0 1px;width:calc(100% - 2px)}:host(limel-prosemirror-adapter:focus-within) limel-action-bar,:host(limel-prosemirror-adapter:hover) limel-action-bar{opacity:1}.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;padding:var(--limel-text-editor-padding)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror:focus-visible{outline:none}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-selectednode{outline:0.125rem solid rgb(var(--color-sky-light))}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;left:-2rem;right:-0.125rem;top:-0.125rem;bottom:-0.125rem;border:0.125rem solid rgb(var(--color-sky-light));pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}limel-portal{width:25rem}blockquote{position:relative;font-weight:100;font-size:0.875rem;max-width:100%;line-height:1.4;margin:0;padding:0.5rem 1.25rem;border-radius:0.05rem 0.75rem;background-color:rgb(var(--contrast-300))}blockquote:before,blockquote:after{position:absolute;font-size:2.75rem;opacity:0.4}blockquote:before{content:"“";left:0;top:-0.75rem}blockquote:after{content:"”";right:0;bottom:-2rem}:host(limel-markdown.truncate-paragraphs) p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}p,li{font-size:0.875rem;word-break:break-word;hyphens:auto;-webkit-hyphens:auto}a{word-break:break-all}p{margin-top:0;margin-bottom:0.5rem}p:only-child{margin-bottom:0}a{transition:color 0.2s ease;color:var(--markdown-hyperlink-color, rgb(var(--color-blue-dark)));text-decoration:none}a:hover{color:var(--markdown-hyperlink-color--hovered, rgb(var(--color-blue-default)))}hr{margin:1.75rem 0 2rem 0;border-width:0;border-top:1px solid rgb(var(--contrast-500))}dl{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;margin-bottom:2rem;border:1px solid rgb(var(--contrast-400));border-radius:0.375rem;background-color:rgb(var(--contrast-200))}dl dt,dl dd{padding:0.375rem 0.5rem;font-size:0.875rem;margin:0}dl dt:nth-of-type(even),dl dd:nth-of-type(even){background-color:rgb(var(--contrast-300))}dl dt:first-child{border-top-left-radius:0.375rem}dl dt:last-child{border-bottom-left-radius:0.375rem}dl dd:first-child{border-top-right-radius:0.375rem}dl dd:last-child{border-bottom-right-radius:0.375rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:0.875rem}h6{font-size:0.75rem}h1,h2{margin-top:0.5rem;margin-bottom:0.5rem;letter-spacing:-0.03125rem;font-weight:500}h3,h4{margin-top:0.75rem;margin-bottom:0.25rem;font-weight:600}h5,h6{margin-top:0.5rem;margin-bottom:0.125rem;font-weight:600}h1,h2,h3,h4,h5,h6{word-break:break-word;hyphens:auto;-webkit-hyphens:auto}:not([contenteditable=true]) h1,:not([contenteditable=true]) h2,:not([contenteditable=true]) h3,:not([contenteditable=true]) h4,:not([contenteditable=true]) h5,:not([contenteditable=true]) h6{text-wrap:balance}[contenteditable=true] h1,[contenteditable=true] h2,[contenteditable=true] h3,[contenteditable=true] h4,[contenteditable=true] h5,[contenteditable=true] h6{text-wrap:initial}ul{list-style:none}ul li{position:relative;margin-left:0.75rem}ul li:before{content:"";position:absolute;left:-0.5rem;top:0.5rem;width:0.25rem;height:0.25rem;border-radius:50%;background-color:rgb(var(--contrast-700));display:block}ol{margin-top:0.25rem;padding-left:1rem}ul{margin-top:0.25rem;padding-left:0}ul ul,ul ol,ol ol,ol ul{margin-left:0}li{margin-bottom:0.25rem}code{font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-size:0.8125rem;letter-spacing:-0.0125rem;color:rgb(var(--contrast-1300));-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;display:inline-block;border-radius:0.25rem;padding:0.03125rem 0.25rem;background-color:rgb(var(--contrast-600))}pre>code{display:block;margin:0.5rem 0;padding:0.5rem 0.75rem;overflow:auto;white-space:pre-wrap}:host(limel-markdown:not(.no-table-styles)) table{table-layout:auto;min-width:100%;border-collapse:collapse;border-spacing:0;background:transparent;margin:0.75rem 0;border:1px solid rgb(var(--contrast-400))}:host(limel-markdown:not(.no-table-styles)) th,:host(limel-markdown:not(.no-table-styles)) td{text-align:left;vertical-align:top;transition:background-color 0.2s ease;font-size:0.875rem}:host(limel-markdown:not(.no-table-styles)) td{padding:0.5rem 0.375rem 0.75rem 0.375rem}:host(limel-markdown:not(.no-table-styles)) tr th{background-color:rgb(var(--contrast-400));padding:0.25rem 0.375rem;font-weight:normal}:host(limel-markdown:not(.no-table-styles)) tr th:only-child{text-align:center}:host(limel-markdown:not(.no-table-styles)) tbody tr:nth-child(odd) td{background-color:rgb(var(--contrast-200))}:host(limel-markdown:not(.no-table-styles)) tbody tr:hover td{background-color:rgb(var(--contrast-300))}';const mg=class{constructor(i){t(this,i);this.change=e(this,"change",7);this.suppressChangeEvent=false;this.actionBarPluginKey=new cn("actionBarPlugin");this.getActionBarItems=()=>{this.actionBarItems=Dc().map(this.getTranslatedItem)};this.getTranslatedItem=t=>{const e=he(t);if(S(t)){const i=vc[t.value];if(i){e.text=A.get(i,this.language)}}return e};this.handleTransaction=t=>{const e=this.view.state.apply(t);this.view.updateState(e);if(this.suppressChangeEvent){return}if(t.getMeta("pointer")){return}this.change.emit(this.contentConverter.serialize(this.view,this.schema))};this.handleActionBarItem=t=>{t.preventDefault();t.stopImmediatePropagation();const{value:e}=t.detail;if(e===Ya.Link){this.isLinkMenuOpen=true;return}try{const t=this.menuCommandFactory.getCommand(e);this.dispatchMenuCommand(t)}catch(t){throw new Error(`Error executing command: ${t}`)}};this.handleCancelLinkMenu=()=>{this.isLinkMenuOpen=false};this.handleSaveLinkMenu=()=>{this.isLinkMenuOpen=false;try{const t=this.menuCommandFactory.getCommand("link",this.link);this.dispatchMenuCommand(t)}catch(t){throw new Error(`Error executing command: ${t}`)}this.link={href:""}};this.handleLinkChange=t=>{this.link=t.detail};this.updateActionBarItems=(t,e)=>{const i=he(t);i.forEach((t=>{if(S(t)){const i=this.menuCommandFactory.getCommand(t.value);if(i&&i.active){t.selected=i.active(e.state)}else{t.selected=false}}}));this.actionBarItems=i};this.createMenuStateTrackingPlugin=t=>new fn({key:this.actionBarPluginKey,view:()=>({update:e=>{this.updateActionBarItems(t,e)}})});this.handleNewLinkSelection=(t,e)=>{this.link.text=t;this.link.href=e};this.handleOpenLinkMenu=t=>{t.stopImmediatePropagation();const{href:e,text:i}=t.detail;this.link={href:e,text:i};this.isLinkMenuOpen=true};this.contentType="markdown";this.value=undefined;this.language=undefined;this.view=undefined;this.actionBarItems=[];this.link={href:""};this.isLinkMenuOpen=false;this.portalId=C()}watchValue(t){if(!this.view||t===this.contentConverter.serialize(this.view,this.schema)){return}this.updateView(t)}componentWillLoad(){this.getActionBarItems();this.setupContentConverter()}componentDidLoad(){setTimeout((()=>{this.initializeTextEditor()}),0);this.host.addEventListener("open-editor-link-menu",this.handleOpenLinkMenu)}disconnectedCallback(){this.host.removeEventListener("open-editor-link-menu",this.handleOpenLinkMenu);this.view.destroy()}render(){return[i("div",{id:"editor"}),i("limel-action-bar",{slot:"trigger",accessibleLabel:"Toolbar",actions:this.actionBarItems,onItemSelected:this.handleActionBarItem}),i("limel-portal",{containerId:this.portalId,visible:this.isLinkMenuOpen,openDirection:"top",inheritParentWidth:true,containerStyle:{"z-index":1}},i("limel-menu-surface",{open:this.isLinkMenuOpen,onDismiss:this.handleCancelLinkMenu,style:{"--mdc-menu-min-width":"100%","max-height":"inherit"}},i("limel-text-editor-link-menu",{link:this.link,isOpen:this.isLinkMenuOpen,onLinkChange:this.handleLinkChange,onCancel:this.handleCancelLinkMenu,onSave:this.handleSaveLinkMenu})))]}setupContentConverter(){if(this.contentType==="markdown"){this.contentConverter=new Hw}else if(this.contentType==="html"){this.contentConverter=new Zw}else{throw new Error(`Unsupported content type: ${this.contentType}. Only 'markdown' and 'html' are supported.`)}}async initializeTextEditor(){this.schema=this.initializeSchema();const t=await this.parseInitialContent();this.menuCommandFactory=new mc(this.schema);this.view=new ko(this.host.shadowRoot.querySelector("#editor"),{state:this.createEditorState(t),dispatchTransaction:this.handleTransaction});if(this.value){this.updateView(this.value)}}initializeSchema(){return new oi({nodes:Wo(No.spec.nodes,"paragraph block*","block"),marks:No.spec.marks.append({strikethrough:Kw})})}async parseInitialContent(){const t=document.createElement("div");if(this.value){t.innerHTML=await this.contentConverter.parseAsHTML(this.value,this.schema)}else{t.innerHTML="<p></p>"}return hi.fromSchema(this.schema).parse(t)}createEditorState(t){return un.create({doc:t,plugins:[...Xa({schema:this.schema,menuBar:false}),af(this.menuCommandFactory.buildKeymap()),this.createMenuStateTrackingPlugin(this.actionBarItems),og(this.handleNewLinkSelection),hg()]})}async updateView(t){this.suppressChangeEvent=true;const e=await this.contentConverter.parseAsHTML(t,this.schema);const i=hi.fromSchema(this.view.state.schema);const r=new window.DOMParser;const n=r.parseFromString(e,"text/html");const s=i.parse(n.body);const l=this.view.state.tr;l.replaceWith(0,l.doc.content.size,s.content);this.view.dispatch(l);this.suppressChangeEvent=false}dispatchMenuCommand(t){const{state:e}=this.view;const i=e.selection;let r=e.tr;if(!i.empty){r.setSelection(i)}t(e,(t=>{r=t}));this.view.dispatch(r);this.setFocus()}setFocus(){var t;(t=this.view)===null||t===void 0?void 0:t.focus()}get host(){return r(this)}static get watchers(){return{value:["watchValue"]}}};mg.style=pg;export{mg as limel_prosemirror_adapter};
|
|
2
|
+
//# sourceMappingURL=p-8db40f25.entry.js.map
|