@limetech/lime-elements 38.38.1-dev.2 → 38.39.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 +5 -5
- package/dist/cjs/config-e7e1a299.js.map +1 -1
- package/dist/cjs/image-resize-99e16554.js +310 -0
- package/dist/cjs/image-resize-99e16554.js.map +1 -0
- package/dist/cjs/index.cjs.js +13 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/layout-8550b993.js +20 -0
- package/dist/cjs/layout-8550b993.js.map +1 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +2 -1
- package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-profile-picture.cjs.entry.js +2 -306
- package/dist/cjs/limel-profile-picture.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +44 -89
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +2 -16
- package/dist/cjs/limel-table.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/types-cc3c7cea.js +54 -0
- package/dist/cjs/types-cc3c7cea.js.map +1 -0
- package/dist/collection/components/chart/chart.css +87 -0
- package/dist/collection/components/dock/dock.css +93 -0
- package/dist/collection/components/file-viewer/file-viewer.css +93 -0
- package/dist/collection/components/input-field/input-field.css +93 -0
- package/dist/collection/components/list/list.css +12 -0
- package/dist/collection/components/menu/menu.js +19 -1
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-list/menu-list.css +12 -0
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +6 -0
- package/dist/collection/components/select/select.css +6 -0
- package/dist/collection/components/slider/slider.css +6 -0
- package/dist/collection/components/table/layout.js +1 -1
- package/dist/collection/components/table/layout.js.map +1 -1
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/types.js.map +1 -1
- package/dist/collection/components/text-editor/types.js.map +1 -1
- package/dist/collection/global/config.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interface.js +11 -0
- package/dist/collection/interface.js.map +1 -1
- package/dist/esm/config-656a588f.js.map +1 -1
- package/dist/esm/image-resize-1ea8337d.js +308 -0
- package/dist/esm/image-resize-1ea8337d.js.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layout-5da21bb6.js +18 -0
- package/dist/esm/layout-5da21bb6.js.map +1 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-breadcrumbs_7.entry.js +2 -1
- package/dist/esm/limel-breadcrumbs_7.entry.js.map +1 -1
- package/dist/esm/limel-profile-picture.entry.js +1 -305
- package/dist/esm/limel-profile-picture.entry.js.map +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +1 -46
- package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
- package/dist/esm/limel-table.entry.js +2 -16
- package/dist/esm/limel-table.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/types-7dea7a78.js +49 -0
- package/dist/esm/types-7dea7a78.js.map +1 -0
- package/dist/lime-elements/index.esm.js +1 -1
- package/dist/lime-elements/index.esm.js.map +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/{p-56c9bb65.entry.js → p-19a9b96b.entry.js} +2 -2
- package/dist/lime-elements/p-19a9b96b.entry.js.map +1 -0
- package/dist/lime-elements/p-2bd3f381.entry.js +2 -0
- package/dist/lime-elements/p-2bd3f381.entry.js.map +1 -0
- package/dist/lime-elements/p-2c35fb9d.js.map +1 -1
- package/dist/lime-elements/p-9f223e57.js +2 -0
- package/dist/lime-elements/p-9f223e57.js.map +1 -0
- package/dist/lime-elements/p-b11e7718.entry.js +2 -0
- package/dist/lime-elements/p-b11e7718.entry.js.map +1 -0
- package/dist/lime-elements/p-d4bc7848.js +2 -0
- package/dist/lime-elements/p-d4bc7848.js.map +1 -0
- package/dist/lime-elements/p-e3c87b69.entry.js +2 -0
- package/dist/lime-elements/p-e3c87b69.entry.js.map +1 -0
- package/dist/lime-elements/p-ed67677d.js +2 -0
- package/dist/lime-elements/p-ed67677d.js.map +1 -0
- package/dist/types/components/form/help/help.d.ts +1 -1
- package/dist/types/components/menu/menu.d.ts +4 -0
- package/dist/types/components/table/layout.d.ts +1 -1
- package/dist/types/components/text-editor/types.d.ts +0 -8
- package/dist/types/components.d.ts +8 -0
- package/dist/types/global/config.d.ts +1 -8
- package/dist/types/index.d.ts +3 -0
- package/dist/types/interface.d.ts +13 -2
- package/package.json +2 -5
- package/dist/lime-elements/p-354c2d16.entry.js +0 -2
- package/dist/lime-elements/p-354c2d16.entry.js.map +0 -1
- package/dist/lime-elements/p-56c9bb65.entry.js.map +0 -1
- package/dist/lime-elements/p-9e225545.entry.js +0 -2
- package/dist/lime-elements/p-9e225545.entry.js.map +0 -1
- package/dist/lime-elements/p-f6d8811f.entry.js +0 -2
- package/dist/lime-elements/p-f6d8811f.entry.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,H as r,g as n}from"./p-bdfa539c.js";import{E as s,L as l,M as o,e as u}from"./p-ed67677d.js";import{g as f,d as h,m as a,s as c}from"./p-7192af6b.js";import{k as d,p,U as m,f as w,g,r as b,t as k,i as v,j as D,u as y}from"./p-2cdaeb7b.js";import{a as F}from"./p-50bd0336.js";import{b as x}from"./p-5467ea06.js";import{k as E,a as M,g as A}from"./p-7f49c7da.js";import{i as C,r as O,S}from"./p-c93050d6.js";import{g as $}from"./p-4f093090.js";import{i as _}from"./p-0b1af919.js";import{i as z}from"./p-858c6b82.js";import{t as B}from"./p-df36e1ae.js";import{c as j}from"./p-ad52787a.js";import{i as R}from"./p-fc998171.js";import{c as N}from"./p-b8c91b22.js";import{i as q}from"./p-6ebb1f7c.js";import{d as T}from"./p-18c97232.js";import"./p-4e9b4087.js";import"./p-eda23c05.js";import"./p-4c3358cb.js";import"./p-9acf7b5d.js";import"./p-5fdb83c9.js";import"./p-89524e09.js";import"./p-d251f404.js";import"./p-365098fe.js";import"./p-d529bb7d.js";var I=Object.create;var P=function(){function t(){}return function(e){if(!C(e)){return{}}if(I){return I(e)}t.prototype=e;var i=new t;t.prototype=undefined;return i}}();function J(t,e){var i=-1,r=t.length;e||(e=Array(r));while(++i<r){e[i]=t[i]}return e}function L(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 W(t,e,i,r){var n=!i;i||(i={});var s=-1,l=e.length;while(++s<l){var o=e[s];var u=r?r(i[o],t[o],o,i,t):undefined;if(u===undefined){u=t[o]}if(n){x(i,o,u)}else{F(i,o,u)}}return i}function U(t,e){return t&&W(e,d(e),t)}function H(t,e){return t&&W(e,E(e),t)}var Z=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var K=Z&&typeof module=="object"&&module&&!module.nodeType&&module;var V=K&&K.exports===Z;var G=V?O.Buffer:undefined,X=G?G.allocUnsafe:undefined;function Y(t,e){if(e){return t.slice()}var i=t.length,r=X?X(i):new t.constructor(i);t.copy(r);return r}function Q(t,e){return W(t,p(t),e)}function tt(t,e){return W(t,M(t),e)}var et=Object.prototype;var it=et.hasOwnProperty;function rt(t){var e=t.length,i=new t.constructor(e);if(e&&typeof t[0]=="string"&&it.call(t,"index")){i.index=t.index;i.input=t.input}return i}function nt(t){var e=new t.constructor(t.byteLength);new m(e).set(new m(t));return e}function st(t,e){var i=e?nt(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.byteLength)}var lt=/\w*$/;function ot(t){var e=new t.constructor(t.source,lt.exec(t));e.lastIndex=t.lastIndex;return e}var ut=S?S.prototype:undefined,ft=ut?ut.valueOf:undefined;function ht(t){return ft?Object(ft.call(t)):{}}function at(t,e){var i=e?nt(t.buffer):t.buffer;return new t.constructor(i,t.byteOffset,t.length)}var ct="[object Boolean]",dt="[object Date]",pt="[object Map]",mt="[object Number]",wt="[object RegExp]",gt="[object Set]",bt="[object String]",kt="[object Symbol]";var vt="[object ArrayBuffer]",Dt="[object DataView]",yt="[object Float32Array]",Ft="[object Float64Array]",xt="[object Int8Array]",Et="[object Int16Array]",Mt="[object Int32Array]",At="[object Uint8Array]",Ct="[object Uint8ClampedArray]",Ot="[object Uint16Array]",St="[object Uint32Array]";function $t(t,e,i){var r=t.constructor;switch(e){case vt:return nt(t);case ct:case dt:return new r(+t);case Dt:return st(t,i);case yt:case Ft:case xt:case Et:case Mt:case At:case Ct:case Ot:case St:return at(t,i);case pt:return new r;case mt:case bt:return new r(t);case wt:return ot(t);case gt:return new r;case kt:return ht(t)}}function _t(t){return typeof t.constructor=="function"&&!w(t)?P($(t)):{}}var zt="[object Map]";function Bt(t){return z(t)&&g(t)==zt}var jt=k&&k.isMap;var Rt=jt?b(jt):Bt;var Nt="[object Set]";function qt(t){return z(t)&&g(t)==Nt}var Tt=k&&k.isSet;var It=Tt?b(Tt):qt;var Pt=1,Jt=2,Lt=4;var Wt="[object Arguments]",Ut="[object Array]",Ht="[object Boolean]",Zt="[object Date]",Kt="[object Error]",Vt="[object Function]",Gt="[object GeneratorFunction]",Xt="[object Map]",Yt="[object Number]",Qt="[object Object]",te="[object RegExp]",ee="[object Set]",ie="[object String]",re="[object Symbol]",ne="[object WeakMap]";var se="[object ArrayBuffer]",le="[object DataView]",oe="[object Float32Array]",ue="[object Float64Array]",fe="[object Int8Array]",he="[object Int16Array]",ae="[object Int32Array]",ce="[object Uint8Array]",de="[object Uint8ClampedArray]",pe="[object Uint16Array]",me="[object Uint32Array]";var we={};we[Wt]=we[Ut]=we[se]=we[le]=we[Ht]=we[Zt]=we[oe]=we[ue]=we[fe]=we[he]=we[ae]=we[Xt]=we[Yt]=we[Qt]=we[te]=we[ee]=we[ie]=we[re]=we[ce]=we[de]=we[pe]=we[me]=true;we[Kt]=we[Vt]=we[ne]=false;function ge(t,e,i,r,n,s){var l,o=e&Pt,u=e&Jt,f=e≪if(i){l=n?i(t,r,n,s):i(t)}if(l!==undefined){return l}if(!C(t)){return t}var h=_(t);if(h){l=rt(t);if(!o){return J(t,l)}}else{var a=g(t),c=a==Vt||a==Gt;if(v(t)){return Y(t,o)}if(a==Qt||a==Wt||c&&!n){l=u||c?{}:_t(t);if(!o){return u?tt(t,H(l,t)):Q(t,U(l,t))}}else{if(!we[a]){return n?t:{}}l=$t(t,a,o)}}s||(s=new D);var p=s.get(t);if(p){return p}s.set(t,l);if(It(t)){t.forEach((function(r){l.add(ge(r,e,i,r,t,s))}))}else if(Rt(t)){t.forEach((function(r,n){l.set(n,ge(r,e,i,n,t,s))}))}var m=f?u?A:y:u?E:d;var w=h?undefined:m(t);L(w||t,(function(r,n){if(w){n=r;r=t[n]}F(l,n,ge(r,e,i,n,t,s))}));return l}var be=1,ke=4;function ve(t){return ge(t,be|ke)}function De(t){this.content=t}De.prototype={constructor:De,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 De(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 De(i)},addToStart:function(t,e){return new De([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var i=this.remove(t).content.slice();i.push(t,e);return new De(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 De(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=De.from(t);if(!t.size)return this;return new De(t.content.concat(this.subtract(t).content))},append:function(t){t=De.from(t);if(!t.size)return this;return new De(this.subtract(t).content.concat(t.content))},subtract:function(t){var e=this;t=De.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}};De.from=function(t){if(t instanceof De)return t;var e=[];if(t)for(var i in t)e.push(i,t[i]);return new De(e)};function ye(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=ye(n.content,s.content,i+1);if(t!=null)return t}i+=n.nodeSize}}function Fe(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),o=e.child(--s),u=l.nodeSize;if(l==o){i-=u;r-=u;continue}if(!l.sameMarkup(o))return{a:i,b:r};if(l.isText&&l.text!=o.text){let t=0,e=Math.min(l.text.length,o.text.length);while(t<e&&l.text[l.text.length-t-1]==o.text[o.text.length-t-1]){t++;i--;r--}return{a:i,b:r}}if(l.content.size||o.content.size){let t=Fe(l.content,o.content,i-1,r-1);if(t)return t}i-=u;r-=u}}class xe{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 o=this.content[s],u=l+o.nodeSize;if(u>t&&i(o,r+l,n||null,s)!==false&&o.content.size){let n=l+1;o.nodesBetween(Math.max(0,t-n),Math.min(o.content.size,e-n),i,r+n)}l=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,i,r){let n="",s=true;this.nodesBetween(t,e,((l,o)=>{let u=l.isText?l.text.slice(Math.max(t,o)-o,e-o):!l.isLeaf?"":r?typeof r==="function"?r(l):r:l.type.spec.leafText?l.type.spec.leafText(l):"";if(l.isBlock&&(l.isLeaf&&u||l.isTextblock)&&i){if(s)s=false;else n+=i}n+=u}),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 xe(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],o=s+l.nodeSize;if(o>t){if(s<t||o>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=o}return new xe(i,r)}cutByIndex(t,e){if(t==e)return xe.empty;if(t==0&&e==this.content.length)return this;return new xe(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 xe(r,n)}addToStart(t){return new xe([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new xe(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 ye(this,t,e)}findDiffEnd(t,e=this.size,i=t.size){return Fe(this,t,e,i)}findIndex(t,e=-1){if(t==0)return Me(0,t);if(t==this.size)return Me(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 Me(i+1,s);return Me(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 xe.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new xe(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return xe.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 xe(e||t,i)}static from(t){if(!t)return xe.empty;if(t instanceof xe)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new xe([t],t.nodeSize);throw new RangeError("Can not convert "+t+" to a Fragment"+(t.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}xe.empty=new xe([],0);const Ee={index:0,offset:0};function Me(t,e){Ee.index=t;Ee.offset=e;return Ee}function Ae(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(!Ae(t[i],e[i]))return false}else{for(let i in t)if(!(i in e)||!Ae(t[i],e[i]))return false;for(let i in e)if(!(i in t))return false}return true}class Ce{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&&Ae(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`);let r=i.create(e.attrs);i.checkAttrs(r.attrs);return r}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 Ce.none;if(t instanceof Ce)return[t];let e=t.slice();e.sort(((t,e)=>t.type.rank-e.type.rank));return e}}Ce.none=[];class Oe extends Error{}class Se{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=_e(this.content,t+this.openStart,e);return i&&new Se(i,this.openStart,this.openEnd)}removeBetween(t,e){return new Se($e(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 Se.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 Se(xe.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 Se(t,i,r)}}Se.empty=new Se(xe.empty,0,0);function $e(t,e,i){let{index:r,offset:n}=t.findIndex(e),s=t.maybeChild(r);let{index:l,offset:o}=t.findIndex(i);if(n==e||s.isText){if(o!=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($e(s.content,e-n-1,i-n-1)))}function _e(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 o=_e(l.content,e-s-1,i);return o&&t.replaceChild(n,l.copy(o))}function ze(t,e,i){if(i.openStart>t.depth)throw new Oe("Inserted content deeper than insertion position");if(t.depth-i.openStart!=e.depth-i.openEnd)throw new Oe("Inconsistent open depths");return Be(t,e,i,0)}function Be(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=Be(t,e,i,r+1);return s.copy(s.content.replaceChild(n,l))}else if(!i.content.size){return Te(s,Pe(t,e,r))}else if(!i.openStart&&!i.openEnd&&t.depth==r&&e.depth==r){let r=t.parent,n=r.content;return Te(r,n.cut(0,t.parentOffset).append(i.content).append(n.cut(e.parentOffset)))}else{let{start:n,end:l}=Je(i,t);return Te(s,Ie(t,n,l,e,r))}}function je(t,e){if(!e.type.compatibleContent(t.type))throw new Oe("Cannot join "+e.type.name+" onto "+t.type.name)}function Re(t,e,i){let r=t.node(i);je(r,e.node(i));return r}function Ne(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 qe(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){Ne(t.nodeAfter,r);s++}}for(let t=s;t<l;t++)Ne(n.child(t),r);if(e&&e.depth==i&&e.textOffset)Ne(e.nodeBefore,r)}function Te(t,e){t.type.checkContent(e);return t.copy(e)}function Ie(t,e,i,r,n){let s=t.depth>n&&Re(t,e,n+1);let l=r.depth>n&&Re(i,r,n+1);let o=[];qe(null,t,n,o);if(s&&l&&e.index(n)==i.index(n)){je(s,l);Ne(Te(s,Ie(t,e,i,r,n+1)),o)}else{if(s)Ne(Te(s,Pe(t,e,n+1)),o);qe(e,i,n,o);if(l)Ne(Te(l,Pe(i,r,n+1)),o)}qe(r,null,n,o);return new xe(o)}function Pe(t,e,i){let r=[];qe(null,t,i,r);if(t.depth>i){let n=Re(t,e,i+1);Ne(Te(n,Pe(t,e,i+1)),r)}qe(e,null,i,r);return new xe(r)}function Je(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(xe.from(n));return{start:n.resolveNoCache(t.openStart+i),end:n.resolveNoCache(n.content.size-t.openEnd-i)}}class Le{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 Ce.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 Ze(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 Le(e,i,n)}static resolveCached(t,e){let i=He.get(t);if(i){for(let t=0;t<i.elts.length;t++){let r=i.elts[t];if(r.pos==e)return r}}else{He.set(t,i=new We)}let r=i.elts[i.i]=Le.resolve(t,e);i.i=(i.i+1)%Ue;return r}}class We{constructor(){this.elts=[];this.i=0}}const Ue=12,He=new WeakMap;class Ze{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 Ke=Object.create(null);class Ve{constructor(t,e,i,r=Ce.none){this.type=t;this.attrs=e;this.marks=r;this.content=i||xe.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&&Ae(this.attrs,e||t.defaultAttrs||Ke)&&Ce.sameSet(this.marks,i||Ce.none)}copy(t=null){if(t==this.content)return this;return new Ve(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new Ve(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 Se.empty;let r=this.resolve(t),n=this.resolve(e);let s=i?0:r.sharedDepth(e);let l=r.start(s),o=r.node(s);let u=o.content.cut(r.pos-l,n.pos-l);return new Se(u,r.depth-s,n.depth-s)}replace(t,e,i){return ze(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 Le.resolveCached(this,t)}resolveNoCache(t){return Le.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 Xe(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=xe.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);this.type.checkAttrs(this.attrs);let t=Ce.none;for(let e=0;e<this.marks.length;e++){let i=this.marks[e];i.type.checkAttrs(i.attrs);t=i.addToSet(t)}if(!Ce.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=undefined;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=xe.fromJSON(t,e.content);let n=t.nodeType(e.type).create(e.attrs,r,i);n.type.checkAttrs(n.attrs);return n}}Ve.prototype.text=undefined;class Ge extends Ve{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 Xe(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 Ge(this.type,this.attrs,this.text,t)}withText(t){if(t==this.text)return this;return new Ge(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 Xe(t,e){for(let i=t.length-1;i>=0;i--)e=t[i].type.name+"("+e+")";return e}class Ye{constructor(t){this.validEnd=t;this.next=[];this.wrapCache=[]}static parse(t,e){let i=new Qe(t,e);if(i.next==null)return Ye.empty;let r=ti(i);if(i.next)i.err("Unexpected trailing text");let n=hi(oi(r));ai(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 o=s.matchFragment(t,i);if(o&&(!e||o.validEnd))return xe.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")}}Ye.empty=new Ye(true);class Qe{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 ti(t){let e=[];do{e.push(ei(t))}while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function ei(t){let e=[];do{e.push(ii(t))}while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function ii(t){let e=li(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=ni(t,e);else break}return e}function ri(t){if(/\D/.test(t.next))t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);t.pos++;return e}function ni(t,e){let i=ri(t),r=i;if(t.eat(",")){if(t.next!="}")r=ri(t);else r=-1}if(!t.eat("}"))t.err("Unclosed braced range");return{type:"range",min:i,max:r,expr:e}}function si(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 li(t){if(t.eat("(")){let e=ti(t);if(!t.eat(")"))t.err("Missing closing paren");return e}else if(!/\W/.test(t.next)){let e=si(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 oi(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 ui(t,e){return e-t}function fi(t,e){let i=[];r(e);return i.sort(ui);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 hi(t){let e=Object.create(null);return i(fi(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];fi(t,i).forEach((t=>{if(!r)n.push([e,r=[]]);if(r.indexOf(t)==-1)r.push(t)}))}))}));let s=e[r.join(",")]=new Ye(r.indexOf(t.length-1)>-1);for(let t=0;t<n.length;t++){let r=n[t][1].sort(ui);s.next.push({type:n[t][0],next:e[r.join(",")]||i(r)})}return s}}function ai(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 ci(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 di(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 pi(t,e,i,r){for(let r in e)if(!(r in t))throw new RangeError(`Unsupported attribute ${r} for ${i} of type ${r}`);for(let i in t){let r=t[i];if(r.validate)r.validate(e[i])}}function mi(t,e){let i=Object.create(null);if(e)for(let r in e)i[r]=new bi(t,r,e[r]);return i}class wi{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=mi(t,i.attrs);this.defaultAttrs=ci(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==Ye.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 di(this.attrs,t)}create(t=null,e,i){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Ve(this,this.computeAttrs(t),xe.from(e),Ce.setFrom(i))}createChecked(t=null,e,i){e=xe.from(e);this.checkContent(e);return new Ve(this,this.computeAttrs(t),e,Ce.setFrom(i))}createAndFill(t=null,e,i){t=this.computeAttrs(t);e=xe.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(xe.empty,true);if(!n)return null;return new Ve(this,t,e.append(n),Ce.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)}`)}checkAttrs(t){pi(this.attrs,t,"node")}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:Ce.none}static compile(t,e){let i=Object.create(null);t.forEach(((t,r)=>i[t]=new wi(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}}function gi(t,e,i){let r=i.split("|");return i=>{let n=i===null?"null":typeof i;if(r.indexOf(n)<0)throw new RangeError(`Expected value of type ${r} for attribute ${e} on type ${t}, got ${n}`)}}class bi{constructor(t,e,i){this.hasDefault=Object.prototype.hasOwnProperty.call(i,"default");this.default=i.default;this.validate=typeof i.validate=="string"?gi(t,e,i.validate):i.validate}get isRequired(){return!this.hasDefault}}class ki{constructor(t,e,i,r){this.name=t;this.rank=e;this.schema=i;this.spec=r;this.attrs=mi(t,r.attrs);this.excluded=null;let n=ci(this.attrs);this.instance=n?new Ce(this,n):null}create(t=null){if(!t&&this.instance)return this.instance;return new Ce(this,di(this.attrs,t))}static compile(t,e){let i=Object.create(null),r=0;t.forEach(((t,n)=>i[t]=new ki(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]}checkAttrs(t){pi(this.attrs,t,"mark")}excludes(t){return this.excluded.indexOf(t)>-1}}class vi{constructor(t){this.linebreakReplacement=null;this.cached=Object.create(null);let e=this.spec={};for(let i in t)e[i]=t[i];e.nodes=De.from(t.nodes),e.marks=De.from(t.marks||{}),this.nodes=wi.compile(this.spec.nodes,this);this.marks=ki.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]=Ye.parse(r,this.nodes));e.inlineContent=e.contentMatch.inlineContent;if(e.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!e.isInline||!e.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=e}e.markSet=n=="_"?null:n?Di(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==""?[]:Di(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 wi))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 Ge(i,i.defaultAttrs,t,Ce.setFrom(e))}mark(t,e){if(typeof t=="string")t=this.marks[t];return t.create(e)}nodeFromJSON(t){return Ve.fromJSON(this,t)}markFromJSON(t){return Ce.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function Di(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}function yi(t){return t.tag!=null}function Fi(t){return t.style!=null}class xi{constructor(t,e){this.schema=t;this.rules=e;this.tags=[];this.styles=[];let i=this.matchedStyles=[];e.forEach((t=>{if(yi(t)){this.tags.push(t)}else if(Fi(t)){let e=/[^=]*/.exec(t.style)[0];if(i.indexOf(e)<0)i.push(e);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 zi(this,e,false);i.addAll(t,Ce.none,e.from,e.to);return i.finish()}parseSlice(t,e={}){let i=new zi(this,e,true);i.addAll(t,Ce.none,e.from,e.to);return Se.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(ji(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=Ri(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=Ri(t));if(!(t.node||t.ignore||t.mark))t.node=e}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new xi(t,xi.schemaRules(t)))}}const Ei={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 Mi={head:true,noscript:true,object:true,script:true,style:true,title:true};const Ai={ol:true,ul:true};const Ci=1,Oi=2,Si=4;function $i(t,e,i){if(e!=null)return(e?Ci:0)|(e==="full"?Oi:0);return t&&t.whitespace=="pre"?Ci|Oi:i&~Si}class _i{constructor(t,e,i,r,n,s){this.type=t;this.attrs=e;this.marks=i;this.solid=r;this.options=s;this.content=[];this.activeMarks=Ce.none;this.match=n||(s&Si?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(xe.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&Ci)){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=xe.from(this.content);if(!t&&this.match)e=e.append(this.match.fillBefore(xe.empty,true));return this.type?this.type.create(this.attrs,e,this.marks):e}inlineContext(t){if(this.type)return this.type.inlineContent;if(this.content.length)return this.content[0].isInline;return t.parentNode&&!Ei.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}}class zi{constructor(t,e,i){this.parser=t;this.options=e;this.isOpen=i;this.open=0;let r=e.topNode,n;let s=$i(null,e.preserveWhitespace,0)|(i?Si:0);if(r)n=new _i(r.type,r.attrs,Ce.none,true,e.topMatch||r.type.contentMatch,s);else if(i)n=new _i(null,null,Ce.none,true,null,s);else n=new _i(t.schema.topNodeType,null,Ce.none,true,null,s);this.nodes=[n];this.find=e.findPositions;this.needsBlock=false}get top(){return this.nodes[this.open]}addDOM(t,e){if(t.nodeType==3)this.addTextNode(t,e);else if(t.nodeType==1)this.addElement(t,e)}addTextNode(t,e){let i=t.nodeValue;let r=this.top;if(r.options&Oi||r.inlineContext(t)||/[^ \t\r\n\u000c]/.test(i)){if(!(r.options&Ci)){i=i.replace(/[ \t\r\n\u000c]+/g," ");if(/^[ \t\r\n\u000c]/.test(i)&&this.open==this.nodes.length-1){let e=r.content[r.content.length-1];let n=t.previousSibling;if(!e||n&&n.nodeName=="BR"||e.isText&&/[ \t\r\n\u000c]$/.test(e.text))i=i.slice(1)}}else if(!(r.options&Oi)){i=i.replace(/\r?\n|\r/g," ")}else{i=i.replace(/\r\n?/g,"\n")}if(i)this.insertNode(this.parser.schema.text(i),e);this.findInText(t)}else{this.findInside(t)}}addElement(t,e,i){let r=t.nodeName.toLowerCase(),n;if(Ai.hasOwnProperty(r)&&this.parser.normalizeLists)Bi(t);let s=this.options.ruleFromNode&&this.options.ruleFromNode(t)||(n=this.parser.matchTag(t,this,i));if(s?s.ignore:Mi.hasOwnProperty(r)){this.findInside(t);this.ignoreFallback(t,e)}else if(!s||s.skip||s.closeParent){if(s&&s.closeParent)this.open=Math.max(0,this.open-1);else if(s&&s.skip.nodeType)t=s.skip;let i,n=this.top,l=this.needsBlock;if(Ei.hasOwnProperty(r)){if(n.content.length&&n.content[0].isInline&&this.open){this.open--;n=this.top}i=true;if(!n.type)this.needsBlock=true}else if(!t.firstChild){this.leafFallback(t,e);return}let o=s&&s.skip?e:this.readStyles(t,e);if(o)this.addAll(t,o);if(i)this.sync(n);this.needsBlock=l}else{let i=this.readStyles(t,e);if(i)this.addElementByRule(t,s,i,s.consuming===false?n:undefined)}}leafFallback(t,e){if(t.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent)this.addTextNode(t.ownerDocument.createTextNode("\n"),e)}ignoreFallback(t,e){if(t.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent))this.findPlace(this.parser.schema.text("-"),e)}readStyles(t,e){let i=t.style;if(i&&i.length)for(let t=0;t<this.parser.matchedStyles.length;t++){let r=this.parser.matchedStyles[t],n=i.getPropertyValue(r);if(n)for(let t=undefined;;){let i=this.parser.matchStyle(r,n,this,t);if(!i)break;if(i.ignore)return null;if(i.clearMark)e=e.filter((t=>!i.clearMark(t)));else e=e.concat(this.parser.schema.marks[i.mark].create(i.attrs));if(i.consuming===false)t=i;else break}}return e}addElementByRule(t,e,i,r){let n,s;if(e.node){s=this.parser.schema.nodes[e.node];if(!s.isLeaf){let t=this.enter(s,e.attrs||null,i,e.preserveWhitespace);if(t){n=true;i=t}}else if(!this.insertNode(s.create(e.attrs),i)){this.leafFallback(t,i)}}else{let t=this.parser.schema.marks[e.mark];i=i.concat(t.create(e.attrs))}let l=this.top;if(s&&s.isLeaf){this.findInside(t)}else if(r){this.addElement(t,i,r)}else if(e.getContent){this.findInside(t);e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t,i)))}else{let r=t;if(typeof e.contentElement=="string")r=t.querySelector(e.contentElement);else if(typeof e.contentElement=="function")r=e.contentElement(t);else if(e.contentElement)r=e.contentElement;this.findAround(t,r,true);this.addAll(r,i)}if(n&&this.sync(l))this.open--}addAll(t,e,i,r){let n=i||0;for(let s=i?t.childNodes[i]:t.firstChild,l=r==null?null:t.childNodes[r];s!=l;s=s.nextSibling,++n){this.findAtPoint(t,n);this.addDOM(s,e)}this.findAtPoint(t,n)}findPlace(t,e){let i,r;for(let e=this.open;e>=0;e--){let n=this.nodes[e];let s=n.findWrapping(t);if(s&&(!i||i.length>s.length)){i=s;r=n;if(!s.length)break}if(n.solid)break}if(!i)return null;this.sync(r);for(let t=0;t<i.length;t++)e=this.enterInner(i[t],null,e,false);return e}insertNode(t,e){if(t.isInline&&this.needsBlock&&!this.top.type){let t=this.textblockFromContext();if(t)e=this.enterInner(t,null,e)}let i=this.findPlace(t,e);if(i){this.closeExtra();let e=this.top;if(e.match)e.match=e.match.matchType(t.type);let r=Ce.none;for(let n of i.concat(t.marks))if(e.type?e.type.allowsMarkType(n.type):Ni(n.type,t.type))r=n.addToSet(r);e.content.push(t.mark(r));return true}return false}enter(t,e,i,r){let n=this.findPlace(t.create(e),i);if(n)n=this.enterInner(t,e,i,true,r);return n}enterInner(t,e,i,r=false,n){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(t);let l=$i(t,n,s.options);if(s.options&Si&&s.content.length==0)l|=Si;let o=Ce.none;i=i.filter((e=>{if(s.type?s.type.allowsMarkType(e.type):Ni(e.type,t)){o=e.addToSet(o);return false}return true}));this.nodes.push(new _i(t,e,o,r,null,l));this.open++;return i}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 o=e[t];if(o==""){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!=o&&t.groups.indexOf(o)==-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}}}function Bi(t){for(let e=t.firstChild,i=null;e;e=e.nextSibling){let t=e.nodeType==1?e.nodeName.toLowerCase():null;if(t&&Ai.hasOwnProperty(t)&&i){i.appendChild(e);e=i}else if(t=="li"){i=e}else if(t){i=null}}}function ji(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function Ri(t){let e={};for(let i in t)e[i]=t[i];return e}function Ni(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}}class qi{constructor(t,e){this.nodes=t;this.marks=e}serializeFragment(t,e={},i){if(!i)i=Ii(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}=Wi(Ii(e),this.nodes[t.type.name](t),null,t.attrs);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&&Wi(Ii(i),r(t,e),null,t.attrs)}static renderSpec(t,e,i=null,r){return Wi(t,e,i,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new qi(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=Ti(t.nodes);if(!e.text)e.text=t=>t.text;return e}static marksFromSchema(t){return Ti(t.marks)}}function Ti(t){let e={};for(let i in t){let r=t[i].spec.toDOM;if(r)e[i]=r}return e}function Ii(t){return t.document||window.document}const Pi=new WeakMap;function Ji(t){let e=Pi.get(t);if(e===undefined)Pi.set(t,e=Li(t));return e}function Li(t){let e=null;function i(t){if(t&&typeof t=="object"){if(Array.isArray(t)){if(typeof t[0]=="string"){if(!e)e=[];e.push(t)}else{for(let e=0;e<t.length;e++)i(t[e])}}else{for(let e in t)i(t[e])}}}i(t);return e}function Wi(t,e,i,r){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 n=e[0],s;if(typeof n!="string")throw new RangeError("Invalid array passed to renderSpec");if(r&&(s=Ji(r))&&s.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let l=n.indexOf(" ");if(l>0){i=n.slice(0,l);n=n.slice(l+1)}let o;let u=i?t.createElementNS(i,n):t.createElement(n);let f=e[1],h=1;if(f&&typeof f=="object"&&f.nodeType==null&&!Array.isArray(f)){h=2;for(let t in f)if(f[t]!=null){let e=t.indexOf(" ");if(e>0)u.setAttributeNS(t.slice(0,e),t.slice(e+1),f[t]);else u.setAttribute(t,f[t])}}for(let n=h;n<e.length;n++){let s=e[n];if(s===0){if(n<e.length-1||n>h)throw new RangeError("Content hole must be the only child of its parent node");return{dom:u,contentDOM:u}}else{let{dom:e,contentDOM:n}=Wi(t,s,i,r);u.appendChild(e);if(n){if(o)throw new RangeError("Multiple content holes");o=n}}}return{dom:u,contentDOM:o}}const Ui=65535;const Hi=Math.pow(2,16);function Zi(t,e){return t+e*Hi}function Ki(t){return t&Ui}function Vi(t){return(t-(t&Ui))/Hi}const Gi=1,Xi=2,Yi=4,Qi=8;class tr{constructor(t,e,i){this.pos=t;this.delInfo=e;this.recover=i}get deleted(){return(this.delInfo&Qi)>0}get deletedBefore(){return(this.delInfo&(Gi|Yi))>0}get deletedAfter(){return(this.delInfo&(Xi|Yi))>0}get deletedAcross(){return(this.delInfo&Yi)>0}}class er{constructor(t,e=false){this.ranges=t;this.inverted=e;if(!t.length&&er.empty)return er.empty}recover(t){let e=0,i=Ki(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+Vi(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 o=this.ranges[l]-(this.inverted?r:0);if(o>t)break;let u=this.ranges[l+n],f=this.ranges[l+s],h=o+u;if(t<=h){let n=!u?e:t==o?-1:t==h?1:e;let s=o+r+(n<0?0:f);if(i)return s;let a=t==(e<0?o:h)?null:Zi(l/3,t-o);let c=t==o?Xi:t==h?Gi:Yi;if(e<0?t!=o:t!=h)c|=Qi;return new tr(s,c,a)}r+=f-u}return i?t+r:new tr(t+r,0,null)}touches(t,e){let i=0,r=Ki(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 o=this.ranges[e+n],u=l+o;if(t<=u&&e==r*3)return true;i+=this.ranges[e+s]-o}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),o=s+(this.inverted?0:n);let u=this.ranges[r+e],f=this.ranges[r+i];t(l,l+u,o,o+f);n+=f-u}}invert(){return new er(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(t){return t==0?er.empty:new er(t<0?[0,-t,0]:[0,0,t])}}er.empty=new er([]);class ir{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 ir(this.maps,this.mirror,t,e)}copy(){return new ir(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 ir;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 tr(t,r,null)}}const rr=Object.create(null);class nr{getMap(){return er.empty}merge(t){return null}static fromJSON(t,e){if(!e||!e.stepType)throw new RangeError("Invalid input for Step.fromJSON");let i=rr[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 rr)throw new RangeError("Duplicate use of step JSON ID "+t);rr[t]=e;e.prototype.jsonID=t;return e}}class sr{constructor(t,e){this.doc=t;this.failed=e}static ok(t){return new sr(t,null)}static fail(t){return new sr(null,t)}static fromReplace(t,e,i,r){try{return sr.ok(t.replace(e,i,r))}catch(t){if(t instanceof Oe)return sr.fail(t.message);throw t}}}function lr(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(lr(s.content,e,s));if(s.isInline)s=e(s,i,n);r.push(s)}return xe.fromArray(r)}class or extends nr{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 Se(lr(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 sr.fromReplace(t,this.from,this.to,n)}invert(){return new ur(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 or(e.pos,i.pos,this.mark)}merge(t){if(t instanceof or&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new or(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 or(e.from,e.to,t.markFromJSON(e.mark))}}nr.jsonID("addMark",or);class ur extends nr{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 Se(lr(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return sr.fromReplace(t,this.from,this.to,i)}invert(){return new or(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 ur(e.pos,i.pos,this.mark)}merge(t){if(t instanceof ur&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from)return new ur(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 ur(e.from,e.to,t.markFromJSON(e.mark))}}nr.jsonID("removeMark",ur);class fr extends nr{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return sr.fail("No node at mark step's position");let i=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return sr.fromReplace(t,this.pos,this.pos+1,new Se(xe.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 fr(this.pos,e.marks[i]);return new fr(this.pos,this.mark)}}return new hr(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new fr(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 fr(e.pos,t.markFromJSON(e.mark))}}nr.jsonID("addNodeMark",fr);class hr extends nr{constructor(t,e){super();this.pos=t;this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return sr.fail("No node at mark step's position");let i=e.type.create(e.attrs,null,this.mark.removeFromSet(e.marks));return sr.fromReplace(t,this.pos,this.pos+1,new Se(xe.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 fr(this.pos,this.mark)}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new hr(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 hr(e.pos,t.markFromJSON(e.mark))}}nr.jsonID("removeNodeMark",hr);class ar extends nr{constructor(t,e,i,r=false){super();this.from=t;this.to=e;this.slice=i;this.structure=r}apply(t){if(this.structure&&dr(t,this.from,this.to))return sr.fail("Structure replace would overwrite content");return sr.fromReplace(t,this.from,this.to,this.slice)}getMap(){return new er([this.from,this.to-this.from,this.slice.size])}invert(t){return new ar(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 ar(e.pos,Math.max(e.pos,i.pos),this.slice)}merge(t){if(!(t instanceof ar)||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?Se.empty:new Se(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new ar(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?Se.empty:new Se(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new ar(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 ar(e.from,e.to,Se.fromJSON(t,e.slice),!!e.structure)}}nr.jsonID("replace",ar);class cr extends nr{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&&(dr(t,this.from,this.gapFrom)||dr(t,this.gapTo,this.to)))return sr.fail("Structure gap-replace would overwrite content");let e=t.slice(this.gapFrom,this.gapTo);if(e.openStart||e.openEnd)return sr.fail("Gap is not a flat range");let i=this.slice.insertAt(this.insert,e.content);if(!i)return sr.fail("Content does not fit in gap");return sr.fromReplace(t,this.from,this.to,i)}getMap(){return new er([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 cr(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=this.from==this.gapFrom?e.pos:t.map(this.gapFrom,-1);let n=this.to==this.gapTo?i.pos:t.map(this.gapTo,1);if(e.deletedAcross&&i.deletedAcross||r<e.pos||n>i.pos)return null;return new cr(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 cr(e.from,e.to,e.gapFrom,e.gapTo,Se.fromJSON(t,e.slice),e.insert,!!e.structure)}}nr.jsonID("replaceAround",cr);function dr(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 pr(t,e,i,r){let n=[],s=[];let l,o;t.doc.nodesBetween(e,i,((t,u,f)=>{if(!t.isInline)return;let h=t.marks;if(!r.isInSet(h)&&f.type.allowsMarkType(r.type)){let f=Math.max(u,e),a=Math.min(u+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 ur(f,a,h[t]))}}if(o&&o.to==f)o.to=a;else s.push(o=new or(f,a,r))}}));n.forEach((e=>t.step(e)));s.forEach((e=>t.step(e)))}function mr(t,e,i,r){let n=[],s=0;t.doc.nodesBetween(e,i,((t,l)=>{if(!t.isInline)return;s++;let o=null;if(r instanceof ki){let e=t.marks,i;while(i=r.isInSet(e)){(o||(o=[])).push(i);e=i.removeFromSet(e)}}else if(r){if(r.isInSet(t.marks))o=[r]}else{o=t.marks}if(o&&o.length){let r=Math.min(l+t.nodeSize,i);for(let t=0;t<o.length;t++){let i=o[t],u;for(let t=0;t<n.length;t++){let e=n[t];if(e.step==s-1&&i.eq(n[t].style))u=e}if(u){u.to=r;u.step=s}else{n.push({style:i,from:Math.max(l,e),to:r,step:s})}}}}));n.forEach((e=>t.step(new ur(e.from,e.to,e.style))))}function wr(t,e,i,r=i.contentMatch,n=true){let s=t.doc.nodeAt(e);let l=[],o=e+1;for(let e=0;e<s.childCount;e++){let u=s.child(e),f=o+u.nodeSize;let h=r.matchType(u.type);if(!h){l.push(new ar(o,f,Se.empty))}else{r=h;for(let e=0;e<u.marks.length;e++)if(!i.allowsMarkType(u.marks[e].type))t.step(new ur(o,f,u.marks[e]));if(n&&u.isText&&i.whitespace!="pre"){let t,e=/\r?\n|\r/g,r;while(t=e.exec(u.text)){if(!r)r=new Se(xe.from(i.schema.text(" ",i.allowedMarks(u.marks))),0,0);l.push(new ar(o+t.index,o+t.index+t[0].length,r))}}}o=f}if(!r.validEnd){let e=r.fillBefore(xe.empty,true);t.replace(o,o,new Se(e,0,0))}for(let e=l.length-1;e>=0;e--)t.step(l[e])}function gr(t,e,i){return(e==0||t.canReplace(e,t.childCount))&&(i==t.childCount||t.canReplace(0,i))}function br(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||!gr(r,n,s))break}return null}function kr(t,e,i){let{$from:r,$to:n,depth:s}=e;let l=r.before(s+1),o=n.after(s+1);let u=l,f=o;let h=xe.empty,a=0;for(let t=s,e=false;t>i;t--)if(e||r.index(t)>0){e=true;h=xe.from(r.node(t).copy(h));a++}else{u--}let c=xe.empty,d=0;for(let t=s,e=false;t>i;t--)if(e||n.after(t+1)<n.end(t)){e=true;c=xe.from(n.node(t).copy(c));d++}else{f++}t.step(new cr(u,f,l,o,new Se(h.append(c),a,d),h.size-a,true))}function vr(t,e,i=null,r=t){let n=yr(t,e);let s=n&&Fr(r,e);if(!s)return null;return n.map(Dr).concat({type:e,attrs:i}).concat(s.map(Dr))}function Dr(t){return{type:t,attrs:null}}function yr(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 Fr(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 o=l.length?l[l.length-1]:e;let u=o.contentMatch;for(let t=r;u&&t<n;t++)u=u.matchType(i.child(t).type);if(!u||!u.validEnd)return null;return l}function xr(t,e,i){let r=xe.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=xe.from(i[t].type.create(i[t].attrs,r))}let n=e.start,s=e.end;t.step(new cr(n,s,n,s,new Se(r,0,0),i.length,true))}function Er(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)=>{let l=typeof n=="function"?n(e):n;if(e.isTextblock&&!e.hasMarkup(r,l)&&Cr(t.doc,t.mapping.slice(s).map(i),r)){let n=null;if(r.schema.linebreakReplacement){let t=r.whitespace=="pre",e=!!r.contentMatch.matchType(r.schema.linebreakReplacement);if(t&&!e)n=false;else if(!t&&e)n=true}if(n===false)Ar(t,e,i,s);wr(t,t.mapping.slice(s).map(i,1),r,undefined,n===null);let o=t.mapping.slice(s);let u=o.map(i,1),f=o.map(i+e.nodeSize,1);t.step(new cr(u,f,u+1,f-1,new Se(xe.from(r.create(l,null,e.marks)),0,0),1,true));if(n===true)Mr(t,e,i,s);return false}}))}function Mr(t,e,i,r){e.forEach(((n,s)=>{if(n.isText){let l,o=/\r?\n|\r/g;while(l=o.exec(n.text)){let n=t.mapping.slice(r).map(i+1+s+l.index);t.replaceWith(n,n+1,e.type.schema.linebreakReplacement.create())}}}))}function Ar(t,e,i,r){e.forEach(((n,s)=>{if(n.type==n.type.schema.linebreakReplacement){let n=t.mapping.slice(r).map(i+1+s);t.replaceWith(n,n+1,e.type.schema.text("\n"))}}))}function Cr(t,e,i){let r=t.resolve(e),n=r.index();return r.parent.canReplaceWith(n,n+1,i)}function Or(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 cr(e,e+s.nodeSize,e+1,e+s.nodeSize-1,new Se(xe.from(l),0,0),1,true))}function Sr(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 o=r&&r[e+1];if(o)l=l.replaceChild(0,o.type.create(o.attrs));let u=r&&r[e]||i;if(!i.canReplace(s+1,i.childCount)||!u.type.validContent(l))return false}let o=n.indexAfter(s);let u=r&&r[0];return n.node(s).canReplaceWith(o,o,u?u.type:n.node(s+1).type)}function $r(t,e,i=1,r){let n=t.doc.resolve(e),s=xe.empty,l=xe.empty;for(let t=n.depth,e=n.depth-i,o=i-1;t>e;t--,o--){s=xe.from(n.node(t).copy(s));let e=r&&r[o];l=xe.from(e?e.type.create(e.attrs,l):n.node(t).copy(l))}t.step(new ar(e,e,new Se(s.append(l),i,i),true))}function _r(t,e){let i=t.resolve(e),r=i.index();return Br(i.nodeBefore,i.nodeAfter)&&i.parent.canReplace(r,r+1)}function zr(t,e){if(!e.content.size)t.type.compatibleContent(e.type);let i=t.contentMatchAt(t.childCount);let{linebreakReplacement:r}=t.type.schema;for(let n=0;n<e.childCount;n++){let s=e.child(n);let l=s.type==r?t.type.schema.nodes.text:s.type;i=i.matchType(l);if(!i)return false;if(!t.type.allowsMarks(s.marks))return false}return i.validEnd}function Br(t,e){return!!(t&&e&&!t.isLeaf&&zr(t,e))}function jr(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&&Br(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 Rr(t,e,i){let r=null;let{linebreakReplacement:n}=t.doc.type.schema;let s=t.doc.resolve(e-i),l=s.node().type;if(n&&l.inlineContent){let t=l.whitespace=="pre";let e=!!l.contentMatch.matchType(n);if(t&&!e)r=false;else if(!t&&e)r=true}let o=t.steps.length;if(r===false){let r=t.doc.resolve(e+i);Ar(t,r.node(),r.before(),o)}if(l.inlineContent)wr(t,e+i-1,l,s.node().contentMatchAt(s.index()),r==null);let u=t.mapping.slice(o),f=u.map(e-i);t.step(new ar(f,u.map(e+i,-1),Se.empty,true));if(r===true){let e=t.doc.resolve(f);Mr(t,e.node(),e.before(),t.steps.length)}return t}function Nr(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 qr(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),o=false;if(t==1){o=l.canReplace(s,s,n)}else{let t=l.contentMatchAt(s).findWrapping(n.firstChild.type);o=t&&l.canReplaceWith(s,s,t[0])}if(o)return i==0?r.pos:i<0?r.before(e+1):r.after(e+1)}}return null}function Tr(t,e,i=e,r=Se.empty){if(e==i&&!r.size)return null;let n=t.resolve(e),s=t.resolve(i);if(Ir(n,s,r))return new ar(e,i,r);return new Pr(n,s,r).fit()}function Ir(t,e,i){return!i.openStart&&!i.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),i.content)}class Pr{constructor(t,e,i){this.$from=t;this.$to=e;this.unplaced=i;this.frontier=[];this.placed=xe.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=xe.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 o=new Se(n,s,l);if(t>-1)return new cr(i.pos,t,this.$to.pos,this.$to.end(),o,e);if(o.size||i.pos!=this.$to.pos)return new ar(i.pos,r.pos,o);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=Wr(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],o,u=null;if(e==1&&(n?l.matchType(n.type)||(u=l.fillBefore(xe.from(n),false)):r&&s.compatibleContent(r.type)))return{sliceDepth:i,frontierDepth:t,parent:r,inject:u};else if(e==2&&n&&(o=l.findWrapping(n.type)))return{sliceDepth:i,frontierDepth:t,parent:r,wrap:o};if(r&&l.matchType(r.type))break}}}}openMore(){let{content:t,openStart:e,openEnd:i}=this.unplaced;let r=Wr(t,e);if(!r.childCount||r.firstChild.isLeaf)return false;this.unplaced=new Se(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=Wr(t,e);if(r.childCount<=1&&e>0){let n=t.size-e<=e+r.size;this.unplaced=new Se(Jr(t,e-1,1),e-1,n?e-1:i)}else{this.unplaced=new Se(Jr(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 o=s.openStart-t;let u=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(u<l.childCount){let t=l.child(u),e=h.matchType(t.type);if(!e)break;u++;if(u>1||o==0||t.content.size){h=e;f.push(Ur(t.mark(a.allowedMarks(t.marks)),u==1?o:0,u==l.childCount?c:-1))}}let d=u==l.childCount;if(!d)c=-1;this.placed=Lr(this.placed,e,xe.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 Se(Jr(s.content,t,u),s.openStart,s.openEnd):t==0?Se.empty:new Se(Jr(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||!Hr(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=Hr(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=Hr(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=Lr(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=Lr(this.placed,this.depth,xe.from(t.create(e,i)));this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop();let e=t.match.fillBefore(xe.empty,true);if(e.childCount)this.placed=Lr(this.placed,this.frontier.length,e)}}function Jr(t,e,i){if(e==0)return t.cutByIndex(i,t.childCount);return t.replaceChild(0,t.firstChild.copy(Jr(t.firstChild.content,e-1,i)))}function Lr(t,e,i){if(e==0)return t.append(i);return t.replaceChild(t.childCount-1,t.lastChild.copy(Lr(t.lastChild.content,e-1,i)))}function Wr(t,e){for(let i=0;i<e;i++)t=t.firstChild.content;return t}function Ur(t,e,i){if(e<=0)return t;let r=t.content;if(e>1)r=r.replaceChild(0,Ur(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(xe.empty,true))}return t.copy(r)}function Hr(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 o=r.fillBefore(s.content,true,l);return o&&!Zr(i,s.content,l)?o:null}function Zr(t,e,i){for(let r=i;r<e.childCount;r++)if(!t.allowsMarks(e.child(r).marks))return true;return false}function Kr(t){return t.spec.defining||t.spec.definingForContent}function Vr(t,e,i,r){if(!r.size)return t.deleteRange(e,i);let n=t.doc.resolve(e),s=t.doc.resolve(i);if(Ir(n,s,r))return t.step(new ar(e,i,r));let l=Qr(n,t.doc.resolve(i));if(l[l.length-1]==0)l.pop();let o=-(n.depth+1);l.unshift(o);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)o=t;else if(n.before(t)==e)l.splice(1,0,-t)}let u=l.indexOf(o);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=Kr(e.type);if(i&&!e.sameMarkup(n.node(Math.abs(o)-1)))h=t;else if(i||!e.type.isTextblock)break}for(let e=r.openStart;e>=0;e--){let o=(e+h+1)%(r.openStart+1);let a=f[o];if(!a)continue;for(let e=0;e<l.length;e++){let f=l[(e+u)%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 Se(Gr(r.content,0,r.openStart,o),o,r.openEnd))}}let a=t.steps.length;for(let o=l.length-1;o>=0;o--){t.replace(e,i,r);if(t.steps.length>a)break;let u=l[o];if(u<0)continue;e=n.before(u);i=s.after(u)}}function Gr(t,e,i,r,n){if(e<i){let n=t.firstChild;t=t.replaceChild(0,n.copy(Gr(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(xe.empty,true))}return t}function Xr(t,e,i,r){if(!r.isInline&&e==i&&t.doc.resolve(e).parent.content.size){let n=Nr(t.doc,e,r.type);if(n!=null)e=i=n}t.replaceRange(e,i,new Se(xe.from(r),0,0))}function Yr(t,e,i){let r=t.doc.resolve(e),n=t.doc.resolve(i);let s=Qr(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&&r.start(s-1)==n.start(s-1)&&r.node(s-1).canReplace(r.index(s-1),n.index(s-1)))return t.delete(r.before(s),i)}t.delete(e,i)}function Qr(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 tn extends nr{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 sr.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 sr.fromReplace(t,this.pos,this.pos+1,new Se(xe.from(r),0,e.isLeaf?0:1))}getMap(){return er.empty}invert(t){return new tn(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 tn(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 tn(e.pos,e.attr,e.value)}}nr.jsonID("attr",tn);class en extends nr{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 sr.ok(i)}getMap(){return er.empty}invert(t){return new en(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 en(e.attr,e.value)}}nr.jsonID("docAttr",en);let rn=class extends Error{};rn=function t(e){let i=Error.call(this,e);i.__proto__=t.prototype;return i};rn.prototype=Object.create(Error.prototype);rn.prototype.constructor=rn;rn.prototype.name="TransformError";class nn{constructor(t){this.doc=t;this.steps=[];this.docs=[];this.mapping=new ir}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new rn(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=Se.empty){let r=Tr(this.doc,t,e,i);if(r)this.step(r);return this}replaceWith(t,e,i){return this.replace(t,e,new Se(xe.from(i),0,0))}delete(t,e){return this.replace(t,e,Se.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,i){Vr(this,t,e,i);return this}replaceRangeWith(t,e,i){Xr(this,t,e,i);return this}deleteRange(t,e){Yr(this,t,e);return this}lift(t,e){kr(this,t,e);return this}join(t,e=1){Rr(this,t,e);return this}wrap(t,e){xr(this,t,e);return this}setBlockType(t,e=t,i,r=null){Er(this,t,e,i,r);return this}setNodeMarkup(t,e,i=null,r){Or(this,t,e,i,r);return this}setNodeAttribute(t,e,i){this.step(new tn(t,e,i));return this}setDocAttribute(t,e){this.step(new en(t,e));return this}addNodeMark(t,e){this.step(new fr(t,e));return this}removeNodeMark(t,e){if(!(e instanceof Ce)){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 hr(t,e));return this}split(t,e=1,i){$r(this,t,e,i);return this}addMark(t,e,i){pr(this,t,e,i);return this}removeMark(t,e,i){mr(this,t,e,i);return this}clearIncompatible(t,e,i){wr(this,t,e,i);return this}}const sn=Object.create(null);class ln{constructor(t,e,i){this.$anchor=t;this.$head=e;this.ranges=i||[new on(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=Se.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:o,$to:u}=s[l],f=t.mapping.slice(n);t.replaceRange(f.map(o.pos),f.map(u.pos),l?Se.empty:e);if(l==0)gn(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],o=t.mapping.slice(i);let u=o.map(s.pos),f=o.map(l.pos);if(n){t.deleteRange(u,f)}else{t.replaceRangeWith(u,f,e);gn(t,i,e.isInline?-1:1)}}}static findFrom(t,e,i=false){let r=t.parent.inlineContent?new hn(t):wn(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?wn(t.node(0),t.node(r),t.before(r+1),t.index(r),e,i):wn(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 pn(t.node(0))}static atStart(t){return wn(t,t,0,0,1)||new pn(t)}static atEnd(t){return wn(t,t,t.content.size,t.childCount,-1)||new pn(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let i=sn[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 sn)throw new RangeError("Duplicate use of selection JSON ID "+t);sn[t]=e;e.prototype.jsonID=t;return e}getBookmark(){return hn.between(this.$anchor,this.$head).getBookmark()}}ln.prototype.visible=true;class on{constructor(t,e){this.$from=t;this.$to=e}}let un=false;function fn(t){if(!un&&!t.parent.inlineContent){un=true;console["warn"]("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")")}}class hn extends ln{constructor(t,e=t){fn(t);fn(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 ln.near(i);let r=t.resolve(e.map(this.anchor));return new hn(r.parent.inlineContent?r:i,i)}replace(t,e=Se.empty){super.replace(t,e);if(e==Se.empty){let e=this.$from.marksAcross(this.$to);if(e)t.ensureMarks(e)}}eq(t){return t instanceof hn&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new an(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 hn(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=ln.findFrom(e,i,true)||ln.findFrom(e,-i,true);if(t)e=t.$head;else return ln.near(e,i)}if(!t.parent.inlineContent){if(r==0){t=e}else{t=(ln.findFrom(t,-i,true)||ln.findFrom(t,i,true)).$anchor;if(t.pos<e.pos!=r<0)t=e}}return new hn(t,e)}}ln.jsonID("text",hn);class an{constructor(t,e){this.anchor=t;this.head=e}map(t){return new an(t.map(this.anchor),t.map(this.head))}resolve(t){return hn.between(t.resolve(this.anchor),t.resolve(this.head))}}class cn extends ln{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 ln.near(n);return new cn(n)}content(){return new Se(xe.from(this.node),0,0)}eq(t){return t instanceof cn&&t.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new dn(this.anchor)}static fromJSON(t,e){if(typeof e.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new cn(t.resolve(e.anchor))}static create(t,e){return new cn(t.resolve(e))}static isSelectable(t){return!t.isText&&t.type.spec.selectable!==false}}cn.prototype.visible=false;ln.jsonID("node",cn);class dn{constructor(t){this.anchor=t}map(t){let{deleted:e,pos:i}=t.mapResult(this.anchor);return e?new an(i,i):new dn(i)}resolve(t){let e=t.resolve(this.anchor),i=e.nodeAfter;if(i&&cn.isSelectable(i))return new cn(e);return ln.near(e)}}class pn extends ln{constructor(t){super(t.resolve(0),t.resolve(t.content.size))}replace(t,e=Se.empty){if(e==Se.empty){t.delete(0,t.doc.content.size);let e=ln.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 pn(t)}map(t){return new pn(t)}eq(t){return t instanceof pn}getBookmark(){return mn}}ln.jsonID("all",pn);const mn={map(){return this},resolve(t){return new pn(t)}};function wn(t,e,i,r,n,s=false){if(e.inlineContent)return hn.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=wn(t,r,i+n,n<0?r.childCount:0,n,s);if(e)return e}else if(!s&&cn.isSelectable(r)){return cn.create(t,i-(n<0?r.nodeSize:0))}i+=r.nodeSize*n}return null}function gn(t,e,i){let r=t.steps.length-1;if(r<e)return;let n=t.steps[r];if(!(n instanceof ar||n instanceof cr))return;let s=t.mapping.maps[r],l;s.forEach(((t,e,i,r)=>{if(l==null)l=r}));t.setSelection(ln.near(t.doc.resolve(l),i))}const bn=1,kn=2,vn=4;class Dn extends nn{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|bn)&~kn;this.storedMarks=null;return this}get selectionSet(){return(this.updated&bn)>0}setStoredMarks(t){this.storedMarks=t;this.updated|=kn;return this}ensureMarks(t){if(!Ce.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&kn)>0}addStep(t,e){super.addStep(t,e);this.updated=this.updated&~kn;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)||Ce.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(ln.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|=vn;return this}get scrolledIntoView(){return(this.updated&vn)>0}}function yn(t,e){return!e||!t?t:t.bind(e)}class Fn{constructor(t,e,i){this.name=t;this.init=yn(e.init,i);this.apply=yn(e.apply,i)}}const xn=[new Fn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new Fn("selection",{init(t,e){return t.selection||ln.atStart(e.doc)},apply(t){return t.selection}}),new Fn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,i,r){return r.selection.$cursor?t.storedMarks:null}}),new Fn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class En{constructor(t,e){this.schema=t;this.plugins=[];this.pluginsByKey=Object.create(null);this.fields=xn.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 Fn(t.key,t.spec.state,t))}))}}class Mn{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 o=r?r[s].n:0,u=r?r[s].state:this;let f=o<e.length&&l.spec.appendTransaction.call(l,o?e.slice(o):e,u,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 Mn(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 Dn(this)}static create(t){let e=new En(t.doc?t.doc.type.schema:t.schema,t.plugins);let i=new Mn(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 En(this.schema,t.plugins);let i=e.fields,r=new Mn(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 En(t.schema,t.plugins);let n=new Mn(r);r.fields.forEach((r=>{if(r.name=="doc"){n.doc=Ve.fromJSON(t.schema,e.doc)}else if(r.name=="selection"){n.selection=ln.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],o=l.spec.state;if(l.key==r.name&&o&&o.fromJSON&&Object.prototype.hasOwnProperty.call(e,s)){n[r.name]=o.fromJSON.call(l,t,e[s],n);return}}n[r.name]=r.init(t,n)}}));return n}}function An(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=An(n,e,{});i[r]=n}return i}class Cn{constructor(t){this.spec=t;this.props={};if(t.props)An(t.props,this,this.props);this.key=t.key?t.key.key:Sn("plugin")}getState(t){return t[this.key]}}const On=Object.create(null);function Sn(t){if(t in On)return t+"$"+ ++On[t];On[t]=0;return t+"$"}class $n{constructor(t="key"){this.key=Sn(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const _n=function(t){for(var e=0;;e++){t=t.previousSibling;if(!t)return e}};const zn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let Bn=null;const jn=function(t,e,i){let r=Bn||(Bn=document.createRange());r.setEnd(t,i==null?t.nodeValue.length:i);r.setStart(t,e||0);return r};const Rn=function(){Bn=null};const Nn=function(t,e,i,r){return i&&(Tn(t,e,i,r,-1)||Tn(t,e,i,r,1))};const qn=/^(img|br|input|textarea|hr)$/i;function Tn(t,e,i,r,n){for(;;){if(t==i&&e==r)return true;if(e==(n<0?0:In(t))){let i=t.parentNode;if(!i||i.nodeType!=1||Wn(t)||qn.test(t.nodeName)||t.contentEditable=="false")return false;e=_n(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?In(t):0}else{return false}}}function In(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Pn(t,e){for(;;){if(t.nodeType==3&&e)return t;if(t.nodeType==1&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1];e=In(t)}else if(t.parentNode&&!Wn(t)){e=_n(t);t=t.parentNode}else{return null}}}function Jn(t,e){for(;;){if(t.nodeType==3&&e<t.nodeValue.length)return t;if(t.nodeType==1&&e<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[e];e=0}else if(t.parentNode&&!Wn(t)){e=_n(t)+1;t=t.parentNode}else{return null}}}function Ln(t,e,i){for(let r=e==0,n=e==In(t);r||n;){if(t==i)return true;let e=_n(t);t=t.parentNode;if(!t)return false;r=r&&e==0;n=n&&e==In(t)}}function Wn(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 Un=function(t){return t.focusNode&&Nn(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function Hn(t,e){let i=document.createEvent("Event");i.initEvent("keydown",true,true);i.keyCode=t;i.key=i.code=e;return i}function Zn(t){let e=t.activeElement;while(e&&e.shadowRoot)e=e.shadowRoot.activeElement;return e}function Kn(t,e,i){if(t.caretPositionFromPoint){try{let r=t.caretPositionFromPoint(e,i);if(r)return{node:r.offsetNode,offset:Math.min(In(r.offsetNode),r.offset)}}catch(t){}}if(t.caretRangeFromPoint){let r=t.caretRangeFromPoint(e,i);if(r)return{node:r.startContainer,offset:Math.min(In(r.startContainer),r.startOffset)}}}const Vn=typeof navigator!="undefined"?navigator:null;const Gn=typeof document!="undefined"?document:null;const Xn=Vn&&Vn.userAgent||"";const Yn=/Edge\/(\d+)/.exec(Xn);const Qn=/MSIE \d/.exec(Xn);const ts=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Xn);const es=!!(Qn||ts||Yn);const is=Qn?document.documentMode:ts?+ts[1]:Yn?+Yn[1]:0;const rs=!es&&/gecko\/(\d+)/i.test(Xn);rs&&+(/Firefox\/(\d+)/.exec(Xn)||[0,0])[1];const ns=!es&&/Chrome\/(\d+)/.exec(Xn);const ss=!!ns;const ls=ns?+ns[1]:0;const us=!es&&!!Vn&&/Apple Computer/.test(Vn.vendor);const fs=us&&(/Mobile\/\w+/.test(Xn)||!!Vn&&Vn.maxTouchPoints>2);const hs=fs||(Vn?/Mac/.test(Vn.platform):false);const as=Vn?/Win/.test(Vn.platform):false;const cs=/Android \d/.test(Xn);const ds=!!Gn&&"webkitFontSmoothing"in Gn.documentElement.style;const ps=ds?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function ms(t){let e=t.defaultView&&t.defaultView.visualViewport;if(e)return{left:0,right:e.width,top:0,bottom:e.height};return{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function ws(t,e){return typeof t=="number"?t:t[e]}function gs(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 bs(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=zn(l)){if(!l)break;if(l.nodeType!=1)continue;let t=l;let i=t==s.body;let o=i?ms(s):gs(t);let u=0,f=0;if(e.top<o.top+ws(r,"top"))f=-(o.top-e.top+ws(n,"top"));else if(e.bottom>o.bottom-ws(r,"bottom"))f=e.bottom-e.top>o.bottom-o.top?e.top+ws(n,"top")-o.top:e.bottom-o.bottom+ws(n,"bottom");if(e.left<o.left+ws(r,"left"))u=-(o.left-e.left+ws(n,"left"));else if(e.right>o.right-ws(r,"right"))u=e.right-o.right+ws(n,"right");if(u||f){if(i){s.defaultView.scrollBy(u,f)}else{let i=t.scrollLeft,r=t.scrollTop;if(f)t.scrollTop+=f;if(u)t.scrollLeft+=u;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 ks(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 o=e.getBoundingClientRect();if(o.top>=i-20){r=e;n=o.top;break}}return{refDOM:r,refTop:n,stack:vs(t.dom)}}function vs(t){let e=[],i=t.ownerDocument;for(let r=t;r;r=zn(r)){e.push({dom:r,top:r.scrollTop,left:r.scrollLeft});if(t==i)break}return e}function Ds({refDOM:t,refTop:e,stack:i}){let r=t?t.getBoundingClientRect().top:0;ys(i,r==0?0:r-e)}function ys(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 Fs=null;function xs(t){if(t.setActive)return t.setActive();if(Fs)return t.focus(Fs);let e=vs(t);t.focus(Fs==null?{get preventScroll(){Fs={preventScroll:true};return true}}:undefined);if(!Fs){Fs=false;ys(e,0)}}function Es(t,e){let i,r=2e8,n,s=0;let l=e.top,o=e.top;let u,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=jn(h).getClientRects();else continue;for(let c=0;c<t.length;c++){let d=t[c];if(d.top<=l&&d.bottom>=o){l=Math.max(d.bottom,l);o=Math.min(d.top,o);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&&!u&&d.left<=e.left&&d.right>=e.left){u=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&&u){i=u;n=f;r=0}if(i&&i.nodeType==3)return Ms(i,n);if(!i||r&&i.nodeType==1)return{node:t,offset:s};return Es(i,n)}function Ms(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=Bs(r,1);if(i.top==i.bottom)continue;if(As(e,i))return{node:t,offset:n+(e.left>=(i.left+i.right)/2?1:0)}}return{node:t,offset:0}}function As(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function Cs(t,e){let i=t.parentNode;if(i&&/^li$/i.test(i.nodeName)&&e.left<t.getBoundingClientRect().left)return i;return t}function Os(t,e,i){let{node:r,offset:n}=Es(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 Ss(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),l;if(!e)return null;if(e.dom.nodeType==1&&(e.node.isBlock&&e.parent||!e.contentDOM)&&((l=e.dom.getBoundingClientRect()).width||l.height)){if(e.node.isBlock&&e.parent){if(!s&&l.left>r.left||l.top>r.top)n=e.posBefore;else if(!s&&l.right<r.left||l.bottom<r.top)n=e.posAfter;s=true}if(!e.contentDOM&&n<0&&!e.node.isText){let t=e.node.isBlock?r.top<(l.top+l.bottom)/2:r.left<(l.left+l.right)/2;return t?e.posBefore:e.posAfter}}i=e.dom.parentNode}return n>-1?n:t.docView.posFromDOM(e,i,-1)}function $s(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(As(e,n))return $s(i,e,n)}}if((s=(s+1)%r)==n)break}}return t}function _s(t,e){let i=t.dom.ownerDocument,r,n=0;let s=Kn(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 o;if(!l||!t.dom.contains(l.nodeType!=1?l.parentNode:l)){let i=t.dom.getBoundingClientRect();if(!As(e,i))return null;l=$s(t.dom,e,i);if(!l)return null}if(us){for(let t=l;r&&t;t=zn(t))if(t.draggable)r=undefined}l=Cs(l,e);if(r){if(rs&&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(ds&&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)o=t.state.doc.content.size;else if(n==0||r.nodeType!=1||r.childNodes[n-1].nodeName!="BR")o=Ss(t,r,n,e)}if(o==null)o=Os(t,l,e);let u=t.docView.nearestDesc(l,true);return{pos:o,inside:u?u.posAtStart-u.border:-1}}function zs(t){return t.top<t.bottom||t.left<t.right}function Bs(t,e){let i=t.getClientRects();if(i.length){let t=i[e<0?0:i.length-1];if(zs(t))return t}return Array.prototype.find.call(i,zs)||t.getBoundingClientRect()}const js=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function Rs(t,e,i){let{node:r,offset:n,atom:s}=t.docView.domFromPos(e,i<0?-1:1);let l=ds||rs;if(r.nodeType==3){if(l&&(js.test(r.nodeValue)||(i<0?!n:n==r.nodeValue.length))){let t=Bs(jn(r,n,n),i);if(rs&&n&&/\s/.test(r.nodeValue[n-1])&&n<r.nodeValue.length){let e=Bs(jn(r,n-1,n-1),-1);if(e.top==t.top){let i=Bs(jn(r,n,n+1),-1);if(i.top!=t.top)return Ns(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 Ns(Bs(jn(r,t,e),s),s<0)}}let o=t.state.doc.resolve(e-(s||0));if(!o.parent.inlineContent){if(s==null&&n&&(i<0||n==In(r))){let t=r.childNodes[n-1];if(t.nodeType==1)return qs(t.getBoundingClientRect(),false)}if(s==null&&n<In(r)){let t=r.childNodes[n];if(t.nodeType==1)return qs(t.getBoundingClientRect(),true)}return qs(r.getBoundingClientRect(),i>=0)}if(s==null&&n&&(i<0||n==In(r))){let t=r.childNodes[n-1];let e=t.nodeType==3?jn(t,In(t)-(l?0:1)):t.nodeType==1&&(t.nodeName!="BR"||!t.nextSibling)?t:null;if(e)return Ns(Bs(e,1),false)}if(s==null&&n<In(r)){let t=r.childNodes[n];while(t.pmViewDesc&&t.pmViewDesc.ignoreForCoords)t=t.nextSibling;let e=!t?null:t.nodeType==3?jn(t,0,l?0:1):t.nodeType==1?t:null;if(e)return Ns(Bs(e,-1),true)}return Ns(Bs(r.nodeType==3?jn(r):r,-i),i>=0)}function Ns(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 qs(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 Ts(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 Is(t,e,i){let r=e.selection;let n=i=="up"?r.$from:r.$to;return Ts(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=Rs(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=jn(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 Ps=/[\u0590-\u08ac]/;function Js(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 o=t.domSelection();if(!o)return r.pos==r.start()||r.pos==r.end();if(!Ps.test(r.parent.textContent)||!o.modify)return i=="left"||i=="backward"?s:l;return Ts(t,e,(()=>{let{focusNode:e,focusOffset:n,anchorNode:s,anchorOffset:l}=t.domSelectionRange();let u=o.caretBidiLevel;o.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{o.collapse(s,l);if(e&&(e!=s||n!=l)&&o.extend)o.extend(e,n)}catch(t){}if(u!=null)o.caretBidiLevel=u;return c}))}let Ls=null;let Ws=null;let Us=false;function Hs(t,e,i){if(Ls==e&&Ws==i)return Us;Ls=e;Ws=i;return Us=i=="up"||i=="down"?Is(t,e,i):Js(t,e,i)}const Zs=0,Ks=1,Vs=2,Gs=3;class Xs{constructor(t,e,i,r){this.parent=t;this.children=e;this.dom=i;this.contentDOM=r;this.dirty=Zs;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>_n(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){for(let t=0;t<r.children.length;t++){let e=r.children[t];if(e.size){r=e;break}}}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 nl){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 Ys&&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?_n(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?_n(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],o=s+i.size;if(r==-1&&t<=o){let n=s+i.border;if(t>=n&&e<=o-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=_n(i.dom)+1;break}t-=i.size}if(r==-1)r=0}if(r>-1&&(o>e||l==this.children.length-1)){e=o;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=_n(i.dom);break}e+=i.size}if(n==-1)n=this.contentDOM.childNodes.length;break}s=o}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,o=0;l<this.children.length;l++){let u=this.children[l],f=o+u.size;if(n>o&&s<f)return u.setSelection(t-o-u.border,e-o-u.border,i,r);o=f}let l=this.domFromPos(t,t?-1:1);let o=e==t?l:this.domFromPos(e,e?-1:1);let u=i.root.getSelection();let f=i.domSelectionRange();let h=false;if((rs||us)&&t==e){let{node:t,offset:e}=l;if(t.nodeType==3){h=!!(e&&t.nodeValue[e-1]=="\n");if(h&&e==t.nodeValue.length){for(let e=t,i;e;e=e.parentNode){if(i=e.nextSibling){if(i.nodeName=="BR")l=o={node:i.parentNode,offset:_n(i)+1};break}let t=e.pmViewDesc;if(t&&t.node&&t.node.isBlock)break}}}else{let i=t.childNodes[e-1];h=i&&(i.nodeName=="BR"||i.contentEditable=="false")}}if(rs&&f.focusNode&&f.focusNode!=o.node&&f.focusNode.nodeType==1){let t=f.focusNode.childNodes[f.focusOffset];if(t&&t.contentEditable=="false")r=true}if(!(r||h&&us)&&Nn(l.node,l.offset,f.anchorNode,f.anchorOffset)&&Nn(o.node,o.offset,f.focusNode,f.focusOffset))return;let a=false;if((u.extend||t==e)&&!h){u.collapse(l.node,l.offset);try{if(t!=e)u.extend(o.node,o.offset);a=true}catch(t){}}if(!a){if(t>e){let t=l;l=o;o=t}let i=document.createRange();i.setEnd(o.node,o.offset);i.setStart(l.node,l.offset);u.removeAllRanges();u.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?Vs:Ks;if(t==r&&e==l&&(n.contentLost||n.dom.parentNode!=this.contentDOM))n.dirty=Gs;else n.markDirty(t-r,e-r);return}else{n.dirty=n.dom==n.contentDOM&&n.dom.parentNode==this.contentDOM&&!n.children.length?Vs:Gs}}i=s}this.dirty=Vs}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let i=t==1?Vs:Ks;if(e.dirty<i)e.dirty=i}}get domAtom(){return false}get ignoreForCoords(){return false}isText(t){return false}}class Ys extends Xs{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==Zs&&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 Qs extends Xs{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 tl extends Xs{constructor(t,e,i,r,n){super(t,[],i,r);this.mark=e;this.spec=n}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=qi.renderSpec(document,e.type.spec.toDOM(e,i),null,e.attrs);return new tl(t,e,s.dom,s.contentDOM||s.dom,s)}parseRule(){if(this.dirty&Gs||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!=Gs&&this.mark.eq(t)}markDirty(t,e){super.markDirty(t,e);if(this.dirty!=Zs){let t=this.parent;while(!t.node)t=t.parent;if(t.dirty<this.dirty)t.dirty=this.dirty;this.dirty=Zs}}slice(t,e,i){let r=tl.create(this.parent,this.mark,true,i);let n=this.children,s=this.size;if(e<s)n=Dl(n,e,s,i);if(t>0)n=Dl(n,0,t,i);for(let t=0;t<n.length;t++)n[t].parent=r;r.children=n;return r}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}destroy(){if(this.spec.destroy)this.spec.destroy();super.destroy()}}class el extends Xs{constructor(t,e,i,r,n,s,l,o,u){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],o;let u=l&&l(e,n,(()=>{if(!o)return s;if(o.parent)return o.parent.posBeforeChild(o)}),i,r);let f=u&&u.dom,h=u&&u.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){let t=qi.renderSpec(document,e.type.spec.toDOM(e),null,e.attrs);({dom:f,contentDOM:h}=t)}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=cl(f,i,e);if(u)return o=new sl(t,e,i,r,f,h||null,a,u,n,s+1);else if(e.isText)return new rl(t,e,i,r,f,a,n);else return new el(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=()=>xe.empty}return t}matchesNode(t,e,i){return this.dirty==Zs&&t.eq(this.node)&&dl(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 o=new ml(this,s&&s.node,t);bl(this.node,this.innerDeco,((e,n,s)=>{if(e.spec.marks)o.syncToMarks(e.spec.marks,i,t);else if(e.type.side>=0&&!s)o.syncToMarks(n==this.node.childCount?Ce.none:this.node.child(n).marks,i,t);o.placeWidget(e,t,r)}),((e,s,u,f)=>{o.syncToMarks(e.marks,i,t);let h;if(o.findNodeMatch(e,s,u,f));else if(l&&t.state.selection.from>r&&t.state.selection.to<r+e.nodeSize&&(h=o.findIndexWithChild(n.node))>-1&&o.updateNodeAt(e,s,u,h,t));else if(o.updateNextNode(e,s,u,t,f,r));else{o.addNode(e,s,u,t,r)}r+=e.nodeSize}));o.syncToMarks([],i,t);if(this.node.isTextblock)o.addTextblockHacks();o.destroyRest();if(o.changed||this.dirty==Vs){if(s)this.protectLocalComposition(t,s);ll(this.contentDOM,this.children,t);if(fs)kl(this.dom)}}localCompositionInfo(t,e){let{from:i,to:r}=t.state.selection;if(!(t.state.selection instanceof hn)||i<e||r>e+this.node.content.size)return null;let n=t.input.compositionNode;if(!n||!this.dom.contains(n.parentNode))return null;if(this.node.inlineContent){let t=n.nodeValue;let s=vl(this.node.content,t,i-e,r-e);return s<0?null:{node:n,pos:s,text:t}}else{return{node:n,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 Qs(this,n,e,r);t.input.compositionNodes.push(s);this.children=Dl(this.children,i,i+r.length,t,s)}update(t,e,i,r){if(this.dirty==Gs||!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=Zs}updateOuterDeco(t){if(dl(t,this.outerDeco))return;let e=this.nodeDOM.nodeType!=1;let i=this.dom;this.dom=hl(this.dom,this.nodeDOM,fl(this.outerDeco,this.node,e),fl(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 il(t,e,i,r,n){cl(r,e,t);let s=new el(undefined,t,e,i,r,r,r,n,0);if(s.contentDOM)s.updateChildren(n,0);return s}class rl extends el{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==Gs||this.dirty!=Zs&&!this.inParent()||!t.sameMarkup(this.node))return false;this.updateOuterDeco(e);if((this.dirty!=Zs||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=Zs;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 rl(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=Gs}get domAtom(){return false}isText(t){return this.node.text==t}}class nl extends Xs{parseRule(){return{ignore:true}}matchesHack(t){return this.dirty==Zs&&this.dom.nodeName==t}get domAtom(){return true}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class sl extends el{constructor(t,e,i,r,n,s,l,o,u,f){super(t,e,i,r,n,s,l,u,f);this.spec=o}update(t,e,i,r){if(this.dirty==Gs)return false;if(this.spec.update&&(this.node.type==t.type||this.spec.multiType)){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.root):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 ll(t,e,i){let r=t.firstChild,n=false;for(let s=0;s<e.length;s++){let l=e[s],o=l.dom;if(o.parentNode==t){while(o!=r){r=pl(r);n=true}r=r.nextSibling}else{n=true;t.insertBefore(o,r)}if(l instanceof tl){let e=r?r.previousSibling:t.lastChild;ll(l.contentDOM,l.children,i);r=e?e.nextSibling:t.firstChild}}while(r){r=pl(r);n=true}if(n&&i.trackWrites==t)i.trackWrites=null}const ol=function(t){if(t)this.nodeName=t};ol.prototype=Object.create(null);const ul=[new ol];function fl(t,e,i){if(t.length==0)return ul;let r=i?ul[0]:new ol,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 ol(l.nodeName));for(let t in l){let s=l[t];if(s==null)continue;if(i&&n.length==1)n.push(r=new ol(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 hl(t,e,i,r){if(i==ul&&r==ul)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=ul[0];n=e}}al(n,l||ul[0],s)}return n}function al(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 cl(t,e,i){return hl(t,t,ul,fl(e,i,t.nodeType!=1))}function dl(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 pl(t){let e=t.nextSibling;t.parentNode.removeChild(t);return e}class ml{constructor(t,e,i){this.lock=e;this.view=i;this.index=0;this.stack=[];this.changed=false;this.top=t;this.preMatch=wl(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=Zs;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=tl.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==Gs&&s.dom==s.contentDOM)s.dirty=Vs;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 o=this.top.children[l];if(o instanceof el){let u=this.preMatch.matched.get(o);if(u!=null&&u!=n)return false;let f=o.dom,h;let a=this.isLocked(f)&&!(t.isText&&o.node&&o.node.isText&&o.nodeDOM.nodeValue==t.text&&o.dirty!=Gs&&dl(e,o.outerDeco));if(!a&&o.update(t,e,i,r)){this.destroyBetween(this.index,l);if(o.dom!=f)this.changed=true;this.index++;return true}else if(!a&&(h=this.recreateWrapper(o,t,e,i,r,s))){this.destroyBetween(this.index,l);this.top.children[this.index]=h;if(h.contentDOM){h.dirty=Vs;h.updateChildren(r,s+1);h.dirty=Zs}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)||!dl(i,t.outerDeco)||!r.eq(t.innerDeco))return null;let l=el.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=el.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 Ys(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 tl){e=t;t=e.children[e.children.length-1]}if(!t||!(t instanceof rl)||/\n$/.test(t.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(t.node.text)){if((us||ss)&&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 nl(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 wl(t,e){let i=e,r=i.children.length;let n=t.childCount,s=new Map,l=[];t:while(n>0){let o;for(;;){if(r){let t=i.children[r-1];if(t instanceof tl){i=t;r=t.children.length}else{o=t;r--;break}}else if(i==e){break t}else{r=i.parent.children.indexOf(i);i=i.parent}}let u=o.node;if(!u)continue;if(u!=t.child(n-1))break;--n;s.set(o,n);l.push(o)}return{index:n,matched:s,matches:l.reverse()}}function gl(t,e){return t.type.side-e.type.side}function bl(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,o=[],u=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(gl);for(let t=0;t<a.length;t++)i(a[t],f,!!u)}else{i(h,f,!!u)}}let c,d;if(u){d=-1;c=u;u=null}else if(f<t.childCount){d=f;c=t.child(f++)}else{break}for(let t=0;t<o.length;t++)if(o[t].to<=s)o.splice(t--,1);while(l<n.length&&n[l].from<=s&&n[l].to>s)o.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<o.length;e++)if(o[e].to<t)t=o[e].to;if(t<p){u=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?o.filter((t=>!t.inline)):o.slice();r(c,m,e.forChild(s,c),d);s=p}}function kl(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 vl(t,e,i,r){for(let n=0,s=0;n<t.childCount&&s<=r;){let l=t.child(n++),o=s;s+=l.nodeSize;if(!l.isText)continue;let u=l.text;while(n<t.childCount){let e=t.child(n++);s+=e.nodeSize;if(!e.isText)break;u+=e.text}if(s>=i){if(s>=r&&u.slice(r-e.length-o,r-o)==e)return r-e.length;let t=o<r?u.lastIndexOf(e,r-o-1):-1;if(t>=0&&t+e.length+o>=i)return o+t;if(i==r&&u.length>=r+e.length-o&&u.slice(r-o,r-o+e.length)==e)return r}}return-1}function Dl(t,e,i,r,n){let s=[];for(let l=0,o=0;l<t.length;l++){let u=t[l],f=o,h=o+=u.size;if(f>=i||h<=e){s.push(u)}else{if(f<e)s.push(u.slice(0,e-f,r));if(n){s.push(n);n=undefined}if(h>i)s.push(u.slice(i-f,u.size,r))}}return s}function yl(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 o=r.resolve(l),u,f;if(Un(i)){u=l;while(n&&!n.node)n=n.parent;let t=n.node;if(n&&t.isAtom&&cn.isSelectable(t)&&n.parent&&!(t.isInline&&Ln(i.focusNode,i.focusOffset,n.dom))){let t=n.posBefore;f=new cn(l==t?o:r.resolve(t))}}else{if(i instanceof t.dom.ownerDocument.defaultView.Selection&&i.rangeCount>1){let e=l,n=l;for(let r=0;r<i.rangeCount;r++){let s=i.getRangeAt(r);e=Math.min(e,t.docView.posFromDOM(s.startContainer,s.startOffset,1));n=Math.max(n,t.docView.posFromDOM(s.endContainer,s.endOffset,-1))}if(e<0)return null;[u,l]=n==t.state.selection.anchor?[n,e]:[e,n];o=r.resolve(l)}else{u=t.docView.posFromDOM(i.anchorNode,i.anchorOffset,1)}if(u<0)return null}let h=r.resolve(u);if(!f){let i=e=="pointer"||t.state.selection.head<o.pos&&!s?1:-1;f=zl(t,h,o,i)}return f}function Fl(t){return t.editable?t.hasFocus():jl(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function xl(t,e=false){let i=t.state.selection;$l(t,i);if(!Fl(t))return;if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&ss){let e=t.domSelectionRange(),i=t.domObserver.currentSelection;if(e.anchorNode&&i.anchorNode&&Nn(e.anchorNode,e.anchorOffset,i.anchorNode,i.anchorOffset)){t.input.mouseDown.delayedSelectionSync=true;t.domObserver.setCurSelection();return}}t.domObserver.disconnectSelection();if(t.cursorWrapper){Sl(t)}else{let{anchor:r,head:n}=i,s,l;if(El&&!(i instanceof hn)){if(!i.$from.parent.inlineContent)s=Ml(t,i.from);if(!i.empty&&!i.$from.parent.inlineContent)l=Ml(t,i.to)}t.docView.setSelection(r,n,t,e);if(El){if(s)Cl(s);if(l)Cl(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 El=us||ss&&ls<63;function Ml(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(us&&n&&n.contentEditable=="false")return Al(n);if((!n||n.contentEditable=="false")&&(!s||s.contentEditable=="false")){if(n)return Al(n);else if(s)return Al(s)}}function Al(t){t.contentEditable="true";if(us&&t.draggable){t.draggable=false;t.wasDraggable=true}return t}function Cl(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(!Fl(t)||t.state.selection.visible)t.dom.classList.remove("ProseMirror-hideselection")}),20)}})}function Sl(t){let e=t.domSelection(),i=document.createRange();if(!e)return;let r=t.cursorWrapper.dom,n=r.nodeName=="IMG";if(n)i.setStart(r.parentNode,_n(r)+1);else i.setStart(r,0);i.collapse(true);e.removeAllRanges();e.addRange(i);if(!n&&!t.state.selection.visible&&es&&is<=11){r.disabled=true;r.disabled=false}}function $l(t,e){if(e instanceof cn){let i=t.docView.descAt(e.from);if(i!=t.lastSelectedViewDesc){_l(t);if(i)i.selectNode();t.lastSelectedViewDesc=i}}else{_l(t)}}function _l(t){if(t.lastSelectedViewDesc){if(t.lastSelectedViewDesc.parent)t.lastSelectedViewDesc.deselectNode();t.lastSelectedViewDesc=undefined}}function zl(t,e,i,r){return t.someProp("createSelectionBetween",(r=>r(t,e,i)))||hn.between(e,i,r)}function Bl(t){if(t.editable&&!t.hasFocus())return false;return jl(t)}function jl(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 Rl(t){let e=t.docView.domFromPos(t.state.selection.anchor,0);let i=t.domSelectionRange();return Nn(e.node,e.offset,i.anchorNode,i.anchorOffset)}function Nl(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&&ln.findFrom(s,e)}function ql(t,e){t.dispatch(t.state.tr.setSelection(e).scrollIntoView());return true}function Tl(t,e,i){let r=t.state.selection;if(r instanceof hn){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 ql(t,new hn(r.$anchor,s))}else if(!r.empty){return false}else if(t.endOfTextblock(e>0?"forward":"backward")){let i=Nl(t.state,e);if(i&&i instanceof cn)return ql(t,i);return false}else if(!(hs&&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(cn.isSelectable(n)){return ql(t,new cn(e<0?t.state.doc.resolve(i.pos-n.nodeSize):i))}else if(ds){return ql(t,new hn(t.state.doc.resolve(e<0?l:l+n.nodeSize)))}else{return false}}}else if(r instanceof cn&&r.node.isInline){return ql(t,new hn(e>0?r.$to:r.$from))}else{let i=Nl(t.state,e);if(i)return ql(t,i);return false}}function Il(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Pl(t,e){let i=t.pmViewDesc;return i&&i.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function Jl(t,e){return e<0?Ll(t):Wl(t)}function Ll(t){let e=t.domSelectionRange();let i=e.focusNode,r=e.focusOffset;if(!i)return;let n,s,l=false;if(rs&&i.nodeType==1&&r<Il(i)&&Pl(i.childNodes[r],-1))l=true;for(;;){if(r>0){if(i.nodeType!=1){break}else{let t=i.childNodes[r-1];if(Pl(t,-1)){n=i;s=--r}else if(t.nodeType==3){i=t;r=i.nodeValue.length}else break}}else if(Ul(i)){break}else{let e=i.previousSibling;while(e&&Pl(e,-1)){n=i.parentNode;s=_n(e);e=e.previousSibling}if(!e){i=i.parentNode;if(i==t.dom)break;r=0}else{i=e;r=Il(i)}}}if(l)Kl(t,i,r);else if(n)Kl(t,n,s)}function Wl(t){let e=t.domSelectionRange();let i=e.focusNode,r=e.focusOffset;if(!i)return;let n=Il(i);let s,l;for(;;){if(r<n){if(i.nodeType!=1)break;let t=i.childNodes[r];if(Pl(t,1)){s=i;l=++r}else break}else if(Ul(i)){break}else{let e=i.nextSibling;while(e&&Pl(e,1)){s=e.parentNode;l=_n(e)+1;e=e.nextSibling}if(!e){i=i.parentNode;if(i==t.dom)break;r=n=0}else{i=e;r=0;n=Il(i)}}}if(s)Kl(t,s,l)}function Ul(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function Hl(t,e){while(t&&e==t.childNodes.length&&!Wn(t)){e=_n(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 Zl(t,e){while(t&&!e&&!Wn(t)){e=_n(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 Kl(t,e,i){if(e.nodeType!=3){let t,r;if(r=Hl(e,i)){e=r;i=0}else if(t=Zl(e,i)){e=t;i=t.nodeValue.length}}let r=t.domSelection();if(!r)return;if(Un(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)xl(t)}),50)}function Vl(t,e){let i=t.state.doc.resolve(e);if(!(ss||as)&&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 Gl(t,e,i){let r=t.state.selection;if(r instanceof hn&&!r.empty||i.indexOf("s")>-1)return false;if(hs&&i.indexOf("m")>-1)return false;let{$from:n,$to:s}=r;if(!n.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let i=Nl(t.state,e);if(i&&i instanceof cn)return ql(t,i)}if(!n.parent.inlineContent){let i=e<0?n:s;let l=r instanceof pn?ln.near(i,e):ln.findFrom(i,e);return l?ql(t,l):false}return false}function Xl(t,e){if(!(t.state.selection instanceof hn))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 Yl(t,e,i){t.domObserver.stop();e.contentEditable=i;t.domObserver.start()}function Ql(t){if(!us||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;Yl(t,i,"true");setTimeout((()=>Yl(t,i,"false")),20)}return false}function to(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 eo(t,e){let i=e.keyCode,r=to(e);if(i==8||hs&&i==72&&r=="c"){return Xl(t,-1)||Jl(t,-1)}else if(i==46&&!e.shiftKey||hs&&i==68&&r=="c"){return Xl(t,1)||Jl(t,1)}else if(i==13||i==27){return true}else if(i==37||hs&&i==66&&r=="c"){let e=i==37?Vl(t,t.state.selection.from)=="ltr"?-1:1:-1;return Tl(t,e,r)||Jl(t,e)}else if(i==39||hs&&i==70&&r=="c"){let e=i==39?Vl(t,t.state.selection.from)=="ltr"?1:-1:1;return Tl(t,e,r)||Jl(t,e)}else if(i==38||hs&&i==80&&r=="c"){return Gl(t,-1,r)||Jl(t,-1)}else if(i==40||hs&&i==78&&r=="c"){return Ql(t)||Gl(t,1,r)||Jl(t,1)}else if(r==(hs?"m":"c")&&(i==66||i==73||i==89||i==90)){return true}return false}function io(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")||qi.fromSchema(t.state.schema);let o=po(),u=o.createElement("div");u.appendChild(l.serializeFragment(r,{document:o}));let f=u.firstChild,h,a=0;while(f&&f.nodeType==1&&(h=ao[f.nodeName.toLowerCase()])){for(let t=h.length-1;t>=0;t--){let e=o.createElement(h[t]);while(u.firstChild)e.appendChild(u.firstChild);u.appendChild(e);a++}f=u.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:u,text:c,slice:e}}function ro(t,e,i,r,n){let s=n.parent.type.spec.code;let l,o;if(!i&&!e)return null;let u=e&&(r||s||!i);if(u){t.someProp("transformPastedText",(i=>{e=i(e,s||r,t)}));if(s)return e?new Se(xe.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):Se.empty;let i=t.someProp("clipboardTextParser",(i=>i(e,n,r,t)));if(i){o=i}else{let i=n.marks();let{schema:r}=t.state,s=qi.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=go(i);if(ds)bo(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(!o){let e=t.someProp("clipboardParser")||t.someProp("domParser")||xi.fromSchema(t.state.schema);o=e.parseSlice(l,{preserveWhitespace:!!(u||h),context:n,ruleFromNode(t){if(t.nodeName=="BR"&&!t.nextSibling&&t.parentNode&&!no.test(t.parentNode.nodeName))return{ignore:true};return null}})}if(h){o=ko(ho(o,+h[1],+h[2]),h[4])}else{o=Se.maxOpen(so(o.content,n),true);if(o.openStart||o.openEnd){let t=0,e=0;for(let e=o.content.firstChild;t<o.openStart&&!e.type.spec.isolating;t++,e=e.firstChild){}for(let t=o.content.lastChild;e<o.openEnd&&!t.type.spec.isolating;e++,t=t.lastChild){}o=ho(o,t,e)}}t.someProp("transformPasted",(e=>{o=e(o,t)}));return o}const no=/^(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 so(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&&oo(e,s,t,l[l.length-1],0)){l[l.length-1]=i}else{if(l.length)l[l.length-1]=uo(l[l.length-1],s.length);let i=lo(t,e);l.push(i);n=n.matchType(i.type);s=e}}));if(l)return xe.from(l)}return t}function lo(t,e,i=0){for(let r=e.length-1;r>=i;r--)t=e[r].create(null,xe.from(t));return t}function oo(t,e,i,r,n){if(n<t.length&&n<e.length&&t[n]==e[n]){let s=oo(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(xe.from(lo(i,t,n+1))))}}function uo(t,e){if(e==0)return t;let i=t.content.replaceChild(t.childCount-1,uo(t.lastChild,e-1));let r=t.contentMatchAt(t.childCount).fillBefore(xe.empty,true);return t.copy(i.append(r))}function fo(t,e,i,r,n,s){let l=e<0?t.firstChild:t.lastChild,o=l.content;if(t.childCount>1)s=0;if(n<r-1)o=fo(o,e,i,r,n+1,s);if(n>=i)o=e<0?l.contentMatchAt(0).fillBefore(o,s<=n).append(o):o.append(l.contentMatchAt(l.childCount).fillBefore(xe.empty,true));return t.replaceChild(e<0?0:t.childCount-1,l.copy(o))}function ho(t,e,i){if(e<t.openStart)t=new Se(fo(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd);if(i<t.openEnd)t=new Se(fo(t.content,1,i,t.openEnd,0,0),t.openStart,i);return t}const ao={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 co=null;function po(){return co||(co=document.implementation.createHTMLDocument("title"))}let mo=null;function wo(t){let e=window.trustedTypes;if(!e)return t;if(!mo)mo=e.createPolicy("ProseMirrorClipboard",{createHTML:t=>t});return mo.createHTML(t)}function go(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);if(e)t=t.slice(e[0].length);let i=po().createElement("div");let r=/<([a-z][^>\s]+)/i.exec(t),n;if(n=r&&ao[r[1].toLowerCase()])t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"</"+t+">")).reverse().join("");i.innerHTML=wo(t);if(n)for(let t=0;t<n.length;t++)i=i.querySelector(n[t])||i;return i}function bo(t){let e=t.querySelectorAll(ss?"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 ko(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=xe.from(e.create(r[t+1],n));s++;l++}return new Se(n,s,l)}const vo={};const Do={};const yo={touchstart:true,touchmove:true};class Fo{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.lastChromeDelete=0;this.composing=false;this.compositionNode=null;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 xo(t){for(let e in vo){let i=vo[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=e=>{if(Oo(t,e)&&!Co(t,e)&&(t.editable||!(e.type in Do)))i(t,e)},yo[e]?{passive:true}:undefined)}if(us)t.dom.addEventListener("input",(()=>null));Ao(t)}function Eo(t,e){t.input.lastSelectionOrigin=e;t.input.lastSelectionTime=Date.now()}function Mo(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 Ao(t){t.someProp("handleDOMEvents",(e=>{for(let i in e)if(!t.input.eventHandlers[i])t.dom.addEventListener(i,t.input.eventHandlers[i]=e=>Co(t,e))}))}function Co(t,e){return t.someProp("handleDOMEvents",(i=>{let r=i[e.type];return r?r(t,e)||e.defaultPrevented:false}))}function Oo(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 So(t,e){if(!Co(t,e)&&vo[e.type]&&(t.editable||!(e.type in Do)))vo[e.type](t,e)}Do.keydown=(t,e)=>{let i=e;t.input.shiftKey=i.keyCode==16||i.shiftKey;if(Wo(t,i))return;t.input.lastKeyCode=i.keyCode;t.input.lastKeyCodeTime=Date.now();if(cs&&ss&&i.keyCode==13)return;if(i.keyCode!=229)t.domObserver.forceFlush();if(fs&&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,Hn(13,"Enter"))));t.input.lastIOSEnter=0}}),200)}else if(t.someProp("handleKeyDown",(e=>e(t,i)))||eo(t,i)){i.preventDefault()}else{Eo(t,"key")}};Do.keyup=(t,e)=>{if(e.keyCode==16)t.input.shiftKey=false};Do.keypress=(t,e)=>{let i=e;if(Wo(t,i)||!i.charCode||i.ctrlKey&&!i.altKey||hs&&i.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,i)))){i.preventDefault();return}let r=t.state.selection;if(!(r instanceof hn)||!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 $o(t){return{left:t.clientX,top:t.clientY}}function _o(t,e){let i=e.x-t.clientX,r=e.y-t.clientY;return i*i+r*r<100}function zo(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 Bo(t,e,i){if(!t.focused)t.focus();if(t.state.selection.eq(e))return;let r=t.state.tr.setSelection(e);if(i=="pointer")r.setMeta("pointer",true);t.dispatch(r)}function jo(t,e){if(e==-1)return false;let i=t.state.doc.resolve(e),r=i.nodeAfter;if(r&&r.isAtom&&cn.isSelectable(r)){Bo(t,new cn(i),"pointer");return true}return false}function Ro(t,e){if(e==-1)return false;let i=t.state.selection,r,n;if(i instanceof cn)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(cn.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){Bo(t,cn.create(t.state.doc,n),"pointer");return true}else{return false}}function No(t,e,i,r,n){return zo(t,"handleClickOn",e,i,r)||t.someProp("handleClick",(i=>i(t,e,r)))||(n?Ro(t,i):jo(t,i))}function qo(t,e,i,r){return zo(t,"handleDoubleClickOn",e,i,r)||t.someProp("handleDoubleClick",(i=>i(t,e,r)))}function To(t,e,i,r){return zo(t,"handleTripleClickOn",e,i,r)||t.someProp("handleTripleClick",(i=>i(t,e,r)))||Io(t,i,r)}function Io(t,e,i){if(i.button!=0)return false;let r=t.state.doc;if(e==-1){if(r.inlineContent){Bo(t,hn.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)Bo(t,hn.create(r,s+1,s+1+i.content.size),"pointer");else if(cn.isSelectable(i))Bo(t,cn.create(r,s),"pointer");else continue;return true}}function Po(t){return Go(t)}const Jo=hs?"metaKey":"ctrlKey";vo.mousedown=(t,e)=>{let i=e;t.input.shiftKey=i.shiftKey;let r=Po(t);let n=Date.now(),s="singleClick";if(n-t.input.lastClick.time<500&&_o(i,t.input.lastClick)&&!i[Jo]){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($o(i));if(!l)return;if(s=="singleClick"){if(t.input.mouseDown)t.input.mouseDown.done();t.input.mouseDown=new Lo(t,l,i,!!r)}else if((s=="doubleClick"?qo:To)(t,l.pos,l.inside,i)){i.preventDefault()}else{Eo(t,"pointer")}};class Lo{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[Jo];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 o=l?t.docView.nearestDesc(l,true):null;this.target=o&&o.dom.nodeType==1?o.dom:null;let{selection:u}=t.state;if(i.button==0&&n.type.spec.draggable&&n.type.spec.selectable!==false||u instanceof cn&&u.from<=s&&u.to>s)this.mightDrag={node:n,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&rs&&!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));Eo(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((()=>xl(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($o(t));this.updateAllowDefault(t);if(this.allowDefault||!e){Eo(this.view,"pointer")}else if(No(this.view,e.pos,e.inside,t,this.selectNode)){t.preventDefault()}else if(t.button==0&&(this.flushed||us&&this.mightDrag&&!this.mightDrag.node.isAtom||ss&&!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)){Bo(this.view,ln.near(this.view.state.doc.resolve(e.pos)),"pointer");t.preventDefault()}else{Eo(this.view,"pointer")}}move(t){this.updateAllowDefault(t);Eo(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}}vo.touchstart=t=>{t.input.lastTouch=Date.now();Po(t);Eo(t,"pointer")};vo.touchmove=t=>{t.input.lastTouch=Date.now();Eo(t,"pointer")};vo.contextmenu=t=>Po(t);function Wo(t,e){if(t.composing)return true;if(us&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500){t.input.compositionEndedAt=-2e8;return true}return false}const Uo=cs?5e3:-1;Do.compositionstart=Do.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,i=e.selection.$to;if(e.selection instanceof hn&&(e.storedMarks||!i.textOffset&&i.parentOffset&&i.nodeBefore.marks.some((t=>t.type.spec.inclusive===false)))){t.markCursor=t.state.storedMarks||i.marks();Go(t,true);t.markCursor=null}else{Go(t,!e.selection.empty);if(rs&&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){let i=t.domSelection();if(i)i.collapse(e,e.nodeValue.length);break}else{i=e;r=-1}}}}t.input.composing=true}Ho(t,Uo)};Do.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;t.input.compositionNode=null;if(t.input.compositionPendingChanges)Promise.resolve().then((()=>t.domObserver.flush()));t.input.compositionID++;Ho(t,20)}};function Ho(t,e){clearTimeout(t.input.composingTimeout);if(e>-1)t.input.composingTimeout=setTimeout((()=>Go(t)),e)}function Zo(t){if(t.composing){t.input.composing=false;t.input.compositionEndedAt=Vo()}while(t.input.compositionNodes.length>0)t.input.compositionNodes.pop().markParentsDirty()}function Ko(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let i=Pn(e.focusNode,e.focusOffset);let r=Jn(e.focusNode,e.focusOffset);if(i&&r&&i!=r){let e=r.pmViewDesc,n=t.domObserver.lastChangedTextNode;if(i==n||r==n)return n;if(!e||!e.isText(r.nodeValue)){return r}else if(t.input.compositionNode==r){let t=i.pmViewDesc;if(!(!t||!t.isText(i.nodeValue)))return r}}return i||r}function Vo(){let t=document.createEvent("Event");t.initEvent("event",true,true);return t.timeStamp}function Go(t,e=false){if(cs&&t.domObserver.flushingSoon>=0)return;t.domObserver.forceFlush();Zo(t);if(e||t.docView&&t.docView.dirty){let i=yl(t);if(i&&!i.eq(t.state.selection))t.dispatch(t.state.tr.setSelection(i));else if((t.markCursor||e)&&!t.state.selection.empty)t.dispatch(t.state.tr.deleteSelection());else t.updateState(t.state);return true}return false}function Xo(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 Yo=es&&is<15||fs&&ps<604;vo.copy=Do.cut=(t,e)=>{let i=e;let r=t.state.selection,n=i.type=="cut";if(r.empty)return;let s=Yo?null:i.clipboardData;let l=r.content(),{dom:o,text:u}=io(t,l);if(s){i.preventDefault();s.clearData();s.setData("text/html",o.innerHTML);s.setData("text/plain",u)}else{Xo(t,o)}if(n)t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function Qo(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function tu(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)eu(t,r.value,null,n,e);else eu(t,r.textContent,r.innerHTML,n,e)}),50)}function eu(t,e,i,r,n){let s=ro(t,e,i,r,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,n,s||Se.empty))))return true;if(!s)return false;let l=Qo(s);let o=l?t.state.tr.replaceSelectionWith(l,r):t.state.tr.replaceSelection(s);t.dispatch(o.scrollIntoView().setMeta("paste",true).setMeta("uiEvent","paste"));return true}function iu(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," "):""}Do.paste=(t,e)=>{let i=e;if(t.composing&&!cs)return;let r=Yo?null:i.clipboardData;let n=t.input.shiftKey&&t.input.lastKeyCode!=45;if(r&&eu(t,iu(r),r.getData("text/html"),n,i))i.preventDefault();else tu(t,i)};class ru{constructor(t,e,i){this.slice=t;this.move=e;this.node=i}}const nu=hs?"altKey":"ctrlKey";vo.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($o(i));let l;if(s&&s.pos>=n.from&&s.pos<=(n instanceof cn?n.to-1:n.to));else if(r&&r.mightDrag){l=cn.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=cn.create(t.state.doc,e.posBefore)}let o=(l||t.state.selection).content();let{dom:u,text:f,slice:h}=io(t,o);if(!i.dataTransfer.files.length||!ss||ls>120)i.dataTransfer.clearData();i.dataTransfer.setData(Yo?"Text":"text/html",u.innerHTML);i.dataTransfer.effectAllowed="copyMove";if(!Yo)i.dataTransfer.setData("text/plain",f);t.dragging=new ru(h,!i[nu],l)};vo.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{if(t.dragging==e)t.dragging=null}),50)};Do.dragover=Do.dragenter=(t,e)=>e.preventDefault();Do.drop=(t,e)=>{let i=e;let r=t.dragging;t.dragging=null;if(!i.dataTransfer)return;let n=t.posAtCoords($o(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=ro(t,iu(i.dataTransfer),Yo?null:i.dataTransfer.getData("text/html"),false,s)}let o=!!(r&&!i[nu]);if(t.someProp("handleDrop",(e=>e(t,i,l||Se.empty,o)))){i.preventDefault();return}if(!l)return;i.preventDefault();let u=l?qr(t.state.doc,s.pos,l):s.pos;if(u==null)u=s.pos;let f=t.state.tr;if(o){let{node:t}=r;if(t)t.replace(f);else f.deleteSelection()}let h=f.mapping.map(u);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&&cn.isSelectable(l.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(l.content.firstChild)){f.setSelection(new cn(d))}else{let e=f.mapping.map(u);f.mapping.maps[f.mapping.maps.length-1].forEach(((t,i,r,n)=>e=n));f.setSelection(zl(t,d,f.doc.resolve(e)))}t.focus();t.dispatch(f.setMeta("uiEvent","drop"))};vo.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()))xl(t)}),20)}};vo.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}};vo.beforeinput=(t,e)=>{let i=e;if(ss&&cs&&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,Hn(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 Do)vo[t]=Do[t];function su(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 lu{constructor(t,e){this.toDOM=t;this.spec=e||au;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 fu(n-i,n-i,this)}valid(){return true}eq(t){return this==t||t instanceof lu&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&su(this.spec,t.spec))}destroy(t){if(this.spec.destroy)this.spec.destroy(t)}}class ou{constructor(t,e){this.attrs=t;this.spec=e||au}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 fu(n,s,this)}valid(t,e){return e.from<e.to}eq(t){return this==t||t instanceof ou&&su(this.attrs,t.attrs)&&su(this.spec,t.spec)}static is(t){return t.type instanceof ou}destroy(){}}class uu{constructor(t,e){this.attrs=t;this.spec=e||au}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 fu(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 uu&&su(this.attrs,t.attrs)&&su(this.spec,t.spec)}destroy(){}}class fu{constructor(t,e,i){this.from=t;this.to=e;this.type=i}copy(t,e){return new fu(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 fu(t,t,new lu(e,i))}static inline(t,e,i,r){return new fu(t,e,new ou(i,r))}static node(t,e,i,r){return new fu(t,e,new uu(i,r))}get spec(){return this.type.spec}get inline(){return this.type instanceof ou}get widget(){return this.type instanceof lu}}const hu=[],au={};class cu{constructor(t,e){this.local=t.length?t:hu;this.children=e.length?e:hu}static create(t,e){return e.length?vu(e,t,0,au):du}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==du||t.maps.length==0)return this;return this.mapInner(t,e,0,0,i||au)}mapInner(t,e,i,r,n){let s;for(let l=0;l<this.local.length;l++){let o=this.local[l].map(t,i,r);if(o&&o.type.valid(e,o))(s||(s=[])).push(o);else if(n.onRemove)n.onRemove(this.local[l].spec)}if(this.children.length)return mu(this.children,s||[],t,e,i,r,n);else return s?new cu(s.sort(Du),hu):du}add(t,e){if(!e.length)return this;if(this==du)return cu.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,o;if(!(o=bu(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,o,l+1);else r.splice(n,0,s,s+t.nodeSize,vu(o,t,l+1,au));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 cu(s.length?this.local.concat(s).sort(Du):this.local,r||this.children)}remove(t){if(t.length==0||this==du)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 o=i[r+2].removeInner(n,s+1);if(o!=du){i[r+2]=o}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 cu(r,i):du}forChild(t,e){if(this==du)return this;if(e.isLeaf)return cu.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 ou){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 cu(r.sort(Du),hu);return i?new pu([t,i]):t}return i||du}eq(t){if(this==t)return true;if(!(t instanceof cu)||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 yu(this.localsInner(t))}localsInner(t){if(this==du)return hu;if(t.inlineContent||!this.local.some(ou.is))return this.local;let e=[];for(let t=0;t<this.local.length;t++){if(!(this.local[t].type instanceof ou))e.push(this.local[t])}return e}forEachSet(t){t(this)}}cu.empty=new cu([],[]);cu.removeOverlap=yu;const du=cu.empty;class pu{constructor(t){this.members=t}map(t,e){const i=this.members.map((i=>i.map(t,e,au)));return pu.from(i)}forChild(t,e){if(e.isLeaf)return cu.empty;let i=[];for(let r=0;r<this.members.length;r++){let n=this.members[r].forChild(t,e);if(n==du)continue;if(n instanceof pu)i=i.concat(n.members);else i.push(n)}return pu.from(i)}eq(t){if(!(t instanceof pu)||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?yu(i?e:e.sort(Du)):hu}static from(t){switch(t.length){case 0:return du;case 1:return t[0];default:return new pu(t.every((t=>t instanceof cu))?t:t.reduce(((t,e)=>t.concat(e instanceof cu?e:e.members)),[]))}}forEachSet(t){for(let e=0;e<this.members.length;e++)this.members[e].forEachSet(t)}}function mu(t,e,i,r,n,s,l){let o=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<o.length;n+=3){let s=o[n+1];if(s<0||t>s+e-r)continue;let u=o[n]+e-r;if(i>=u){o[n+1]=t<=u?-2:-1}else if(t>=e&&l){o[n]+=l;o[n+1]+=l}}r+=l}));e=i.maps[t].map(e,-1)}let u=false;for(let e=0;e<o.length;e+=3)if(o[e+1]<0){if(o[e+1]==-2){u=true;o[e+1]=-1;continue}let f=i.map(t[e]+s),h=f-n;if(h<0||h>=r.content.size){u=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=o[e+2].mapInner(i,m,f+1,t[e]+s+1,l);if(r!=du){o[e]=h;o[e+1]=c;o[e+2]=r}else{o[e+1]=-2;u=true}}else{u=true}}if(u){let u=gu(o,t,e,i,n,s,l);let f=vu(u,r,0,l);e=f.local;for(let t=0;t<o.length;t+=3)if(o[t+1]<0){o.splice(t,3);t-=3}for(let t=0,e=0;t<f.children.length;t+=3){let i=f.children[t];while(e<o.length&&o[e]<i)e+=3;o.splice(e,0,f.children[t],f.children[t+1],f.children[t+2])}}return new cu(e.sort(Du),o)}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 fu(n.from+e,n.to+e,n.type))}return i}function gu(t,e,i,r,n,s,l){function o(t,e){for(let s=0;s<t.local.length;s++){let o=t.local[s].map(r,n,e);if(o)i.push(o);else if(l.onRemove)l.onRemove(t.local[s].spec)}for(let i=0;i<t.children.length;i+=3)o(t.children[i+2],t.children[i]+e+1)}for(let i=0;i<t.length;i+=3)if(t[i+1]==-1)o(t[i+2],e[i]+s+1);return i}function bu(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 o=bu(t,e,l+i);if(o){s=true;let t=vu(o,e,i+l+1,r);if(t!=du)n.push(l,l+e.nodeSize,t)}}));let l=wu(s?ku(t):t,-i).sort(Du);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 cu(l,n):du}function Du(t,e){return t.from-e.from||t.to-e.to}function yu(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);Fu(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);Fu(e,n,r.copy(s.from,r.to))}break}}}return e}function Fu(t,e,i){while(e<t.length&&Du(i,t[e])>0)e++;t.splice(e,0,i)}function xu(t){let e=[];t.someProp("decorations",(i=>{let r=i(t.state);if(r&&r!=du)e.push(r)}));if(t.cursorWrapper)e.push(cu.create(t.state.doc,[t.cursorWrapper.deco]));return pu.from(e)}const Eu={childList:true,characterData:true,characterDataOldValue:true,attributes:true,attributeOldValue:true,subtree:true};const Mu=es&&is<=11;class Au{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 Cu{constructor(t,e){this.view=t;this.handleDOMChange=e;this.queue=[];this.flushingSoon=-1;this.observer=null;this.currentSelection=new Au;this.onCharData=null;this.suppressingSelectionUpdates=false;this.lastChangedTextNode=null;this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e<t.length;e++)this.queue.push(t[e]);if(es&&is<=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(Mu){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,Eu)}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(!Bl(this.view))return;if(this.suppressingSelectionUpdates)return xl(this.view);if(es&&is<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&Nn(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=zn(i))e.add(i);for(let r=t.anchorNode;r;r=zn(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)&&Bl(t)&&!this.ignoreSelectionChange(i);let n=-1,s=-1,l=false,o=[];if(t.editable){for(let t=0;t<e.length;t++){let i=this.registerMutation(e[t],o);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(rs&&o.length){let e=o.filter((t=>t.nodeName=="BR"));if(e.length==2){let[t,i]=e;if(t.parentNode&&t.parentNode.parentNode==i.parentNode)i.remove();else t.remove()}else{let{focusNode:i}=this.currentSelection;for(let r of e){let e=r.parentNode;if(e&&e.nodeName=="LI"&&(!i||Bu(t,i)!=e))r.remove()}}}let u=null;if(n<0&&r&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)<Date.now()-300&&Un(i)&&(u=yl(t))&&u.eq(ln.near(t.state.doc.resolve(0),1))){t.input.lastFocus=0;xl(t);this.currentSelection.set(i);t.scrollToSelection()}else if(n>-1||r){if(n>-1){t.docView.markDirty(n,s);$u(t)}this.handleDOMChange(n,s,l,o);if(t.docView&&t.docView.dirty)t.updateState(t.state);else if(!this.currentSelection.eq(i))xl(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++){let r=t.addedNodes[i];e.push(r);if(r.nodeType==3)this.lastChangedTextNode=r}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(es&&is<=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?_n(r)+1:0;let l=i.localPosFromDOM(t.target,s,-1);let o=n&&n.parentNode==t.target?_n(n):t.target.childNodes.length;let u=i.localPosFromDOM(t.target,o,1);return{from:l,to:u}}else if(t.type=="attributes"){return{from:i.posAtStart-i.border,to:i.posAtEnd+i.border}}else{this.lastChangedTextNode=t.target;return{from:i.posAtStart,to:i.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}}}}let Ou=new WeakMap;let Su=false;function $u(t){if(Ou.has(t))return;Ou.set(t,null);if(["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1){t.requiresGeckoHackNode=rs;if(Su)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.");Su=true}}function _u(t,e){let i=e.startContainer,r=e.startOffset;let n=e.endContainer,s=e.endOffset;let l=t.domAtPos(t.state.selection.anchor);if(Nn(l.node,l.offset,n,s))[i,r,n,s]=[n,s,i,r];return{anchorNode:i,anchorOffset:r,focusNode:n,focusOffset:s}}function zu(t,e){if(e.getComposedRanges){let i=e.getComposedRanges(t.root)[0];if(i)return _u(t,i)}let i;function r(t){t.preventDefault();t.stopImmediatePropagation();i=t.getTargetRanges()[0]}t.dom.addEventListener("beforeinput",r,true);document.execCommand("indent");t.dom.removeEventListener("beforeinput",r,true);return i?_u(t,i):null}function Bu(t,e){for(let i=e.parentNode;i&&i!=t.dom;i=i.parentNode){let e=t.docView.nearestDesc(i,true);if(e&&e.node.isBlock)return i}return null}function ju(t,e,i){let{node:r,fromOffset:n,toOffset:s,from:l,to:o}=t.docView.parseRange(e,i);let u=t.domSelectionRange();let f;let h=u.anchorNode;if(h&&t.dom.contains(h.nodeType==1?h:h.parentNode)){f=[{node:h,offset:u.anchorOffset}];if(!Un(u))f.push({node:u.focusNode,offset:u.focusOffset})}if(ss&&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")||xi.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:Ru,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:o}}function Ru(t){let e=t.pmViewDesc;if(e){return e.parseRule()}else if(t.nodeName=="BR"&&t.parentNode){if(us&&/^(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||us&&/^(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 Nu=/^(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 qu(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=yl(t,e);if(i&&!t.state.selection.eq(i)){if(ss&&cs&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",(e=>e(t,Hn(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 o=l.sharedDepth(i);e=l.before(o+1);i=t.state.doc.resolve(i).after(o+1);let u=t.state.selection;let f=ju(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=Lu(a.content,f.doc.content,f.from,c,d);if(p)t.input.domChangeCount++;if((fs&&t.input.lastIOSEnter>Date.now()-225||cs)&&n.some((t=>t.nodeType==1&&!Nu.test(t.nodeName)))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",(e=>e(t,Hn(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(!p){if(r&&u instanceof hn&&!u.empty&&u.$head.sameParent(u.$anchor)&&!t.composing&&!(f.sel&&f.sel.anchor!=f.sel.head)){p={start:u.from,endA:u.to,endB:u.to}}else{if(f.sel){let e=Tu(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(t.state.selection.from<t.state.selection.to&&p.start==p.endB&&t.state.selection instanceof hn){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(es&&is<=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((fs&&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=ln.findFrom(f.doc.resolve(m.pos+1),1,true))&&k.head==w.pos)&&t.someProp("handleKeyDown",(e=>e(t,Hn(13,"Enter"))))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&Pu(h,p.start,p.endA,m,w)&&t.someProp("handleKeyDown",(e=>e(t,Hn(8,"Backspace"))))){if(cs&&ss)t.domObserver.suppressSelectionUpdates();return}if(ss&&p.endB==p.start)t.input.lastChromeDelete=Date.now();if(cs&&!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,Hn(13,"Enter"))}))}),20)}let v=p.start,D=p.endA;let y,F,x;if(b){if(m.pos==w.pos){if(es&&is<=11&&m.parentOffset==0){t.domObserver.suppressSelectionUpdates();setTimeout((()=>xl(t)),20)}y=t.state.tr.delete(v,D);F=h.resolve(p.start).marksAcross(h.resolve(p.endA))}else if(p.endA==p.endB&&(x=Iu(m.parent.content.cut(m.parentOffset,w.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){y=t.state.tr;if(x.type=="add")y.addMark(v,D,x.mark);else y.removeMark(v,D,x.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,v,D,e))))return;y=t.state.tr.insertText(e,v,D)}}if(!y)y=t.state.tr.replace(v,D,f.doc.slice(p.start-f.from,p.endB-f.from));if(f.sel){let e=Tu(t,y.doc,f.sel);if(e&&!(ss&&t.composing&&e.empty&&(p.start!=p.endB||t.input.lastChromeDelete<Date.now()-100)&&(e.head==v||e.head==y.mapping.map(D)-1)||es&&e.empty&&e.head==v))y.setSelection(e)}if(F)y.ensureMarks(F);if(s)y.setMeta("composition",s);t.dispatch(y.scrollIntoView())}function Tu(t,e,i){if(Math.max(i.anchor,i.head)>e.content.size)return null;return zl(t,e.resolve(i.anchor),e.resolve(i.head))}function Iu(t,e){let i=t.firstChild.marks,r=e.firstChild.marks;let n=i,s=r,l,o,u;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){o=n[0];l="add";u=t=>t.mark(o.addToSet(t.marks))}else if(n.length==0&&s.length==1){o=s[0];l="remove";u=t=>t.mark(o.removeFromSet(t.marks))}else{return null}let f=[];for(let t=0;t<e.childCount;t++)f.push(u(e.child(t)));if(xe.from(f).eq(t))return{mark:o,type:l}}function Pu(t,e,i,r,n){if(i-e<=n.pos-r.pos||Ju(r,true,false)<n.pos)return false;let s=t.resolve(e);if(!r.parent.isTextblock){let t=s.nodeAfter;return t!=null&&i==e+t.nodeSize}if(s.parentOffset<s.parent.content.size||!s.parent.isTextblock)return false;let l=t.resolve(Ju(s,true,true));if(!l.parent.isTextblock||l.pos>i||Ju(l,true,false)<i)return false;return r.parent.content.cut(r.parentOffset).eq(l.parent.content)}function Ju(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 Lu(t,e,i,r,n){let s=t.findDiffStart(e,i);if(s==null)return null;let{a:l,b:o}=t.findDiffEnd(e,i+t.size,i+e.size);if(n=="end"){let t=Math.max(0,s-Math.min(l,o));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&&Wu(e.textBetween(s-1,s+1)))s+=t?1:-1;o=s+(o-l);l=s}else if(o<s){let e=r<=s&&r>=o?s-r:0;s-=e;if(s&&s<t.size&&Wu(t.textBetween(s-1,s+1)))s+=e?1:-1;l=s+(l-o);o=s}return{start:s,endA:l,endB:o}}function Wu(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 Uu{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 Fo;this.prevDirectPlugins=[];this.pluginViews=[];this.requiresGeckoHackNode=false;this.dragging=null;this._props=e;this.state=e.state;this.directPlugins=e.plugins||[];this.directPlugins.forEach(Yu);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=Ku(this);Zu(this);this.nodeViews=Gu(this);this.docView=il(this.state.doc,Hu(this),xu(this),this.dom,this);this.domObserver=new Cu(this,((t,e,i,r)=>qu(this,t,e,i,r)));this.domObserver.start();xo(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)Ao(this);let e=this._props;this._props=t;if(t.plugins){t.plugins.forEach(Yu);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){Zo(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=Gu(this);if(Xu(t,this.nodeViews)){this.nodeViews=t;n=true}}if(l||e.handleDOMEvents!=this._props.handleDOMEvents){Ao(this)}this.editable=Ku(this);Zu(this);let o=xu(this),u=Hu(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,u,o);if(h||!t.selection.eq(r.selection))s=true;let a=f=="preserve"&&s&&this.dom.style.overflowAnchor==null&&ks(this);if(s){this.domObserver.stop();let e=h&&(es||ss)&&!this.composing&&!r.selection.empty&&!t.selection.empty&&Vu(r.selection,t.selection);if(h){let i=ss?this.trackWrites=this.domSelectionRange().focusNode:null;if(this.composing)this.input.compositionNode=Ko(this);if(n||!this.docView.update(t.doc,u,o,this)){this.docView.updateOuterDeco(u);this.docView.destroy();this.docView=il(t.doc,u,o,this.dom,this)}if(i&&!this.trackWrites)e=true}if(e||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Rl(this))){xl(this,e)}else{$l(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){Ds(a)}}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(!t||!this.dom.contains(t.nodeType==1?t:t.parentNode));else if(this.someProp("handleScrollToSelection",(t=>t(this))));else if(this.state.selection instanceof cn){let e=this.docView.domAfterPos(this.state.selection.from);if(e.nodeType==1)bs(this,e.getBoundingClientRect(),t)}else{bs(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 ru(t.slice,t.move,r<0?undefined:cn.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(es){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)xs(this.dom);xl(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 _s(this,t)}coordsAtPos(t,e=1){return Rs(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 Hs(this,e||this.state,t)}pasteHTML(t,e){return eu(this,"",t,false,e||new ClipboardEvent("paste"))}pasteText(t,e){return eu(this,t,null,true,e||new ClipboardEvent("paste"))}destroy(){if(!this.docView)return;Mo(this);this.destroyPluginViews();if(this.mounted){this.docView.update(this.state.doc,[],xu(this),this);this.dom.textContent=""}else if(this.dom.parentNode){this.dom.parentNode.removeChild(this.dom)}this.docView.destroy();this.docView=null;Rn()}get isDestroyed(){return this.docView==null}dispatchEvent(t){return So(this,t)}dispatch(t){let e=this._props.dispatchTransaction;if(e)e.call(this,t);else this.updateState(this.state.apply(t))}domSelectionRange(){let t=this.domSelection();if(!t)return{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0};return us&&this.root.nodeType===11&&Zn(this.dom.ownerDocument)==this.dom&&zu(this,t)||t}domSelection(){return this.root.getSelection()}}function Hu(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[fu.node(0,t.state.doc.content.size,e)]}function Zu(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:fu.widget(t.state.selection.from,e,{raw:true,marks:t.markCursor})}}else{t.cursorWrapper=null}}function Ku(t){return!t.someProp("editable",(e=>e(t.state)===false))}function Vu(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 Gu(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 Xu(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 Yu(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 Qu=["p",0],tf=["blockquote",0],ef=["hr"],rf=["pre",["code",0]],nf=["br"];const sf={doc:{content:"block+"},paragraph:{content:"inline*",group:"block",parseDOM:[{tag:"p"}],toDOM(){return Qu}},blockquote:{content:"block+",group:"block",defining:true,parseDOM:[{tag:"blockquote"}],toDOM(){return tf}},horizontal_rule:{group:"block",parseDOM:[{tag:"hr"}],toDOM(){return ef}},heading:{attrs:{level:{default:1,validate:"number"}},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 rf}},text:{group:"inline"},image:{inline:true,attrs:{src:{validate:"string"},alt:{default:null,validate:"string|null"},title:{default:null,validate:"string|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 nf}}};const lf=["em",0],of=["strong",0],uf=["code",0];const ff={link:{attrs:{href:{validate:"string"},title:{default:null,validate:"string|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 lf}},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 of}},code:{code:true,parseDOM:[{tag:"code"}],toDOM(){return uf}}};const hf=new vi({nodes:sf,marks:ff});const af=["ol",0],cf=["ul",0],df=["li",0];const pf={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?af:["ol",{start:t.attrs.order},0]}};const mf={parseDOM:[{tag:"ul"}],toDOM(){return cf}};const wf={parseDOM:[{tag:"li"}],toDOM(){return df},defining:true};function gf(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 bf(t,e,i){return t.append({ordered_list:gf(pf,{content:"list_item+",group:i}),bullet_list:gf(mf,{content:"list_item+",group:i}),list_item:gf(wf,{content:e})})}function kf(t,e=null){return function(i,r){let{$from:n,$to:s}=i.selection;let l=n.blockRange(s),o=false,u=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);u=new Ze(t,t,l.depth);if(l.endIndex<l.parent.childCount)l=new Ze(n,i.doc.resolve(s.end(l.depth)),l.depth);o=true}let f=vr(u,t,e,l);if(!f)return false;if(r)r(vf(i.tr,l,f,o,t).scrollIntoView());return true}}function vf(t,e,i,r,n){let s=xe.empty;for(let t=i.length-1;t>=0;t--)s=xe.from(i[t].type.create(i[t].attrs,s));t.step(new cr(e.start-(r?2:0),e.end,e.start,e.end,new Se(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 o=i.length-l;let u=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&&Sr(t.doc,u,o)){t.split(u,o);u+=2*o}u+=f.child(i).nodeSize}return t}function Df(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 o=n.node(-1);if(o.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=xe.empty;let s=n.index(-1)?1:n.index(-2)?2:3;for(let t=n.depth-s;t>=n.depth-3;t--)e=xe.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(xe.from(t.createAndFill()));let o=n.before(n.depth-(s-1));let u=i.tr.replace(o,n.after(-l),new Se(e,4-s,0));let f=-1;u.doc.nodesBetween(o,u.doc.content.size,((t,e)=>{if(f>-1)return false;if(t.isTextblock&&t.content.size==0)f=e+1}));if(f>-1)u.setSelection(ln.near(u.doc.resolve(f)));r(u.scrollIntoView())}return true}let u=s.pos==n.end()?o.contentMatchAt(0).defaultType:null;let f=i.tr.delete(n.pos,s.pos);let h=u?[e?{type:t,attrs:e}:null,{type:u}]:undefined;if(!Sr(f.doc,n.pos,2,h))return false;if(r)r(f.split(n.pos,2,h).scrollIntoView());return true}}function yf(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 Ff(e,i,t,s);else return xf(e,i,s)}}function Ff(t,e,i,r){let n=t.tr,s=r.end,l=r.$to.end(r.depth);if(s<l){n.step(new cr(s-1,l,s,l,new Se(xe.from(i.create(null,r.parent.copy())),1,0),1,true));r=new Ze(n.doc.resolve(r.$from.pos),n.doc.resolve(l),r.depth)}const o=br(r);if(o==null)return false;n.lift(r,o);let u=n.mapping.map(s,-1)-1;if(_r(n.doc,u))n.join(u);e(n.scrollIntoView());return true}function xf(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 o=i.startIndex==0,u=i.endIndex==n.childCount;let f=s.node(-1),h=s.index(-1);if(!f.canReplace(h+(o?0:1),h+1,l.content.append(u?xe.empty:xe.from(n))))return false;let a=s.pos,c=a+l.nodeSize;r.step(new cr(a-(o?1:0),c+(u?1:0),a+1,c-1,new Se((o?xe.empty:xe.from(n.copy(xe.empty))).append(u?xe.empty:xe.from(n.copy(xe.empty))),o?0:1,u?0:1),o?0:1));e(r.scrollIntoView());return true}function Ef(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 o=s.parent,u=o.child(l-1);if(u.type!=t)return false;if(i){let r=u.lastChild&&u.lastChild.type==o.type;let n=xe.from(r?t.create():null);let l=new Se(xe.from(t.create(null,xe.from(o.type.create(null,n)))),r?3:1,0);let f=s.start,h=s.end;i(e.tr.step(new cr(f-(r?3:1),h,f,h,l,1,true)).scrollIntoView())}return true}}var Mf={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 Af={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 Cf=typeof navigator!="undefined"&&/Mac/.test(navigator.platform);var Of=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Sf=0;Sf<10;Sf++)Mf[48+Sf]=Mf[96+Sf]=String(Sf);for(var Sf=1;Sf<=24;Sf++)Mf[Sf+111]="F"+Sf;for(var Sf=65;Sf<=90;Sf++){Mf[Sf]=String.fromCharCode(Sf+32);Af[Sf]=String.fromCharCode(Sf)}for(var $f in Mf)if(!Af.hasOwnProperty($f))Af[$f]=Mf[$f];function _f(t){var e=Cf&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||Of&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified";var i=!e&&t.key||(t.shiftKey?Af:Mf)[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 zf=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function Bf(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(zf)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 jf(t){let e=Object.create(null);for(let i in t)e[Bf(i)]=t[i];return e}function Rf(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 Nf(t){return new Cn({props:{handleKeyDown:qf(t)}})}function qf(t){let e=jf(t);return function(t,i){let r=_f(i),n,s=e[Rf(r,i)];if(s&&s(t.state,t.dispatch,t))return true;if(r.length==1&&r!=" "){if(i.shiftKey){let n=e[Rf(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=Mf[i.keyCode])&&n!=r){let r=e[Rf(n,i)];if(r&&r(t.state,t.dispatch,t))return true}}return false}}var Tf=200;var If=function t(){};If.prototype.append=function t(e){if(!e.length){return this}e=If.from(e);return!this.length&&e||e.length<Tf&&this.leafAppend(e)||this.length<Tf&&e.leafPrepend(this)||this.appendInner(e)};If.prototype.prepend=function t(e){if(!e.length){return this}return If.from(e).append(this)};If.prototype.appendInner=function t(e){return new Jf(this,e)};If.prototype.slice=function t(e,i){if(e===void 0)e=0;if(i===void 0)i=this.length;if(e>=i){return If.empty}return this.sliceInner(Math.max(0,e),Math.min(this.length,i))};If.prototype.get=function t(e){if(e<0||e>=this.length){return undefined}return this.getInner(e)};If.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)}};If.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};If.from=function t(e){if(e instanceof If){return e}return e&&e.length?new Pf(e):If.empty};var Pf=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<=Tf){return new e(this.values.concat(i.flatten()))}};e.prototype.leafPrepend=function t(i){if(this.length+i.length<=Tf){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}(If);If.empty=new Pf([]);var Jf=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}(If);const Lf=500;class Wf{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,o;let u=[],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 Hf(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];u.push(new Hf(i,undefined,undefined,u.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;o=new Wf(this.items.slice(0,i).append(f.reverse().concat(u)),this.eventCount-1);return false}}),this.items.length,0);return{remaining:o,transform:s,selection:l}}addTransform(t,e,i,r){let n=[],s=this.eventCount;let l=this.items,o=!r&&l.length?l.get(l.length-1):null;for(let i=0;i<t.steps.length;i++){let u=t.steps[i].invert(t.docs[i]);let f=new Hf(t.mapping.maps[i],u,e),h;if(h=o&&o.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)o=f}let u=s-i.depth;if(u>Kf){l=Uf(l,u);s-=u}return new Wf(l.append(n),s)}remapping(t,e){let i=new ir;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 Wf(this.items.append(t.map((t=>new Hf(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 o=e;this.items.forEach((e=>{let r=n.getMirror(--o);if(r==null)return;s=Math.min(s,r);let u=n.maps[r];if(e.step){let s=t.steps[r].invert(t.docs[r]);let f=e.selection&&e.selection.map(n.slice(o+1,r));if(f)l++;i.push(new Hf(u,s,f))}else{i.push(new Hf(u))}}),r);let u=[];for(let t=e;t<s;t++)u.push(new Hf(n.maps[t]));let f=this.items.slice(0,r).append(u).append(i);let h=new Wf(f,l);if(h.emptyItemCount()>Lf)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 o=s.selection&&s.selection.map(e.slice(i));if(o)n++;let u=new Hf(l.invert(),t,o),f,h=r.length-1;if(f=r.length&&r[h].merge(u))r[h]=f;else r.push(u)}}else if(s.map){i--}}),this.items.length,0);return new Wf(If.from(r.reverse()),n)}}Wf.empty=new Wf(If.empty,0);function Uf(t,e){let i;t.forEach(((t,r)=>{if(t.selection&&e--==0){i=r;return false}}));return t.slice(i)}class Hf{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 Hf(e.getMap().invert(),e,this.selection)}}}class Zf{constructor(t,e,i,r,n){this.done=t;this.undone=e;this.prevRanges=i;this.prevTime=r;this.prevComposition=n}}const Kf=20;function Vf(t,e,i,r){let n=i.getMeta(rh),s;if(n)return n.historyState;if(i.getMeta(nh))t=new Zf(t.done,t.undone,null,0,-1);let l=i.getMeta("appendedTransaction");if(i.steps.length==0){return t}else if(l&&l.getMeta(rh)){if(l.getMeta(rh).redo)return new Zf(t.done.addTransform(i,undefined,r,ih(e)),t.undone,Xf(i.mapping.maps[i.steps.length-1]),t.prevTime,t.prevComposition);else return new Zf(t.done,t.undone.addTransform(i,undefined,r,ih(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||!Gf(i,t.prevRanges));let o=l?Yf(t.prevRanges,i.mapping):Xf(i.mapping.maps[i.steps.length-1]);return new Zf(t.done.addTransform(i,s?e.selection.getBookmark():undefined,r,ih(e)),Wf.empty,o,i.time,n==null?t.prevComposition:n)}else if(s=i.getMeta("rebased")){return new Zf(t.done.rebased(i,s),t.undone.rebased(i,s),Yf(t.prevRanges,i.mapping),t.prevTime,t.prevComposition)}else{return new Zf(t.done.addMaps(i.mapping.maps),t.undone.addMaps(i.mapping.maps),Yf(t.prevRanges,i.mapping),t.prevTime,t.prevComposition)}}function Gf(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 Yf(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 Qf(t,e,i,r){let n=ih(e);let s=rh.get(e).spec.config;let l=(r?t.undone:t.done).popEvent(e,n);if(!l)return;let o=l.selection.resolve(l.transform.doc);let u=(r?t.done:t.undone).addTransform(l.transform,e.selection.getBookmark(),s,n);let f=new Zf(r?u:l.remaining,r?l.remaining:u,null,0,-1);i(l.transform.setSelection(o).setMeta(rh,{redo:r,historyState:f}).scrollIntoView())}let th=false,eh=null;function ih(t){let e=t.plugins;if(eh!=e){th=false;eh=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){th=true;break}}return th}const rh=new $n("history");const nh=new $n("closeHistory");function sh(t={}){t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500};return new Cn({key:rh,state:{init(){return new Zf(Wf.empty,Wf.empty,null,0,-1)},apply(e,i,r){return Vf(i,r,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(t,e){let i=e.inputType;let r=i=="historyUndo"?lh:i=="historyRedo"?oh:null;if(!r)return false;e.preventDefault();return r(t.state,t.dispatch)}}}})}const lh=(t,e)=>{let i=rh.getState(t);if(!i||i.done.eventCount==0)return false;if(e)Qf(i,t,e,false);return true};const oh=(t,e)=>{let i=rh.getState(t);if(!i||i.undone.eventCount==0)return false;if(e)Qf(i,t,e,true);return true};const uh=(t,e)=>{if(t.selection.empty)return false;if(e)e(t.tr.deleteSelection().scrollIntoView());return true};function fh(t,e){let{$cursor:i}=t.selection;if(!i||(e?!e.endOfTextblock("backward",t):i.parentOffset>0))return null;return i}const hh=(t,e,i)=>{let r=fh(t,i);if(!r)return false;let n=dh(r);if(!n){let i=r.blockRange(),n=i&&br(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&&$h(t,n,e))return true;if(r.parent.content.size==0&&(ah(s,"end")||cn.isSelectable(s))){let i=Tr(t.doc,r.before(),r.after(),Se.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=t.tr.step(i);r.setSelection(ah(s,"end")?ln.findFrom(r.doc.resolve(r.mapping.map(n.pos,-1)),-1):cn.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 ah(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 ch=(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=dh(r)}let l=s&&s.nodeBefore;if(!l||!cn.isSelectable(l))return false;if(e)e(t.tr.setSelection(cn.create(t.doc,s.pos-l.nodeSize)).scrollIntoView());return true};function dh(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 ph(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 mh=(t,e,i)=>{let r=ph(t,i);if(!r)return false;let n=gh(r);if(!n)return false;let s=n.nodeAfter;if($h(t,n,e))return true;if(r.parent.content.size==0&&(ah(s,"start")||cn.isSelectable(s))){let i=Tr(t.doc,r.before(),r.after(),Se.empty);if(i&&i.slice.size<i.to-i.from){if(e){let r=t.tr.step(i);r.setSelection(ah(s,"start")?ln.findFrom(r.doc.resolve(r.mapping.map(n.pos)),1):cn.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 wh=(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=gh(r)}let l=s&&s.nodeAfter;if(!l||!cn.isSelectable(l))return false;if(e)e(t.tr.setSelection(cn.create(t.doc,s.pos)).scrollIntoView());return true};function gh(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 bh=(t,e)=>{let i=t.selection,r=i instanceof cn,n;if(r){if(i.node.isTextblock||!_r(t.doc,i.from))return false;n=i.from}else{n=jr(t.doc,i.from,-1);if(n==null)return false}if(e){let i=t.tr.join(n);if(r)i.setSelection(cn.create(i.doc,n-t.doc.resolve(n).nodeBefore.nodeSize));e(i.scrollIntoView())}return true};const kh=(t,e)=>{let i=t.selection,r;if(i instanceof cn){if(i.node.isTextblock||!_r(t.doc,i.to))return false;r=i.to}else{r=jr(t.doc,i.to,1);if(r==null)return false}if(e)e(t.tr.join(r).scrollIntoView());return true};const vh=(t,e)=>{let{$from:i,$to:r}=t.selection;let n=i.blockRange(r),s=n&&br(n);if(s==null)return false;if(e)e(t.tr.lift(n,s).scrollIntoView());return true};const Dh=(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 yh(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 Fh=(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=yh(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(ln.near(n.doc.resolve(r),1));e(n.scrollIntoView())}return true};const xh=(t,e)=>{let i=t.selection,{$from:r,$to:n}=i;if(i instanceof pn||r.parent.inlineContent||n.parent.inlineContent)return false;let s=yh(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(hn.create(l.doc,i+1));e(l.scrollIntoView())}return true};const Eh=(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(Sr(t.doc,r)){if(e)e(t.tr.split(r).scrollIntoView());return true}}let r=i.blockRange(),n=r&&br(r);if(n==null)return false;if(e)e(t.tr.lift(r,n).scrollIntoView());return true};function Mh(t){return(e,i)=>{let{$from:r,$to:n}=e.selection;if(e.selection instanceof cn&&e.selection.node.isBlock){if(!r.parentOffset||!Sr(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 hn||e.selection instanceof pn)l.deleteSelection();let o=r.depth==0?null:yh(r.node(-1).contentMatchAt(r.indexAfter(-1)));let u=t&&t(n.parent,s);let f=u?[u]:s&&o?[{type:o}]:undefined;let h=Sr(l.doc,l.mapping.map(r.pos),1,f);if(!f&&!h&&Sr(l.doc,l.mapping.map(r.pos),1,o?[{type:o}]:undefined)){if(o)f=[{type:o}];h=true}if(h){l.split(l.mapping.map(r.pos),1,f);if(!s&&!r.parentOffset&&r.parent.type!=o){let t=l.mapping.map(r.before()),e=l.doc.resolve(t);if(o&&r.node(-1).canReplaceWith(e.index(),e.index()+1,o))l.setNodeMarkup(l.mapping.map(r.before()),o)}}i(l.scrollIntoView())}return true}}const Ah=Mh();const Ch=(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(cn.create(t.doc,n)));return true};const Oh=(t,e)=>{if(e)e(t.tr.setSelection(new pn(t.doc)));return true};function Sh(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||_r(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 $h(t,e,i){let r=e.nodeBefore,n=e.nodeAfter,s,l;if(r.type.spec.isolating||n.type.spec.isolating)return false;if(Sh(t,e,i))return true;let o=e.parent.canReplace(e.index(),e.index()+1);if(o&&(s=(l=r.contentMatchAt(r.childCount)).findWrapping(n.type))&&l.matchType(s[0]||n.type).validEnd){if(i){let l=e.pos+n.nodeSize,o=xe.empty;for(let t=s.length-1;t>=0;t--)o=xe.from(s[t].create(null,o));o=xe.from(r.copy(o));let u=t.tr.step(new cr(e.pos-1,l,e.pos,l,new Se(o,1,0),s.length,true));let f=l+2*s.length;if(_r(u.doc,f))u.join(f);i(u.scrollIntoView())}return true}let u=ln.findFrom(e,1);let f=u&&u.$from.blockRange(u.$to),h=f&&br(f);if(h!=null&&h>=e.depth){if(i)i(t.tr.lift(f,h).scrollIntoView());return true}if(o&&ah(n,"start",true)&&ah(r,"end")){let s=r,l=[];for(;;){l.push(s);if(s.isTextblock)break;s=s.lastChild}let o=n,u=1;for(;!o.isTextblock;o=o.firstChild)u++;if(s.canReplace(s.childCount,s.childCount,o.content)){if(i){let r=xe.empty;for(let t=l.length-1;t>=0;t--)r=xe.from(l[t].copy(r));let s=t.tr.step(new cr(e.pos-l.length,e.pos+n.nodeSize,e.pos+u,e.pos+n.nodeSize-u,new Se(r,l.length,0),0,true));i(s.scrollIntoView())}return true}}return false}function _h(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(hn.create(e.doc,t<0?n.start(s):n.end(s))));return true}}const zh=_h(-1);const Bh=_h(1);function jh(t,e=null){return function(i,r){let{$from:n,$to:s}=i.selection;let l=n.blockRange(s),o=l&&vr(l,t,e);if(!o)return false;if(r)r(i.tr.wrap(l,o).scrollIntoView());return true}}function Rh(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 Nh(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 qh(t,e=null){return function(i,r){let{empty:n,$cursor:s,ranges:l}=i.selection;if(n&&!s||!Nh(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:o}=l[i];if(n){s.removeMark(r.pos,o.pos,t)}else{let i=r.pos,n=o.pos,l=r.nodeAfter,u=o.nodeBefore;let f=l&&l.isText?/^\s*/.exec(l.text)[0].length:0;let h=u&&u.isText?/\s*$/.exec(u.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 Th(...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 Ih=Th(uh,hh,ch);let Ph=Th(uh,mh,wh);const Jh={Enter:Th(Dh,xh,Eh,Ah),"Mod-Enter":Fh,Backspace:Ih,"Mod-Backspace":Ih,"Shift-Backspace":Ih,Delete:Ph,"Mod-Delete":Ph,"Mod-a":Oh};const Lh={"Ctrl-h":Jh["Backspace"],"Alt-Backspace":Jh["Mod-Backspace"],"Ctrl-d":Jh["Delete"],"Ctrl-Alt-Backspace":Jh["Mod-Delete"],"Alt-Delete":Jh["Mod-Delete"],"Alt-d":Jh["Mod-Delete"],"Ctrl-a":zh,"Ctrl-e":Bh};for(let t in Jh)Lh[t]=Jh[t];const Wh=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os!="undefined"&&os.platform?os.platform()=="darwin":false;const Uh=Wh?Lh:Jh;function Hh(t={}){return new Cn({view(e){return new Zh(e,t)}})}class Zh{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=qr(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 Kh extends ln{constructor(t){super(t,t)}map(t,e){let i=t.resolve(e.map(this.head));return Kh.valid(i)?new Kh(i):ln.near(i)}content(){return Se.empty}eq(t){return t instanceof Kh&&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 Kh(t.resolve(e.pos))}getBookmark(){return new Vh(this.anchor)}static valid(t){let e=t.parent;if(e.isTextblock||!Gh(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&&Kh.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(Kh.valid(l))return l}for(;;){let s=e>0?n.firstChild:n.lastChild;if(!s){if(n.isAtom&&!n.isText&&!cn.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(Kh.valid(l))return l}return null}}}Kh.prototype.visible=false;Kh.findFrom=Kh.findGapCursorFrom;ln.jsonID("gapcursor",Kh);class Vh{constructor(t){this.pos=t}map(t){return new Vh(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return Kh.valid(e)?new Kh(e):ln.near(e)}}function Gh(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 Yh(){return new Cn({props:{decorations:ra,createSelectionBetween(t,e,i){return e.pos==i.pos&&Kh.valid(i)?new Kh(i):null},handleClick:ea,handleKeyDown:Qh,handleDOMEvents:{beforeinput:ia}}})}const Qh=qf({ArrowLeft:ta("horiz",-1),ArrowRight:ta("horiz",1),ArrowUp:ta("vert",-1),ArrowDown:ta("vert",1)});function ta(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,o=s.empty;if(s instanceof hn){if(!n.endOfTextblock(i)||l.depth==0)return false;o=false;l=t.doc.resolve(e>0?l.after():l.before())}let u=Kh.findGapCursorFrom(l,e,o);if(!u)return false;if(r)r(t.tr.setSelection(new Kh(u)));return true}}function ea(t,e,i){if(!t||!t.editable)return false;let r=t.state.doc.resolve(e);if(!Kh.valid(r))return false;let n=t.posAtCoords({left:i.clientX,top:i.clientY});if(n&&n.inside>-1&&cn.isSelectable(t.state.doc.nodeAt(n.inside)))return false;t.dispatch(t.state.tr.setSelection(new Kh(r)));return true}function ia(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof Kh))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=xe.empty;for(let t=r.length-1;t>=0;t--)n=xe.from(r[t].createAndFill(null,n));let s=t.state.tr.replace(i.pos,i.pos,new Se(n,0,0));s.setSelection(hn.near(s.doc.resolve(i.pos+1)));t.dispatch(s);return false}function ra(t){if(!(t.selection instanceof Kh))return null;let e=document.createElement("div");e.className="ProseMirror-gapcursor";return cu.create(t.doc,[fu.widget(t.selection.head,e,{key:"gapcursor"})])}function na(){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++)sa(t,arguments[e]);return t}function sa(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++)sa(t,e[i])}else{throw new RangeError("Unsupported child node: "+e)}}const la="http://www.w3.org/2000/svg";const oa="http://www.w3.org/1999/xlink";const ua="ProseMirror-icon";function fa(t){let e=0;for(let i=0;i<t.length;i++)e=(e<<5)-e+t.charCodeAt(i)|0;return e}function ha(t,e){let i=(t.nodeType==9?t:t.ownerDocument)||document;let r=i.createElement("div");r.className=ua;if(e.path){let{path:n,width:s,height:l}=e;let o="pm-icon-"+fa(n).toString(16);if(!i.getElementById(o))aa(t,o,e);let u=r.appendChild(i.createElementNS(la,"svg"));u.style.width=s/l+"em";let f=u.appendChild(i.createElementNS(la,"use"));f.setAttributeNS(oa,"href",/([^#]*)/.exec(i.location.toString())[1]+"#"+o)}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 aa(t,e,i){let[r,n]=t.nodeType==9?[t,t.body]:[t.ownerDocument||document,t];let s=r.getElementById(ua+"-collection");if(!s){s=r.createElementNS(la,"svg");s.id=ua+"-collection";s.style.display="none";n.insertBefore(s,n.firstChild)}let l=r.createElementNS(la,"symbol");l.id=e;l.setAttribute("viewBox","0 0 "+i.width+" "+i.height);let o=l.appendChild(r.createElementNS(la,"path"));o.setAttribute("d",i.path);s.appendChild(l)}const ca="ProseMirror-menu";class da{constructor(t){this.spec=t}render(t){let e=this.spec;let i=e.render?e.render(t):e.icon?ha(t.root,e.icon):e.label?na("div",null,pa(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",pa(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(ca+"-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;_a(i,ca+"-disabled",!r)}if(e.active){let n=r&&e.active(t)||false;_a(i,ca+"-active",n)}return true}return{dom:i,update:r}}}function pa(t,e){return t._props.translate?t._props.translate(e):e}let ma={time:0,node:null};function wa(t){ma.time=Date.now();ma.node=t.target}function ga(t){return Date.now()-100<ma.time&&ma.node&&t.contains(ma.node)}class ba{constructor(t,e={}){this.options=e;this.options=e||{};this.content=Array.isArray(t)?t:[t]}render(t){let e=ka(this.content,t);let i=t.dom.ownerDocument.defaultView||window;let r=na("div",{class:ca+"-dropdown "+(this.options.class||""),style:this.options.css},pa(t,this.options.label||""));if(this.options.title)r.setAttribute("title",pa(t,this.options.title));let n=na("div",{class:ca+"-dropdown-wrap"},r);let s=null;let l=null;let o=()=>{if(s&&s.close()){s=null;i.removeEventListener("mousedown",l)}};r.addEventListener("mousedown",(t=>{t.preventDefault();wa(t);if(s){o()}else{s=this.expand(n,e.dom);i.addEventListener("mousedown",l=()=>{if(!ga(n))o()})}}));function u(t){let i=e.update(t);n.style.display=i?"":"none";return i}return{dom:n,update:u}}expand(t,e){let i=na("div",{class:ca+"-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 ka(t,e){let i=[],r=[];for(let n=0;n<t.length;n++){let{dom:s,update:l}=t[n].render(e);i.push(na("div",{class:ca+"-dropdown-item"},s));r.push(l)}return{dom:i,update:va(r,i)}}function va(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 Da{constructor(t,e={}){this.options=e;this.content=Array.isArray(t)?t:[t]}render(t){let e=ka(this.content,t);let i=t.dom.ownerDocument.defaultView||window;let r=na("div",{class:ca+"-submenu-label"},pa(t,this.options.label||""));let n=na("div",{class:ca+"-submenu-wrap"},r,na("div",{class:ca+"-submenu"},e.dom));let s=null;r.addEventListener("mousedown",(t=>{t.preventDefault();wa(t);_a(n,ca+"-submenu-wrap-active",false);if(!s)i.addEventListener("mousedown",s=()=>{if(!ga(n)){n.classList.remove(ca+"-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 ya(t,e){let i=document.createDocumentFragment();let r=[],n=[];for(let s=0;s<e.length;s++){let l=e[s],o=[],u=[];for(let e=0;e<l.length;e++){let{dom:r,update:n}=l[e].render(t);let s=na("span",{class:ca+"item"},r);i.appendChild(s);u.push(s);o.push(n)}if(o.length){r.push(va(o,u));if(s<e.length-1)n.push(i.appendChild(Fa()))}}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 Fa(){return na("span",{class:ca+"separator"})}const xa={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 Ea=new da({title:"Join with above block",run:bh,select:t=>bh(t),icon:xa.join});const Ma=new da({title:"Lift out of enclosing block",run:vh,select:t=>vh(t),icon:xa.lift});const Aa=new da({title:"Select parent node",run:Ch,select:t=>Ch(t),icon:xa.selectParentNode});let Ca=new da({title:"Undo last change",run:lh,enable:t=>lh(t),icon:xa.undo});let Oa=new da({title:"Redo last undone change",run:oh,enable:t=>oh(t),icon:xa.redo});function Sa(t,e){let i={run(i,r){return jh(t,e.attrs)(i,r)},select(i){return jh(t,e.attrs)(i)}};for(let t in e)i[t]=e[t];return new da(i)}function $a(t,e){let i=Rh(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 da(r)}function _a(t,e,i){if(i)t.classList.add(e);else t.classList.remove(e)}const za="ProseMirror-menubar";function Ba(){if(typeof navigator=="undefined")return false;let t=navigator.userAgent;return!/Edge\/\d/.test(t)&&/AppleWebKit/.test(t)&&/Mobile\/\w+/.test(t)}function ja(t){return new Cn({view(e){return new Ra(e,t)}})}class Ra{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=na("div",{class:za+"-wrapper"});this.menu=this.wrapper.appendChild(na("div",{class:za}));this.menu.className=za;if(t.dom.parentNode)t.dom.parentNode.replaceChild(this.wrapper,t.dom);this.wrapper.appendChild(t.dom);let{dom:i,update:r}=ya(this.editorView,this.options.content);this.contentUpdate=r;this.menu.appendChild(i);this.update();if(e.floating&&!Ba()){this.updateFloat();let t=Ta(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[Na(t)?0:e.length-1];if(!i)return;let r=this.menu.getBoundingClientRect();if(i.top<r.bottom&&i.bottom>r.top){let t=qa(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=na("div",{class:za+"-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 Na(t){if(t.anchorNode==t.focusNode)return t.anchorOffset>t.focusOffset;return t.anchorNode.compareDocumentPosition(t.focusNode)==Node.DOCUMENT_POSITION_FOLLOWING}function qa(t){for(let e=t.parentNode;e;e=e.parentNode)if(e.scrollHeight>e.clientHeight)return e}function Ta(t){let e=[t.ownerDocument.defaultView||window];for(let i=t.parentNode;i;i=i.parentNode)e.push(i);return e}class Ia{constructor(t,e,i={}){this.match=t;this.match=t;this.handler=typeof e=="string"?Pa(e):e;this.undoable=i.undoable!==false;this.inCode=i.inCode||false}}function Pa(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 Ja=500;function La({rules:t}){let e=new Cn({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 Wa(i,r,n,s,t,e)},handleDOMEvents:{compositionend:i=>{setTimeout((()=>{let{$cursor:r}=i.state.selection;if(r)Wa(i,r.pos,r.pos,"",t,e)}))}}},isInputRules:true});return e}function Wa(t,e,i,r,n,s){if(t.composing)return false;let l=t.state,o=l.doc.resolve(e);let u=o.parent.textBetween(Math.max(0,o.parentOffset-Ja),o.parentOffset,null,"")+r;for(let f=0;f<n.length;f++){let h=n[f];if(o.parent.type.spec.code){if(!h.inCode)continue}else if(h.inCode==="only"){continue}let a=h.match.exec(u);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 Ua=(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 Ha=new Ia(/--$/,"—");const Za=new Ia(/\.\.\.$/,"…");const Ka=new Ia(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(")$/,"“");const Va=new Ia(/"$/,"”");const Ga=new Ia(/(?:^|[\s\{\[\(\<'"\u2018\u201C])(')$/,"‘");const Xa=new Ia(/'$/,"’");const Ya=[Ka,Va,Ga,Xa];function Qa(t,e,i=null,r){return new Ia(t,((t,n,s,l)=>{let o=i instanceof Function?i(n):i;let u=t.tr.delete(s,l);let f=u.doc.resolve(s),h=f.blockRange(),a=h&&vr(h,e,o);if(!a)return null;u.wrap(h,a);let c=u.doc.resolve(s-1).nodeBefore;if(c&&c.type==e&&_r(u.doc,s-1)&&(!r||r(n,c)))u.join(s-1);return u}))}function tc(t,e,i=null){return new Ia(t,((t,r,n,s)=>{let l=t.doc.resolve(n);let o=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,o)}))}const ec="ProseMirror-prompt";function ic(t){let e=document.body.appendChild(document.createElement("div"));e.className=ec;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=ec+"-submit";s.textContent="OK";let l=document.createElement("button");l.type="button";l.className=ec+"-cancel";l.textContent="Cancel";l.addEventListener("click",r);let o=e.appendChild(document.createElement("form"));if(t.title)o.appendChild(document.createElement("h5")).textContent=t.title;n.forEach((t=>{o.appendChild(document.createElement("div")).appendChild(t)}));let u=o.appendChild(document.createElement("div"));u.className=ec+"-buttons";u.appendChild(s);u.appendChild(document.createTextNode(" "));u.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=rc(t.fields,n);if(e){r();t.callback(e)}};o.addEventListener("submit",(t=>{t.preventDefault();h()}));o.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=o.elements[0];if(a)a.focus()}function rc(t,e){let i=Object.create(null),r=0;for(let n in t){let s=t[n],l=e[r++];let o=s.read(l),u=s.validate(o);if(u){nc(l,u);return null}i[n]=s.clean(o)}return i}function nc(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 sc{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 lc extends sc{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 oc(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 uc(t){return new da({title:"Insert image",label:"Image",enable(e){return oc(e,t)},run(e,i,r){let{from:n,to:s}=e.selection,l=null;if(e.selection instanceof cn&&e.selection.node.type==t)l=e.selection.node.attrs;ic({title:"Insert image",fields:{src:new lc({label:"Location",required:true,value:l&&l.src}),title:new lc({label:"Title",value:l&&l.title}),alt:new lc({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 fc(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 da(i)}function hc(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 ac(t,e){let i={active(e){return hc(e,t)}};for(let t in e)i[t]=e[t];return fc(qh(t),i)}function cc(t){return new da({title:"Add or remove link",icon:xa.link,active(e){return hc(e,t)},enable(t){return!t.selection.empty},run(e,i,r){if(hc(e,t)){qh(t)(e,i);return true}ic({title:"Create a link",fields:{href:new lc({label:"Link target",required:true}),title:new lc({label:"Title"})},callback(e){qh(t,e)(r.state,r.dispatch);r.focus()}})}})}function dc(t,e){return fc(kf(t,e.attrs),e)}function pc(t){let e={};let i;if(i=t.marks.strong)e.toggleStrong=ac(i,{title:"Toggle strong style",icon:xa.strong});if(i=t.marks.em)e.toggleEm=ac(i,{title:"Toggle emphasis",icon:xa.em});if(i=t.marks.code)e.toggleCode=ac(i,{title:"Toggle code font",icon:xa.code});if(i=t.marks.link)e.toggleLink=cc(i);let r;if(r=t.nodes.image)e.insertImage=uc(r);if(r=t.nodes.bullet_list)e.wrapBulletList=dc(r,{title:"Wrap in bullet list",icon:xa.bulletList});if(r=t.nodes.ordered_list)e.wrapOrderedList=dc(r,{title:"Wrap in ordered list",icon:xa.orderedList});if(r=t.nodes.blockquote)e.wrapBlockQuote=Sa(r,{title:"Wrap in block quote",icon:xa.blockquote});if(r=t.nodes.paragraph)e.makeParagraph=$a(r,{title:"Change to paragraph",label:"Plain"});if(r=t.nodes.code_block)e.makeCodeBlock=$a(r,{title:"Change to code block",label:"Code"});if(r=t.nodes.heading)for(let t=1;t<=10;t++)e["makeHead"+t]=$a(r,{title:"Change to heading "+t,label:"Level "+t,attrs:{level:t}});if(r=t.nodes.horizontal_rule){let t=r;e.insertHorizontalRule=new da({title:"Insert horizontal rule",label:"Horizontal rule",enable(e){return oc(e,t)},run(e,i){i(e.tr.replaceSelectionWith(t.create()))}})}let n=t=>t.filter((t=>t));e.insertMenu=new ba(n([e.insertImage,e.insertHorizontalRule]),{label:"Insert"});e.typeMenu=new ba(n([e.makeParagraph,e.makeCodeBlock,e.makeHead1&&new Da(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,Ea,Ma,Aa])];e.fullMenu=e.inlineMenu.concat([[e.insertMenu,e.typeMenu]],[[Ca,Oa]],e.blockMenu);return e}const mc=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):false;function wc(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",lh);n("Shift-Mod-z",oh);n("Backspace",Ua);if(!mc)n("Mod-y",oh);n("Alt-ArrowUp",bh);n("Alt-ArrowDown",kh);n("Mod-BracketLeft",vh);n("Escape",Ch);if(r=t.marks.strong){n("Mod-b",qh(r));n("Mod-B",qh(r))}if(r=t.marks.em){n("Mod-i",qh(r));n("Mod-I",qh(r))}if(r=t.marks.code)n("Mod-`",qh(r));if(r=t.nodes.bullet_list)n("Shift-Ctrl-8",kf(r));if(r=t.nodes.ordered_list)n("Shift-Ctrl-9",kf(r));if(r=t.nodes.blockquote)n("Ctrl->",jh(r));if(r=t.nodes.hard_break){let t=r,e=Th(Fh,((e,i)=>{if(i)i(e.tr.replaceSelectionWith(t.create()).scrollIntoView());return true}));n("Mod-Enter",e);n("Shift-Enter",e);if(mc)n("Ctrl-Enter",e)}if(r=t.nodes.list_item){n("Enter",Df(r));n("Mod-[",yf(r));n("Mod-]",Ef(r))}if(r=t.nodes.paragraph)n("Shift-Ctrl-0",Rh(r));if(r=t.nodes.code_block)n("Shift-Ctrl-\\",Rh(r));if(r=t.nodes.heading)for(let t=1;t<=6;t++)n("Shift-Ctrl-"+t,Rh(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 gc(t){return Qa(/^\s*>\s$/,t)}function bc(t){return Qa(/^(\d+)\.\s$/,t,(t=>({order:+t[1]})),((t,e)=>e.childCount+e.attrs.order==+t[1]))}function kc(t){return Qa(/^\s*([-+*])\s$/,t)}function vc(t){return tc(/^```$/,t)}function Dc(t,e){return tc(new RegExp("^(#{1,"+e+"})\\s$"),t,(t=>({level:t[1].length})))}function yc(t){let e=Ya.concat(Za,Ha),i;if(i=t.nodes.blockquote)e.push(gc(i));if(i=t.nodes.ordered_list)e.push(bc(i));if(i=t.nodes.bullet_list)e.push(kc(i));if(i=t.nodes.code_block)e.push(vc(i));if(i=t.nodes.heading)e.push(Dc(i,6));return La({rules:e})}function Fc(t){let e=[yc(t.schema),Nf(wc(t.schema,t.mapKeys)),Nf(Uh),Hh(),Yh()];if(t.menuBar!==false)e.push(ja({floating:t.floatingMenu!==false,content:t.menuContent||pc(t.schema).fullMenu}));if(t.history!==false)e.push(sh());return e.concat(new Cn({props:{attributes:{class:"ProseMirror-example-setup-style"}}}))}const xc=(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===l.Heading&&i){return n.attrs.level===i}return true}return false}};const Mc=(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 Ac=(t,e,i)=>{const r=(e,r)=>{const{from:n,to:s}=e.selection;const l=t.marks.link.create(f(i.href,i.href));if(n===s){const s=i.text||i.href;const o=t.text(s,[l]);r(e.tr.insert(n,o))}else{const o=e.doc.textBetween(n,s," ");const u=t.text(i.text||o,[l]);r(e.tr.replaceWith(n,s,u))}return true};xc(r,t.marks.link);return r};const Cc=(t,e,i)=>{const r=t.marks[e];if(!r){throw new Error(`Mark "${e}" not found in schema`)}const n=Oc(e,i);const s=qh(r,n);xc(s,r);return s};const Oc=(t,e)=>{if(t===s.Link&&e.href){return{href:e.href,target:Sc(e.href)?"_blank":null}}return undefined};const Sc=t=>!t.startsWith(window.location.origin);const $c=(t,e,i={},r=false)=>{const n=t.nodes[e];const s=t.nodes.paragraph;return(t,e)=>{const{$from:l,$to:o}=t.selection;const u=l.node(l.depth-1).type===n;if(t.selection instanceof hn&&l.sameParent(l.doc.resolve(o.pos))){if(l.parent.type===n){if(e){e(t.tr.setBlockType(l.pos,o.pos,s))}return true}else{if(u){return vh(t,e)}if(r){return jh(n,i)(t,e)}else{return Rh(n,i)(t,e)}}}return false}};const _c=(t,e,i)=>{const r=t.nodes[e];if(!r){throw new Error(`Node type "${e}" not found in schema`)}let n;if(e===l.Heading&&i){n=$c(t,l.Heading,{level:i})}else if(e===s.CodeBlock){n=$c(t,s.CodeBlock)}else{n=Rh(r)}Ec(n,r,i);return n};const zc=(t,e)=>{const i=t.nodes[e];if(!i){throw new Error(`Node type "${e}" not found in schema`)}let r;if(e===s.Blockquote){r=$c(t,s.Blockquote,{},true)}else{r=jh(i)}Mc(r,i);return r};const Bc=t=>(e,i)=>{const{$from:r,$to:n}=e.selection;const s=r.blockRange(n);if(!s){return false}const l=s&&vr(s,t);if(l){if(i){i(e.tr.wrap(s,l).scrollIntoView())}return true}else{const t=s&&br(s);if(t!==null){if(i){i(e.tr.lift(s,t).scrollIntoView())}return true}return false}};const jc=(t,e)=>{const i=t.nodes[e];if(!i){throw new Error(`List type "${e}" not found in schema`)}const r=Bc(i);Mc(r,i);return r};const Rc={strong:Cc,em:Cc,underline:Cc,strikethrough:Cc,code:Cc,link:Ac,headerlevel1:t=>_c(t,l.Heading,l.one),headerlevel2:t=>_c(t,l.Heading,l.two),headerlevel3:t=>_c(t,l.Heading,l.three),blockquote:t=>zc(t,s.Blockquote),code_block:t=>_c(t,s.CodeBlock),ordered_list:t=>jc(t,s.OrderedList),bullet_list:t=>jc(t,s.BulletList)};class Nc{constructor(t){this.schema=t}getCommand(t,e){const i=Rc[t];if(!i){throw new Error(`The Mark "${t}" is not supported`)}return i(this.schema,t,e)}buildKeymap(){return{"Mod-B":this.getCommand(s.Bold),"Mod-I":this.getCommand(s.Italic),"Mod-Shift-1":this.getCommand(s.HeaderLevel1),"Mod-Shift-2":this.getCommand(s.HeaderLevel2),"Mod-Shift-3":this.getCommand(s.HeaderLevel3),"Mod-Shift-X":this.getCommand(s.Strikethrough),"Mod-`":this.getCommand(s.Code),"Mod-Shift-C":this.getCommand(s.CodeBlock)}}}const qc=()=>{const t=/Macintosh|MacIntel|MacPPC|Mac68K/;if(t.test(navigator.userAgent)){return{mod:"⌘",option:"⌥",shift:"⇧"}}return{mod:"Ctrl",option:"Alt",shift:"Shift"}};const{mod:Tc,shift:Ic}=qc();const Pc=[{value:s.Bold,text:"Bold",commandText:`${Tc} B`,icon:"-lime-text-bold",iconOnly:true,selected:false},{value:s.Italic,text:"Italic",commandText:`${Tc} I`,icon:"-lime-text-italic",iconOnly:true,selected:false},{value:s.Strikethrough,text:"Strikethrough",commandText:`${Tc} ${Ic} X`,icon:"-lime-text-strikethrough",iconOnly:true,selected:false},{value:s.Link,text:"Link",icon:"-lime-text-link",iconOnly:true},{separator:true},{value:s.BulletList,text:"Bullet list",icon:"-lime-text-bulleted-list",iconOnly:true,selected:false},{value:s.OrderedList,text:"Numbered list",icon:"-lime-text-ordered-list",iconOnly:true,selected:false},{separator:true},{value:s.HeaderLevel1,text:"Header 1",commandText:`${Tc} ${Ic} 1`,icon:"-lime-text-h-heading-1",iconOnly:true,selected:false},{value:s.HeaderLevel2,text:"Header 2",commandText:`${Tc} ${Ic} 2`,icon:"-lime-text-h-heading-2",iconOnly:true,selected:false},{value:s.HeaderLevel3,text:"Header 3",commandText:`${Tc} ${Ic} 3`,icon:"-lime-text-h-heading-3",iconOnly:true,selected:false},{separator:true},{value:s.Blockquote,text:"Blockquote",icon:"-lime-text-blockquote",iconOnly:true,selected:false},{separator:true},{value:s.Code,text:"Code",commandText:`${Tc} \``,icon:"-lime-text-code",iconOnly:true,selected:false},{value:s.CodeBlock,text:"Code Block",commandText:`${Tc} ${Ic} C`,icon:"-lime-text-code-block",iconOnly:true,selected:false}];const Jc=()=>ve(Pc);const Lc={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 Wc={};function Uc(t){let e=Wc[t];if(e){return e}e=Wc[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 Hc(t,e){if(typeof e!=="string"){e=Hc.defaultChars}const i=Uc(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}))}Hc.defaultChars=";/?:@&=+$,#";Hc.componentChars="";const Zc={};function Kc(t){let e=Zc[t];if(e){return e}e=Zc[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 Vc(t,e,i){if(typeof e!=="string"){i=e;e=Vc.defaultChars}if(typeof i==="undefined"){i=true}const r=Kc(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}Vc.defaultChars=";/?:@&=+$,-_.!~*'()#";Vc.componentChars="-_.!~*'()";function Gc(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 Xc(){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 Yc=/^([a-z0-9.+-]+:)/i;const Qc=/:[0-9]*$/;const td=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/;const ed=["<",">",'"',"`"," ","\r","\n","\t"];const id=["{","}","|","\\","^","`"].concat(ed);const rd=["'"].concat(id);const nd=["%","/","?",";","#"].concat(rd);const sd=["/","?","#"];const ld=255;const od=/^[+a-z0-9A-Z_-]{0,63}$/;const ud=/^([+a-z0-9A-Z_-]{0,63})(.*)$/;const fd={javascript:true,"javascript:":true};const hd={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true};function ad(t,e){if(t&&t instanceof Xc)return t;const i=new Xc;i.parse(t,e);return i}Xc.prototype.parse=function(t,e){let i,r,n;let s=t;s=s.trim();if(!e&&t.split("#").length===1){const t=td.exec(s);if(t){this.pathname=t[1];if(t[2]){this.search=t[2]}return this}}let l=Yc.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&&fd[l])){s=s.substr(2);this.slashes=true}}if(!fd[l]&&(n||l&&!hd[l])){let t=-1;for(let e=0;e<sd.length;e++){r=s.indexOf(sd[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<nd.length;e++){r=s.indexOf(nd[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(od)){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(od)){const r=t.slice(0,e);const n=t.slice(e+1);const l=i.match(ud);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>ld){this.hostname=""}if(l){this.hostname=this.hostname.substr(1,this.hostname.length-2)}}const o=s.indexOf("#");if(o!==-1){this.hash=s.substr(o);s=s.slice(0,o)}const u=s.indexOf("?");if(u!==-1){this.search=s.substr(u);s=s.slice(0,u)}if(s){this.pathname=s}if(hd[i]&&this.hostname&&!this.pathname){this.pathname=""}return this};Xc.prototype.parseHost=function(t){let e=Qc.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 cd=Object.freeze({__proto__:null,decode:Hc,encode:Vc,format:Gc,parse:ad});const dd=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;const pd=/[\0-\x1F\x7F-\x9F]/;const md=/[\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 wd=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\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 gd=/[\$\+<->\^`\|~\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 bd=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;const kd=Object.freeze({__proto__:null,Any:dd,Cc:pd,Cf:md,P:wd,S:gd,Z:bd});function vd(t){return Object.prototype.toString.call(t)}function Dd(t){return vd(t)==="[object String]"}const yd=Object.prototype.hasOwnProperty;function Fd(t,e){return yd.call(t,e)}function xd(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 Ed(t,e,i){return[].concat(t.slice(0,e),i,t.slice(e+1))}function Md(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 Ad(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 Cd=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;const Od=/&([a-z#][a-z0-9]{1,31});/gi;const Sd=new RegExp(Cd.source+"|"+Od.source,"gi");const $d=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function _d(t,e){if(e.charCodeAt(0)===35&&$d.test(e)){const i=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);if(Md(i)){return Ad(i)}return t}const i=h(t);if(i!==t){return i}return t}function zd(t){if(t.indexOf("\\")<0){return t}return t.replace(Cd,"$1")}function Bd(t){if(t.indexOf("\\")<0&&t.indexOf("&")<0){return t}return t.replace(Sd,(function(t,e,i){if(e){return e}return _d(t,i)}))}const jd=/[&<>"]/;const Rd=/[&<>"]/g;const Nd={"&":"&","<":"<",">":">",'"':"""};function qd(t){return Nd[t]}function Td(t){if(jd.test(t)){return t.replace(Rd,qd)}return t}const Id=/[.?*+^$[\]\\(){}|-]/g;function Pd(t){return t.replace(Id,"\\$&")}function Jd(t){switch(t){case 9:case 32:return true}return false}function Ld(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 Wd(t){return wd.test(t)||gd.test(t)}function Ud(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 Hd(t){t=t.trim().replace(/\s+/g," ");if("ẞ".toLowerCase()==="Ṿ"){t=t.replace(/ẞ/g,"ß")}return t.toLowerCase().toUpperCase()}const Zd={mdurl:cd,ucmicro:kd};const Kd=Object.freeze({__proto__:null,lib:Zd,assign:xd,isString:Dd,has:Fd,unescapeMd:zd,unescapeAll:Bd,isValidEntityCode:Md,fromCodePoint:Ad,escapeHtml:Td,arrayReplaceAt:Ed,isSpace:Jd,isWhiteSpace:Ld,isMdAsciiPunct:Ud,isPunctChar:Wd,escapeRE:Pd,normalizeReference:Hd});function Vd(t,e,i){let r,n,s,l;const o=t.posMax;const u=t.pos;t.pos=e+1;r=1;while(t.pos<o){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=u;return-1}}}let f=-1;if(n){f=t.pos}t.pos=u;return f}function Gd(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=Bd(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=Bd(t.slice(e,n));s.pos=n;s.ok=true;return s}function Xd(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+=Bd(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+=Bd(t.slice(e,s));return l}const Yd=Object.freeze({__proto__:null,parseLinkLabel:Vd,parseLinkDestination:Gd,parseLinkTitle:Xd});const Qd={};Qd.code_inline=function(t,e,i,r,n){const s=t[e];return"<code"+n.renderAttrs(s)+">"+Td(s.content)+"</code>"};Qd.code_block=function(t,e,i,r,n){const s=t[e];return"<pre"+n.renderAttrs(s)+"><code>"+Td(t[e].content)+"</code></pre>\n"};Qd.fence=function(t,e,i,r,n){const s=t[e];const l=s.info?Bd(s.info).trim():"";let o="";let u="";if(l){const t=l.split(/(\s+)/g);o=t[0];u=t.slice(2).join("")}let f;if(i.highlight){f=i.highlight(s.content,o,u)||Td(s.content)}else{f=Td(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+o])}else{e[t]=e[t].slice();e[t][1]+=" "+i.langPrefix+o}const r={attrs:e};return`<pre><code${n.renderAttrs(r)}>${f}</code></pre>\n`}return`<pre><code${n.renderAttrs(s)}>${f}</code></pre>\n`};Qd.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)};Qd.hardbreak=function(t,e,i){return i.xhtmlOut?"<br />\n":"<br>\n"};Qd.softbreak=function(t,e,i){return i.breaks?i.xhtmlOut?"<br />\n":"<br>\n":"\n"};Qd.text=function(t,e){return Td(t[e].content)};Qd.html_block=function(t,e){return t[e].content};Qd.html_inline=function(t,e){return t[e].content};function tp(){this.rules=xd({},Qd)}tp.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+=" "+Td(e.attrs[i][0])+'="'+Td(e.attrs[i][1])+'"'}return n};tp.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};tp.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};tp.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};tp.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 ep(){this.__rules__=[];this.__cache__=null}ep.prototype.__find__=function(t){for(let e=0;e<this.__rules__.length;e++){if(this.__rules__[e].name===t){return e}}return-1};ep.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)}))}))};ep.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};ep.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};ep.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};ep.prototype.push=function(t,e,i){const r=i||{};this.__rules__.push({name:t,enabled:true,fn:e,alt:r.alt||[]});this.__cache__=null};ep.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};ep.prototype.enableOnly=function(t,e){if(!Array.isArray(t)){t=[t]}this.__rules__.forEach((function(t){t.enabled=false}));this.enable(t,e)};ep.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};ep.prototype.getRules=function(t){if(this.__cache__===null){this.__compile__()}return this.__cache__[t]||[]};function ip(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}ip.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};ip.prototype.attrPush=function t(e){if(this.attrs){this.attrs.push(e)}else{this.attrs=[e]}};ip.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}};ip.prototype.attrGet=function t(e){const i=this.attrIndex(e);let r=null;if(i>=0){r=this.attrs[i][1]}return r};ip.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 rp(t,e,i){this.src=t;this.env=i;this.tokens=[];this.inlineMode=false;this.md=e}rp.prototype.Token=ip;const np=/\r\n?|\n/g;const sp=/\0/g;function lp(t){let e;e=t.src.replace(np,"\n");e=e.replace(sp,"�");t.src=e}function op(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 up(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 fp(t){return/^<a[>\s]/i.test(t)}function hp(t){return/^<\/a\s*>/i.test(t)}function ap(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(fp(l.content)&&n>0){n--}if(hp(l.content)){n++}}if(n>0){continue}if(l.type==="text"&&t.md.linkify.test(l.content)){const n=l.content;let o=t.md.linkify.match(n);const u=[];let f=l.level;let h=0;if(o.length>0&&o[0].index===0&&s>0&&r[s-1].type==="text_special"){o=o.slice(1)}for(let e=0;e<o.length;e++){const i=o[e].url;const r=t.md.normalizeLink(i);if(!t.md.validateLink(r)){continue}let s=o[e].text;if(!o[e].schema){s=t.md.normalizeLinkText("http://"+s).replace(/^http:\/\//,"")}else if(o[e].schema==="mailto:"&&!/^mailto:/i.test(s)){s=t.md.normalizeLinkText("mailto:"+s).replace(/^mailto:/,"")}else{s=t.md.normalizeLinkText(s)}const l=o[e].index;if(l>h){const e=new t.Token("text","",0);e.content=n.slice(h,l);e.level=f;u.push(e)}const a=new t.Token("link_open","a",1);a.attrs=[["href",r]];a.level=f++;a.markup="linkify";a.info="auto";u.push(a);const c=new t.Token("text","",0);c.content=s;c.level=f;u.push(c);const d=new t.Token("link_close","a",-1);d.level=--f;d.markup="linkify";d.info="auto";u.push(d);h=o[e].lastIndex}if(h<n.length){const e=new t.Token("text","",0);e.content=n.slice(h);e.level=f;u.push(e)}e[i].children=r=Ed(r,s,u)}}}}const cp=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/;const dp=/\((c|tm|r)\)/i;const pp=/\((c|tm|r)\)/gi;const mp={c:"©",r:"®",tm:"™"};function wp(t,e){return mp[e.toLowerCase()]}function gp(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(pp,wp)}if(r.type==="link_open"&&r.info==="auto"){e--}if(r.type==="link_close"&&r.info==="auto"){e++}}}function bp(t){let e=0;for(let i=t.length-1;i>=0;i--){const r=t[i];if(r.type==="text"&&!e){if(cp.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 kp(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(dp.test(t.tokens[e].content)){gp(t.tokens[e].children)}if(cp.test(t.tokens[e].content)){bp(t.tokens[e].children)}}}const vp=/['"]/;const Dp=/['"]/g;const yp="’";function Fp(t,e,i){return t.slice(0,e)+i+t.slice(e+1)}function xp(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 o=s.content;let u=0;let f=o.length;t:while(u<f){Dp.lastIndex=u;const h=Dp.exec(o);if(!h){break}let a=true;let c=true;u=h.index+1;const d=h[0]==="'";let p=32;if(h.index-1>=0){p=o.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(u<f){m=o.charCodeAt(u)}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=Ud(p)||Wd(String.fromCharCode(p));const g=Ud(m)||Wd(String.fromCharCode(m));const b=Ld(p);const k=Ld(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=Fp(s.content,h.index,yp)}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=Fp(s.content,h.index,c);t[a.token].content=Fp(t[a.token].content,a.pos,l);u+=c.length-1;if(a.token===n){u+=l.length-1}o=s.content;f=o.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=Fp(s.content,h.index,yp)}}}}function Ep(t){if(!t.md.options.typographer){return}for(let e=t.tokens.length-1;e>=0;e--){if(t.tokens[e].type!=="inline"||!vp.test(t.tokens[e].content)){continue}xp(t.tokens[e].children,t)}}function Mp(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 Ap=[["normalize",lp],["block",op],["inline",up],["linkify",ap],["replacements",kp],["smartquotes",Ep],["text_join",Mp]];function Cp(){this.ruler=new ep;for(let t=0;t<Ap.length;t++){this.ruler.push(Ap[t][0],Ap[t][1])}}Cp.prototype.process=function(t){const e=this.ruler.getRules("");for(let i=0,r=e.length;i<r;i++){e[i](t)}};Cp.prototype.State=rp;function Op(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 o=n.charCodeAt(e);if(!l){if(Jd(o)){i++;if(o===9){r+=4-r%4}else{r++}continue}else{l=true}}if(o===10||e===s-1){if(o!==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}Op.prototype.push=function(t,e,i){const r=new ip(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};Op.prototype.isEmpty=function t(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};Op.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};Op.prototype.skipSpaces=function t(e){for(let t=this.src.length;e<t;e++){const t=this.src.charCodeAt(e);if(!Jd(t)){break}}return e};Op.prototype.skipSpacesBack=function t(e,i){if(e<=i){return e}while(e>i){if(!Jd(this.src.charCodeAt(--e))){return e+1}}return e};Op.prototype.skipChars=function t(e,i){for(let t=this.src.length;e<t;e++){if(this.src.charCodeAt(e)!==i){break}}return e};Op.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};Op.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 o=this.bMarks[l];let u=o;let f;if(l+1<i||n){f=this.eMarks[l]+1}else{f=this.eMarks[l]}while(u<f&&e<r){const t=this.src.charCodeAt(u);if(Jd(t)){if(t===9){e+=4-(e+this.bsCount[l])%4}else{e++}}else if(u-o<this.tShift[l]){e++}else{break}u++}if(e>r){s[t]=new Array(e-r+1).join(" ")+this.src.slice(u,f)}else{s[t]=this.src.slice(u,f)}}return s.join("")};Op.prototype.Token=ip;const Sp=65536;function $p(t,e){const i=t.bMarks[e]+t.tShift[e];const r=t.eMarks[e];return t.src.slice(i,r)}function _p(t){const e=[];const i=t.length;let r=0;let n=t.charCodeAt(r);let s=false;let l=0;let o="";while(r<i){if(n===124){if(!s){e.push(o+t.substring(l,r));o="";l=r+1}else{o+=t.substring(l,r-1);l=r}}s=n===92;r++;n=t.charCodeAt(r)}e.push(o+t.substring(l));return e}function zp(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 o=t.src.charCodeAt(s++);if(o!==124&&o!==45&&o!==58&&!Jd(o)){return false}if(l===45&&Jd(o)){return false}while(s<t.eMarks[n]){const e=t.src.charCodeAt(s);if(e!==124&&e!==45&&e!==58&&!Jd(e)){return false}s++}let u=$p(t,e+1);let f=u.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("")}}u=$p(t,e).trim();if(u.indexOf("|")===-1){return false}if(t.sCount[e]-t.blkIndent>=4){return false}f=_p(u);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}u=$p(t,n).trim();if(!u){break}if(t.sCount[n]-t.blkIndent>=4){break}f=_p(u);if(f.length&&f[0]==="")f.shift();if(f.length&&f[f.length-1]==="")f.pop();k+=a-f.length;if(k>Sp){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 Bp(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 jp(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 o=n;n=t.skipChars(n,l);let u=n-o;if(u<3){return false}const f=t.src.slice(o,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=o=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-o<u){continue}n=t.skipSpaces(n);if(n<s){continue}c=true;break}u=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,u,true);d.markup=f;d.map=[e,t.line];return true}function Rp(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 o=[];const u=[];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;o.push(t.bMarks[p]);t.bMarks[p]=n;while(n<s){const e=t.src.charCodeAt(n);if(Jd(e)){if(e===9){l+=4-(l+t.bsCount[p]+(r?1:0))%4}else{l++}}else{break}n++}d=n>=s;u.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){o.push(t.bMarks[p]);u.push(t.bsCount[p]);h.push(t.tShift[p]);f.push(t.sCount[p]);t.sCount[p]-=t.blkIndent}break}o.push(t.bMarks[p]);u.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]=o[i];t.tShift[i+e]=h[i];t.sCount[i+e]=f[i];t.bsCount[i+e]=u[i]}t.blkIndent=m;return true}function Np(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 o=1;while(s<n){const e=t.src.charCodeAt(s++);if(e!==l&&!Jd(e)){return false}if(e===l){o++}}if(o<3){return false}if(r){return true}t.line=e+1;const u=t.push("hr","hr",0);u.map=[e,t.line];u.markup=Array(o+1).join(String.fromCharCode(l));return true}function qp(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(!Jd(e)){return-1}}return r}function Tp(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(!Jd(s)){return-1}}return n}function Ip(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 Pp(t,e,i,r){let n,s,l,o;let u=e;let f=true;if(t.sCount[u]-t.blkIndent>=4){return false}if(t.listIndent>=0&&t.sCount[u]-t.listIndent>=4&&t.sCount[u]<t.blkIndent){return false}let h=false;if(r&&t.parentType==="paragraph"){if(t.sCount[u]>=t.blkIndent){h=true}}let a;let c;let d;if((d=Tp(t,u))>=0){a=true;l=t.bMarks[u]+t.tShift[u];c=Number(t.src.slice(l,d-1));if(h&&c!==1)return false}else if((d=qp(t,u))>=0){a=false}else{return false}if(h){if(t.skipSpaces(d)>=t.eMarks[u])return false}if(r){return true}const p=t.src.charCodeAt(d-1);const m=t.tokens.length;if(a){o=t.push("ordered_list_open","ol",1);if(c!==1){o.attrs=[["start",c]]}}else{o=t.push("bullet_list_open","ul",1)}const w=[u,0];o.map=w;o.markup=String.fromCharCode(p);let g=false;const b=t.md.block.ruler.getRules("list");const k=t.parentType;t.parentType="list";while(u<i){s=d;n=t.eMarks[u];const e=t.sCount[u]+d-(t.bMarks[u]+t.tShift[u]);let r=e;while(s<n){const e=t.src.charCodeAt(s);if(e===9){r+=4-(r+t.bsCount[u])%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;o=t.push("list_item_open","li",1);o.markup=String.fromCharCode(p);const w=[u,0];o.map=w;if(a){o.info=t.src.slice(l,d-1)}const k=t.tight;const v=t.tShift[u];const D=t.sCount[u];const y=t.listIndent;t.listIndent=t.blkIndent;t.blkIndent=m;t.tight=true;t.tShift[u]=h-t.bMarks[u];t.sCount[u]=r;if(h>=n&&t.isEmpty(u+1)){t.line=Math.min(t.line+2,i)}else{t.md.block.tokenize(t,u,i,true)}if(!t.tight||g){f=false}g=t.line-u>1&&t.isEmpty(t.line-1);t.blkIndent=t.listIndent;t.listIndent=y;t.tShift[u]=v;t.sCount[u]=D;t.tight=k;o=t.push("list_item_close","li",-1);o.markup=String.fromCharCode(p);u=t.line;w[1]=u;if(u>=i){break}if(t.sCount[u]<t.blkIndent){break}if(t.sCount[u]-t.blkIndent>=4){break}let F=false;for(let e=0,r=b.length;e<r;e++){if(b[e](t,u,i,true)){F=true;break}}if(F){break}if(a){d=Tp(t,u);if(d<0){break}l=t.bMarks[u]+t.tShift[u]}else{d=qp(t,u);if(d<0){break}}if(p!==t.src.charCodeAt(d-1)){break}}if(a){o=t.push("ordered_list_close","ol",-1)}else{o=t.push("bullet_list_close","ul",-1)}o.markup=String.fromCharCode(p);w[1]=u;t.line=u;t.parentType=k;if(f){Ip(t,m)}return true}function Jp(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 o(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 u=t.src.slice(n,s+1);s=u.length;let f=-1;for(n=1;n<s;n++){const t=u.charCodeAt(n);if(t===91){return false}else if(t===93){f=n;break}else if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(t===92){n++;if(n<s&&u.charCodeAt(n)===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}}}if(f<0||u.charCodeAt(f+1)!==58){return false}for(n=f+2;n<s;n++){const t=u.charCodeAt(n);if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(Jd(t));else{break}}const h=t.md.helpers.parseLinkDestination(u,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=u.charCodeAt(n);if(t===10){const t=o(l);if(t!==null){u+=t;s=u.length;l++}}else if(Jd(t));else{break}}let m=t.md.helpers.parseLinkTitle(u,n,s);while(m.can_continue){const e=o(l);if(e===null)break;u+=e;n=s;s=u.length;l++;m=t.md.helpers.parseLinkTitle(u,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=u.charCodeAt(n);if(!Jd(t)){break}n++}if(n<s&&u.charCodeAt(n)!==10){if(w){w="";n=c;l=d;while(n<s){const t=u.charCodeAt(n);if(!Jd(t)){break}n++}}}if(n<s&&u.charCodeAt(n)!==10){return false}const g=Hd(u.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 Lp=["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 Wp="[a-zA-Z_:][a-zA-Z0-9:._-]*";const Up="[^\"'=<>`\\x00-\\x20]+";const Hp="'[^']*'";const Zp='"[^"]*"';const Kp="(?:"+Up+"|"+Hp+"|"+Zp+")";const Vp="(?:\\s+"+Wp+"(?:\\s*=\\s*"+Kp+")?)";const Gp="<[A-Za-z][A-Za-z0-9\\-]*"+Vp+"*\\s*\\/?>";const Xp="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";const Yp="\x3c!---?>|\x3c!--(?:[^-]|-[^-]|--[^>])*--\x3e";const Qp="<[?][\\s\\S]*?[?]>";const tm="<![A-Za-z][^>]*>";const em="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";const im=new RegExp("^(?:"+Gp+"|"+Xp+"|"+Yp+"|"+Qp+"|"+tm+"|"+em+")");const rm=new RegExp("^(?:"+Gp+"|"+Xp+")");const nm=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,true],[/^<!--/,/-->/,true],[/^<\?/,/\?>/,true],[/^<![A-Z]/,/>/,true],[/^<!\[CDATA\[/,/\]\]>/,true],[new RegExp("^</?("+Lp.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,true],[new RegExp(rm.source+"\\s*$"),/^$/,false]];function sm(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 o=0;for(;o<nm.length;o++){if(nm[o][0].test(l)){break}}if(o===nm.length){return false}if(r){return nm[o][2]}let u=e+1;if(!nm[o][1].test(l)){for(;u<i;u++){if(t.sCount[u]<t.blkIndent){break}n=t.bMarks[u]+t.tShift[u];s=t.eMarks[u];l=t.src.slice(n,s);if(nm[o][1].test(l)){if(l.length!==0){u++}break}}}t.line=u;const f=t.push("html_block","",0);f.map=[e,u];f.content=t.getLines(e,u,t.blkIndent,true);return true}function lm(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 o=1;l=t.src.charCodeAt(++n);while(l===35&&n<s&&o<=6){o++;l=t.src.charCodeAt(++n)}if(o>6||n<s&&!Jd(l)){return false}if(r){return true}s=t.skipSpacesBack(s,n);const u=t.skipCharsBack(s,35,n);if(u>n&&Jd(t.src.charCodeAt(u-1))){s=u}t.line=e+1;const f=t.push("heading_open","h"+String(o),1);f.markup="########".slice(0,o);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(o),-1);a.markup="########".slice(0,o);return true}function om(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 o=e+1;for(;o<i&&!t.isEmpty(o);o++){if(t.sCount[o]-t.blkIndent>3){continue}if(t.sCount[o]>=t.blkIndent){let e=t.bMarks[o]+t.tShift[o];const i=t.eMarks[o];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[o]<0){continue}let e=false;for(let n=0,s=r.length;n<s;n++){if(r[n](t,o,i,true)){e=true;break}}if(e){break}}if(!s){return false}const u=t.getLines(e,o,t.blkIndent,false).trim();t.line=o+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=u;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 um(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 o=t.push("paragraph_open","p",1);o.map=[e,t.line];const u=t.push("inline","",0);u.content=l;u.map=[e,t.line];u.children=[];t.push("paragraph_close","p",-1);t.parentType=n;return true}const fm=[["table",zp,["paragraph","reference"]],["code",Bp],["fence",jp,["paragraph","reference","blockquote","list"]],["blockquote",Rp,["paragraph","reference","blockquote","list"]],["hr",Np,["paragraph","reference","blockquote","list"]],["list",Pp,["paragraph","reference","blockquote"]],["reference",Jp],["html_block",sm,["paragraph","reference","blockquote"]],["heading",lm,["paragraph","reference","blockquote"]],["lheading",om],["paragraph",um]];function hm(){this.ruler=new ep;for(let t=0;t<fm.length;t++){this.ruler.push(fm[t][0],fm[t][1],{alt:(fm[t][2]||[]).slice()})}}hm.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 o=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 u=false;for(let s=0;s<n;s++){u=r[s](t,l,i,false);if(u){if(e>=t.line){throw new Error("block rule didn't increment state.line")}break}}if(!u)throw new Error("none of the block rules matched");t.tight=!o;if(t.isEmpty(t.line-1)){o=true}l=t.line;if(l<i&&t.isEmpty(l)){o=true;l++;t.line=l}}};hm.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)};hm.prototype.State=Op;function am(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}am.prototype.pushPending=function(){const t=new ip("text","",0);t.content=this.pending;t.level=this.pendingLevel;this.tokens.push(t);this.pending="";return t};am.prototype.push=function(t,e,i){if(this.pending){this.pushPending()}const r=new ip(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};am.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 o=s<i?this.src.charCodeAt(s):32;const u=Ud(n)||Wd(String.fromCharCode(n));const f=Ud(o)||Wd(String.fromCharCode(o));const h=Ld(n);const a=Ld(o);const c=!a&&(!f||h||u);const d=!h&&(!u||a||f);const p=c&&(e||!d||u);const m=d&&(e||!c||f);return{can_open:p,can_close:m,length:l}};am.prototype.Token=ip;function cm(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 dm(t,e){let i=t.pos;while(i<t.posMax&&!cm(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 pm=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function mm(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(pm);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 o=l.url;if(o.length<=s.length)return false;o=o.replace(/\*+$/,"");const u=t.md.normalizeLink(o);if(!t.md.validateLink(u))return false;if(!e){t.pending=t.pending.slice(0,-s.length);const e=t.push("link_open","a",1);e.attrs=[["href",u]];e.markup="linkify";e.info="auto";const i=t.push("text","",0);i.content=t.md.normalizeLinkText(o);const r=t.push("link_close","a",-1);r.markup="linkify";r.info="auto"}t.pos+=o.length-s.length;return true}function wm(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&&Jd(t.src.charCodeAt(i))){i++}t.pos=i;return true}const gm=[];for(let t=0;t<256;t++){gm.push(0)}"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach((function(t){gm[t.charCodeAt(0)]=1}));function bm(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(!Jd(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&&gm[n]!==0){e.content=s}else{e.content=l}e.markup=l;e.info="escape"}t.pos=i+1;return true}function km(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 o=l.length;if(t.backticksScanned&&(t.backticks[o]||0)<=n){if(!e)t.pending+=l;t.pos+=o;return true}let u=i;let f;while((f=t.src.indexOf("`",u))!==-1){u=f+1;while(u<s&&t.src.charCodeAt(u)===96){u++}const r=u-f;if(r===o){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=u;return true}t.backticks[r]=f}t.backticksScanned=true;if(!e)t.pending+=l;t.pos+=o;return true}function vm(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 o;if(s%2){o=t.push("text","",0);o.content=l;s--}for(let e=0;e<s;e+=2){o=t.push("text","",0);o.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 Dm(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 ym(t){const e=t.tokens_meta;const i=t.tokens_meta.length;Dm(t,t.delimiters);for(let r=0;r<i;r++){if(e[r]&&e[r].delimiters){Dm(t,e[r].delimiters)}}}const Fm={tokenize:vm,postProcess:ym};function xm(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 Em(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 o=t.tokens[i.token];o.type=s?"strong_open":"em_open";o.tag=s?"strong":"em";o.nesting=1;o.markup=s?l+l:l;o.content="";const u=t.tokens[n.token];u.type=s?"strong_close":"em_close";u.tag=s?"strong":"em";u.nesting=-1;u.markup=s?l+l:l;u.content="";if(s){t.tokens[e[r-1].token].content="";t.tokens[e[i.end+1].token].content="";r--}}}function Mm(t){const e=t.tokens_meta;const i=t.tokens_meta.length;Em(t,t.delimiters);for(let r=0;r<i;r++){if(e[r]&&e[r].delimiters){Em(t,e[r].delimiters)}}}const Am={tokenize:xm,postProcess:Mm};function Cm(t,e){let i,r,n,s;let l="";let o="";let u=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(!Jd(i)&&i!==10){break}}if(p>=a){return false}u=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=""}u=p;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Jd(i)&&i!==10){break}}n=t.md.helpers.parseLinkTitle(t.src,p,t.posMax);if(p<a&&u!==p&&n.ok){o=n.str;p=n.pos;for(;p<a;p++){i=t.src.charCodeAt(p);if(!Jd(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){u=p+1;p=t.md.helpers.parseLinkLabel(t,p);if(p>=0){r=t.src.slice(u,p++)}else{p=d+1}}else{p=d+1}if(!r){r=t.src.slice(c,d)}s=t.env.references[Hd(r)];if(!s){t.pos=h;return false}l=s.href;o=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(o){i.push(["title",o])}t.linkLevel++;t.md.inline.tokenize(t);t.linkLevel--;t.push("link_close","a",-1)}t.pos=p;t.posMax=a;return true}function Om(t,e){let i,r,n,s,l,o,u,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(!Jd(i)&&i!==10){break}}if(s>=c){return false}f=s;o=t.md.helpers.parseLinkDestination(t.src,s,t.posMax);if(o.ok){h=t.md.normalizeLink(o.str);if(t.md.validateLink(h)){s=o.pos}else{h=""}}f=s;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Jd(i)&&i!==10){break}}o=t.md.helpers.parseLinkTitle(t.src,s,t.posMax);if(s<c&&f!==s&&o.ok){u=o.str;s=o.pos;for(;s<c;s++){i=t.src.charCodeAt(s);if(!Jd(i)&&i!==10){break}}}else{u=""}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[Hd(n)];if(!l){t.pos=a;return false}h=l.href;u=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(u){n.push(["title",u])}}t.pos=s;t.posMax=c;return true}const Sm=/^([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 $m=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function _m(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($m.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(Sm.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 zm(t){return/^<a[>\s]/i.test(t)}function Bm(t){return/^<\/a\s*>/i.test(t)}function jm(t){const e=t|32;return e>=97&&e<=122}function Rm(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&&!jm(n)){return false}const s=t.src.slice(r).match(im);if(!s){return false}if(!e){const e=t.push("html_inline","",0);e.content=s[0];if(zm(e.content))t.linkLevel++;if(Bm(e.content))t.linkLevel--}t.pos+=s[0].length;return true}const Nm=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;const qm=/^&([a-z][a-z0-9]{1,31});/i;function Tm(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(Nm);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=Md(e)?Ad(e):Ad(65533);i.markup=r[0];i.info="entity"}t.pos+=r[0].length;return true}}else{const r=t.src.slice(i).match(qm);if(r){const i=h(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 Im(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 o=e[i.marker][(i.open?3:0)+i.length%3];let u=r-s[r]-1;let f=u;for(;u>o;u-=s[u]+1){const e=t[u];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=u>0&&!t[u-1].open?s[u-1]+1:0;s[l]=l-u+r;s[u]=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 Pm(t){const e=t.tokens_meta;const i=t.tokens_meta.length;Im(t.delimiters);for(let t=0;t<i;t++){if(e[t]&&e[t].delimiters){Im(e[t].delimiters)}}}function Jm(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 Lm=[["text",dm],["linkify",mm],["newline",wm],["escape",bm],["backticks",km],["strikethrough",Fm.tokenize],["emphasis",Am.tokenize],["link",Cm],["image",Om],["autolink",_m],["html_inline",Rm],["entity",Tm]];const Wm=[["balance_pairs",Pm],["strikethrough",Fm.postProcess],["emphasis",Am.postProcess],["fragments_join",Jm]];function Um(){this.ruler=new ep;for(let t=0;t<Lm.length;t++){this.ruler.push(Lm[t][0],Lm[t][1])}this.ruler2=new ep;for(let t=0;t<Wm.length;t++){this.ruler2.push(Wm[t][0],Wm[t][1])}}Um.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};Um.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()}};Um.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)}};Um.prototype.State=am;function Hm(t){const e={};t=t||{};e.src_Any=dd.source;e.src_Cc=pd.source;e.src_Z=bd.source;e.src_P=wd.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 Zm(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 Km(t){return Object.prototype.toString.call(t)}function Vm(t){return Km(t)==="[object String]"}function Gm(t){return Km(t)==="[object Object]"}function Xm(t){return Km(t)==="[object RegExp]"}function Ym(t){return Km(t)==="[object Function]"}function Qm(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const tw={fuzzyLink:true,fuzzyEmail:true,fuzzyIP:false};function ew(t){return Object.keys(t||{}).reduce((function(t,e){return t||tw.hasOwnProperty(e)}),false)}const iw={"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 rw="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 nw="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function sw(t){t.__index__=-1;t.__text_cache__=""}function lw(t){return function(e,i){const r=e.slice(i);if(t.test(r)){return r.match(t)[0].length}return 0}}function ow(){return function(t,e){e.normalize(t)}}function uw(t){const e=t.re=Hm(t.__opts__);const i=t.__tlds__.slice();t.onCompile();if(!t.__tlds_replaced__){i.push(rw)}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(Gm(i)){if(Xm(i.validate)){r.validate=lw(i.validate)}else if(Ym(i.validate)){r.validate=i.validate}else{s(e,i)}if(Ym(i.normalize)){r.normalize=i.normalize}else if(!i.normalize){r.normalize=ow()}else{s(e,i)}return}if(Vm(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:ow()};const l=Object.keys(t.__compiled__).filter((function(e){return e.length>0&&t.__compiled__[e]})).map(Qm).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");sw(t)}function fw(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 hw(t,e){const i=new fw(t,e);t.__compiled__[i.schema].normalize(i,t);return i}function aw(t,e){if(!(this instanceof aw)){return new aw(t,e)}if(!e){if(ew(t)){e=t;t={}}}this.__opts__=Zm({},tw,e);this.__index__=-1;this.__last_index__=-1;this.__schema__="";this.__text_cache__="";this.__schemas__=Zm({},iw,t);this.__compiled__={};this.__tlds__=nw;this.__tlds_replaced__=false;this.re={};uw(this)}aw.prototype.add=function t(e,i){this.__schemas__[e]=i;uw(this);return this};aw.prototype.set=function t(e){this.__opts__=Zm(this.__opts__,e);return this};aw.prototype.test=function t(e){this.__text_cache__=e;this.__index__=-1;if(!e.length){return false}let i,r,n,s,l,o,u,f,h;if(this.re.schema_test.test(e)){u=this.re.schema_search;u.lastIndex=0;while((i=u.exec(e))!==null){s=this.testSchemaAt(e,i[2],u.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;o=n.index+n[0].length;if(this.__index__<0||l<this.__index__||l===this.__index__&&o>this.__last_index__){this.__schema__="mailto:";this.__index__=l;this.__last_index__=o}}}}return this.__index__>=0};aw.prototype.pretest=function t(e){return this.re.pretest.test(e)};aw.prototype.testSchemaAt=function t(e,i,r){if(!this.__compiled__[i.toLowerCase()]){return 0}return this.__compiled__[i.toLowerCase()].validate(e,r,this)};aw.prototype.match=function t(e){const i=[];let r=0;if(this.__index__>=0&&this.__text_cache__===e){i.push(hw(this,r));r=this.__last_index__}let n=r?e.slice(r):e;while(this.test(n)){i.push(hw(this,r));n=n.slice(this.__last_index__);r+=this.__last_index__}if(i.length){return i}return null};aw.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 hw(this,0)};aw.prototype.tlds=function t(e,i){e=Array.isArray(e)?e:[e];if(!i){this.__tlds__=e.slice();this.__tlds_replaced__=true;uw(this);return this}this.__tlds__=this.__tlds__.concat(e).sort().filter((function(t,e,i){return t!==i[e-1]})).reverse();uw(this);return this};aw.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}};aw.prototype.onCompile=function t(){};const cw=2147483647;const dw=36;const pw=1;const mw=26;const ww=38;const gw=700;const bw=72;const kw=128;const vw="-";const Dw=/^xn--/;const yw=/[^\0-\x7F]/;const Fw=/[\x2E\u3002\uFF0E\uFF61]/g;const xw={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const Ew=dw-pw;const Mw=Math.floor;const Aw=String.fromCharCode;function Cw(t){throw new RangeError(xw[t])}function Ow(t,e){const i=[];let r=t.length;while(r--){i[r]=e(t[r])}return i}function Sw(t,e){const i=t.split("@");let r="";if(i.length>1){r=i[0]+"@";t=i[1]}t=t.replace(Fw,".");const n=t.split(".");const s=Ow(n,e).join(".");return r+s}function $w(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 _w=t=>String.fromCodePoint(...t);const zw=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 dw};const Bw=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)};const jw=function(t,e,i){let r=0;t=i?Mw(t/gw):t>>1;t+=Mw(t/e);for(;t>Ew*mw>>1;r+=dw){t=Mw(t/Ew)}return Mw(r+(Ew+1)*t/(t+ww))};const Rw=function(t){const e=[];const i=t.length;let r=0;let n=kw;let s=bw;let l=t.lastIndexOf(vw);if(l<0){l=0}for(let i=0;i<l;++i){if(t.charCodeAt(i)>=128){Cw("not-basic")}e.push(t.charCodeAt(i))}for(let o=l>0?l+1:0;o<i;){const l=r;for(let e=1,n=dw;;n+=dw){if(o>=i){Cw("invalid-input")}const l=zw(t.charCodeAt(o++));if(l>=dw){Cw("invalid-input")}if(l>Mw((cw-r)/e)){Cw("overflow")}r+=l*e;const u=n<=s?pw:n>=s+mw?mw:n-s;if(l<u){break}const f=dw-u;if(e>Mw(cw/f)){Cw("overflow")}e*=f}const u=e.length+1;s=jw(r-l,u,l==0);if(Mw(r/u)>cw-n){Cw("overflow")}n+=Mw(r/u);r%=u;e.splice(r++,0,n)}return String.fromCodePoint(...e)};const Nw=function(t){const e=[];t=$w(t);const i=t.length;let r=kw;let n=0;let s=bw;for(const i of t){if(i<128){e.push(Aw(i))}}const l=e.length;let o=l;if(l){e.push(vw)}while(o<i){let i=cw;for(const e of t){if(e>=r&&e<i){i=e}}const u=o+1;if(i-r>Mw((cw-n)/u)){Cw("overflow")}n+=(i-r)*u;r=i;for(const i of t){if(i<r&&++n>cw){Cw("overflow")}if(i===r){let t=n;for(let i=dw;;i+=dw){const r=i<=s?pw:i>=s+mw?mw:i-s;if(t<r){break}const n=t-r;const l=dw-r;e.push(Aw(Bw(r+n%l,0)));t=Mw(n/l)}e.push(Aw(Bw(t,0)));s=jw(n,u,o===l);n=0;++o}}++n;++r}return e.join("")};const qw=function(t){return Sw(t,(function(t){return Dw.test(t)?Rw(t.slice(4).toLowerCase()):t}))};const Tw=function(t){return Sw(t,(function(t){return yw.test(t)?"xn--"+Nw(t):t}))};const Iw={version:"2.3.1",ucs2:{decode:$w,encode:_w},decode:Rw,encode:Nw,toASCII:Tw,toUnicode:qw};const Pw={options:{html:false,xhtmlOut:false,breaks:false,langPrefix:"language-",linkify:false,typographer:false,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}};const Jw={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 Lw={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 Ww={default:Pw,zero:Jw,commonmark:Lw};const Uw=/^(vbscript|javascript|file|data):/;const Hw=/^data:image\/(gif|png|jpeg|webp);/;function Zw(t){const e=t.trim().toLowerCase();return Uw.test(e)?Hw.test(e):true}const Kw=["http:","https:","mailto:"];function Vw(t){const e=ad(t,true);if(e.hostname){if(!e.protocol||Kw.indexOf(e.protocol)>=0){try{e.hostname=Iw.toASCII(e.hostname)}catch(t){}}}return Vc(Gc(e))}function Gw(t){const e=ad(t,true);if(e.hostname){if(!e.protocol||Kw.indexOf(e.protocol)>=0){try{e.hostname=Iw.toUnicode(e.hostname)}catch(t){}}}return Hc(Gc(e),Hc.defaultChars+"%")}function Xw(t,e){if(!(this instanceof Xw)){return new Xw(t,e)}if(!e){if(!Dd(t)){e=t||{};t="default"}}this.inline=new Um;this.block=new hm;this.core=new Cp;this.renderer=new tp;this.linkify=new aw;this.validateLink=Zw;this.normalizeLink=Vw;this.normalizeLinkText=Gw;this.utils=Kd;this.helpers=xd({},Yd);this.options={};this.configure(t);if(e){this.set(e)}}Xw.prototype.set=function(t){xd(this.options,t);return this};Xw.prototype.configure=function(t){const e=this;if(Dd(t)){const e=t;t=Ww[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};Xw.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};Xw.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};Xw.prototype.use=function(t){const e=[this].concat(Array.prototype.slice.call(arguments,1));t.apply(t,e);return this};Xw.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};Xw.prototype.render=function(t,e){e=e||{};return this.renderer.render(this.parse(t,e),this.options,e)};Xw.prototype.parseInline=function(t,e){const i=new this.core.State(t,this,e);i.inlineMode=true;this.core.process(i);return i.tokens};Xw.prototype.renderInline=function(t,e){e=e||{};return this.renderer.render(this.parseInline(t,e),this.options,e)};const Yw=new vi({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:{code:true,parseDOM:[{tag:"code"}],toDOM(){return["code"]}}}});function Qw(t,e){if(t.isText&&e.isText&&Ce.sameSet(t.marks,e.marks))return t.withText(t.text+e.text)}class tg{constructor(t,e){this.schema=t;this.tokenHandlers=e;this.stack=[{type:t.topNodeType,attrs:null,content:[],marks:Ce.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=Qw(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:Ce.none})}closeNode(){let t=this.stack.pop();return this.addNode(t.type,t.attrs,t.content)}}function eg(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 ig(t,e){return t.noCloseToken||e=="code_inline"||e=="code_block"||e=="fence"}function rg(t){return t[t.length-1]=="\n"?t.slice(0,t.length-1):t}function ng(){}function sg(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(ig(n,r)){i[r]=(t,i,r,s)=>{t.openNode(e,eg(n,i,r,s));t.addText(rg(i.content));t.closeNode()}}else{i[r+"_open"]=(t,i,r,s)=>t.openNode(e,eg(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,eg(n,i,r,s))}else if(n.mark){let e=t.marks[n.mark];if(ig(n,r)){i[r]=(t,i,r,s)=>{t.openMark(e.create(eg(n,i,r,s)));t.addText(rg(i.content));t.closeMark(e)}}else{i[r+"_open"]=(t,i,r,s)=>t.openMark(e.create(eg(n,i,r,s)));i[r+"_close"]=t=>t.closeMark(e)}}else if(n.ignore){if(ig(n,r)){i[r]=ng}else{i[r+"_open"]=ng;i[r+"_close"]=ng}}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 lg{constructor(t,e,i){this.schema=t;this.tokenizer=e;this.tokens=i;this.tokenHandlers=sg(t,i)}parse(t,e={}){let i=new tg(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 og(t,e){while(++e<t.length)if(t[e].type!="list_item_open")return t[e].hidden;return false}new lg(Yw,Xw("commonmark",{html:false}),{blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(t,e,i)=>({tight:og(e,i)})},ordered_list:{block:"ordered_list",getAttrs:(t,e,i)=>({order:+t.attrGet("start")||1,tight:og(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}});const ug={open:"",close:"",mixable:true};class fg{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 dg(this.nodes,this.marks,e);i.renderContent(t);return i.out}}const hg=new fg({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=cg(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 ag(i.child(r),-1)},close(t,e,i,r){return ag(i.child(r-1),1)},escape:false}});function ag(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 cg(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 dg{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}}getMark(t){let e=this.marks[t];if(!e){if(this.options.strict!==false)throw new Error(`Mark type \`${t}\` not supported by Markdown renderer`);e=ug}return e}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]){this.nodes[t.type.name](this,t,e,i)}else{if(this.options.strict!==false){throw new Error("Token type `"+t.type.name+"` not supported by Markdown renderer")}else if(!t.type.isLeaf){if(t.type.inlineContent)this.renderInline(t);else this.renderContent(t);if(t.isBlock)this.closeBlock(t)}}}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 o=r;r="";if(e&&e.isText&&l.some((t=>{let e=this.getMark(t.type.name);return e&&e.expelEnclosingWhitespace&&!t.isInSet(i)}))){let[t,r,n]=/^(\s*)(.*)$/m.exec(e.text);if(r){o+=r;e=n?e.withText(n):null;if(!e)l=i}}if(e&&e.isText&&l.some((e=>{let i=this.getMark(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 u=l.length?l[l.length-1]:null;let f=u&&this.getMark(u.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.getMark(e.type.name).mixable)break;for(let r=0;r<i.length;r++){let n=i[r];if(!this.getMark(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(o)this.text(o);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(u,true,t,s)+e.text+this.markString(u,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.getMark(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 pg=new Map;function mg(t){return{image:yg(t)}}function wg(t){return{image:kg(t)}}function gg(t,e){t.style.height=e.attrs.height;t.style.width=e.attrs.width;t.style.minHeight=e.attrs.minHeight;t.style.minWidth=e.attrs.minWidth;t.style.maxWidth=e.attrs.maxWidth}function bg(t){if(t.type.name==="image"){return true}for(let e=0;e<t.childCount;e++){const i=t.child(e);if(bg(i)){return true}}return false}function kg(t){return(e,i)=>{const r=i.attrs.state;if(!Fg(r)){return}if(r==="success"){const t=Dg(i.attrs);e.write(t);return}const n=vg(r,i.attrs.alt,t);e.write(n)}}function vg(t,e,i){const r=t==="failed"?"failed":"loading";const n=B.get(`editor-image-view.${r}`,i,{filename:e||"file"});return`<span>${n}</span>`}function Dg(t){const e=[];if(t.height){e.push(`height: ${t.height};`)}if(t.width){e.push(`width: ${t.width};`)}if(t.minHeight){e.push(`min-height: ${t.minHeight};`)}if(t.minWidth){e.push(`min-width: ${t.minWidth};`)}if(t.maxWidth){e.push(`max-width: ${t.maxWidth};`)}const i=e.length>0?` style="${e.join("")}"`:"";return`<img src="${t.src}" alt="${t.alt}"${i} />`}function yg(t){return{group:"inline",inline:true,attrs:{src:{default:""},alt:{default:""},fileInfoId:{default:""},height:{default:""},width:{default:""},minHeight:{default:""},minWidth:{default:""},maxWidth:{default:"100%"},state:{default:"success"}},toDOM:e=>{if(!Fg(e.attrs.state)){return}if(e.attrs.state==="success"){return xg(e.attrs.fileInfoId,e)}return Eg(e.attrs.state,e,t)},parseDOM:[{tag:"img",getAttrs:t=>({src:t.getAttribute("src")||"",alt:t.getAttribute("alt")||"file",width:t.style.width||"",maxWidth:"100%",state:"success",fileInfoId:crypto.randomUUID()})}]}}function Fg(t){return t==="loading"||t==="failed"||t==="success"}function xg(t,e){let i=pg.get(t);if(i){Ag(i,e)}else{i=Cg(e);pg.set(t,i)}return i}function Eg(t,e,i){const r=t==="failed"?"failed":"loading";return Mg(r,e,i)}function Mg(t,e,i){const r=B.get(`editor-image-view.${t}`,i,{filename:e.attrs.alt||"file"});const n=document.createElement("span");n.textContent=r;return n}function Ag(t,e){t.alt=e.attrs.alt;gg(t,e);return t}function Cg(t){const e=document.createElement("img");e.src=t.attrs.src;e.alt=t.attrs.alt;gg(e,t);return e}const Og=t=>(e,i)=>{const r=`<${t.tagName}`+t.attributes.map((t=>` ${t}="${i.attrs[t]}"`)).join("")+">";const n=`</${t.tagName}>`;e.write(r);e.renderContent(i);e.write(n)};const Sg=(t,e)=>{const i={};for(const e of t){i[e.tagName]=Og(e)}const r=Object.assign(Object.assign(Object.assign({},hg.nodes),wg(e)),i);const n=Object.assign(Object.assign({},hg.marks),{strikethrough:{open:"~~",close:"~~",mixable:true,expelEnclosingWhitespace:true}});return new fg(r,n)};class $g{constructor(t,e){this.parseAsHTML=t=>a(t,{whitelist:this.customNodes});this.serialize=t=>{if(t.dom.textContent.trim()===""&&!bg(t.state.doc)){return""}return this.markdownSerializer.serialize(t.state.doc)};this.markdownSerializer=Sg(t,e);this.customNodes=t}}class _g{constructor(t){this.parseAsHTML=t=>c(t,this.customNodes);this.serialize=t=>{if(t.dom.textContent.trim()===""&&!bg(t.state.doc)){return""}const e=document.createElement("div");e.append(qi.fromSchema(t.state.schema).serializeFragment(t.state.doc.content));return e.innerHTML};this.customNodes=t}}const zg={parseDOM:[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration=line-through"}],toDOM:()=>["s",0]};const Bg=new $n("linkPlugin");const jg=(t,e)=>{const{from:i,to:r}=t.state.selection;let n="";let s="";t.state.doc.nodesBetween(i,r,((t,e)=>{if(t.type.name!=="text"){return}const l=Math.max(0,i-e);const o=Math.min(t.text.length,r-e);n+=t.text.slice(l,o);t.marks.forEach((t=>{if(t.type.name==="link"){s=t.attrs.href}}))}));if(e){e(n,s)}};const Rg=(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===s.Link&&t.attrs.href===i))){break}e--}return e};const Ng=(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===s.Link&&t.attrs.href===i))){break}e++}return e};const qg=(t,e)=>{const i=t.posAtCoords({left:e.clientX,top:e.clientY});const r=t.state.doc.nodeAt(i===null||i===void 0?void 0:i.pos);if(!r){return null}const n=r.marks.find((t=>t.type.name===s.Link));if(!n){return null}const l=n.attrs.href;const o=Rg(t.state.doc,i.pos,l);const u=Ng(t.state.doc,i.pos,l);const f=t.state.doc.textBetween(o,u," ");return{href:l,text:f,from:o,to:u}};const Tg=(t,e)=>{const i=qg(t,e);if(!i.href){return false}e.preventDefault();const{href:r}=i;if(r){window.open(r,"_blank","noopener,noreferrer");return true}return false};const Ig=(t,e,i)=>{const r=new CustomEvent("open-editor-link-menu",{detail:{href:e,text:i},bubbles:true,composed:true});t.dom.dispatchEvent(r)};const Pg=(t,e)=>{const i=qg(t,e);if(!i){return false}const{href:r,text:n,from:s,to:l}=i;const o=t.state.tr.setSelection(hn.create(t.state.doc,s,l));t.dispatch(o);Ig(t,r,n);return true};const Jg=/(https?:\/\/[^\s<>"']+|mailto:[^\s<>"']+|tel:[^\s<>"']+|www\.[^\s<>"']+)/g;const Lg=t=>{Jg.lastIndex=0;return Jg.test(t)};const Wg=(t,e)=>t.text(e);const Ug=(t,e)=>{const i=t=>{let e=t.trim();while(e.endsWith("\\")){e=e.slice(0,-1)}if(e.toLowerCase().startsWith("www.")){e=`https://${e}`}return e};const r=i(e);const n=t.marks.link.create(f(r,r));return t.text(r,[n])};const Hg=t=>{const e=[];let i;Jg.lastIndex=0;while((i=Jg.exec(t))!==null){e.push({url:i[0],start:i.index,end:i.index+i[0].length})}return e};const Zg=(t,e)=>{const i=t.split(/\r\n|\r|\n/);const r=[];for(const[t,n]of i.entries()){if(n.length>0){r.push(...Kg(n,e))}if(t<i.length-1){const t=e.nodes.hard_break;if(t){r.push(t.create())}else{console.warn("hard_break node not found in schema")}}}return r};const Kg=(t,e)=>{const i=[];const r=Hg(t);if(r.length===0){return[Wg(e,t)]}let n=0;for(const s of r){if(s.start>n){i.push(Wg(e,t.slice(n,s.start)))}i.push(Ug(e,s.url));n=s.end}if(n<t.length){i.push(Wg(e,t.slice(n)))}return i};const Vg=(t,e)=>{if(e.length===0){return}if(Gg(e)){Xg(t,e[0])}else{Yg(t,e)}};const Gg=t=>{if(t.length!==1){return false}const e=t[0];if(!e.isText||!e.text||e.text.trim()===""){return false}return e.marks.some((t=>t.type.name==="link"))};const Xg=(t,e)=>{const{state:i,dispatch:r}=t;const{from:n,to:s}=i.selection;const l=e.marks.find((t=>t.type.name==="link"));const o=i.doc.textBetween(n,s," ")||l.attrs.href;r(i.tr.insertText(o,n,s).addMark(n,n+o.length,l))};const Yg=(t,e)=>{const{state:i,dispatch:r}=t;const{from:n,to:s}=i.selection;const l=xe.fromArray(e);r(i.tr.replaceWith(n,s,l))};const Qg=(t,e)=>{var i;const r=(i=e.clipboardData)===null||i===void 0?void 0:i.getData("text/plain");if(!r||!Lg(r)){return false}const n=Zg(r,t.state.schema);e.preventDefault();Vg(t,n);return true};const tb=t=>new Cn({key:Bg,props:{handlePaste:(t,e)=>Qg(t,e),handleDOMEvents:{mousedown:(t,e)=>{if((e.metaKey||e.ctrlKey)&&e.button===0){return Tg(t,e)}},dblclick:(t,e)=>{if(e.button!==o.Right){return Pg(t,e)}},click:(t,e)=>{if(!(e.target instanceof HTMLElement)){return}const i=e.target.closest("a");if(i){e.preventDefault();e.stopPropagation()}}}},view:()=>({update:e=>{jg(e,t)}})});const eb={attrs:{href:{default:""},title:{default:null},target:{default:null},rel:{default:null},referrerpolicy:{default:null}},inclusive:false,parseDOM:[{tag:"a[href]",getAttrs:t=>({href:t.getAttribute("href")||"",title:t.getAttribute("title"),target:t.getAttribute("target"),rel:t.getAttribute("rel"),referrerpolicy:t.getAttribute("referrerpolicy")})}],toDOM:t=>{const e=t.attrs.target||null;const i={rel:e==="_blank"?"noopener noreferrer":null,referrerpolicy:e==="_blank"?"noreferrer":null};return["a",Object.assign(Object.assign({},t.attrs),i),0]}};const ib=new $n("imageInserterPlugin");const rb=t=>new Cn({key:ib,props:{handlePaste:(t,e,i)=>ab(t,e,i),handleDOMEvents:{imagePasted:(e,i)=>{t(i.detail)}}}});const nb=(t,e,i)=>({fileInfo:i,insertThumbnail:sb(t,e,i),insertImage:lb(t,i),insertFailedThumbnail:ob(t,i)});const sb=(t,e,i)=>()=>{const{state:r,dispatch:n}=t;const{schema:s}=r;const l=ub(e,i,"loading");const o=s.nodes.image.create(l);const u=r.tr.replaceSelectionWith(o);n(u)};const lb=(t,e)=>i=>{const{state:r,dispatch:n}=t;const{schema:s}=r;const l=r.tr;r.doc.descendants(((t,r)=>{if(t.attrs.fileInfoId===e.id){const n=ub(i!==null&&i!==void 0?i:t.attrs.src,e,"success");const o=s.nodes.image.create(n);l.replaceWith(r,r+t.nodeSize,o);return false}}));n(l)};const ob=(t,e)=>()=>{const{state:i,dispatch:r}=t;const{schema:n}=i;const s=i.tr;i.doc.descendants(((t,i)=>{if(t.attrs.fileInfoId===e.id){const r=ub(t.attrs.src,e,"failed");const l=n.nodes.image.create(r);s.replaceWith(i,i+t.nodeSize,l);return false}}));r(s)};function ub(t,e,i){return{src:t,alt:e.filename,fileInfoId:e.id,state:i}}const fb=t=>{if(t instanceof Ve){if(t.type.name==="image"){return true}let e=false;t.content.forEach((t=>{if(fb(t)){e=true}}));return e}else if(t instanceof xe){let e=false;t.forEach((t=>{if(fb(t)){e=true}}));return e}return false};const hb=t=>{const e=[];t.forEach((t=>{if(!fb(t)){if(t.content.size>0){const i=hb(t.content);const r=t.copy(i);e.push(r)}else{e.push(t)}}}));return xe.fromArray(e)};const ab=(t,e,i)=>{const r=e.clipboardData;if(!r){return false}const n=cb(t,r);const s=new Se(hb(i.content),i.openStart,i.openEnd);if(s.content.childCount<i.content.childCount){const{state:e,dispatch:i}=t;const r=e.tr.replaceSelection(s);i(r);return true}return n};function cb(t,e){let i=false;const r=[...e.files||[]];for(const n of r){if(db(n,e)){i=true;const e=new FileReader;e.onloadend=()=>{t.dom.dispatchEvent(new CustomEvent("imagePasted",{detail:nb(t,e.result,N(n))}))};e.readAsDataURL(n)}}return i}function db(t,e){var i,r;if(!pb(t)){return false}const n=(r=(i=e===null||e===void 0?void 0:e.getData("text/html"))===null||i===void 0?void 0:i.toLowerCase())!==null&&r!==void 0?r:"";return!mb(n)&&!wb(n)}function pb(t){if(!(t===null||t===void 0?void 0:t.type)){return false}return t.type.startsWith("image/")}function mb(t){if(!t){return false}return t.includes('name=generator content="microsoft excel"')||t.includes('xmlns:x="urn:schemas-microsoft-com:office:excel"')}function wb(t){if(!t){return false}return t.includes("<table")}const gb=10;const bb=t=>new Cn({props:{nodeViews:{image:(e,i,r)=>new kb(e,i,r,t)}}});class kb{constructor(t,e,i,r){this.createResizeHandle=t=>{const e=document.createElement("div");e.className=`resize-handle ${t}`;e.setAttribute("role","slider");e.setAttribute("aria-label",B.get("editor-image-view.resize-handle",this.language));e.setAttribute("tabindex","0");e.setAttribute("aria-valuemin",gb.toString());e.setAttribute("aria-valuenow",this.img.offsetWidth.toString());e.setAttribute("aria-valuetext",`${this.img.offsetWidth} pixels`);e.setAttribute("aria-grabbed","false");e.addEventListener("pointerdown",(i=>{e.setAttribute("aria-grabbed","true");this.onResizeStart(i,t)}));return e};this.onResizeStart=(t,e)=>{t.preventDefault();const i=t.target;const r=t.clientX;const n=this.img.offsetWidth;const s=t=>{const i=t.clientX-r;const s=e==="top-left"?-i:i;const l=Math.max(gb,n+s);this.img.style.width=`${l}px`;const o=this.dom.querySelectorAll(".resize-handle");for(const t of o){t.setAttribute("aria-valuenow",l.toString());t.setAttribute("aria-valuetext",`${l} pixels`)}};const l=()=>{window.removeEventListener("pointermove",s);window.removeEventListener("pointerup",l);i.setAttribute("aria-grabbed","false");this.persistDimensions()};window.addEventListener("pointermove",s);window.addEventListener("pointerup",l)};this.createLoadingState=()=>{this.dom.setAttribute("aria-live","polite");this.dom.setAttribute("aria-busy","true");this.dom.setAttribute("aria-label",B.get("editor-image-view.loading",this.language,{filename:this.node.attrs.alt||"file"}));const t=document.createElement("limel-linear-progress");t.setAttribute("indeterminate","true");this.dom.append(t)};this.createSuccessState=()=>{this.dom.setAttribute("aria-live","polite");this.dom.setAttribute("aria-busy","false");this.dom.setAttribute("aria-label",B.get("editor-image-view.success",this.language,{filename:this.node.attrs.alt||"file"}));const t=this.createResizeHandle("bottom-right");const e=this.createResizeHandle("top-left");this.dom.append(t);this.dom.append(e)};this.createFailedState=()=>{this.dom.setAttribute("aria-live","assertive");this.dom.setAttribute("aria-busy","false");this.dom.setAttribute("aria-label",B.get("editor-image-view.failed",this.language,{filename:this.node.attrs.alt||"file"}))};this.cleanUpPreviousState=()=>{for(const t of this.dom.childNodes){if(!(t instanceof HTMLImageElement)){t.remove()}}};this.transitionBetweenStates=()=>{var t;this.cleanUpPreviousState();this.dom.className=`image-wrapper state-${this.node.attrs.state}`;const e={loading:this.createLoadingState,success:this.createSuccessState,failed:this.createFailedState};const i=this.node.attrs.state;(t=e[i])===null||t===void 0?void 0:t.call(e)};this.transitioningBetweenSuccessStates=t=>this.node.attrs.state==="success"&&t.attrs.state==="success";this.node=t;this.view=e;this.getPos=i;this.language=r;this.dom=document.createElement("div");this.dom.className=`image-wrapper state-${t.attrs.state}`;this.img=document.createElement("img");this.img.src=t.attrs.src;this.img.alt=t.attrs.alt;gg(this.img,t);this.img.addEventListener("load",(()=>{this.persistDimensions()}));this.dom.append(this.img);this.transitionBetweenStates()}persistDimensions(){this.view.dispatch(this.view.state.tr.setNodeMarkup(this.getPos(),undefined,Object.assign(Object.assign({},this.node.attrs),{height:`${this.img.offsetHeight}px`,width:`${this.img.offsetWidth}px`,minHeight:`${this.img.offsetHeight}px`,minWidth:`${this.img.offsetWidth}px`})))}update(t){if(!this.transitioningBetweenSuccessStates(t)){this.img.src=t.attrs.src;this.img.alt=t.attrs.alt;gg(this.img,t)}this.node=t;this.transitionBetweenStates();return true}}const vb=new $n("actionBarPlugin");const Db=(t,e,i)=>{var r,n,s;const l={};const o={};for(const u of t){const t=e.getCommand(u);l[u]=!!((r=t===null||t===void 0?void 0:t.active)===null||r===void 0?void 0:r.call(t,i.state))||false;o[u]=!!((s=(n=t===null||t===void 0?void 0:t.allowed)===null||n===void 0?void 0:n.call(t,i.state))!==null&&s!==void 0?s:true)}return{active:l,allowed:o}};const yb=(t,e,i)=>new Cn({key:vb,state:{init:()=>({active:{},allowed:{}}),apply:(t,e)=>{const i=t.getMeta(vb);return i!==null&&i!==void 0?i:e}},view:()=>({update:r=>{const n=vb.getState(r.state);const s=Db(t,e,r);if(!q(n,s)){const t=r.state.tr.setMeta(vb,s);r.dispatch(t);i(s.active,s.allowed)}}})});const Fb=new $n("actionBarInteractionPlugin");const xb=(t,e)=>{const{state:i}=e;const r=i.selection;let n=i.tr;if(!r.empty){n.setSelection(r)}t(i,(t=>{n=t}));e.dispatch(n);e.focus()};const Eb=t=>new Cn({key:Fb,props:{handleDOMEvents:{actionBarItemClick:(e,i)=>{i.preventDefault();i.stopPropagation();const{value:r}=i.detail;try{const i=t.getCommand(r);xb(i,e)}catch(t){console.error(`Error executing command: ${t}`)}return true},saveLinkMenu:(e,i)=>{i.preventDefault();i.stopPropagation();const{type:r,link:n}=i.detail;if(r===s.Link){try{const i=t.getCommand(r,n);xb(i,e)}catch(t){console.error(`Error executing command: ${t}`)}}return true}}}});const Mb=t=>{const e={};for(const i of t.attributes)e[i]={};const i=`${t.tagName}[${t.attributes.map((t=>t)).join("][")}]`;return{group:"inline",content:"(text* | inline*)",inline:true,atom:true,selectable:true,attrs:e,toDOM:e=>[t.tagName,e.attrs],parseDOM:[{tag:i,getAttrs:e=>{const i={};t.attributes.forEach((t=>i[t]=e.getAttribute(t)));return i}}]}};const Ab=(t,e,i,r)=>{const n=t.state.schema;return async s=>{const l=document.createElement("span");l.innerHTML=await e.parseAsHTML(s,n);const o=xi.fromSchema(n).parse(l).content;r(t,i,o)}};const Cb=(t,e,i)=>({insert:Ob(t,i),insertHtml:Ab(t,e,i.position,$b),stopTrigger:()=>Sb(t)});const Ob=(t,e)=>i=>{const r=t.state.schema;let n;try{n=_b(i,r)}catch(t){console.error(t.message);return}const s=r.text(" ");const l=r.nodes.doc.create(null,[n,s]);$b(t,e.position,l)};const Sb=t=>{const{state:e,dispatch:i}=t;const r=e.tr;r.setMeta("stopTrigger",true);i(r)};const $b=(t,e,i)=>{const r=t.state;const n=r.selection.$from.pos;const s=t.dispatch;const l=r.tr.replaceWith(e,n,i);l.setMeta("stopTrigger",true);s(l)};const _b=(t,e)=>{var i;if(typeof t==="string"){return e.text(t)}const r=t.node;if(typeof r==="string"){return e.text(r)}const n=zb(r.tagName,e);const s=((i=t.children)!==null&&i!==void 0?i:[]).map((t=>_b(t,e))).filter(Boolean);return n.create(r.attributes,s)};const zb=(t,e)=>{const i=Object.values(e.nodes).find((e=>e.name===t));if(!i){throw new Error(`No custom element has been registered for node ${t}`)}return i};const Bb=(t,e,i,r)=>{const n={trigger:i.character,textEditor:Cb(t,e,i),value:r};return n};const jb=(t,e,i,r,n)=>{const s=new CustomEvent(t,{detail:Bb(e,i,r,n),bubbles:true,composed:true});e.dom.dispatchEvent(s)};const Rb=(t,e,i)=>(r,n,s,l)=>{if(!e.includes(l)){return false}const o=r.state.doc;const u=o.textBetween(n-1,n,"");if(/\s/.test(u)||u===""){const e={character:l,position:n};i(e);jb("triggerStart",r,t,e,l)}return false};const Nb=(t,e,i,r,n)=>{if(!e||e.position<1){return false}for(const s of t.steps){if(s instanceof ar){const{from:t,to:l,slice:o}=s;if(t<=e.position&&l>=e.position){const t=o.content.textBetween(0,o.content.size,"");if(!t.includes(e.character)){i();jb("triggerStop",n,r,e,"");return true}}}}return false};const qb=(t,e,i,r,n)=>{let s="";if(i>e.position){s=t.textBetween(e.position+1,i,"")}jb("triggerChange",n,r,e,s);return s};const Tb=(t,e,i,r)=>(n,s,l)=>{const o=e();if(!o){return}const u=Nb(n[0],o,i,r,t());if(u){i();return}qb(l.doc,o,l.selection.from,r,t())};const Ib=(t,e)=>{let i=null;let r=null;const n=()=>i;const s=()=>r;const l=()=>{r=null};const o=t=>{r=t};const u=Rb(e,t,o);const f=Tb(n,s,l,e);return new Cn({key:new $n("triggerPlugin"),view:t=>{i=t;return{}},state:{init:()=>({}),apply:t=>{if(t.getMeta("stopTrigger")){jb("triggerStop",i,e,r,"");l()}return{}}},props:{handleTextInput:u},appendTransaction:f})};var Pb;var Jb;if(typeof WeakMap!="undefined"){let t=new WeakMap;Pb=e=>t.get(e);Jb=(e,i)=>{t.set(e,i);return i}}else{const t=[];const e=10;let i=0;Pb=e=>{for(let i=0;i<t.length;i+=2)if(t[i]==e)return t[i+1]};Jb=(r,n)=>{if(i==e)i=0;t[i++]=r;return t[i++]=n}}var Lb=class{constructor(t,e,i,r){this.width=t;this.height=e;this.map=i;this.problems=r}findCell(t){for(let e=0;e<this.map.length;e++){const i=this.map[e];if(i!=t)continue;const r=e%this.width;const n=e/this.width|0;let s=r+1;let l=n+1;for(let t=1;s<this.width&&this.map[e+t]==i;t++){s++}for(let t=1;l<this.height&&this.map[e+this.width*t]==i;t++){l++}return{left:r,top:n,right:s,bottom:l}}throw new RangeError(`No cell with offset ${t} found`)}colCount(t){for(let e=0;e<this.map.length;e++){if(this.map[e]==t){return e%this.width}}throw new RangeError(`No cell with offset ${t} found`)}nextCell(t,e,i){const{left:r,right:n,top:s,bottom:l}=this.findCell(t);if(e=="horiz"){if(i<0?r==0:n==this.width)return null;return this.map[s*this.width+(i<0?r-1:n)]}else{if(i<0?s==0:l==this.height)return null;return this.map[r+this.width*(i<0?s-1:l)]}}rectBetween(t,e){const{left:i,right:r,top:n,bottom:s}=this.findCell(t);const{left:l,right:o,top:u,bottom:f}=this.findCell(e);return{left:Math.min(i,l),top:Math.min(n,u),right:Math.max(r,o),bottom:Math.max(s,f)}}cellsInRect(t){const e=[];const i={};for(let r=t.top;r<t.bottom;r++){for(let n=t.left;n<t.right;n++){const s=r*this.width+n;const l=this.map[s];if(i[l])continue;i[l]=true;if(n==t.left&&n&&this.map[s-1]==l||r==t.top&&r&&this.map[s-this.width]==l){continue}e.push(l)}}return e}positionAt(t,e,i){for(let r=0,n=0;;r++){const s=n+i.child(r).nodeSize;if(r==t){let i=e+t*this.width;const r=(t+1)*this.width;while(i<r&&this.map[i]<n)i++;return i==r?s-1:this.map[i]}n=s}}static get(t){return Pb(t)||Jb(t,Wb(t))}};function Wb(t){if(t.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+t.type.name);const e=Ub(t),i=t.childCount;const r=[];let n=0;let s=null;const l=[];for(let t=0,n=e*i;t<n;t++)r[t]=0;for(let o=0,u=0;o<i;o++){const f=t.child(o);u++;for(let t=0;;t++){while(n<r.length&&r[n]!=0)n++;if(t==f.childCount)break;const h=f.child(t);const{colspan:a,rowspan:c,colwidth:d}=h.attrs;for(let t=0;t<c;t++){if(t+o>=i){(s||(s=[])).push({type:"overlong_rowspan",pos:u,n:c-t});break}const f=n+t*e;for(let t=0;t<a;t++){if(r[f+t]==0)r[f+t]=u;else(s||(s=[])).push({type:"collision",row:o,pos:u,n:a-t});const i=d&&d[t];if(i){const r=(f+t)%e*2,n=l[r];if(n==null||n!=i&&l[r+1]==1){l[r]=i;l[r+1]=1}else if(n==i){l[r+1]++}}}}n+=a;u+=h.nodeSize}const h=(o+1)*e;let a=0;while(n<h)if(r[n++]==0)a++;if(a)(s||(s=[])).push({type:"missing",row:o,n:a});u++}if(e===0||i===0)(s||(s=[])).push({type:"zero_sized"});const o=new Lb(e,i,r,s);let u=false;for(let t=0;!u&&t<l.length;t+=2)if(l[t]!=null&&l[t+1]<i)u=true;if(u)Hb(o,l,t);return o}function Ub(t){let e=-1;let i=false;for(let r=0;r<t.childCount;r++){const n=t.child(r);let s=0;if(i)for(let e=0;e<r;e++){const i=t.child(e);for(let t=0;t<i.childCount;t++){const n=i.child(t);if(e+n.attrs.rowspan>r)s+=n.attrs.colspan}}for(let t=0;t<n.childCount;t++){const e=n.child(t);s+=e.attrs.colspan;if(e.attrs.rowspan>1)i=true}if(e==-1)e=s;else if(e!=s)e=Math.max(e,s)}return e}function Hb(t,e,i){if(!t.problems)t.problems=[];const r={};for(let n=0;n<t.map.length;n++){const s=t.map[n];if(r[s])continue;r[s]=true;const l=i.nodeAt(s);if(!l){throw new RangeError(`No cell with offset ${s} found`)}let o=null;const u=l.attrs;for(let i=0;i<u.colspan;i++){const r=(n+i)%t.width;const s=e[r*2];if(s!=null&&(!u.colwidth||u.colwidth[i]!=s))(o||(o=Zb(u)))[i]=s}if(o)t.problems.unshift({type:"colwidth mismatch",pos:s,colwidth:o})}}function Zb(t){if(t.colwidth)return t.colwidth.slice();const e=[];for(let i=0;i<t.colspan;i++)e.push(0);return e}function Kb(t,e){if(typeof t==="string"){return{}}const i=t.getAttribute("data-colwidth");const r=i&&/^\d+(,\d+)*$/.test(i)?i.split(",").map((t=>Number(t))):null;const n=Number(t.getAttribute("colspan")||1);const s={colspan:n,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:r&&r.length==n?r:null};for(const i in e){const r=e[i].getFromDOM;const n=r&&r(t);if(n!=null){s[i]=n}}return s}function Vb(t,e){const i={};if(t.attrs.colspan!=1)i.colspan=t.attrs.colspan;if(t.attrs.rowspan!=1)i.rowspan=t.attrs.rowspan;if(t.attrs.colwidth)i["data-colwidth"]=t.attrs.colwidth.join(",");for(const r in e){const n=e[r].setDOMAttr;if(n)n(t.attrs[r],i)}return i}function Gb(t){const e=t.cellAttributes||{};const i={colspan:{default:1},rowspan:{default:1},colwidth:{default:null}};for(const t in e)i[t]={default:e[t].default};return{table:{content:"table_row+",tableRole:"table",isolating:true,group:t.tableGroup,parseDOM:[{tag:"table"}],toDOM(){return["table",["tbody",0]]}},table_row:{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM(){return["tr",0]}},table_cell:{content:t.cellContent,attrs:i,tableRole:"cell",isolating:true,parseDOM:[{tag:"td",getAttrs:t=>Kb(t,e)}],toDOM(t){return["td",Vb(t,e),0]}},table_header:{content:t.cellContent,attrs:i,tableRole:"header_cell",isolating:true,parseDOM:[{tag:"th",getAttrs:t=>Kb(t,e)}],toDOM(t){return["th",Vb(t,e),0]}}}}function Xb(t){let e=t.cached.tableNodeTypes;if(!e){e=t.cached.tableNodeTypes={};for(const i in t.nodes){const r=t.nodes[i],n=r.spec.tableRole;if(n)e[n]=r}}return e}var Yb=new $n("selectingCells");function Qb(t){for(let e=t.depth-1;e>0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function tk(t){const e=t.selection.$head;for(let t=e.depth;t>0;t--)if(e.node(t).type.spec.tableRole=="row")return true;return false}function ek(t){const e=t.selection;if("$anchorCell"in e&&e.$anchorCell){return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell}else if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell"){return e.$anchor}const i=Qb(e.$head)||ik(e.$head);if(i){return i}throw new RangeError(`No cell found around position ${e.head}`)}function ik(t){for(let e=t.nodeAfter,i=t.pos;e;e=e.firstChild,i++){const r=e.type.spec.tableRole;if(r=="cell"||r=="header_cell")return t.doc.resolve(i)}for(let e=t.nodeBefore,i=t.pos;e;e=e.lastChild,i--){const r=e.type.spec.tableRole;if(r=="cell"||r=="header_cell")return t.doc.resolve(i-e.nodeSize)}}function rk(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function nk(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function sk(t,e,i){const r=t.node(-1);const n=Lb.get(r);const s=t.start(-1);const l=n.nextCell(t.pos-s,e,i);return l==null?null:t.node(0).resolve(s+l)}function lk(t,e,i=1){const r={...t,colspan:t.colspan-i};if(r.colwidth){r.colwidth=r.colwidth.slice();r.colwidth.splice(e,i);if(!r.colwidth.some((t=>t>0)))r.colwidth=null}return r}var ok=class t extends ln{constructor(t,e=t){const i=t.node(-1);const r=Lb.get(i);const n=t.start(-1);const s=r.rectBetween(t.pos-n,e.pos-n);const l=t.node(0);const o=r.cellsInRect(s).filter((t=>t!=e.pos-n));o.unshift(e.pos-n);const u=o.map((t=>{const e=i.nodeAt(t);if(!e){throw RangeError(`No cell with offset ${t} found`)}const r=n+t+1;return new on(l.resolve(r),l.resolve(r+e.content.size))}));super(u[0].$from,u[0].$to,u);this.$anchorCell=t;this.$headCell=e}map(e,i){const r=e.resolve(i.map(this.$anchorCell.pos));const n=e.resolve(i.map(this.$headCell.pos));if(rk(r)&&rk(n)&&nk(r,n)){const e=this.$anchorCell.node(-1)!=r.node(-1);if(e&&this.isRowSelection())return t.rowSelection(r,n);else if(e&&this.isColSelection())return t.colSelection(r,n);else return new t(r,n)}return hn.between(r,n)}content(){const t=this.$anchorCell.node(-1);const e=Lb.get(t);const i=this.$anchorCell.start(-1);const r=e.rectBetween(this.$anchorCell.pos-i,this.$headCell.pos-i);const n={};const s=[];for(let i=r.top;i<r.bottom;i++){const l=[];for(let s=i*e.width+r.left,o=r.left;o<r.right;o++,s++){const i=e.map[s];if(n[i])continue;n[i]=true;const o=e.findCell(i);let u=t.nodeAt(i);if(!u){throw RangeError(`No cell with offset ${i} found`)}const f=r.left-o.left;const h=o.right-r.right;if(f>0||h>0){let t=u.attrs;if(f>0){t=lk(t,0,f)}if(h>0){t=lk(t,t.colspan-h,h)}if(o.left<r.left){u=u.type.createAndFill(t);if(!u){throw RangeError(`Could not create cell with attrs ${JSON.stringify(t)}`)}}else{u=u.type.create(t,u.content)}}if(o.top<r.top||o.bottom>r.bottom){const t={...u.attrs,rowspan:Math.min(o.bottom,r.bottom)-Math.max(o.top,r.top)};if(o.top<r.top){u=u.type.createAndFill(t)}else{u=u.type.create(t,u.content)}}l.push(u)}s.push(t.child(i).copy(xe.from(l)))}const l=this.isColSelection()&&this.isRowSelection()?t:s;return new Se(xe.from(l),1,1)}replace(t,e=Se.empty){const i=t.steps.length,r=this.ranges;for(let n=0;n<r.length;n++){const{$from:s,$to:l}=r[n],o=t.mapping.slice(i);t.replace(o.map(s.pos),o.map(l.pos),n?Se.empty:e)}const n=ln.findFrom(t.doc.resolve(t.mapping.slice(i).map(this.to)),-1);if(n)t.setSelection(n)}replaceWith(t,e){this.replace(t,new Se(xe.from(e),0,0))}forEachCell(t){const e=this.$anchorCell.node(-1);const i=Lb.get(e);const r=this.$anchorCell.start(-1);const n=i.cellsInRect(i.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let i=0;i<n.length;i++){t(e.nodeAt(n[i]),r+n[i])}}isColSelection(){const t=this.$anchorCell.index(-1);const e=this.$headCell.index(-1);if(Math.min(t,e)>0)return false;const i=t+this.$anchorCell.nodeAfter.attrs.rowspan;const r=e+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(i,r)==this.$headCell.node(-1).childCount}static colSelection(e,i=e){const r=e.node(-1);const n=Lb.get(r);const s=e.start(-1);const l=n.findCell(e.pos-s);const o=n.findCell(i.pos-s);const u=e.node(0);if(l.top<=o.top){if(l.top>0)e=u.resolve(s+n.map[l.left]);if(o.bottom<n.height)i=u.resolve(s+n.map[n.width*(n.height-1)+o.right-1])}else{if(o.top>0)i=u.resolve(s+n.map[o.left]);if(l.bottom<n.height)e=u.resolve(s+n.map[n.width*(n.height-1)+l.right-1])}return new t(e,i)}isRowSelection(){const t=this.$anchorCell.node(-1);const e=Lb.get(t);const i=this.$anchorCell.start(-1);const r=e.colCount(this.$anchorCell.pos-i);const n=e.colCount(this.$headCell.pos-i);if(Math.min(r,n)>0)return false;const s=r+this.$anchorCell.nodeAfter.attrs.colspan;const l=n+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,l)==e.width}eq(e){return e instanceof t&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,i=e){const r=e.node(-1);const n=Lb.get(r);const s=e.start(-1);const l=n.findCell(e.pos-s);const o=n.findCell(i.pos-s);const u=e.node(0);if(l.left<=o.left){if(l.left>0)e=u.resolve(s+n.map[l.top*n.width]);if(o.right<n.width)i=u.resolve(s+n.map[n.width*(o.top+1)-1])}else{if(o.left>0)i=u.resolve(s+n.map[o.top*n.width]);if(l.right<n.width)e=u.resolve(s+n.map[n.width*(l.top+1)-1])}return new t(e,i)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(e,i){return new t(e.resolve(i.anchor),e.resolve(i.head))}static create(e,i,r=i){return new t(e.resolve(i),e.resolve(r))}getBookmark(){return new uk(this.$anchorCell.pos,this.$headCell.pos)}};ok.prototype.visible=false;ln.jsonID("cell",ok);var uk=class t{constructor(t,e){this.anchor=t;this.head=e}map(e){return new t(e.map(this.anchor),e.map(this.head))}resolve(t){const e=t.resolve(this.anchor),i=t.resolve(this.head);if(e.parent.type.spec.tableRole=="row"&&i.parent.type.spec.tableRole=="row"&&e.index()<e.parent.childCount&&i.index()<i.parent.childCount&&nk(e,i))return new ok(e,i);else return ln.near(i,1)}};function fk(t){if(!(t.selection instanceof ok))return null;const e=[];t.selection.forEachCell(((t,i)=>{e.push(fu.node(i,i+t.nodeSize,{class:"selectedCell"}))}));return cu.create(t.doc,e)}function hk({$from:t,$to:e}){if(t.pos==e.pos||t.pos<e.pos-6)return false;let i=t.pos;let r=e.pos;let n=t.depth;for(;n>=0;n--,i++)if(t.after(n+1)<t.end(n))break;for(let t=e.depth;t>=0;t--,r--)if(e.before(t+1)>e.start(t))break;return i==r&&/row|table/.test(t.node(n).type.spec.tableRole)}function ak({$from:t,$to:e}){let i;let r;for(let e=t.depth;e>0;e--){const r=t.node(e);if(r.type.spec.tableRole==="cell"||r.type.spec.tableRole==="header_cell"){i=r;break}}for(let t=e.depth;t>0;t--){const i=e.node(t);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){r=i;break}}return i!==r&&e.parentOffset===0}function ck(t,e,i){const r=(e||t).selection;const n=(e||t).doc;let s;let l;if(r instanceof cn&&(l=r.node.type.spec.tableRole)){if(l=="cell"||l=="header_cell"){s=ok.create(n,r.from)}else if(l=="row"){const t=n.resolve(r.from+1);s=ok.rowSelection(t,t)}else if(!i){const t=Lb.get(r.node);const e=r.from+1;const i=e+t.map[t.width*t.height-1];s=ok.create(n,e+1,i)}}else if(r instanceof hn&&hk(r)){s=hn.create(n,r.from)}else if(r instanceof hn&&ak(r)){s=hn.create(n,r.$from.start(),r.$from.end())}if(s)(e||(e=t.tr)).setSelection(s);return e}var dk=new $n("fix-tables");function pk(t,e,i,r){const n=t.childCount,s=e.childCount;t:for(let l=0,o=0;l<s;l++){const s=e.child(l);for(let e=o,r=Math.min(n,l+3);e<r;e++){if(t.child(e)==s){o=e+1;i+=s.nodeSize;continue t}}r(s,i);if(o<n&&t.child(o).sameMarkup(s))pk(t.child(o),s,i+1,r);else s.nodesBetween(0,s.content.size,r,i+1);i+=s.nodeSize}}function mk(t,e){let i;const r=(e,r)=>{if(e.type.spec.tableRole=="table")i=wk(t,e,r,i)};if(!e)t.doc.descendants(r);else if(e.doc!=t.doc)pk(e.doc,t.doc,0,r);return i}function wk(t,e,i,r){const n=Lb.get(e);if(!n.problems)return r;if(!r)r=t.tr;const s=[];for(let t=0;t<n.height;t++)s.push(0);for(let t=0;t<n.problems.length;t++){const l=n.problems[t];if(l.type=="collision"){const t=e.nodeAt(l.pos);if(!t)continue;const n=t.attrs;for(let t=0;t<n.rowspan;t++)s[l.row+t]+=l.n;r.setNodeMarkup(r.mapping.map(i+1+l.pos),null,lk(n,n.colspan-l.n,l.n))}else if(l.type=="missing"){s[l.row]+=l.n}else if(l.type=="overlong_rowspan"){const t=e.nodeAt(l.pos);if(!t)continue;r.setNodeMarkup(r.mapping.map(i+1+l.pos),null,{...t.attrs,rowspan:t.attrs.rowspan-l.n})}else if(l.type=="colwidth mismatch"){const t=e.nodeAt(l.pos);if(!t)continue;r.setNodeMarkup(r.mapping.map(i+1+l.pos),null,{...t.attrs,colwidth:l.colwidth})}else if(l.type=="zero_sized"){const t=r.mapping.map(i);r.delete(t,t+e.nodeSize)}}let l,o;for(let t=0;t<s.length;t++)if(s[t]){if(l==null)l=t;o=t}for(let u=0,f=i+1;u<n.height;u++){const i=e.child(u);const n=f+i.nodeSize;const h=s[u];if(h>0){let e="cell";if(i.firstChild){e=i.firstChild.type.spec.tableRole}const s=[];for(let i=0;i<h;i++){const i=Xb(t.schema)[e].createAndFill();if(i)s.push(i)}const a=(u==0||l==u-1)&&o==u?f+1:n-1;r.insert(r.mapping.map(a),s)}f=n}return r.setMeta(dk,{fixTables:true})}function gk(t,e){const i=t.selection;if(!(i instanceof ok))return false;if(e){const r=t.tr;const n=Xb(t.schema).cell.createAndFill().content;i.forEachCell(((t,e)=>{if(!t.content.eq(n))r.replace(r.mapping.map(e+1),r.mapping.map(e+t.nodeSize-1),new Se(n,0,0))}));if(r.docChanged)e(r)}return true}function bk(t){if(!t.size)return null;let{content:e,openStart:i,openEnd:r}=t;while(e.childCount==1&&(i>0&&r>0||e.child(0).type.spec.tableRole=="table")){i--;r--;e=e.child(0).content}const n=e.child(0);const s=n.type.spec.tableRole;const l=n.type.schema,o=[];if(s=="row"){for(let t=0;t<e.childCount;t++){let n=e.child(t).content;const s=t?0:Math.max(0,i-1);const u=t<e.childCount-1?0:Math.max(0,r-1);if(s||u)n=vk(Xb(l).row,new Se(n,s,u)).content;o.push(n)}}else if(s=="cell"||s=="header_cell"){o.push(i||r?vk(Xb(l).row,new Se(e,i,r)).content:e)}else{return null}return kk(l,o)}function kk(t,e){const i=[];for(let t=0;t<e.length;t++){const r=e[t];for(let e=r.childCount-1;e>=0;e--){const{rowspan:n,colspan:s}=r.child(e).attrs;for(let e=t;e<t+n;e++)i[e]=(i[e]||0)+s}}let r=0;for(let t=0;t<i.length;t++)r=Math.max(r,i[t]);for(let n=0;n<i.length;n++){if(n>=e.length)e.push(xe.empty);if(i[n]<r){const s=Xb(t).cell.createAndFill();const l=[];for(let t=i[n];t<r;t++){l.push(s)}e[n]=e[n].append(xe.from(l))}}return{height:e.length,width:r,rows:e}}function vk(t,e){const i=t.createAndFill();const r=new nn(i).replace(0,i.content.size,e);return r.doc}function Dk({width:t,height:e,rows:i},r,n){if(t!=r){const e=[];const n=[];for(let t=0;t<i.length;t++){const s=i[t],l=[];for(let i=e[t]||0,n=0;i<r;n++){let o=s.child(n%s.childCount);if(i+o.attrs.colspan>r)o=o.type.createChecked(lk(o.attrs,o.attrs.colspan,i+o.attrs.colspan-r),o.content);l.push(o);i+=o.attrs.colspan;for(let i=1;i<o.attrs.rowspan;i++)e[t+i]=(e[t+i]||0)+o.attrs.colspan}n.push(xe.from(l))}i=n;t=r}if(e!=n){const t=[];for(let r=0,s=0;r<n;r++,s++){const l=[],o=i[s%e];for(let t=0;t<o.childCount;t++){let e=o.child(t);if(r+e.attrs.rowspan>n)e=e.type.create({...e.attrs,rowspan:Math.max(1,n-e.attrs.rowspan)},e.content);l.push(e)}t.push(xe.from(l))}i=t;e=n}return{width:t,height:e,rows:i}}function yk(t,e,i,r,n,s,l){const o=t.doc.type.schema;const u=Xb(o);let f;let h;if(n>e.width){for(let s=0,o=0;s<e.height;s++){const a=i.child(s);o+=a.nodeSize;const c=[];let d;if(a.lastChild==null||a.lastChild.type==u.cell)d=f||(f=u.cell.createAndFill());else d=h||(h=u.header_cell.createAndFill());for(let t=e.width;t<n;t++)c.push(d);t.insert(t.mapping.slice(l).map(o-1+r),c)}}if(s>e.height){const o=[];for(let t=0,r=(e.height-1)*e.width;t<Math.max(e.width,n);t++){const n=t>=e.width?false:i.nodeAt(e.map[r+t]).type==u.header_cell;o.push(n?h||(h=u.header_cell.createAndFill()):f||(f=u.cell.createAndFill()))}const a=u.row.create(null,xe.from(o)),c=[];for(let t=e.height;t<s;t++)c.push(a);t.insert(t.mapping.slice(l).map(r+i.nodeSize-2),c)}return!!(f||h)}function Fk(t,e,i,r,n,s,l,o){if(l==0||l==e.height)return false;let u=false;for(let f=n;f<s;f++){const n=l*e.width+f,s=e.map[n];if(e.map[n-e.width]==s){u=true;const n=i.nodeAt(s);const{top:h,left:a}=e.findCell(s);t.setNodeMarkup(t.mapping.slice(o).map(s+r),null,{...n.attrs,rowspan:l-h});t.insert(t.mapping.slice(o).map(e.positionAt(l,a,i)),n.type.createAndFill({...n.attrs,rowspan:h+n.attrs.rowspan-l}));f+=n.attrs.colspan-1}}return u}function xk(t,e,i,r,n,s,l,o){if(l==0||l==e.width)return false;let u=false;for(let f=n;f<s;f++){const n=f*e.width+l,s=e.map[n];if(e.map[n-1]==s){u=true;const n=i.nodeAt(s);const h=e.colCount(s);const a=t.mapping.slice(o).map(s+r);t.setNodeMarkup(a,null,lk(n.attrs,l-h,n.attrs.colspan-(l-h)));t.insert(a+n.nodeSize,n.type.createAndFill(lk(n.attrs,0,l-h)));f+=n.attrs.rowspan-1}}return u}function Ek(t,e,i,r,n){let s=i?t.doc.nodeAt(i-1):t.doc;if(!s){throw new Error("No table found")}let l=Lb.get(s);const{top:o,left:u}=r;const f=u+n.width,h=o+n.height;const a=t.tr;let c=0;function d(){s=i?a.doc.nodeAt(i-1):a.doc;if(!s){throw new Error("No table found")}l=Lb.get(s);c=a.mapping.maps.length}if(yk(a,l,s,i,f,h,c))d();if(Fk(a,l,s,i,u,f,o,c))d();if(Fk(a,l,s,i,u,f,h,c))d();if(xk(a,l,s,i,o,h,u,c))d();if(xk(a,l,s,i,o,h,f,c))d();for(let t=o;t<h;t++){const e=l.positionAt(t,u,s),r=l.positionAt(t,f,s);a.replace(a.mapping.slice(c).map(e+i),a.mapping.slice(c).map(r+i),new Se(n.rows[t-o],0,0))}d();a.setSelection(new ok(a.doc.resolve(i+l.positionAt(o,u,s)),a.doc.resolve(i+l.positionAt(h-1,f-1,s))));e(a)}var Mk=qf({ArrowLeft:Ck("horiz",-1),ArrowRight:Ck("horiz",1),ArrowUp:Ck("vert",-1),ArrowDown:Ck("vert",1),"Shift-ArrowLeft":Ok("horiz",-1),"Shift-ArrowRight":Ok("horiz",1),"Shift-ArrowUp":Ok("vert",-1),"Shift-ArrowDown":Ok("vert",1),Backspace:gk,"Mod-Backspace":gk,Delete:gk,"Mod-Delete":gk});function Ak(t,e,i){if(i.eq(t.selection))return false;if(e)e(t.tr.setSelection(i).scrollIntoView());return true}function Ck(t,e){return(i,r,n)=>{if(!n)return false;const s=i.selection;if(s instanceof ok){return Ak(i,r,ln.near(s.$headCell,e))}if(t!="horiz"&&!s.empty)return false;const l=zk(n,t,e);if(l==null)return false;if(t=="horiz"){return Ak(i,r,ln.near(i.doc.resolve(s.head+e),e))}else{const n=i.doc.resolve(l);const s=sk(n,t,e);let o;if(s)o=ln.near(s,1);else if(e<0)o=ln.near(i.doc.resolve(n.before(-1)),-1);else o=ln.near(i.doc.resolve(n.after(-1)),1);return Ak(i,r,o)}}}function Ok(t,e){return(i,r,n)=>{if(!n)return false;const s=i.selection;let l;if(s instanceof ok){l=s}else{const r=zk(n,t,e);if(r==null)return false;l=new ok(i.doc.resolve(r))}const o=sk(l.$headCell,t,e);if(!o)return false;return Ak(i,r,new ok(l.$anchorCell,o))}}function Sk(t,e){const i=t.state.doc,r=Qb(i.resolve(e));if(!r)return false;t.dispatch(t.state.tr.setSelection(new ok(r)));return true}function $k(t,e,i){if(!tk(t.state))return false;let r=bk(i);const n=t.state.selection;if(n instanceof ok){if(!r)r={width:1,height:1,rows:[xe.from(vk(Xb(t.state.schema).cell,i))]};const e=n.$anchorCell.node(-1);const s=n.$anchorCell.start(-1);const l=Lb.get(e).rectBetween(n.$anchorCell.pos-s,n.$headCell.pos-s);r=Dk(r,l.right-l.left,l.bottom-l.top);Ek(t.state,t.dispatch,s,l,r);return true}else if(r){const e=ek(t.state);const i=e.start(-1);Ek(t.state,t.dispatch,i,Lb.get(e.node(-1)).findCell(e.pos-i),r);return true}else{return false}}function _k(t,e){var i;if(e.ctrlKey||e.metaKey)return;const r=Bk(t,e.target);let n;if(e.shiftKey&&t.state.selection instanceof ok){s(t.state.selection.$anchorCell,e);e.preventDefault()}else if(e.shiftKey&&r&&(n=Qb(t.state.selection.$anchor))!=null&&((i=jk(t,e))==null?void 0:i.pos)!=n.pos){s(n,e);e.preventDefault()}else if(!r){return}function s(e,i){let r=jk(t,i);const n=Yb.getState(t.state)==null;if(!r||!nk(e,r)){if(n)r=e;else return}const s=new ok(e,r);if(n||!t.state.selection.eq(s)){const i=t.state.tr.setSelection(s);if(n)i.setMeta(Yb,e.pos);t.dispatch(i)}}function l(){t.root.removeEventListener("mouseup",l);t.root.removeEventListener("dragstart",l);t.root.removeEventListener("mousemove",o);if(Yb.getState(t.state)!=null)t.dispatch(t.state.tr.setMeta(Yb,-1))}function o(i){const n=i;const o=Yb.getState(t.state);let u;if(o!=null){u=t.state.doc.resolve(o)}else if(Bk(t,n.target)!=r){u=jk(t,e);if(!u)return l()}if(u)s(u,n)}t.root.addEventListener("mouseup",l);t.root.addEventListener("dragstart",l);t.root.addEventListener("mousemove",o)}function zk(t,e,i){if(!(t.state.selection instanceof hn))return null;const{$head:r}=t.state.selection;for(let n=r.depth-1;n>=0;n--){const s=r.node(n),l=i<0?r.index(n):r.indexAfter(n);if(l!=(i<0?0:s.childCount))return null;if(s.type.spec.tableRole=="cell"||s.type.spec.tableRole=="header_cell"){const s=r.before(n);const l=e=="vert"?i>0?"down":"up":i>0?"right":"left";return t.endOfTextblock(l)?s:null}}return null}function Bk(t,e){for(;e&&e!=t.dom;e=e.parentNode){if(e.nodeName=="TD"||e.nodeName=="TH"){return e}}return null}function jk(t,e){const i=t.posAtCoords({left:e.clientX,top:e.clientY});if(!i)return null;return i?Qb(t.state.doc.resolve(i.pos)):null}new $n("tableColumnResizing");function Rk({allowTableNodeSelection:t=false}={}){return new Cn({key:Yb,state:{init(){return null},apply(t,e){const i=t.getMeta(Yb);if(i!=null)return i==-1?null:i;if(e==null||!t.docChanged)return e;const{deleted:r,pos:n}=t.mapping.mapResult(e);return r?null:n}},props:{decorations:fk,handleDOMEvents:{mousedown:_k},createSelectionBetween(t){return Yb.getState(t.state)!=null?t.state.selection:null},handleTripleClick:Sk,handleKeyDown:Mk,handlePaste:$k},appendTransaction(e,i,r){return ck(r,mk(r,i),t)}})}const Nk=t=>{if(t){return[Rk()]}return[]};const qk=t=>({default:null,getFromDOM:e=>e.style[t]||null,setDOMAttr:(e,i)=>{if(e){i.style=(i.style||"")+`${t}: ${e};`}}});const Tk=()=>Gb({tableGroup:"block",cellContent:"block+",cellAttributes:{background:qk("background-color"),color:qk("color")}});function Ik(t){const e={images:[],links:[]};t.descendants((t=>{if(Pk(t)){e.images.push(Jk(t))}else if(Lk(t)){for(const i of Wk(t))e.links.push(i)}return true}));return e}function Pk(t){return t.type.name==="image"&&!!t.attrs}function Jk(t){return{src:t.attrs.src,state:t.attrs.state,fileInfoId:t.attrs.fileInfoId}}function Lk(t){var e;return t.isText&&((e=t.marks)===null||e===void 0?void 0:e.length)>0}function Wk(t){return t.marks.filter((t=>t.type.name==="link"&&t.attrs)).map((e=>({href:e.attrs.href,text:t.text})))}function Uk(t,e){return Hk(t,e)||Zk(t.links,e.links)||Kk(t.images,e.images)}function Hk(t,e){return t.images.length!==e.images.length||t.links.length!==e.links.length}function Zk(t,e){const i=Gk(t);const r=Gk(e);return!Xk(i,r)}function Kk(t,e){const i=Vk(t);const r=Vk(e);return!Xk(i,r)}function Vk(t){const e=new Map;for(const i of t){const t=`${i.fileInfoId}|${i.state}|${i.src}`;e.set(t,(e.get(t)||0)+1)}return e}function Gk(t){const e=new Map;for(const i of t){const t=`${i.href}|${i.text}`;e.set(t,(e.get(t)||0)+1)}return e}function Xk(t,e){if(t.size!==e.size){return false}for(const[i,r]of t.entries()){if(e.get(i)!==r){return false}}return true}const Yk='@charset "UTF-8";blockquote{position:relative;max-width:100%;margin:0.75rem 0;padding:0.5rem;border-left:0.25rem solid rgb(var(--contrast-500));background-color:rgb(var(--contrast-200))}blockquote:before,blockquote:after{position:absolute;line-height:0;font-size:2rem;opacity:0.4}blockquote:before{content:"“";left:-0.5rem;top:0.5rem}blockquote:after{content:"”";right:-0.25rem;bottom:-0.25rem}blockquote blockquote{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0.25rem;border-color:rgb(var(--contrast-700));border-left-width:1px}blockquote blockquote:before,blockquote blockquote:after{display:none}blockquote:has(>blockquote){padding-left:0.25rem;padding-bottom:0}:host(limel-markdown.truncate-paragraphs) p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}p,li{font-size:var(--limel-theme-default-font-size);word-break:break-word}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:var(--limel-theme-default-font-size);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:var(--limel-theme-default-font-size)}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:var(--limel-theme-default-small-font-size);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}:host(limel-markdown:not(.no-table-styles)) tbody{border:1px solid rgb(var(--contrast-400));border-radius:0.25rem}: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:var(--limel-theme-default-font-size)}: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))}table{display:block;box-sizing:border-box;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}kbd{font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-weight:600;color:rgb(var(--contrast-1100));background-color:rgb(var(--contrast-200));white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:normal;padding:0.125rem 0.5rem;margin:0 0.25rem;box-shadow:var(--button-shadow-normal), 0 0.03125rem 0.21875rem 0 rgba(var(--contrast-100), 0.5) inset;border-radius:0.125rem;border-style:solid;border-color:rgba(var(--contrast-600), 0.8);border-width:0 1px 0.125rem 1px}img{max-width:100%;border-radius:0.25rem}.image-wrapper{display:inline-flex;position:relative}.image-wrapper limel-linear-progress{position:absolute;inset:0.25rem auto auto 0.25rem;width:calc(100% - 0.5rem)}.image-wrapper img{transition:opacity 0.2s ease, scale 0.6s ease}.image-wrapper.state-failed,.image-wrapper.state-loading{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%208%208%27%20style%3D%27fill-rule%3Aevenodd%3B%27%3E%3Cpath%20fill%3D%27rgba(186%2C186%2C192%2C0.16)%27%20d%3D%27M0%200h4v4H0zM4%204h4v4H4z%27%2F%3E%3C%2Fsvg%3E");background-size:0.5rem}.image-wrapper.state-failed img,.image-wrapper.state-loading img{opacity:0.3;scale:0.98}.image-wrapper::before{pointer-events:none;content:"";display:block;position:absolute;inset:0;border-radius:0.25rem;transition:border-color 0.4s ease, opacity 0.2s ease, box-shadow 0.6s ease;border:1px dashed transparent;opacity:0.2}.image-wrapper.state-failed img{filter:grayscale(0.8)}.image-wrapper.state-failed:before{opacity:0.8;box-shadow:var(--shadow-error-state)}.image-wrapper:hover::before{opacity:0.8;box-shadow:var(--shadow-depth-8)}.image-wrapper:has(.resize-handle[aria-grabbed=true])::before{border-color:var(--lime-primary-color, var(--limel-theme-primary-color));opacity:0.8;box-shadow:var(--shadow-depth-16), var(--shadow-depth-8)}.resize-handle{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:rgb(var(--contrast-900));box-shadow:var(--button-shadow-normal);cursor:nwse-resize;position:absolute;display:flex;align-items:center;justify-content:center;width:0.5rem;height:0.5rem;border-radius:50%;opacity:0.6}.resize-handle:hover,.resize-handle:focus,.resize-handle:focus-visible{will-change:color, background-color, box-shadow, transform}.resize-handle:hover,.resize-handle:focus-visible{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.resize-handle:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.resize-handle:hover,.resize-handle:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.resize-handle:focus{outline:none}.resize-handle:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.resize-handle.top-left{left:-0.25rem;top:-0.25rem;translate:-50%, -50%}.resize-handle.bottom-right{right:-0.25rem;bottom:-0.25rem;translate:50%, 50%}.resize-wrapper:has(.resize-handle[aria-grabbed=true]) .resize-handle,.resize-wrapper:hover .resize-handle,.resize-handle:hover,.resize-handle:focus-visible{opacity:1}.resize-handle[aria-grabbed=true],.resize-handle:hover,.resize-handle:focus-visible{opacity:1;background-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.resize-handle:hover,.resize-handle[aria-grabbed=true]{scale:1.4}.resize-handle:hover:before,.resize-handle[aria-grabbed=true]:before{background-color:rgb(var(--color-white))}.resize-handle:before{content:"";display:block;position:absolute;inset:0;margin:auto;border-radius:50%;width:0.25rem;height:0.25rem;background-color:rgb(var(--contrast-100))}:host(limel-prosemirror-adapter){display:flex;flex-direction:column}:host(limel-prosemirror-adapter) .toolbar{order:1}:host(limel-prosemirror-adapter) div#editor{order:2;height:100%;flex-grow:1}:host(limel-prosemirror-adapter) div[contenteditable=true]{height:100%}*{box-sizing:border-box}:host(limel-prosemirror-adapter:hover) .toolbar,:host(limel-prosemirror-adapter:focus-within) .toolbar{will-change:grid-template-rows}:host(limel-prosemirror-adapter:hover) limel-action-bar,:host(limel-prosemirror-adapter:focus-within) limel-action-bar{will-change:opacity, padding}.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}.toolbar{--action-bar-border-radius:0.25rem;border-radius:var(--action-bar-border-radius);flex-shrink:0;position:sticky;z-index:1;top:0;width:100%;display:grid;grid-template-rows:var(--limel-prosemirror-adapter-toolbar-grid-template-rows);transition-property:grid-template-rows;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);background-color:rgba(var(--contrast-200), 0.5);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-action-bar{min-width:0;transition-property:padding, opacity;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);opacity:var(--limel-prosemirror-adapter-toolbar-opacity);padding:var(--limel-prosemirror-adapter-action-bar-padding-top-bottom, 0.125rem) 0.25rem;background-color:transparent;overflow:hidden}.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}';const Qk=300;const tv=class{constructor(i){t(this,i);this.change=e(this,"change",7);this.imagePasted=e(this,"imagePasted",7);this.imageRemoved=e(this,"imageRemoved",7);this.metadataChange=e(this,"metadataChange",7);this.changeWaiting=false;this.transactionFired=false;this.lastClickedPos=null;this.metadata={images:[],links:[]};this.suppressChangeEvent=false;this.getActionBarItems=()=>{this.actionBarItems=Jc().map(this.getTranslatedItem)};this.getTranslatedItem=t=>{const e=ve(t);if(R(t)){const i=Lc[t.value];if(i){e.text=B.get(i,this.language)}}return e};this.updateActiveActionBarItems=(t,e)=>{const i=Jc().map((i=>{if(R(i)){return Object.assign(Object.assign({},i),{selected:t[i.value],allowed:e[i.value]})}return i}));this.actionBarItems=i.filter((t=>R(t)?t.allowed:true))};this.handleTransaction=t=>{this.transactionFired=true;const e=this.view.state.apply(t);this.view.updateState(e);if(this.suppressChangeEvent||t.getMeta("pointer")){return}const i=this.contentConverter.serialize(this.view,this.schema);if(i===this.lastEmittedValue){return}const r=Ik(e.doc);this.metadataEmitter(r);this.lastEmittedValue=i;this.changeWaiting=true;this.changeEmitter(i)};this.handleActionBarItem=t=>{t.preventDefault();t.stopImmediatePropagation();const{value:e}=t.detail;if(e===s.Link){this.isLinkMenuOpen=true;return}const i=new CustomEvent("actionBarItemClick",{detail:t.detail});this.view.dom.dispatchEvent(i)};this.handleCancelLinkMenu=t=>{t.preventDefault();t.stopPropagation();this.isLinkMenuOpen=false;this.link={text:"",href:"https://"}};this.handleSaveLinkMenu=()=>{this.isLinkMenuOpen=false;const t=new CustomEvent("saveLinkMenu",{detail:{type:s.Link,link:this.link}});this.view.dom.dispatchEvent(t);this.link={href:"https://"}};this.handleLinkChange=t=>{this.link=t.detail};this.handleFocus=()=>{var t;if(!this.disabled){(t=this.view)===null||t===void 0?void 0:t.focus();this.transactionFired=false;setTimeout((()=>{if(!this.transactionFired&&this.lastClickedPos){const{doc:t,tr:e}=this.view.state;const i=t.resolve(this.lastClickedPos);const r=ln.near(i);e.setMeta("pointer",true);this.view.dispatch(e.setSelection(r))}}),0)}};this.handleNewLinkSelection=(t,e)=>{this.link.text=t;this.link.href=e||"https://"};this.handleOpenLinkMenu=t=>{t.stopImmediatePropagation();const{href:e,text:i}=t.detail;this.link={href:e,text:i};this.isLinkMenuOpen=true};this.handleMouseDown=t=>{var e;const i={left:t.clientX,top:t.clientY};const r=this.view.posAtCoords(i);this.lastClickedPos=(e=r===null||r===void 0?void 0:r.pos)!==null&&e!==void 0?e:null};this.changeEmitter=T((t=>{this.change.emit(t);this.changeWaiting=false}),Qk);this.handleBlur=()=>{this.changeEmitter.flush()};this.contentType="markdown";this.value=undefined;this.language=undefined;this.disabled=false;this.customElements=[];this.triggerCharacters=[];this.ui="standard";this.view=undefined;this.actionBarItems=[];this.link={href:"https://"};this.isLinkMenuOpen=false;this.portalId=j()}watchValue(t){if(!this.view){return}if(this.changeWaiting){return}const e=this.contentConverter.serialize(this.view,this.schema);if(t===e){return}this.updateView(t)}componentWillLoad(){this.getActionBarItems();this.setupContentConverter()}componentDidLoad(){setTimeout((()=>{this.initializeTextEditor()}),0)}connectedCallback(){if(this.view){this.initializeTextEditor()}this.host.addEventListener("open-editor-link-menu",this.handleOpenLinkMenu)}disconnectedCallback(){var t,e,i,r,n;pg.clear();this.host.removeEventListener("open-editor-link-menu",this.handleOpenLinkMenu);(e=(t=this.view)===null||t===void 0?void 0:t.dom)===null||e===void 0?void 0:e.removeEventListener("blur",this.handleBlur);(r=(i=this.view)===null||i===void 0?void 0:i.dom)===null||r===void 0?void 0:r.removeEventListener("mousedown",this.handleMouseDown);(n=this.view)===null||n===void 0?void 0:n.destroy()}render(){return i(r,{onFocus:this.handleFocus},i("div",{id:"editor"}),this.renderToolbar(),this.renderLinkMenu())}renderToolbar(){if(this.actionBarItems.length===0||this.ui==="no-toolbar"){return}return i("div",{class:"toolbar"},i("limel-action-bar",{ref:t=>this.actionBarElement=t,accessibleLabel:"Toolbar",actions:this.actionBarItems,onItemSelected:this.handleActionBarItem}))}renderLinkMenu(){if(!this.isLinkMenuOpen){return}return i("limel-portal",{containerId:this.portalId,visible:this.isLinkMenuOpen,openDirection:"top",inheritParentWidth:true,anchor:this.actionBarElement},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 $g(this.customElements,this.language)}else if(this.contentType==="html"){this.contentConverter=new _g(this.customElements)}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 Nc(this.schema);this.view=new Uu(this.host.shadowRoot.querySelector("#editor"),{state:this.createEditorState(t),dispatchTransaction:this.handleTransaction});this.view.dom.addEventListener("blur",this.handleBlur);this.view.dom.addEventListener("mousedown",this.handleMouseDown);if(this.value){this.updateView(this.value)}this.lastEmittedValue=this.contentConverter.serialize(this.view,this.schema)}initializeSchema(){let t=hf.spec.nodes;for(const e of this.customElements){const i=Mb(e);const r=e.tagName;t=t.append({[r]:i})}t=bf(t,"paragraph block*","block");if(this.contentType==="html"){t=t.append(Tk())}t=t.append(mg(this.language));return new vi({nodes:t,marks:hf.spec.marks.append({strikethrough:zg,link:eb})})}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 xi.fromSchema(this.schema).parse(t)}createEditorState(t){return Mn.create({doc:t,plugins:[...Fc({schema:this.schema,menuBar:false}),Nf(this.menuCommandFactory.buildKeymap()),Ib(this.triggerCharacters,this.contentConverter),tb(this.handleNewLinkSelection),rb(this.imagePasted.emit),bb(this.language),yb(u,this.menuCommandFactory,this.updateActiveActionBarItems),Eb(this.menuCommandFactory),...Nk(this.contentType==="html")]})}async updateView(t){this.suppressChangeEvent=true;const e=await this.contentConverter.parseAsHTML(t,this.schema);const i=xi.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);const o=Ik(this.view.state.doc);this.metadataEmitter(o);this.suppressChangeEvent=false}metadataEmitter(t){if(Uk(this.metadata,t)){this.removeImagesFromCache(this.metadata,t);this.metadata=t;this.metadataChange.emit(t)}}removeImagesFromCache(t,e){const i=t.images.filter((t=>!e.images.some((e=>e.fileInfoId===t.fileInfoId))));for(const t of i){pg.delete(t.fileInfoId);this.imageRemoved.emit(t)}}static get delegatesFocus(){return true}get host(){return n(this)}static get watchers(){return{value:["watchValue"]}}};tv.style=Yk;export{tv as limel_prosemirror_adapter};
|
|
2
|
+
//# sourceMappingURL=p-b11e7718.entry.js.map
|