@tryghost/koenig-lexical 0.0.12 → 0.0.13
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koenig-lexical.js","sources":["../../../node_modules/@lexical/react/LexicalComposerContext.prod.js","../../../node_modules/@lexical/react/LexicalComposerContext.js","../../../node_modules/lexical/Lexical.prod.js","../../../node_modules/lexical/Lexical.js","../../../node_modules/@lexical/react/LexicalComposer.prod.js","../../../node_modules/@lexical/react/LexicalComposer.js","../../../node_modules/@lexical/utils/LexicalUtils.prod.js","../../../node_modules/@lexical/utils/LexicalUtils.js","../../../node_modules/@lexical/list/LexicalList.prod.js","../../../node_modules/@lexical/list/LexicalList.js","../../../node_modules/prismjs/prism.js","../../../node_modules/prismjs/components/prism-clike.js","../../../node_modules/prismjs/components/prism-javascript.js","../../../node_modules/prismjs/components/prism-markup.js","../../../node_modules/prismjs/components/prism-markdown.js","../../../node_modules/prismjs/components/prism-c.js","../../../node_modules/prismjs/components/prism-css.js","../../../node_modules/prismjs/components/prism-objectivec.js","../../../node_modules/prismjs/components/prism-sql.js","../../../node_modules/prismjs/components/prism-python.js","../../../node_modules/prismjs/components/prism-rust.js","../../../node_modules/prismjs/components/prism-swift.js","../../../node_modules/@lexical/code/LexicalCode.prod.js","../../../node_modules/@lexical/code/LexicalCode.js","../../../node_modules/@lexical/selection/LexicalSelection.prod.js","../../../node_modules/@lexical/selection/LexicalSelection.js","../../../node_modules/@lexical/html/LexicalHtml.prod.js","../../../node_modules/@lexical/html/LexicalHtml.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.js","../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js","../../../node_modules/@lexical/rich-text/LexicalRichText.js","../../../node_modules/@lexical/link/LexicalLink.prod.js","../../../node_modules/@lexical/link/LexicalLink.js","../src/nodes/AsideNode.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.js","../src/nodes/DefaultNodes.js","../src/themes/default.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/KoenigComposer.jsx","../../../node_modules/@lexical/text/LexicalText.prod.js","../../../node_modules/@lexical/text/LexicalText.js","../../../node_modules/@lexical/dragon/LexicalDragon.prod.js","../../../node_modules/@lexical/dragon/LexicalDragon.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.js","../../../node_modules/@lexical/react/LexicalContentEditable.prod.js","../../../node_modules/@lexical/react/LexicalContentEditable.js","../../../node_modules/@lexical/history/LexicalHistory.prod.js","../../../node_modules/@lexical/history/LexicalHistory.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.js","../../../node_modules/@lexical/react/LexicalListPlugin.prod.js","../../../node_modules/@lexical/react/LexicalListPlugin.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.prod.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.js","../src/utils/getSelectedNode.js","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/assets/icons/kg-bold.svg","../src/assets/icons/kg-italic.svg","../src/assets/icons/kg-heading-1.svg","../src/assets/icons/kg-heading-2.svg","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/plugins/FloatingFormatToolbar.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"react\");let d=c.createContext(null);exports.LexicalComposerContext=d;exports.createLexicalComposerContext=function(a,e){let b=null;null!=a&&(b=a[1]);return{getTheme:function(){return null!=e?e:null!=b?b.getTheme():null}}};\nexports.useLexicalComposerContext=function(){let a=c.useContext(d);if(null==a)throw Error(\"Minified Lexical error #8; visit https://lexical.dev/docs/error?code=8 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposerContext = process.env.NODE_ENV === 'development' ? require('./LexicalComposerContext.dev.js') : require('./LexicalComposerContext.prod.js')\nmodule.exports = LexicalComposerContext;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';let aa={},ba={},ca={},ea={},fa={},ha={},ja={},ka={},la={},ma={},p={},na={},oa={},pa={},qa={},ra={},sa={},wa={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={};function r(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nlet Na=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Oa=Na&&\"documentMode\"in document?document.documentMode:null,t=Na&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Pa=Na&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Sa=Na&&\"InputEvent\"in window&&!Oa?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Ta=Na&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ua=Na&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&\n!window.MSStream,Va=Ta||Ua?\"\\u00a0\":\"\\u200b\",Wa=Pa?\"\\u00a0\":Va,Xa=/^[^A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]*[\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]/,Ya=/^[^\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]*[A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]/,Za={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},$a={directionless:1,\nunmergeable:2},ab={center:2,justify:4,left:1,right:3},bb={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},cb={inert:3,normal:0,segmented:2,token:1},db={3:\"inert\",0:\"normal\",2:\"segmented\",1:\"token\"},eb=!1,fb=0;function gb(a){fb=a.timeStamp}function hb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function ib(a){return a.getEditorState().read(()=>{let b=u();return null!==b?b.clone():null})}\nfunction jb(a,b,c){eb=!0;let d=100<performance.now()-fb;try{x(a,()=>{let f=u()||ib(a);var e=new Map,g=a.getRootElement(),h=a._editorState;let k=!1,m=\"\";for(var l=0;l<b.length;l++){var n=b[l],q=n.type,v=n.target,w=kb(v,h);if(!A(w))if(\"characterData\"===q){if(n=d&&C(w))a:{n=f;q=v;var y=w;if(D(n)){var z=n.anchor.getNode();if(z.is(y)&&n.format!==z.getFormat()){n=!1;break a}}n=3===q.nodeType&&y.isAttached()}n&&(y=window.getSelection(),q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,q=y.focusOffset),\nv=v.nodeValue,null!==v&&lb(w,v,n,q,!1))}else if(\"childList\"===q){k=!0;q=n.addedNodes;for(y=0;y<q.length;y++){z=q[y];var B=mb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&hb(z,E,a)||(Pa&&(B=z.innerText||z.nodeValue)&&(m+=B),E.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)E=n[z],\"BR\"===E.nodeName&&hb(E,v,a)&&(v.appendChild(E),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),e.set(v,w))}}}if(0<e.size)for(let [da,R]of e)if(F(R))for(e=R.__children,g=da.firstChild,h=0;h<\ne.length;h++)l=a.getElementByKey(e[h]),null!==l&&(null==g?(da.appendChild(l),g=l):g!==l&&da.replaceChild(l,g),g=g.nextSibling);else C(R)&&R.markDirty();e=c.takeRecords();if(0<e.length){for(g=0;g<e.length;g++)for(l=e[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||hb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==f&&(k&&(f.dirty=!0,nb(f)),Pa&&pb(a)&&f.insertRawText(m))})}finally{eb=!1}}\nfunction qb(a){let b=a._observer;if(null!==b){let c=b.takeRecords();jb(a,c,b)}}function rb(a){0===fb&&sb(a).addEventListener(\"textInput\",gb,!0);a._observer=new MutationObserver((b,c)=>{jb(a,b,c)})}let tb=1,ub=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction vb(a,b,c){let d=a.getRootElement();try{var f;if(f=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let e=document.activeElement,g=null!==e?e.nodeName:null;f=!A(kb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return f&&wb(b)===a}catch(e){return!1}}function wb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function xb(a){return G(a)||a.isSegmented()}function G(a){return a.isToken()||a.isInert()}\nfunction yb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}function zb(a,b,c){b=Za[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function Ab(a){return C(a)||Bb(a)||A(a)}function Cb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Db(a);b.splice(c,1)}}\nfunction Eb(a){99<Fb&&r(14);var b=a.getLatest(),c=b.__parent,d=H();let f=I(),e=d._nodeMap;d=f._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=e.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;f._dirtyType=1;F(a)?d.set(b,!0):f._dirtyLeaves.add(b)}function Db(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Eb(b);null!==a&&Eb(a)}\nfunction J(a){K();var b=I();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=L(c),null!==b&&b.getWritable()),null!==a&&(a=L(a),null!==a&&a.getWritable()))}function L(a,b){a=(b||H())._nodeMap.get(a);return void 0===a?null:a}function mb(a,b){let c=I();a=a[`__lexicalKey_${c._key}`];return void 0!==a?L(a,b):null}function kb(a,b){for(;null!=a;){let c=mb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Gb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Hb(a){return a.read(()=>Ib().getTextContent())}function Jb(a,b){x(a,()=>{var c=H();if(!c.isEmpty())if(\"root\"===b)Ib().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Ib(){return H()._nodeMap.get(\"root\")}function nb(a){let b=H();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=I(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=c.parentNode}c=null}return null===c?(b=b.getRootElement(),a===b?L(\"root\"):null):L(c)}function Lb(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Mb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Nb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Ob(a,b){var c=window.getSelection();if(null!==c){var d=c.anchorNode,{anchorOffset:f,focusOffset:e}=c;if(null!==d&&3===d.nodeType&&(c=kb(d),C(c))){d=d.nodeValue;if(d===Va&&b){let g=b.length;d=b;e=f=g}null!==d&&lb(c,d,f,e,a)}}}\nfunction lb(a,b,c,d,f){let e=a;if(e.isAttached()&&(f||!e.isDirty())){var g=e.isComposing();a=b;(g||f)&&b[b.length-1]===Va&&(a=b.slice(0,-1));b=e.getTextContent();if(f||a!==b)if(\"\"===a)if(J(null),Ta||Ua)e.remove();else{let h=I();setTimeout(()=>{h.update(()=>{e.isAttached()&&e.remove()})},20)}else f=e.getParent(),b=Pb(),G(e)||null!==I()._compositionKey&&!g||null!==f&&D(b)&&!f.canInsertTextBefore()&&0===b.anchor.offset?e.markDirty():(g=u(),D(g)&&null!==c&&null!==d&&(g.setTextNodeRange(e,c,e,d),e.isSegmented()&&\n(c=e.getTextContent(),c=M(c),e.replace(c),e=c)),e.setTextContent(a))}}\nfunction Qb(a,b){var c=a.anchor,d=a.focus,f=c.getNode(),e=window.getSelection();e=null!==e?e.anchorNode:null;let g=c.key,h=I().getElementByKey(g),k=b.length;(b=g!==d.key||!C(f)||(2>k||Lb(b))&&c.offset!==d.offset&&!f.isComposing()||xb(f)||f.isDirty()&&1<k||null!==h&&!f.isComposing()&&e!==yb(h)||f.getFormat()!==a.format)||(f.isSegmented()?b=!0:a.isCollapsed()?(a=a.anchor.offset,b=f.getParentOrThrow(),c=f.isToken(),(d=0===a)&&!(d=!f.canInsertTextBefore()||!b.canInsertTextBefore()||c)&&(d=f.getPreviousSibling(),\nd=(C(d)||F(d)&&d.isInline())&&!d.canInsertTextAfter()),f=f.getTextContentSize()===a&&(!f.canInsertTextBefore()||!b.canInsertTextBefore()||c),b=d||f):b=!1);return b}function Rb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}function Sb(a,b,c,d,f){0!==c.size&&(c=d.__key,b=b.get(d.__type),void 0===b&&r(33),b=b.klass,d=a.get(b),void 0===d&&(d=new Map,a.set(b,d)),d.has(c)||d.set(c,f))}\nfunction Tb(a,b,c){let d=a.getParent(),f=c;null!==d&&(b&&0===c?(f=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(f=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?f-1:f)}function Ub(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Tb(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Tb(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}\nfunction pb(a){a=(a=sb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Vb(a){return!N(a)&&!a.isLastChild()&&!a.isInline()}function Zb(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function $b(a,b=0){0!==b&&r(1);b=u();if(!D(b)||!F(a))return b;let {anchor:c,focus:d}=b,f=c.getNode(),e=d.getNode();ac(f,a)&&c.set(a.__key,0,\"element\");ac(e,a)&&d.set(a.__key,0,\"element\");return b}\nfunction ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function sb(a){a=a._window;null===a&&r(78);return a}function bc(a,b,c,d,f){a=a.__children;let e=a.length;for(let g=0;g<e;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(F(k)&&bc(k,h,c,d,f),c.has(h)||f.delete(h),d.delete(h))}}\nfunction cc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let f of c){let e=b.get(f);void 0===e||e.isAttached()||(a.has(f)||c.delete(f),b.delete(f))}for(let [f]of d)c=b.get(f),void 0===c||c.isAttached()||(F(c)&&bc(c,f,a,b,d),a.has(f)||d.delete(f),b.delete(f))}function dc(a,b){let c=a.__mode,d=a.__format;a=a.__style;let f=b.__mode,e=b.__format;b=b.__style;return(null===c||c===f)&&(null===d||d===e)&&(null===a||a===b)}\nfunction ec(a,b){let c=a.mergeWithSibling(b),d=I()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}function fc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&C(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{dc(b,a)&&(a=ec(b,a));break}for(var c;null!==(c=a.getNextSibling())&&C(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{dc(a,c)&&ec(a,c);break}}}\nlet O=\"\",P=\"\",Q=\"\",gc,S,hc,ic=!1,jc=!1,kc,lc=null,mc,nc,oc,pc,qc,rc;function sc(a,b){let c=oc.get(a);if(null!==b){let d=tc(a);b.removeChild(d)}pc.has(a)||S._keyToDOMMap.delete(a);F(c)&&(a=c.__children,uc(a,0,a.length-1,null));void 0!==c&&Sb(rc,hc,kc,c,\"destroyed\")}function uc(a,b,c,d){for(;b<=c;++b){let f=a[b];void 0!==f&&sc(f,d)}}function vc(a,b){a.setProperty(\"text-align\",b)}function wc(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction xc(a,b){a=a.style;0===b?vc(a,\"\"):1===b?vc(a,\"left\"):2===b?vc(a,\"center\"):3===b?vc(a,\"right\"):4===b&&vc(a,\"justify\")}\nfunction yc(a,b,c){let d=pc.get(a);void 0===d&&r(60);let f=d.createDOM(gc,S);var e=S._keyToDOMMap;f[\"__lexicalKey_\"+S._key]=a;e.set(a,f);C(d)?f.setAttribute(\"data-lexical-text\",\"true\"):A(d)&&f.setAttribute(\"data-lexical-decorator\",\"true\");if(F(d)){a=d.__indent;0!==a&&wc(f,a);a=d.__children;var g=a.length;if(0!==g){e=a;--g;let h=P;P=\"\";zc(e,0,g,f,null);Ac(d,f);P=h}e=d.__format;0!==e&&xc(f,e);Bc(null,a,f);Vb(d)&&(O+=\"\\n\\n\",Q+=\"\\n\\n\")}else e=d.getTextContent(),A(d)?(g=d.decorate(S,gc),null!==g&&Cc(a,\ng),f.contentEditable=\"false\"):C(d)&&(d.isDirectionless()||(P+=e),d.isInert()&&(a=f.style,a.pointerEvents=\"none\",a.userSelect=\"none\",f.contentEditable=\"false\",a.setProperty(\"-webkit-user-select\",\"none\"))),O+=e,Q+=e;null!==b&&(null!=c?b.insertBefore(f,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(f,c):b.appendChild(f)));Sb(rc,hc,kc,d,\"created\");return f}function zc(a,b,c,d,f){let e=O;for(O=\"\";b<=c;++b)yc(a[b],d,f);d.__lexicalTextContent=O;O=e+O}\nfunction Dc(a,b){a=b.get(a[a.length-1]);return Bb(a)||A(a)}function Bc(a,b,c){a=null!==a&&(0===a.length||Dc(a,oc));b=null!==b&&(0===b.length||Dc(b,pc));a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement(\"br\"),c.__lexicalLineBreak=b,c.appendChild(b))}\nfunction Ac(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==P||c!==lc){let e=\"\"===P;if(e)var d=lc;else d=P,d=Xa.test(d)?\"rtl\":Ya.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=gc.theme;var f=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==f&&(\"string\"===typeof f&&(f=f.split(\" \"),f=h[c]=f),g.remove(...f));null===d||e&&\"ltr\"===d?b.removeAttribute(\"dir\"):(void 0!==k&&(\"string\"===typeof k&&(c=k.split(\" \"),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);jc||(a.getWritable().__dir=d)}lc=\nd;b.__lexicalDirTextContent=P;b.__lexicalDir=d}}\nfunction Ec(a,b){var c=oc.get(a),d=pc.get(a);void 0!==c&&void 0!==d||r(61);var f=ic||nc.has(a)||mc.has(a);let e=Zb(S,a);if(c===d&&!f)return F(c)?(d=e.__lexicalTextContent,void 0!==d&&(O+=d,Q+=d),d=e.__lexicalDirTextContent,void 0!==d&&(P+=d)):(d=c.getTextContent(),C(c)&&!c.isDirectionless()&&(P+=d),Q+=d,O+=d),e;c!==d&&f&&Sb(rc,hc,kc,d,\"updated\");if(d.updateDOM(c,e,gc))return d=yc(a,null,null),null===b&&r(62),b.replaceChild(d,e),sc(a,null),d;if(F(c)&&F(d)){a=d.__indent;a!==c.__indent&&wc(e,a);a=d.__format;\na!==c.__format&&xc(e,a);a=c.__children;c=d.__children;if(a!==c||f){var g=a,h=c;f=d;b=P;P=\"\";let v=O;O=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Ec(l,e);else{var n=tc(l);h=yc(h,null,null);e.replaceChild(h,n);sc(l,null)}}else if(0===k)0!==m&&zc(h,0,m-1,e,null);else if(0===m)0!==k&&(l=null==e.__lexicalLineBreak,uc(g,0,k-1,l?null:e),l&&(e.textContent=\"\"));else{let w=k-1;k=m-1;let y=e.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Ec(B,e).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let E=n.has(q),da=l.has(B);E?(da?(q=Zb(S,B),q===y?y=Ec(B,e).nextSibling:(null!=y?e.insertBefore(q,y):e.appendChild(q),Ec(B,e)),z++):yc(B,e,y),m++):(y=tc(q).nextSibling,sc(q,e),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),zc(h,m,k,e,l)):n&&!l&&uc(g,z,w,e)}Vb(f)&&(O+=\"\\n\\n\");e.__lexicalTextContent=O;O=v+O;Ac(f,e);P=b;N(d)||Bc(a,c,e)}Vb(d)&&(O+=\"\\n\\n\",Q+=\"\\n\\n\")}else c=d.getTextContent(),A(d)?(f=d.decorate(S,\ngc),null!==f&&Cc(a,f)):C(d)&&!d.isDirectionless()&&(P+=c),O+=c,Q+=c;!jc&&N(d)&&d.__cachedText!==Q&&(d=d.getWritable(),d.__cachedText=Q);return e}function Cc(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Gb(S)}c[a]=b}function tc(a){a=qc.get(a);void 0===a&&r(75);return a}\nlet T=Object.freeze({}),Lc=[[\"keydown\",Fc],[\"mousedown\",Gc],[\"compositionstart\",Hc],[\"compositionend\",Ic],[\"input\",Jc],[\"click\",Kc],[\"cut\",T],[\"copy\",T],[\"dragstart\",T],[\"dragover\",T],[\"dragend\",T],[\"paste\",T],[\"focus\",T],[\"blur\",T],[\"drop\",T]];Sa&&Lc.push([\"beforeinput\",(a,b)=>Mc(a,b)]);let Nc=0,Oc=0,Pc=0,Qc=!1,Rc=!1,Sc=!1,Tc=!1,Uc=[0,0,\"root\",0];function Vc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction Wc(a,b,c){let {anchorNode:d,anchorOffset:f,focusNode:e,focusOffset:g}=a;if(Qc&&(Qc=!1,Vc(d,f)&&Vc(e,g)))return;x(b,()=>{if(!c)nb(null);else if(vb(b,d,e)){var h=u();if(D(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&(h.dirty=!0);var l=sb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Uc;l<w+200&&k.offset===q&&k.key===v?h.format=n:\"text\"===k.type?h.format=m.getFormat():\"element\"===k.type&&(h.format=0)}else{k=127;m=!1;l=h.getNodes();let n=l.length;for(let q=\n0;q<n;q++){let v=l[q];if(C(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}U(b,aa,void 0)}})}function Kc(a,b){x(b,()=>{let c=u(),d=window.getSelection(),f=Pb();if(D(c)){let e=c.anchor,g=e.getNode();d&&\"element\"===e.type&&0===e.offset&&c.isCollapsed()&&!N(g)&&1===Ib().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==f&&c.is(f)&&(d.removeAllRanges(),c.dirty=!0)}U(b,ba,a)})}function Gc(a,b){let c=a.target;c instanceof Node&&x(b,()=>{A(kb(c))||(Rc=!0)})}\nfunction Xc(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function Yc(a,b){return a!==b||F(a)||F(b)||!G(a)||!G(b)}\nfunction Mc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Pa&&pb(b)||\"insertCompositionText\"!==c&&x(b,()=>{let d=u();if(\"deleteContentBackward\"===c){if(null===d){var f=Pb();if(!D(f))return;nb(f.clone())}if(D(d)){229===Oc&&a.timeStamp<Nc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(J(null),Nc=0,setTimeout(()=>{x(b,()=>{J(null)})},30),D(d)&&(f=d.anchor.getNode(),f.markDirty(),d.format=f.getFormat())):(a.preventDefault(),U(b,ca,!0));return}}if(D(d)){f=a.data;d.dirty||!d.isCollapsed()||N(d.anchor.getNode())||\nXc(d,a);var e=d.focus,g=d.anchor.getNode();e=e.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===f?(a.preventDefault(),U(b,ea,!1)):\"\\n\\n\"===f?(a.preventDefault(),U(b,fa,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(f)):null!=f&&Qb(d,f)&&(a.preventDefault(),U(b,ha,f));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":U(b,ha,a);break;case \"insertFromComposition\":J(null);U(b,\nha,a);break;case \"insertLineBreak\":J(null);U(b,ea,!1);break;case \"insertParagraph\":J(null);Sc?(Sc=!1,U(b,ea,!1)):U(b,fa,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":U(b,ja,a);break;case \"deleteByComposition\":Yc(g,e)&&U(b,ka,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":U(b,ka,void 0);break;case \"deleteContent\":U(b,ca,!1);break;case \"deleteWordBackward\":U(b,la,!0);break;case \"deleteWordForward\":U(b,la,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":U(b,\nma,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":U(b,ma,!1);break;case \"formatStrikeThrough\":U(b,p,\"strikethrough\");break;case \"formatBold\":U(b,p,\"bold\");break;case \"formatItalic\":U(b,p,\"italic\");break;case \"formatUnderline\":U(b,p,\"underline\");break;case \"historyUndo\":U(b,na,void 0);break;case \"historyRedo\":U(b,oa,void 0)}}})}\nfunction Jc(a,b){a.stopPropagation();x(b,()=>{var c=u(),d=a.data;null!=d&&D(c)&&Qb(c,d)?(Tc&&(Zc(b,d),Tc=!1),U(b,ha,d),d=d.length,Pa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Ta||Ua||!b.isComposing()||(Nc=0,J(null))):(Ob(!1),Tc&&(Zc(b,d||void 0),Tc=!1));K();c=I();qb(c)})}\nfunction Hc(a,b){x(b,()=>{let c=u();if(D(c)&&!b.isComposing()){let d=c.anchor;J(d.key);(a.timeStamp<Nc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&U(b,ha,Wa)}})}\nfunction Zc(a,b){var c=a._compositionKey;J(null);if(null!==c&&null!=b){if(\"\"===b){b=L(c);a=yb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&C(b)&&lb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=u(),D(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);U(a,ya,null);return}}Ob(!0,b)}function Ic(a,b){Pa?Tc=!0:x(b,()=>{Zc(b,a.data)})}\nfunction Fc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Nc=a.timeStamp,Oc=a.keyCode,!b.isComposing())){var {keyCode:c,shiftKey:d,ctrlKey:f,metaKey:e,altKey:g}=a;if(39!==c||f||e||g)if(39!==c||g||d||!f&&!e)if(37!==c||f||e||g)if(37!==c||g||d||!f&&!e)if(38!==c||f||e)if(40!==c||f||e)if(13===c&&d)Sc=!0,U(b,ya,a);else if(32===c)U(b,za,a);else if(t&&f&&79===c)a.preventDefault(),Sc=!0,U(b,ea,!0);else if(13!==c||d){var h=t?g||e?!1:8===c||72===c&&f:f||g||e?!1:8===c;h?8===c?U(b,Aa,a):(a.preventDefault(),\nU(b,ca,!0)):27===c?U(b,Ba,a):(h=t?d||g||e?!1:46===c||68===c&&f:f||g||e?!1:46===c,h?46===c?U(b,Ca,a):(a.preventDefault(),U(b,ca,!1)):8===c&&(t?g:f)?(a.preventDefault(),U(b,la,!0)):46===c&&(t?g:f)?(a.preventDefault(),U(b,la,!1)):t&&e&&8===c?(a.preventDefault(),U(b,ma,!0)):t&&e&&46===c?(a.preventDefault(),U(b,ma,!1)):66===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"bold\")):85===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"underline\")):73===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"italic\")):9!==c||g||f||\ne?90===c&&!d&&(t?e:f)?(a.preventDefault(),U(b,na,void 0)):(h=t?90===c&&e&&d:89===c&&f||90===c&&f&&d,h?(a.preventDefault(),U(b,oa,void 0)):$c(b._editorState._selection)&&(h=d?!1:67===c?t?e:f:!1,h?(a.preventDefault(),U(b,Ia,a)):(h=d?!1:88===c?t?e:f:!1,h&&(a.preventDefault(),U(b,Ja,a))))):U(b,Da,a))}else Sc=!1,U(b,ya,a);else U(b,xa,a);else U(b,wa,a);else U(b,sa,a);else U(b,ra,a);else U(b,qa,a);else U(b,pa,a);(f||d||g||e)&&U(b,Ma,a)}}\nfunction ad(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let bd=new Map;function cd(){let a=window.getSelection();if(null!==a){var b=wb(a.anchorNode);if(null!==b){Rc&&(Rc=!1,x(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=dd(g,a,b),nb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,f=bd.get(d),e=f||c;e!==b&&Wc(a,e,!1);Wc(a,b,!0);b!==c?bd.set(d,b):f&&bd.delete(d)}}}\nfunction ed(a,b){0===Pc&&a.ownerDocument.addEventListener(\"selectionchange\",cd);Pc++;a.__lexicalEditor=b;let c=ad(a);for(let d=0;d<Lc.length;d++){let [f,e]=Lc[d],g=\"function\"===typeof e?h=>{b.isEditable()&&e(h,b)}:h=>{if(b.isEditable())switch(f){case \"cut\":return U(b,Ja,h);case \"copy\":return U(b,Ia,h);case \"paste\":return U(b,ja,h);case \"dragstart\":return U(b,Fa,h);case \"dragover\":return U(b,Ga,h);case \"dragend\":return U(b,Ha,h);case \"focus\":return U(b,Ka,h);case \"blur\":return U(b,La,h);case \"drop\":return U(b,\nEa,h)}};a.addEventListener(f,g);c.push(()=>{a.removeEventListener(f,g)})}}\nclass W{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(F(b)){var f=b.getDescendantByIndex(d);b=null!=f?f:b}F(c)&&(f=c.getDescendantByIndex(a),c=null!=f?f:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=L(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,f=this.key;this.key=a;this.offset=b;this.type=c;\nX||(I()._compositionKey===f&&J(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function fd(a,b){let c=b.__key,d=a.offset,f=\"element\";if(C(b))f=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!F(b)){var e=b.getNextSibling();if(C(e))c=e.__key,d=0;else if(e=b.getParent())c=e.__key,d=b.getIndexWithinParent()+1}a.set(c,d,f)}function gd(a,b){if(F(b)){let c=b.getLastDescendant();F(c)||C(c)?fd(a,c):fd(a,b)}else fd(a,b)}\nfunction hd(a,b,c){let d=a.getNode(),f=d.getChildAtIndex(a.offset),e=M(),g=N(d)?id().append(e):e;e.setFormat(c);null===f?d.append(g):f.insertBefore(g);a.is(b)&&b.set(e.__key,0,\"text\");a.set(e.__key,0,\"text\")}function jd(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass kd{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!$c(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new kd(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}getNodes(){var a=\nthis._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=L(c),null!==b&&a.push(b);X||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function D(a){return a instanceof ld}\nclass md{constructor(a,b,c){this.gridKey=a;this.anchor=b;this.focus=c;this.dirty=!1;this._cachedNodes=null;b._selection=this;c._selection=this}is(a){return nd(a)?this.gridKey===a.gridKey&&this.anchor.is(this.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new md(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return od(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}getShape(){var a=\nL(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=L(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let f=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,f);a=Math.max(a,f);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,a)}}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:f}=this.getShape();var e=\nL(this.gridKey);pd(e)||r(23);a.add(e);e=e.getChildren();for(let k=c;k<=f;k++){var g=e[k];a.add(g);qd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];rd(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);F(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);X||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function nd(a){return a instanceof md}\nclass ld{constructor(a,b,c){this.anchor=a;this.focus=b;this.dirty=!1;this.format=c;this._cachedNodes=null;a._selection=this;b._selection=this}is(a){return D(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format:!1}isBackward(){return this.focus.isBefore(this.anchor)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this.anchor,c=this.focus;a=b.getNode();let d=c.getNode();F(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);F(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?F(a)&&(0<a.getChildrenSize()||a.excludeFromCopy())?[]:[a]:a.getNodesBetween(d);X||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){jd(this.anchor,a.__key,b,\"text\");jd(this.focus,c.__key,d,\"text\");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return\"\";let b=a[0],c=a[a.length-1],d=this.anchor.isBefore(this.focus),[f,e]=od(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];\nif(F(m)&&!m.isInline())h||(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,C(m)){let l=m.getTextContent();m===b?l=m===c?f<e?l.slice(f,e):l.slice(e,f):d?l.slice(f):l.slice(e):m===c&&(l=d?l.slice(0,e):l.slice(0,f));g+=l}else!A(m)&&!Bb(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=I(),c=b.getEditorState()._selection;a=sd(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,f]=a;jd(this.anchor,d.key,d.offset,d.type);jd(this.focus,f.key,\nf.offset,f.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new ld(new W(a.key,a.offset,a.type),new W(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=zb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Za[a])}insertRawText(a){let b=a.split(/\\r?\\n/);if(1===b.length)this.insertText(a);else{a=[];let c=b.length;for(let d=0;d<c;d++){let f=b[d];\"\"!==f&&a.push(M(f));d!==c-1&&a.push(td())}this.insertNodes(a)}}insertText(a){var b=this.anchor,\nc=this.focus,d=this.isCollapsed()||b.isBefore(c),f=this.format;d&&\"element\"===b.type?hd(b,c,f):d||\"element\"!==c.type||hd(c,b,f);var e=this.getNodes(),g=e.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=e[0];C(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=e[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!C(n)||xb(n))n=M(),n.setFormat(f),m.canInsertTextAfter()?\nb.insertAfter(n):m.insertAfter(n);n.select(0,0);b=n;if(\"\"!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!m.canInsertTextBefore()&&null===b.getPreviousSibling())){n=b.getPreviousSibling();if(!C(n)||xb(n))n=M(),n.setFormat(f),m.canInsertTextBefore()?b.insertBefore(n):m.insertBefore(n);n.select();b=n;if(\"\"!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)m=M(b.getTextContent()),m.setFormat(f),b.replace(m),b=m;\nelse if(!(this.isCollapsed()||\"\"===a||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!F(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");ud(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(G(b))a=M(a),a.select(),b.replace(a);else{e=b.getFormat();if(c===k&&e!==f)if(\"\"===b.getTextContent())b.setFormat(f);else{e=M(a);e.setFormat(f);e.select();0===c?b.insertBefore(e):([g]=b.splitText(c),g.insertAfter(e));e.isComposing()&&\"text\"===this.anchor.type&&\n(this.anchor.offset-=a.length);return}b=b.spliceText(c,k-c,a,!0);\"\"===b.getTextContent()?b.remove():\"text\"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:this.format=e)}else{f=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=F(b)?b:b.getParentOrThrow();m=F(l)?l:l.getParentOrThrow();n=l;if(!q.is(m)&&m.isInline()){do n=m,m=m.getParentOrThrow();while(m.isInline())}\"text\"===h.type&&(0!==k||\"\"===l.getTextContent())||\"element\"===h.type&&l.getIndexWithinParent()<k?C(l)&&!G(l)&&\nk!==l.getTextContentSize()?(l.isSegmented()&&(h=M(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),f.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):f.add(l.__key);h=m.getChildren();k=new Set(e);l=q.is(m);q=q.isInline()&&null===b.getNextSibling()?q:b;for(let v=h.length-1;0<=v;v--){let w=h[v];if(w.is(b)||F(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,k=null;null!==h;){l=h.getChildren();\nm=l.length;if(0===m||l[m-1].is(k))f.delete(h.__key),k=h;h=h.getParent()}G(b)?c===d?b.select():(a=M(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),\"\"===b.getTextContent()?b.remove():b.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<g;a++)b=e[a],f.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),J(null);else{var b=this.getNodes(),c=[];for(var d of b)C(d)&&c.push(d);var f=c.length;if(0===f)this.toggleFormat(a),\nJ(null);else{d=this.anchor;var e=this.focus,g=this.isBackward();b=g?e:d;d=g?d:e;var h=0,k=c[0];e=\"element\"===b.type?0:b.offset;\"text\"===b.type&&e===k.getTextContentSize()&&(h=1,k=c[1],e=0);if(null!=k){g=k.getFormatFlags(a,null);var m=f-1,l=c[m];f=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))e!==f&&(0===e&&f===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(e,f),a=0===e?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,0,\"text\"),\"text\"===d.type&&d.set(a.__key,f-e,\"text\")),\nthis.format=g);else{0!==e&&([,k]=k.splitText(e),e=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<f&&(f!==l.getTextContentSize()&&([l]=l.splitText(f)),l.setFormat(n));for(h+=1;h<m;h++){let q=c[h];if(!q.isToken()){let v=q.getFormatFlags(a,n);q.setFormat(v)}}\"text\"===b.type&&b.set(k.__key,e,\"text\");\"text\"===d.type&&d.set(l.__key,f,\"text\");this.format=g|n}}}}}insertNodes(a,b){this.isCollapsed()||this.removeText();var c=this.anchor,d=c.offset,f=c.getNode(),e=f;\"element\"===c.type&&(e=c.getNode(),c=e.getChildAtIndex(d-\n1),e=null===c?e:c);c=[];var g=f.getNextSiblings(),h=N(f)?null:f.getTopLevelElementOrThrow();if(C(f))if(e=f.getTextContent().length,0===d&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),c.push(f);else if(d===e)e=f;else{if(G(f))return!1;[e,f]=f.splitText(d);c.push(f)}f=e;c.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(F(l)&&!l.isInline()){if(l.is(g)){if(F(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);e=l;k=!0;continue}var n=l.getFirstDescendant();\nif(Ab(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(F(e))for(var q=0;q<k;q++)e.append(m[q]);else{for(q=k-1;0<=q;q--)e.insertAfter(m[q]);e=e.getParentOrThrow()}m=m[k-1];n.remove();k=!0;if(n.is(l))continue}}C(e)&&(null===h&&r(27),e=h)}else k&&!A(l)&&N(e.getParent())&&r(28);k=!1;if(F(e)&&!e.isInline())if(m=l,A(l)&&l.isTopLevel())e=e.insertAfter(l);else if(F(l)){if(l.canBeEmpty()||!l.isEmpty())N(e)?(n=e.getChildAtIndex(d),null!==n?n.insertBefore(l):\ne.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!F(l)||F(l)&&l.isInline()||A(e)&&e.isTopLevel()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Bb(e)&&e.remove(),e=l,v--)}b&&(C(f)?f.select():(a=e.getPreviousSibling(),C(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(F(e)){if(a=C(m)?m:F(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?e.select():C(a)?a.select():a.selectNext()),0!==\nc.length)for(b=e,a=c.length-1;0<=a;a--)d=c[a],h=d.getParentOrThrow(),!F(e)||vd(d)||A(d)&&d.isTopLevel()?F(e)||vd(d)?F(d)&&!d.canInsertAfter(e)?(f=h.constructor.clone(h),F(f)||r(29),f.append(d),e.insertAfter(f)):e.insertAfter(d):(e.insertBefore(d),e=d):(b===e?e.append(d):e.insertBefore(d),e=d),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(C(e)?e.select():(c=e.getParentOrThrow(),e=e.getIndexWithinParent()+1,c.select(e,e)));return!0}insertParagraph(){this.isCollapsed()||this.removeText();var a=this.anchor,\nb=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var f=d.getNextSiblings().reverse();var e=d.getParentOrThrow();var g=e.isInline(),h=g?e.getTextContentSize():d.getTextContentSize();0===b?f.push(d):(g&&(c=e.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),f.push(d)))}else{e=a.getNode();if(N(e)){f=id();c=e.getChildAtIndex(b);f.select();null!==c?c.insertBefore(f):e.append(f);return}f=e.getChildren().slice(b).reverse()}d=f.length;if(0===b&&0<d&&e.isInline()){if(c=e.getParentOrThrow(),\nf=c.insertNewAfter(this),F(f))for(c=c.getChildren(),e=0;e<c.length;e++)f.append(c[e])}else if(g=e.insertNewAfter(this),null===g)this.insertLineBreak();else if(F(g))if(h=e.getFirstChild(),0===b&&(e.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)e.insertBefore(g);else{e=null;b=c.length;a=g.getParentOrThrow();if(0<b)for(h=0;h<b;h++)a.append(c[h]);if(0!==d)for(c=0;c<d;c++)b=f[c],null===e?g.append(b):e.insertBefore(b),e=b;g.canBeEmpty()||0!==g.getChildrenSize()?g.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=\ntd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),N(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return od(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let f=this.focus;var e=a[0];let g=a[c],[h,k]=od(this);if(0===b)return[];if(1===b)return C(e)&&!this.isCollapsed()?(a=h>k?k:h,c=e.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[e];b=d.isBefore(f);C(e)&&(d=b?h:k,d===e.getTextContentSize()?\na.shift():0!==d&&([,e]=e.splitText(d),a[0]=e));C(g)&&(e=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==e&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,f=this.anchor,e=\"move\"===a,g=Ub(d,b);if(A(g)&&!g.isIsolated())e?(e=wd(),e.add(g.__key),nb(e)):(a=b?g.getPreviousSibling():g.getNextSibling(),C(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),e&&f.set(g,b,\"text\")):(c=g.getParentOrThrow(),F(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),\nc=c.__key,b||g++),d.set(c,g,\"element\"),e&&f.set(c,g,\"element\")));else if(d=window.getSelection())d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(b=d.getRangeAt(0),this.applyDOMRange(b),this.dirty=!0,e||d.anchorNode===b.startContainer&&d.anchorOffset===b.startOffset||(e=this.focus,b=this.anchor,d=b.key,f=b.offset,g=b.type,jd(b,e.key,e.offset,e.type),jd(e,d,f,g),this._cachedNodes=null))}deleteCharacter(a){if(this.isCollapsed()){var b=this.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===\nb.type&&F(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())&&(d=d.getNextSibling()||d.getParentOrThrow().getNextSibling(),F(d)&&!d.canExtractContents()))return;this.modify(\"extend\",a,\"character\");if(!this.isCollapsed()){var f=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==f&&f.isSegmented()){if(b=c.offset,c=f.getTextContentSize(),f.is(d)||a&&b!==c||!a&&0!==b){xd(f,a,b);return}}else if(null!==d&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),\nd.is(f)||a&&0!==b||!a&&b!==c)){xd(d,a,b);return}d=this.anchor;f=this.focus;b=d.getNode();c=f.getNode();if(b===c&&\"text\"===d.type&&\"text\"===f.type){var e=d.offset,g=f.offset;let h=e<g;c=h?e:g;g=h?g:e;e=g-1;c!==e&&(b=b.getTextContent().slice(c,g),Lb(b)||(a?f.offset=e:d.offset=e))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\n\"lineboundary\"),0===(a?this.focus:this.anchor).offset&&this.modify(\"extend\",a,\"character\"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify(\"extend\",a,\"word\");this.removeText()}}function $c(a){return a instanceof kd}function yd(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction od(a){let b=a.anchor;a=a.focus;return\"element\"===b.type&&\"element\"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[yd(b),yd(a)]}function xd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),f=d.length,e=0,g=0;for(let h=0;h<f;h++){let k=d[h],m=h===f-1;g=e;e+=k.length;if(b&&e===c||e>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join(\"\").trim();\"\"===b?a.remove():(a.setTextContent(b),a.select(g,g))}\nfunction zd(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var f=a.childNodes;var e=f.length;d===e&&(g=!0,d=e-1);f=Kb(f[d]);if(C(f))d=g?f.getTextContentSize():0;else{e=Kb(a);if(null===e)return null;if(F(e)){a=e.getChildAtIndex(d);if(b=F(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(e=a,d=0):(a=c,e=a.getParentOrThrow()));C(a)?(f=a,e=null,d=g?a.getTextContentSize():0):a!==e&&g&&d++}else d=e.getIndexWithinParent(),\nd=0===b&&A(e)&&Kb(a)===e?d:d+1,e=e.getParentOrThrow();if(F(e))return new W(e.__key,d,\"element\")}}else f=Kb(a);return C(f)?new W(f.__key,d,\"text\"):null}\nfunction Ad(a,b,c){var d=a.offset,f=a.getNode();0===d?(d=f.getPreviousSibling(),f=f.getParent(),b)?(c||!b)&&null===d&&F(f)&&f.isInline()&&(b=f.getPreviousSibling(),C(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):F(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):C(d)&&!d.isInert()&&(a.key=d.__key,a.offset=d.getTextContent().length):d===f.getTextContent().length&&(d=f.getNextSibling(),f=f.getParent(),b&&F(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\n\"element\"):(c||b)&&null===d&&F(f)&&f.isInline()&&!f.canInsertTextAfter()&&(b=f.getNextSibling(),C(b)&&(a.key=b.__key,a.offset=0)))}function ud(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let f=a.is(b);Ad(a,d,f);Ad(b,!d,f);f&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=I();d.isComposing()&&d._compositionKey!==a.key&&D(c)&&(d=c.anchor,c=c.focus,jd(a,d.key,d.offset,d.type),jd(b,c.key,c.offset,c.type))}}\nfunction sd(a,b,c,d,f,e){if(null===a||null===c||!vb(f,a,c))return null;b=zd(a,b,D(e)?e.anchor:null);if(null===b)return null;d=zd(c,d,D(e)?e.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Kb(a),c=Kb(c),A(a)&&A(c)))return null;ud(b,d,e);return[b,d]}function vd(a){return F(a)&&!a.isInline()}function Hd(a,b,c,d,f,e){let g=H();a=new ld(new W(a,b,f),new W(c,d,e),0);a.dirty=!0;return g._selection=a}function wd(){return new kd(new Set)}\nfunction Id(a){let b=a.getEditorState()._selection,c=window.getSelection();return $c(b)||nd(b)?b.clone():dd(b,c,a)}\nfunction dd(a,b,c){var d=c._window;if(null===d)return null;var f=d.event,e=f?f.type:void 0;d=\"selectionchange\"===e;f=!eb&&(d||\"beforeinput\"===e||\"compositionstart\"===e||\"compositionend\"===e||\"click\"===e&&f&&3===f.detail||void 0===e);let g;if(!D(a)||f){if(null===b)return null;f=b.anchorNode;e=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&D(a)&&!vb(c,f,e))return a.clone()}else return a.clone();c=sd(f,g,e,b,c,a);if(null===c)return null;let [h,k]=c;return new ld(h,k,D(a)?a.format:0)}\nfunction u(){return H()._selection}function Pb(){return I()._editorState._selection}\nfunction Jd(a,b,c,d=1){var f=a.anchor,e=a.focus,g=f.getNode(),h=e.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=f.offset,c<=b&&(c=Math.max(0,b+d),f.set(g,c,\"element\"),e.set(g,c,\"element\"),Kd(a));else{var k=a.isBackward();h=k?e:f;var m=h.getNode();f=k?f:e;e=f.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(e)&&(b=f.offset,c<=b&&f.set(g,Math.max(0,b+d),\"element\"));Kd(a)}}\nfunction Kd(a){var b=a.anchor,c=b.offset;let d=a.focus;var f=d.offset,e=b.getNode(),g=d.getNode();if(a.isCollapsed())F(e)&&(g=e.getChildrenSize(),g=(f=c>=g)?e.getChildAtIndex(g-1):e.getChildAtIndex(c),C(g)&&(c=0,f&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(F(e)){let h=e.getChildrenSize();c=(a=c>=h)?e.getChildAtIndex(h-1):e.getChildAtIndex(c);C(c)&&(e=0,a&&(e=c.getTextContentSize()),b.set(c.__key,e,\"text\"))}F(g)&&(c=g.getChildrenSize(),f=(b=f>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(f),C(f)&&(g=0,b&&(g=f.getTextContentSize()),d.set(f.__key,g,\"text\")))}}function Ld(a,b){b=b.getEditorState()._selection;a=a._selection;if(D(a)){var c=a.anchor;let d=a.focus,f;\"text\"===c.type&&(f=c.getNode(),f.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),f!==c&&c.selectionTransform(b,a))}}\nfunction Md(a,b,c,d,f){let e=null,g=0,h=null;null!==d?(e=d.__key,C(d)?(g=d.getTextContentSize(),h=\"text\"):F(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==f&&(e=f.__key,C(f)?h=\"text\":F(f)&&(h=\"element\"));null!==e&&null!==h?a.set(e,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function Nd(a,b,c,d,f){\"text\"===a.type?(a.key=c,b||(a.offset+=f)):a.offset>d.getIndexWithinParent()&&--a.offset}let Y=null,Z=null,X=!1,Od=!1,Fb=0;function K(){X&&r(13)}\nfunction H(){null===Y&&r(15);return Y}function I(){null===Z&&r(16);return Z}function Pd(a,b,c){var d=b.__type;let f=a._nodes.get(d);void 0===f&&r(30);a=c.get(d);void 0===a&&(a=Array.from(f.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function Qd(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),C(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&fc(b)}\nfunction Rd(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let f=I()._compositionKey,e=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let l of g)g=a.get(l),C(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&fc(g),void 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Pd(b,g,e),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Fb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let l of k)if(k=l[0],m=l[1],\"root\"===k||m)g=a.get(k),\nvoid 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Pd(b,g,e),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Fb++}b._dirtyLeaves=c;b._dirtyElements=d}function Sd(a,b){var c=b.get(a.type);void 0===c&&r(17);c=c.klass;a.type!==c.getType()&&r(18);c=c.importJSON(a);a=a.children;if(F(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let f=Sd(a[d],b);c.append(f)}return c}function Td(a,b){let c=Y,d=X,f=Z;Y=a;X=!0;Z=null;try{return b()}finally{Y=c,X=d,Z=f}}\nfunction Ud(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var f=a._editorState,e=f._selection,g=b._selection,h=0!==a._dirtyType,k=Y,m=X,l=Z,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Z=a;Y=b;X=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();P=Q=O=\"\";ic=2===w;lc=null;S=a;gc=a._config;hc=a._nodes;kc=S._listeners.mutation;mc=y;nc=z;oc=f._nodeMap;pc=b._nodeMap;\njc=b._readOnly;qc=new Map(a._keyToDOMMap);var B=new Map;rc=B;Ec(\"root\",null);rc=qc=gc=pc=oc=nc=mc=hc=S=void 0;v=B}catch(V){V instanceof Error&&a._onError(V);if(Od)throw V;Vd(a,null,c,b);rb(a);a._dirtyType=2;Od=!0;Ud(a);Od=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,Y=k,X=m,Z=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;z=a._pendingDecorators;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),\na._dirtyLeaves=new Set,a._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);y=a._decorators;var E=a._pendingDecorators||y,da=b._nodeMap;for(Qa in E)da.has(Qa)||(E===y&&(E=Gb(a)),delete E[Qa]);d=d?null:window.getSelection();if(a._editable&&null!==d&&(h||null===g||g.dirty)){Z=a;Y=b;try{a:{let V=d.anchorNode,ta=d.focusNode,se=d.anchorOffset,te=d.focusOffset,ob=document.activeElement;if(!w.has(\"collaboration\")||ob===c)if(D(g)){var R=g.anchor,Wb=g.focus,Bd=R.key,ua=Wb.key,Cd=Zb(a,\nBd),Dd=Zb(a,ua),Xb=R.offset,Ed=Wb.offset,Yb=g.format,Fd=g.isCollapsed();h=Cd;ua=Dd;var Qa=!1;\"text\"===R.type&&(h=yb(Cd),Qa=R.getNode().getFormat()!==Yb);\"text\"===Wb.type&&(ua=yb(Dd));if(null!==h&&null!==ua){if(Fd&&(null===e||Qa||D(e)&&e.format!==Yb)){var ue=performance.now();Uc=[Yb,Xb,Bd,ue]}if(se===Xb&&te===Ed&&V===h&&ta===ua&&(\"Range\"!==d.type||!Fd)&&(null===c||null!==ob&&c.contains(ob)||c.focus({preventScroll:!0}),!Ua&&!Ta||\"element\"!==R.type))break a;try{d.setBaseAndExtent(h,Xb,ua,Ed);if(g.isCollapsed()&&\nnull!==c&&c===ob){let Ra=R.getNode();if(F(Ra)){let ia=Ra.getDescendantByIndex(R.offset);null!==ia&&(Ra=ia)}let va=a.getElementByKey(Ra.__key);if(null!==va){let ia=va.getBoundingClientRect();if(ia.bottom>sb(a).innerHeight)va.scrollIntoView(!1);else if(0>ia.top)va.scrollIntoView();else{let Gd=c.getBoundingClientRect();Math.floor(ia.bottom)>Math.floor(Gd.bottom)?va.scrollIntoView(!1):Math.floor(ia.top)<Math.floor(Gd.top)&&va.scrollIntoView()}w.add(\"scroll-into-view\")}}Qc=!0}catch(Ra){}}}else null!==\ne&&vb(a,V,ta)&&d.removeAllRanges()}}finally{Z=l,Y=k}}if(null!==v)for(c=v,e=Array.from(a._listeners.mutation),g=e.length,k=0;k<g;k++){let [V,ta]=e[k];l=c.get(ta);void 0!==l&&V(l,{dirtyLeaves:n,updateTags:w})}null!==z&&(a._decorators=z,a._pendingDecorators=null,Wd(\"decorator\",a,!0,z));c=Hb(f);e=Hb(b);c!==e&&Wd(\"textcontent\",a,!0,e);Wd(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:f,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;a._updating=!0;try{for(f=\n0;f<m.length;f++)m[f]()}finally{a._updating=b}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [V,ta]=b;Xd(a,V,ta)}}}function Wd(a,b,c,...d){let f=b._updating;b._updating=c;try{let e=Array.from(b._listeners[a]);for(a=0;a<e.length;a++)e[a].apply(null,d)}finally{b._updating=f}}\nfunction U(a,b,c){if(!1===a._updating||Z!==a){let e=!1;a.update(()=>{e=U(a,b,c)});return e}let d=Mb(a);for(let e=4;0<=e;e--)for(let g=0;g<d.length;g++){var f=d[g]._commands.get(b);if(void 0!==f&&(f=f[e],void 0!==f)){f=Array.from(f);let h=f.length;for(let k=0;k<h;k++)if(!0===f[k](c,a))return!0}}return!1}\nfunction Yd(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [f,e]=d,g;void 0!==e&&(d=e.onUpdate,g=e.tag,e.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));f()}}return b}\nfunction Xd(a,b,c){let d=a._updateTags;var f=!1;if(void 0!==c){var e=c.onUpdate;f=c.tag;null!=f&&d.add(f);f=c.skipTransforms||!1}e&&a._deferred.push(e);c=a._editorState;e=a._pendingEditorState;let g=!1;if(null===e||e._readOnly)e=a._pendingEditorState=new Zd(new Map(c._nodeMap)),g=!0;let h=Y,k=X,m=Z,l=a._updating;Y=e;X=!1;a._updating=!0;Z=a;try{g&&!a._headless&&(e._selection=Id(a));let n=a._compositionKey;b();f=Yd(a,f);Ld(e,a);0!==a._dirtyType&&(f?Qd(e,a):Rd(e,a),Yd(a),cc(c,e,a._dirtyLeaves,a._dirtyElements));\nn!==a._compositionKey&&(e._flushSync=!0);let q=e._selection;if(D(q)){let v=e._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else $c(q)&&0===q._nodes.size&&(e._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();Ud(a);return}finally{Y=h,X=k,Z=m,a._updating=l,Fb=0}0!==a._dirtyType||$d(e,a)?e._flushSync?(e._flushSync=!1,Ud(a)):g&&ub(()=>{Ud(a)}):(e._flushSync=\n!1,g&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function x(a,b,c){a._updating?a._updates.push([b,c]):Xd(a,b,c)}\nfunction ae(a,b,c){K();var d=a.__key;let f=a.getParent();if(null!==f){var e=$b(a),g=!1;if(D(e)&&b){var h=e.anchor;let k=e.focus;h.key===d&&(Md(h,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Md(k,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=f.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Db(a);h.splice(d,1);a.getWritable().__parent=null;D(e)&&b&&!g&&Jd(e,f,d,-1);c||null===f||N(f)||f.canBeEmpty()||!f.isEmpty()||ae(f,b);null!==f&&N(f)&&f.isEmpty()&&f.selectEnd()}}\nfunction be(a){a=L(a);null===a&&r(63);return a}\nclass ce{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;if(null!=a)this.__key=a;else{K();99<Fb&&r(14);a=I();var b=H(),c=\"\"+tb++;b._nodeMap.set(c,this);F(this)?a._dirtyElements.set(c,!0):a._dirtyLeaves.add(c);a._cloneNotNeeded.add(c);a._dirtyType=1;this.__key=c}}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=L(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=u();if(null==\na)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return C(this)?b:D(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?!1:b}getKey(){return this.__key}getIndexWithinParent(){let a=this.getParent();return null===a?-1:a.__children.indexOf(this.__key)}getParent(){let a=this.getLatest().__parent;return null===a?null:L(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(N(b)&&(F(a)||A(a)&&a.isTopLevel()))return a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&r(67);return a}getParents(){let a=[],b=this.getParent();for(;null!==b;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.indexOf(this.__key);return 0>=b?null:L(a[b-1])}getPreviousSiblings(){var a=\nthis.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>be(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.length,c=a.indexOf(this.__key);return c>=b-1?null:L(a[c+1])}getNextSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(b+1).map(c=>be(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();F(this)&&b.unshift(this);F(a)&&c.unshift(a);\na=b.length;var d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let f=b[d];if(c.has(f))return f}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;if(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=d.__children.indexOf(c.__key);break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=a.__children.indexOf(c.__key);break}c=a}return d<b}isParentOf(a){let b=\nthis.__key;if(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var f=this;;){var e=f.__key;d.has(e)||(d.add(e),c.push(f));if(f===a)break;e=F(f)?b?f.getFirstChild():f.getLastChild():null;if(null!==e)f=e;else if(e=b?f.getNextSibling():f.getPreviousSibling(),null!==e)f=e;else{f=f.getParentOrThrow();d.has(f.__key)||c.push(f);if(f===a)break;e=f;do null===e&&r(68),f=b?e.getNextSibling():e.getPreviousSibling(),\ne=e.getParent(),null!==e&&(null!==f||d.has(e.__key)||c.push(e));while(null===f)}}b||c.reverse();return c}isDirty(){let a=I()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=L(this.__key);null===a&&r(69);return a}getWritable(){K();var a=H(),b=I();a=a._nodeMap;let c=this.__key,d=this.getLatest(),f=d.__parent;b=b._cloneNotNeeded;var e=u();null!==e&&(e._cachedNodes=null);if(b.has(c))return Eb(d),d;e=d.constructor.clone(d);e.__parent=f;F(d)&&F(e)?(e.__children=Array.from(d.__children),\ne.__indent=d.__indent,e.__format=d.__format,e.__dir=d.__dir):C(d)&&C(e)&&(e.__format=d.__format,e.__style=d.__style,e.__mode=d.__mode,e.__detail=d.__detail);b.add(c);e.__key=c;Eb(e);a.set(c,e);return e}getTextContent(){return\"\"}getTextContentSize(a,b){return this.getTextContent(a,b).length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){ae(this,!0,a)}replace(a){K();let b=this.__key;a=a.getWritable();\nCb(a);var c=this.getParentOrThrow(),d=c.getWritable().__children;let f=d.indexOf(this.__key),e=a.__key;-1===f&&r(31);d.splice(f,0,e);a.__parent=c.__key;ae(this,!1);Db(a);d=u();D(d)&&(c=d.anchor,d=d.focus,c.key===b&&gd(c,a),d.key===b&&gd(d,a));I()._compositionKey===b&&J(e);return a}insertAfter(a){K();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let f=u();var e=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Cb(c),D(f)&&(h=d.__key,g=f.anchor,d=f.focus,g=\"element\"===g.type&&g.key===h&&g.offset===\ne+1,h=\"element\"===d.type&&d.key===h&&d.offset===e+1));e=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=e.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Db(c);D(f)&&(Jd(f,e,b+1),c=e.__key,g&&f.anchor.set(c,b+2,\"element\"),h&&f.focus.set(c,b+2,\"element\"));return a}insertBefore(a){var b=this.getWritable(),c=a.getWritable();Cb(c);let d=this.getParentOrThrow().getWritable(),f=c.__key;c.__parent=b.__parent;let e=d.__children;b=e.indexOf(b.__key);-1===b&&r(31);\ne.splice(b,0,f);Db(c);c=u();D(c)&&Jd(c,d,b);return a}selectPrevious(a,b){K();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):F(c)?c.select():C(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){K();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():F(c)?c.select(0,0):C(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}\nclass de extends ce{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isTopLevel(){return!1}}function A(a){return a instanceof de}\nclass ee extends ce{constructor(a){super(a);this.__children=[];this.__indent=this.__format=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return bb[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=L(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===\nthis.getChildrenSize()}isDirty(){let a=I()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(a){let b=[],c=this.getLatest().__children;for(let f=0;f<c.length;f++){var d=L(c[f]);!C(d)||!a&&d.isInert()?F(d)&&(d=d.getAllTextNodes(a),b.push(...d)):b.push(d)}return b}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(F(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=\nthis.getLastChild();for(;null!==a;){if(F(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],F(a)&&a.getLastDescendant()||a||null;a=b[a];return F(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:L(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;\nreturn 0===b?null:L(a[b-1])}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:L(a)}getTextContent(a,b){let c=\"\",d=this.getChildren(),f=d.length;for(let e=0;e<f;e++){let g=d[e];c+=g.getTextContent(a,b);F(g)&&e!==f-1&&!g.isInline()&&(c+=\"\\n\\n\")}return c}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=ab[a],0!==(this.getFormat()&a)):!1}select(a,b){K();let c=u();var d=this.getChildrenSize();void 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(D(c))c.anchor.set(d,\na,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Hd(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return F(a)||C(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return F(a)||C(a)?a.select():null!==a?a.selectNext():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),0,a)}setDirection(a){let b=\nthis.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?ab[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var f=d.__key;let e=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===f&&r(76);Cb(l);l.__parent=f;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Eb(c);(f=this.getChildAtIndex(a+b))&&Eb(f);a===e.length?(e.push(...h),a=[]):a=e.splice(a,b,...h);if(a.length&&(b=\nu(),D(b))){let k=new Set(a),m=new Set(h);h=q=>{for(q=q.getNode();q;){const v=q.__key;if(k.has(v)&&!m.has(v))return!0;q=q.getParent()}return!1};let {anchor:l,focus:n}=b;h(l)&&Md(l,l.getNode(),this,c,f);h(n)&&Md(n,n.getNode(),this,c,f);h=a.length;for(b=0;b<h;b++)c=L(a[b]),null!=c&&(c.getWritable().__parent=null);0!==e.length||this.canBeEmpty()||N(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"element\",\nversion:1}}insertNewAfter(){return null}canInsertTab(){return!1}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function F(a){return a instanceof ee}\nclass fe extends ee{static getType(){return\"root\"}static clone(){return new fe}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(a,b){let c=this.__cachedText;return!X&&0!==I()._dirtyType||null===c||a&&!1===b?super.getTextContent(a,b):c}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];F(c)||A(c)||r(56)}return super.append(...a)}static importJSON(a){let b=\nIb();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}}function N(a){return a instanceof fe}function $d(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function ge(){return new Zd(new Map([[\"root\",new fe]]))}\nfunction he(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(F(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let f=he(a[d]);c.push(f)}}return b}\nclass Zd{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return Td(this,a)}clone(a){a=new Zd(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Td(this,()=>({root:he(Ib())}))}}\nclass ie extends ce{static getType(){return\"linebreak\"}static clone(a){return new ie(a.__key)}constructor(a){super(a)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement;return null!=b&&b.firstChild===a&&b.lastChild===a?null:{conversion:je,priority:0}}}}static importJSON(){return td()}exportJSON(){return{type:\"linebreak\",version:1}}}function je(){return{node:td()}}function td(){return new ie}\nfunction Bb(a){return a instanceof ie}function ke(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function le(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction me(a,b,c,d,f){a=d.classList;d=Rb(f,\"base\");void 0!==d&&a.add(...d);d=Rb(f,\"underlineStrikethrough\");let e=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(e=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Za)h=Za[k],d=Rb(f,k),void 0!==d&&(c&h?!e||\"underline\"!==k&&\"strikethrough\"!==k?(0===(b&h)||g&&\"underline\"===k||\"strikethrough\"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}\nfunction ne(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Va:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Pa){c=b.length;let f=a.length,e=0,g=0;for(;e<c&&e<f&&b[e]===a[e];)e++;for(;g+e<c&&g+e<f&&b[c-g-1]===a[f-g-1];)g++;a=[e,c-e-g,a.slice(e,f-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass oe extends ce{static getType(){return\"text\"}static clone(a){return new oe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style=\"\";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return db[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===I()._compositionKey}isSegmented(){return 2===\nthis.getLatest().__mode}isInert(){return 3===this.getLatest().__mode}isDirectionless(){return 0!==(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Za[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(a,b){return!a&&this.isInert()||!1===b&&this.isDirectionless()?\"\":this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return zb(c,a,b)}createDOM(a){var b=this.__format,\nc=ke(this,b);let d=le(this,b),f=document.createElement(null===c?d:c),e=f;null!==c&&(e=document.createElement(d),f.appendChild(e));c=e;ne(this.__text,c,this);a=a.theme.text;void 0!==a&&me(d,0,b,c,a);b=this.__style;\"\"!==b&&(f.style.cssText=b);return f}updateDOM(a,b,c){let d=this.__text;var f=a.__format,e=this.__format,g=ke(this,f);let h=ke(this,e);var k=le(this,f);let m=le(this,e);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return f=b.firstChild,null==f&&r(48),a=g=document.createElement(m),\nne(d,a,this),c=c.theme.text,void 0!==c&&me(m,0,e,a,c),b.replaceChild(g,f),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));ne(d,k,this);c=c.theme.text;void 0!==c&&f!==e&&me(m,f,e,k,c);e=this.__style;a.__style!==e&&(b.style.cssText=e);return!1}static importDOM(){return{\"#text\":()=>({conversion:pe,priority:0}),b:()=>({conversion:qe,priority:0}),code:()=>({conversion:re,priority:0}),em:()=>({conversion:re,priority:0}),i:()=>({conversion:re,priority:0}),span:()=>({conversion:ve,priority:0}),\nstrong:()=>({conversion:re,priority:0}),u:()=>({conversion:re,priority:0})}}static importJSON(a){let b=M(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format=\"string\"===typeof a?Za[a]:a;return b}setDetail(a){let b=this.getWritable();\nb.__detail=\"string\"===typeof a?$a[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Za[a];return this.setFormat(this.getFormat()^a)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=cb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){K();let c=u();var d=this.getTextContent();let f=this.__key;\n\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(D(c))d=I()._compositionKey,d!==c.anchor.key&&d!==c.focus.key||J(f),c.setTextNodeRange(this,a,this,b);else return Hd(f,a,f,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let f=this.getWritable(),e=f.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&D(k)&&(a+=g,k.setTextNodeRange(f,a,f,a));b=e.slice(0,h)+c+e.slice(h+b);f.__text=b;return f}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){K();\nvar b=this.getLatest(),c=b.getTextContent(),d=b.__key,f=I()._compositionKey,e=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&e.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);e=a.length;if(0===e)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=c.__key;let l=b.getFormat(),n=b.getStyle(),q=b.__detail;g=!1;b.isSegmented()?(h=M(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=u();h=[h];m=m.length;for(let y=1;y<e;y++){var v=\na[y],w=v.length;v=M(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(D(b)){let B=b.anchor,E=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,B.offset-=m,b.dirty=!0);E.key===d&&\"text\"===E.type&&E.offset>m&&E.offset<=w&&(E.key=z,E.offset-=m,b.dirty=!0)}f===d&&J(z);m=w;v.__parent=k;h.push(v)}Db(this);f=c.getWritable().__children;d=f.indexOf(d);a=h.map(y=>y.__key);g?(f.splice(d,0,...a),this.remove()):f.splice(d,1,...a);D(b)&&Jd(b,c,d,e-1);return h}mergeWithSibling(a){var b=\na===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,f=this.__text,e=f.length;I()._compositionKey===d&&J(c);let g=u();if(D(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(Nd(h,b,c,a,e),g.dirty=!0);null!==k&&k.key===d&&(Nd(k,b,c,a,e),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+f:f+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction ve(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,f=\"underline\"===a.style.textDecoration,e=a.style.verticalAlign;return{forChild:g=>{if(!C(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");f&&g.toggleFormat(\"underline\");\"sub\"===e&&g.toggleFormat(\"subscript\");\"super\"===e&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction qe(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{C(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function pe(a){let {parentElement:b}=a;a=a.textContent||\"\";let c=a.trim();return null!=b&&\"pre\"===b.tagName.toLowerCase()||0!==c.length||!a.includes(\"\\n\")?{node:M(a)}:{node:null}}let we={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};\nfunction re(a){let b=we[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{C(c)&&c.toggleFormat(b);return c},node:null}}function M(a=\"\"){return new oe(a)}function C(a){return a instanceof oe}\nclass xe extends ee{static getType(){return\"paragraph\"}static clone(a){return new xe(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Rb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:ye,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));return{element:a}}static importJSON(a){let b=id();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);\nreturn b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=id(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||C(a[0])&&\"\"===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function ye(){return{node:id()}}\nfunction id(){return new xe}function Vd(a,b,c,d){let f=a._keyToDOMMap;f.clear();a._editorState=ge();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent=\"\");null!==c&&(c.textContent=\"\",f.set(\"root\",c))}\nfunction ze(a){let b=new Map,c=new Set;a.forEach(d=>{d=null!=d.klass.importDOM?d.klass.importDOM.bind(d.klass):null;if(null!=d&&!c.has(d)){c.add(d);var f=d();null!==f&&Object.keys(f).forEach(e=>{let g=b.get(e);void 0===g&&(g=[],b.set(e,g));g.push(f[e])})}});return b}\nclass Ae{constructor(a,b,c,d,f,e){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=\nnew Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=Nb();this._onError=f;this._htmlConversions=e;this._editable=!0;this._headless=!1;this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=this._listeners.decorator;\nb.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let f=d.get(a);void 0===f&&r(36);let e=f[c];e.add(b);return()=>{e.delete(b);f.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,\nb){void 0===this._nodes.get(a.getType())&&r(37);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransform(a,b){a=a.getType();let c=this._nodes.get(a);void 0===c&&r(37);let d=c.transforms;d.add(b);Jb(this,a);return()=>{d.delete(b)}}hasNodes(a){for(let b=0;b<a.length;b++){let c=a[b].getType();if(!this._nodes.has(c))return!1}return!0}dispatchCommand(a,b){return U(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){var c=this._pendingEditorState||this._editorState;this._rootElement=a;Vd(this,b,a,c);if(null!==b&&!this._config.disableEvents){0!==Pc&&(Pc--,0===Pc&&b.ownerDocument.removeEventListener(\"selectionchange\",cd));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;bd.get(d)===c&&bd.delete(d)}else bd.delete(c._key);b.__lexicalEditor=null}c=ad(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=[]}null!==a?(c=(c=a.ownerDocument)&&\nc.defaultView||null,d=a.style,d.userSelect=\"text\",d.whiteSpace=\"pre-wrap\",d.wordBreak=\"break-word\",a.setAttribute(\"data-lexical-editor\",\"true\"),this._window=c,this._dirtyType=2,rb(this),this._updateTags.add(\"history-merge\"),Ud(this),this._config.disableEvents||ed(a,this)):this._window=null;Wd(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);qb(this);let c=this._pendingEditorState,d=this._updateTags;\nb=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Ud(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Ud(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ge(),d=Y,f=X,e=Z,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;Y=c;X=!1;Z=this;try{Sd(a.root,\nthis._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,Y=d,X=f,Z=e}return c}update(a,b){x(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),x(this,()=>{let d=u(),f=Ib();null!==d?d.dirty=!0:0!==f.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?f.selectStart():f.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");a&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=\nthis._rootElement;null!==a&&a.blur();a=window.getSelection();null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,Wd(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class Be extends ee{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}function rd(a){return a instanceof Be}class Ce extends ee{}function pd(a){return a instanceof Ce}\nclass De extends ee{}function qd(a){return a instanceof De}exports.$createGridSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new md(\"root\",a,b)};exports.$createLineBreakNode=td;exports.$createNodeSelection=wd;exports.$createParagraphNode=id;exports.$createRangeSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new ld(a,b,0)};exports.$createTextNode=M;exports.$getDecoratorNode=Ub;exports.$getNearestNodeFromDOMNode=kb;\nexports.$getNodeByKey=L;exports.$getPreviousSelection=Pb;exports.$getRoot=Ib;exports.$getSelection=u;exports.$isDecoratorNode=A;exports.$isElementNode=F;exports.$isGridCellNode=rd;exports.$isGridNode=pd;exports.$isGridRowNode=qd;exports.$isGridSelection=nd;exports.$isLeafNode=Ab;exports.$isLineBreakNode=Bb;exports.$isNodeSelection=$c;exports.$isParagraphNode=function(a){return a instanceof xe};exports.$isRangeSelection=D;exports.$isRootNode=N;exports.$isTextNode=C;\nexports.$nodesOfType=function(a){var b=H();let c=b._readOnly,d=a.getType();b=b._nodeMap;let f=[];for(let [,e]of b)e instanceof a&&e.__type===d&&(c||e.isAttached())&&f.push(e);return f};exports.$parseSerializedNode=function(a){return Sd(a,I()._nodes)};exports.$setCompositionKey=J;exports.$setSelection=nb;exports.BLUR_COMMAND=La;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;\nexports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ha;exports.COPY_COMMAND=Ia;exports.CUT_COMMAND=Ja;exports.DELETE_CHARACTER_COMMAND=ca;exports.DELETE_LINE_COMMAND=ma;exports.DELETE_WORD_COMMAND=la;exports.DRAGEND_COMMAND=Ha;exports.DRAGOVER_COMMAND=Ga;exports.DRAGSTART_COMMAND=Fa;exports.DROP_COMMAND=Ea;exports.DecoratorNode=de;\nexports.ElementNode=ee;exports.FOCUS_COMMAND=Ka;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.GridCellNode=Be;exports.GridNode=Ce;exports.GridRowNode=De;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=fa;exports.KEY_ARROW_DOWN_COMMAND=xa;exports.KEY_ARROW_LEFT_COMMAND=ra;exports.KEY_ARROW_RIGHT_COMMAND=pa;exports.KEY_ARROW_UP_COMMAND=wa;exports.KEY_BACKSPACE_COMMAND=Aa;exports.KEY_DELETE_COMMAND=Ca;\nexports.KEY_ENTER_COMMAND=ya;exports.KEY_ESCAPE_COMMAND=Ba;exports.KEY_MODIFIER_COMMAND=Ma;exports.KEY_SPACE_COMMAND=za;exports.KEY_TAB_COMMAND=Da;exports.LineBreakNode=ie;exports.MOVE_TO_END=qa;exports.MOVE_TO_START=sa;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ja;exports.ParagraphNode=xe;exports.REDO_COMMAND=oa;exports.REMOVE_TEXT_COMMAND=ka;exports.RootNode=fe;exports.SELECTION_CHANGE_COMMAND=aa;exports.TextNode=oe;exports.UNDO_COMMAND=na;exports.VERSION=\"0.4.1\";\nexports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Z,d=b.theme||{};let f=void 0===a?c:b.parentEditor||null,e=b.disableEvents||!1,g=ge(),h=b.namespace||(null!==f?f._config.namespace:Nb()),k=b.editorState,m=[fe,oe,ie,xe,...(b.nodes||[])],l=b.onError;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let n=m[c],q=n.getType();a.set(q,{klass:n,transforms:new Set})}d=new Ae(g,f,a,{disableEvents:e,namespace:h,theme:d},l?l:console.error,ze(a),b);void 0!==\nk&&(d._pendingEditorState=k,d._dirtyType=2);return d}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst Lexical = process.env.NODE_ENV === 'development' ? require('./Lexical.dev.js') : require('./Lexical.prod.js')\nmodule.exports = Lexical;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),l=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?l.useLayoutEffect:l.useEffect;let n={tag:\"history-merge\"};\nfunction p(b,a){if(null!==a&&void 0!==a&&null!==a)switch(typeof a){case \"string\":let e=b.parseEditorState(a);b.setEditorState(e,n);break;case \"object\":b.setEditorState(a,n);break;case \"function\":b.update(()=>{f.$getRoot().isEmpty()&&a(b)},n)}}\nexports.LexicalComposer=function({initialConfig:b,children:a}){let e=l.useMemo(()=>{const {theme:c,namespace:g,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=b,v=d.createLexicalComposerContext(null,c);let h=q||null;if(null===h){const k=f.createEditor({editable:!1,namespace:g,nodes:r,onError:w=>t(w,k),theme:c});p(k,u);h=k}return[h,v]},[]);m(()=>{let c=b.editable,[g]=e;g.setEditable(void 0!==c?c:!0)},[]);return l.createElement(d.LexicalComposerContext.Provider,{value:e},a)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposer = process.env.NODE_ENV === 'development' ? require('./LexicalComposer.dev.js') : require('./LexicalComposer.prod.js')\nmodule.exports = LexicalComposer;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");function n(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction q(a,b,e,f,d){var c=e._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=e._nodes;g._parentEditor=e._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;d._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,e,h,d).__key,c.__children.push(g));\nc.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction t(a,b){let e=b._editorState.constructor,f=new Map,d=new e(f),c=new Map(a._nodeMap),h=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,d)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}d._readOnly=!0;return d}function r(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return t(b,a)}\nexports.$dfs=function(a,b){let e=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,d=0;null!==(f=f.getParent());)d++;for(f=d;null!==a&&!a.is(b);)if(e.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(d=null;null===d&&null!==a;)d=a.getNextSibling(),null===d?(a=a.getParent(),f--):a=d;null!==a&&a.is(b)&&e.push({depth:f,node:a});return e};exports.$findMatchingParent=p;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};\nexports.$insertBlockNode=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a);b=l.$createParagraphNode();a.insertAfter(b);b.select();return a.getLatest()};\nexports.$restoreEditorState=function(a,b){let e=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=e);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.addClassNamesToElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.add(...e.split(\" \"))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,e,f){return a.registerNodeTransform(b,d=>{a:{var c=d.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=d;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(d)){f(g,d);d=k.getNextSiblings();c=d.length;g.insertAfter(k);if(0!==c){h=e(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(d[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.remove(...e.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=r\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalUtils = process.env.NODE_ENV === 'development' ? require('./LexicalUtils.dev.js') : require('./LexicalUtils.prod.js')\nmodule.exports = LexicalUtils;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\"),l=require(\"@lexical/utils\");function m(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}m(40)}break}return b}\nfunction r(a){a=a.getParent();q(a)||m(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return z().append(a)}\nfunction A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}\nfunction D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=z();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}\nfunction F(a,b){(b||a.getChildren()).forEach(c=>{let d=c.getValue();var e=c.getParent();var f=1;null!=e&&(q(e)?f=e.getStart():m(44));e=c.getPreviousSiblings();for(let g=0;g<e.length;g++){let k=e[g];p(k)&&!q(k.getFirstChild())&&f++}d!==f&&c.setValue(f)})}\nfunction G(a){let b=new Set;a.forEach(c=>{if(!u(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(u(e)&&u(f))f=f.getFirstChild(),q(f)&&(f.append(c),c=e.getFirstChild(),q(c)&&(c=c.getChildren(),C(f,c),e.remove(),b.add(e.getKey())),F(f));else if(u(e))e=e.getFirstChild(),q(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),F(e));else if(u(f))e=f.getFirstChild(),q(e)&&(e.append(c),F(e));else if(q(d)){let g=z(),k=E(d.getListType());g.append(k);k.append(c);f?\nf.insertAfter(g):e?e.insertBefore(g):d.append(g)}q(d)&&F(d)}})}\nfunction H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(q(e)&&p(d)&&q(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var k=c.getListType();f=z();let x=E(k);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();k=E(k);g.append(k);C(k,b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}F(c);\nF(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&(\"indent\"===a?G(d):H(d))}}\nclass J extends h.ElementNode{static getType(){return\"listitem\"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement(\"li\"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,\npriority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();\nif(q(b)){var c=b.__children;let e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=E(b.getListType());let f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();\nfor(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=\np(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),\"element\"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,\"element\"),\"element\"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,\"element\")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=\nthis.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||\np(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}\nfunction L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(\" \"),d.push(...f));if(b){f=c.getParent();f=q(f)&&\"check\"===f.getListType();let k=c.getChecked();f&&!k||e.push(b.listitemUnchecked);f&&k||e.push(b.listitemChecked);f&&d.push(k?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(k=>q(k))?d.push(...g):e.push(...g));0<e.length&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.addClassNamesToElement(a,\n...d)}function K(a,b,c,d){\"check\"===d.getListType()?q(b.getFirstChild())?(a.removeAttribute(\"role\"),a.removeAttribute(\"tabIndex\"),a.removeAttribute(\"aria-checked\")):(a.setAttribute(\"role\",\"checkbox\"),a.setAttribute(\"tabIndex\",\"-1\"),c&&b.__checked===c.__checked||a.setAttribute(\"aria-checked\",b.getChecked()?\"true\":\"false\")):null!=b.getChecked()&&b.setChecked(void 0)}function M(){return{node:z()}}function z(a){return new J(void 0,a)}function p(a){return a instanceof J}\nclass N extends h.ElementNode{static getType(){return\"list\"}static clone(a){return new N(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag=\"number\"===a?\"ol\":\"ul\";this.__start=b}getTag(){return this.__tag}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute(\"start\",String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);\nreturn b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=\n0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=z();q(b)?d.append(b):(b=h.$createTextNode(b.getTextContent()),d.append(b));super.append(d)}}return this}extractWithChild(a){return p(a)}}\nfunction P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let k=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%k.length;var g=k[x];let y=f[c.__tag],B;f=f.nested;void 0!==f&&f.list&&(B=f.list);void 0!==y&&d.push(y);if(void 0!==g)for(g=g.split(\" \"),d.push(...g),g=0;g<k.length;g++)g!==x&&e.push(c.__tag+g);void 0!==B&&(c=B.split(\" \"),1<b?d.push(...c):e.push(...c))}0<e.length&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.addClassNamesToElement(a,...d)}\nfunction R(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];p(d)?(b.push(d),d.getChildren().forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(d))}return b}function Q(a){a=a.nodeName.toLowerCase();let b=null;\"ol\"===a?b=E(\"number\"):\"ul\"===a&&(b=E(\"bullet\"));return{after:R,node:b}}let O={ol:\"number\",ul:\"bullet\"};function E(a,b=1){return new N(a,b)}function q(a){return a instanceof N}let S=h.createCommand(),T=h.createCommand(),U=h.createCommand(),V=h.createCommand();exports.$createListItemNode=z;\nexports.$createListNode=E;exports.$getListDepth=n;\nexports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||\"\"!==a.getTextContent())return!1;var b=r(a),c=a.getParent();q(c)||m(40);let d=c.getParent(),e;if(h.$isRootNode(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=z(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=z(),c.append(f),e.insertAfter(c));\nb.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=J;exports.ListNode=N;exports.REMOVE_LIST_COMMAND=V;exports.indentList=function(){I(\"indent\")};\nexports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(A(c,d))d=E(b),h.$isRootNode(e)?(c.replace(d),e=z(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))D(f,b);else if(h.$isLeafNode(f))for(f=\nf.getParent();null!=f;){let k=f.getKey();if(q(f)){if(!c.has(k)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(k)}break}else{g=f.getParent();if(h.$isRootNode(g)&&!c.has(k)){c.add(k);D(f,b);break}f=g}}}}})};exports.outdentList=function(){I(\"outdent\")};\nexports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=l.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let k of d)d=h.$createParagraphNode(),C(d,k.getChildren()),c.insertAfter(d),c=d,k.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),k.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nk.remove();g.remove()}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js')\nmodule.exports = LexicalList;","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"prismjs\");require(\"prismjs/components/prism-clike\");require(\"prismjs/components/prism-javascript\");require(\"prismjs/components/prism-markup\");require(\"prismjs/components/prism-markdown\");require(\"prismjs/components/prism-c\");require(\"prismjs/components/prism-css\");require(\"prismjs/components/prism-objectivec\");require(\"prismjs/components/prism-sql\");require(\"prismjs/components/prism-python\");require(\"prismjs/components/prism-rust\");require(\"prismjs/components/prism-swift\");\nvar m=require(\"@lexical/utils\"),r=require(\"lexical\");let t={c:\"C\",clike:\"C-like\",css:\"CSS\",html:\"HTML\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",xml:\"XML\"},u={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function v(a){return u[a]||a}\nclass y extends r.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new y(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=z(a.theme,this.__highlightType);m.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=z(c.theme,a.__highlightType);c=z(c.theme,this.__highlightType);a!==c&&(a&&m.removeClassNamesFromElement(b,\na),c&&m.addClassNamesToElement(b,c));return d}static importJSON(a){let b=A(a.text,a.highlightType);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(){return this}}function z(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function A(a,b){return new y(a,b)}function C(a){return a instanceof y}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!r.$isLineBreakNode(a)););return b}function E(a){let b=null,c=a.getNextSiblings();for(c.unshift(a);0<c.length&&(a=c.shift(),C(a)&&(b=a),!r.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;\nclass G extends r.ElementNode{static getType(){return\"code\"}static clone(a){return new G(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");m.addClassNamesToElement(b,a.theme.code);b.setAttribute(\"spellcheck\",\"false\");(a=this.getLanguage())&&b.setAttribute(\"data-highlight-language\",a);return b}updateDOM(a,b){let c=this.__language;a=a.__language;c?c!==a&&b.setAttribute(\"data-highlight-language\",c):a&&b.removeAttribute(\"data-highlight-language\");\nreturn!1}static importDOM(){return{code:a=>null!=a.textContent&&/\\r?\\n/.test(a.textContent)?{conversion:H,priority:1}:null,div:()=>({conversion:I,priority:1}),pre:()=>({conversion:H,priority:0}),table:a=>J(a)?{conversion:aa,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ba,priority:4}:b&&J(b)?{conversion:K,priority:4}:null},tr:a=>(a=a.closest(\"table\"))&&J(a)?{conversion:K,priority:4}:null}}static importJSON(a){let b=L(a.language);b.setFormat(a.format);\nb.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(a){var b=this.getChildren(),c=b.length;if(2<=c&&\"\\n\"===b[c-1].getTextContent()&&\"\\n\"===b[c-2].getTextContent()&&a.isCollapsed()&&a.anchor.key===this.__key&&a.anchor.offset===c)return b[c-1].remove(),b[c-2].remove(),a=r.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;for(d=d.getTextContent();c<\nd.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=A(c),b.insertAfter(c),a.insertNodes([r.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=r.$getSelection();return r.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=r.$createParagraphNode();this.getChildren().forEach(b=>a.append(b));this.replace(a);return!0}setLanguage(a){this.getWritable().__language=F(a)}getLanguage(){return this.getLatest().__language}}\nfunction L(a){return new G(a)}function M(a){return a instanceof G}function H(){return{node:L()}}function I(a){return{after:b=>{let c=a.parentNode;null!=c&&a!==c.lastChild&&b.push(r.$createLineBreakNode());return b},node:null!==a.style.fontFamily.match(\"monospace\")?L():null}}function aa(){return{node:L()}}function K(){return{node:null}}function ba(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(r.$createLineBreakNode());return b},node:null}}\nfunction J(a){return a.classList.contains(\"js-file-line-container\")}function N(a,b){var c=a.length;let d=-1;if(b)for(b=0;b<c;b++){let f=a[b];if(\" \"!==f&&\"\\t\"!==f){d=b;break}}else for(--c;-1<c;c--)if(b=a[c],\" \"!==b&&\"\\t\"!==b){d=c;break}return d}\nfunction O(a){let b=null,c=-1;var d=a.getPreviousSiblings();for(d.push(a);0<d.length;){var f=d.pop();if(C(f)){var g=f.getTextContent();g=N(g,!0);-1!==g&&(b=f,c=g)}if(r.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=N(f,!0),-1!==f)){b=d;c=f;break}if(r.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction P(a){let b=null,c=-1;var d=a.getNextSiblings();for(d.unshift(a);0<d.length;){var f=d.shift();if(C(f)){var g=f.getTextContent();g=N(g,!1);-1!==g&&(b=f,c=g+1)}if(r.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=N(f,!1),-1!==f)){b=d;c=f+1;break}if(r.$isLineBreakNode(d))break}return{node:b,offset:c}}function Q(a,b){let c=a.getParent();M(c)?R(c,b):C(a)&&a.replace(r.$createTextNode(a.__text))}let S=!1;\nfunction R(a,b){S||(S=!0,void 0===a.getLanguage()&&a.setLanguage(\"javascript\"),b.update(()=>{ca(a,()=>{var c=a.getTextContent();c=e.tokenize(c,e.languages[a.getLanguage()||\"\"]||e.languages.javascript);c=T(c);var d=a.getChildren();let f=0;for(;f<d.length&&U(d[f],c[f]);)f++;var g=d.length;let l=c.length,h=Math.min(g,l)-f,k=0;for(;k<h;)if(k++,!U(d[g-k],c[l-k])){k--;break}d=f;g-=k;c=c.slice(f,l-k);let {from:n,to:p,nodesForReplacement:w}={from:d,nodesForReplacement:c,to:g};return n!==p||w.length?(a.splice(n,\np-n,w),!0):!1})},{onUpdate:()=>{S=!1},skipTransforms:!0}))}function T(a){let b=[];a.forEach(c=>{if(\"string\"===typeof c){c=c.split(\"\\n\");for(var d=0;d<c.length;d++){let f=c[d];f.length&&b.push(A(f));d<c.length-1&&b.push(r.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(A(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(A(d[0],c.type)):Array.isArray(d)&&b.push(...T(d))});return b}\nfunction ca(a,b){var c=r.$getSelection();if(r.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&r.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let l=c.getNode();g=d+l.getPreviousSiblings().reduce((h,k)=>h+(r.$isLineBreakNode(k)?0:k.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(l=>{if(r.$isTextNode(l)){let h=l.getTextContentSize();if(h>=g)return l.select(g,g),!0;g-=h}return!1}))}else b()}\nfunction U(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:r.$isLineBreakNode(a)&&r.$isLineBreakNode(b)?!0:!1}function V(a){var b=r.$getSelection();if(!r.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!r.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&W(c,a);for(c=1;c<b.length;c++)d=b[c],r.$isLineBreakNode(b[c-1])&&C(d)&&W(d,a);return!0}\nfunction W(a,b){let c=a.getTextContent();b===r.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=A(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=r.$getSelection();if(!r.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,l=f.offset,h=d.getNode(),k=f.getNode();var n=a===r.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(k))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),n&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!n&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var p=D(h);let w=E(k);if(null==p||null==w)return!1;let B=p.getNodesBetween(w);for(let q=0;q<B.length;q++){let X=B[q];if(!C(X)&&!r.$isLineBreakNode(X))return!1}b.preventDefault();b.stopPropagation();b=n?p.getPreviousSibling():w.getNextSibling();if(!r.$isLineBreakNode(b))return!0;p=n?b.getPreviousSibling():b.getNextSibling();if(null==p)return!0;n=n?D(p):E(p);let x=null!=n?n:p;b.remove();B.forEach(q=>q.remove());a===r.KEY_ARROW_UP_COMMAND?(B.forEach(q=>x.insertBefore(q)),\nx.insertBefore(b)):(x.insertAfter(b),x=b,B.forEach(q=>{x.insertAfter(q);x=q}));c.setTextNodeRange(h,g,k,l);return!0}function Z(a,b){let c=r.$getSelection();if(!r.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),l=f.getNode();a=a===r.MOVE_TO_START;if(!C(g)||!C(l))return!1;let h,k;a?{node:h,offset:k}=O(l):{node:h,offset:k}=P(l);null!==h&&-1!==k&&c.setTextNodeRange(h,k,h,k);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=A;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=t;exports.CODE_LANGUAGE_MAP=u;exports.CodeHighlightNode=y;exports.CodeNode=G;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=P;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=v(a);return t[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=O;exports.normalizeCodeLang=v;\nexports.registerCodeHighlighting=function(a){if(!a.hasNodes([G,y]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");return m.mergeRegister(a.registerMutationListener(G,b=>{a.update(()=>{for(let [f,g]of b)if(\"destroyed\"!==g){var c=r.$getNodeByKey(f);if(null!==c)a:{var d=c;c=a.getElementByKey(d.getKey());if(null===c)break a;d=d.getChildren();let l=d.length;if(l===c.__cachedChildrenLength)break a;c.__cachedChildrenLength=l;let h=\"1\",k=1;for(let n=0;n<l;n++)r.$isLineBreakNode(d[n])&&\n(h+=\"\\n\"+ ++k);c.setAttribute(\"data-gutter\",h)}}})}),a.registerNodeTransform(G,b=>R(b,a)),a.registerNodeTransform(r.TextNode,b=>Q(b,a)),a.registerNodeTransform(y,b=>Q(b,a)),a.registerCommand(r.INDENT_CONTENT_COMMAND,()=>V(r.INDENT_CONTENT_COMMAND),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.OUTDENT_CONTENT_COMMAND,()=>V(r.OUTDENT_CONTENT_COMMAND),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.KEY_ARROW_UP_COMMAND,b=>Y(r.KEY_ARROW_UP_COMMAND,b),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.KEY_ARROW_DOWN_COMMAND,\nb=>Y(r.KEY_ARROW_DOWN_COMMAND,b),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.MOVE_TO_END,b=>Z(r.MOVE_TO_END,b),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.MOVE_TO_START,b=>Z(r.MOVE_TO_START,b),r.COMMAND_PRIORITY_LOW))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalCode = process.env.NODE_ENV === 'development' ? require('./LexicalCode.dev.js') : require('./LexicalCode.prod.js')\nmodule.exports = LexicalCode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");let t=new Map;function u(a){a=a.getLatest();let c=a.constructor.clone(a);c.__parent=a.__parent;l.$isElementNode(a)&&l.$isElementNode(c)?(c.__children=Array.from(a.__children),c.__format=a.__format,c.__indent=a.__indent,c.__dir=a.__dir):l.$isTextNode(a)&&l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction w(a,c,b,d,f,g){for(var e=c;null!==a;){for(c=a.getParent();null!==c&&c.excludeFromCopy(\"clone\");)c=c.getParent();if(null===c)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let h=a.getKey(),k=g.get(h),m=void 0===k;m&&(k=u(a),g.set(h,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(d?e:0,d?void 0:(e||0)+1)):k.__text=k.__text.slice(d?e:0,d?b:e);if(l.$isRootNode(c)){m&&f.push(h);break}}e=g.get(c.getKey());e=l.$isElementNode(e)?\ne.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=c}}\nfunction x(a){if(l.$isRangeSelection(a)){var c=a.anchor,b=a.focus;let [k,m]=a.getCharacterOffsets();a=a.getNodes();if(0===a.length)return{nodeMap:[],range:[]};let n=a.length;var d=a[0],f=d.getParent();if(null!==f&&(!f.canBeEmpty()||l.$isRootNode(f))){var g=f.__children;if(g.length===n){var e=!0;for(var h=0;h<g.length;h++)if(g[h]!==a[h].__key){e=!1;break}e&&(n++,a.push(f))}}f=a[n-1];c=c.isBefore(b);b=new Map;g=[];e=l.$isTextNode(d)&&1===n;w(d,c?k:m,e?c?m:k:void 0,!0,g,b);for(d=0;d<n;d++){h=a[d];let r=\nh.getKey();if(!(b.has(r)||l.$isElementNode(h)&&h.excludeFromCopy(\"clone\"))){let p=u(h);l.$isRootNode(h.getParent())&&g.push(h.getKey());\"root\"!==r&&b.set(r,p)}}w(f,e?void 0:c?m:k,void 0,!1,g,b);return{nodeMap:Array.from(b.entries()),range:g}}if(l.$isGridSelection(a))return{nodeMap:a.getNodes().map(k=>{const m=k.getKey();k=u(k);return[m,k]}),range:[a.gridKey]};throw Error(\"Minified Lexical error #1; visit https://lexical.dev/docs/error?code=1 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");\n}function y(a){return t.get(a)||null}function z(a,c){var b=y(a.getStyle());c=b?{...b,...c}:c;b=\"\";for(d in c)d&&(b+=`${d}: ${c[d]};`);var d=b;a.setStyle(d);t.set(d,c)}function A(a,c,b,d){a.modify(c?\"extend\":\"move\",b,d)}function B(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}function C(a){for(;null!==a&&!l.$isRootNode(a);){let c=a.getLatest(),b=a.getParent();0===c.__children.length&&a.remove(!0);a=b}}\nfunction D(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function E(a){let c=a.parentNode;if(null==c)throw Error(\"Should never happen\");return[c,Array.from(c.childNodes).indexOf(a)]}exports.$addNodeStyle=function(a){a=a.getStyle();let c={},b=a.split(\";\");for(let d of b)if(\"\"!==d){let [f,g]=d.split(/:([^]+)/);c[f.trim()]=g.trim()}t.set(a,c)};exports.$cloneContents=function(a){return x(a)};exports.$cloneWithProperties=u;\nexports.$getSelectionStyleValueForProperty=function(a,c,b=\"\"){let d=null,f=a.getNodes();var g=a.anchor,e=a.focus,h=a.isBackward();a=h?e.offset:g.offset;g=h?e.getNode():g.getNode();for(e=0;e<f.length;e++){var k=f[e];if((0===e||0!==a||!k.is(g))&&l.$isTextNode(k)){h=c;var m=b;k=k.getStyle();k=y(k);h=null!==k?k[h]||m:m;if(null===d)d=h;else if(d!==h){d=\"\";break}}}return null===d?b:d};exports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};\nexports.$isParentElementRTL=B;exports.$moveCaretSelection=A;exports.$moveCharacter=function(a,c,b){let d=B(a);A(a,c,b?!d:d,\"character\")};\nexports.$patchStyleText=function(a,c){var b=a.getNodes();let d=b.length-1,f=b[0],g=b[d];if(!a.isCollapsed()){var e=a.anchor,h=a.focus;a=f.getTextContent().length;var k=h.offset,m=e.offset;e=(h=e.isBefore(h))?m:k;h=h?k:m;if(e===f.getTextContentSize()){let n=f.getNextSibling();l.$isTextNode(n)&&(e=m=0,f=n)}if(f.is(g))l.$isTextNode(f)&&(e=m>k?k:m,h=m>k?m:k,e!==h&&(0===e&&h===a?(z(f,c),f.select(e,h)):(b=f.splitText(e,h),b=0===e?b[0]:b[1],z(b,c),b.select(0,h-e))));else for(l.$isTextNode(f)&&(0!==e&&(f=\nf.splitText(e)[1]),z(f,c)),l.$isTextNode(g)&&(a=g.getTextContent().length,h!==a&&([g]=g.splitText(h)),0!==h&&z(g,c)),a=1;a<d;a++)k=b[a],m=k.getKey(),l.$isTextNode(k)&&m!==f.getKey()&&m!==g.getKey()&&!k.isToken()&&z(k,c)}};\nexports.$selectAll=function(a){let c=a.anchor;a=a.focus;var b=c.getNode().getTopLevelElementOrThrow().getParentOrThrow();let d=b.getFirstDescendant();b=b.getLastDescendant();let f=\"element\",g=\"element\",e=0;l.$isTextNode(d)?f=\"text\":l.$isElementNode(d)||null===d||(d=d.getParentOrThrow());l.$isTextNode(b)?(g=\"text\",e=b.getTextContentSize()):l.$isElementNode(b)||null===b||(b=b.getParentOrThrow());d&&b&&(c.set(d.getKey(),0,f),a.set(b.getKey(),e,g))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,c){a=l.$getDecoratorNode(a.focus,c);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,c){if(c.isSelected()&&!c.isSegmented()&&!c.isToken()&&(l.$isRangeSelection(a)||l.$isGridSelection(a))){var b=a.anchor.getNode(),d=a.focus.getNode(),f=c.is(b),g=c.is(d);if(f||g){f=a.isBackward();let [e,h]=a.getCharacterOffsets();a=b.is(d);g=c.is(f?d:b);d=c.is(f?b:d);b=0;let k=void 0;a?(b=e>h?h:e,k=e>h?e:h):g?(b=f?h:e,k=void 0):d&&(f=f?e:h,b=0,k=f);c.__text=c.__text.slice(b,k)}}return c};\nexports.$wrapLeafNodesInElements=function(a,c,b){let d=a.getNodes(),f=d.length;var g=a.anchor;if(0===f||1===f&&\"element\"===g.type&&0===g.getNode().getChildrenSize()){a=\"text\"===g.type?g.getNode().getParentOrThrow():g.getNode();g=a.getChildren();let q=c();q.setFormat(a.getFormatType());q.setIndent(a.getIndent());g.forEach(v=>q.append(v));b&&(q=b.append(q));a.replace(q)}else{var e=d[0],h=new Map;g=[];e=l.$isElementNode(e)?e:e.getParentOrThrow();for(e.isInline()&&(e=e.getParentOrThrow());null!==e;){var k=\ne.getPreviousSibling();if(null!==k){e=k;break}e=e.getParentOrThrow();if(l.$isRootNode(e))break}k=new Set;for(var m=0;m<f;m++){var n=d[m];l.$isElementNode(n)&&0===n.getChildrenSize()&&k.add(n.getKey())}var r=new Set;for(m=0;m<f;m++){n=d[m];var p=n.getParent();null!==p&&p.isInline()&&(p=p.getParent());if(null!==p&&l.$isLeafNode(n)&&!r.has(n.getKey())){if(n=p.getKey(),void 0===h.get(n)){let q=c();q.setFormat(p.getFormatType());q.setIndent(p.getIndent());g.push(q);h.set(n,q);p.getChildren().forEach(v=>\n{q.append(v);r.add(v.getKey())});C(p)}}else k.has(n.getKey())&&(p=c(),p.setFormat(n.getFormatType()),p.setIndent(n.getIndent()),g.push(p),n.remove())}if(b)for(c=0;c<g.length;c++)b.append(g[c]);if(l.$isRootNode(e))if(c=e.getFirstChild(),l.$isElementNode(c)&&(e=c),null===c)if(b)e.append(b);else for(b=0;b<g.length;b++)e.append(g[b]);else if(b)c.insertBefore(b);else for(b=0;b<g.length;b++)c.insertBefore(g[b]);else if(b)e.insertAfter(b);else for(b=g.length-1;0<=b;b--)e.insertAfter(g[b]);b=l.$getPreviousSelection();\nl.$isRangeSelection(b)&&b.anchor.getNode().isAttached()&&b.focus.getNode().isAttached()?l.$setSelection(b.clone()):a.dirty=!0}};\nexports.createDOMRange=function(a,c,b,d,f){let g=c.getKey(),e=d.getKey(),h=document.createRange(),k=a.getElementByKey(g);a=a.getElementByKey(e);l.$isTextNode(c)&&(k=D(k));l.$isTextNode(d)&&(a=D(a));if(void 0===c||void 0===d||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,b]=E(k));\"BR\"===a.nodeName&&([a,f]=E(a));c=k.firstChild;k===a&&null!=c&&\"BR\"===c.nodeName&&0===b&&0===f&&(f=1);try{h.setStart(k,b),h.setEnd(a,f)}catch(m){return null}!h.collapsed||b===f&&g===e||(h.setStart(a,f),h.setEnd(k,\nb));return h};exports.createRectsFromDOMRange=function(a,c){var b=a.getRootElement();if(null===b)return[];a=b.getBoundingClientRect();b=getComputedStyle(b);b=parseFloat(b.paddingLeft)+parseFloat(b.paddingRight);c=Array.from(c.getClientRects());let d=c.length,f;for(let g=0;g<d;g++){let e=c[g],h=e.width+b===a.width;f&&f.top===e.top&&f.left===e.left&&f.width===e.width&&f.height===e.height||h?(c.splice(g--,1),d--):f=e}return c};exports.getStyleObjectFromCSS=y;\nexports.trimTextContentFromAnchor=function(a,c,b){let d=c.getNode();if(l.$isElementNode(d)){var f=d.getDescendantByIndex(c.offset);null!==f&&(d=f)}for(;0<b&&null!==d;){var g=d.getPreviousSibling(),e=0;if(null===g){f=d.getParentOrThrow();for(var h=f.getPreviousSibling();null===h;){f=f.getParent();if(null===f){g=null;break}h=f.getPreviousSibling()}null!==f&&(e=f.isInline()?0:2,g=l.$isElementNode(h)?h.getLastDescendant():h)}let k=d.getTextContent();\"\"===k&&l.$isElementNode(d)&&!d.isInline()&&(k=\"\\n\\n\");\nf=k.length;h=f-b;let m=k.slice(0,h);if(!l.$isTextNode(d)||b>=f)h=d.getParent(),d.remove(),null!=h&&0===h.getChildrenSize()&&h.remove(),b-=f+e,d=g;else{let n=d.getKey();g=a.getEditorState().read(()=>{const r=l.$getNodeByKey(n);return l.$isTextNode(r)&&r.isSimpleText()?r.getTextContent():null});null!==g&&g!==k?(b=l.$getPreviousSelection(),f=d,d.isSimpleText()?d.setTextContent(g):(f=l.$createTextNode(g),d.replace(f)),l.$isRangeSelection(b)&&b.isCollapsed()&&(b=b.anchor.offset,f.select(b,b))):d.isSimpleText()?\n(g=c.key===n,e=c.offset,e<b&&(e=f),b=g?e-b:0,f=g?e:h,g&&0===b?([b]=d.splitText(b,f),b.remove()):([,b]=d.splitText(b,f),b.remove())):(b=l.$createTextNode(m),d.replace(b));b=0}}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalSelection = process.env.NODE_ENV === 'development' ? require('./LexicalSelection.dev.js') : require('./LexicalSelection.prod.js')\nmodule.exports = LexicalSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var m=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,e,h){let a=null!=d?e.isSelected():!0,b=q.$isElementNode(e)&&e.excludeFromCopy(\"html\"),f=m.$cloneWithProperties(e);f=q.$isTextNode(f)&&null!=d?m.$sliceSelectedTextNodeContent(d,f):f;let g=q.$isElementNode(f)?f.getChildren():[],{element:k,after:l}=f.exportDOM(c);if(!k)return!1;let n=new DocumentFragment;for(let p=0;p<g.length;p++){let t=g[p],w=r(c,d,t,n);!a&&q.$isElementNode(e)&&w&&e.extractWithChild(t,d,\"html\")&&(a=!0)}a&&!b?(k.append(n),h.append(k),l&&(c=l.call(f,k))&&k.replaceWith(c)):\nh.append(n);return a}let u=new Set([\"STYLE\"]);\nfunction v(c,d,e=new Map,h){let a=[];if(u.has(c.nodeName))return a;let b=null;var f,{nodeName:g}=c,k=d._htmlConversions.get(g.toLowerCase());g=null;if(void 0!==k)for(f of k)k=f(c),null!==k&&(null===g||g.priority<k.priority)&&(g=k);g=(f=null!==g?g.conversion:null)?f(c):null;f=null;if(null!==g){f=g.after;b=g.node;if(null!==b){for(var [,l]of e)if(b=l(b,h),!b)break;b&&a.push(b)}null!=g.forChild&&e.set(c.nodeName,g.forChild)}c=c.childNodes;h=[];for(l=0;l<c.length;l++)h.push(...v(c[l],d,new Map(e),b));\nnull!=f&&(h=f(h));null==b?a=a.concat(h):q.$isElementNode(b)&&b.append(...h);return a}exports.$generateHtmlFromNodes=function(c,d){if(null==document||null==window)throw Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");let e=document.createElement(\"div\"),h=q.$getRoot().getChildren();for(let a=0;a<h.length;a++){let b=h[a];void 0!==d&&r(c,d,b,e)}return e.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let e=[];d=d.body?Array.from(d.body.childNodes):[];let h=d.length;for(let b=0;b<h;b++){var a=d[b];u.has(a.nodeName)||(a=v(a,c),null!==a&&(e=e.concat(a)))}return e}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHtml = process.env.NODE_ENV === 'development' ? require('./LexicalHtml.dev.js') : require('./LexicalHtml.prod.js')\nmodule.exports = LexicalHtml;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/html\"),p=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),y=require(\"@lexical/utils\"),z=require(\"lexical\");function A(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nfunction B(a,c,e){(z.$isGridSelection(e)||null!==y.$findMatchingParent(e.anchor.getNode(),g=>z.$isGridCellNode(g))&&null!==y.$findMatchingParent(e.focus.getNode(),g=>z.$isGridCellNode(g)))&&1===c.length&&z.$isGridNode(c[0])?E(c,e,!1,a):F(c,e)}\nfunction F(a,c){let e=[],g=null,f=null;for(let h=0;h<a.length;h++){let b=a[h];p.$isListItemNode(b)?(null==f&&(f=p.$createListNode(\"bullet\"),e.push(f)),f.append(b)):(null!=f&&(f=null),z.$isDecoratorNode(b)&&!b.isTopLevel()||z.$isElementNode(b)&&b.isInline()||z.$isTextNode(b)||z.$isLineBreakNode(b)?(null===g&&(g=z.$createParagraphNode(),e.push(g)),null!==g&&g.append(b)):(e.push(b),g=null))}z.$isRangeSelection(c)?c.insertNodes(e):z.$isGridSelection(c)&&(a=c.anchor.getNode(),z.$isGridCellNode(a)||A(41),\na.append(...e))}\nfunction E(a,c,e,g){1===a.length&&z.$isGridNode(a[0])||A(42);var f=a[0];a=f.getChildren();e=f.getFirstChildOrThrow().getChildrenSize();var h=f.getChildrenSize(),b=y.$findMatchingParent(c.anchor.getNode(),m=>z.$isGridCellNode(m));c=(f=b&&y.$findMatchingParent(b,m=>z.$isGridRowNode(m)))&&y.$findMatchingParent(f,m=>z.$isGridNode(m));z.$isGridCellNode(b)&&z.$isGridRowNode(f)&&z.$isGridNode(c)||A(43);var k=f.getIndexWithinParent(),n=Math.min(c.getChildrenSize()-1,k+h-1);h=b.getIndexWithinParent();b=Math.min(f.getChildrenSize()-\n1,h+e-1);e=Math.min(h,b);f=Math.min(k,n);h=Math.max(h,b);k=Math.max(k,n);n=c.getChildren();b=0;let l,q;for(let m=f;m<=k;m++){var w=n[m];z.$isGridRowNode(w)||A(24);var x=a[b];z.$isGridRowNode(x)||A(24);w=w.getChildren();x=x.getChildren();let C=0;for(let t=e;t<=h;t++){let u=w[t];z.$isGridCellNode(u)||A(25);let D=x[C];z.$isGridCellNode(D)||A(25);m===f&&t===e?l=u.getKey():m===k&&t===h&&(q=u.getKey());let H=u.getChildren();D.getChildren().forEach(v=>{z.$isTextNode(v)&&z.$createParagraphNode().append(v);\nu.append(v)});H.forEach(v=>v.remove());C++}b++}l&&q&&(a=z.$createGridSelection(),a.set(c.getKey(),l,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction G(a,c,e,g=[]){let f=null!=c?e.isSelected():!0,h=z.$isElementNode(e)&&e.excludeFromCopy(\"html\");var b=r.$cloneWithProperties(e);b=z.$isTextNode(b)&&null!=c?r.$sliceSelectedTextNodeContent(c,b):b;let k=z.$isElementNode(b)?b.getChildren():[];var n=b;let l=n.exportJSON();l.type!==n.constructor.getType()&&A(58);var q=l.children;z.$isElementNode(n)&&(Array.isArray(q)||A(59));z.$isTextNode(b)&&(l.text=b.__text);for(b=0;b<k.length;b++)n=k[b],q=G(a,c,n,l.children),!f&&z.$isElementNode(e)&&q&&e.extractWithChild(n,\nc,\"clone\")&&(f=!0);if(f&&!h)g.push(l);else if(Array.isArray(l.children))for(a=0;a<l.children.length;a++)g.push(l.children[a]);return f}exports.$getHtmlContent=function(a){let c=z.$getSelection();if(null==c)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(c)&&c.isCollapsed()||0===c.getNodes().length?null:d.$generateHtmlFromNodes(a,c)};\nexports.$getLexicalContent=function(a){let c=z.$getSelection();if(null==c)throw Error(\"Expected valid LexicalSelection\");if(z.$isRangeSelection(c)&&c.isCollapsed()||0===c.getNodes().length)return null;var e=JSON,g=e.stringify;let f=[],h=z.$getRoot().getChildren();for(let b=0;b<h.length;b++)G(a,c,h[b],f);return g.call(e,{namespace:a._config.namespace,nodes:f})};exports.$insertDataTransferForPlainText=function(a,c){a=a.getData(\"text/plain\");null!=a&&c.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,c,e){var g=a.getData(\"application/x-lexical-editor\");if(g)try{var f=JSON.parse(g);if(f.namespace===e._config.namespace&&Array.isArray(f.nodes)){var h=f.nodes;g=[];for(f=0;f<h.length;f++){let k=z.$parseSerializedNode(h[f]);z.$isTextNode(k)&&r.$addNodeStyle(k);g.push(k)}return B(e,g,c)}}catch{}if(h=a.getData(\"text/html\"))try{var b=(new DOMParser).parseFromString(h,\"text/html\");let k=d.$generateNodesFromDOM(e,b);return B(e,k,c)}catch{}a=a.getData(\"text/plain\");\nif(null!=a)if(z.$isRangeSelection(c))for(a=a.split(/\\r?\\n/),e=a.length,b=0;b<e;b++)c.insertText(a[b]),b<e-1&&c.insertParagraph();else c.insertRawText(a)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js')\nmodule.exports = LexicalClipboard;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/clipboard\"),h=require(\"@lexical/selection\"),k=require(\"@lexical/utils\"),l=require(\"lexical\");let m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,n=m&&\"documentMode\"in document?document.documentMode:null;m&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);m&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet p=m&&\"InputEvent\"in window&&!n?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,q=m&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),r=m&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,t={tag:\"history-merge\"};\nclass u extends l.ElementNode{static getType(){return\"quote\"}static clone(a){return new u(a.__key)}constructor(a){super(a)}createDOM(a){let e=document.createElement(\"blockquote\");k.addClassNamesToElement(e,a.theme.quote);return e}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:v,priority:0})}}static importJSON(a){let e=x();e.setFormat(a.format);e.setIndent(a.indent);e.setDirection(a.direction);return e}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let a=\nl.$createParagraphNode(),e=this.getDirection();a.setDirection(e);this.insertAfter(a);return a}collapseAtStart(){let a=l.$createParagraphNode();this.getChildren().forEach(e=>a.append(e));this.replace(a);return!0}}function x(){return new u}\nclass y extends l.ElementNode{static getType(){return\"heading\"}static clone(a){return new y(a.__tag,a.__key)}constructor(a,e){super(e);this.__tag=a}getTag(){return this.__tag}createDOM(a){let e=this.__tag,f=document.createElement(e);a=a.theme.heading;void 0!==a&&k.addClassNamesToElement(f,a[e]);return f}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:z,priority:0}),h2:()=>({conversion:z,priority:0}),h3:()=>({conversion:z,priority:0}),h4:()=>({conversion:z,priority:0}),h5:()=>({conversion:z,\npriority:0}),h6:()=>({conversion:z,priority:0}),p:a=>{a=a.firstChild;return null!==a&&A(a)?{conversion:()=>({node:null}),priority:3}:null},span:a=>A(a)?{conversion:()=>({node:B(\"h1\")}),priority:3}:null}}static importJSON(a){let e=B(a.tag);e.setFormat(a.format);e.setIndent(a.indent);e.setDirection(a.direction);return e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let a=l.$createParagraphNode(),e=this.getDirection();a.setDirection(e);this.insertAfter(a);\nreturn a}collapseAtStart(){let a=l.$createParagraphNode();this.getChildren().forEach(e=>a.append(e));this.replace(a);return!0}extractWithChild(){return!0}}function A(a){return\"span\"===a.nodeName.toLowerCase()?\"26pt\"===a.style.fontSize:!1}function z(a){a=a.nodeName.toLowerCase();let e=null;if(\"h1\"===a||\"h2\"===a||\"h3\"===a||\"h4\"===a||\"h5\"===a||\"h6\"===a)e=B(a);return{node:e}}function v(){return{node:x()}}function B(a){return new y(a)}\nfunction C(a,e){if(null!==e)if(void 0===e)a.update(()=>{var f=l.$getRoot();if(f.isEmpty()){let c=l.$createParagraphNode();f.append(c);f=document.activeElement;(null!==l.$getSelection()||null!==f&&f===a.getRootElement())&&c.select()}},t);else if(null!==e)switch(typeof e){case \"string\":let f=a.parseEditorState(e);a.setEditorState(f,t);break;case \"object\":a.setEditorState(e,t);break;case \"function\":a.update(()=>{l.$getRoot().isEmpty()&&e(a)},t)}}\nfunction D(a,e){a.preventDefault();e.update(()=>{let f=l.$getSelection(),c=a instanceof InputEvent?null:a.clipboardData;null!=c&&(l.$isRangeSelection(f)||l.$isGridSelection(f))&&b.$insertDataTransferForRichText(c,f,e)},{tag:\"paste\"})}\nfunction E(a,e){var f=l.$getSelection();if(null!==f){a.preventDefault();a=a instanceof KeyboardEvent?null:a.clipboardData;let c=b.$getHtmlContent(e);e=b.$getLexicalContent(e);null!=a?(null!==c&&a.setData(\"text/html\",c),null!==e&&a.setData(\"application/x-lexical-editor\",e),f=f.getTextContent(),a.setData(\"text/plain\",f)):(f=navigator.clipboard,null!=f&&(a=[new ClipboardItem({\"text/html\":new Blob([c],{type:\"text/html\"})})],f.write(a)))}}\nfunction F(a,e){E(a,e);a=l.$getSelection();l.$isRangeSelection(a)?a.removeText():l.$isNodeSelection(a)&&a.getNodes().forEach(f=>f.remove())}function G(a,e){var f=l.$getSelection();if(l.$isRangeSelection(f)){var c=new Set;f=f.getNodes();for(let g=0;g<f.length;g++){let w=f[g];var d=w.getKey();c.has(d)||(c.add(d),d=k.$getNearestBlockElementAncestorOrThrow(w),d.canInsertTab()?a(w):d.canIndent()&&e(d))}}}function H(a){a=l.$getNearestNodeFromDOMNode(a);return l.$isDecoratorNode(a)}\nexports.$createHeadingNode=B;exports.$createQuoteNode=x;exports.$isHeadingNode=function(a){return a instanceof y};exports.$isQuoteNode=function(a){return a instanceof u};exports.HeadingNode=y;exports.QuoteNode=u;\nexports.registerRichText=function(a,e){let f=k.mergeRegister(a.registerCommand(l.CLICK_COMMAND,()=>{const c=l.$getSelection();return l.$isNodeSelection(c)?(c.clear(),!0):!1},0),a.registerCommand(l.DELETE_CHARACTER_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.deleteCharacter(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.DELETE_WORD_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.deleteWord(c);return!0},l.COMMAND_PRIORITY_EDITOR),\na.registerCommand(l.DELETE_LINE_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.deleteLine(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.CONTROLLED_TEXT_INSERTION_COMMAND,c=>{const d=l.$getSelection();if(\"string\"===typeof c)l.$isRangeSelection(d)?d.insertText(c):l.$isGridSelection(d);else{if(!l.$isRangeSelection(d)&&!l.$isGridSelection(d))return!1;const g=c.dataTransfer;null!=g?b.$insertDataTransferForRichText(g,d,a):l.$isRangeSelection(d)&&(c=c.data)&&d.insertText(c)}return!0},\nl.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.REMOVE_TEXT_COMMAND,()=>{const c=l.$getSelection();if(!l.$isRangeSelection(c))return!1;c.removeText();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.FORMAT_TEXT_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.formatText(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.FORMAT_ELEMENT_COMMAND,c=>{var d=l.$getSelection();if(!l.$isRangeSelection(d)&&!l.$isNodeSelection(d))return!1;d=d.getNodes();for(const g of d)k.$getNearestBlockElementAncestorOrThrow(g).setFormat(c);\nreturn!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.INSERT_LINE_BREAK_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.insertLineBreak(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.INSERT_PARAGRAPH_COMMAND,()=>{const c=l.$getSelection();if(!l.$isRangeSelection(c))return!1;c.insertParagraph();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.INDENT_CONTENT_COMMAND,()=>{G(()=>{a.dispatchCommand(l.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},c=>{const d=\nc.getIndent();10!==d&&c.setIndent(d+1)});return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.OUTDENT_CONTENT_COMMAND,()=>{G(c=>{l.$isTextNode(c)&&(c=c.getTextContent(),\"\\t\"===c[c.length-1]&&a.dispatchCommand(l.DELETE_CHARACTER_COMMAND,!0))},c=>{const d=c.getIndent();0!==d&&c.setIndent(d-1)});return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_UP_COMMAND,c=>{const d=l.$getSelection();return l.$isNodeSelection(d)&&!H(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectPrevious(),\n!0):!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_DOWN_COMMAND,c=>{const d=l.$getSelection();return l.$isNodeSelection(d)&&!H(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectNext(0,0),!0):!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_LEFT_COMMAND,c=>{const d=l.$getSelection();if(l.$isNodeSelection(d)&&!H(c.target)){var g=d.getNodes();if(0<g.length)return c.preventDefault(),g[0].selectPrevious(),!0}return l.$isRangeSelection(d)?h.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(g=c.shiftKey,c.preventDefault(),h.$moveCharacter(d,g,!0),!0):!1:!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_RIGHT_COMMAND,c=>{const d=l.$getSelection();if(l.$isNodeSelection(d)&&!H(c.target)){var g=d.getNodes();if(0<g.length)return c.preventDefault(),g[0].selectNext(0,0),!0}if(!l.$isRangeSelection(d))return!1;g=c.shiftKey;return h.$shouldOverrideDefaultCharacterSelection(d,!1)?(c.preventDefault(),h.$moveCharacter(d,g,!1),!0):!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_BACKSPACE_COMMAND,\nc=>{if(H(c.target))return!1;const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;c.preventDefault();({anchor:c}=d);const g=c.getNode();return d.isCollapsed()&&0===c.offset&&!l.$isRootNode(g)&&0<k.$getNearestBlockElementAncestorOrThrow(g).getIndent()?a.dispatchCommand(l.OUTDENT_CONTENT_COMMAND,void 0):a.dispatchCommand(l.DELETE_CHARACTER_COMMAND,!0)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_DELETE_COMMAND,c=>{if(H(c.target))return!1;const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(l.DELETE_CHARACTER_COMMAND,!1)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ENTER_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;if(null!==c){if((r||q)&&p)return!1;c.preventDefault();if(c.shiftKey)return a.dispatchCommand(l.INSERT_LINE_BREAK_COMMAND,!1)}return a.dispatchCommand(l.INSERT_PARAGRAPH_COMMAND,void 0)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_TAB_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(c.shiftKey?l.OUTDENT_CONTENT_COMMAND:l.INDENT_CONTENT_COMMAND,void 0)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ESCAPE_COMMAND,()=>{const c=l.$getSelection();if(!l.$isRangeSelection(c))return!1;a.blur();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.DROP_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;c.preventDefault();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.DRAGSTART_COMMAND,c=>{const d=l.$getSelection();\nif(!l.$isRangeSelection(d))return!1;c.preventDefault();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.COPY_COMMAND,c=>{E(c,a);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.CUT_COMMAND,c=>{F(c,a);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.PASTE_COMMAND,c=>{const d=l.$getSelection();return l.$isRangeSelection(d)||l.$isGridSelection(d)?(D(c,a),!0):!1},l.COMMAND_PRIORITY_EDITOR));C(a,e);return f}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js')\nmodule.exports = LexicalRichText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"@lexical/utils\"),m=require(\"lexical\");\nclass n extends m.ElementNode{static getType(){return\"link\"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},g){super(g);let {target:h=null,rel:d=null}=b;this.__url=a;this.__target=h;this.__rel=d}createDOM(a){let b=document.createElement(\"a\");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let g=this.__url,h=this.__target,d=this.__rel;\ng!==a.__url&&(b.href=g);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));d!==a.__rel&&(d?b.rel=d:b.removeAttribute(\"rel\"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=\na}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=q(this.__url,{rel:this.__rel,target:this.__target});a.append(b);return b}return null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;\na=b.anchor.getNode();let g=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(g)&&0<b.getTextContent().length}}function p(a){let b=null;a instanceof HTMLAnchorElement&&(b=q(a.getAttribute(\"href\")||\"\",{rel:a.getAttribute(\"rel\"),target:a.getAttribute(\"target\")}));return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}\nclass u extends n{static getType(){return\"autolink\"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:\"autolink\",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=v(this.__url,{rel:this._rel,target:this.__target});\na.append(b);return b}return null}}function v(a,b){return new u(a,b)}let w=m.createCommand();function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;\nexports.toggleLink=function(a,b={}){let {target:g,rel:h}=b;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let e=k.getChildren();for(let f=0;f<e.length;f++)k.insertBefore(e[f]);k.remove()}});else{if(1===b.length){var d=b[0];d=r(d)?d:x(d);if(null!==d){d.setURL(a);void 0!==g&&d.setTarget(g);void 0!==h&&d.setRel(h);return}}let k=null,e=null;b.forEach(f=>{var c=f.getParent();if(c!==e&&null!==c&&(!m.$isElementNode(f)||f.isInline()))if(r(c))e=\nc,c.setURL(a),void 0!==g&&c.setTarget(g),void 0!==h&&c.setRel(h);else if(c.is(k)||(k=c,e=q(a,{rel:h,target:g}),r(c)?null===f.getPreviousSibling()?c.insertBefore(e):c.insertAfter(e):f.insertBefore(e)),r(f)){if(!f.is(e)){if(null!==e){c=f.getChildren();for(let t=0;t<c.length;t++)e.append(c[t])}f.remove()}}else null!==e&&e.append(f)})}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalLink = process.env.NODE_ENV === 'development' ? require('./LexicalLink.dev.js') : require('./LexicalLink.prod.js')\nmodule.exports = LexicalLink;","import {\n $createParagraphNode,\n ElementNode\n} from 'lexical';\nimport {\n addClassNamesToElement\n} from '@lexical/utils';\n\nexport class AsideNode extends ElementNode {\n static getType() {\n return 'aside';\n }\n\n static clone(node) {\n return new AsideNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('aside');\n addClassNamesToElement(element, config.theme.aside);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n\n static importDOM() {\n return {\n aside: node => ({\n conversion: convertAsideElement,\n priority: 0\n })\n };\n }\n\n static importJSON(serializedNode) {\n const node = $createAsideNode();\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n exportJSON() {\n return {\n ...super.exportJSON(),\n type: 'aside'\n };\n }\n\n // Mutation\n\n insertNewAfter() {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertNewAfter(newBlock);\n return newBlock;\n }\n\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nfunction convertAsideElement() {\n const node = $createAsideNode;\n return {node};\n}\n\nexport function $createAsideNode() {\n return new AsideNode();\n}\n\nexport function $isAsideNode(node) {\n return node instanceof AsideNode;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"lexical\"),h=require(\"react\");function k(b,a){return b.getEditorState().read(()=>{let f=e.$getNodeByKey(a);return null===f?!1:f.isSelected()})}\nexports.useLexicalNodeSelection=function(b){let [a]=c.useLexicalComposerContext(),[f,l]=h.useState(()=>k(a,b));h.useEffect(()=>a.registerUpdateListener(()=>{l(k(a,b))}),[a,b]);let m=h.useCallback(g=>{a.update(()=>{let d=e.$getSelection();e.$isNodeSelection(d)||(d=e.$createNodeSelection(),e.$setSelection(d));g?d.add(b):d.delete(b)})},[a,b]),n=h.useCallback(()=>{a.update(()=>{const g=e.$getSelection();e.$isNodeSelection(g)&&g.clear()})},[a]);return[f,m,n]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst useLexicalNodeSelection = process.env.NODE_ENV === 'development' ? require('./useLexicalNodeSelection.dev.js') : require('./useLexicalNodeSelection.prod.js')\nmodule.exports = useLexicalNodeSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),n=require(\"lexical\"),p=require(\"react\");let q=n.createCommand();\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),l=p.useRef(null),[e,g,m]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&n.$isNodeSelection(n.$getSelection())&&(c.preventDefault(),c=n.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(n.CLICK_COMMAND,c=>c.target===l.current?(c.shiftKey||m(),g(!e),!0):!1,n.COMMAND_PRIORITY_LOW),f.registerCommand(n.KEY_DELETE_COMMAND,k,n.COMMAND_PRIORITY_LOW),f.registerCommand(n.KEY_BACKSPACE_COMMAND,\nk,n.COMMAND_PRIORITY_LOW)),[m,f,e,k,g]);return p.createElement(\"hr\",{ref:l,className:e?\"selected\":void 0})}\nclass u extends n.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}exportJSON(){return{type:\"horizontalrule\",version:1}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isTopLevel(){return!0}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}function v(){return new u}function t(b){return b instanceof u}\nexports.$createHorizontalRuleNode=v;exports.$isHorizontalRuleNode=t;exports.HorizontalRuleNode=u;exports.INSERT_HORIZONTAL_RULE_COMMAND=q\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHorizontalRuleNode = process.env.NODE_ENV === 'development' ? require('./LexicalHorizontalRuleNode.dev.js') : require('./LexicalHorizontalRuleNode.prod.js')\nmodule.exports = LexicalHorizontalRuleNode;","import {ListItemNode, ListNode} from '@lexical/list';\nimport {CodeNode} from '@lexical/code';\nimport {HeadingNode, QuoteNode} from '@lexical/rich-text';\nimport {LinkNode} from '@lexical/link';\nimport {AsideNode} from './AsideNode';\nimport {HorizontalRuleNode} from '@lexical/react/LexicalHorizontalRuleNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeNode, // TODO: replace with our own card\n HorizontalRuleNode // TODO: replace with our own card\n];\n\nexport default DEFAULT_NODES;\n","const defaultTheme = {\n paragraph: undefined,\n heading: {\n h1: undefined,\n h2: undefined,\n h3: undefined,\n h4: undefined,\n h5: undefined,\n h6: undefined\n },\n quote: undefined,\n aside: undefined,\n list: {\n nested: {\n listitem: '!list-none'\n },\n ol: undefined,\n ul: undefined,\n listitem: undefined\n },\n link: undefined,\n text: {\n bold: undefined,\n italic: 'italic',\n overflowed: undefined,\n hashtag: undefined,\n underline: undefined,\n strikethrough: undefined,\n underlinestrikethrough: undefined,\n code: undefined\n },\n code: undefined\n};\n\nexport default defaultTheme;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import React from 'react';\nimport {LexicalComposer} from '@lexical/react/LexicalComposer';\nimport DEFAULT_NODES from '../nodes/DefaultNodes';\nimport defaultTheme from '../themes/default';\n\n// Catch any errors that occur during Lexical updates and log them\n// or throw them as needed. If you don't throw them, Lexical will\n// try to recover gracefully without losing user data.\nfunction defaultOnError(error) {\n console.error(error); // eslint-disable-line\n}\n\nconst defaultConfig = {\n namespace: 'KoenigEditor',\n theme: defaultTheme\n};\n\nconst KoenigComposer = ({\n initialEditorState,\n nodes = [...DEFAULT_NODES],\n onError = defaultOnError,\n children\n}) => {\n const initialConfig = React.useMemo(() => {\n return Object.assign({}, defaultConfig, {\n nodes,\n editorState: initialEditorState,\n onError\n });\n }, [initialEditorState, nodes, onError]);\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n {children}\n </LexicalComposer>\n );\n};\n\nexport default KoenigComposer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"lexical\");function r(b,f=!0){if(b)return!1;b=t();f&&(b=b.trim());return\"\"===b}function t(){return k.$getRoot().getTextContent()}function u(b,f=!0){if(!f||!r(b,!1))return!1;b=k.$getRoot().getChildren();f=b.length;if(1<f)return!1;for(let e=0;e<f;e++){var c=b[e];if(k.$isElementNode(c)){if(\"paragraph\"!==c.__type||0!==c.__indent)return!1;c=c.getChildren();let p=c.length;for(let g=0;g<p;g++)if(!k.$isTextNode(c[e]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(b,f=!0){return()=>u(b,f)};exports.$findNodeWithOffsetFromJoinedText=function(b,f,c,e){e=e.getChildren();let p=e.length,g=0,a=!1;for(let l=0;l<p&&!(g>f);++l){let m=e[l],n=k.$isTextNode(m);var d=n?m.getTextContent().length:c;d=g+d;if((!1===a&&g===b||0===g&&g===b||g<b&&b<=d)&&k.$isTextNode(m))return{node:m,offset:b-g};g=d;a=n}return null};\nexports.$findTextIntersectionFromCharacters=function(b,f){var c=b.getFirstChild();b=0;a:for(;null!==c;){if(k.$isElementNode(c)){var e=c.getFirstChild();if(null!==e){c=e;continue}}else if(k.$isTextNode(c)){e=c.getTextContentSize();if(b+e>f)return{node:c,offset:f-b};b+=e}e=c.getNextSibling();if(null!==e)c=e;else{for(c=c.getParent();null!==c;){e=c.getNextSibling();if(null!==e){c=e;continue a}c=c.getParent()}break}}return null};exports.$isRootTextContentEmpty=r;\nexports.$isRootTextContentEmptyCurry=function(b,f){return()=>r(b,f)};\nexports.$joinTextNodesInElementNode=function(b,f,c){let e=\"\";b=b.getChildren();let p=b.length;for(let g=0;g<p;++g){let a=b[g];if(k.$isTextNode(a)){let d=a.getTextContent();if(a.is(c.node)){if(c.offset>d.length)throw Error(\"Minified Lexical error #2; visit https://lexical.dev/docs/error?code=2 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");e+=a.getTextContent().substr(0,c.offset);break}else e+=d}else e+=f}return e};\nexports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(b,f,c,e){let p=a=>{const d=k.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},g=b.registerNodeTransform(k.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(k.$isTextNode(d)){var n=d.getTextContent(),h=f(n+l);if(d instanceof c){if(null===h||0!==d.getLatest().__mode){p(d);return}h=h.end-n.length;if(0<h){m=l.slice(0,h);m=n+m;d.select();d.setTextContent(m);h===l.length?a.remove():(d=l.slice(h),\na.setTextContent(d));return}}else if(null===h||h.start<n.length)return}for(;;){a=f(l);l=h=null===a?\"\":l.slice(a.end);if(\"\"===h){if(n=m.getNextSibling(),k.$isTextNode(n))if(h=m.getTextContent()+n.getTextContent(),h=f(h),null===h){n instanceof c?p(n):n.markDirty();break}else if(0!==h.start)break}else if(n=f(h),null!==n&&0===n.start)break;if(null===a)break;if(0===a.start&&k.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=e(q);q.replace(a);\nif(null==m)break}}});b=b.registerNodeTransform(c,a=>{var d=a.getTextContent();const l=f(d);null===l||0!==l.start?p(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),k.$isTextNode(d)&&d.isTextEntity()&&(p(d),p(a)),d=a.getNextSibling(),k.$isTextNode(d)&&d.isTextEntity()&&(p(d),a instanceof c&&p(a)))});return[g,b]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var g=require(\"lexical\");\nexports.registerDragonSupport=function(l){let r=m=>{var h=l.getRootElement();if(document.activeElement===h&&(h=m.data,\"string\"===typeof h)){try{var a=JSON.parse(h)}catch(k){return}if(a&&\"nuanria_messaging\"===a.protocol&&\"request\"===a.type&&(a=a.payload)&&\"makeChanges\"===a.functionId&&(a=a.args)){const [k,n,p,q,t]=a;l.update(()=>{const f=g.$getSelection();if(g.$isRangeSelection(f)){var e=f.anchor;let b=e.getNode(),c=0,d=0;g.$isTextNode(b)&&0<=k&&0<=n&&(c=k,d=k+n,f.setTextNodeRange(b,c,b,d));if(c!==\nd||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+t,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));m.stopImmediatePropagation()}})}}};window.addEventListener(\"message\",r,!0);return()=>{window.removeEventListener(\"message\",r,!0)}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalDragon = process.env.NODE_ENV === 'development' ? require('./LexicalDragon.dev.js') : require('./LexicalDragon.prod.js')\nmodule.exports = LexicalDragon;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),p=require(\"@lexical/dragon\"),q=require(\"@lexical/rich-text\"),r=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function t(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction u(a){let [c,f]=h.useState(()=>t(a));r(()=>{function b(){let g=t(a);f(g)}b();return m.mergeRegister(a.registerUpdateListener(()=>{b()}),a.registerEditableListener(()=>{b()}))},[a]);return c}\nfunction v(a){let [c,f]=h.useState(()=>a.getDecorators());r(()=>a.registerDecoratorListener(b=>{n.flushSync(()=>{f(b)})}),[a]);h.useEffect(()=>{f(a.getDecorators())},[a]);return h.useMemo(()=>{let b=[],g=Object.keys(c);for(let k=0;k<g.length;k++){var e=g[k];let w=c[e];e=a.getElementByKey(e);null!==e&&b.push(n.createPortal(w,e))}return b},[c,a])}function x(a,c){r(()=>m.mergeRegister(q.registerRichText(a,c),p.registerDragonSupport(a)),[a])}\nexports.RichTextPlugin=function({contentEditable:a,placeholder:c,initialEditorState:f}){let [b]=d.useLexicalComposerContext(),g=u(b),e=v(b);x(b,f);return h.createElement(h.Fragment,null,a,g&&c,e)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichTextPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalRichTextPlugin.dev.js') : require('./LexicalRichTextPlugin.prod.js')\nmodule.exports = LexicalRichTextPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/react/LexicalComposerContext\"),k=require(\"react\"),l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?k.useLayoutEffect:k.useEffect;\nexports.ContentEditable=function({ariaActiveDescendantID:m,ariaAutoComplete:n,ariaControls:p,ariaDescribedBy:q,ariaExpanded:r,ariaLabel:t,ariaLabelledBy:u,ariaMultiline:v,ariaOwneeID:w,ariaRequired:x,autoCapitalize:e,autoComplete:y,autoCorrect:f,className:z,id:A,role:g=\"textbox\",spellCheck:B=!0,style:C,tabIndex:D,testid:E}){let [c]=b.useLexicalComposerContext(),[a,h]=k.useState(!0),F=k.useCallback(d=>{c.setRootElement(d)},[c]);l(()=>{h(c.isEditable());return c.registerEditableListener(d=>{h(d)})},\n[c]);return k.createElement(\"div\",{\"aria-activedescendant\":a?m:null,\"aria-autocomplete\":a?n:null,\"aria-controls\":a?p:null,\"aria-describedby\":q,\"aria-expanded\":a?\"combobox\"===g?!!r:null:null,\"aria-label\":t,\"aria-labelledby\":u,\"aria-multiline\":v,\"aria-owns\":a?w:null,\"aria-required\":x,autoCapitalize:void 0!==e?String(e):void 0,autoComplete:y,autoCorrect:void 0!==f?String(f):void 0,className:z,contentEditable:a,\"data-testid\":E,id:A,ref:F,role:a?g:void 0,spellCheck:B,style:C,tabIndex:D})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalContentEditable = process.env.NODE_ENV === 'development' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js')\nmodule.exports = LexicalContentEditable;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"@lexical/utils\"),u=require(\"lexical\");\nfunction v(b,a,m,k,p){if(null===b||0===m.size&&0===k.size&&!p)return 0;var f=a._selection,c=b._selection;if(p)return 1;if(!(u.$isRangeSelection(f)&&u.$isRangeSelection(c)&&c.isCollapsed()&&f.isCollapsed()))return 0;p=a._nodeMap;let d=[];for(let g of m)m=p.get(g),void 0!==m&&d.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||d.push(k));if(0===d.length)return 0;if(1<d.length)return k=a._nodeMap,a=k.get(f.anchor.key),c=k.get(c.anchor.key),a&&c&&!b._nodeMap.has(a.__key)&&u.$isTextNode(a)&&\n1===a.__text.length&&1===f.anchor.offset?2:0;a=d[0];b=b._nodeMap.get(a.__key);if(!u.$isTextNode(b)||!u.$isTextNode(a)||b.__mode!==a.__mode)return 0;b=b.__text;a=a.__text;if(b===a)return 0;f=f.anchor;c=c.anchor;if(f.key!==c.key||\"text\"!==f.type)return 0;f=f.offset;c=c.offset;b=a.length-b.length;return 1===b&&c===f-1?2:-1===b&&c===f+1?3:-1===b&&c===f?4:0}\nfunction w(b,a){let m=Date.now(),k=0;return(p,f,c,d,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,d,g,b.isComposing()),t=(()=>{var l=null===c||c.editor===b,h=n.has(\"history-push\");if(!h&&l&&n.has(\"history-merge\"))return 0;if(null===p)return 1;const x=f._selection,y=p._selection;return 0<d.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===d.size&&(h=Array.from(d)[0],l=p._nodeMap.get(h),h=f._nodeMap.get(h),l=u.$isTextNode(l)&&u.$isTextNode(h)?l.__type===h.__type&&l.__text===\nh.__text&&l.__mode===h.__mode&&l.__detail===h.__detail&&l.__style===h.__style&&l.__format===h.__format&&l.__parent===h.__parent:!1,l)?0:1:null===y&&null!==x?0:2})();m=r;k=q;return t}}exports.createEmptyHistoryState=function(){return{current:null,redoStack:[],undoStack:[]}};\nexports.registerHistory=function(b,a,m){let k=w(b,m);m=({editorState:c,prevEditorState:d,dirtyLeaves:g,dirtyElements:n,tags:r})=>{const q=a.current,t=a.redoStack,l=a.undoStack,h=null===q?null:q.editorState;if(null===q||c!==h){g=k(d,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:d.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=e.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,d=a.undoStack;if(0!==d.length){let g=a.current,n=d.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===d.length&&b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);a.current=n||null;n&&n.editor.setEditorState(n.editorState.clone(n.undoSelection),{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.REDO_COMMAND,()=>{let c=a.redoStack;var d=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(d.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\nd=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=d||null;d&&d.editor.setEditorState(d.editorState,{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_EDITOR_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!1},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_HISTORY_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!0},u.COMMAND_PRIORITY_EDITOR),b.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>\n{p();f()}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistory = process.env.NODE_ENV === 'development' ? require('./LexicalHistory.dev.js') : require('./LexicalHistory.prod.js')\nmodule.exports = LexicalHistory;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),history=require(\"@lexical/history\"),f=require(\"react\");function g(a,b,d=1E3){let e=f.useMemo(()=>b||history.createEmptyHistoryState(),[b]);f.useEffect(()=>history.registerHistory(a,e,d),[d,a,e])}exports.createEmptyHistoryState=history.createEmptyHistoryState;exports.HistoryPlugin=function({externalHistoryState:a}){let [b]=c.useLexicalComposerContext();g(b,a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistoryPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalHistoryPlugin.dev.js') : require('./LexicalHistoryPlugin.prod.js')\nmodule.exports = LexicalHistoryPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),g=require(\"react\"),h=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!1,ignoreInitialChange:e=!0,ignoreSelectionChange:f=!1,onChange:a}){let [b]=c.useLexicalComposerContext();h(()=>{if(a)return b.registerUpdateListener(({editorState:k,dirtyElements:l,dirtyLeaves:m,prevEditorState:n,tags:p})=>{f&&0===l.size&&0===m.size||d&&p.has(\"history-merge\")||e&&n.isEmpty()||a(k,b)})},[b,d,e,f,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalOnChangePlugin = process.env.NODE_ENV === 'development' ? require('./LexicalOnChangePlugin.dev.js') : require('./LexicalOnChangePlugin.prod.js')\nmodule.exports = LexicalOnChangePlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/list\"),c=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"react\"),e=require(\"@lexical/utils\"),f=require(\"lexical\");\nfunction g(a){d.useEffect(()=>e.mergeRegister(a.registerCommand(f.INDENT_CONTENT_COMMAND,()=>{b.indentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.OUTDENT_CONTENT_COMMAND,()=>{b.outdentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_ORDERED_LIST_COMMAND,()=>{b.insertList(a,\"number\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_UNORDERED_LIST_COMMAND,()=>{b.insertList(a,\"bullet\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.REMOVE_LIST_COMMAND,\n()=>{b.removeList(a);return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.INSERT_PARAGRAPH_COMMAND,()=>b.$handleListInsertParagraph()?!0:!1,f.COMMAND_PRIORITY_LOW)),[a])}exports.ListPlugin=function(){let [a]=c.useLexicalComposerContext();d.useEffect(()=>{if(!a.hasNodes([b.ListNode,b.ListItemNode]))throw Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\");},[a]);g(a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalListPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalListPlugin.dev.js') : require('./LexicalListPlugin.prod.js')\nmodule.exports = LexicalListPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\"),t=require(\"@lexical/code\"),A=require(\"@lexical/list\"),F=require(\"@lexical/rich-text\"),aa=require(\"@lexical/utils\"),G=require(\"@lexical/link\");function H(a,b){let c={};for(let d of a)a=b(d),c[a]?c[a].push(d):c[a]=[d];return c}function I(a){a=H(a,b=>b.type);return{element:a.element||[],textFormat:a[\"text-format\"]||[],textMatch:a[\"text-match\"]||[]}}let J=/[!-/:-@[-`{-~\\s]/;\nfunction ba(a){let b=I(a),c=b.textFormat.filter(d=>1===d.format.length);return()=>{let d=[];var e=h.$getRoot().getChildren();for(let f of e)e=ca(f,b.element,c,b.textMatch),null!=e&&d.push(e);return d.join(\"\\n\\n\")}}function ca(a,b,c,d){for(let e of b)if(b=e.export(a,f=>K(f,c,d)),null!=b)return b;return h.$isElementNode(a)?K(a,c,d):null}\nfunction K(a,b,c){let d=[];a=a.getChildren();a:for(let e of a){for(let f of c)if(a=f.export(e,k=>K(k,b,c),(k,p)=>L(k,p,b)),null!=a){d.push(a);continue a}h.$isLineBreakNode(e)?d.push(\"\\n\"):h.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):h.$isElementNode(e)&&d.push(K(e,b,c))}return d.join(\"\")}function L(a,b,c){let d=b.trim(),e=d,f=new Set;for(let p of c){c=p.format[0];let r=p.tag;if(M(a,c)&&!f.has(c)){f.add(c);var k=N(a,!0);M(k,c)||(e=r+e);k=N(a,!1);M(k,c)||(e+=r)}}return b.replace(d,e)}\nfunction N(a,b){let c=b?a.getPreviousSibling():a.getNextSibling();c||(a=a.getParentOrThrow(),a.isInline()&&(c=b?a.getPreviousSibling():a.getNextSibling()));for(;c;){if(h.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(h.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(h.$isTextNode(c))return c;if(!h.$isElementNode(c))break}return null}function M(a,b){return h.$isTextNode(a)&&a.hasFormat(b)}let da=/^\\s{0,3}$/,O=/^```(\\w{1,10})?\\s?$/;\nfunction ea(a){let b=I(a),c=fa(b.textFormat);return d=>{var e=d.split(\"\\n\"),f=e.length;d=h.$getRoot();d.clear();for(let g=0;g<f;g++){var k=e[g];a:{var p=e,r=g;var n=d;var u=p[r].match(O);if(u)for(var q=r,l=p.length;++q<l;)if(p[q].match(O)){u=t.$createCodeNode(u[1]);p=h.$createTextNode(p.slice(r+1,q).join(\"\\n\"));u.append(p);n.append(u);n=[u,q];break a}n=[null,r]}let [m,w]=n;if(null!=m)g=w;else{n=k;l=d;var x=b.element;q=c;p=b.textMatch;r=n.trim();u=h.$createTextNode(r);k=h.$createParagraphNode();k.append(u);\nl.append(k);for(let {regExp:y,replace:v}of x)if(l=n.match(y)){u.setTextContent(n.slice(l[0].length));v(k,[u],l,!0);break}P(u,q,p);k.isAttached()&&0<r.length&&(n=k.getPreviousSibling(),h.$isParagraphNode(n)||F.$isQuoteNode(n)||A.$isListNode(n))&&(q=n,A.$isListNode(n)&&(n=n.getLastDescendant(),q=null==n?null:aa.$findMatchingParent(n,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[h.$createLineBreakNode(),...k.getChildren()]),k.remove()))}}e=d.getChildren();for(let g of e)e=\ng,h.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&h.$isTextNode(f)&&da.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction P(a,b,c){let d=a.getTextContent(),e=ha(d,b);if(e){if(e[0]===d)var f=a;else{var k=e.index||0,p=k+e[0].length;0===k?[f,r]=a.splitText(p):[n,f,r]=a.splitText(k,p)}f.setTextContent(e[2]);if(k=b.transformersByTag[e[1]])for(let u of k.format)f.hasFormat(u)||f.toggleFormat(u);f.hasFormat(\"code\")||P(f,b,c);n&&P(n,b,c);r&&P(r,b,c)}else a:for(b=a;b;){for(k of c)if(f=b.getTextContent().match(k.importRegExp)){var r=f.index||0;var n=r+f[0].length;0===r?[p,b]=b.splitText(n):[,p,b]=b.splitText(r,n);k.replace(p,\nf);continue a}break}}function ha(a,b){var c=a.match(b.openTagsRegExp);if(null==c)return null;for(let f of c){var d=f.replace(/^\\s/,\"\");c=b.fullMatchRegExpByTag[d];if(null!=c&&(c=a.match(c),d=b.transformersByTag[d],null!=c&&null!=d)){if(!1!==d.intraword)return c;var {index:e=0}=c;d=a[e-1];e=a[e+c[0].length];if(!(d&&!J.test(d)||e&&!J.test(e)))return c}}return null}\nfunction fa(a){let b={},c={},d=[];for(let e of a){({tag:a}=e);b[a]=e;let f=a.replace(/(\\*|\\^)/g,\"\\\\$1\");d.push(f);c[a]=new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp(\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}function Q(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(R(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function R(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet S=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},T=a=>(b,c,d)=>{var e=b.getPreviousSibling();const f=A.$createListItemNode(\"check\"===a?\"x\"===d[3]:void 0);A.$isListNode(e)&&e.getListType()===a?(e.append(f),b.remove()):(e=A.$createListNode(a,\"number\"===a?Number(d[2]):void 0),e.append(f),b.replace(e));f.append(...c);f.select(0,0);(b=Math.floor(d[1].length/4))&&f.setIndent(b)},U=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const p of e)if(A.$isListItemNode(p)){if(1===p.getChildrenSize()&&\n(e=p.getFirstChild(),A.$isListNode(e))){d.push(U(e,b,c+1));continue}e=\" \".repeat(4*c);var k=a.getListType();k=\"number\"===k?`${a.getStart()+f}. `:\"check\"===k?`- [${p.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+k+b(p));f++}return d.join(\"\\n\")},V={dependencies:[F.HeadingNode],export:(a,b)=>{if(!F.$isHeadingNode(a))return null;const c=Number(a.getTag().slice(1));return\"#\".repeat(c)+\" \"+b(a)},regExp:/^(#{1,6})\\s/,replace:S(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},W={dependencies:[F.QuoteNode],\nexport:(a,b)=>{if(!F.$isQuoteNode(a))return null;a=b(a).split(\"\\n\");b=[];for(const c of a)b.push(\"> \"+c);return b.join(\"\\n\")},regExp:/^>\\s/,replace:(a,b,c,d)=>{if(d&&(c=a.getPreviousSibling(),F.$isQuoteNode(c))){c.splice(c.getChildrenSize(),0,[h.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},X={dependencies:[t.CodeNode],export:a=>{if(!t.$isCodeNode(a))return null;const b=a.getTextContent();return\"```\"+\n(a.getLanguage()||\"\")+(b?\"\\n\"+b:\"\")+\"\\n```\"},regExp:/^```(\\w{1,10})?\\s/,replace:S(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},Y={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?U(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:T(\"bullet\"),type:\"element\"},ia={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?U(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:T(\"check\"),type:\"element\"},ja={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?U(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:T(\"number\"),type:\"element\"},ka={format:[\"code\"],tag:\"`\",type:\"text-format\"},la={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},ma={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},na={format:[\"bold\"],tag:\"**\",type:\"text-format\"},pa={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},qa={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},ra={format:[\"italic\"],tag:\"*\",type:\"text-format\"},sa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},ta={dependencies:[G.LinkNode],export:(a,b,c)=>{if(!G.$isLinkNode(a))return null;b=`[${a.getTextContent()}](${a.getURL()})`;const d=a.getFirstChild();return 1===a.getChildrenSize()&&h.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=h.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nua=[V,W,X,Y,ja],va=[ka,la,ma,na,pa,ra,sa,qa],wa=[ta],Z=[...ua,...va,...wa];exports.$convertFromMarkdownString=function(a,b=Z){return ea(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=la;exports.BOLD_ITALIC_UNDERSCORE=ma;exports.BOLD_STAR=na;exports.BOLD_UNDERSCORE=pa;exports.CHECK_LIST=ia;exports.CODE=X;exports.ELEMENT_TRANSFORMERS=ua;exports.HEADING=V;exports.INLINE_CODE=ka;exports.ITALIC_STAR=ra;exports.ITALIC_UNDERSCORE=sa;exports.LINK=ta;\nexports.ORDERED_LIST=ja;exports.QUOTE=W;exports.STRIKETHROUGH=qa;exports.TEXT_FORMAT_TRANSFORMERS=va;exports.TEXT_MATCH_TRANSFORMERS=wa;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=Y;\nexports.registerMarkdownShortcuts=function(a,b=Z){let c=I(b),d=H(c.textFormat,({tag:f})=>f[f.length-1]),e=H(c.textMatch,({trigger:f})=>f);for(let f of b)if(b=f.type,(\"element\"===b||\"text-match\"===b)&&!a.hasNodes(f.dependencies))throw Error(\"Minified Lexical error #79; visit https://lexical.dev/docs/error?code=79 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a.registerUpdateListener(({tags:f,dirtyLeaves:k,editorState:p,prevEditorState:r})=>\n{if(!f.has(\"historic\")){var n=p.read(h.$getSelection);f=r.read(h.$getSelection);if(h.$isRangeSelection(f)&&h.$isRangeSelection(n)&&n.isCollapsed()){r=n.anchor.key;var u=n.anchor.offset,q=p._nodeMap.get(r);h.$isTextNode(q)&&k.has(r)&&(1===u||u===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var l=q.getParent();if(null!==l&&!t.$isCodeNode(l)){var x=n.anchor.offset;b:{var g=c.element,m=l.getParent();if(h.$isRootNode(m)&&l.getFirstChild()===q&&(m=q.getTextContent(),\" \"===m[x-1]))for(let {regExp:C,\nreplace:D}of g)if((g=m.match(C))&&g[0].length===x){m=q.getNextSiblings();let [E,oa]=q.splitText(x);E.remove();m=oa?[oa,...m]:m;D(l,m,g,!1);l=!0;break b}l=!1}if(!l){b:{g=q.getTextContent();l=e[g[x-1]];if(null!=l){x<g.length&&(g=g.slice(0,x));for(y of l)if(l=g.match(y.regExp),null!==l){g=l.index||0;m=g+l[0].length;var w=void 0;0===g?[w]=q.splitText(m):[,w]=q.splitText(g,m);w.selectNext(0,0);y.replace(w,l);var y=!0;break b}}y=!1}if(!y)b:{m=q.getTextContent();--x;var v=m[x];if(y=d[v])for(let C of y){var {tag:B}=\nC;y=B.length;let D=x-y+1;if(!(1<y&&!R(m,D,B,0,y)||\" \"===m[D-1])&&(w=m[x+1],!1!==C.intraword||!w||J.test(w))){l=w=q;g=Q(m,D,B);for(var z=l;0>g&&(z=z.getPreviousSibling())&&!h.$isLineBreakNode(z);)h.$isTextNode(z)&&(g=z.getTextContent(),l=z,g=Q(g,g.length,B));if(!(0>g||l===w&&g+y===D||(B=l.getTextContent(),0<g&&B[g-1]===v||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){m=w.getTextContent();m=m.slice(0,D)+m.slice(x+1);w.setTextContent(m);m=l===w?m:B;l.setTextContent(m.slice(0,g)+m.slice(g+y));m=h.$getSelection();\nv=h.$createRangeSelection();h.$setSelection(v);x=x-y*(l===w?2:1)+1;v.anchor.set(l.__key,g,\"text\");v.focus.set(w.__key,x,\"text\");for(let E of C.format)v.hasFormat(E)||v.formatText(E);v.anchor.set(v.focus.key,v.focus.offset,v.focus.type);for(let E of C.format)v.hasFormat(E)&&v.toggleFormat(E);h.$isRangeSelection(m)&&(v.format=m.format);break b}}}}}}}})}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdown = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdown.dev.js') : require('./LexicalMarkdown.prod.js')\nmodule.exports = LexicalMarkdown;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/markdown\"),d=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"@lexical/react/LexicalHorizontalRuleNode\"),f=require(\"react\");let g=[{dependencies:[e.HorizontalRuleNode],export:a=>e.$isHorizontalRuleNode(a)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(a,b,k,h)=>{b=e.$createHorizontalRuleNode();h||null!=a.getNextSibling()?a.replace(b):a.insertBefore(b);b.selectNext()},type:\"element\"},...c.TRANSFORMERS];exports.DEFAULT_TRANSFORMERS=g;\nexports.MarkdownShortcutPlugin=function({transformers:a=g}){let [b]=d.useLexicalComposerContext();f.useEffect(()=>c.registerMarkdownShortcuts(b,a),[b,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdownShortcutPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdownShortcutPlugin.dev.js') : require('./LexicalMarkdownShortcutPlugin.prod.js')\nmodule.exports = LexicalMarkdownShortcutPlugin;","import {$isAtNodeEnd} from '@lexical/selection';\n\nexport function getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n","const VERTICAL_GAP = 10;\n\nexport function setFloatingElemPosition(\n targetRect,\n floatingElem,\n anchorElem,\n options = {}\n) {\n options = Object.assign({\n verticalGap: VERTICAL_GAP,\n controlOpacity: true\n }, options);\n\n const scrollerElem = anchorElem.parentElement;\n\n if (targetRect === null || !scrollerElem) {\n if (options.controlOpacity) {\n floatingElem.style.opacity = '0';\n }\n floatingElem.style.top = '-10000px';\n floatingElem.style.left = '-10000px';\n\n return;\n }\n\n const floatingElemRect = floatingElem.getBoundingClientRect();\n const anchorElementRect = anchorElem.getBoundingClientRect();\n const editorScrollerRect = scrollerElem.getBoundingClientRect();\n\n let top = targetRect.top - floatingElemRect.height - options.verticalGap;\n let left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;\n\n if (left < editorScrollerRect.left) {\n left = editorScrollerRect.left;\n }\n\n if (left + floatingElemRect.width > editorScrollerRect.right) {\n left = editorScrollerRect.right - floatingElemRect.width;\n }\n\n top -= anchorElementRect.top;\n left -= anchorElementRect.left;\n\n if (options.controlOpacity) {\n floatingElem.style.opacity = '1';\n }\n floatingElem.style.top = `${top}px`;\n floatingElem.style.left = `${left}px`;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport function getDOMRangeRect(\n nativeSelection,\n rootElement,\n) {\n const domRange = nativeSelection.getRangeAt(0);\n\n let rect;\n\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) { // eslint-disable-line eqeqeq\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n return rect;\n}\n","export function getScrollParent(node) {\n const isElement = node instanceof HTMLElement;\n const overflowY = isElement && window.getComputedStyle(node).overflowY;\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (!node) {\n return null;\n } else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode) || document.body;\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy40MTIgNi4yMTdoMS4xNzZjMS4yNzYgMCAyLjIzNi0uNzczIDIuMjM2LTEuNjA4IDAtLjgzNS0uOTYtMS42MDktMi4yMzYtMS42MDlINS43NjV2My4yMTdoMS42NDd6TTUuNzY1IDEzSDkuNDdDMTAuODc1IDEzIDEyIDExLjkyIDEyIDEwLjYwOXMtMS4xMjQtMi4zOTItMi41My0yLjM5Mkg1Ljc2NlYxM3ptLTIgMFYzSDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNS41ODhjMi4yOTcgMCA0LjIzNiAxLjU2MyA0LjIzNiAzLjYwOSAwIC44NzctLjM1NyAxLjY2Ni0uOTQ1IDIuMjhDMTMuMTUgNy42NjUgMTQgOS4wMzcgMTQgMTAuNjEgMTQgMTMuMDQzIDExLjk2MyAxNSA5LjQ3IDE1SDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoLjc2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTUgM0w2LjEwNCAxM2guODExYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoMS43NjdMOS44MTMgM0g5Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDQuOTE1Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDEyLjE1eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNCA3aDhWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NS44OTdjLjAwMy4wMzQuMDA1LjA2OC4wMDUuMTAzIDAgLjAzNS0uMDAyLjA3LS4wMDUuMTAzVjE0YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjlINHY1YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjJjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxdjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiA4aDRWNS40ODNjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxVjEzYzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xdi0zSDZ2M2MwIC41NTItLjQ0OCAxLTEgMXMtMS0uNDQ4LTEtMVY1LjQ4M2MwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDFWOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","import React, {useEffect} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isTextNode,\n COMMAND_PRIORITY_LOW,\n FORMAT_TEXT_COMMAND,\n SELECTION_CHANGE_COMMAND\n} from 'lexical';\nimport {\n $wrapLeafNodesInElements\n} from '@lexical/selection';\nimport {\n $createHeadingNode,\n $isHeadingNode,\n $createQuoteNode\n} from '@lexical/rich-text';\nimport {\n $isListNode,\n ListNode\n} from '@lexical/list';\nimport {\n $getNearestNodeOfType,\n mergeRegister\n} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$createAsideNode} from '../nodes/AsideNode';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {setFloatingElemPosition} from '../utils/setFloatingElemPosition';\nimport {getDOMRangeRect} from '../utils/getDOMRangeRect';\nimport {getScrollParent} from '../utils/getScrollParent';\n\nimport {ReactComponent as BoldIcon} from '../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as QuoteOneIcon} from '../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../assets/icons/kg-quote-2.svg';\n\nconst blockTypeToBlockName = {\n bullet: 'Bulleted List',\n check: 'Check List',\n code: 'Code Block',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n number: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n aside: 'Aside'\n};\n\nfunction MenuItem({label, isActive, onClick, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n onClick={onClick}\n aria-label={label}\n data-kg-active={isActive}\n >\n <Icon className={isActive ? 'fill-green' : 'fill-white'} />\n </button>\n </li>\n );\n}\n\nfunction MenuSeparator() {\n return (\n <li className=\"bg-grey-900 m-0 mx-1 h-5 w-px\"></li>\n );\n}\n\nfunction FloatingFormatToolbar({editor, anchorElem, blockType, isBold, isItalic}) {\n const toolbarRef = React.useRef(null);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapLeafNodesInElements(selection, () => $createParagraphNode());\n }\n });\n }\n };\n\n const formatHeading = (headingSize) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapLeafNodesInElements(selection, () => $createHeadingNode(headingSize));\n }\n });\n }\n };\n\n const formatQuote = () => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n if (blockType === 'quote') {\n $wrapLeafNodesInElements(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapLeafNodesInElements(selection, () => $createParagraphNode());\n } else {\n $wrapLeafNodesInElements(selection, () => $createQuoteNode());\n }\n }\n });\n };\n\n const updateFloatingToolbar = React.useCallback(() => {\n const toolbarElement = toolbarRef.current;\n\n if (!toolbarElement) {\n return;\n }\n\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n selection !== null &&\n nativeSelection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const rangeRect = getDOMRangeRect(nativeSelection, rootElement);\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }, [editor, anchorElem]);\n\n React.useEffect(() => {\n const scrollElement = getScrollParent(anchorElem);\n\n const update = () => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n };\n\n window.addEventListener('resize', update);\n if (scrollElement) {\n scrollElement.addEventListener('scroll', update);\n }\n\n return () => {\n window.removeEventListener('resize', update);\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', update);\n }\n };\n }, [editor, updateFloatingToolbar, anchorElem]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n editorState.read(() => {\n updateFloatingToolbar();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateFloatingToolbar();\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n }, [editor, updateFloatingToolbar]);\n\n return (\n <div className=\"absolute\" ref={toolbarRef} data-kg-floating-toolbar>\n <ul className=\"text-md m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans font-normal text-white\">\n <MenuItem label=\"Format text as bold\" isActive={isBold} Icon={BoldIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold')} data-kg-toolbar-button=\"bold\" />\n <MenuItem label=\"Format text as italics\" isActive={isItalic} Icon={ItalicIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic')} data-kg-toolbar-button=\"italic\" />\n <MenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} Icon={HeadingOneIcon} onClick={() => (blockType === 'h2' ? formatParagraph() : formatHeading('h2'))} data-kg-toolbar-button=\"h2\" />\n <MenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} Icon={HeadingTwoIcon} onClick={() => (blockType === 'h3' ? formatParagraph() : formatHeading('h3'))} data-kg-toolbar-button=\"h3\" />\n <MenuSeparator />\n <MenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} Icon={blockType === 'aside' ? QuoteTwoIcon : QuoteOneIcon} onClick={() => (formatQuote())} data-kg-toolbar-button=\"quote\" />\n </ul>\n </div>\n );\n}\n\nfunction useFloatingFormatToolbar(editor, anchorElem) {\n const [isText, setIsText] = React.useState(false);\n const [isBold, setIsBold] = React.useState(false);\n const [isItalic, setIsItalic] = React.useState(false);\n const [blockType, setBlockType] = React.useState('paragraph');\n\n const updatePopup = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // Should not to pop up the floating toolbar when using IME input\n if (editor.isComposing()) {\n return;\n }\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n nativeSelection !== null &&\n (\n !$isRangeSelection(selection) ||\n rootElement === null ||\n !rootElement.contains(nativeSelection.anchorNode)\n )\n ) {\n setIsText(false);\n return;\n }\n\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const anchorNode = getSelectedNode(selection);\n const element = anchorNode.getKey() === 'root'\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n\n // update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n\n if (elementDOM !== null) {\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList\n ? parentList.getListType()\n : element.getListType();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n setBlockType(type);\n }\n }\n }\n\n if (selection.getTextContent() !== '') {\n setIsText($isTextNode(anchorNode));\n } else {\n setIsText(false);\n }\n });\n }, [editor]);\n\n useEffect(() => {\n document.addEventListener('selectionchange', updatePopup);\n return () => {\n document.removeEventListener('selectionchange', updatePopup);\n };\n }, [updatePopup]);\n\n useEffect(() => {\n return editor.registerUpdateListener(() => {\n updatePopup();\n });\n }, [editor, updatePopup]);\n\n if (!isText) {\n return;\n }\n\n return createPortal(\n <FloatingFormatToolbar\n editor={editor}\n anchorElem={anchorElem}\n blockType={blockType}\n isBold={isBold}\n isItalic={isItalic}\n />,\n anchorElem\n );\n}\n\nexport default function FloatingFormatToolbarPlugin({anchorElem = document.body}) {\n const [editor] = useLexicalComposerContext();\n return useFloatingFormatToolbar(editor, anchorElem);\n}\n","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';\nimport {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';\nimport {ListPlugin} from '@lexical/react/LexicalListPlugin';\nimport {MarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbar';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\n // we need an element reference for the container element that\n // any floating elements in plugins will be rendered inside\n const [floatingAnchorElem, setFloatingAnchorElem] = React.useState(null);\n const onRef = (_floatingAnchorElem) => {\n if (_floatingAnchorElem !== null) {\n setFloatingAnchorElem(_floatingAnchorElem);\n }\n };\n\n return (\n <div className=\"koenig-lexical\">\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<div className=\"text-grey-500 pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl\">Begin writing your post...</div>}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <MarkdownShortcutPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["c","require$$0","d","LexicalComposerContext_prod","a","b","LexicalComposerContext","LexicalComposerContext_1","aa","ba","ca","ea","fa","ha","ja","ka","la","ma","p","na","oa","pa","qa","ra","sa","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","r","Na","Oa","t","Pa","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","u","jb","x","f","e","g","h","k","m","l","n","q","v","w","kb","A","C","D","z","lb","B","mb","E","da","R","F","nb","pb","qb","rb","sb","tb","ub","vb","wb","xb","G","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","H","I","J","K","L","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","M","Qb","Rb","Sb","Tb","Ub","Vb","N","Zb","$b","ac","bc","cc","dc","ec","fc","O","P","Q","gc","S","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","T","Lc","Fc","Gc","Hc","Ic","Jc","Kc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","U","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","W","X","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Hd","Id","Jd","Kd","Ld","Md","Nd","Y","Z","Od","Pd","Qd","Rd","Sd","Td","Ud","V","Vd","Qa","ta","se","te","ob","Wb","Bd","ua","Cd","Dd","Xb","Ed","Yb","Fd","ue","Ra","ia","va","Gd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","ve","y","we","xe","ye","ze","Ae","Be","Ce","De","Lexical_prod","Lexical","Lexical_1","require$$1","require$$2","LexicalComposer_prod","LexicalComposer","LexicalComposer_1","LexicalUtils_prod","LexicalUtils","LexicalUtils_1","LexicalList_prod","LexicalList","LexicalList_1","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","clone","key","i","element","language","err","src","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","value","DFS","callback","type","objId","property","propertyType","async","container","env","parent","code","insertHighlightedCode","highlightedCode","worker","evt","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","node","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","module","global","tagName","includedCdataInside","def","attrName","string","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","error","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","multilineComment","rule","require$$12","require$$13","LexicalCode_prod","LexicalCode","LexicalCode_1","LexicalSelection_prod","LexicalSelection","LexicalSelection_1","LexicalHtml_prod","LexicalHtml","LexicalHtml_1","require$$3","require$$4","LexicalClipboard_prod","LexicalClipboard","LexicalClipboard_1","LexicalRichText_prod","LexicalRichText","LexicalRichText_1","LexicalLink_prod","LexicalLink","LexicalLink_1","AsideNode","ElementNode","config","addClassNamesToElement","prevNode","dom","convertAsideElement","serializedNode","$createAsideNode","newBlock","$createParagraphNode","direction","paragraph","child","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","CodeNode","HorizontalRuleNode","defaultTheme","reactJsxRuntime_production_min","defaultOnError","console","defaultConfig","namespace","theme","KoenigComposer","initialEditorState","nodes","onError","children","initialConfig","React","useMemo","Object","assign","editorState","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_1","LexicalContentEditable_prod","LexicalContentEditable","LexicalContentEditable_1","LexicalHistory_prod","LexicalHistory","LexicalHistory_1","history","LexicalHistoryPlugin_prod","LexicalHistoryPlugin","LexicalHistoryPlugin_1","LexicalOnChangePlugin_prod","LexicalOnChangePlugin","LexicalOnChangePlugin_1","LexicalListPlugin_prod","LexicalListPlugin","LexicalListPlugin_1","LexicalMarkdown_prod","LexicalMarkdown","LexicalMarkdown_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","getSelectedNode","selection","anchor","focus","anchorNode","focusNode","$isAtNodeEnd","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","top","left","getDOMRangeRect","nativeSelection","rootElement","domRange","rect","getScrollParent","overflowY","isScrollable","SvgKgBold","props","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgQuote1","SvgKgQuote2","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","number","quote","aside","MenuItem","label","isActive","onClick","Icon","MenuSeparator","FloatingFormatToolbar","editor","blockType","isBold","isItalic","toolbarRef","useRef","formatParagraph","update","$getSelection","$isRangeSelection","formatHeading","headingSize","$wrapLeafNodesInElements","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","useCallback","toolbarElement","current","window","getSelection","getRootElement","isCollapsed","contains","rangeRect","useEffect","scrollElement","getEditorState","read","addEventListener","removeEventListener","mergeRegister","registerUpdateListener","registerCommand","SELECTION_CHANGE_COMMAND","COMMAND_PRIORITY_LOW","_jsx","BoldIcon","dispatchCommand","FORMAT_TEXT_COMMAND","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","QuoteTwoIcon","QuoteOneIcon","useFloatingFormatToolbar","isText","setIsText","useState","setIsBold","setIsItalic","setBlockType","updatePopup","isComposing","getKey","getTopLevelElementOrThrow","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","getType","getTextContent","$isTextNode","createPortal","FloatingFormatToolbarPlugin","document","body","useLexicalComposerContext","KoenigEditor","onChange","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin","MarkdownShortcutPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koenig-lexical.js","sources":["../../../node_modules/@lexical/react/LexicalComposerContext.prod.js","../../../node_modules/@lexical/react/LexicalComposerContext.js","../../../node_modules/lexical/Lexical.prod.js","../../../node_modules/lexical/Lexical.js","../../../node_modules/@lexical/react/LexicalComposer.prod.js","../../../node_modules/@lexical/react/LexicalComposer.js","../../../node_modules/@lexical/utils/LexicalUtils.prod.js","../../../node_modules/@lexical/utils/LexicalUtils.js","../../../node_modules/@lexical/list/LexicalList.prod.js","../../../node_modules/@lexical/list/LexicalList.js","../../../node_modules/@lexical/selection/LexicalSelection.prod.js","../../../node_modules/@lexical/selection/LexicalSelection.js","../../../node_modules/@lexical/html/LexicalHtml.prod.js","../../../node_modules/@lexical/html/LexicalHtml.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.prod.js","../../../node_modules/@lexical/clipboard/LexicalClipboard.js","../../../node_modules/@lexical/rich-text/LexicalRichText.prod.js","../../../node_modules/@lexical/rich-text/LexicalRichText.js","../../../node_modules/@lexical/link/LexicalLink.prod.js","../../../node_modules/@lexical/link/LexicalLink.js","../src/nodes/AsideNode.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/KoenigCardWrapper.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/nodes/CodeBlockNode.jsx","../src/nodes/DefaultNodes.js","../src/themes/default.js","../src/components/KoenigComposer.jsx","../../../node_modules/@lexical/text/LexicalText.prod.js","../../../node_modules/@lexical/text/LexicalText.js","../../../node_modules/@lexical/dragon/LexicalDragon.prod.js","../../../node_modules/@lexical/dragon/LexicalDragon.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.js","../../../node_modules/@lexical/react/LexicalRichTextPlugin.js","../../../node_modules/@lexical/react/LexicalContentEditable.prod.js","../../../node_modules/@lexical/react/LexicalContentEditable.js","../../../node_modules/@lexical/history/LexicalHistory.prod.js","../../../node_modules/@lexical/history/LexicalHistory.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.prod.js","../../../node_modules/@lexical/react/LexicalHistoryPlugin.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.js","../../../node_modules/@lexical/react/LexicalOnChangePlugin.js","../../../node_modules/@lexical/react/LexicalListPlugin.prod.js","../../../node_modules/@lexical/react/LexicalListPlugin.js","../../../node_modules/prismjs/prism.js","../../../node_modules/prismjs/components/prism-clike.js","../../../node_modules/prismjs/components/prism-javascript.js","../../../node_modules/prismjs/components/prism-markup.js","../../../node_modules/prismjs/components/prism-markdown.js","../../../node_modules/prismjs/components/prism-c.js","../../../node_modules/prismjs/components/prism-css.js","../../../node_modules/prismjs/components/prism-objectivec.js","../../../node_modules/prismjs/components/prism-sql.js","../../../node_modules/prismjs/components/prism-python.js","../../../node_modules/prismjs/components/prism-rust.js","../../../node_modules/prismjs/components/prism-swift.js","../../../node_modules/@lexical/code/LexicalCode.prod.js","../../../node_modules/@lexical/code/LexicalCode.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.prod.js","../../../node_modules/@lexical/markdown/LexicalMarkdown.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.js","../../../node_modules/@lexical/react/LexicalHorizontalRuleNode.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.js","../../../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.js","../src/plugins/MarkdownShortcutPlugin.jsx","../src/utils/getSelectedNode.js","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/assets/icons/kg-bold.svg","../src/assets/icons/kg-italic.svg","../src/assets/icons/kg-heading-1.svg","../src/assets/icons/kg-heading-2.svg","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/plugins/FloatingFormatToolbar.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"react\");let d=c.createContext(null);exports.LexicalComposerContext=d;exports.createLexicalComposerContext=function(a,e){let b=null;null!=a&&(b=a[1]);return{getTheme:function(){return null!=e?e:null!=b?b.getTheme():null}}};\nexports.useLexicalComposerContext=function(){let a=c.useContext(d);if(null==a)throw Error(\"Minified Lexical error #8; visit https://lexical.dev/docs/error?code=8 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposerContext = process.env.NODE_ENV === 'development' ? require('./LexicalComposerContext.dev.js') : require('./LexicalComposerContext.prod.js')\nmodule.exports = LexicalComposerContext;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';let aa={},ba={},ca={},ea={},fa={},ha={},ja={},ka={},la={},ma={},p={},na={},oa={},pa={},qa={},ra={},sa={},wa={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={};function r(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nlet Na=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Oa=Na&&\"documentMode\"in document?document.documentMode:null,t=Na&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Pa=Na&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Sa=Na&&\"InputEvent\"in window&&!Oa?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Ta=Na&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ua=Na&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&\n!window.MSStream,Va=Ta||Ua?\"\\u00a0\":\"\\u200b\",Wa=Pa?\"\\u00a0\":Va,Xa=/^[^A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]*[\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]/,Ya=/^[^\\u0591-\\u07ff\\ufb1d-\\ufdfd\\ufe70-\\ufefc]*[A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff]/,Za={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},$a={directionless:1,\nunmergeable:2},ab={center:2,justify:4,left:1,right:3},bb={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},cb={inert:3,normal:0,segmented:2,token:1},db={3:\"inert\",0:\"normal\",2:\"segmented\",1:\"token\"},eb=!1,fb=0;function gb(a){fb=a.timeStamp}function hb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function ib(a){return a.getEditorState().read(()=>{let b=u();return null!==b?b.clone():null})}\nfunction jb(a,b,c){eb=!0;let d=100<performance.now()-fb;try{x(a,()=>{let f=u()||ib(a);var e=new Map,g=a.getRootElement(),h=a._editorState;let k=!1,m=\"\";for(var l=0;l<b.length;l++){var n=b[l],q=n.type,v=n.target,w=kb(v,h);if(!A(w))if(\"characterData\"===q){if(n=d&&C(w))a:{n=f;q=v;var y=w;if(D(n)){var z=n.anchor.getNode();if(z.is(y)&&n.format!==z.getFormat()){n=!1;break a}}n=3===q.nodeType&&y.isAttached()}n&&(y=window.getSelection(),q=n=null,null!==y&&y.anchorNode===v&&(n=y.anchorOffset,q=y.focusOffset),\nv=v.nodeValue,null!==v&&lb(w,v,n,q,!1))}else if(\"childList\"===q){k=!0;q=n.addedNodes;for(y=0;y<q.length;y++){z=q[y];var B=mb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&hb(z,E,a)||(Pa&&(B=z.innerText||z.nodeValue)&&(m+=B),E.removeChild(z))}n=n.removedNodes;q=n.length;if(0<q){y=0;for(z=0;z<q;z++)E=n[z],\"BR\"===E.nodeName&&hb(E,v,a)&&(v.appendChild(E),y++);q!==y&&(v===g&&(w=h._nodeMap.get(\"root\")),e.set(v,w))}}}if(0<e.size)for(let [da,R]of e)if(F(R))for(e=R.__children,g=da.firstChild,h=0;h<\ne.length;h++)l=a.getElementByKey(e[h]),null!==l&&(null==g?(da.appendChild(l),g=l):g!==l&&da.replaceChild(l,g),g=g.nextSibling);else C(R)&&R.markDirty();e=c.takeRecords();if(0<e.length){for(g=0;g<e.length;g++)for(l=e[g],h=l.addedNodes,l=l.target,w=0;w<h.length;w++)v=h[w],n=v.parentNode,null==n||\"BR\"!==v.nodeName||hb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==f&&(k&&(f.dirty=!0,nb(f)),Pa&&pb(a)&&f.insertRawText(m))})}finally{eb=!1}}\nfunction qb(a){let b=a._observer;if(null!==b){let c=b.takeRecords();jb(a,c,b)}}function rb(a){0===fb&&sb(a).addEventListener(\"textInput\",gb,!0);a._observer=new MutationObserver((b,c)=>{jb(a,b,c)})}let tb=1,ub=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction vb(a,b,c){let d=a.getRootElement();try{var f;if(f=null!==d&&d.contains(b)&&d.contains(c)&&null!==b){let e=document.activeElement,g=null!==e?e.nodeName:null;f=!A(kb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return f&&wb(b)===a}catch(e){return!1}}function wb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function xb(a){return G(a)||a.isSegmented()}function G(a){return a.isToken()||a.isInert()}\nfunction yb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}function zb(a,b,c){b=Za[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function Ab(a){return C(a)||Bb(a)||A(a)}function Cb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Db(a);b.splice(c,1)}}\nfunction Eb(a){99<Fb&&r(14);var b=a.getLatest(),c=b.__parent,d=H();let f=I(),e=d._nodeMap;d=f._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=e.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;f._dirtyType=1;F(a)?d.set(b,!0):f._dirtyLeaves.add(b)}function Db(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Eb(b);null!==a&&Eb(a)}\nfunction J(a){K();var b=I();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=L(c),null!==b&&b.getWritable()),null!==a&&(a=L(a),null!==a&&a.getWritable()))}function L(a,b){a=(b||H())._nodeMap.get(a);return void 0===a?null:a}function mb(a,b){let c=I();a=a[`__lexicalKey_${c._key}`];return void 0!==a?L(a,b):null}function kb(a,b){for(;null!=a;){let c=mb(a,b);if(null!==c)return c;a=a.parentNode}return null}\nfunction Gb(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function Hb(a){return a.read(()=>Ib().getTextContent())}function Jb(a,b){x(a,()=>{var c=H();if(!c.isEmpty())if(\"root\"===b)Ib().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:\"history-merge\"}:void 0)}function Ib(){return H()._nodeMap.get(\"root\")}function nb(a){let b=H();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=I(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=c.parentNode}c=null}return null===c?(b=b.getRootElement(),a===b?L(\"root\"):null):L(c)}function Lb(a){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(a)}function Mb(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function Nb(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}\nfunction Ob(a,b){var c=window.getSelection();if(null!==c){var d=c.anchorNode,{anchorOffset:f,focusOffset:e}=c;if(null!==d&&3===d.nodeType&&(c=kb(d),C(c))){d=d.nodeValue;if(d===Va&&b){let g=b.length;d=b;e=f=g}null!==d&&lb(c,d,f,e,a)}}}\nfunction lb(a,b,c,d,f){let e=a;if(e.isAttached()&&(f||!e.isDirty())){var g=e.isComposing();a=b;(g||f)&&b[b.length-1]===Va&&(a=b.slice(0,-1));b=e.getTextContent();if(f||a!==b)if(\"\"===a)if(J(null),Ta||Ua)e.remove();else{let h=I();setTimeout(()=>{h.update(()=>{e.isAttached()&&e.remove()})},20)}else f=e.getParent(),b=Pb(),G(e)||null!==I()._compositionKey&&!g||null!==f&&D(b)&&!f.canInsertTextBefore()&&0===b.anchor.offset?e.markDirty():(g=u(),D(g)&&null!==c&&null!==d&&(g.setTextNodeRange(e,c,e,d),e.isSegmented()&&\n(c=e.getTextContent(),c=M(c),e.replace(c),e=c)),e.setTextContent(a))}}\nfunction Qb(a,b){var c=a.anchor,d=a.focus,f=c.getNode(),e=window.getSelection();e=null!==e?e.anchorNode:null;let g=c.key,h=I().getElementByKey(g),k=b.length;(b=g!==d.key||!C(f)||(2>k||Lb(b))&&c.offset!==d.offset&&!f.isComposing()||xb(f)||f.isDirty()&&1<k||null!==h&&!f.isComposing()&&e!==yb(h)||f.getFormat()!==a.format)||(f.isSegmented()?b=!0:a.isCollapsed()?(a=a.anchor.offset,b=f.getParentOrThrow(),c=f.isToken(),(d=0===a)&&!(d=!f.canInsertTextBefore()||!b.canInsertTextBefore()||c)&&(d=f.getPreviousSibling(),\nd=(C(d)||F(d)&&d.isInline())&&!d.canInsertTextAfter()),f=f.getTextContentSize()===a&&(!f.canInsertTextBefore()||!b.canInsertTextBefore()||c),b=d||f):b=!1);return b}function Rb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}function Sb(a,b,c,d,f){0!==c.size&&(c=d.__key,b=b.get(d.__type),void 0===b&&r(33),b=b.klass,d=a.get(b),void 0===d&&(d=new Map,a.set(b,d)),d.has(c)||d.set(c,f))}\nfunction Tb(a,b,c){let d=a.getParent(),f=c;null!==d&&(b&&0===c?(f=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(f=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?f-1:f)}function Ub(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Tb(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Tb(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}\nfunction pb(a){a=(a=sb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Vb(a){return!N(a)&&!a.isLastChild()&&!a.isInline()}function Zb(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75);return a}function $b(a,b=0){0!==b&&r(1);b=u();if(!D(b)||!F(a))return b;let {anchor:c,focus:d}=b,f=c.getNode(),e=d.getNode();ac(f,a)&&c.set(a.__key,0,\"element\");ac(e,a)&&d.set(a.__key,0,\"element\");return b}\nfunction ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function sb(a){a=a._window;null===a&&r(78);return a}function bc(a,b,c,d,f){a=a.__children;let e=a.length;for(let g=0;g<e;g++){let h=a[g],k=d.get(h);void 0!==k&&k.__parent===b&&(F(k)&&bc(k,h,c,d,f),c.has(h)||f.delete(h),d.delete(h))}}\nfunction cc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;for(let f of c){let e=b.get(f);void 0===e||e.isAttached()||(a.has(f)||c.delete(f),b.delete(f))}for(let [f]of d)c=b.get(f),void 0===c||c.isAttached()||(F(c)&&bc(c,f,a,b,d),a.has(f)||d.delete(f),b.delete(f))}function dc(a,b){let c=a.__mode,d=a.__format;a=a.__style;let f=b.__mode,e=b.__format;b=b.__style;return(null===c||c===f)&&(null===d||d===e)&&(null===a||a===b)}\nfunction ec(a,b){let c=a.mergeWithSibling(b),d=I()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}function fc(a){if(\"\"===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&C(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(\"\"===b.__text)b.remove();else{dc(b,a)&&(a=ec(b,a));break}for(var c;null!==(c=a.getNextSibling())&&C(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{dc(a,c)&&ec(a,c);break}}}\nlet O=\"\",P=\"\",Q=\"\",gc,S,hc,ic=!1,jc=!1,kc,lc=null,mc,nc,oc,pc,qc,rc;function sc(a,b){let c=oc.get(a);if(null!==b){let d=tc(a);b.removeChild(d)}pc.has(a)||S._keyToDOMMap.delete(a);F(c)&&(a=c.__children,uc(a,0,a.length-1,null));void 0!==c&&Sb(rc,hc,kc,c,\"destroyed\")}function uc(a,b,c,d){for(;b<=c;++b){let f=a[b];void 0!==f&&sc(f,d)}}function vc(a,b){a.setProperty(\"text-align\",b)}function wc(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction xc(a,b){a=a.style;0===b?vc(a,\"\"):1===b?vc(a,\"left\"):2===b?vc(a,\"center\"):3===b?vc(a,\"right\"):4===b&&vc(a,\"justify\")}\nfunction yc(a,b,c){let d=pc.get(a);void 0===d&&r(60);let f=d.createDOM(gc,S);var e=S._keyToDOMMap;f[\"__lexicalKey_\"+S._key]=a;e.set(a,f);C(d)?f.setAttribute(\"data-lexical-text\",\"true\"):A(d)&&f.setAttribute(\"data-lexical-decorator\",\"true\");if(F(d)){a=d.__indent;0!==a&&wc(f,a);a=d.__children;var g=a.length;if(0!==g){e=a;--g;let h=P;P=\"\";zc(e,0,g,f,null);Ac(d,f);P=h}e=d.__format;0!==e&&xc(f,e);Bc(null,a,f);Vb(d)&&(O+=\"\\n\\n\",Q+=\"\\n\\n\")}else e=d.getTextContent(),A(d)?(g=d.decorate(S,gc),null!==g&&Cc(a,\ng),f.contentEditable=\"false\"):C(d)&&(d.isDirectionless()||(P+=e),d.isInert()&&(a=f.style,a.pointerEvents=\"none\",a.userSelect=\"none\",f.contentEditable=\"false\",a.setProperty(\"-webkit-user-select\",\"none\"))),O+=e,Q+=e;null!==b&&(null!=c?b.insertBefore(f,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(f,c):b.appendChild(f)));Sb(rc,hc,kc,d,\"created\");return f}function zc(a,b,c,d,f){let e=O;for(O=\"\";b<=c;++b)yc(a[b],d,f);d.__lexicalTextContent=O;O=e+O}\nfunction Dc(a,b){a=b.get(a[a.length-1]);return Bb(a)||A(a)}function Bc(a,b,c){a=null!==a&&(0===a.length||Dc(a,oc));b=null!==b&&(0===b.length||Dc(b,pc));a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement(\"br\"),c.__lexicalLineBreak=b,c.appendChild(b))}\nfunction Ac(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==P||c!==lc){let e=\"\"===P;if(e)var d=lc;else d=P,d=Xa.test(d)?\"rtl\":Ya.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=gc.theme;var f=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==f&&(\"string\"===typeof f&&(f=f.split(\" \"),f=h[c]=f),g.remove(...f));null===d||e&&\"ltr\"===d?b.removeAttribute(\"dir\"):(void 0!==k&&(\"string\"===typeof k&&(c=k.split(\" \"),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);jc||(a.getWritable().__dir=d)}lc=\nd;b.__lexicalDirTextContent=P;b.__lexicalDir=d}}\nfunction Ec(a,b){var c=oc.get(a),d=pc.get(a);void 0!==c&&void 0!==d||r(61);var f=ic||nc.has(a)||mc.has(a);let e=Zb(S,a);if(c===d&&!f)return F(c)?(d=e.__lexicalTextContent,void 0!==d&&(O+=d,Q+=d),d=e.__lexicalDirTextContent,void 0!==d&&(P+=d)):(d=c.getTextContent(),C(c)&&!c.isDirectionless()&&(P+=d),Q+=d,O+=d),e;c!==d&&f&&Sb(rc,hc,kc,d,\"updated\");if(d.updateDOM(c,e,gc))return d=yc(a,null,null),null===b&&r(62),b.replaceChild(d,e),sc(a,null),d;if(F(c)&&F(d)){a=d.__indent;a!==c.__indent&&wc(e,a);a=d.__format;\na!==c.__format&&xc(e,a);a=c.__children;c=d.__children;if(a!==c||f){var g=a,h=c;f=d;b=P;P=\"\";let v=O;O=\"\";var k=g.length,m=h.length;if(1===k&&1===m){var l=g[0];h=h[0];if(l===h)Ec(l,e);else{var n=tc(l);h=yc(h,null,null);e.replaceChild(h,n);sc(l,null)}}else if(0===k)0!==m&&zc(h,0,m-1,e,null);else if(0===m)0!==k&&(l=null==e.__lexicalLineBreak,uc(g,0,k-1,l?null:e),l&&(e.textContent=\"\"));else{let w=k-1;k=m-1;let y=e.firstChild,z=0;for(m=0;z<=w&&m<=k;){var q=g[z];let B=h[m];if(q===B)y=Ec(B,e).nextSibling,\nz++,m++;else{void 0===l&&(l=new Set(g));void 0===n&&(n=new Set(h));let E=n.has(q),da=l.has(B);E?(da?(q=Zb(S,B),q===y?y=Ec(B,e).nextSibling:(null!=y?e.insertBefore(q,y):e.appendChild(q),Ec(B,e)),z++):yc(B,e,y),m++):(y=tc(q).nextSibling,sc(q,e),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),zc(h,m,k,e,l)):n&&!l&&uc(g,z,w,e)}Vb(f)&&(O+=\"\\n\\n\");e.__lexicalTextContent=O;O=v+O;Ac(f,e);P=b;N(d)||Bc(a,c,e)}Vb(d)&&(O+=\"\\n\\n\",Q+=\"\\n\\n\")}else c=d.getTextContent(),A(d)?(f=d.decorate(S,\ngc),null!==f&&Cc(a,f)):C(d)&&!d.isDirectionless()&&(P+=c),O+=c,Q+=c;!jc&&N(d)&&d.__cachedText!==Q&&(d=d.getWritable(),d.__cachedText=Q);return e}function Cc(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Gb(S)}c[a]=b}function tc(a){a=qc.get(a);void 0===a&&r(75);return a}\nlet T=Object.freeze({}),Lc=[[\"keydown\",Fc],[\"mousedown\",Gc],[\"compositionstart\",Hc],[\"compositionend\",Ic],[\"input\",Jc],[\"click\",Kc],[\"cut\",T],[\"copy\",T],[\"dragstart\",T],[\"dragover\",T],[\"dragend\",T],[\"paste\",T],[\"focus\",T],[\"blur\",T],[\"drop\",T]];Sa&&Lc.push([\"beforeinput\",(a,b)=>Mc(a,b)]);let Nc=0,Oc=0,Pc=0,Qc=!1,Rc=!1,Sc=!1,Tc=!1,Uc=[0,0,\"root\",0];function Vc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction Wc(a,b,c){let {anchorNode:d,anchorOffset:f,focusNode:e,focusOffset:g}=a;if(Qc&&(Qc=!1,Vc(d,f)&&Vc(e,g)))return;x(b,()=>{if(!c)nb(null);else if(vb(b,d,e)){var h=u();if(D(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&(h.dirty=!0);var l=sb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Uc;l<w+200&&k.offset===q&&k.key===v?h.format=n:\"text\"===k.type?h.format=m.getFormat():\"element\"===k.type&&(h.format=0)}else{k=127;m=!1;l=h.getNodes();let n=l.length;for(let q=\n0;q<n;q++){let v=l[q];if(C(v)&&(m=!0,k&=v.getFormat(),0===k))break}h.format=m?k:0}}U(b,aa,void 0)}})}function Kc(a,b){x(b,()=>{let c=u(),d=window.getSelection(),f=Pb();if(D(c)){let e=c.anchor,g=e.getNode();d&&\"element\"===e.type&&0===e.offset&&c.isCollapsed()&&!N(g)&&1===Ib().getChildrenSize()&&g.getTopLevelElementOrThrow().isEmpty()&&null!==f&&c.is(f)&&(d.removeAllRanges(),c.dirty=!0)}U(b,ba,a)})}function Gc(a,b){let c=a.target;c instanceof Node&&x(b,()=>{A(kb(c))||(Rc=!0)})}\nfunction Xc(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function Yc(a,b){return a!==b||F(a)||F(b)||!G(a)||!G(b)}\nfunction Mc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Pa&&pb(b)||\"insertCompositionText\"!==c&&x(b,()=>{let d=u();if(\"deleteContentBackward\"===c){if(null===d){var f=Pb();if(!D(f))return;nb(f.clone())}if(D(d)){229===Oc&&a.timeStamp<Nc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(J(null),Nc=0,setTimeout(()=>{x(b,()=>{J(null)})},30),D(d)&&(f=d.anchor.getNode(),f.markDirty(),d.format=f.getFormat())):(a.preventDefault(),U(b,ca,!0));return}}if(D(d)){f=a.data;d.dirty||!d.isCollapsed()||N(d.anchor.getNode())||\nXc(d,a);var e=d.focus,g=d.anchor.getNode();e=e.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===f?(a.preventDefault(),U(b,ea,!1)):\"\\n\\n\"===f?(a.preventDefault(),U(b,fa,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(f)):null!=f&&Qb(d,f)&&(a.preventDefault(),U(b,ha,f));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":U(b,ha,a);break;case \"insertFromComposition\":J(null);U(b,\nha,a);break;case \"insertLineBreak\":J(null);U(b,ea,!1);break;case \"insertParagraph\":J(null);Sc?(Sc=!1,U(b,ea,!1)):U(b,fa,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":U(b,ja,a);break;case \"deleteByComposition\":Yc(g,e)&&U(b,ka,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":U(b,ka,void 0);break;case \"deleteContent\":U(b,ca,!1);break;case \"deleteWordBackward\":U(b,la,!0);break;case \"deleteWordForward\":U(b,la,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":U(b,\nma,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":U(b,ma,!1);break;case \"formatStrikeThrough\":U(b,p,\"strikethrough\");break;case \"formatBold\":U(b,p,\"bold\");break;case \"formatItalic\":U(b,p,\"italic\");break;case \"formatUnderline\":U(b,p,\"underline\");break;case \"historyUndo\":U(b,na,void 0);break;case \"historyRedo\":U(b,oa,void 0)}}})}\nfunction Jc(a,b){a.stopPropagation();x(b,()=>{var c=u(),d=a.data;null!=d&&D(c)&&Qb(c,d)?(Tc&&(Zc(b,d),Tc=!1),U(b,ha,d),d=d.length,Pa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Ta||Ua||!b.isComposing()||(Nc=0,J(null))):(Ob(!1),Tc&&(Zc(b,d||void 0),Tc=!1));K();c=I();qb(c)})}\nfunction Hc(a,b){x(b,()=>{let c=u();if(D(c)&&!b.isComposing()){let d=c.anchor;J(d.key);(a.timeStamp<Nc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&U(b,ha,Wa)}})}\nfunction Zc(a,b){var c=a._compositionKey;J(null);if(null!==c&&null!=b){if(\"\"===b){b=L(c);a=yb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&C(b)&&lb(b,a.nodeValue,null,null,!0);return}if(\"\\n\"===b[b.length-1]&&(c=u(),D(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);U(a,ya,null);return}}Ob(!0,b)}function Ic(a,b){Pa?Tc=!0:x(b,()=>{Zc(b,a.data)})}\nfunction Fc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Nc=a.timeStamp,Oc=a.keyCode,!b.isComposing())){var {keyCode:c,shiftKey:d,ctrlKey:f,metaKey:e,altKey:g}=a;if(39!==c||f||e||g)if(39!==c||g||d||!f&&!e)if(37!==c||f||e||g)if(37!==c||g||d||!f&&!e)if(38!==c||f||e)if(40!==c||f||e)if(13===c&&d)Sc=!0,U(b,ya,a);else if(32===c)U(b,za,a);else if(t&&f&&79===c)a.preventDefault(),Sc=!0,U(b,ea,!0);else if(13!==c||d){var h=t?g||e?!1:8===c||72===c&&f:f||g||e?!1:8===c;h?8===c?U(b,Aa,a):(a.preventDefault(),\nU(b,ca,!0)):27===c?U(b,Ba,a):(h=t?d||g||e?!1:46===c||68===c&&f:f||g||e?!1:46===c,h?46===c?U(b,Ca,a):(a.preventDefault(),U(b,ca,!1)):8===c&&(t?g:f)?(a.preventDefault(),U(b,la,!0)):46===c&&(t?g:f)?(a.preventDefault(),U(b,la,!1)):t&&e&&8===c?(a.preventDefault(),U(b,ma,!0)):t&&e&&46===c?(a.preventDefault(),U(b,ma,!1)):66===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"bold\")):85===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"underline\")):73===c&&!g&&(t?e:f)?(a.preventDefault(),U(b,p,\"italic\")):9!==c||g||f||\ne?90===c&&!d&&(t?e:f)?(a.preventDefault(),U(b,na,void 0)):(h=t?90===c&&e&&d:89===c&&f||90===c&&f&&d,h?(a.preventDefault(),U(b,oa,void 0)):$c(b._editorState._selection)&&(h=d?!1:67===c?t?e:f:!1,h?(a.preventDefault(),U(b,Ia,a)):(h=d?!1:88===c?t?e:f:!1,h&&(a.preventDefault(),U(b,Ja,a))))):U(b,Da,a))}else Sc=!1,U(b,ya,a);else U(b,xa,a);else U(b,wa,a);else U(b,sa,a);else U(b,ra,a);else U(b,qa,a);else U(b,pa,a);(f||d||g||e)&&U(b,Ma,a)}}\nfunction ad(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let bd=new Map;function cd(){let a=window.getSelection();if(null!==a){var b=wb(a.anchorNode);if(null!==b){Rc&&(Rc=!1,x(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=dd(g,a,b),nb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,f=bd.get(d),e=f||c;e!==b&&Wc(a,e,!1);Wc(a,b,!0);b!==c?bd.set(d,b):f&&bd.delete(d)}}}\nfunction ed(a,b){0===Pc&&a.ownerDocument.addEventListener(\"selectionchange\",cd);Pc++;a.__lexicalEditor=b;let c=ad(a);for(let d=0;d<Lc.length;d++){let [f,e]=Lc[d],g=\"function\"===typeof e?h=>{b.isEditable()&&e(h,b)}:h=>{if(b.isEditable())switch(f){case \"cut\":return U(b,Ja,h);case \"copy\":return U(b,Ia,h);case \"paste\":return U(b,ja,h);case \"dragstart\":return U(b,Fa,h);case \"dragover\":return U(b,Ga,h);case \"dragend\":return U(b,Ha,h);case \"focus\":return U(b,Ka,h);case \"blur\":return U(b,La,h);case \"drop\":return U(b,\nEa,h)}};a.addEventListener(f,g);c.push(()=>{a.removeEventListener(f,g)})}}\nclass W{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(F(b)){var f=b.getDescendantByIndex(d);b=null!=f?f:b}F(c)&&(f=c.getDescendantByIndex(a),c=null!=f?f:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=L(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,f=this.key;this.key=a;this.offset=b;this.type=c;\nX||(I()._compositionKey===f&&J(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function fd(a,b){let c=b.__key,d=a.offset,f=\"element\";if(C(b))f=\"text\",b=b.getTextContentSize(),d>b&&(d=b);else if(!F(b)){var e=b.getNextSibling();if(C(e))c=e.__key,d=0;else if(e=b.getParent())c=e.__key,d=b.getIndexWithinParent()+1}a.set(c,d,f)}function gd(a,b){if(F(b)){let c=b.getLastDescendant();F(c)||C(c)?fd(a,c):fd(a,b)}else fd(a,b)}\nfunction hd(a,b,c){let d=a.getNode(),f=d.getChildAtIndex(a.offset),e=M(),g=N(d)?id().append(e):e;e.setFormat(c);null===f?d.append(g):f.insertBefore(g);a.is(b)&&b.set(e.__key,0,\"text\");a.set(e.__key,0,\"text\")}function jd(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass kd{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!$c(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new kd(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}getNodes(){var a=\nthis._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=L(c),null!==b&&a.push(b);X||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function D(a){return a instanceof ld}\nclass md{constructor(a,b,c){this.gridKey=a;this.anchor=b;this.focus=c;this.dirty=!1;this._cachedNodes=null;b._selection=this;c._selection=this}is(a){return nd(a)?this.gridKey===a.gridKey&&this.anchor.is(this.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new md(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return od(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}getShape(){var a=\nL(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=L(this.focus.key);null===c&&r(22);var d=c.getIndexWithinParent();let f=c.getParentOrThrow().getIndexWithinParent();c=Math.min(b,d);b=Math.max(b,d);d=Math.min(a,f);a=Math.max(a,f);return{fromX:Math.min(c,b),fromY:Math.min(d,a),toX:Math.max(c,b),toY:Math.max(d,a)}}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=new Set;let {fromX:b,fromY:c,toX:d,toY:f}=this.getShape();var e=\nL(this.gridKey);pd(e)||r(23);a.add(e);e=e.getChildren();for(let k=c;k<=f;k++){var g=e[k];a.add(g);qd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];rd(h)||r(25);a.add(h);for(h=h.getChildren();0<h.length;){let l=h.shift();a.add(l);F(l)&&h.unshift(...l.getChildren())}}}a=Array.from(a);X||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function nd(a){return a instanceof md}\nclass ld{constructor(a,b,c){this.anchor=a;this.focus=b;this.dirty=!1;this.format=c;this._cachedNodes=null;a._selection=this;b._selection=this}is(a){return D(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format:!1}isBackward(){return this.focus.isBefore(this.anchor)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this.anchor,c=this.focus;a=b.getNode();let d=c.getNode();F(a)&&(b=a.getDescendantByIndex(b.offset),a=null!=\nb?b:a);F(d)&&(c=d.getDescendantByIndex(c.offset),d=null!=c?c:d);a=a.is(d)?F(a)&&(0<a.getChildrenSize()||a.excludeFromCopy())?[]:[a]:a.getNodesBetween(d);X||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){jd(this.anchor,a.__key,b,\"text\");jd(this.focus,c.__key,d,\"text\");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return\"\";let b=a[0],c=a[a.length-1],d=this.anchor.isBefore(this.focus),[f,e]=od(this),g=\"\",h=!0;for(let k=0;k<a.length;k++){let m=a[k];\nif(F(m)&&!m.isInline())h||(g+=\"\\n\"),h=m.isEmpty()?!1:!0;else if(h=!1,C(m)){let l=m.getTextContent();m===b?l=m===c?f<e?l.slice(f,e):l.slice(e,f):d?l.slice(f):l.slice(e):m===c&&(l=d?l.slice(0,e):l.slice(0,f));g+=l}else!A(m)&&!Bb(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=I(),c=b.getEditorState()._selection;a=sd(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,f]=a;jd(this.anchor,d.key,d.offset,d.type);jd(this.focus,f.key,\nf.offset,f.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new ld(new W(a.key,a.offset,a.type),new W(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=zb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Za[a])}insertRawText(a){let b=a.split(/\\r?\\n/);if(1===b.length)this.insertText(a);else{a=[];let c=b.length;for(let d=0;d<c;d++){let f=b[d];\"\"!==f&&a.push(M(f));d!==c-1&&a.push(td())}this.insertNodes(a)}}insertText(a){var b=this.anchor,\nc=this.focus,d=this.isCollapsed()||b.isBefore(c),f=this.format;d&&\"element\"===b.type?hd(b,c,f):d||\"element\"!==c.type||hd(c,b,f);var e=this.getNodes(),g=e.length,h=d?c:b;c=(d?b:c).offset;var k=h.offset;b=e[0];C(b)||r(26);d=b.getTextContent().length;var m=b.getParentOrThrow(),l=e[g-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!m.canInsertTextAfter()&&null===b.getNextSibling())){var n=b.getNextSibling();if(!C(n)||xb(n))n=M(),n.setFormat(f),m.canInsertTextAfter()?\nb.insertAfter(n):m.insertAfter(n);n.select(0,0);b=n;if(\"\"!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!m.canInsertTextBefore()&&null===b.getPreviousSibling())){n=b.getPreviousSibling();if(!C(n)||xb(n))n=M(),n.setFormat(f),m.canInsertTextBefore()?b.insertBefore(n):m.insertBefore(n);n.select();b=n;if(\"\"!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)m=M(b.getTextContent()),m.setFormat(f),b.replace(m),b=m;\nelse if(!(this.isCollapsed()||\"\"===a||(n=l.getParent(),m.canInsertTextBefore()&&m.canInsertTextAfter()&&(!F(n)||n.canInsertTextBefore()&&n.canInsertTextAfter())))){this.insertText(\"\");ud(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(G(b))a=M(a),a.select(),b.replace(a);else{e=b.getFormat();if(c===k&&e!==f)if(\"\"===b.getTextContent())b.setFormat(f);else{e=M(a);e.setFormat(f);e.select();0===c?b.insertBefore(e):([g]=b.splitText(c),g.insertAfter(e));e.isComposing()&&\"text\"===this.anchor.type&&\n(this.anchor.offset-=a.length);return}b=b.spliceText(c,k-c,a,!0);\"\"===b.getTextContent()?b.remove():\"text\"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:this.format=e)}else{f=new Set([...b.getParentKeys(),...l.getParentKeys()]);var q=F(b)?b:b.getParentOrThrow();m=F(l)?l:l.getParentOrThrow();n=l;if(!q.is(m)&&m.isInline()){do n=m,m=m.getParentOrThrow();while(m.isInline())}\"text\"===h.type&&(0!==k||\"\"===l.getTextContent())||\"element\"===h.type&&l.getIndexWithinParent()<k?C(l)&&!G(l)&&\nk!==l.getTextContentSize()?(l.isSegmented()&&(h=M(l.getTextContent()),l.replace(h),l=h),l=l.spliceText(0,k,\"\"),f.add(l.__key)):(h=l.getParentOrThrow(),h.canBeEmpty()||1!==h.getChildrenSize()?l.remove():h.remove()):f.add(l.__key);h=m.getChildren();k=new Set(e);l=q.is(m);q=q.isInline()&&null===b.getNextSibling()?q:b;for(let v=h.length-1;0<=v;v--){let w=h[v];if(w.is(b)||F(w)&&w.isParentOf(b))break;w.isAttached()&&(!k.has(w)||w.is(n)?l||q.insertAfter(w):w.remove())}if(!l)for(h=m,k=null;null!==h;){l=h.getChildren();\nm=l.length;if(0===m||l[m-1].is(k))f.delete(h.__key),k=h;h=h.getParent()}G(b)?c===d?b.select():(a=M(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),\"\"===b.getTextContent()?b.remove():b.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<g;a++)b=e[a],f.has(b.__key)||b.remove()}}removeText(){this.insertText(\"\")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),J(null);else{var b=this.getNodes(),c=[];for(var d of b)C(d)&&c.push(d);var f=c.length;if(0===f)this.toggleFormat(a),\nJ(null);else{d=this.anchor;var e=this.focus,g=this.isBackward();b=g?e:d;d=g?d:e;var h=0,k=c[0];e=\"element\"===b.type?0:b.offset;\"text\"===b.type&&e===k.getTextContentSize()&&(h=1,k=c[1],e=0);if(null!=k){g=k.getFormatFlags(a,null);var m=f-1,l=c[m];f=\"text\"===d.type?d.offset:l.getTextContentSize();if(k.is(l))e!==f&&(0===e&&f===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(e,f),a=0===e?a[0]:a[1],a.setFormat(g),\"text\"===b.type&&b.set(a.__key,0,\"text\"),\"text\"===d.type&&d.set(a.__key,f-e,\"text\")),\nthis.format=g);else{0!==e&&([,k]=k.splitText(e),e=0);k.setFormat(g);var n=l.getFormatFlags(a,g);0<f&&(f!==l.getTextContentSize()&&([l]=l.splitText(f)),l.setFormat(n));for(h+=1;h<m;h++){let q=c[h];if(!q.isToken()){let v=q.getFormatFlags(a,n);q.setFormat(v)}}\"text\"===b.type&&b.set(k.__key,e,\"text\");\"text\"===d.type&&d.set(l.__key,f,\"text\");this.format=g|n}}}}}insertNodes(a,b){this.isCollapsed()||this.removeText();var c=this.anchor,d=c.offset,f=c.getNode(),e=f;\"element\"===c.type&&(e=c.getNode(),c=e.getChildAtIndex(d-\n1),e=null===c?e:c);c=[];var g=f.getNextSiblings(),h=N(f)?null:f.getTopLevelElementOrThrow();if(C(f))if(e=f.getTextContent().length,0===d&&0!==e)e=f.getPreviousSibling(),e=null!==e?e:f.getParentOrThrow(),c.push(f);else if(d===e)e=f;else{if(G(f))return!1;[e,f]=f.splitText(d);c.push(f)}f=e;c.push(...g);g=a[0];var k=!1,m=null;for(let v=0;v<a.length;v++){var l=a[v];if(F(l)&&!l.isInline()){if(l.is(g)){if(F(e)&&e.isEmpty()&&e.canReplaceWith(l)){e.replace(l);e=l;k=!0;continue}var n=l.getFirstDescendant();\nif(Ab(n)){for(n=n.getParentOrThrow();n.isInline();)n=n.getParentOrThrow();m=n.getChildren();k=m.length;if(F(e))for(var q=0;q<k;q++)e.append(m[q]);else{for(q=k-1;0<=q;q--)e.insertAfter(m[q]);e=e.getParentOrThrow()}m=m[k-1];n.remove();k=!0;if(n.is(l))continue}}C(e)&&(null===h&&r(27),e=h)}else k&&!A(l)&&N(e.getParent())&&r(28);k=!1;if(F(e)&&!e.isInline())if(m=l,A(l)&&l.isTopLevel())e=e.insertAfter(l);else if(F(l)){if(l.canBeEmpty()||!l.isEmpty())N(e)?(n=e.getChildAtIndex(d),null!==n?n.insertBefore(l):\ne.append(l),e=l):e=e.insertAfter(l)}else n=e.getFirstChild(),null!==n?n.insertBefore(l):e.append(l),e=l;else!F(l)||F(l)&&l.isInline()||A(e)&&e.isTopLevel()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Bb(e)&&e.remove(),e=l,v--)}b&&(C(f)?f.select():(a=e.getPreviousSibling(),C(a)?a.select():(a=e.getIndexWithinParent(),e.getParentOrThrow().select(a,a))));if(F(e)){if(a=C(m)?m:F(m)&&m.isInline()?m.getLastDescendant():e.getLastDescendant(),b||(null===a?e.select():C(a)?a.select():a.selectNext()),0!==\nc.length)for(b=e,a=c.length-1;0<=a;a--)d=c[a],h=d.getParentOrThrow(),!F(e)||vd(d)||A(d)&&d.isTopLevel()?F(e)||vd(d)?F(d)&&!d.canInsertAfter(e)?(f=h.constructor.clone(h),F(f)||r(29),f.append(d),e.insertAfter(f)):e.insertAfter(d):(e.insertBefore(d),e=d):(b===e?e.append(d):e.insertBefore(d),e=d),h.isEmpty()&&!h.canBeEmpty()&&h.remove()}else b||(C(e)?e.select():(c=e.getParentOrThrow(),e=e.getIndexWithinParent()+1,c.select(e,e)));return!0}insertParagraph(){this.isCollapsed()||this.removeText();var a=this.anchor,\nb=a.offset,c=[];if(\"text\"===a.type){var d=a.getNode();var f=d.getNextSiblings().reverse();var e=d.getParentOrThrow();var g=e.isInline(),h=g?e.getTextContentSize():d.getTextContentSize();0===b?f.push(d):(g&&(c=e.getNextSiblings()),b===h||g&&b===d.getTextContentSize()||([,d]=d.splitText(b),f.push(d)))}else{e=a.getNode();if(N(e)){f=id();c=e.getChildAtIndex(b);f.select();null!==c?c.insertBefore(f):e.append(f);return}f=e.getChildren().slice(b).reverse()}d=f.length;if(0===b&&0<d&&e.isInline()){if(c=e.getParentOrThrow(),\nf=c.insertNewAfter(this),F(f))for(c=c.getChildren(),e=0;e<c.length;e++)f.append(c[e])}else if(g=e.insertNewAfter(this),null===g)this.insertLineBreak();else if(F(g))if(h=e.getFirstChild(),0===b&&(e.is(a.getNode())||h&&h.is(a.getNode()))&&0<d)e.insertBefore(g);else{e=null;b=c.length;a=g.getParentOrThrow();if(0<b)for(h=0;h<b;h++)a.append(c[h]);if(0!==d)for(c=0;c<d;c++)b=f[c],null===e?g.append(b):e.insertBefore(b),e=b;g.canBeEmpty()||0!==g.getChildrenSize()?g.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=\ntd();var c=this.anchor;\"element\"===c.type&&(c=c.getNode(),N(c)&&this.insertParagraph());a?this.insertNodes([b],!0):this.insertNodes([b])&&b.selectNext(0,0)}getCharacterOffsets(){return od(this)}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let f=this.focus;var e=a[0];let g=a[c],[h,k]=od(this);if(0===b)return[];if(1===b)return C(e)&&!this.isCollapsed()?(a=h>k?k:h,c=e.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[e];b=d.isBefore(f);C(e)&&(d=b?h:k,d===e.getTextContentSize()?\na.shift():0!==d&&([,e]=e.splitText(d),a[0]=e));C(g)&&(e=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==e&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,f=this.anchor,e=\"move\"===a,g=Ub(d,b);if(A(g)&&!g.isIsolated())e?(e=wd(),e.add(g.__key),nb(e)):(a=b?g.getPreviousSibling():g.getNextSibling(),C(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,\"text\"),e&&f.set(g,b,\"text\")):(c=g.getParentOrThrow(),F(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),\nc=c.__key,b||g++),d.set(c,g,\"element\"),e&&f.set(c,g,\"element\")));else if(d=window.getSelection())d.modify(a,b?\"backward\":\"forward\",c),0<d.rangeCount&&(b=d.getRangeAt(0),this.applyDOMRange(b),this.dirty=!0,e||d.anchorNode===b.startContainer&&d.anchorOffset===b.startOffset||(e=this.focus,b=this.anchor,d=b.key,f=b.offset,g=b.type,jd(b,e.key,e.offset,e.type),jd(e,d,f,g),this._cachedNodes=null))}deleteCharacter(a){if(this.isCollapsed()){var b=this.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===\nb.type&&F(d)&&b.offset===d.getChildrenSize()||\"text\"===b.type&&b.offset===d.getTextContentSize())&&(d=d.getNextSibling()||d.getParentOrThrow().getNextSibling(),F(d)&&!d.canExtractContents()))return;this.modify(\"extend\",a,\"character\");if(!this.isCollapsed()){var f=\"text\"===c.type?c.getNode():null;d=\"text\"===b.type?b.getNode():null;if(null!==f&&f.isSegmented()){if(b=c.offset,c=f.getTextContentSize(),f.is(d)||a&&b!==c||!a&&0!==b){xd(f,a,b);return}}else if(null!==d&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),\nd.is(f)||a&&0!==b||!a&&b!==c)){xd(d,a,b);return}d=this.anchor;f=this.focus;b=d.getNode();c=f.getNode();if(b===c&&\"text\"===d.type&&\"text\"===f.type){var e=d.offset,g=f.offset;let h=e<g;c=h?e:g;g=h?g:e;e=g-1;c!==e&&(b=b.getTextContent().slice(c,g),Lb(b)||(a?f.offset=e:d.offset=e))}}else if(a&&0===b.offset&&(\"element\"===b.type?b.getNode():b.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText()}deleteLine(a){this.isCollapsed()&&(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\n\"lineboundary\"),0===(a?this.focus:this.anchor).offset&&this.modify(\"extend\",a,\"character\"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify(\"extend\",a,\"word\");this.removeText()}}function $c(a){return a instanceof kd}function yd(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction od(a){let b=a.anchor;a=a.focus;return\"element\"===b.type&&\"element\"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[yd(b),yd(a)]}function xd(a,b,c){let d=a.getTextContent().split(/(?=\\s)/g),f=d.length,e=0,g=0;for(let h=0;h<f;h++){let k=d[h],m=h===f-1;g=e;e+=k.length;if(b&&e===c||e>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join(\"\").trim();\"\"===b?a.remove():(a.setTextContent(b),a.select(g,g))}\nfunction zd(a,b,c){var d=b;if(1===a.nodeType){let g=!1;var f=a.childNodes;var e=f.length;d===e&&(g=!0,d=e-1);f=Kb(f[d]);if(C(f))d=g?f.getTextContentSize():0;else{e=Kb(a);if(null===e)return null;if(F(e)){a=e.getChildAtIndex(d);if(b=F(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=g?a.getLastDescendant():a.getFirstDescendant(),null===c?(e=a,d=0):(a=c,e=a.getParentOrThrow()));C(a)?(f=a,e=null,d=g?a.getTextContentSize():0):a!==e&&g&&d++}else d=e.getIndexWithinParent(),\nd=0===b&&A(e)&&Kb(a)===e?d:d+1,e=e.getParentOrThrow();if(F(e))return new W(e.__key,d,\"element\")}}else f=Kb(a);return C(f)?new W(f.__key,d,\"text\"):null}\nfunction Ad(a,b,c){var d=a.offset,f=a.getNode();0===d?(d=f.getPreviousSibling(),f=f.getParent(),b)?(c||!b)&&null===d&&F(f)&&f.isInline()&&(b=f.getPreviousSibling(),C(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):F(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type=\"element\"):C(d)&&!d.isInert()&&(a.key=d.__key,a.offset=d.getTextContent().length):d===f.getTextContent().length&&(d=f.getNextSibling(),f=f.getParent(),b&&F(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type=\n\"element\"):(c||b)&&null===d&&F(f)&&f.isInline()&&!f.canInsertTextAfter()&&(b=f.getNextSibling(),C(b)&&(a.key=b.__key,a.offset=0)))}function ud(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let f=a.is(b);Ad(a,d,f);Ad(b,!d,f);f&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=I();d.isComposing()&&d._compositionKey!==a.key&&D(c)&&(d=c.anchor,c=c.focus,jd(a,d.key,d.offset,d.type),jd(b,c.key,c.offset,c.type))}}\nfunction sd(a,b,c,d,f,e){if(null===a||null===c||!vb(f,a,c))return null;b=zd(a,b,D(e)?e.anchor:null);if(null===b)return null;d=zd(c,d,D(e)?e.focus:null);if(null===d||\"element\"===b.type&&\"element\"===d.type&&(a=Kb(a),c=Kb(c),A(a)&&A(c)))return null;ud(b,d,e);return[b,d]}function vd(a){return F(a)&&!a.isInline()}function Hd(a,b,c,d,f,e){let g=H();a=new ld(new W(a,b,f),new W(c,d,e),0);a.dirty=!0;return g._selection=a}function wd(){return new kd(new Set)}\nfunction Id(a){let b=a.getEditorState()._selection,c=window.getSelection();return $c(b)||nd(b)?b.clone():dd(b,c,a)}\nfunction dd(a,b,c){var d=c._window;if(null===d)return null;var f=d.event,e=f?f.type:void 0;d=\"selectionchange\"===e;f=!eb&&(d||\"beforeinput\"===e||\"compositionstart\"===e||\"compositionend\"===e||\"click\"===e&&f&&3===f.detail||void 0===e);let g;if(!D(a)||f){if(null===b)return null;f=b.anchorNode;e=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&D(a)&&!vb(c,f,e))return a.clone()}else return a.clone();c=sd(f,g,e,b,c,a);if(null===c)return null;let [h,k]=c;return new ld(h,k,D(a)?a.format:0)}\nfunction u(){return H()._selection}function Pb(){return I()._editorState._selection}\nfunction Jd(a,b,c,d=1){var f=a.anchor,e=a.focus,g=f.getNode(),h=e.getNode();if(b.is(g)||b.is(h))if(g=b.__key,a.isCollapsed())b=f.offset,c<=b&&(c=Math.max(0,b+d),f.set(g,c,\"element\"),e.set(g,c,\"element\"),Kd(a));else{var k=a.isBackward();h=k?e:f;var m=h.getNode();f=k?f:e;e=f.getNode();b.is(m)&&(m=h.offset,c<=m&&h.set(g,Math.max(0,m+d),\"element\"));b.is(e)&&(b=f.offset,c<=b&&f.set(g,Math.max(0,b+d),\"element\"));Kd(a)}}\nfunction Kd(a){var b=a.anchor,c=b.offset;let d=a.focus;var f=d.offset,e=b.getNode(),g=d.getNode();if(a.isCollapsed())F(e)&&(g=e.getChildrenSize(),g=(f=c>=g)?e.getChildAtIndex(g-1):e.getChildAtIndex(c),C(g)&&(c=0,f&&(c=g.getTextContentSize()),b.set(g.__key,c,\"text\"),d.set(g.__key,c,\"text\")));else{if(F(e)){let h=e.getChildrenSize();c=(a=c>=h)?e.getChildAtIndex(h-1):e.getChildAtIndex(c);C(c)&&(e=0,a&&(e=c.getTextContentSize()),b.set(c.__key,e,\"text\"))}F(g)&&(c=g.getChildrenSize(),f=(b=f>=c)?g.getChildAtIndex(c-\n1):g.getChildAtIndex(f),C(f)&&(g=0,b&&(g=f.getTextContentSize()),d.set(f.__key,g,\"text\")))}}function Ld(a,b){b=b.getEditorState()._selection;a=a._selection;if(D(a)){var c=a.anchor;let d=a.focus,f;\"text\"===c.type&&(f=c.getNode(),f.selectionTransform(b,a));\"text\"===d.type&&(c=d.getNode(),f!==c&&c.selectionTransform(b,a))}}\nfunction Md(a,b,c,d,f){let e=null,g=0,h=null;null!==d?(e=d.__key,C(d)?(g=d.getTextContentSize(),h=\"text\"):F(d)&&(g=d.getChildrenSize(),h=\"element\")):null!==f&&(e=f.__key,C(f)?h=\"text\":F(f)&&(h=\"element\"));null!==e&&null!==h?a.set(e,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,\"element\"))}function Nd(a,b,c,d,f){\"text\"===a.type?(a.key=c,b||(a.offset+=f)):a.offset>d.getIndexWithinParent()&&--a.offset}let Y=null,Z=null,X=!1,Od=!1,Fb=0;function K(){X&&r(13)}\nfunction H(){null===Y&&r(15);return Y}function I(){null===Z&&r(16);return Z}function Pd(a,b,c){var d=b.__type;let f=a._nodes.get(d);void 0===f&&r(30);a=c.get(d);void 0===a&&(a=Array.from(f.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function Qd(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),C(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&fc(b)}\nfunction Rd(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let f=I()._compositionKey,e=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let l of g)g=a.get(l),C(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&fc(g),void 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Pd(b,g,e),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Fb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let l of k)if(k=l[0],m=l[1],\"root\"===k||m)g=a.get(k),\nvoid 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Pd(b,g,e),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Fb++}b._dirtyLeaves=c;b._dirtyElements=d}function Sd(a,b){var c=b.get(a.type);void 0===c&&r(17);c=c.klass;a.type!==c.getType()&&r(18);c=c.importJSON(a);a=a.children;if(F(c)&&Array.isArray(a))for(let d=0;d<a.length;d++){let f=Sd(a[d],b);c.append(f)}return c}function Td(a,b){let c=Y,d=X,f=Z;Y=a;X=!0;Z=null;try{return b()}finally{Y=c,X=d,Z=f}}\nfunction Ud(a){var b=a._pendingEditorState,c=a._rootElement,d=a._headless;if((null!==c||d)&&null!==b){var f=a._editorState,e=f._selection,g=b._selection,h=0!==a._dirtyType,k=Y,m=X,l=Z,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Z=a;Y=b;X=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();P=Q=O=\"\";ic=2===w;lc=null;S=a;gc=a._config;hc=a._nodes;kc=S._listeners.mutation;mc=y;nc=z;oc=f._nodeMap;pc=b._nodeMap;\njc=b._readOnly;qc=new Map(a._keyToDOMMap);var B=new Map;rc=B;Ec(\"root\",null);rc=qc=gc=pc=oc=nc=mc=hc=S=void 0;v=B}catch(V){V instanceof Error&&a._onError(V);if(Od)throw V;Vd(a,null,c,b);rb(a);a._dirtyType=2;Od=!0;Ud(a);Od=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,Y=k,X=m,Z=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;z=a._pendingDecorators;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),\na._dirtyLeaves=new Set,a._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);y=a._decorators;var E=a._pendingDecorators||y,da=b._nodeMap;for(Qa in E)da.has(Qa)||(E===y&&(E=Gb(a)),delete E[Qa]);d=d?null:window.getSelection();if(a._editable&&null!==d&&(h||null===g||g.dirty)){Z=a;Y=b;try{a:{let V=d.anchorNode,ta=d.focusNode,se=d.anchorOffset,te=d.focusOffset,ob=document.activeElement;if(!w.has(\"collaboration\")||ob===c)if(D(g)){var R=g.anchor,Wb=g.focus,Bd=R.key,ua=Wb.key,Cd=Zb(a,\nBd),Dd=Zb(a,ua),Xb=R.offset,Ed=Wb.offset,Yb=g.format,Fd=g.isCollapsed();h=Cd;ua=Dd;var Qa=!1;\"text\"===R.type&&(h=yb(Cd),Qa=R.getNode().getFormat()!==Yb);\"text\"===Wb.type&&(ua=yb(Dd));if(null!==h&&null!==ua){if(Fd&&(null===e||Qa||D(e)&&e.format!==Yb)){var ue=performance.now();Uc=[Yb,Xb,Bd,ue]}if(se===Xb&&te===Ed&&V===h&&ta===ua&&(\"Range\"!==d.type||!Fd)&&(null===c||null!==ob&&c.contains(ob)||c.focus({preventScroll:!0}),!Ua&&!Ta||\"element\"!==R.type))break a;try{d.setBaseAndExtent(h,Xb,ua,Ed);if(g.isCollapsed()&&\nnull!==c&&c===ob){let Ra=R.getNode();if(F(Ra)){let ia=Ra.getDescendantByIndex(R.offset);null!==ia&&(Ra=ia)}let va=a.getElementByKey(Ra.__key);if(null!==va){let ia=va.getBoundingClientRect();if(ia.bottom>sb(a).innerHeight)va.scrollIntoView(!1);else if(0>ia.top)va.scrollIntoView();else{let Gd=c.getBoundingClientRect();Math.floor(ia.bottom)>Math.floor(Gd.bottom)?va.scrollIntoView(!1):Math.floor(ia.top)<Math.floor(Gd.top)&&va.scrollIntoView()}w.add(\"scroll-into-view\")}}Qc=!0}catch(Ra){}}}else null!==\ne&&vb(a,V,ta)&&d.removeAllRanges()}}finally{Z=l,Y=k}}if(null!==v)for(c=v,e=Array.from(a._listeners.mutation),g=e.length,k=0;k<g;k++){let [V,ta]=e[k];l=c.get(ta);void 0!==l&&V(l,{dirtyLeaves:n,updateTags:w})}null!==z&&(a._decorators=z,a._pendingDecorators=null,Wd(\"decorator\",a,!0,z));c=Hb(f);e=Hb(b);c!==e&&Wd(\"textcontent\",a,!0,e);Wd(\"update\",a,!0,{dirtyElements:q,dirtyLeaves:n,editorState:b,normalizedNodes:B,prevEditorState:f,tags:w});a._deferred=[];if(0!==m.length){b=a._updating;a._updating=!0;try{for(f=\n0;f<m.length;f++)m[f]()}finally{a._updating=b}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [V,ta]=b;Xd(a,V,ta)}}}function Wd(a,b,c,...d){let f=b._updating;b._updating=c;try{let e=Array.from(b._listeners[a]);for(a=0;a<e.length;a++)e[a].apply(null,d)}finally{b._updating=f}}\nfunction U(a,b,c){if(!1===a._updating||Z!==a){let e=!1;a.update(()=>{e=U(a,b,c)});return e}let d=Mb(a);for(let e=4;0<=e;e--)for(let g=0;g<d.length;g++){var f=d[g]._commands.get(b);if(void 0!==f&&(f=f[e],void 0!==f)){f=Array.from(f);let h=f.length;for(let k=0;k<h;k++)if(!0===f[k](c,a))return!0}}return!1}\nfunction Yd(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [f,e]=d,g;void 0!==e&&(d=e.onUpdate,g=e.tag,e.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));f()}}return b}\nfunction Xd(a,b,c){let d=a._updateTags;var f=!1;if(void 0!==c){var e=c.onUpdate;f=c.tag;null!=f&&d.add(f);f=c.skipTransforms||!1}e&&a._deferred.push(e);c=a._editorState;e=a._pendingEditorState;let g=!1;if(null===e||e._readOnly)e=a._pendingEditorState=new Zd(new Map(c._nodeMap)),g=!0;let h=Y,k=X,m=Z,l=a._updating;Y=e;X=!1;a._updating=!0;Z=a;try{g&&!a._headless&&(e._selection=Id(a));let n=a._compositionKey;b();f=Yd(a,f);Ld(e,a);0!==a._dirtyType&&(f?Qd(e,a):Rd(e,a),Yd(a),cc(c,e,a._dirtyLeaves,a._dirtyElements));\nn!==a._compositionKey&&(e._flushSync=!0);let q=e._selection;if(D(q)){let v=e._nodeMap,w=q.focus.key;void 0!==v.get(q.anchor.key)&&void 0!==v.get(w)||r(19)}else $c(q)&&0===q._nodes.size&&(e._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();Ud(a);return}finally{Y=h,X=k,Z=m,a._updating=l,Fb=0}0!==a._dirtyType||$d(e,a)?e._flushSync?(e._flushSync=!1,Ud(a)):g&&ub(()=>{Ud(a)}):(e._flushSync=\n!1,g&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function x(a,b,c){a._updating?a._updates.push([b,c]):Xd(a,b,c)}\nfunction ae(a,b,c){K();var d=a.__key;let f=a.getParent();if(null!==f){var e=$b(a),g=!1;if(D(e)&&b){var h=e.anchor;let k=e.focus;h.key===d&&(Md(h,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Md(k,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=f.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Db(a);h.splice(d,1);a.getWritable().__parent=null;D(e)&&b&&!g&&Jd(e,f,d,-1);c||null===f||N(f)||f.canBeEmpty()||!f.isEmpty()||ae(f,b);null!==f&&N(f)&&f.isEmpty()&&f.selectEnd()}}\nfunction be(a){a=L(a);null===a&&r(63);return a}\nclass ce{static getType(){r(64)}static clone(){r(65)}constructor(a){this.__type=this.constructor.getType();this.__parent=null;if(null!=a)this.__key=a;else{K();99<Fb&&r(14);a=I();var b=H(),c=\"\"+tb++;b._nodeMap.set(c,this);F(this)?a._dirtyElements.set(c,!0):a._dirtyLeaves.add(c);a._cloneNotNeeded.add(c);a._dirtyType=1;this.__key=c}}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if(\"root\"===a)return!0;a=L(a);if(null===a)break;a=a.__parent}return!1}isSelected(){let a=u();if(null==\na)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return C(this)?b:D(a)&&\"element\"===a.anchor.type&&\"element\"===a.focus.type&&a.anchor.key===a.focus.key&&a.anchor.offset===a.focus.offset?!1:b}getKey(){return this.__key}getIndexWithinParent(){let a=this.getParent();return null===a?-1:a.__children.indexOf(this.__key)}getParent(){let a=this.getLatest().__parent;return null===a?null:L(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(N(b)&&(F(a)||A(a)&&a.isTopLevel()))return a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&r(67);return a}getParents(){let a=[],b=this.getParent();for(;null!==b;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.indexOf(this.__key);return 0>=b?null:L(a[b-1])}getPreviousSiblings(){var a=\nthis.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>be(c))}getNextSibling(){var a=this.getParent();if(null===a)return null;a=a.__children;let b=a.length,c=a.indexOf(this.__key);return c>=b-1?null:L(a[c+1])}getNextSiblings(){var a=this.getParent();if(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(b+1).map(c=>be(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();F(this)&&b.unshift(this);F(a)&&c.unshift(a);\na=b.length;var d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let f=b[d];if(c.has(f))return f}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(a.isParentOf(this))return!0;if(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=d.__children.indexOf(c.__key);break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=a.__children.indexOf(c.__key);break}c=a}return d<b}isParentOf(a){let b=\nthis.__key;if(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var f=this;;){var e=f.__key;d.has(e)||(d.add(e),c.push(f));if(f===a)break;e=F(f)?b?f.getFirstChild():f.getLastChild():null;if(null!==e)f=e;else if(e=b?f.getNextSibling():f.getPreviousSibling(),null!==e)f=e;else{f=f.getParentOrThrow();d.has(f.__key)||c.push(f);if(f===a)break;e=f;do null===e&&r(68),f=b?e.getNextSibling():e.getPreviousSibling(),\ne=e.getParent(),null!==e&&(null!==f||d.has(e.__key)||c.push(e));while(null===f)}}b||c.reverse();return c}isDirty(){let a=I()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=L(this.__key);null===a&&r(69);return a}getWritable(){K();var a=H(),b=I();a=a._nodeMap;let c=this.__key,d=this.getLatest(),f=d.__parent;b=b._cloneNotNeeded;var e=u();null!==e&&(e._cachedNodes=null);if(b.has(c))return Eb(d),d;e=d.constructor.clone(d);e.__parent=f;F(d)&&F(e)?(e.__children=Array.from(d.__children),\ne.__indent=d.__indent,e.__format=d.__format,e.__dir=d.__dir):C(d)&&C(e)&&(e.__format=d.__format,e.__style=d.__style,e.__mode=d.__mode,e.__detail=d.__detail);b.add(c);e.__key=c;Eb(e);a.set(c,e);return e}getTextContent(){return\"\"}getTextContentSize(a,b){return this.getTextContent(a,b).length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18)}remove(a){ae(this,!0,a)}replace(a){K();let b=this.__key;a=a.getWritable();\nCb(a);var c=this.getParentOrThrow(),d=c.getWritable().__children;let f=d.indexOf(this.__key),e=a.__key;-1===f&&r(31);d.splice(f,0,e);a.__parent=c.__key;ae(this,!1);Db(a);d=u();D(d)&&(c=d.anchor,d=d.focus,c.key===b&&gd(c,a),d.key===b&&gd(d,a));I()._compositionKey===b&&J(e);return a}insertAfter(a){K();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let f=u();var e=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Cb(c),D(f)&&(h=d.__key,g=f.anchor,d=f.focus,g=\"element\"===g.type&&g.key===h&&g.offset===\ne+1,h=\"element\"===d.type&&d.key===h&&d.offset===e+1));e=this.getParentOrThrow().getWritable();d=c.__key;c.__parent=b.__parent;let k=e.__children;b=k.indexOf(b.__key);-1===b&&r(31);k.splice(b+1,0,d);Db(c);D(f)&&(Jd(f,e,b+1),c=e.__key,g&&f.anchor.set(c,b+2,\"element\"),h&&f.focus.set(c,b+2,\"element\"));return a}insertBefore(a){var b=this.getWritable(),c=a.getWritable();Cb(c);let d=this.getParentOrThrow().getWritable(),f=c.__key;c.__parent=b.__parent;let e=d.__children;b=e.indexOf(b.__key);-1===b&&r(31);\ne.splice(b,0,f);Db(c);c=u();D(c)&&Jd(c,d,b);return a}selectPrevious(a,b){K();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):F(c)?c.select():C(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){K();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():F(c)?c.select(0,0):C(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}\nclass de extends ce{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isTopLevel(){return!1}}function A(a){return a instanceof de}\nclass ee extends ce{constructor(a){super(a);this.__children=[];this.__indent=this.__format=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return bb[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=L(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===\nthis.getChildrenSize()}isDirty(){let a=I()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(a){let b=[],c=this.getLatest().__children;for(let f=0;f<c.length;f++){var d=L(c[f]);!C(d)||!a&&d.isInert()?F(d)&&(d=d.getAllTextNodes(a),b.push(...d)):b.push(d)}return b}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(F(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=\nthis.getLastChild();for(;null!==a;){if(F(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],F(a)&&a.getLastDescendant()||a||null;a=b[a];return F(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__children;return 0===a.length?null:L(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;\nreturn 0===b?null:L(a[b-1])}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:L(a)}getTextContent(a,b){let c=\"\",d=this.getChildren(),f=d.length;for(let e=0;e<f;e++){let g=d[e];c+=g.getTextContent(a,b);F(g)&&e!==f-1&&!g.isInline()&&(c+=\"\\n\\n\")}return c}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=ab[a],0!==(this.getFormat()&a)):!1}select(a,b){K();let c=u();var d=this.getChildrenSize();void 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(D(c))c.anchor.set(d,\na,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Hd(d,a,d,b,\"element\",\"element\");return c}selectStart(){let a=this.getFirstDescendant();return F(a)||C(a)?a.select(0,0):null!==a?a.selectPrevious():this.select(0,0)}selectEnd(){let a=this.getLastDescendant();return F(a)||C(a)?a.select():null!==a?a.selectNext():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),0,a)}setDirection(a){let b=\nthis.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?ab[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=this.getWritable();var f=d.__key;let e=d.__children,g=c.length;var h=[];for(let k=0;k<g;k++){let m=c[k],l=m.getWritable();m.__key===f&&r(76);Cb(l);l.__parent=f;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Eb(c);(f=this.getChildAtIndex(a+b))&&Eb(f);a===e.length?(e.push(...h),a=[]):a=e.splice(a,b,...h);if(a.length&&(b=\nu(),D(b))){let k=new Set(a),m=new Set(h);h=q=>{for(q=q.getNode();q;){const v=q.__key;if(k.has(v)&&!m.has(v))return!0;q=q.getParent()}return!1};let {anchor:l,focus:n}=b;h(l)&&Md(l,l.getNode(),this,c,f);h(n)&&Md(n,n.getNode(),this,c,f);h=a.length;for(b=0;b<h;b++)c=L(a[b]),null!=c&&(c.getWritable().__parent=null);0!==e.length||this.canBeEmpty()||N(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"element\",\nversion:1}}insertNewAfter(){return null}canInsertTab(){return!1}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function F(a){return a instanceof ee}\nclass fe extends ee{static getType(){return\"root\"}static clone(){return new fe}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(a,b){let c=this.__cachedText;return!X&&0!==I()._dirtyType||null===c||a&&!1===b?super.getTextContent(a,b):c}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];F(c)||A(c)||r(56)}return super.append(...a)}static importJSON(a){let b=\nIb();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}}function N(a){return a instanceof fe}function $d(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function ge(){return new Zd(new Map([[\"root\",new fe]]))}\nfunction he(a){let b=a.exportJSON();b.type!==a.constructor.getType()&&r(58);let c=b.children;if(F(a)){Array.isArray(c)||r(59);a=a.getChildren();for(let d=0;d<a.length;d++){let f=he(a[d]);c.push(f)}}return b}\nclass Zd{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return Td(this,a)}clone(a){a=new Zd(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Td(this,()=>({root:he(Ib())}))}}\nclass ie extends ce{static getType(){return\"linebreak\"}static clone(a){return new ie(a.__key)}constructor(a){super(a)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement;return null!=b&&b.firstChild===a&&b.lastChild===a?null:{conversion:je,priority:0}}}}static importJSON(){return td()}exportJSON(){return{type:\"linebreak\",version:1}}}function je(){return{node:td()}}function td(){return new ie}\nfunction Bb(a){return a instanceof ie}function ke(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function le(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction me(a,b,c,d,f){a=d.classList;d=Rb(f,\"base\");void 0!==d&&a.add(...d);d=Rb(f,\"underlineStrikethrough\");let e=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(e=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in Za)h=Za[k],d=Rb(f,k),void 0!==d&&(c&h?!e||\"underline\"!==k&&\"strikethrough\"!==k?(0===(b&h)||g&&\"underline\"===k||\"strikethrough\"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}\nfunction ne(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Va:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Pa){c=b.length;let f=a.length,e=0,g=0;for(;e<c&&e<f&&b[e]===a[e];)e++;for(;g+e<c&&g+e<f&&b[c-g-1]===a[f-g-1];)g++;a=[e,c-e-g,a.slice(e,f-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}\nclass oe extends ce{static getType(){return\"text\"}static clone(a){return new oe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style=\"\";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return db[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===I()._compositionKey}isSegmented(){return 2===\nthis.getLatest().__mode}isInert(){return 3===this.getLatest().__mode}isDirectionless(){return 0!==(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Za[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(a,b){return!a&&this.isInert()||!1===b&&this.isDirectionless()?\"\":this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return zb(c,a,b)}createDOM(a){var b=this.__format,\nc=ke(this,b);let d=le(this,b),f=document.createElement(null===c?d:c),e=f;null!==c&&(e=document.createElement(d),f.appendChild(e));c=e;ne(this.__text,c,this);a=a.theme.text;void 0!==a&&me(d,0,b,c,a);b=this.__style;\"\"!==b&&(f.style.cssText=b);return f}updateDOM(a,b,c){let d=this.__text;var f=a.__format,e=this.__format,g=ke(this,f);let h=ke(this,e);var k=le(this,f);let m=le(this,e);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return f=b.firstChild,null==f&&r(48),a=g=document.createElement(m),\nne(d,a,this),c=c.theme.text,void 0!==c&&me(m,0,e,a,c),b.replaceChild(g,f),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));ne(d,k,this);c=c.theme.text;void 0!==c&&f!==e&&me(m,f,e,k,c);e=this.__style;a.__style!==e&&(b.style.cssText=e);return!1}static importDOM(){return{\"#text\":()=>({conversion:pe,priority:0}),b:()=>({conversion:qe,priority:0}),code:()=>({conversion:re,priority:0}),em:()=>({conversion:re,priority:0}),i:()=>({conversion:re,priority:0}),span:()=>({conversion:ve,priority:0}),\nstrong:()=>({conversion:re,priority:0}),u:()=>({conversion:re,priority:0})}}static importJSON(a){let b=M(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format=\"string\"===typeof a?Za[a]:a;return b}setDetail(a){let b=this.getWritable();\nb.__detail=\"string\"===typeof a?$a[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Za[a];return this.setFormat(this.getFormat()^a)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=cb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){K();let c=u();var d=this.getTextContent();let f=this.__key;\n\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(D(c))d=I()._compositionKey,d!==c.anchor.key&&d!==c.focus.key||J(f),c.setTextNodeRange(this,a,this,b);else return Hd(f,a,f,b,\"text\",\"text\");return c}spliceText(a,b,c,d){let f=this.getWritable(),e=f.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&D(k)&&(a+=g,k.setTextNodeRange(f,a,f,a));b=e.slice(0,h)+c+e.slice(h+b);f.__text=b;return f}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){K();\nvar b=this.getLatest(),c=b.getTextContent(),d=b.__key,f=I()._compositionKey,e=new Set(a);a=[];var g=c.length,h=\"\";for(var k=0;k<g;k++)\"\"!==h&&e.has(k)&&(a.push(h),h=\"\"),h+=c[k];\"\"!==h&&a.push(h);e=a.length;if(0===e)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=c.__key;let l=b.getFormat(),n=b.getStyle(),q=b.__detail;g=!1;b.isSegmented()?(h=M(m),h.__parent=k,h.__format=l,h.__style=n,h.__detail=q,g=!0):(h=b.getWritable(),h.__text=m);b=u();h=[h];m=m.length;for(let y=1;y<e;y++){var v=\na[y],w=v.length;v=M(v).getWritable();v.__format=l;v.__style=n;v.__detail=q;let z=v.__key;w=m+w;if(D(b)){let B=b.anchor,E=b.focus;B.key===d&&\"text\"===B.type&&B.offset>m&&B.offset<=w&&(B.key=z,B.offset-=m,b.dirty=!0);E.key===d&&\"text\"===E.type&&E.offset>m&&E.offset<=w&&(E.key=z,E.offset-=m,b.dirty=!0)}f===d&&J(z);m=w;v.__parent=k;h.push(v)}Db(this);f=c.getWritable().__children;d=f.indexOf(d);a=h.map(y=>y.__key);g?(f.splice(d,0,...a),this.remove()):f.splice(d,1,...a);D(b)&&Jd(b,c,d,e-1);return h}mergeWithSibling(a){var b=\na===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,f=this.__text,e=f.length;I()._compositionKey===d&&J(c);let g=u();if(D(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(Nd(h,b,c,a,e),g.dirty=!0);null!==k&&k.key===d&&(Nd(k,b,c,a,e),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+f:f+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}\nfunction ve(a){let b=\"700\"===a.style.fontWeight,c=\"line-through\"===a.style.textDecoration,d=\"italic\"===a.style.fontStyle,f=\"underline\"===a.style.textDecoration,e=a.style.verticalAlign;return{forChild:g=>{if(!C(g))return g;b&&g.toggleFormat(\"bold\");c&&g.toggleFormat(\"strikethrough\");d&&g.toggleFormat(\"italic\");f&&g.toggleFormat(\"underline\");\"sub\"===e&&g.toggleFormat(\"subscript\");\"super\"===e&&g.toggleFormat(\"superscript\");return g},node:null}}\nfunction qe(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{C(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function pe(a){let {parentElement:b}=a;a=a.textContent||\"\";let c=a.trim();return null!=b&&\"pre\"===b.tagName.toLowerCase()||0!==c.length||!a.includes(\"\\n\")?{node:M(a)}:{node:null}}let we={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};\nfunction re(a){let b=we[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{C(c)&&c.toggleFormat(b);return c},node:null}}function M(a=\"\"){return new oe(a)}function C(a){return a instanceof oe}\nclass xe extends ee{static getType(){return\"paragraph\"}static clone(a){return new xe(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Rb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:ye,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));return{element:a}}static importJSON(a){let b=id();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);\nreturn b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=id(),b=this.getDirection();a.setDirection(b);this.insertAfter(a);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||C(a[0])&&\"\"===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function ye(){return{node:id()}}\nfunction id(){return new xe}function Vd(a,b,c,d){let f=a._keyToDOMMap;f.clear();a._editorState=ge();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent=\"\");null!==c&&(c.textContent=\"\",f.set(\"root\",c))}\nfunction ze(a){let b=new Map,c=new Set;a.forEach(d=>{d=null!=d.klass.importDOM?d.klass.importDOM.bind(d.klass):null;if(null!=d&&!c.has(d)){c.add(d);var f=d();null!==f&&Object.keys(f).forEach(e=>{let g=b.get(e);void 0===g&&(g=[],b.set(e,g));g.push(f[e])})}});return b}\nclass Ae{constructor(a,b,c,d,f,e){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=\nnew Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=Nb();this._onError=f;this._htmlConversions=e;this._editable=!0;this._headless=!1;this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=this._listeners.decorator;\nb.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let f=d.get(a);void 0===f&&r(36);let e=f[c];e.add(b);return()=>{e.delete(b);f.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,\nb){void 0===this._nodes.get(a.getType())&&r(37);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransform(a,b){a=a.getType();let c=this._nodes.get(a);void 0===c&&r(37);let d=c.transforms;d.add(b);Jb(this,a);return()=>{d.delete(b)}}hasNodes(a){for(let b=0;b<a.length;b++){let c=a[b].getType();if(!this._nodes.has(c))return!1}return!0}dispatchCommand(a,b){return U(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=\nthis._rootElement;if(a!==b){var c=this._pendingEditorState||this._editorState;this._rootElement=a;Vd(this,b,a,c);if(null!==b&&!this._config.disableEvents){0!==Pc&&(Pc--,0===Pc&&b.ownerDocument.removeEventListener(\"selectionchange\",cd));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;bd.get(d)===c&&bd.delete(d)}else bd.delete(c._key);b.__lexicalEditor=null}c=ad(b);for(d=0;d<c.length;d++)c[d]();b.__lexicalEventHandles=[]}null!==a?(c=(c=a.ownerDocument)&&\nc.defaultView||null,d=a.style,d.userSelect=\"text\",d.whiteSpace=\"pre-wrap\",d.wordBreak=\"break-word\",a.setAttribute(\"data-lexical-editor\",\"true\"),this._window=c,this._dirtyType=2,rb(this),this._updateTags.add(\"history-merge\"),Ud(this),this._config.disableEvents||ed(a,this)):this._window=null;Wd(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);qb(this);let c=this._pendingEditorState,d=this._updateTags;\nb=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Ud(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Ud(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ge(),d=Y,f=X,e=Z,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;Y=c;X=!1;Z=this;try{Sd(a.root,\nthis._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,Y=d,X=f,Z=e}return c}update(a,b){x(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute(\"autocapitalize\",\"off\"),x(this,()=>{let d=u(),f=Ib();null!==d?d.dirty=!0:0!==f.getChildrenSize()&&(\"rootStart\"===b.defaultSelection?f.selectStart():f.selectEnd())},{onUpdate:()=>{c.removeAttribute(\"autocapitalize\");a&&a()}}),null===this._pendingEditorState&&c.removeAttribute(\"autocapitalize\"))}blur(){var a=\nthis._rootElement;null!==a&&a.blur();a=window.getSelection();null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,Wd(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class Be extends ee{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}function rd(a){return a instanceof Be}class Ce extends ee{}function pd(a){return a instanceof Ce}\nclass De extends ee{}function qd(a){return a instanceof De}exports.$createGridSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new md(\"root\",a,b)};exports.$createLineBreakNode=td;exports.$createNodeSelection=wd;exports.$createParagraphNode=id;exports.$createRangeSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new ld(a,b,0)};exports.$createTextNode=M;exports.$getDecoratorNode=Ub;exports.$getNearestNodeFromDOMNode=kb;\nexports.$getNodeByKey=L;exports.$getPreviousSelection=Pb;exports.$getRoot=Ib;exports.$getSelection=u;exports.$isDecoratorNode=A;exports.$isElementNode=F;exports.$isGridCellNode=rd;exports.$isGridNode=pd;exports.$isGridRowNode=qd;exports.$isGridSelection=nd;exports.$isLeafNode=Ab;exports.$isLineBreakNode=Bb;exports.$isNodeSelection=$c;exports.$isParagraphNode=function(a){return a instanceof xe};exports.$isRangeSelection=D;exports.$isRootNode=N;exports.$isTextNode=C;\nexports.$nodesOfType=function(a){var b=H();let c=b._readOnly,d=a.getType();b=b._nodeMap;let f=[];for(let [,e]of b)e instanceof a&&e.__type===d&&(c||e.isAttached())&&f.push(e);return f};exports.$parseSerializedNode=function(a){return Sd(a,I()._nodes)};exports.$setCompositionKey=J;exports.$setSelection=nb;exports.BLUR_COMMAND=La;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;\nexports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ha;exports.COPY_COMMAND=Ia;exports.CUT_COMMAND=Ja;exports.DELETE_CHARACTER_COMMAND=ca;exports.DELETE_LINE_COMMAND=ma;exports.DELETE_WORD_COMMAND=la;exports.DRAGEND_COMMAND=Ha;exports.DRAGOVER_COMMAND=Ga;exports.DRAGSTART_COMMAND=Fa;exports.DROP_COMMAND=Ea;exports.DecoratorNode=de;\nexports.ElementNode=ee;exports.FOCUS_COMMAND=Ka;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.GridCellNode=Be;exports.GridNode=Ce;exports.GridRowNode=De;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=fa;exports.KEY_ARROW_DOWN_COMMAND=xa;exports.KEY_ARROW_LEFT_COMMAND=ra;exports.KEY_ARROW_RIGHT_COMMAND=pa;exports.KEY_ARROW_UP_COMMAND=wa;exports.KEY_BACKSPACE_COMMAND=Aa;exports.KEY_DELETE_COMMAND=Ca;\nexports.KEY_ENTER_COMMAND=ya;exports.KEY_ESCAPE_COMMAND=Ba;exports.KEY_MODIFIER_COMMAND=Ma;exports.KEY_SPACE_COMMAND=za;exports.KEY_TAB_COMMAND=Da;exports.LineBreakNode=ie;exports.MOVE_TO_END=qa;exports.MOVE_TO_START=sa;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ja;exports.ParagraphNode=xe;exports.REDO_COMMAND=oa;exports.REMOVE_TEXT_COMMAND=ka;exports.RootNode=fe;exports.SELECTION_CHANGE_COMMAND=aa;exports.TextNode=oe;exports.UNDO_COMMAND=na;exports.VERSION=\"0.4.1\";\nexports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Z,d=b.theme||{};let f=void 0===a?c:b.parentEditor||null,e=b.disableEvents||!1,g=ge(),h=b.namespace||(null!==f?f._config.namespace:Nb()),k=b.editorState,m=[fe,oe,ie,xe,...(b.nodes||[])],l=b.onError;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let n=m[c],q=n.getType();a.set(q,{klass:n,transforms:new Set})}d=new Ae(g,f,a,{disableEvents:e,namespace:h,theme:d},l?l:console.error,ze(a),b);void 0!==\nk&&(d._pendingEditorState=k,d._dirtyType=2);return d}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst Lexical = process.env.NODE_ENV === 'development' ? require('./Lexical.dev.js') : require('./Lexical.prod.js')\nmodule.exports = Lexical;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),l=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?l.useLayoutEffect:l.useEffect;let n={tag:\"history-merge\"};\nfunction p(b,a){if(null!==a&&void 0!==a&&null!==a)switch(typeof a){case \"string\":let e=b.parseEditorState(a);b.setEditorState(e,n);break;case \"object\":b.setEditorState(a,n);break;case \"function\":b.update(()=>{f.$getRoot().isEmpty()&&a(b)},n)}}\nexports.LexicalComposer=function({initialConfig:b,children:a}){let e=l.useMemo(()=>{const {theme:c,namespace:g,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=b,v=d.createLexicalComposerContext(null,c);let h=q||null;if(null===h){const k=f.createEditor({editable:!1,namespace:g,nodes:r,onError:w=>t(w,k),theme:c});p(k,u);h=k}return[h,v]},[]);m(()=>{let c=b.editable,[g]=e;g.setEditable(void 0!==c?c:!0)},[]);return l.createElement(d.LexicalComposerContext.Provider,{value:e},a)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalComposer = process.env.NODE_ENV === 'development' ? require('./LexicalComposer.dev.js') : require('./LexicalComposer.prod.js')\nmodule.exports = LexicalComposer;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");function n(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function p(a,b){for(;a!==l.$getRoot()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}\nfunction q(a,b,e,f,d){var c=e._nodes.get(a.__type);void 0===c&&n(5);for(var h in a){var k=a[h];if(null!=k&&\"object\"===typeof k&&(k=k.editorState,null!=k)){var g=l.createEditor({namespace:k.namespace});g._nodes=e._nodes;g._parentEditor=e._parentEditor;g._pendingEditorState=r(g,k);a[h]=g}}c=c.klass;h=a.__key;a.__key=void 0;c=c.clone(a);a.__key=h;h=c.__key;d._nodeMap.set(h,c);c.__parent=f;if(l.$isElementNode(c)){f=a.__children;for(k=0;k<f.length;k++)g=b.get(f[k]),void 0!==g&&(g=q(g,b,e,h,d).__key,c.__children.push(g));\nc.__indent=a.__indent;c.__format=a.__format;c.__dir=a.__dir}else l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction t(a,b){let e=b._editorState.constructor,f=new Map,d=new e(f),c=new Map(a._nodeMap),h=c.get(\"root\");a=b._updating;try{b._updating=!1,b.update(()=>{let k=b._dirtyElements,g=b._dirtyLeaves,m=b._dirtyType;b._dirtyElements=new Map;b._dirtyLeaves=new Set;b._dirtyType=0;try{q(h,c,b,null,d)}finally{b._dirtyElements=k,b._dirtyLeaves=g,b._dirtyType=m}})}finally{b._updating=a}d._readOnly=!0;return d}function r(a,b){b=\"string\"===typeof b?JSON.parse(b):b;return t(b,a)}\nexports.$dfs=function(a,b){let e=[];a=(a||l.$getRoot()).getLatest();b=b||(l.$isElementNode(a)?a.getLastDescendant():a);for(var f=a,d=0;null!==(f=f.getParent());)d++;for(f=d;null!==a&&!a.is(b);)if(e.push({depth:f,node:a}),l.$isElementNode(a)&&0<a.getChildrenSize())a=a.getFirstChild(),f++;else for(d=null;null===d&&null!==a;)d=a.getNextSibling(),null===d?(a=a.getParent(),f--):a=d;null!==a&&a.is(b)&&e.push({depth:f,node:a});return e};exports.$findMatchingParent=p;\nexports.$getNearestBlockElementAncestorOrThrow=function(a){a=p(a,b=>l.$isElementNode(b)&&!b.isInline());l.$isElementNode(a)||n(4);return a};exports.$getNearestNodeOfType=function(a,b){for(;null!=a;){if(a instanceof b)return a;a=a.getParent()}return null};\nexports.$insertBlockNode=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.$isGridSelection(b)?(b=b.getNodes(),b[b.length-1].getTopLevelElementOrThrow().insertAfter(a)):l.$getRoot().append(a);b=l.$createParagraphNode();a.insertAfter(b);b.select();return a.getLatest()};\nexports.$restoreEditorState=function(a,b){let e=new Map(b._nodeMap),f=a._pendingEditorState;f&&(f._nodeMap=e);a._dirtyType=2;a=b._selection;l.$setSelection(null===a?null:a.clone())};exports.addClassNamesToElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.add(...e.split(\" \"))})};exports.mergeRegister=function(...a){return()=>{a.forEach(b=>b())}};\nexports.registerNestedElementResolver=function(a,b,e,f){return a.registerNodeTransform(b,d=>{a:{var c=d.getChildren();for(var h=0;h<c.length;h++)if(c[h]instanceof b){c=null;break a}for(c=d;null!==c;)if(h=c,c=c.getParent(),c instanceof b){c={child:h,parent:c};break a}c=null}if(null!==c){const {child:k,parent:g}=c;if(k.is(d)){f(g,d);d=k.getNextSiblings();c=d.length;g.insertAfter(k);if(0!==c){h=e(g);k.insertAfter(h);for(let m=0;m<c;m++)h.append(d[m])}g.canBeEmpty()||0!==g.getChildrenSize()||g.remove()}}})};\nexports.removeClassNamesFromElement=function(a,...b){b.forEach(e=>{\"string\"===typeof e&&a.classList.remove(...e.split(\" \"))})};exports.unstable_convertLegacyJSONEditorState=r\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalUtils = process.env.NODE_ENV === 'development' ? require('./LexicalUtils.dev.js') : require('./LexicalUtils.prod.js')\nmodule.exports = LexicalUtils;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\"),l=require(\"@lexical/utils\");function m(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}m(40)}break}return b}\nfunction r(a){a=a.getParent();q(a)||m(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return z().append(a)}\nfunction A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}\nfunction D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=z();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}\nfunction F(a,b){(b||a.getChildren()).forEach(c=>{let d=c.getValue();var e=c.getParent();var f=1;null!=e&&(q(e)?f=e.getStart():m(44));e=c.getPreviousSiblings();for(let g=0;g<e.length;g++){let k=e[g];p(k)&&!q(k.getFirstChild())&&f++}d!==f&&c.setValue(f)})}\nfunction G(a){let b=new Set;a.forEach(c=>{if(!u(c)&&!b.has(c.getKey())){var d=c.getParent(),e=c.getNextSibling(),f=c.getPreviousSibling();if(u(e)&&u(f))f=f.getFirstChild(),q(f)&&(f.append(c),c=e.getFirstChild(),q(c)&&(c=c.getChildren(),C(f,c),e.remove(),b.add(e.getKey())),F(f));else if(u(e))e=e.getFirstChild(),q(e)&&(f=e.getFirstChild(),null!==f&&f.insertBefore(c),F(e));else if(u(f))e=f.getFirstChild(),q(e)&&(e.append(c),F(e));else if(q(d)){let g=z(),k=E(d.getListType());g.append(k);k.append(c);f?\nf.insertAfter(g):e?e.insertBefore(g):d.append(g)}q(d)&&F(d)}})}\nfunction H(a){a.forEach(b=>{if(!u(b)){var c=b.getParent(),d=c?c.getParent():void 0,e=d?d.getParent():void 0;if(q(e)&&p(d)&&q(c)){var f=c?c.getFirstChild():void 0,g=c?c.getLastChild():void 0;if(b.is(f))d.insertBefore(b),c.isEmpty()&&d.remove();else if(b.is(g))d.insertAfter(b),c.isEmpty()&&d.remove();else{var k=c.getListType();f=z();let x=E(k);f.append(x);b.getPreviousSiblings().forEach(y=>x.append(y));g=z();k=E(k);g.append(k);C(k,b.getNextSiblings());d.insertBefore(f);d.insertAfter(g);d.replace(b)}F(c);\nF(e)}}})}function I(a){var b=h.$getSelection();if(h.$isRangeSelection(b)){var c=b.getNodes(),d=[];0===c.length&&c.push(b.anchor.getNode());if(1===c.length){a:{for(c=c[0];null!==c;){if(p(c))break a;c=c.getParent()}c=null}null!==c&&(d=[c])}else{d=new Set;for(b=0;b<c.length;b++){let e=c[b];p(e)&&d.add(e)}d=Array.from(d)}0<d.length&&(\"indent\"===a?G(d):H(d))}}\nclass J extends h.ElementNode{static getType(){return\"listitem\"}static clone(a){return new J(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement(\"li\"),c=this.getParent();q(c)&&(F(c),K(b,this,null,c));b.value=this.__value;L(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&(F(d),K(b,this,a,d));b.value=this.__value;L(b,c.theme,this);return!1}static importDOM(){return{li:()=>({conversion:M,\npriority:0})}}static importJSON(a){let b=new J(a.value,a.checked);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a){if(p(a))return super.replace(a);let b=this.getParentOrThrow();\nif(q(b)){var c=b.__children;let e=c.length;var d=c.indexOf(this.__key);if(0===d)b.insertBefore(a);else if(d===e-1)b.insertAfter(a);else{c=E(b.getListType());let f=b.getChildren();for(d+=1;d<e;d++)c.append(f[d]);b.insertAfter(a);a.insertAfter(c)}this.remove();1===e&&b.remove()}return a}insertAfter(a){var b=this.getParentOrThrow();q(b)||m(39);var c=this.getNextSiblings();if(p(a))return b=super.insertAfter(a),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)&&a.getListType()===b.getListType()){b=a;a=a.getChildren();\nfor(c=a.length-1;0<=c;c--)b=a[c],this.insertAfter(b);return b}b.insertAfter(a);if(0!==c.length){let d=E(b.getListType());c.forEach(e=>d.append(e));a.insertAfter(d)}return a}remove(a){let b=this.getNextSibling();super.remove(a);null!==b&&(a=b.getParent(),q(a)&&F(a))}insertNewAfter(){let a=z(null==this.__checked?void 0:!1);this.insertAfter(a);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=\np(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.replace(b),c=a.anchor,a=a.focus,d=b.getKey(),\"element\"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,\"element\"),\"element\"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,\"element\")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=\nthis.getParent();if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){let b=this.getIndent();for(;b!==a;)b<a?(G([this]),b++):(H([this]),b--);return this}canIndent(){return!1}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||\np(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}}\nfunction L(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(\" \"),d.push(...f));if(b){f=c.getParent();f=q(f)&&\"check\"===f.getListType();let k=c.getChecked();f&&!k||e.push(b.listitemUnchecked);f&&k||e.push(b.listitemChecked);f&&d.push(k?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(\" \"),c.getChildren().some(k=>q(k))?d.push(...g):e.push(...g));0<e.length&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.addClassNamesToElement(a,\n...d)}function K(a,b,c,d){\"check\"===d.getListType()?q(b.getFirstChild())?(a.removeAttribute(\"role\"),a.removeAttribute(\"tabIndex\"),a.removeAttribute(\"aria-checked\")):(a.setAttribute(\"role\",\"checkbox\"),a.setAttribute(\"tabIndex\",\"-1\"),c&&b.__checked===c.__checked||a.setAttribute(\"aria-checked\",b.getChecked()?\"true\":\"false\")):null!=b.getChecked()&&b.setChecked(void 0)}function M(){return{node:z()}}function z(a){return new J(void 0,a)}function p(a){return a instanceof J}\nclass N extends h.ElementNode{static getType(){return\"list\"}static clone(a){return new N(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag=\"number\"===a?\"ol\":\"ul\";this.__start=b}getTag(){return this.__tag}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute(\"start\",String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);\nreturn b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=\n0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=z();q(b)?d.append(b):(b=h.$createTextNode(b.getTextContent()),d.append(b));super.append(d)}}return this}extractWithChild(a){return p(a)}}\nfunction P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let k=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%k.length;var g=k[x];let y=f[c.__tag],B;f=f.nested;void 0!==f&&f.list&&(B=f.list);void 0!==y&&d.push(y);if(void 0!==g)for(g=g.split(\" \"),d.push(...g),g=0;g<k.length;g++)g!==x&&e.push(c.__tag+g);void 0!==B&&(c=B.split(\" \"),1<b?d.push(...c):e.push(...c))}0<e.length&&l.removeClassNamesFromElement(a,...e);0<d.length&&l.addClassNamesToElement(a,...d)}\nfunction R(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];p(d)?(b.push(d),d.getChildren().forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(d))}return b}function Q(a){a=a.nodeName.toLowerCase();let b=null;\"ol\"===a?b=E(\"number\"):\"ul\"===a&&(b=E(\"bullet\"));return{after:R,node:b}}let O={ol:\"number\",ul:\"bullet\"};function E(a,b=1){return new N(a,b)}function q(a){return a instanceof N}let S=h.createCommand(),T=h.createCommand(),U=h.createCommand(),V=h.createCommand();exports.$createListItemNode=z;\nexports.$createListNode=E;exports.$getListDepth=n;\nexports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||\"\"!==a.getTextContent())return!1;var b=r(a),c=a.getParent();q(c)||m(40);let d=c.getParent(),e;if(h.$isRootNode(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=z(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=z(),c.append(f),e.insertAfter(c));\nb.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=J;exports.ListNode=N;exports.REMOVE_LIST_COMMAND=V;exports.indentList=function(){I(\"indent\")};\nexports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(h.$isRangeSelection(c)){var d=c.getNodes();c=c.anchor.getNode();var e=c.getParent();if(A(c,d))d=E(b),h.$isRootNode(e)?(c.replace(d),e=z(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!c.has(f.getKey()))D(f,b);else if(h.$isLeafNode(f))for(f=\nf.getParent();null!=f;){let k=f.getKey();if(q(f)){if(!c.has(k)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(k)}break}else{g=f.getParent();if(h.$isRootNode(g)&&!c.has(k)){c.add(k);D(f,b);break}f=g}}}}})};exports.outdentList=function(){I(\"outdent\")};\nexports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=l.$getNearestNodeOfType(f,J),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let k of d)d=h.$createParagraphNode(),C(d,k.getChildren()),c.insertAfter(d),c=d,k.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,\"element\"),k.__key===b.focus.key&&b.focus.set(d.getKey(),0,\"element\"),\nk.remove();g.remove()}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js')\nmodule.exports = LexicalList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"lexical\");let t=new Map;function u(a){a=a.getLatest();let c=a.constructor.clone(a);c.__parent=a.__parent;l.$isElementNode(a)&&l.$isElementNode(c)?(c.__children=Array.from(a.__children),c.__format=a.__format,c.__indent=a.__indent,c.__dir=a.__dir):l.$isTextNode(a)&&l.$isTextNode(c)&&(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail);return c}\nfunction w(a,c,b,d,f,g){for(var e=c;null!==a;){for(c=a.getParent();null!==c&&c.excludeFromCopy(\"clone\");)c=c.getParent();if(null===c)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let h=a.getKey(),k=g.get(h),m=void 0===k;m&&(k=u(a),g.set(h,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(d?e:0,d?void 0:(e||0)+1)):k.__text=k.__text.slice(d?e:0,d?b:e);if(l.$isRootNode(c)){m&&f.push(h);break}}e=g.get(c.getKey());e=l.$isElementNode(e)?\ne.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=c}}\nfunction x(a){if(l.$isRangeSelection(a)){var c=a.anchor,b=a.focus;let [k,m]=a.getCharacterOffsets();a=a.getNodes();if(0===a.length)return{nodeMap:[],range:[]};let n=a.length;var d=a[0],f=d.getParent();if(null!==f&&(!f.canBeEmpty()||l.$isRootNode(f))){var g=f.__children;if(g.length===n){var e=!0;for(var h=0;h<g.length;h++)if(g[h]!==a[h].__key){e=!1;break}e&&(n++,a.push(f))}}f=a[n-1];c=c.isBefore(b);b=new Map;g=[];e=l.$isTextNode(d)&&1===n;w(d,c?k:m,e?c?m:k:void 0,!0,g,b);for(d=0;d<n;d++){h=a[d];let r=\nh.getKey();if(!(b.has(r)||l.$isElementNode(h)&&h.excludeFromCopy(\"clone\"))){let p=u(h);l.$isRootNode(h.getParent())&&g.push(h.getKey());\"root\"!==r&&b.set(r,p)}}w(f,e?void 0:c?m:k,void 0,!1,g,b);return{nodeMap:Array.from(b.entries()),range:g}}if(l.$isGridSelection(a))return{nodeMap:a.getNodes().map(k=>{const m=k.getKey();k=u(k);return[m,k]}),range:[a.gridKey]};throw Error(\"Minified Lexical error #1; visit https://lexical.dev/docs/error?code=1 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");\n}function y(a){return t.get(a)||null}function z(a,c){var b=y(a.getStyle());c=b?{...b,...c}:c;b=\"\";for(d in c)d&&(b+=`${d}: ${c[d]};`);var d=b;a.setStyle(d);t.set(d,c)}function A(a,c,b,d){a.modify(c?\"extend\":\"move\",b,d)}function B(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}function C(a){for(;null!==a&&!l.$isRootNode(a);){let c=a.getLatest(),b=a.getParent();0===c.__children.length&&a.remove(!0);a=b}}\nfunction D(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function E(a){let c=a.parentNode;if(null==c)throw Error(\"Should never happen\");return[c,Array.from(c.childNodes).indexOf(a)]}exports.$addNodeStyle=function(a){a=a.getStyle();let c={},b=a.split(\";\");for(let d of b)if(\"\"!==d){let [f,g]=d.split(/:([^]+)/);c[f.trim()]=g.trim()}t.set(a,c)};exports.$cloneContents=function(a){return x(a)};exports.$cloneWithProperties=u;\nexports.$getSelectionStyleValueForProperty=function(a,c,b=\"\"){let d=null,f=a.getNodes();var g=a.anchor,e=a.focus,h=a.isBackward();a=h?e.offset:g.offset;g=h?e.getNode():g.getNode();for(e=0;e<f.length;e++){var k=f[e];if((0===e||0!==a||!k.is(g))&&l.$isTextNode(k)){h=c;var m=b;k=k.getStyle();k=y(k);h=null!==k?k[h]||m:m;if(null===d)d=h;else if(d!==h){d=\"\";break}}}return null===d?b:d};exports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};\nexports.$isParentElementRTL=B;exports.$moveCaretSelection=A;exports.$moveCharacter=function(a,c,b){let d=B(a);A(a,c,b?!d:d,\"character\")};\nexports.$patchStyleText=function(a,c){var b=a.getNodes();let d=b.length-1,f=b[0],g=b[d];if(!a.isCollapsed()){var e=a.anchor,h=a.focus;a=f.getTextContent().length;var k=h.offset,m=e.offset;e=(h=e.isBefore(h))?m:k;h=h?k:m;if(e===f.getTextContentSize()){let n=f.getNextSibling();l.$isTextNode(n)&&(e=m=0,f=n)}if(f.is(g))l.$isTextNode(f)&&(e=m>k?k:m,h=m>k?m:k,e!==h&&(0===e&&h===a?(z(f,c),f.select(e,h)):(b=f.splitText(e,h),b=0===e?b[0]:b[1],z(b,c),b.select(0,h-e))));else for(l.$isTextNode(f)&&(0!==e&&(f=\nf.splitText(e)[1]),z(f,c)),l.$isTextNode(g)&&(a=g.getTextContent().length,h!==a&&([g]=g.splitText(h)),0!==h&&z(g,c)),a=1;a<d;a++)k=b[a],m=k.getKey(),l.$isTextNode(k)&&m!==f.getKey()&&m!==g.getKey()&&!k.isToken()&&z(k,c)}};\nexports.$selectAll=function(a){let c=a.anchor;a=a.focus;var b=c.getNode().getTopLevelElementOrThrow().getParentOrThrow();let d=b.getFirstDescendant();b=b.getLastDescendant();let f=\"element\",g=\"element\",e=0;l.$isTextNode(d)?f=\"text\":l.$isElementNode(d)||null===d||(d=d.getParentOrThrow());l.$isTextNode(b)?(g=\"text\",e=b.getTextContentSize()):l.$isElementNode(b)||null===b||(b=b.getParentOrThrow());d&&b&&(c.set(d.getKey(),0,f),a.set(b.getKey(),e,g))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,c){a=l.$getDecoratorNode(a.focus,c);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,c){if(c.isSelected()&&!c.isSegmented()&&!c.isToken()&&(l.$isRangeSelection(a)||l.$isGridSelection(a))){var b=a.anchor.getNode(),d=a.focus.getNode(),f=c.is(b),g=c.is(d);if(f||g){f=a.isBackward();let [e,h]=a.getCharacterOffsets();a=b.is(d);g=c.is(f?d:b);d=c.is(f?b:d);b=0;let k=void 0;a?(b=e>h?h:e,k=e>h?e:h):g?(b=f?h:e,k=void 0):d&&(f=f?e:h,b=0,k=f);c.__text=c.__text.slice(b,k)}}return c};\nexports.$wrapLeafNodesInElements=function(a,c,b){let d=a.getNodes(),f=d.length;var g=a.anchor;if(0===f||1===f&&\"element\"===g.type&&0===g.getNode().getChildrenSize()){a=\"text\"===g.type?g.getNode().getParentOrThrow():g.getNode();g=a.getChildren();let q=c();q.setFormat(a.getFormatType());q.setIndent(a.getIndent());g.forEach(v=>q.append(v));b&&(q=b.append(q));a.replace(q)}else{var e=d[0],h=new Map;g=[];e=l.$isElementNode(e)?e:e.getParentOrThrow();for(e.isInline()&&(e=e.getParentOrThrow());null!==e;){var k=\ne.getPreviousSibling();if(null!==k){e=k;break}e=e.getParentOrThrow();if(l.$isRootNode(e))break}k=new Set;for(var m=0;m<f;m++){var n=d[m];l.$isElementNode(n)&&0===n.getChildrenSize()&&k.add(n.getKey())}var r=new Set;for(m=0;m<f;m++){n=d[m];var p=n.getParent();null!==p&&p.isInline()&&(p=p.getParent());if(null!==p&&l.$isLeafNode(n)&&!r.has(n.getKey())){if(n=p.getKey(),void 0===h.get(n)){let q=c();q.setFormat(p.getFormatType());q.setIndent(p.getIndent());g.push(q);h.set(n,q);p.getChildren().forEach(v=>\n{q.append(v);r.add(v.getKey())});C(p)}}else k.has(n.getKey())&&(p=c(),p.setFormat(n.getFormatType()),p.setIndent(n.getIndent()),g.push(p),n.remove())}if(b)for(c=0;c<g.length;c++)b.append(g[c]);if(l.$isRootNode(e))if(c=e.getFirstChild(),l.$isElementNode(c)&&(e=c),null===c)if(b)e.append(b);else for(b=0;b<g.length;b++)e.append(g[b]);else if(b)c.insertBefore(b);else for(b=0;b<g.length;b++)c.insertBefore(g[b]);else if(b)e.insertAfter(b);else for(b=g.length-1;0<=b;b--)e.insertAfter(g[b]);b=l.$getPreviousSelection();\nl.$isRangeSelection(b)&&b.anchor.getNode().isAttached()&&b.focus.getNode().isAttached()?l.$setSelection(b.clone()):a.dirty=!0}};\nexports.createDOMRange=function(a,c,b,d,f){let g=c.getKey(),e=d.getKey(),h=document.createRange(),k=a.getElementByKey(g);a=a.getElementByKey(e);l.$isTextNode(c)&&(k=D(k));l.$isTextNode(d)&&(a=D(a));if(void 0===c||void 0===d||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,b]=E(k));\"BR\"===a.nodeName&&([a,f]=E(a));c=k.firstChild;k===a&&null!=c&&\"BR\"===c.nodeName&&0===b&&0===f&&(f=1);try{h.setStart(k,b),h.setEnd(a,f)}catch(m){return null}!h.collapsed||b===f&&g===e||(h.setStart(a,f),h.setEnd(k,\nb));return h};exports.createRectsFromDOMRange=function(a,c){var b=a.getRootElement();if(null===b)return[];a=b.getBoundingClientRect();b=getComputedStyle(b);b=parseFloat(b.paddingLeft)+parseFloat(b.paddingRight);c=Array.from(c.getClientRects());let d=c.length,f;for(let g=0;g<d;g++){let e=c[g],h=e.width+b===a.width;f&&f.top===e.top&&f.left===e.left&&f.width===e.width&&f.height===e.height||h?(c.splice(g--,1),d--):f=e}return c};exports.getStyleObjectFromCSS=y;\nexports.trimTextContentFromAnchor=function(a,c,b){let d=c.getNode();if(l.$isElementNode(d)){var f=d.getDescendantByIndex(c.offset);null!==f&&(d=f)}for(;0<b&&null!==d;){var g=d.getPreviousSibling(),e=0;if(null===g){f=d.getParentOrThrow();for(var h=f.getPreviousSibling();null===h;){f=f.getParent();if(null===f){g=null;break}h=f.getPreviousSibling()}null!==f&&(e=f.isInline()?0:2,g=l.$isElementNode(h)?h.getLastDescendant():h)}let k=d.getTextContent();\"\"===k&&l.$isElementNode(d)&&!d.isInline()&&(k=\"\\n\\n\");\nf=k.length;h=f-b;let m=k.slice(0,h);if(!l.$isTextNode(d)||b>=f)h=d.getParent(),d.remove(),null!=h&&0===h.getChildrenSize()&&h.remove(),b-=f+e,d=g;else{let n=d.getKey();g=a.getEditorState().read(()=>{const r=l.$getNodeByKey(n);return l.$isTextNode(r)&&r.isSimpleText()?r.getTextContent():null});null!==g&&g!==k?(b=l.$getPreviousSelection(),f=d,d.isSimpleText()?d.setTextContent(g):(f=l.$createTextNode(g),d.replace(f)),l.$isRangeSelection(b)&&b.isCollapsed()&&(b=b.anchor.offset,f.select(b,b))):d.isSimpleText()?\n(g=c.key===n,e=c.offset,e<b&&(e=f),b=g?e-b:0,f=g?e:h,g&&0===b?([b]=d.splitText(b,f),b.remove()):([,b]=d.splitText(b,f),b.remove())):(b=l.$createTextNode(m),d.replace(b));b=0}}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalSelection = process.env.NODE_ENV === 'development' ? require('./LexicalSelection.dev.js') : require('./LexicalSelection.prod.js')\nmodule.exports = LexicalSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var m=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,e,h){let a=null!=d?e.isSelected():!0,b=q.$isElementNode(e)&&e.excludeFromCopy(\"html\"),f=m.$cloneWithProperties(e);f=q.$isTextNode(f)&&null!=d?m.$sliceSelectedTextNodeContent(d,f):f;let g=q.$isElementNode(f)?f.getChildren():[],{element:k,after:l}=f.exportDOM(c);if(!k)return!1;let n=new DocumentFragment;for(let p=0;p<g.length;p++){let t=g[p],w=r(c,d,t,n);!a&&q.$isElementNode(e)&&w&&e.extractWithChild(t,d,\"html\")&&(a=!0)}a&&!b?(k.append(n),h.append(k),l&&(c=l.call(f,k))&&k.replaceWith(c)):\nh.append(n);return a}let u=new Set([\"STYLE\"]);\nfunction v(c,d,e=new Map,h){let a=[];if(u.has(c.nodeName))return a;let b=null;var f,{nodeName:g}=c,k=d._htmlConversions.get(g.toLowerCase());g=null;if(void 0!==k)for(f of k)k=f(c),null!==k&&(null===g||g.priority<k.priority)&&(g=k);g=(f=null!==g?g.conversion:null)?f(c):null;f=null;if(null!==g){f=g.after;b=g.node;if(null!==b){for(var [,l]of e)if(b=l(b,h),!b)break;b&&a.push(b)}null!=g.forChild&&e.set(c.nodeName,g.forChild)}c=c.childNodes;h=[];for(l=0;l<c.length;l++)h.push(...v(c[l],d,new Map(e),b));\nnull!=f&&(h=f(h));null==b?a=a.concat(h):q.$isElementNode(b)&&b.append(...h);return a}exports.$generateHtmlFromNodes=function(c,d){if(null==document||null==window)throw Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");let e=document.createElement(\"div\"),h=q.$getRoot().getChildren();for(let a=0;a<h.length;a++){let b=h[a];void 0!==d&&r(c,d,b,e)}return e.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let e=[];d=d.body?Array.from(d.body.childNodes):[];let h=d.length;for(let b=0;b<h;b++){var a=d[b];u.has(a.nodeName)||(a=v(a,c),null!==a&&(e=e.concat(a)))}return e}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHtml = process.env.NODE_ENV === 'development' ? require('./LexicalHtml.dev.js') : require('./LexicalHtml.prod.js')\nmodule.exports = LexicalHtml;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/html\"),p=require(\"@lexical/list\"),r=require(\"@lexical/selection\"),y=require(\"@lexical/utils\"),z=require(\"lexical\");function A(a){throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?code=${a} for the full message or `+\"use the non-minified dev environment for full errors and additional helpful warnings.\");}\nfunction B(a,c,e){(z.$isGridSelection(e)||null!==y.$findMatchingParent(e.anchor.getNode(),g=>z.$isGridCellNode(g))&&null!==y.$findMatchingParent(e.focus.getNode(),g=>z.$isGridCellNode(g)))&&1===c.length&&z.$isGridNode(c[0])?E(c,e,!1,a):F(c,e)}\nfunction F(a,c){let e=[],g=null,f=null;for(let h=0;h<a.length;h++){let b=a[h];p.$isListItemNode(b)?(null==f&&(f=p.$createListNode(\"bullet\"),e.push(f)),f.append(b)):(null!=f&&(f=null),z.$isDecoratorNode(b)&&!b.isTopLevel()||z.$isElementNode(b)&&b.isInline()||z.$isTextNode(b)||z.$isLineBreakNode(b)?(null===g&&(g=z.$createParagraphNode(),e.push(g)),null!==g&&g.append(b)):(e.push(b),g=null))}z.$isRangeSelection(c)?c.insertNodes(e):z.$isGridSelection(c)&&(a=c.anchor.getNode(),z.$isGridCellNode(a)||A(41),\na.append(...e))}\nfunction E(a,c,e,g){1===a.length&&z.$isGridNode(a[0])||A(42);var f=a[0];a=f.getChildren();e=f.getFirstChildOrThrow().getChildrenSize();var h=f.getChildrenSize(),b=y.$findMatchingParent(c.anchor.getNode(),m=>z.$isGridCellNode(m));c=(f=b&&y.$findMatchingParent(b,m=>z.$isGridRowNode(m)))&&y.$findMatchingParent(f,m=>z.$isGridNode(m));z.$isGridCellNode(b)&&z.$isGridRowNode(f)&&z.$isGridNode(c)||A(43);var k=f.getIndexWithinParent(),n=Math.min(c.getChildrenSize()-1,k+h-1);h=b.getIndexWithinParent();b=Math.min(f.getChildrenSize()-\n1,h+e-1);e=Math.min(h,b);f=Math.min(k,n);h=Math.max(h,b);k=Math.max(k,n);n=c.getChildren();b=0;let l,q;for(let m=f;m<=k;m++){var w=n[m];z.$isGridRowNode(w)||A(24);var x=a[b];z.$isGridRowNode(x)||A(24);w=w.getChildren();x=x.getChildren();let C=0;for(let t=e;t<=h;t++){let u=w[t];z.$isGridCellNode(u)||A(25);let D=x[C];z.$isGridCellNode(D)||A(25);m===f&&t===e?l=u.getKey():m===k&&t===h&&(q=u.getKey());let H=u.getChildren();D.getChildren().forEach(v=>{z.$isTextNode(v)&&z.$createParagraphNode().append(v);\nu.append(v)});H.forEach(v=>v.remove());C++}b++}l&&q&&(a=z.$createGridSelection(),a.set(c.getKey(),l,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction G(a,c,e,g=[]){let f=null!=c?e.isSelected():!0,h=z.$isElementNode(e)&&e.excludeFromCopy(\"html\");var b=r.$cloneWithProperties(e);b=z.$isTextNode(b)&&null!=c?r.$sliceSelectedTextNodeContent(c,b):b;let k=z.$isElementNode(b)?b.getChildren():[];var n=b;let l=n.exportJSON();l.type!==n.constructor.getType()&&A(58);var q=l.children;z.$isElementNode(n)&&(Array.isArray(q)||A(59));z.$isTextNode(b)&&(l.text=b.__text);for(b=0;b<k.length;b++)n=k[b],q=G(a,c,n,l.children),!f&&z.$isElementNode(e)&&q&&e.extractWithChild(n,\nc,\"clone\")&&(f=!0);if(f&&!h)g.push(l);else if(Array.isArray(l.children))for(a=0;a<l.children.length;a++)g.push(l.children[a]);return f}exports.$getHtmlContent=function(a){let c=z.$getSelection();if(null==c)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(c)&&c.isCollapsed()||0===c.getNodes().length?null:d.$generateHtmlFromNodes(a,c)};\nexports.$getLexicalContent=function(a){let c=z.$getSelection();if(null==c)throw Error(\"Expected valid LexicalSelection\");if(z.$isRangeSelection(c)&&c.isCollapsed()||0===c.getNodes().length)return null;var e=JSON,g=e.stringify;let f=[],h=z.$getRoot().getChildren();for(let b=0;b<h.length;b++)G(a,c,h[b],f);return g.call(e,{namespace:a._config.namespace,nodes:f})};exports.$insertDataTransferForPlainText=function(a,c){a=a.getData(\"text/plain\");null!=a&&c.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,c,e){var g=a.getData(\"application/x-lexical-editor\");if(g)try{var f=JSON.parse(g);if(f.namespace===e._config.namespace&&Array.isArray(f.nodes)){var h=f.nodes;g=[];for(f=0;f<h.length;f++){let k=z.$parseSerializedNode(h[f]);z.$isTextNode(k)&&r.$addNodeStyle(k);g.push(k)}return B(e,g,c)}}catch{}if(h=a.getData(\"text/html\"))try{var b=(new DOMParser).parseFromString(h,\"text/html\");let k=d.$generateNodesFromDOM(e,b);return B(e,k,c)}catch{}a=a.getData(\"text/plain\");\nif(null!=a)if(z.$isRangeSelection(c))for(a=a.split(/\\r?\\n/),e=a.length,b=0;b<e;b++)c.insertText(a[b]),b<e-1&&c.insertParagraph();else c.insertRawText(a)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js')\nmodule.exports = LexicalClipboard;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/clipboard\"),h=require(\"@lexical/selection\"),k=require(\"@lexical/utils\"),l=require(\"lexical\");let m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,n=m&&\"documentMode\"in document?document.documentMode:null;m&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);m&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet p=m&&\"InputEvent\"in window&&!n?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,q=m&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),r=m&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,t={tag:\"history-merge\"};\nclass u extends l.ElementNode{static getType(){return\"quote\"}static clone(a){return new u(a.__key)}constructor(a){super(a)}createDOM(a){let e=document.createElement(\"blockquote\");k.addClassNamesToElement(e,a.theme.quote);return e}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:v,priority:0})}}static importJSON(a){let e=x();e.setFormat(a.format);e.setIndent(a.indent);e.setDirection(a.direction);return e}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let a=\nl.$createParagraphNode(),e=this.getDirection();a.setDirection(e);this.insertAfter(a);return a}collapseAtStart(){let a=l.$createParagraphNode();this.getChildren().forEach(e=>a.append(e));this.replace(a);return!0}}function x(){return new u}\nclass y extends l.ElementNode{static getType(){return\"heading\"}static clone(a){return new y(a.__tag,a.__key)}constructor(a,e){super(e);this.__tag=a}getTag(){return this.__tag}createDOM(a){let e=this.__tag,f=document.createElement(e);a=a.theme.heading;void 0!==a&&k.addClassNamesToElement(f,a[e]);return f}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:z,priority:0}),h2:()=>({conversion:z,priority:0}),h3:()=>({conversion:z,priority:0}),h4:()=>({conversion:z,priority:0}),h5:()=>({conversion:z,\npriority:0}),h6:()=>({conversion:z,priority:0}),p:a=>{a=a.firstChild;return null!==a&&A(a)?{conversion:()=>({node:null}),priority:3}:null},span:a=>A(a)?{conversion:()=>({node:B(\"h1\")}),priority:3}:null}}static importJSON(a){let e=B(a.tag);e.setFormat(a.format);e.setIndent(a.indent);e.setDirection(a.direction);return e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let a=l.$createParagraphNode(),e=this.getDirection();a.setDirection(e);this.insertAfter(a);\nreturn a}collapseAtStart(){let a=l.$createParagraphNode();this.getChildren().forEach(e=>a.append(e));this.replace(a);return!0}extractWithChild(){return!0}}function A(a){return\"span\"===a.nodeName.toLowerCase()?\"26pt\"===a.style.fontSize:!1}function z(a){a=a.nodeName.toLowerCase();let e=null;if(\"h1\"===a||\"h2\"===a||\"h3\"===a||\"h4\"===a||\"h5\"===a||\"h6\"===a)e=B(a);return{node:e}}function v(){return{node:x()}}function B(a){return new y(a)}\nfunction C(a,e){if(null!==e)if(void 0===e)a.update(()=>{var f=l.$getRoot();if(f.isEmpty()){let c=l.$createParagraphNode();f.append(c);f=document.activeElement;(null!==l.$getSelection()||null!==f&&f===a.getRootElement())&&c.select()}},t);else if(null!==e)switch(typeof e){case \"string\":let f=a.parseEditorState(e);a.setEditorState(f,t);break;case \"object\":a.setEditorState(e,t);break;case \"function\":a.update(()=>{l.$getRoot().isEmpty()&&e(a)},t)}}\nfunction D(a,e){a.preventDefault();e.update(()=>{let f=l.$getSelection(),c=a instanceof InputEvent?null:a.clipboardData;null!=c&&(l.$isRangeSelection(f)||l.$isGridSelection(f))&&b.$insertDataTransferForRichText(c,f,e)},{tag:\"paste\"})}\nfunction E(a,e){var f=l.$getSelection();if(null!==f){a.preventDefault();a=a instanceof KeyboardEvent?null:a.clipboardData;let c=b.$getHtmlContent(e);e=b.$getLexicalContent(e);null!=a?(null!==c&&a.setData(\"text/html\",c),null!==e&&a.setData(\"application/x-lexical-editor\",e),f=f.getTextContent(),a.setData(\"text/plain\",f)):(f=navigator.clipboard,null!=f&&(a=[new ClipboardItem({\"text/html\":new Blob([c],{type:\"text/html\"})})],f.write(a)))}}\nfunction F(a,e){E(a,e);a=l.$getSelection();l.$isRangeSelection(a)?a.removeText():l.$isNodeSelection(a)&&a.getNodes().forEach(f=>f.remove())}function G(a,e){var f=l.$getSelection();if(l.$isRangeSelection(f)){var c=new Set;f=f.getNodes();for(let g=0;g<f.length;g++){let w=f[g];var d=w.getKey();c.has(d)||(c.add(d),d=k.$getNearestBlockElementAncestorOrThrow(w),d.canInsertTab()?a(w):d.canIndent()&&e(d))}}}function H(a){a=l.$getNearestNodeFromDOMNode(a);return l.$isDecoratorNode(a)}\nexports.$createHeadingNode=B;exports.$createQuoteNode=x;exports.$isHeadingNode=function(a){return a instanceof y};exports.$isQuoteNode=function(a){return a instanceof u};exports.HeadingNode=y;exports.QuoteNode=u;\nexports.registerRichText=function(a,e){let f=k.mergeRegister(a.registerCommand(l.CLICK_COMMAND,()=>{const c=l.$getSelection();return l.$isNodeSelection(c)?(c.clear(),!0):!1},0),a.registerCommand(l.DELETE_CHARACTER_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.deleteCharacter(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.DELETE_WORD_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.deleteWord(c);return!0},l.COMMAND_PRIORITY_EDITOR),\na.registerCommand(l.DELETE_LINE_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.deleteLine(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.CONTROLLED_TEXT_INSERTION_COMMAND,c=>{const d=l.$getSelection();if(\"string\"===typeof c)l.$isRangeSelection(d)?d.insertText(c):l.$isGridSelection(d);else{if(!l.$isRangeSelection(d)&&!l.$isGridSelection(d))return!1;const g=c.dataTransfer;null!=g?b.$insertDataTransferForRichText(g,d,a):l.$isRangeSelection(d)&&(c=c.data)&&d.insertText(c)}return!0},\nl.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.REMOVE_TEXT_COMMAND,()=>{const c=l.$getSelection();if(!l.$isRangeSelection(c))return!1;c.removeText();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.FORMAT_TEXT_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.formatText(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.FORMAT_ELEMENT_COMMAND,c=>{var d=l.$getSelection();if(!l.$isRangeSelection(d)&&!l.$isNodeSelection(d))return!1;d=d.getNodes();for(const g of d)k.$getNearestBlockElementAncestorOrThrow(g).setFormat(c);\nreturn!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.INSERT_LINE_BREAK_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;d.insertLineBreak(c);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.INSERT_PARAGRAPH_COMMAND,()=>{const c=l.$getSelection();if(!l.$isRangeSelection(c))return!1;c.insertParagraph();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.INDENT_CONTENT_COMMAND,()=>{G(()=>{a.dispatchCommand(l.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},c=>{const d=\nc.getIndent();10!==d&&c.setIndent(d+1)});return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.OUTDENT_CONTENT_COMMAND,()=>{G(c=>{l.$isTextNode(c)&&(c=c.getTextContent(),\"\\t\"===c[c.length-1]&&a.dispatchCommand(l.DELETE_CHARACTER_COMMAND,!0))},c=>{const d=c.getIndent();0!==d&&c.setIndent(d-1)});return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_UP_COMMAND,c=>{const d=l.$getSelection();return l.$isNodeSelection(d)&&!H(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectPrevious(),\n!0):!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_DOWN_COMMAND,c=>{const d=l.$getSelection();return l.$isNodeSelection(d)&&!H(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectNext(0,0),!0):!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_LEFT_COMMAND,c=>{const d=l.$getSelection();if(l.$isNodeSelection(d)&&!H(c.target)){var g=d.getNodes();if(0<g.length)return c.preventDefault(),g[0].selectPrevious(),!0}return l.$isRangeSelection(d)?h.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(g=c.shiftKey,c.preventDefault(),h.$moveCharacter(d,g,!0),!0):!1:!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ARROW_RIGHT_COMMAND,c=>{const d=l.$getSelection();if(l.$isNodeSelection(d)&&!H(c.target)){var g=d.getNodes();if(0<g.length)return c.preventDefault(),g[0].selectNext(0,0),!0}if(!l.$isRangeSelection(d))return!1;g=c.shiftKey;return h.$shouldOverrideDefaultCharacterSelection(d,!1)?(c.preventDefault(),h.$moveCharacter(d,g,!1),!0):!1},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_BACKSPACE_COMMAND,\nc=>{if(H(c.target))return!1;const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;c.preventDefault();({anchor:c}=d);const g=c.getNode();return d.isCollapsed()&&0===c.offset&&!l.$isRootNode(g)&&0<k.$getNearestBlockElementAncestorOrThrow(g).getIndent()?a.dispatchCommand(l.OUTDENT_CONTENT_COMMAND,void 0):a.dispatchCommand(l.DELETE_CHARACTER_COMMAND,!0)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_DELETE_COMMAND,c=>{if(H(c.target))return!1;const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(l.DELETE_CHARACTER_COMMAND,!1)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ENTER_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;if(null!==c){if((r||q)&&p)return!1;c.preventDefault();if(c.shiftKey)return a.dispatchCommand(l.INSERT_LINE_BREAK_COMMAND,!1)}return a.dispatchCommand(l.INSERT_PARAGRAPH_COMMAND,void 0)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_TAB_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(c.shiftKey?l.OUTDENT_CONTENT_COMMAND:l.INDENT_CONTENT_COMMAND,void 0)},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.KEY_ESCAPE_COMMAND,()=>{const c=l.$getSelection();if(!l.$isRangeSelection(c))return!1;a.blur();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.DROP_COMMAND,c=>{const d=l.$getSelection();if(!l.$isRangeSelection(d))return!1;c.preventDefault();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.DRAGSTART_COMMAND,c=>{const d=l.$getSelection();\nif(!l.$isRangeSelection(d))return!1;c.preventDefault();return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.COPY_COMMAND,c=>{E(c,a);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.CUT_COMMAND,c=>{F(c,a);return!0},l.COMMAND_PRIORITY_EDITOR),a.registerCommand(l.PASTE_COMMAND,c=>{const d=l.$getSelection();return l.$isRangeSelection(d)||l.$isGridSelection(d)?(D(c,a),!0):!1},l.COMMAND_PRIORITY_EDITOR));C(a,e);return f}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js')\nmodule.exports = LexicalRichText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"@lexical/utils\"),m=require(\"lexical\");\nclass n extends m.ElementNode{static getType(){return\"link\"}static clone(a){return new n(a.__url,{rel:a.__rel,target:a.__target},a.__key)}constructor(a,b={},g){super(g);let {target:h=null,rel:d=null}=b;this.__url=a;this.__target=h;this.__rel=d}createDOM(a){let b=document.createElement(\"a\");b.href=this.__url;null!==this.__target&&(b.target=this.__target);null!==this.__rel&&(b.rel=this.__rel);l.addClassNamesToElement(b,a.theme.link);return b}updateDOM(a,b){let g=this.__url,h=this.__target,d=this.__rel;\ng!==a.__url&&(b.href=g);h!==a.__target&&(h?b.target=h:b.removeAttribute(\"target\"));d!==a.__rel&&(d?b.rel=d:b.removeAttribute(\"rel\"));return!1}static importDOM(){return{a:()=>({conversion:p,priority:1})}}static importJSON(a){let b=q(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(a){this.getWritable().__url=\na}getTarget(){return this.getLatest().__target}setTarget(a){this.getWritable().__target=a}getRel(){return this.getLatest().__rel}setRel(a){this.getWritable().__rel=a}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=q(this.__url,{rel:this.__rel,target:this.__target});a.append(b);return b}return null}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(a,b){if(!m.$isRangeSelection(b))return!1;\na=b.anchor.getNode();let g=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(g)&&0<b.getTextContent().length}}function p(a){let b=null;a instanceof HTMLAnchorElement&&(b=q(a.getAttribute(\"href\")||\"\",{rel:a.getAttribute(\"rel\"),target:a.getAttribute(\"target\")}));return{node:b}}function q(a,b){return new n(a,b)}function r(a){return a instanceof n}\nclass u extends n{static getType(){return\"autolink\"}static clone(a){return new u(a.__url,{rel:a.__rel,target:a.__target},a.__key)}static importJSON(a){let b=v(a.url,{rel:a.rel,target:a.target});b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),type:\"autolink\",version:1}}insertNewAfter(a){a=this.getParentOrThrow().insertNewAfter(a);if(m.$isElementNode(a)){let b=v(this.__url,{rel:this._rel,target:this.__target});\na.append(b);return b}return null}}function v(a,b){return new u(a,b)}let w=m.createCommand();function x(a){return y(a,b=>r(b))}function y(a,b){for(;null!==a&&null!==(a=a.getParent())&&!b(a););return a}exports.$createAutoLinkNode=v;exports.$createLinkNode=q;exports.$isAutoLinkNode=function(a){return a instanceof u};exports.$isLinkNode=r;exports.AutoLinkNode=u;exports.LinkNode=n;exports.TOGGLE_LINK_COMMAND=w;\nexports.toggleLink=function(a,b={}){let {target:g,rel:h}=b;b=m.$getSelection();if(m.$isRangeSelection(b))if(b=b.extract(),null===a)b.forEach(k=>{k=k.getParent();if(r(k)){let e=k.getChildren();for(let f=0;f<e.length;f++)k.insertBefore(e[f]);k.remove()}});else{if(1===b.length){var d=b[0];d=r(d)?d:x(d);if(null!==d){d.setURL(a);void 0!==g&&d.setTarget(g);void 0!==h&&d.setRel(h);return}}let k=null,e=null;b.forEach(f=>{var c=f.getParent();if(c!==e&&null!==c&&(!m.$isElementNode(f)||f.isInline()))if(r(c))e=\nc,c.setURL(a),void 0!==g&&c.setTarget(g),void 0!==h&&c.setRel(h);else if(c.is(k)||(k=c,e=q(a,{rel:h,target:g}),r(c)?null===f.getPreviousSibling()?c.insertBefore(e):c.insertAfter(e):f.insertBefore(e)),r(f)){if(!f.is(e)){if(null!==e){c=f.getChildren();for(let t=0;t<c.length;t++)e.append(c[t])}f.remove()}}else null!==e&&e.append(f)})}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalLink = process.env.NODE_ENV === 'development' ? require('./LexicalLink.dev.js') : require('./LexicalLink.prod.js')\nmodule.exports = LexicalLink;","import {\n $createParagraphNode,\n ElementNode\n} from 'lexical';\nimport {\n addClassNamesToElement\n} from '@lexical/utils';\n\nexport class AsideNode extends ElementNode {\n static getType() {\n return 'aside';\n }\n\n static clone(node) {\n return new AsideNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('aside');\n addClassNamesToElement(element, config.theme.aside);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n\n static importDOM() {\n return {\n aside: node => ({\n conversion: convertAsideElement,\n priority: 0\n })\n };\n }\n\n static importJSON(serializedNode) {\n const node = $createAsideNode();\n node.setFormat(serializedNode.format);\n node.setIndent(serializedNode.indent);\n node.setDirection(serializedNode.direction);\n return node;\n }\n\n exportJSON() {\n return {\n ...super.exportJSON(),\n type: 'aside'\n };\n }\n\n // Mutation\n\n insertNewAfter() {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertNewAfter(newBlock);\n return newBlock;\n }\n\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n}\n\nfunction convertAsideElement() {\n const node = $createAsideNode;\n return {node};\n}\n\nexport function $createAsideNode() {\n return new AsideNode();\n}\n\nexport function $isAsideNode(node) {\n return node instanceof AsideNode;\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","const KoenigCardWrapperComponent = ({children}) => {\n return (\n <div className=\"caret-grey-800 hover:shadow-green relative hover:shadow-[0_0_0_1px]\" data-kg-card>\n {children}\n </div>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction HorizontalRuleComponent() {\n return (\n <KoenigCardWrapper>\n <hr />\n </KoenigCardWrapper>\n );\n}\n\nexport class HorizontalRuleNode extends DecoratorNode {\n static getType() {\n return 'horizontalrule';\n }\n\n static clone(node) {\n return new HorizontalRuleNode(node.__key);\n }\n\n static importJSON(serializedNode) {\n return $createHorizontalRuleNode();\n }\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n div.style.display = 'contents';\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isTopLevel() {\n return true;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return <HorizontalRuleComponent />;\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import * as React from 'react';\nimport {$getNodeByKey, createCommand, DecoratorNode} from 'lexical';\n// import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction CodeBlockComponent({className, code, language, nodeKey, editor}) {\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n return (\n <KoenigCardWrapper className={className} nodeKey={nodeKey} >\n <textarea \n autoCorrect=\"off\" \n autoCapitalize=\"off\" \n spellCheck=\"false\" \n tabIndex=\"0\" \n className='bg-grey-50 min-h-170 w-full p-3' \n value={code} \n onChange={updateCode} />\n </KoenigCardWrapper>\n );\n}\n\nexport class CodeBlockNode extends DecoratorNode {\n __code = '';\n __language = '';\n\n static getType() {\n return 'codeblock';\n }\n\n static clone(node) {\n return new CodeBlockNode(node.__key, node.__code);\n }\n\n static importJSON(serializedNode) {\n return $createCodeBlockNode();\n }\n\n exportJSON() {\n return {\n type: 'codeblock',\n version: 1,\n code: this.__code,\n language: this.__language\n };\n }\n\n constructor(language, key) {\n super(key);\n this.__language = language;\n }\n\n createDOM(config) {\n return document.createElement('code');\n }\n\n updateDOM() {\n return false;\n }\n\n getCode() {\n const self = this.getLatest();\n return self.__code;\n }\n\n setCode(code) {\n const self = this.getWritable();\n self.__code = code;\n }\n\n getLanguage() {\n const self = this.getLatest();\n return self.__language;\n }\n\n setLanguage(language) {\n const self = this.getWritable();\n self.__language = language;\n }\n\n getTextContent() {\n const self = this.getLatest();\n return self.__code;\n }\n\n decorate(editor, config) {\n const codeBlockTheme = config.theme.codeBlock || {};\n const className = {\n base: codeBlockTheme.base || '',\n focus: codeBlockTheme.focus || ''\n };\n return (\n <CodeBlockComponent\n className={className}\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n );\n }\n\n isTopLevel() {\n return true;\n }\n}\n\nexport function $createCodeBlockNode(code) {\n return new CodeBlockNode(code);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import {ListItemNode, ListNode} from '@lexical/list';\nimport {HeadingNode, QuoteNode} from '@lexical/rich-text';\nimport {LinkNode} from '@lexical/link';\nimport {AsideNode} from './AsideNode';\nimport {HorizontalRuleNode} from './HorizontalRuleNode';\nimport {CodeBlockNode} from './CodeBlockNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode, // TODO: replace with our own card\n HorizontalRuleNode\n];\n\nexport default DEFAULT_NODES;\n","const defaultTheme = {\n paragraph: undefined,\n heading: {\n h1: undefined,\n h2: undefined,\n h3: undefined,\n h4: undefined,\n h5: undefined,\n h6: undefined\n },\n quote: undefined,\n aside: undefined,\n list: {\n nested: {\n listitem: '!list-none'\n },\n ol: undefined,\n ul: undefined,\n listitem: undefined\n },\n link: undefined,\n text: {\n bold: undefined,\n italic: 'italic',\n overflowed: undefined,\n hashtag: undefined,\n underline: undefined,\n strikethrough: undefined,\n underlinestrikethrough: undefined,\n code: undefined\n },\n code: undefined\n};\n\nexport default defaultTheme;\n","import React from 'react';\nimport {LexicalComposer} from '@lexical/react/LexicalComposer';\nimport DEFAULT_NODES from '../nodes/DefaultNodes';\nimport defaultTheme from '../themes/default';\n\n// Catch any errors that occur during Lexical updates and log them\n// or throw them as needed. If you don't throw them, Lexical will\n// try to recover gracefully without losing user data.\nfunction defaultOnError(error) {\n console.error(error); // eslint-disable-line\n}\n\nconst defaultConfig = {\n namespace: 'KoenigEditor',\n theme: defaultTheme\n};\n\nconst KoenigComposer = ({\n initialEditorState,\n nodes = [...DEFAULT_NODES],\n onError = defaultOnError,\n children\n}) => {\n const initialConfig = React.useMemo(() => {\n return Object.assign({}, defaultConfig, {\n nodes,\n editorState: initialEditorState,\n onError\n });\n }, [initialEditorState, nodes, onError]);\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n {children}\n </LexicalComposer>\n );\n};\n\nexport default KoenigComposer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"lexical\");function r(b,f=!0){if(b)return!1;b=t();f&&(b=b.trim());return\"\"===b}function t(){return k.$getRoot().getTextContent()}function u(b,f=!0){if(!f||!r(b,!1))return!1;b=k.$getRoot().getChildren();f=b.length;if(1<f)return!1;for(let e=0;e<f;e++){var c=b[e];if(k.$isElementNode(c)){if(\"paragraph\"!==c.__type||0!==c.__indent)return!1;c=c.getChildren();let p=c.length;for(let g=0;g<p;g++)if(!k.$isTextNode(c[e]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(b,f=!0){return()=>u(b,f)};exports.$findNodeWithOffsetFromJoinedText=function(b,f,c,e){e=e.getChildren();let p=e.length,g=0,a=!1;for(let l=0;l<p&&!(g>f);++l){let m=e[l],n=k.$isTextNode(m);var d=n?m.getTextContent().length:c;d=g+d;if((!1===a&&g===b||0===g&&g===b||g<b&&b<=d)&&k.$isTextNode(m))return{node:m,offset:b-g};g=d;a=n}return null};\nexports.$findTextIntersectionFromCharacters=function(b,f){var c=b.getFirstChild();b=0;a:for(;null!==c;){if(k.$isElementNode(c)){var e=c.getFirstChild();if(null!==e){c=e;continue}}else if(k.$isTextNode(c)){e=c.getTextContentSize();if(b+e>f)return{node:c,offset:f-b};b+=e}e=c.getNextSibling();if(null!==e)c=e;else{for(c=c.getParent();null!==c;){e=c.getNextSibling();if(null!==e){c=e;continue a}c=c.getParent()}break}}return null};exports.$isRootTextContentEmpty=r;\nexports.$isRootTextContentEmptyCurry=function(b,f){return()=>r(b,f)};\nexports.$joinTextNodesInElementNode=function(b,f,c){let e=\"\";b=b.getChildren();let p=b.length;for(let g=0;g<p;++g){let a=b[g];if(k.$isTextNode(a)){let d=a.getTextContent();if(a.is(c.node)){if(c.offset>d.length)throw Error(\"Minified Lexical error #2; visit https://lexical.dev/docs/error?code=2 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");e+=a.getTextContent().substr(0,c.offset);break}else e+=d}else e+=f}return e};\nexports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(b,f,c,e){let p=a=>{const d=k.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},g=b.registerNodeTransform(k.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(k.$isTextNode(d)){var n=d.getTextContent(),h=f(n+l);if(d instanceof c){if(null===h||0!==d.getLatest().__mode){p(d);return}h=h.end-n.length;if(0<h){m=l.slice(0,h);m=n+m;d.select();d.setTextContent(m);h===l.length?a.remove():(d=l.slice(h),\na.setTextContent(d));return}}else if(null===h||h.start<n.length)return}for(;;){a=f(l);l=h=null===a?\"\":l.slice(a.end);if(\"\"===h){if(n=m.getNextSibling(),k.$isTextNode(n))if(h=m.getTextContent()+n.getTextContent(),h=f(h),null===h){n instanceof c?p(n):n.markDirty();break}else if(0!==h.start)break}else if(n=f(h),null!==n&&0===n.start)break;if(null===a)break;if(0===a.start&&k.$isTextNode(d)&&d.isTextEntity())continue;let q;0===a.start?[q,m]=m.splitText(a.end):[,q,m]=m.splitText(a.start,a.end);a=e(q);q.replace(a);\nif(null==m)break}}});b=b.registerNodeTransform(c,a=>{var d=a.getTextContent();const l=f(d);null===l||0!==l.start?p(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),k.$isTextNode(d)&&d.isTextEntity()&&(p(d),p(a)),d=a.getNextSibling(),k.$isTextNode(d)&&d.isTextEntity()&&(p(d),a instanceof c&&p(a)))});return[g,b]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalText = process.env.NODE_ENV === 'development' ? require('./LexicalText.dev.js') : require('./LexicalText.prod.js')\nmodule.exports = LexicalText;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var g=require(\"lexical\");\nexports.registerDragonSupport=function(l){let r=m=>{var h=l.getRootElement();if(document.activeElement===h&&(h=m.data,\"string\"===typeof h)){try{var a=JSON.parse(h)}catch(k){return}if(a&&\"nuanria_messaging\"===a.protocol&&\"request\"===a.type&&(a=a.payload)&&\"makeChanges\"===a.functionId&&(a=a.args)){const [k,n,p,q,t]=a;l.update(()=>{const f=g.$getSelection();if(g.$isRangeSelection(f)){var e=f.anchor;let b=e.getNode(),c=0,d=0;g.$isTextNode(b)&&0<=k&&0<=n&&(c=k,d=k+n,f.setTextNodeRange(b,c,b,d));if(c!==\nd||\"\"!==p)f.insertRawText(p),b=e.getNode();g.$isTextNode(b)&&(c=q,d=q+t,e=b.getTextContentSize(),c=c>e?e:c,d=d>e?e:d,f.setTextNodeRange(b,c,b,d));m.stopImmediatePropagation()}})}}};window.addEventListener(\"message\",r,!0);return()=>{window.removeEventListener(\"message\",r,!0)}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalDragon = process.env.NODE_ENV === 'development' ? require('./LexicalDragon.dev.js') : require('./LexicalDragon.prod.js')\nmodule.exports = LexicalDragon;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var d=require(\"@lexical/react/LexicalComposerContext\"),h=require(\"react\"),l=require(\"@lexical/text\"),m=require(\"@lexical/utils\"),n=require(\"react-dom\"),p=require(\"@lexical/dragon\"),q=require(\"@lexical/rich-text\"),r=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?h.useLayoutEffect:h.useEffect;function t(a){return a.getEditorState().read(l.$canShowPlaceholderCurry(a.isComposing(),a.isEditable()))}\nfunction u(a){let [c,f]=h.useState(()=>t(a));r(()=>{function b(){let g=t(a);f(g)}b();return m.mergeRegister(a.registerUpdateListener(()=>{b()}),a.registerEditableListener(()=>{b()}))},[a]);return c}\nfunction v(a){let [c,f]=h.useState(()=>a.getDecorators());r(()=>a.registerDecoratorListener(b=>{n.flushSync(()=>{f(b)})}),[a]);h.useEffect(()=>{f(a.getDecorators())},[a]);return h.useMemo(()=>{let b=[],g=Object.keys(c);for(let k=0;k<g.length;k++){var e=g[k];let w=c[e];e=a.getElementByKey(e);null!==e&&b.push(n.createPortal(w,e))}return b},[c,a])}function x(a,c){r(()=>m.mergeRegister(q.registerRichText(a,c),p.registerDragonSupport(a)),[a])}\nexports.RichTextPlugin=function({contentEditable:a,placeholder:c,initialEditorState:f}){let [b]=d.useLexicalComposerContext(),g=u(b),e=v(b);x(b,f);return h.createElement(h.Fragment,null,a,g&&c,e)}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalRichTextPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalRichTextPlugin.dev.js') : require('./LexicalRichTextPlugin.prod.js')\nmodule.exports = LexicalRichTextPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/react/LexicalComposerContext\"),k=require(\"react\"),l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?k.useLayoutEffect:k.useEffect;\nexports.ContentEditable=function({ariaActiveDescendantID:m,ariaAutoComplete:n,ariaControls:p,ariaDescribedBy:q,ariaExpanded:r,ariaLabel:t,ariaLabelledBy:u,ariaMultiline:v,ariaOwneeID:w,ariaRequired:x,autoCapitalize:e,autoComplete:y,autoCorrect:f,className:z,id:A,role:g=\"textbox\",spellCheck:B=!0,style:C,tabIndex:D,testid:E}){let [c]=b.useLexicalComposerContext(),[a,h]=k.useState(!0),F=k.useCallback(d=>{c.setRootElement(d)},[c]);l(()=>{h(c.isEditable());return c.registerEditableListener(d=>{h(d)})},\n[c]);return k.createElement(\"div\",{\"aria-activedescendant\":a?m:null,\"aria-autocomplete\":a?n:null,\"aria-controls\":a?p:null,\"aria-describedby\":q,\"aria-expanded\":a?\"combobox\"===g?!!r:null:null,\"aria-label\":t,\"aria-labelledby\":u,\"aria-multiline\":v,\"aria-owns\":a?w:null,\"aria-required\":x,autoCapitalize:void 0!==e?String(e):void 0,autoComplete:y,autoCorrect:void 0!==f?String(f):void 0,className:z,contentEditable:a,\"data-testid\":E,id:A,ref:F,role:a?g:void 0,spellCheck:B,style:C,tabIndex:D})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalContentEditable = process.env.NODE_ENV === 'development' ? require('./LexicalContentEditable.dev.js') : require('./LexicalContentEditable.prod.js')\nmodule.exports = LexicalContentEditable;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"@lexical/utils\"),u=require(\"lexical\");\nfunction v(b,a,m,k,p){if(null===b||0===m.size&&0===k.size&&!p)return 0;var f=a._selection,c=b._selection;if(p)return 1;if(!(u.$isRangeSelection(f)&&u.$isRangeSelection(c)&&c.isCollapsed()&&f.isCollapsed()))return 0;p=a._nodeMap;let d=[];for(let g of m)m=p.get(g),void 0!==m&&d.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||d.push(k));if(0===d.length)return 0;if(1<d.length)return k=a._nodeMap,a=k.get(f.anchor.key),c=k.get(c.anchor.key),a&&c&&!b._nodeMap.has(a.__key)&&u.$isTextNode(a)&&\n1===a.__text.length&&1===f.anchor.offset?2:0;a=d[0];b=b._nodeMap.get(a.__key);if(!u.$isTextNode(b)||!u.$isTextNode(a)||b.__mode!==a.__mode)return 0;b=b.__text;a=a.__text;if(b===a)return 0;f=f.anchor;c=c.anchor;if(f.key!==c.key||\"text\"!==f.type)return 0;f=f.offset;c=c.offset;b=a.length-b.length;return 1===b&&c===f-1?2:-1===b&&c===f+1?3:-1===b&&c===f?4:0}\nfunction w(b,a){let m=Date.now(),k=0;return(p,f,c,d,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,d,g,b.isComposing()),t=(()=>{var l=null===c||c.editor===b,h=n.has(\"history-push\");if(!h&&l&&n.has(\"history-merge\"))return 0;if(null===p)return 1;const x=f._selection,y=p._selection;return 0<d.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===d.size&&(h=Array.from(d)[0],l=p._nodeMap.get(h),h=f._nodeMap.get(h),l=u.$isTextNode(l)&&u.$isTextNode(h)?l.__type===h.__type&&l.__text===\nh.__text&&l.__mode===h.__mode&&l.__detail===h.__detail&&l.__style===h.__style&&l.__format===h.__format&&l.__parent===h.__parent:!1,l)?0:1:null===y&&null!==x?0:2})();m=r;k=q;return t}}exports.createEmptyHistoryState=function(){return{current:null,redoStack:[],undoStack:[]}};\nexports.registerHistory=function(b,a,m){let k=w(b,m);m=({editorState:c,prevEditorState:d,dirtyLeaves:g,dirtyElements:n,tags:r})=>{const q=a.current,t=a.redoStack,l=a.undoStack,h=null===q?null:q.editorState;if(null===q||c!==h){g=k(d,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:d.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=e.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,d=a.undoStack;if(0!==d.length){let g=a.current,n=d.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===d.length&&b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);a.current=n||null;n&&n.editor.setEditorState(n.editorState.clone(n.undoSelection),{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.REDO_COMMAND,()=>{let c=a.redoStack;var d=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(d.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\nd=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=d||null;d&&d.editor.setEditorState(d.editorState,{tag:\"historic\"})}return!0},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_EDITOR_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!1},u.COMMAND_PRIORITY_EDITOR),b.registerCommand(u.CLEAR_HISTORY_COMMAND,()=>{a.undoStack=[];a.redoStack=[];a.current=null;return!0},u.COMMAND_PRIORITY_EDITOR),b.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>\n{p();f()}}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistory = process.env.NODE_ENV === 'development' ? require('./LexicalHistory.dev.js') : require('./LexicalHistory.prod.js')\nmodule.exports = LexicalHistory;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),history=require(\"@lexical/history\"),f=require(\"react\");function g(a,b,d=1E3){let e=f.useMemo(()=>b||history.createEmptyHistoryState(),[b]);f.useEffect(()=>history.registerHistory(a,e,d),[d,a,e])}exports.createEmptyHistoryState=history.createEmptyHistoryState;exports.HistoryPlugin=function({externalHistoryState:a}){let [b]=c.useLexicalComposerContext();g(b,a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHistoryPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalHistoryPlugin.dev.js') : require('./LexicalHistoryPlugin.prod.js')\nmodule.exports = LexicalHistoryPlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),g=require(\"react\"),h=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!1,ignoreInitialChange:e=!0,ignoreSelectionChange:f=!1,onChange:a}){let [b]=c.useLexicalComposerContext();h(()=>{if(a)return b.registerUpdateListener(({editorState:k,dirtyElements:l,dirtyLeaves:m,prevEditorState:n,tags:p})=>{f&&0===l.size&&0===m.size||d&&p.has(\"history-merge\")||e&&n.isEmpty()||a(k,b)})},[b,d,e,f,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalOnChangePlugin = process.env.NODE_ENV === 'development' ? require('./LexicalOnChangePlugin.dev.js') : require('./LexicalOnChangePlugin.prod.js')\nmodule.exports = LexicalOnChangePlugin;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=require(\"@lexical/list\"),c=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"react\"),e=require(\"@lexical/utils\"),f=require(\"lexical\");\nfunction g(a){d.useEffect(()=>e.mergeRegister(a.registerCommand(f.INDENT_CONTENT_COMMAND,()=>{b.indentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.OUTDENT_CONTENT_COMMAND,()=>{b.outdentList();return!1},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_ORDERED_LIST_COMMAND,()=>{b.insertList(a,\"number\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.INSERT_UNORDERED_LIST_COMMAND,()=>{b.insertList(a,\"bullet\");return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(b.REMOVE_LIST_COMMAND,\n()=>{b.removeList(a);return!0},f.COMMAND_PRIORITY_LOW),a.registerCommand(f.INSERT_PARAGRAPH_COMMAND,()=>b.$handleListInsertParagraph()?!0:!1,f.COMMAND_PRIORITY_LOW)),[a])}exports.ListPlugin=function(){let [a]=c.useLexicalComposerContext();d.useEffect(()=>{if(!a.hasNodes([b.ListNode,b.ListItemNode]))throw Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\");},[a]);g(a);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalListPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalListPlugin.dev.js') : require('./LexicalListPlugin.prod.js')\nmodule.exports = LexicalListPlugin;","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"prismjs\");require(\"prismjs/components/prism-clike\");require(\"prismjs/components/prism-javascript\");require(\"prismjs/components/prism-markup\");require(\"prismjs/components/prism-markdown\");require(\"prismjs/components/prism-c\");require(\"prismjs/components/prism-css\");require(\"prismjs/components/prism-objectivec\");require(\"prismjs/components/prism-sql\");require(\"prismjs/components/prism-python\");require(\"prismjs/components/prism-rust\");require(\"prismjs/components/prism-swift\");\nvar m=require(\"@lexical/utils\"),r=require(\"lexical\");let t={c:\"C\",clike:\"C-like\",css:\"CSS\",html:\"HTML\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",xml:\"XML\"},u={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function v(a){return u[a]||a}\nclass y extends r.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new y(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=z(a.theme,this.__highlightType);m.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=z(c.theme,a.__highlightType);c=z(c.theme,this.__highlightType);a!==c&&(a&&m.removeClassNamesFromElement(b,\na),c&&m.addClassNamesToElement(b,c));return d}static importJSON(a){let b=A(a.text,a.highlightType);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(){return this}}function z(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function A(a,b){return new y(a,b)}function C(a){return a instanceof y}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!r.$isLineBreakNode(a)););return b}function E(a){let b=null,c=a.getNextSiblings();for(c.unshift(a);0<c.length&&(a=c.shift(),C(a)&&(b=a),!r.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;\nclass G extends r.ElementNode{static getType(){return\"code\"}static clone(a){return new G(a.__language,a.__key)}constructor(a,b){super(b);this.__language=F(a)}createDOM(a){let b=document.createElement(\"code\");m.addClassNamesToElement(b,a.theme.code);b.setAttribute(\"spellcheck\",\"false\");(a=this.getLanguage())&&b.setAttribute(\"data-highlight-language\",a);return b}updateDOM(a,b){let c=this.__language;a=a.__language;c?c!==a&&b.setAttribute(\"data-highlight-language\",c):a&&b.removeAttribute(\"data-highlight-language\");\nreturn!1}static importDOM(){return{code:a=>null!=a.textContent&&/\\r?\\n/.test(a.textContent)?{conversion:H,priority:1}:null,div:()=>({conversion:I,priority:1}),pre:()=>({conversion:H,priority:0}),table:a=>J(a)?{conversion:aa,priority:4}:null,td:a=>{let b=a.closest(\"table\");return a.classList.contains(\"js-file-line\")?{conversion:ba,priority:4}:b&&J(b)?{conversion:K,priority:4}:null},tr:a=>(a=a.closest(\"table\"))&&J(a)?{conversion:K,priority:4}:null}}static importJSON(a){let b=L(a.language);b.setFormat(a.format);\nb.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(a){var b=this.getChildren(),c=b.length;if(2<=c&&\"\\n\"===b[c-1].getTextContent()&&\"\\n\"===b[c-2].getTextContent()&&a.isCollapsed()&&a.anchor.key===this.__key&&a.anchor.offset===c)return b[c-1].remove(),b[c-2].remove(),a=r.$createParagraphNode(),this.insertAfter(a),a;b=a.anchor.getNode();var d=D(b);if(null!=d){c=0;for(d=d.getTextContent();c<\nd.length&&/[\\t ]/.test(d[c]);)c+=1;if(0<c)return c=d.substring(0,c),c=A(c),b.insertAfter(c),a.insertNodes([r.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=r.$getSelection();return r.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=r.$createParagraphNode();this.getChildren().forEach(b=>a.append(b));this.replace(a);return!0}setLanguage(a){this.getWritable().__language=F(a)}getLanguage(){return this.getLatest().__language}}\nfunction L(a){return new G(a)}function M(a){return a instanceof G}function H(){return{node:L()}}function I(a){return{after:b=>{let c=a.parentNode;null!=c&&a!==c.lastChild&&b.push(r.$createLineBreakNode());return b},node:null!==a.style.fontFamily.match(\"monospace\")?L():null}}function aa(){return{node:L()}}function K(){return{node:null}}function ba(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(r.$createLineBreakNode());return b},node:null}}\nfunction J(a){return a.classList.contains(\"js-file-line-container\")}function N(a,b){var c=a.length;let d=-1;if(b)for(b=0;b<c;b++){let f=a[b];if(\" \"!==f&&\"\\t\"!==f){d=b;break}}else for(--c;-1<c;c--)if(b=a[c],\" \"!==b&&\"\\t\"!==b){d=c;break}return d}\nfunction O(a){let b=null,c=-1;var d=a.getPreviousSiblings();for(d.push(a);0<d.length;){var f=d.pop();if(C(f)){var g=f.getTextContent();g=N(g,!0);-1!==g&&(b=f,c=g)}if(r.$isLineBreakNode(f))break}if(null===b)for(a=a.getNextSiblings();0<a.length;){d=a.shift();if(C(d)&&(f=d.getTextContent(),f=N(f,!0),-1!==f)){b=d;c=f;break}if(r.$isLineBreakNode(d))break}return{node:b,offset:c}}\nfunction P(a){let b=null,c=-1;var d=a.getNextSiblings();for(d.unshift(a);0<d.length;){var f=d.shift();if(C(f)){var g=f.getTextContent();g=N(g,!1);-1!==g&&(b=f,c=g+1)}if(r.$isLineBreakNode(f))break}if(null===b)for(a=a.getPreviousSiblings();0<a.length;){d=a.pop();if(C(d)&&(f=d.getTextContent(),f=N(f,!1),-1!==f)){b=d;c=f+1;break}if(r.$isLineBreakNode(d))break}return{node:b,offset:c}}function Q(a,b){let c=a.getParent();M(c)?R(c,b):C(a)&&a.replace(r.$createTextNode(a.__text))}let S=!1;\nfunction R(a,b){S||(S=!0,void 0===a.getLanguage()&&a.setLanguage(\"javascript\"),b.update(()=>{ca(a,()=>{var c=a.getTextContent();c=e.tokenize(c,e.languages[a.getLanguage()||\"\"]||e.languages.javascript);c=T(c);var d=a.getChildren();let f=0;for(;f<d.length&&U(d[f],c[f]);)f++;var g=d.length;let l=c.length,h=Math.min(g,l)-f,k=0;for(;k<h;)if(k++,!U(d[g-k],c[l-k])){k--;break}d=f;g-=k;c=c.slice(f,l-k);let {from:n,to:p,nodesForReplacement:w}={from:d,nodesForReplacement:c,to:g};return n!==p||w.length?(a.splice(n,\np-n,w),!0):!1})},{onUpdate:()=>{S=!1},skipTransforms:!0}))}function T(a){let b=[];a.forEach(c=>{if(\"string\"===typeof c){c=c.split(\"\\n\");for(var d=0;d<c.length;d++){let f=c[d];f.length&&b.push(A(f));d<c.length-1&&b.push(r.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(A(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(A(d[0],c.type)):Array.isArray(d)&&b.push(...T(d))});return b}\nfunction ca(a,b){var c=r.$getSelection();if(r.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&r.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let l=c.getNode();g=d+l.getPreviousSiblings().reduce((h,k)=>h+(r.$isLineBreakNode(k)?0:k.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(l=>{if(r.$isTextNode(l)){let h=l.getTextContentSize();if(h>=g)return l.select(g,g),!0;g-=h}return!1}))}else b()}\nfunction U(a,b){return C(a)&&C(b)?a.__text===b.__text&&a.__highlightType===b.__highlightType:r.$isLineBreakNode(a)&&r.$isLineBreakNode(b)?!0:!1}function V(a){var b=r.$getSelection();if(!r.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!r.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&W(c,a);for(c=1;c<b.length;c++)d=b[c],r.$isLineBreakNode(b[c-1])&&C(d)&&W(d,a);return!0}\nfunction W(a,b){let c=a.getTextContent();b===r.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=A(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=r.$getSelection();if(!r.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,l=f.offset,h=d.getNode(),k=f.getNode();var n=a===r.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(k))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),n&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!n&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var p=D(h);let w=E(k);if(null==p||null==w)return!1;let B=p.getNodesBetween(w);for(let q=0;q<B.length;q++){let X=B[q];if(!C(X)&&!r.$isLineBreakNode(X))return!1}b.preventDefault();b.stopPropagation();b=n?p.getPreviousSibling():w.getNextSibling();if(!r.$isLineBreakNode(b))return!0;p=n?b.getPreviousSibling():b.getNextSibling();if(null==p)return!0;n=n?D(p):E(p);let x=null!=n?n:p;b.remove();B.forEach(q=>q.remove());a===r.KEY_ARROW_UP_COMMAND?(B.forEach(q=>x.insertBefore(q)),\nx.insertBefore(b)):(x.insertAfter(b),x=b,B.forEach(q=>{x.insertAfter(q);x=q}));c.setTextNodeRange(h,g,k,l);return!0}function Z(a,b){let c=r.$getSelection();if(!r.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),l=f.getNode();a=a===r.MOVE_TO_START;if(!C(g)||!C(l))return!1;let h,k;a?{node:h,offset:k}=O(l):{node:h,offset:k}=P(l);null!==h&&-1!==k&&c.setTextNodeRange(h,k,h,k);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=A;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=t;exports.CODE_LANGUAGE_MAP=u;exports.CodeHighlightNode=y;exports.CodeNode=G;exports.DEFAULT_CODE_LANGUAGE=\"javascript\";exports.getCodeLanguages=()=>Object.keys(e.languages).filter(a=>\"function\"!==typeof e.languages[a]).sort();exports.getDefaultCodeLanguage=()=>\"javascript\";exports.getEndOfCodeInLine=P;exports.getFirstCodeHighlightNodeOfLine=D;\nexports.getLanguageFriendlyName=function(a){a=v(a);return t[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=O;exports.normalizeCodeLang=v;\nexports.registerCodeHighlighting=function(a){if(!a.hasNodes([G,y]))throw Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");return m.mergeRegister(a.registerMutationListener(G,b=>{a.update(()=>{for(let [f,g]of b)if(\"destroyed\"!==g){var c=r.$getNodeByKey(f);if(null!==c)a:{var d=c;c=a.getElementByKey(d.getKey());if(null===c)break a;d=d.getChildren();let l=d.length;if(l===c.__cachedChildrenLength)break a;c.__cachedChildrenLength=l;let h=\"1\",k=1;for(let n=0;n<l;n++)r.$isLineBreakNode(d[n])&&\n(h+=\"\\n\"+ ++k);c.setAttribute(\"data-gutter\",h)}}})}),a.registerNodeTransform(G,b=>R(b,a)),a.registerNodeTransform(r.TextNode,b=>Q(b,a)),a.registerNodeTransform(y,b=>Q(b,a)),a.registerCommand(r.INDENT_CONTENT_COMMAND,()=>V(r.INDENT_CONTENT_COMMAND),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.OUTDENT_CONTENT_COMMAND,()=>V(r.OUTDENT_CONTENT_COMMAND),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.KEY_ARROW_UP_COMMAND,b=>Y(r.KEY_ARROW_UP_COMMAND,b),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.KEY_ARROW_DOWN_COMMAND,\nb=>Y(r.KEY_ARROW_DOWN_COMMAND,b),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.MOVE_TO_END,b=>Z(r.MOVE_TO_END,b),r.COMMAND_PRIORITY_LOW),a.registerCommand(r.MOVE_TO_START,b=>Z(r.MOVE_TO_START,b),r.COMMAND_PRIORITY_LOW))}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalCode = process.env.NODE_ENV === 'development' ? require('./LexicalCode.dev.js') : require('./LexicalCode.prod.js')\nmodule.exports = LexicalCode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"lexical\"),t=require(\"@lexical/code\"),A=require(\"@lexical/list\"),F=require(\"@lexical/rich-text\"),aa=require(\"@lexical/utils\"),G=require(\"@lexical/link\");function H(a,b){let c={};for(let d of a)a=b(d),c[a]?c[a].push(d):c[a]=[d];return c}function I(a){a=H(a,b=>b.type);return{element:a.element||[],textFormat:a[\"text-format\"]||[],textMatch:a[\"text-match\"]||[]}}let J=/[!-/:-@[-`{-~\\s]/;\nfunction ba(a){let b=I(a),c=b.textFormat.filter(d=>1===d.format.length);return()=>{let d=[];var e=h.$getRoot().getChildren();for(let f of e)e=ca(f,b.element,c,b.textMatch),null!=e&&d.push(e);return d.join(\"\\n\\n\")}}function ca(a,b,c,d){for(let e of b)if(b=e.export(a,f=>K(f,c,d)),null!=b)return b;return h.$isElementNode(a)?K(a,c,d):null}\nfunction K(a,b,c){let d=[];a=a.getChildren();a:for(let e of a){for(let f of c)if(a=f.export(e,k=>K(k,b,c),(k,p)=>L(k,p,b)),null!=a){d.push(a);continue a}h.$isLineBreakNode(e)?d.push(\"\\n\"):h.$isTextNode(e)?d.push(L(e,e.getTextContent(),b)):h.$isElementNode(e)&&d.push(K(e,b,c))}return d.join(\"\")}function L(a,b,c){let d=b.trim(),e=d,f=new Set;for(let p of c){c=p.format[0];let r=p.tag;if(M(a,c)&&!f.has(c)){f.add(c);var k=N(a,!0);M(k,c)||(e=r+e);k=N(a,!1);M(k,c)||(e+=r)}}return b.replace(d,e)}\nfunction N(a,b){let c=b?a.getPreviousSibling():a.getNextSibling();c||(a=a.getParentOrThrow(),a.isInline()&&(c=b?a.getPreviousSibling():a.getNextSibling()));for(;c;){if(h.$isElementNode(c)){if(!c.isInline())break;a=b?c.getLastDescendant():c.getFirstDescendant();if(h.$isTextNode(a))return a;c=b?c.getPreviousSibling():c.getNextSibling()}if(h.$isTextNode(c))return c;if(!h.$isElementNode(c))break}return null}function M(a,b){return h.$isTextNode(a)&&a.hasFormat(b)}let da=/^\\s{0,3}$/,O=/^```(\\w{1,10})?\\s?$/;\nfunction ea(a){let b=I(a),c=fa(b.textFormat);return d=>{var e=d.split(\"\\n\"),f=e.length;d=h.$getRoot();d.clear();for(let g=0;g<f;g++){var k=e[g];a:{var p=e,r=g;var n=d;var u=p[r].match(O);if(u)for(var q=r,l=p.length;++q<l;)if(p[q].match(O)){u=t.$createCodeNode(u[1]);p=h.$createTextNode(p.slice(r+1,q).join(\"\\n\"));u.append(p);n.append(u);n=[u,q];break a}n=[null,r]}let [m,w]=n;if(null!=m)g=w;else{n=k;l=d;var x=b.element;q=c;p=b.textMatch;r=n.trim();u=h.$createTextNode(r);k=h.$createParagraphNode();k.append(u);\nl.append(k);for(let {regExp:y,replace:v}of x)if(l=n.match(y)){u.setTextContent(n.slice(l[0].length));v(k,[u],l,!0);break}P(u,q,p);k.isAttached()&&0<r.length&&(n=k.getPreviousSibling(),h.$isParagraphNode(n)||F.$isQuoteNode(n)||A.$isListNode(n))&&(q=n,A.$isListNode(n)&&(n=n.getLastDescendant(),q=null==n?null:aa.$findMatchingParent(n,A.$isListItemNode)),null!=q&&0<q.getTextContentSize()&&(q.splice(q.getChildrenSize(),0,[h.$createLineBreakNode(),...k.getChildren()]),k.remove()))}}e=d.getChildren();for(let g of e)e=\ng,h.$isParagraphNode(e)?(f=e.getFirstChild(),e=null==f||1===e.getChildrenSize()&&h.$isTextNode(f)&&da.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction P(a,b,c){let d=a.getTextContent(),e=ha(d,b);if(e){if(e[0]===d)var f=a;else{var k=e.index||0,p=k+e[0].length;0===k?[f,r]=a.splitText(p):[n,f,r]=a.splitText(k,p)}f.setTextContent(e[2]);if(k=b.transformersByTag[e[1]])for(let u of k.format)f.hasFormat(u)||f.toggleFormat(u);f.hasFormat(\"code\")||P(f,b,c);n&&P(n,b,c);r&&P(r,b,c)}else a:for(b=a;b;){for(k of c)if(f=b.getTextContent().match(k.importRegExp)){var r=f.index||0;var n=r+f[0].length;0===r?[p,b]=b.splitText(n):[,p,b]=b.splitText(r,n);k.replace(p,\nf);continue a}break}}function ha(a,b){var c=a.match(b.openTagsRegExp);if(null==c)return null;for(let f of c){var d=f.replace(/^\\s/,\"\");c=b.fullMatchRegExpByTag[d];if(null!=c&&(c=a.match(c),d=b.transformersByTag[d],null!=c&&null!=d)){if(!1!==d.intraword)return c;var {index:e=0}=c;d=a[e-1];e=a[e+c[0].length];if(!(d&&!J.test(d)||e&&!J.test(e)))return c}}return null}\nfunction fa(a){let b={},c={},d=[];for(let e of a){({tag:a}=e);b[a]=e;let f=a.replace(/(\\*|\\^)/g,\"\\\\$1\");d.push(f);c[a]=new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp(\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}function Q(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(R(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function R(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet S=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},T=a=>(b,c,d)=>{var e=b.getPreviousSibling();const f=A.$createListItemNode(\"check\"===a?\"x\"===d[3]:void 0);A.$isListNode(e)&&e.getListType()===a?(e.append(f),b.remove()):(e=A.$createListNode(a,\"number\"===a?Number(d[2]):void 0),e.append(f),b.replace(e));f.append(...c);f.select(0,0);(b=Math.floor(d[1].length/4))&&f.setIndent(b)},U=(a,b,c)=>{const d=[];var e=a.getChildren();let f=0;for(const p of e)if(A.$isListItemNode(p)){if(1===p.getChildrenSize()&&\n(e=p.getFirstChild(),A.$isListNode(e))){d.push(U(e,b,c+1));continue}e=\" \".repeat(4*c);var k=a.getListType();k=\"number\"===k?`${a.getStart()+f}. `:\"check\"===k?`- [${p.getChecked()?\"x\":\" \"}] `:\"- \";d.push(e+k+b(p));f++}return d.join(\"\\n\")},V={dependencies:[F.HeadingNode],export:(a,b)=>{if(!F.$isHeadingNode(a))return null;const c=Number(a.getTag().slice(1));return\"#\".repeat(c)+\" \"+b(a)},regExp:/^(#{1,6})\\s/,replace:S(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},W={dependencies:[F.QuoteNode],\nexport:(a,b)=>{if(!F.$isQuoteNode(a))return null;a=b(a).split(\"\\n\");b=[];for(const c of a)b.push(\"> \"+c);return b.join(\"\\n\")},regExp:/^>\\s/,replace:(a,b,c,d)=>{if(d&&(c=a.getPreviousSibling(),F.$isQuoteNode(c))){c.splice(c.getChildrenSize(),0,[h.$createLineBreakNode(),...b]);c.select(0,0);a.remove();return}c=F.$createQuoteNode();c.append(...b);a.replace(c);c.select(0,0)},type:\"element\"},X={dependencies:[t.CodeNode],export:a=>{if(!t.$isCodeNode(a))return null;const b=a.getTextContent();return\"```\"+\n(a.getLanguage()||\"\")+(b?\"\\n\"+b:\"\")+\"\\n```\"},regExp:/^```(\\w{1,10})?\\s/,replace:S(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},Y={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?U(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:T(\"bullet\"),type:\"element\"},ia={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?U(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:T(\"check\"),type:\"element\"},ja={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?U(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:T(\"number\"),type:\"element\"},ka={format:[\"code\"],tag:\"`\",type:\"text-format\"},la={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},ma={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},na={format:[\"bold\"],tag:\"**\",type:\"text-format\"},pa={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},qa={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},ra={format:[\"italic\"],tag:\"*\",type:\"text-format\"},sa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},ta={dependencies:[G.LinkNode],export:(a,b,c)=>{if(!G.$isLinkNode(a))return null;b=`[${a.getTextContent()}](${a.getURL()})`;const d=a.getFirstChild();return 1===a.getChildrenSize()&&h.$isTextNode(d)?c(d,b):b},importRegExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\(([^(]+)\\))$/,replace:(a,b)=>{const [,c,d]=b;b=G.$createLinkNode(d);const e=h.$createTextNode(c);e.setFormat(a.getFormat());b.append(e);a.replace(b)},trigger:\")\",type:\"text-match\"},\nua=[V,W,X,Y,ja],va=[ka,la,ma,na,pa,ra,sa,qa],wa=[ta],Z=[...ua,...va,...wa];exports.$convertFromMarkdownString=function(a,b=Z){return ea(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=la;exports.BOLD_ITALIC_UNDERSCORE=ma;exports.BOLD_STAR=na;exports.BOLD_UNDERSCORE=pa;exports.CHECK_LIST=ia;exports.CODE=X;exports.ELEMENT_TRANSFORMERS=ua;exports.HEADING=V;exports.INLINE_CODE=ka;exports.ITALIC_STAR=ra;exports.ITALIC_UNDERSCORE=sa;exports.LINK=ta;\nexports.ORDERED_LIST=ja;exports.QUOTE=W;exports.STRIKETHROUGH=qa;exports.TEXT_FORMAT_TRANSFORMERS=va;exports.TEXT_MATCH_TRANSFORMERS=wa;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=Y;\nexports.registerMarkdownShortcuts=function(a,b=Z){let c=I(b),d=H(c.textFormat,({tag:f})=>f[f.length-1]),e=H(c.textMatch,({trigger:f})=>f);for(let f of b)if(b=f.type,(\"element\"===b||\"text-match\"===b)&&!a.hasNodes(f.dependencies))throw Error(\"Minified Lexical error #79; visit https://lexical.dev/docs/error?code=79 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");return a.registerUpdateListener(({tags:f,dirtyLeaves:k,editorState:p,prevEditorState:r})=>\n{if(!f.has(\"historic\")){var n=p.read(h.$getSelection);f=r.read(h.$getSelection);if(h.$isRangeSelection(f)&&h.$isRangeSelection(n)&&n.isCollapsed()){r=n.anchor.key;var u=n.anchor.offset,q=p._nodeMap.get(r);h.$isTextNode(q)&&k.has(r)&&(1===u||u===f.anchor.offset+1)&&a.update(()=>{if(!q.hasFormat(\"code\")){var l=q.getParent();if(null!==l&&!t.$isCodeNode(l)){var x=n.anchor.offset;b:{var g=c.element,m=l.getParent();if(h.$isRootNode(m)&&l.getFirstChild()===q&&(m=q.getTextContent(),\" \"===m[x-1]))for(let {regExp:C,\nreplace:D}of g)if((g=m.match(C))&&g[0].length===x){m=q.getNextSiblings();let [E,oa]=q.splitText(x);E.remove();m=oa?[oa,...m]:m;D(l,m,g,!1);l=!0;break b}l=!1}if(!l){b:{g=q.getTextContent();l=e[g[x-1]];if(null!=l){x<g.length&&(g=g.slice(0,x));for(y of l)if(l=g.match(y.regExp),null!==l){g=l.index||0;m=g+l[0].length;var w=void 0;0===g?[w]=q.splitText(m):[,w]=q.splitText(g,m);w.selectNext(0,0);y.replace(w,l);var y=!0;break b}}y=!1}if(!y)b:{m=q.getTextContent();--x;var v=m[x];if(y=d[v])for(let C of y){var {tag:B}=\nC;y=B.length;let D=x-y+1;if(!(1<y&&!R(m,D,B,0,y)||\" \"===m[D-1])&&(w=m[x+1],!1!==C.intraword||!w||J.test(w))){l=w=q;g=Q(m,D,B);for(var z=l;0>g&&(z=z.getPreviousSibling())&&!h.$isLineBreakNode(z);)h.$isTextNode(z)&&(g=z.getTextContent(),l=z,g=Q(g,g.length,B));if(!(0>g||l===w&&g+y===D||(B=l.getTextContent(),0<g&&B[g-1]===v||(z=B[g-1],!1===C.intraword&&z&&!J.test(z))))){m=w.getTextContent();m=m.slice(0,D)+m.slice(x+1);w.setTextContent(m);m=l===w?m:B;l.setTextContent(m.slice(0,g)+m.slice(g+y));m=h.$getSelection();\nv=h.$createRangeSelection();h.$setSelection(v);x=x-y*(l===w?2:1)+1;v.anchor.set(l.__key,g,\"text\");v.focus.set(w.__key,x,\"text\");for(let E of C.format)v.hasFormat(E)||v.formatText(E);v.anchor.set(v.focus.key,v.focus.offset,v.focus.type);for(let E of C.format)v.hasFormat(E)&&v.toggleFormat(E);h.$isRangeSelection(m)&&(v.format=m.format);break b}}}}}}}})}}})}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdown = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdown.dev.js') : require('./LexicalMarkdown.prod.js')\nmodule.exports = LexicalMarkdown;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"lexical\"),h=require(\"react\");function k(b,a){return b.getEditorState().read(()=>{let f=e.$getNodeByKey(a);return null===f?!1:f.isSelected()})}\nexports.useLexicalNodeSelection=function(b){let [a]=c.useLexicalComposerContext(),[f,l]=h.useState(()=>k(a,b));h.useEffect(()=>a.registerUpdateListener(()=>{l(k(a,b))}),[a,b]);let m=h.useCallback(g=>{a.update(()=>{let d=e.$getSelection();e.$isNodeSelection(d)||(d=e.$createNodeSelection(),e.$setSelection(d));g?d.add(b):d.delete(b)})},[a,b]),n=h.useCallback(()=>{a.update(()=>{const g=e.$getSelection();e.$isNodeSelection(g)&&g.clear()})},[a]);return[f,m,n]}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst useLexicalNodeSelection = process.env.NODE_ENV === 'development' ? require('./useLexicalNodeSelection.dev.js') : require('./useLexicalNodeSelection.prod.js')\nmodule.exports = useLexicalNodeSelection;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),n=require(\"lexical\"),p=require(\"react\");let q=n.createCommand();\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),l=p.useRef(null),[e,g,m]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&n.$isNodeSelection(n.$getSelection())&&(c.preventDefault(),c=n.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(n.CLICK_COMMAND,c=>c.target===l.current?(c.shiftKey||m(),g(!e),!0):!1,n.COMMAND_PRIORITY_LOW),f.registerCommand(n.KEY_DELETE_COMMAND,k,n.COMMAND_PRIORITY_LOW),f.registerCommand(n.KEY_BACKSPACE_COMMAND,\nk,n.COMMAND_PRIORITY_LOW)),[m,f,e,k,g]);return p.createElement(\"hr\",{ref:l,className:e?\"selected\":void 0})}\nclass u extends n.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}exportJSON(){return{type:\"horizontalrule\",version:1}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isTopLevel(){return!0}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}function v(){return new u}function t(b){return b instanceof u}\nexports.$createHorizontalRuleNode=v;exports.$isHorizontalRuleNode=t;exports.HorizontalRuleNode=u;exports.INSERT_HORIZONTAL_RULE_COMMAND=q\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalHorizontalRuleNode = process.env.NODE_ENV === 'development' ? require('./LexicalHorizontalRuleNode.dev.js') : require('./LexicalHorizontalRuleNode.prod.js')\nmodule.exports = LexicalHorizontalRuleNode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var c=require(\"@lexical/markdown\"),d=require(\"@lexical/react/LexicalComposerContext\"),e=require(\"@lexical/react/LexicalHorizontalRuleNode\"),f=require(\"react\");let g=[{dependencies:[e.HorizontalRuleNode],export:a=>e.$isHorizontalRuleNode(a)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(a,b,k,h)=>{b=e.$createHorizontalRuleNode();h||null!=a.getNextSibling()?a.replace(b):a.insertBefore(b);b.selectNext()},type:\"element\"},...c.TRANSFORMERS];exports.DEFAULT_TRANSFORMERS=g;\nexports.MarkdownShortcutPlugin=function({transformers:a=g}){let [b]=d.useLexicalComposerContext();f.useEffect(()=>c.registerMarkdownShortcuts(b,a),[b,a]);return null}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict'\nconst LexicalMarkdownShortcutPlugin = process.env.NODE_ENV === 'development' ? require('./LexicalMarkdownShortcutPlugin.dev.js') : require('./LexicalMarkdownShortcutPlugin.prod.js')\nmodule.exports = LexicalMarkdownShortcutPlugin;","import {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode} from '../nodes/CodeBlockNode';\n\nexport const HR = {\n dependencies: [], // todo: docs a bit unclear regarding the usage of this property, but required as of 0.4.0 https://github.com/facebook/lexical/pull/2910\n export: (node) => {\n return $isHorizontalRuleNode(node) ? '---' : null;\n },\n regExp: /^(---|\\*\\*\\*|___)\\s?$/,\n replace: (parentNode, _1, _2, isImport) => {\n const line = $createHorizontalRuleNode();\n\n // TODO: Get rid of isImport flag\n if (isImport || parentNode.getNextSibling() != null) { // eslint-disable-line\n parentNode.replace(line);\n } else {\n parentNode.insertBefore(line);\n }\n\n line.selectNext();\n },\n type: 'element'\n};\n\nexport const CODE_BLOCK = {\n dependencies: [], // todo: docs a bit unclear regarding the usage of this property, but required as of 0.4.0\n export: (node) => {\n if (!$isCodeBlockNode(node)) {\n return null;\n }\n const textContent = node.getTextContent();\n return (\n '```' +\n (node.getLanguage() || '') +\n (textContent ? '\\n' + textContent : '') +\n '\\n' +\n '```'\n );\n },\n regExp: /^```(\\w{1,10})?\\s/,\n replace: (textNode, match) => {\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\nexport const ELEMENT_TRANSFORMERS = [\n HEADING,\n QUOTE,\n UNORDERED_LIST,\n ORDERED_LIST,\n HR,\n CODE_BLOCK\n];\n\nexport const DEFAULT_TRANSFORMERS = [\n ...ELEMENT_TRANSFORMERS,\n ...TEXT_FORMAT_TRANSFORMERS,\n ...TEXT_MATCH_TRANSFORMERS\n];\n\nexport default function MarkdownShortcutPlugin({transformers = DEFAULT_TRANSFORMERS}) {\n return LexicalMarkdownShortcutPlugin({transformers});\n}\n","import {$isAtNodeEnd} from '@lexical/selection';\n\nexport function getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n","const VERTICAL_GAP = 10;\n\nexport function setFloatingElemPosition(\n targetRect,\n floatingElem,\n anchorElem,\n options = {}\n) {\n options = Object.assign({\n verticalGap: VERTICAL_GAP,\n controlOpacity: true\n }, options);\n\n const scrollerElem = anchorElem.parentElement;\n\n if (targetRect === null || !scrollerElem) {\n if (options.controlOpacity) {\n floatingElem.style.opacity = '0';\n }\n floatingElem.style.top = '-10000px';\n floatingElem.style.left = '-10000px';\n\n return;\n }\n\n const floatingElemRect = floatingElem.getBoundingClientRect();\n const anchorElementRect = anchorElem.getBoundingClientRect();\n const editorScrollerRect = scrollerElem.getBoundingClientRect();\n\n let top = targetRect.top - floatingElemRect.height - options.verticalGap;\n let left = targetRect.left + targetRect.width / 2 - floatingElemRect.width / 2;\n\n if (left < editorScrollerRect.left) {\n left = editorScrollerRect.left;\n }\n\n if (left + floatingElemRect.width > editorScrollerRect.right) {\n left = editorScrollerRect.right - floatingElemRect.width;\n }\n\n top -= anchorElementRect.top;\n left -= anchorElementRect.left;\n\n if (options.controlOpacity) {\n floatingElem.style.opacity = '1';\n }\n floatingElem.style.top = `${top}px`;\n floatingElem.style.left = `${left}px`;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nexport function getDOMRangeRect(\n nativeSelection,\n rootElement,\n) {\n const domRange = nativeSelection.getRangeAt(0);\n\n let rect;\n\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) { // eslint-disable-line eqeqeq\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n return rect;\n}\n","export function getScrollParent(node) {\n const isElement = node instanceof HTMLElement;\n const overflowY = isElement && window.getComputedStyle(node).overflowY;\n const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (!node) {\n return null;\n } else if (isScrollable && node.scrollHeight >= node.clientHeight) {\n return node;\n }\n\n return getScrollParent(node.parentNode) || document.body;\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy40MTIgNi4yMTdoMS4xNzZjMS4yNzYgMCAyLjIzNi0uNzczIDIuMjM2LTEuNjA4IDAtLjgzNS0uOTYtMS42MDktMi4yMzYtMS42MDlINS43NjV2My4yMTdoMS42NDd6TTUuNzY1IDEzSDkuNDdDMTAuODc1IDEzIDEyIDExLjkyIDEyIDEwLjYwOXMtMS4xMjQtMi4zOTItMi41My0yLjM5Mkg1Ljc2NlYxM3ptLTIgMFYzSDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNS41ODhjMi4yOTcgMCA0LjIzNiAxLjU2MyA0LjIzNiAzLjYwOSAwIC44NzctLjM1NyAxLjY2Ni0uOTQ1IDIuMjhDMTMuMTUgNy42NjUgMTQgOS4wMzcgMTQgMTAuNjEgMTQgMTMuMDQzIDExLjk2MyAxNSA5LjQ3IDE1SDNjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoLjc2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMTUgM0w2LjEwNCAxM2guODExYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoMS43NjdMOS44MTMgM0g5Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDQuOTE1Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDEyLjE1eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNCA3aDhWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NS44OTdjLjAwMy4wMzQuMDA1LjA2OC4wMDUuMTAzIDAgLjAzNS0uMDAyLjA3LS4wMDUuMTAzVjE0YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjlINHY1YzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xVjJjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxdjV6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiA4aDRWNS40ODNjMC0uNTUyLjQ0OC0xIDEtMXMxIC40NDggMSAxVjEzYzAgLjU1Mi0uNDQ4IDEtMSAxcy0xLS40NDgtMS0xdi0zSDZ2M2MwIC41NTItLjQ0OCAxLTEgMXMtMS0uNDQ4LTEtMVY1LjQ4M2MwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDFWOHoiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","import React, {useEffect} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n $createParagraphNode,\n $getSelection,\n $isRangeSelection,\n $isTextNode,\n COMMAND_PRIORITY_LOW,\n FORMAT_TEXT_COMMAND,\n SELECTION_CHANGE_COMMAND\n} from 'lexical';\nimport {\n $wrapLeafNodesInElements\n} from '@lexical/selection';\nimport {\n $createHeadingNode,\n $isHeadingNode,\n $createQuoteNode\n} from '@lexical/rich-text';\nimport {\n $isListNode,\n ListNode\n} from '@lexical/list';\nimport {\n $getNearestNodeOfType,\n mergeRegister\n} from '@lexical/utils';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$createAsideNode} from '../nodes/AsideNode';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {setFloatingElemPosition} from '../utils/setFloatingElemPosition';\nimport {getDOMRangeRect} from '../utils/getDOMRangeRect';\nimport {getScrollParent} from '../utils/getScrollParent';\n\nimport {ReactComponent as BoldIcon} from '../assets/icons/kg-bold.svg';\nimport {ReactComponent as ItalicIcon} from '../assets/icons/kg-italic.svg';\nimport {ReactComponent as HeadingOneIcon} from '../assets/icons/kg-heading-1.svg';\nimport {ReactComponent as HeadingTwoIcon} from '../assets/icons/kg-heading-2.svg';\nimport {ReactComponent as QuoteOneIcon} from '../assets/icons/kg-quote-1.svg';\nimport {ReactComponent as QuoteTwoIcon} from '../assets/icons/kg-quote-2.svg';\n\nconst blockTypeToBlockName = {\n bullet: 'Bulleted List',\n check: 'Check List',\n code: 'Code Block',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n number: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n aside: 'Aside'\n};\n\nfunction MenuItem({label, isActive, onClick, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n onClick={onClick}\n aria-label={label}\n data-kg-active={isActive}\n >\n <Icon className={isActive ? 'fill-green' : 'fill-white'} />\n </button>\n </li>\n );\n}\n\nfunction MenuSeparator() {\n return (\n <li className=\"bg-grey-900 m-0 mx-1 h-5 w-px\"></li>\n );\n}\n\nfunction FloatingFormatToolbar({editor, anchorElem, blockType, isBold, isItalic}) {\n const toolbarRef = React.useRef(null);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapLeafNodesInElements(selection, () => $createParagraphNode());\n }\n });\n }\n };\n\n const formatHeading = (headingSize) => {\n if (blockType !== headingSize) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapLeafNodesInElements(selection, () => $createHeadingNode(headingSize));\n }\n });\n }\n };\n\n const formatQuote = () => {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n if (blockType === 'quote') {\n $wrapLeafNodesInElements(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapLeafNodesInElements(selection, () => $createParagraphNode());\n } else {\n $wrapLeafNodesInElements(selection, () => $createQuoteNode());\n }\n }\n });\n };\n\n const updateFloatingToolbar = React.useCallback(() => {\n const toolbarElement = toolbarRef.current;\n\n if (!toolbarElement) {\n return;\n }\n\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n selection !== null &&\n nativeSelection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const rangeRect = getDOMRangeRect(nativeSelection, rootElement);\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }, [editor, anchorElem]);\n\n React.useEffect(() => {\n const scrollElement = getScrollParent(anchorElem);\n\n const update = () => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n };\n\n window.addEventListener('resize', update);\n if (scrollElement) {\n scrollElement.addEventListener('scroll', update);\n }\n\n return () => {\n window.removeEventListener('resize', update);\n if (scrollElement) {\n scrollElement.removeEventListener('scroll', update);\n }\n };\n }, [editor, updateFloatingToolbar, anchorElem]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n editorState.read(() => {\n updateFloatingToolbar();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateFloatingToolbar();\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n }, [editor, updateFloatingToolbar]);\n\n return (\n <div className=\"absolute\" ref={toolbarRef} data-kg-floating-toolbar>\n <ul className=\"text-md m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans font-normal text-white\">\n <MenuItem label=\"Format text as bold\" isActive={isBold} Icon={BoldIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold')} data-kg-toolbar-button=\"bold\" />\n <MenuItem label=\"Format text as italics\" isActive={isItalic} Icon={ItalicIcon} onClick={() => editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic')} data-kg-toolbar-button=\"italic\" />\n <MenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} Icon={HeadingOneIcon} onClick={() => (blockType === 'h2' ? formatParagraph() : formatHeading('h2'))} data-kg-toolbar-button=\"h2\" />\n <MenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} Icon={HeadingTwoIcon} onClick={() => (blockType === 'h3' ? formatParagraph() : formatHeading('h3'))} data-kg-toolbar-button=\"h3\" />\n <MenuSeparator />\n <MenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} Icon={blockType === 'aside' ? QuoteTwoIcon : QuoteOneIcon} onClick={() => (formatQuote())} data-kg-toolbar-button=\"quote\" />\n </ul>\n </div>\n );\n}\n\nfunction useFloatingFormatToolbar(editor, anchorElem) {\n const [isText, setIsText] = React.useState(false);\n const [isBold, setIsBold] = React.useState(false);\n const [isItalic, setIsItalic] = React.useState(false);\n const [blockType, setBlockType] = React.useState('paragraph');\n\n const updatePopup = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // Should not to pop up the floating toolbar when using IME input\n if (editor.isComposing()) {\n return;\n }\n const selection = $getSelection();\n const nativeSelection = window.getSelection();\n const rootElement = editor.getRootElement();\n\n if (\n nativeSelection !== null &&\n (\n !$isRangeSelection(selection) ||\n rootElement === null ||\n !rootElement.contains(nativeSelection.anchorNode)\n )\n ) {\n setIsText(false);\n return;\n }\n\n if (!$isRangeSelection(selection)) {\n return;\n }\n\n const anchorNode = getSelectedNode(selection);\n const element = anchorNode.getKey() === 'root'\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n\n // update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n\n if (elementDOM !== null) {\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList\n ? parentList.getListType()\n : element.getListType();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n\n if (type in blockTypeToBlockName) {\n setBlockType(type);\n }\n }\n }\n\n if (selection.getTextContent() !== '') {\n setIsText($isTextNode(anchorNode));\n } else {\n setIsText(false);\n }\n });\n }, [editor]);\n\n useEffect(() => {\n document.addEventListener('selectionchange', updatePopup);\n return () => {\n document.removeEventListener('selectionchange', updatePopup);\n };\n }, [updatePopup]);\n\n useEffect(() => {\n return editor.registerUpdateListener(() => {\n updatePopup();\n });\n }, [editor, updatePopup]);\n\n if (!isText) {\n return;\n }\n\n return createPortal(\n <FloatingFormatToolbar\n editor={editor}\n anchorElem={anchorElem}\n blockType={blockType}\n isBold={isBold}\n isItalic={isItalic}\n />,\n anchorElem\n );\n}\n\nexport default function FloatingFormatToolbarPlugin({anchorElem = document.body}) {\n const [editor] = useLexicalComposerContext();\n return useFloatingFormatToolbar(editor, anchorElem);\n}\n","import React from 'react';\nimport {RichTextPlugin} from '@lexical/react/LexicalRichTextPlugin';\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\nimport {HistoryPlugin} from '@lexical/react/LexicalHistoryPlugin';\nimport {OnChangePlugin} from '@lexical/react/LexicalOnChangePlugin';\nimport {ListPlugin} from '@lexical/react/LexicalListPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbar';\nimport '../styles/index.css';\n\nconst KoenigEditor = ({\n onChange,\n markdownTransformers\n}) => {\n const _onChange = React.useCallback((editorState) => {\n const json = editorState.toJSON();\n onChange?.(json);\n }, [onChange]);\n\n // we need an element reference for the container element that\n // any floating elements in plugins will be rendered inside\n const [floatingAnchorElem, setFloatingAnchorElem] = React.useState(null);\n const onRef = (_floatingAnchorElem) => {\n if (_floatingAnchorElem !== null) {\n setFloatingAnchorElem(_floatingAnchorElem);\n }\n };\n\n return (\n <div className=\"koenig-lexical\">\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<div className=\"text-grey-500 pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl\">Begin writing your post...</div>}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["c","require$$0","d","LexicalComposerContext_prod","a","b","LexicalComposerContext","LexicalComposerContext_1","aa","ba","ca","ea","fa","ha","ja","ka","la","ma","p","na","oa","pa","qa","ra","sa","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","r","Na","Oa","t","Pa","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","u","jb","x","f","e","g","h","k","m","l","n","q","v","w","kb","A","C","D","z","lb","B","mb","E","da","R","F","nb","pb","qb","rb","sb","tb","ub","vb","wb","xb","G","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","H","I","J","K","L","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","M","Qb","Rb","Sb","Tb","Ub","Vb","N","Zb","$b","ac","bc","cc","dc","ec","fc","O","P","Q","gc","S","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","T","Lc","Fc","Gc","Hc","Ic","Jc","Kc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","U","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","W","X","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Hd","Id","Jd","Kd","Ld","Md","Nd","Y","Z","Od","Pd","Qd","Rd","Sd","Td","Ud","V","Vd","Qa","ta","se","te","ob","Wb","Bd","ua","Cd","Dd","Xb","Ed","Yb","Fd","ue","Ra","ia","va","Gd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","ve","y","we","xe","ye","ze","Ae","Be","Ce","De","Lexical_prod","Lexical","Lexical_1","require$$1","require$$2","LexicalComposer_prod","LexicalComposer","LexicalComposer_1","LexicalUtils_prod","LexicalUtils","LexicalUtils_1","LexicalList_prod","LexicalList","LexicalList_1","LexicalSelection_prod","LexicalSelection","LexicalSelection_1","LexicalHtml_prod","LexicalHtml","LexicalHtml_1","require$$3","require$$4","LexicalClipboard_prod","LexicalClipboard","LexicalClipboard_1","LexicalRichText_prod","LexicalRichText","LexicalRichText_1","LexicalLink_prod","LexicalLink","LexicalLink_1","AsideNode","ElementNode","node","config","element","addClassNamesToElement","prevNode","dom","convertAsideElement","serializedNode","$createAsideNode","newBlock","$createParagraphNode","direction","paragraph","child","reactJsxRuntime_production_min","module","KoenigCardWrapperComponent","children","createCommand","HorizontalRuleComponent","KoenigCardWrapper","_jsx","HorizontalRuleNode","DecoratorNode","getType","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","style","display","getTextContent","isTopLevel","updateDOM","decorate","$isHorizontalRuleNode","CodeBlockComponent","className","code","language","nodeKey","editor","event","update","setCode","$getNodeByKey","target","value","updateCode","CodeBlockNode","constructor","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","setLanguage","codeBlockTheme","theme","codeBlock","base","focus","getKey","$isCodeBlockNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","KoenigComposer","initialEditorState","nodes","onError","initialConfig","React","useMemo","Object","assign","editorState","LexicalText_prod","LexicalText","LexicalText_1","LexicalDragon_prod","LexicalDragon","LexicalDragon_1","require$$5","require$$6","LexicalRichTextPlugin_prod","LexicalRichTextPlugin","LexicalRichTextPlugin_1","LexicalContentEditable_prod","LexicalContentEditable","LexicalContentEditable_1","LexicalHistory_prod","LexicalHistory","LexicalHistory_1","history","LexicalHistoryPlugin_prod","LexicalHistoryPlugin","LexicalHistoryPlugin_1","LexicalOnChangePlugin_prod","LexicalOnChangePlugin","LexicalOnChangePlugin_1","LexicalListPlugin_prod","LexicalListPlugin","LexicalListPlugin_1","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","err","src","scripts","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","async","container","env","parent","insertHighlightedCode","highlightedCode","worker","evt","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","stringify","s","aliases","attributes","matchPattern","pattern","pos","lookbehind","match","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","str","removeCount","from","to","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","global","tagName","includedCdataInside","def","attrName","string","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","multilineComment","rule","require$$12","require$$13","LexicalCode_prod","LexicalCode","LexicalCode_1","LexicalMarkdown_prod","LexicalMarkdown","LexicalMarkdown_1","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","replace","parentNode","_1","_2","isImport","line","getNextSibling","insertBefore","selectNext","CODE_BLOCK","textNode","codeBlockNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","selection","anchor","anchorNode","focusNode","$isAtNodeEnd","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","top","left","getDOMRangeRect","nativeSelection","rootElement","domRange","rect","getScrollParent","overflowY","isScrollable","SvgKgBold","props","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgQuote1","SvgKgQuote2","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","number","quote","aside","MenuItem","label","isActive","onClick","Icon","MenuSeparator","FloatingFormatToolbar","blockType","isBold","isItalic","toolbarRef","useRef","formatParagraph","$getSelection","$isRangeSelection","formatHeading","headingSize","$wrapLeafNodesInElements","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","useCallback","toolbarElement","current","window","getSelection","getRootElement","isCollapsed","contains","rangeRect","useEffect","scrollElement","getEditorState","read","addEventListener","removeEventListener","mergeRegister","registerUpdateListener","registerCommand","SELECTION_CHANGE_COMMAND","COMMAND_PRIORITY_LOW","BoldIcon","dispatchCommand","FORMAT_TEXT_COMMAND","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","QuoteTwoIcon","QuoteOneIcon","useFloatingFormatToolbar","isText","setIsText","useState","setIsBold","setIsItalic","setBlockType","updatePopup","isComposing","getTopLevelElementOrThrow","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","useLexicalComposerContext","KoenigEditor","onChange","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":"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"}
|