@tryghost/koenig-lexical 0.0.19 → 0.0.21
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":["../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-link.svg","../src/assets/icons/kg-quote.svg","../src/assets/icons/kg-img-regular.svg","../src/assets/icons/kg-img-wide.svg","../src/assets/icons/kg-img-full.svg","../src/assets/icons/kg-replace.svg","../src/assets/icons/kg-add.svg","../src/assets/icons/kg-snippet.svg","../src/assets/icons/plus.svg","../src/assets/icons/kg-card-type-image.svg","../src/assets/icons/kg-card-type-markdown.svg","../src/assets/icons/kg-card-type-html.svg","../src/assets/icons/kg-card-type-gallery.svg","../src/assets/icons/kg-card-type-divider.svg","../src/assets/icons/kg-card-type-bookmark.svg","../src/assets/icons/kg-card-type-email.svg","../src/assets/icons/kg-card-type-email-cta.svg","../src/assets/icons/kg-card-type-preview.svg","../src/assets/icons/kg-card-type-button.svg","../src/assets/icons/kg-card-type-callout.svg","../src/assets/icons/kg-card-type-gif.svg","../src/assets/icons/kg-card-type-toggle.svg","../src/assets/icons/kg-card-type-video.svg","../src/assets/icons/kg-card-type-audio.svg","../src/assets/icons/kg-card-type-file.svg","../src/assets/icons/kg-card-type-product.svg","../src/assets/icons/kg-card-type-header.svg","../src/assets/icons/kg-card-type-youtube.svg","../src/assets/icons/kg-card-type-twitter.svg","../src/assets/icons/kg-card-type-unsplash.svg","../src/assets/icons/kg-card-type-vimeo.svg","../src/assets/icons/kg-card-type-codepen.svg","../src/assets/icons/kg-card-type-spotify.svg","../src/assets/icons/kg-card-type-soundcloud.svg","../src/assets/icons/kg-card-type-nft.svg","../src/assets/icons/kg-card-type-other.svg","../src/assets/icons/kg-card-type-snippet.svg","../src/assets/icons/kg-img-placeholder.svg","../src/assets/icons/kg-gallery-placeholder.svg","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/DesignSandbox.jsx","../../../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/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../src/context/CardContext.jsx","../src/components/KoenigCardWrapper.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/nodes/CodeBlockNode.jsx","../src/context/KoenigComposerContext.jsx","../src/nodes/ImageNode.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","../src/plugins/KoenigBehaviourPlugin.jsx","../../../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/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/components/PlusMenu.jsx","../src/components/CardMenu.jsx","../src/utils/buildCardMenu.jsx","../src/plugins/PlusCardMenuPlugin.jsx","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/components/ToolbarMenu.jsx","../src/plugins/FloatingFormatToolbarPlugin.jsx","../src/plugins/ImagePlugin.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["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,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02LjQgMTEuNjg4Yy40LS4zODIgMS4wMzItLjM2OSAxLjQxNS4wMy4zODIuMzk5LjM2OCAxLjAzMi0uMDMgMS40MTRsLTEuMDU1IDEuMDFjLTEuMjA5IDEuMjEtMy4xNyAxLjIxLTQuMzggMGwtLjQ5NC0uNDk0Yy0xLjIwOC0xLjIwOS0xLjIwOC0zLjE3LjAwMS00LjM3N0w1LjA3IDYuMDU4YzEuMjEtMS4yMSAzLjE3LTEuMjEgNC4zOCAwIC4zOS4zOS4zOSAxLjAyNCAwIDEuNDE0LS4zOTEuMzktMS4wMjQuMzktMS40MTUgMC0uNDI4LS40MjgtMS4xMjItLjQyOC0xLjU1MSAwbC0zLjIxMyAzLjIxM2MtLjQyNy40MjctLjQyNyAxLjEyMiAwIDEuNTVsLjQ5NC40OTRjLjQyOC40MjggMS4xMjMuNDI4IDEuNTY2LS4wMTVsMS4wNy0xLjAyNnptMy4wMzctNy4yMTJjLS4zOTguMzgzLTEuMDMuMzcyLTEuNDE0LS4wMjUtLjM4NC0uMzk4LS4zNzMtMS4wMy4wMjUtMS40MTRsMS4yMjItMS4xOGMxLjIxLTEuMjA5IDMuMTY5LTEuMjA5IDQuMzc5IDBsLjQ5My40OTRjMS4yMSAxLjIwOSAxLjIxIDMuMTcuMDEzIDQuMzY2bC0zLjIzNyAzLjM1N2MtMS4yMSAxLjIxLTMuMTcgMS4yMS00LjM4IDAtLjM5LS4zOTEtLjM4OS0xLjAyNS4wMDItMS40MTUuMzktLjM5IDEuMDI0LS4zOSAxLjQxNC4wMDEuNDI4LjQyOSAxLjEyMS40MjkgMS41MzcuMDEzbDMuMjM4LTMuMzU4Yy40MjgtLjQyNy40MjgtMS4xMjEgMC0xLjU1bC0uNDk0LS40OTNjLS40MjktLjQyOS0xLjEyMy0uNDI5LTEuNTYzLjAxMkw5LjQzNyA0LjQ3NnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDhoMmMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxSDNjLS41NTIgMC0xLS40NDgtMS0xVjUuMDgyYzAtMS4xNzYuOTA2LTIuMTIgMi41MzgtMi45NjkuNDktLjI1NSAxLjA5NC0uMDY1IDEuMzQ5LjQyNS4yNTUuNDkuMDY1IDEuMDk0LS40MjUgMS4zNDktLjU3OC4zLS45OTMuNTg5LTEuMjQuODQ3LS4xNjguMTc0LS4yMjIuMjg2LS4yMjIuMzQ4Vjh6bTkgMGMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxaC0zYy0uNTUyIDAtMS0uNDQ4LTEtMVY1LjA4MmMwLTEuMTc2LjkwNi0yLjEyIDIuNTM4LTIuOTY5LjQ5LS4yNTUgMS4wOTQtLjA2NSAxLjM0OS40MjUuMjU1LjQ5LjA2NSAxLjA5NC0uNDI1IDEuMzQ5LS41NzguMy0uOTkzLjU4OS0xLjI0Ljg0Ny0uMTY4LjE3NC0uMjIyLjI4Ni0uMjIyLjM0OFY4aDJ6IiBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUgyek0yIDE1Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDEyYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii42Ii8+PHBhdGggZD0iTTIgNWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXY0LjAwMWMwIC41NTItLjQ0OCAxLTEgMUgyYy0uNTUyIDAtMS0uNDQ4LTEtMVY2YzAtLjU1Mi40NDgtMSAxLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWg0Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDZ6TTYgMTVjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNGMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg2eiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDVoMTJjLjU1MiAwIDEgLjQ0OCAxIDF2NC4wMDFjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTFWNmMwLS41NTIuNDQ4LTEgMS0xeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTAgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnpNMTQgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnoiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iLjYiLz4KICAgICAgICA8cGF0aCBkPSJNMTAuNjI2IDdMOS4zMTIgNS42OTFjLS4zOTEtLjM5LS4zOTMtMS4wMjMtLjAwMy0xLjQxNHMxLjAyMy0uMzkyIDEuNDE0LS4wMDNsMy4wMjkgMy4wMTdjLjM5LjM4OS4zOTIgMS4wMi4wMDUgMS40MTJsLTMuMDI5IDMuMDU5Yy0uMzg4LjM5Mi0xLjAyMi4zOTUtMS40MTQuMDA3LS4zOTItLjM4OS0uMzk2LTEuMDIyLS4wMDctMS40MTRMMTAuNjQ4IDlINS40MTVsMS4zNDIgMS4zNTVjLjM4OC4zOTIuMzg1IDEuMDI1LS4wMDcgMS40MTQtLjM5My4zODgtMS4wMjYuMzg1LTEuNDE1LS4wMDdMMi4zMDcgOC43MDNjLS4zODgtLjM5Mi0uMzg2LTEuMDIzLjAwNS0xLjQxMkw1LjM0IDQuMjc0Yy4zOTEtLjM5IDEuMDI1LS4zODggMS40MTQuMDAzLjM5LjM5MS4zODkgMS4wMjUtLjAwMiAxLjQxNEw1LjQzOCA3aDUuMTg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgOWg1Yy41NTIgMCAxIC40NDggMSAxdjRjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTF2LTRjMC0uNTUyLjQ0OC0xIDEtMXpNOSAxaDVjLjU1MiAwIDEgLjQ0OCAxIDF2NGMwIC41NTItLjQ0OCAxLTEgMUg5Yy0uNTUyIDAtMS0uNDQ4LTEtMVYyYzAtLjU1Mi40NDgtMSAxLTF6TTQuNSA1Ljc3MmwxLjE1LTEuMTc1Yy4xOTItLjE5OC41MDktLjIwMS43MDYtLjAwOC4xOTguMTkzLjIwMS41MS4wMDguNzA3TDQuMzgyIDcuMzIyYy0uMDkxLjEwOS0uMjI5LjE3OC0uMzgyLjE3OC0uMTMgMC0uMjYtLjA1LS4zNTctLjE0OEwxLjYxIDUuMjk4Yy0uMTk0LS4xOTYtLjE5My0uNTEzLjAwNC0uNzA3LjE5Ni0uMTk0LjUxMi0uMTkzLjcwNy4wMDRMMy41IDUuNzg1VjNjMC0uODI4LjY3Mi0xLjUgMS41LTEuNWgxYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNUg1Yy0uMjc2IDAtLjUuMjI0LS41LjV2Mi43NzJ6bTcgNC40NTZsLTEuMTUgMS4xNzVjLS4xOTIuMTk4LS41MDkuMjAxLS43MDYuMDA4LS4xOTgtLjE5My0uMjAxLS41MS0uMDA4LS43MDdsMS45ODItMi4wMjZjLjA5MS0uMTA5LjIyOS0uMTc4LjM4Mi0uMTc4LjEzIDAgLjI2LjA1LjM1Ny4xNDhsMi4wMzIgMi4wNTRjLjE5NC4xOTYuMTkzLjUxMy0uMDA0LjcwNy0uMTk2LjE5NC0uNTEyLjE5My0uNzA3LS4wMDRsLTEuMTc4LTEuMTlWMTNjMCAuODI4LS42NzIgMS41LTEuNSAxLjVoLTFjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgxYy4yNzYgMCAuNS0uMjI0LjUtLjV2LTIuNzcyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDdoNWMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg5djVjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWOUgyYy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDVWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAzVjEzSDguNzg1NzlMMTMgOC43ODU3OVYzSDNaTTEuNTI3MjEgMS41MjcyMUMxLjg2NDc3IDEuMTg5NjQgMi4zMjI2MSAxIDIuOCAxSDEzLjJDMTMuNjc3NCAxIDE0LjEzNTIgMS4xODk2NCAxNC40NzI4IDEuNTI3MjFDMTQuODEwNCAxLjg2NDc3IDE1IDIuMzIyNjEgMTUgMi44VjguODY4OEMxNC45OTk5IDkuMzQ1ODUgMTQuODEwNCA5LjgwMzU3IDE0LjQ3MzIgMTAuMTQxTDEwLjE0MTIgMTQuNDczQzkuODAzOCAxNC44MTAyIDkuMzQ2MDcgMTQuOTk5OSA4Ljg2OTAxIDE1SDIuOEMyLjMyMjYxIDE1IDEuODY0NzcgMTQuODEwNCAxLjUyNzIxIDE0LjQ3MjhDMS4xODk2NCAxNC4xMzUyIDEgMTMuNjc3NCAxIDEzLjJWMi44QzEgMi4zMjI2MSAxLjE4OTY0IDEuODY0NzcgMS41MjcyMSAxLjUyNzIxWiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxMEgxNEMxNC41NTIzIDEwIDE1IDkuNTUyMjggMTUgOUMxNSA4LjQ0NzcyIDE0LjU1MjMgOCAxNCA4SDkuODQ2MDJDOS4zNTY0MyA4IDguODg2ODggOC4xOTQ0OSA4LjU0MDY5IDguNTQwNjlDOC4xOTQ0OSA4Ljg4Njg4IDggOS4zNTY0MyA4IDkuODQ2MDJWMTRDOCAxNC41NTIzIDguNDQ3NzIgMTUgOSAxNUM5LjU1MjI4IDE1IDEwIDE0LjU1MjMgMTAgMTRWMTBaIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEyIDEuNXYyMU0xLjUgMTJoMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzMwY2Y0MyIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy43NzggMTIuMTExYzAgMy4xMTEtMS41NTYgNC42NjctNC42NjcgNC42NjctMy4xMTEgMC00LjY2Ny0xLjU1Ni00LjY2Ny00LjY2N0MxNC40NDQgOSAxNiA3LjQ0NCAxOS4xMTEgNy40NDRjMy4xMTEgMCA0LjY2NyAxLjU1NiA0LjY2NyA0LjY2N3pNMTkuMTExIDUuNWMuNzc4IDAgMS4xNjctLjM4OSAxLjE2Ny0xLjE2N3YtLjc3N2MwLS40NS0uMTk1LS43ODYtLjU4NC0xLjAxLS4zODgtLjIyNS0uNzc3LS4yMjUtMS4xNjYgMC0uMzkuMjI0LS41ODQuNTYtLjU4NCAxLjAxdi43NzdjMCAuNzc4LjM5IDEuMTY3IDEuMTY3IDEuMTY3ek0xMi43ODggNy40MzVjLjU1LjU1MiAxLjEuNTU0IDEuNjUzLjAwNC41NTItLjU1LjU1My0xLjEuMDAzLTEuNjUzbC0uNTQ5LS41NWMtLjU1LS41NTItMS4xMDEtLjU1NC0xLjY1My0uMDA0LS41NTMuNTUtLjU1NCAxLjEwMS0uMDA1IDEuNjU0bC41NS41NXpNMTAuNTU2IDEzLjI3OGguNzc3Yy43NzggMCAxLjE2Ny0uMzkgMS4xNjctMS4xNjcgMC0uNzc4LS4zODktMS4xNjctMS4xNjctMS4xNjdoLS43NzdjLS43NzggMC0xLjE2Ny4zOS0xLjE2NyAxLjE2NyAwIC43NzguMzg5IDEuMTY3IDEuMTY3IDEuMTY3ek0yNS40MzQgMTYuNzg3Yy0uNTQ5LS41MTItMS4wODktLjUwMi0xLjYyLjAyOS0uNTMuNTMtLjU0IDEuMDctLjAyOCAxLjYybC41NDkuNTVjLjU1LjU1IDEuMS41NSAxLjY1IDAgLjU1LS41NS41NS0xLjEgMC0xLjY1bC0uNTUtLjU0OXpNMjUuNzIyIDEyLjExMWMwIC43NzguMzkgMS4xNjcgMS4xNjcgMS4xNjdoLjc3OGMuNzc3IDAgMS4xNjYtLjM5IDEuMTY2LTEuMTY3IDAtLjc3OC0uMzg5LTEuMTY3LTEuMTY2LTEuMTY3aC0uNzc4Yy0uMzIyIDAtLjU5Ny4xMTQtLjgyNS4zNDItLjIyOC4yMjgtLjM0Mi41MDMtLjM0Mi44MjV6TTI0LjYxIDcuNzc5Yy4zMjMgMCAuNTk4LS4xMTQuODI0LS4zNDRsLjU1MS0uNTQ5Yy41NS0uNTUuNTUtMS4xIDAtMS42NS0uNTUtLjU1LTEuMS0uNTUtMS42NSAwbC0uNTUuNTVjLS4zNjYuMzY4LS40NS43OTItLjI1MSAxLjI3MS4xOTguNDguNTU3LjcyIDEuMDc2LjcyMnpNMjEuOTExIDIyLjM1NmMtLjc3MSAwLTEuNTIyLjEyLTIuMjU0LjM2NC0uMTI3LjA0Mi0uMjEuMTI2LS4yNS4yNTQtLjAzOS4xMjctLjAxOC4yNDQuMDYzLjM1IDEuMjgzIDEuNjg5IDIuMDcgMy41ODMgMi4zNjIgNS42ODQuMDIuMTQyLjEwMy4yMTQuMjQ3LjIxNGg0LjkwNmMuODM2IDAgMS40OTItLjM0MyAxLjk2Ny0xLjAzMS0uNzM3LTMuODktMy4wODQtNS44MzUtNy4wNDItNS44MzVoLjAwMXpNOS42NDQgMTkuOTY4Yy0yLjUxOC0uMDA0LTQuNzU4Ljc4My02LjcyIDIuMzYyLS4xLjA4LS4xNDkuMTgzLS4xNDYuMzF2NC4yYy4wMDQgMS41ODguOCAyLjM4MiAyLjM4OCAyLjM4MkgxOS44M2MuMTIyIDAgLjIyMi0uMDQ2LjMtLjE0LjA3Ny0uMDkzLjEwNS0uMi4wODItLjMxOS0xLjA4My01Ljg2My00LjYwNi04Ljc5NS0xMC41NjgtOC43OTV6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iI2ZiMmQ4ZCIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICAgICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTggMjB2LThsNCA0IDQtNHY4TTIyIDEyLjA3djcuOTE2TTE5LjUgMTcuNWwyLjQ4IDIuNTI1TDI0LjUgMTcuNSIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIgNGgyOHYyNEgyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2YzAtMi42NjctMS4zMzMtNC00LTRINGMtMS4xMDUgMC0yLjA0Ny4zOS0yLjgyOCAxLjE3MkMuMzkgMy45NTIgMCA0Ljg5NSAwIDZ2MjBjMCAyLjY2NyAxLjMzMyA0IDQgNGgyNGMyLjY2NyAwIDQtMS4zMzMgNC00VjZ6TTQgNi42NjdjMC0uNTk0LjI3NC0xLjAwNS44MjMtMS4yMzIuNTQ5LS4yMjcgMS4wMzMtLjEzMSAxLjQ1My4yODkuNDIuNDIuNTE2LjkwNC4yOSAxLjQ1My0uMjI4LjU0OS0uNjM5LjgyMy0xLjIzMy44MjNDNC40NDQgOCA0IDcuNTU2IDQgNi42Njd6bTQgMGMwLS41OTQuMjc0LTEuMDA1LjgyMy0xLjIzMi41NDktLjIyNyAxLjAzMy0uMTMxIDEuNDUzLjI4OS40Mi40Mi41MTYuOTA0LjI5IDEuNDUzLS4yMjguNTQ5LS42MzkuODIzLTEuMjMzLjgyM0M4LjQ0NCA4IDggNy41NTYgOCA2LjY2N3ptNCAwYzAtLjU5NC4yNzQtMS4wMDUuODIzLTEuMjMyLjU0OS0uMjI3IDEuMDMzLS4xMzEgMS40NTMuMjg5LjQyLjQyLjUxNi45MDQuMjkgMS40NTMtLjIyOC41NDktLjYzOS44MjMtMS4yMzMuODIzQzEyLjQ0NCA4IDEyIDcuNTU2IDEyIDYuNjY3ek0yOS4zMzMgMjZjMCAuODg5LS40NDQgMS4zMzMtMS4zMzMgMS4zMzNINGMtLjg4OSAwLTEuMzMzLS40NDQtMS4zMzMtMS4zMzNWMTJjMC0uMTg0LjA2NS0uMzQxLjE5NS0uNDcxLjEzLS4xMy4yODctLjE5Ni40NzEtLjE5NmgyNS4zMzRjLjQ0NCAwIC42NjYuMjIzLjY2Ni42Njd2MTR6IiBmaWxsPSIjMTRiOGZmIi8+CiAgICAgICAgPHBhdGggZD0iTTEwLjMzMyAxNmMwIC42NjcuMzM0IDEgMSAxIC4yMjMgMCAuMzM0LjExMS4zMzQuMzMzdjUuMzM0YzAgLjY2Ni4zMzMgMSAxIDEgLjY2NiAwIDEtLjMzNCAxLTF2LTUuMzM0YzAtLjA5Mi4wMzItLjE3LjA5Ny0uMjM1LjA2NS0uMDY1LjE0NC0uMDk4LjIzNi0uMDk4LjY2NyAwIDEtLjMzMyAxLTFzLS4zMzMtMS0xLTFoLTIuNjY3Yy0uMjc2IDAtLjUxMi4wOTgtLjcwNy4yOTMtLjE5NS4xOTUtLjI5My40My0uMjkzLjcwN3pNNS4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0xLjMzNGMwLS4xMjguMDU2LS4yMjQuMTY3LS4yODguMTExLS4wNjQuMjIyLS4wNjQuMzMzIDAgLjExMS4wNjQuMTY3LjE2LjE2Ny4yODh2MS4zMzRjMCAuNjY2LjMzMyAxIDEgMXMxLS4zMzQgMS0xVjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzMzLS4xOTItLjY2Ny0uMTkyLTEgMC0uMzMzLjE5Mi0uNS40ODEtLjUuODY2djIuNjY3YzAgLjIyMi0uMTExLjMzMy0uMzMzLjMzMy0uMjIzIDAtLjMzNC0uMTExLS4zMzQtLjMzM1YxNmMwLS4zODUtLjE2Ni0uNjc0LS41LS44NjYtLjMzMy0uMTkyLS42NjYtLjE5Mi0xIDAtLjMzMy4xOTItLjUuNDgxLS41Ljg2NnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxek0yMy42NjcgMjEuMzMzYy4wMDEgMS41NTQuNzggMi4zMzIgMi4zMzMgMi4zMzRoMS4zMzNjLjY2NyAwIDEtLjMzNCAxLTEgMC0uNjY3LS4zMzMtMS0xLTFIMjZjLS4yMjIgMC0uMzMzLS4xMTEtLjMzMy0uMzM0VjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzM0LS4xOTItLjY2Ny0uMTkyLTEgMC0uMzM0LjE5Mi0uNS40ODEtLjUuODY2djUuMzMzek0xNy4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0yLjc4YzAtLjAzOS4wMi0uMDYzLjA1Ni0uMDczLjAzNy0uMDEuMDY2IDAgLjA4Ni4wMzQuMjA3LjMwMS40OTMuNDUyLjg1OC40NTIuMzY2IDAgLjY1Mi0uMTUuODU5LS40NTIuMDItLjAzMy4wNDgtLjA0NS4wODUtLjAzNC4wMzguMDEuMDU2LjAzNC4wNTYuMDczdjIuNzhjMCAuNjY2LjMzNCAxIDEgMSAuNjY3IDAgMS0uMzM0IDEtMVYxNmMtLjAwMS0uNTA2LS4yNDYtLjgyNy0uNzM0LS45NjJzLS44NjMuMDE0LTEuMTI0LjQ0N2wtLjg1NiAxLjQyOGMtLjA2NS4xMDgtLjE2LjE2MS0uMjg2LjE2MS0uMTI1IDAtLjIyLS4wNTMtLjI4NS0uMTZsLS44NTYtMS40MjljLS4yNjItLjQzMy0uNjM2LS41ODItMS4xMjUtLjQ0Ny0uNDg4LjEzNS0uNzMyLjQ1Ni0uNzM0Ljk2MnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxeiIgZmlsbD0iIzE0YjhmZiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMSAyaDI1djI0SDF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI3LjMzMyAyNC42Njd2LTIyQzI3LjMzMy44ODkgMjYuNDQ0IDAgMjQuNjY3IDBoLTIyQzEuOTMgMCAxLjMwMi4yNi43OC43ODEuMjYxIDEuMzAxIDAgMS45MzEgMCAyLjY2N3YyMmMwIDEuNzc3Ljg4OSAyLjY2NiAyLjY2NyAyLjY2NmgyMmMxLjc3NyAwIDIuNjY2LS44ODkgMi42NjYtMi42NjZ6IiBmaWxsPSIjZmZiNDFmIi8+CiAgICAgICAgPHBhdGggZD0iTTE5LjExMyAxMi45MzNjLS4xMjYtLjYwMy0uNDk3LS45MTEtMS4xMTItLjkyNS0uNjE2LS4wMTQtMSAuMjc3LTEuMTU0Ljg3M2wtMi4xMjMgNC42NjdjLS4wNTEuMTEyLS4xMzcuMTc2LS4yNi4xOTItLjEyMS4wMTctLjIyMS0uMDIzLS4zLS4xMTdsLTEuNDY3LTEuNzUyYy0uMzQtLjQ2Mi0uNzk2LS42Ny0xLjM2OC0uNjI1LS41NzEuMDQ0LS45OS4zMi0xLjI1NC44MjlMNi43NiAyMS42Yy0uMTMzLjIyMi0uMTM2LjQ0Ni0uMDA4LjY3MS4xMjguMjI2LjMyMS4zMzguNTguMzM4SDIyYy4yMzYgMCAuNDItLjA5Ny41NTItLjI5My4xMzItLjE5NS4xNTQtLjQwMi4wNjctLjYyMWwtMy41MDYtOC43NjJ6TTEwLjY2NyA4YzAgMS43NzgtLjg5IDIuNjY3LTIuNjY3IDIuNjY3LTEuNzc4IDAtMi42NjctLjg5LTIuNjY3LTIuNjY3IDAtMS43NzguODktMi42NjcgMi42NjctMi42NjcgMS43NzggMCAyLjY2Ny44OSAyLjY2NyAyLjY2N3oiIGZpbGw9IiNGRkYiLz4KICAgICAgICA8cGF0aCBkPSJNMzAuNjY3IDhjLS4zNjkgMC0uNjgzLjEzLS45NDMuMzktLjI2LjI2LS4zOS41NzUtLjM5Ljk0M3YxOS4zMzRjMCAuNDQ0LS4yMjMuNjY2LS42NjcuNjY2SDkuMzMzYy0uODg5IDAtMS4zMzMuNDQ1LTEuMzMzIDEuMzM0UzguNDQ0IDMyIDkuMzMzIDMyaDIwQzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzdi0yMEMzMiA4LjQ0NCAzMS41NTYgOCAzMC42NjcgOHoiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iIzMwY2Y0MyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMTUiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyIiByeD0iMSIvPgogICAgICAgIDxyZWN0IGZpbGw9IiNGRkYiIHg9IjMiIHk9IjMiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzIgMi42NjdDMzIgLjg4OSAzMS4xMTEgMCAyOS4zMzMgMEgyLjY2N0MxLjkzIDAgMS4zMDIuMjYuNzguNzgxLjI2MSAxLjMwMSAwIDEuOTMxIDAgMi42Njd2MjYuNjY2QzAgMzEuMTExLjg4OSAzMiAyLjY2NyAzMmgyNi42NjZDMzEuMTExIDMyIDMyIDMxLjExMSAzMiAyOS4zMzNWMi42NjdaIiBmaWxsPSIjRkIyRDhEIi8+CiAgICA8cGF0aCBkPSJNMTUuOTk4LS4wMXYxOC42NzRjLS4wNTQuNTU4LjE3NS45NTEuNjg3IDEuMTguNTI1LjIuOTY1LjA4NCAxLjMyMi0uMzVsMi42ODktMi42ODNhLjQwNC40MDQgMCAwIDEgLjI5NC0uMTIyYy4xMTYgMCAuMjE0LjA0MS4yOTUuMTIybDIuNjkgMi42ODRjLjI0NS4yNzQuNTUyLjQxNy45Mi40MjguMTM5IDAgLjI3My0uMDI2LjQwMS0uMDc4LjUxMi0uMjMuNzQxLS42MjMuNjg3LTEuMThWLS4wNjJsLTkuOTg1LjA1di4wMDJaIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzE0YjhmZiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4zMTIgOS41SDguNjg3Yy0xLjIzMyAwLTIgLjc2Ny0yIDJ2OWMwIDEuMjMzLjc2NyAyIDIgMmgxNC42MjVjMS4yMzQgMCAyLS43NjcgMi0ydi05YzAtMS4yMzMtLjc2Ni0yLTItMnpNOC41NiAxMS4yNWgxNC44ODJjLjEuMDA0LjExOC4wMjIuMTIxLjEyMnY5LjI1NmMtLjAwNC4xMTYtLjAyOS4xMjItLjE3OC4xMjJIOC41NmMtLjEtLjAwNC0uMTE4LS4wMjItLjEyMS0uMTIydi05LjI1NmMuMDAzLS4xLjAyMi0uMTE4LjEyMS0uMTIyeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xOC4xMjMgMTMuODg3Yy4zLS4zMjUuNzktLjM3IDEuMTQ0LS4xMjNsLjA5Mi4wNzUgMi44NiAyLjY0M2MuMzU1LjMyOS4zNzcuODgyLjA0OSAxLjIzNy0uMzAxLjMyNS0uNzkxLjM3LTEuMTQ0LjEyM2wtLjA5My0uMDc0LTIuODYtMi42NDRjLS4zNTUtLjMyOC0uMzc2LS44ODItLjA0OC0xLjIzN3pNMTIuNjQgMTMuODM5Yy4zNTYtLjMyOC45MS0uMzA3IDEuMjM3LjA0OC4zMDEuMzI2LjMwOC44MTguMDMzIDEuMTVsLS4wODEuMDg3LTIuODYgMi42NDRjLS4zNTUuMzI4LS45MDguMzA2LTEuMjM3LS4wNDktLjMtLjMyNS0uMzA3LS44MTgtLjAzMy0xLjE1bC4wODItLjA4NyAyLjg2LTIuNjQzeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy42NjMgMTAuMDRjLjM5OC0uMjc0Ljk0My0uMTc0IDEuMjE3LjIyNC4yNTIuMzY0LjE4OS44NTMtLjEzIDEuMTQzbC0uMDkzLjA3NC03LjEzNSA0LjkyYy0uOTI1LjYzOC0xLjkzNS42NzYtMi44Ny4xMTJsLS4xNzQtLjExMi03LjEzNS00LjkyYy0uMzk4LS4yNzUtLjQ5OC0uODItLjIyMy0xLjIxNy4yNTEtLjM2NS43My0uNDggMS4xMTQtLjI4NWwuMTAzLjA2MSA3LjEzNSA0LjkyYy4zNDYuMjQuNjEzLjI2My45NDQuMDcybC4xMTMtLjA3MiA3LjEzNC00LjkyeiIgZmlsbD0iI0ZGRiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMyIgZmlsbD0iI0ZGQjQxRiIvPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTE0LjUzNiAxNS41NjhsMi42OCA4LjkzMWEuODMuODMgMCAwMDEuMzgyLjM0OWwxLjM2NS0xLjM2NSAzLjUyMiAzLjUyMmEuODMuODMgMCAwMDEuMTc0IDBsMi4zNDgtMi4zNDhhLjgzLjgzIDAgMDAwLTEuMTc0bC0zLjUyMi0zLjUyMkwyNC44NSAxOC42YS44MjkuODI5IDAgMDAtLjM0OC0xLjM4MmwtOC45MzItMi42OGEuODMuODMgMCAwMC0xLjAzNCAxLjAzeiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi44NiA0LjI1NUExMS4yNSAxMS4yNSAwIDAxMjYuNDcgMTQuNDQ3YS43NS43NSAwIDAxLTEuNDk2LjEwNiA5Ljc1IDkuNzUgMCAxMC0xMC40MjEgMTAuNDIuNzUuNzUgMCAwMS0uMTA3IDEuNDk2IDExLjI1IDExLjI1IDAgMDEtMS41ODgtMjIuMjE0eiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMDUgOC43ODVhNi43NSA2Ljc1IDAgMDE4LjIwMyAzLjkzNC43NS43NSAwIDExLTEuMzkuNTYyIDUuMjUgNS4yNSAwIDEwLTYuODM3IDYuODM1Ljc1Ljc1IDAgMTEtLjU2MiAxLjM5IDYuNzUgNi43NSAwIDAxLjU4Ni0xMi43MnoiLz4KICA8L2c+CiAgPGNsaXBQYXRoIGlkPSJjbGlwMCI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMwIDBIMmEyIDIgMCAwMC0yIDJ2MjhhMiAyIDAgMDAyIDJoMjhhMiAyIDAgMDAyLTJWMmEyIDIgMCAwMC0yLTJ6IiBmaWxsPSIjMzBDRjQzIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTkgOS4wMDFjNC4wMDctLjA2IDcuOTYyIDIuNzM3IDEwLjM2NiA1LjQyNWwuMDA0LjAwNGEyLjUxNyAyLjUxNyAwIDAxMCAzLjMzN2wtLjAwMy4wMDRjLTIuMzQ5IDIuNjI4LTYuMjk0IDUuNDktMTAuMzY3IDUuNDI4LTQuMDczLjA2MS04LjAxOC0yLjgtMTAuMzY1LTUuNDI5bC0uMDAzLS4wMDNhMi41MTcgMi41MTcgMCAwMTAtMy4zMzdsLjAwMy0uMDA0QzguMDM2IDExLjczOCAxMS45OTEgOC45NCAxNiA5LjAwMWgtLjAwMXptLTguODcyIDYuNzU2YS41MTcuNTE3IDAgMDAwIC42ODNjMi4yMDggMi40NzIgNS42NDUgNC44MTQgOC44NTUgNC43NTloLjAzNGMzLjIwOS4wNTUgNi42NDctMi4yODcgOC44NTctNC43NTlhLjUxOC41MTggMCAwMDAtLjY4M2MtMi4yNTctMi41MjItNS43MDUtNC44MS04Ljg1Ny00Ljc1NmgtLjAzNGMtMy4xNTItLjA1NC02LjYgMi4yMzQtOC44NTUgNC43NTZ6IiBmaWxsPSIjZmZmIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAxOGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHptMCAyYTQgNCAwIDEwMC04IDQgNCAwIDAwMCA4eiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZD0iTTEzLjUzNjEgMTUuNTY4TDE2LjIxNjEgMjQuNDk5QzE2LjI1NzMgMjQuNjM2NiAxNi4zMzM1IDI0Ljc2MTIgMTYuNDM3MiAyNC44NjA1QzE2LjU0MSAyNC45NTk5IDE2LjY2ODggMjUuMDMwNiAxNi44MDggMjUuMDY1OEMxNi45NDczIDI1LjEwMSAxNy4wOTMzIDI1LjA5OTQgMTcuMjMxOCAyNS4wNjEyQzE3LjM3MDMgMjUuMDIzIDE3LjQ5NjUgMjQuOTQ5NiAxNy41OTgxIDI0Ljg0OEwxOC45NjMxIDIzLjQ4M0wyMi40ODUxIDI3LjAwNUMyMi41NjIyIDI3LjA4MjEgMjIuNjUzNyAyNy4xNDMzIDIyLjc1NDQgMjcuMTg1QzIyLjg1NTEgMjcuMjI2NyAyMi45NjMxIDI3LjI0ODIgMjMuMDcyMSAyNy4yNDgyQzIzLjE4MTEgMjcuMjQ4MiAyMy4yODkxIDI3LjIyNjcgMjMuMzg5OCAyNy4xODVDMjMuNDkwNSAyNy4xNDMzIDIzLjU4MiAyNy4wODIxIDIzLjY1OTEgMjcuMDA1TDI2LjAwNzEgMjQuNjU3QzI2LjA4NDIgMjQuNTc5OSAyNi4xNDU0IDI0LjQ4ODQgMjYuMTg3MSAyNC4zODc3QzI2LjIyODggMjQuMjg3IDI2LjI1MDMgMjQuMTc5IDI2LjI1MDMgMjQuMDdDMjYuMjUwMyAyMy45NjEgMjYuMjI4OCAyMy44NTMgMjYuMTg3MSAyMy43NTIzQzI2LjE0NTQgMjMuNjUxNiAyNi4wODQyIDIzLjU2MDEgMjYuMDA3MSAyMy40ODNMMjIuNDg1MSAxOS45NjFMMjMuODUwMSAxOC42QzIzLjk1MiAxOC40OTg2IDI0LjAyNTcgMTguMzcyNSAyNC4wNjQxIDE4LjIzNEMyNC4xMDI1IDE4LjA5NTUgMjQuMTA0MyAxNy45NDk0IDI0LjA2OTIgMTcuODFDMjQuMDM0MSAxNy42NzA3IDIzLjk2MzQgMTcuNTQyOCAyMy44NjM5IDE3LjQzOUMyMy43NjQ1IDE3LjMzNTIgMjMuNjM5OCAxNy4yNTkxIDIzLjUwMjEgMTcuMjE4TDE0LjU3MDEgMTQuNTM4QzE0LjQyNjkgMTQuNDk1MiAxNC4yNzQ4IDE0LjQ5MTggMTQuMTI5OCAxNC41MjgyQzEzLjk4NDggMTQuNTY0NyAxMy44NTI0IDE0LjYzOTYgMTMuNzQ2NCAxNC43NDUxQzEzLjY0MDUgMTQuODUwNiAxMy41NjUxIDE0Ljk4MjggMTMuNTI4MSAxNS4xMjc2QzEzLjQ5MSAxNS4yNzI1IDEzLjQ5MzggMTUuNDI0NiAxMy41MzYxIDE1LjU2OFoiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTIuMjg3MSAyMy43NUMxMi43MDEzIDIzLjc1IDEzLjAzNzEgMjMuNDE0MiAxMy4wMzcxIDIzQzEzLjAzNzEgMjIuNTg1OCAxMi43MDEzIDIyLjI1IDEyLjI4NzEgMjIuMjVWMjMuNzVaTTI1Ljc1IDE3LjI0OTZDMjUuNzUgMTcuNjYzOCAyNi4wODU4IDE3Ljk5OTYgMjYuNSAxNy45OTk2QzI2LjkxNDIgMTcuOTk5NiAyNy4yNSAxNy42NjM4IDI3LjI1IDE3LjI0OTZIMjUuNzVaTTguNSA5Ljc1SDIzLjVWOC4yNUg4LjVWOS43NVpNNi4yNSAyMFYxMkg0Ljc1VjIwSDYuMjVaTTEyLjI4NzEgMjIuMjVIMTAuNzVWMjMuNzVIMTIuMjg3MVYyMi4yNVpNMTAuNzUgMjIuMjVIOC41VjIzLjc1SDEwLjc1VjIyLjI1Wk0yNS43NSAxMlYxNkgyNy4yNVYxMkgyNS43NVpNMjUuNzUgMTZWMTcuMjQ5NkgyNy4yNVYxNkgyNS43NVpNNC43NSAyMEM0Ljc1IDIyLjA3MTEgNi40Mjg5MyAyMy43NSA4LjUgMjMuNzVWMjIuMjVDNy4yNTczNiAyMi4yNSA2LjI1IDIxLjI0MjYgNi4yNSAyMEg0Ljc1Wk0yMy41IDkuNzVDMjQuNzQyNiA5Ljc1IDI1Ljc1IDEwLjc1NzQgMjUuNzUgMTJIMjcuMjVDMjcuMjUgOS45Mjg5MyAyNS41NzExIDguMjUgMjMuNSA4LjI1VjkuNzVaTTguNSA4LjI1QzYuNDI4OTMgOC4yNSA0Ljc1IDkuOTI4OTMgNC43NSAxMkg2LjI1QzYuMjUgMTAuNzU3NCA3LjI1NzM2IDkuNzUgOC41IDkuNzVWOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHJ4PSIzIiBmaWxsPSIjMTRCOEZGIi8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNMjAgMTEuNzVhMi4yNDIgMi4yNDIgMCAwIDAtMS45OTMtMi4yMjUgOS40MTQgOS40MTQgMCAwIDAtLjI1NyAyLjIyNWMtLjAwMy43NDkuMDgzIDEuNDk2LjI1NyAyLjIyNEEyLjI0MyAyLjI0MyAwIDAgMCAyMCAxMS43NVpNMTMuNzUgMTguNDMzIDkuNDEgMTcuMDVsMS45NzMgNC44NTZhMS43NDYgMS43NDYgMCAwIDAgMy4zNjctLjYzNmMuMDAzLS4yMy0uMDQtLjQ1Ny0uMTI2LS42N2wtLjg3NC0yLjE2N1oiLz4KICAgICAgICA8cGF0aCBkPSJNMTkuMjUgNWMtLjI3IDAtLjUzNy4wNDgtLjc5LjEzOUw3LjA0NiA4Ljc3OEEyLjg2NCAyLjg2NCAwIDAgMCA1IDExLjc1YTIuODU3IDIuODU3IDAgMCAwIDIuMDI1IDIuOTY1bDExLjQzNyAzLjY0NmMuMjUzLjA5MS41Mi4xMzguNzg4LjEzOSAyLjEzOCAwIDMuNzUtMi45MDIgMy43NS02Ljc1UzIxLjM4OCA1IDE5LjI1IDVabTAgMTJDMTguMTg4IDE3IDE3IDE0Ljc1NSAxNyAxMS43NXMxLjE4OC01LjI1IDIuMjUtNS4yNSAyLjI1IDIuMjQ1IDIuMjUgNS4yNVMyMC4zMTIgMTcgMTkuMjUgMTdaIi8+CiAgICA8L2c+CiAgICA8Y2xpcFBhdGg+CiAgICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA1KSIgZD0iTTAgMGgxOHYxOEgweiIvPgogICAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZGQjQxRiIvPgogICAgPHBhdGggZD0iTTUuNSA3Ljc1SDI2LjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik01LjUgMjQuMjVIMjYuNSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE5Ljc1VjEzLjc1QzE5IDEzLjM1MjIgMTkuMTU4IDEyLjk3MDYgMTkuNDM5MyAxMi42ODkzQzE5LjcyMDYgMTIuNDA4IDIwLjEwMjIgMTIuMjUgMjAuNSAxMi4yNUgyMiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE2Ljc1SDIxLjI1IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMTYgMTkuNzVWMTIuMjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik0xMi4yNSAxNi43NUgxM1YxOC4yNUMxMyAxOC42NDc4IDEyLjg0MiAxOS4wMjk0IDEyLjU2MDcgMTkuMzEwN0MxMi4yNzk0IDE5LjU5MiAxMS44OTc4IDE5Ljc1IDExLjUgMTkuNzVDMTEuMTAyMiAxOS43NSAxMC43MjA2IDE5LjU5MiAxMC40MzkzIDE5LjMxMDdDMTAuMTU4IDE5LjAyOTQgMTAgMTguNjQ3OCAxMCAxOC4yNVYxMy43NUMxMCAxMy4zNTIyIDEwLjE1OCAxMi45NzA2IDEwLjQzOTMgMTIuNjg5M0MxMC43MjA2IDEyLjQwOCAxMS4xMDIyIDEyLjI1IDExLjUgMTIuMjVIMTMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxNSIgaGVpZ2h0PSI0IiByeD0iMS41IiBmaWxsPSJ3aGl0ZSIvPgogICAgPHJlY3QgeD0iMiIgeT0iMTUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyIiByeD0iMSIgZmlsbD0id2hpdGUiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjE5IiB3aWR0aD0iMjQiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjAgOUwyMi41IDExLjVMMjUgOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzMwQ0Y0MyIvPgogIDxwYXRoIGQ9Ik0xMi4wNyAyMC43N2EuOTk4Ljk5OCAwIDAgMS0xLjQ0NS0uODk0di02Ljc1MmEuOTk5Ljk5OSAwIDAgMSAxLjQ0NC0uODk0bDYuNzU0IDMuMzc3YS45OTcuOTk3IDAgMCAxIDAgMS43ODVMMTIuMDcgMjAuNzdaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjMiIHk9IjIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iOSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIxNSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyMSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iI0ZCMkQ4RCIvPgogIDxwYXRoIGQ9Ik05IDIxYzEuMTA1IDAgMi0uOTMzIDItMi4wODRzLS44OTUtMi4wODQtMi0yLjA4NC0yIC45MzMtMiAyLjA4NEM3IDIwLjA2NiA3Ljg5NSAyMSA5IDIxWk0xOSAxOC45MTZjMS4xMDUgMCAyLS45MzMgMi0yLjA4NHMtLjg5NS0yLjA4NC0yLTIuMDg0LTIgLjkzMy0yIDIuMDg0YzAgMS4xNS44OTUgMi4wODQgMiAyLjA4NFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0yMSAxNi44MzR2LTcuNzVjMC0uMzE3LS4wNy0uNjMtLjIwMy0uOTE0YTIuMDcgMi4wNyAwIDAgMC0uNTY2LS43MjkgMS45NjUgMS45NjUgMCAwIDAtLjgxNi0uMzk2IDEuOTIyIDEuOTIyIDAgMCAwLS45LjAxN2wtNiAxLjA0MmExLjk5NSAxLjk5NSAwIDAgMC0xLjA5MS43NEEyLjE0IDIuMTQgMCAwIDAgMTEgMTAuMTI0djguNzkyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzE0QjhGRiIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMjI5IDYuNjUzYTIuNjI1IDIuNjI1IDAgMCAwLTIuODgyLjYwNWwtLjAxLjAxLTYuNzYxIDYuNzYxYTQuMzEyIDQuMzEyIDAgMSAwIDYuMDk4IDYuMDk5bDguMjMzLTguMjM0YS43NS43NSAwIDEgMSAxLjA2IDEuMDZsLTguMjMyIDguMjM0YTUuODEyIDUuODEyIDAgMSAxLTguMjItOC4yMmw2Ljc1OC02Ljc1N2E0LjEyNCA0LjEyNCAwIDEgMSA1LjgzMyA1LjgzM2wtNi43NjcgNi43N2EyLjQzNyAyLjQzNyAwIDAgMS0zLjQ0Ny0zLjQ0NmwuMDEtLjAxIDYuNzYxLTYuNzY0YS43NS43NSAwIDEgMSAxLjA2MSAxLjA2bC02Ljc1NyA2Ljc2YS45MzcuOTM3IDAgMCAwIDEuMzI2IDEuMzI1bDYuNzY1LTYuNzY5YTIuNjI2IDIuNjI2IDAgMCAwLS44My00LjMxN1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiMzQkNENEMiLz4KICAgIDxwYXRoIGQ9Ik0xNy4wMTQxIDExLjM0NTRDMTcuMDc3NSAxMS4zMTY1IDE3LjExODIgMTEuMjUzMiAxNy4xMTgyIDExLjE4MzVDMTcuMTE4MiAxMS4xMTM3IDE3LjA3NzUgMTEuMDUwNCAxNy4wMTQxIDExLjAyMTVMMTAuMDY3OCA3Ljg1NDg4QzkuOTc1OCA3LjgxNCA5Ljg3MDc4IDcuODE0IDkuNzc4NzcgNy44NTQ4OEw3LjA2MTM1IDkuMDMzODJDNi45OTU3MiA5LjA2MTc4IDYuOTUzMTIgOS4xMjYyMyA2Ljk1MzEyIDkuMTk3NTdDNi45NTMxMiA5LjI2ODkgNi45OTU3MiA5LjMzMzM1IDcuMDYxMzUgOS4zNjEzMUwxNC4zODcxIDEyLjQxNEMxNC40Nzg0IDEyLjQ1MjMgMTQuNTgxNiAxMi40NTA4IDE0LjY3MTggMTIuNDA5OEwxNy4wMTQxIDExLjM0NTRaIiBmaWxsPSJ3aGl0ZSIvPgogICAgPHBhdGggZD0iTTIxLjM1MDIgOS4zNzIwMkMyMS40MTQxIDkuMzQzMjkgMjEuNDU1MiA5LjI3OTc1IDIxLjQ1NTIgOS4yMDk3QzIxLjQ1NTIgOS4xMzk2NSAyMS40MTQxIDkuMDc2MTIgMjEuMzUwMiA5LjA0NzM4TDE0LjQ3MTYgNi4wNTk0M0MxNC4yOSA1Ljk4MDE5IDE0LjA4MzcgNS45ODAxOSAxMy45MDIxIDYuMDU5NDNMMTEuNjA5NyA3LjA1NjEzQzExLjU0NTQgNy4wODQ2OCAxMS41MDM5IDcuMTQ4NDQgMTEuNTAzOSA3LjIxODhDMTEuNTAzOSA3LjI4OTE3IDExLjU0NTQgNy4zNTI5MyAxMS42MDk3IDcuMzgxNDhMMTguNTE1MyAxMC41Mjk2QzE4LjYwOSAxMC41NzIyIDE4LjcxNjUgMTAuNTcyMiAxOC44MTAxIDEwLjUyOTZMMjEuMzUwMiA5LjM3MjAyWiIgZmlsbD0id2hpdGUiLz4KICAgIDxwYXRoIGQ9Ik02LjI0NjMzIDEwLjE3NzdDNi4xOTEzOCAxMC4xNTQ5IDYuMTI4NjUgMTAuMTYxIDYuMDc5MTYgMTAuMTk0QzYuMDI5NjYgMTAuMjI3MSA1Ljk5OTk2IDEwLjI4MjcgNiAxMC4zNDIyVjE4LjI3NzNDNS45OTk5OCAxOC41NjQ2IDYuMTcyNjYgMTguODIzOCA2LjQzNzgzIDE4LjkzNDRMMTMuNzYgMjEuOTg2NEMxMy44MTQ5IDIyLjAwOTMgMTMuODc3NyAyMi4wMDMxIDEzLjkyNzEgMjEuOTcwMUMxMy45NzY2IDIxLjkzNyAxNC4wMDYzIDIxLjg4MTUgMTQuMDA2MyAyMS44MjE5VjEzLjUzMDlDMTQuMDA2MiAxMy40NTkgMTMuOTYzIDEzLjM5NDIgMTMuODk2NyAxMy4zNjY0TDYuMjQ2MzMgMTAuMTc3N1oiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTUuMDc4MSAyMS43ODk5QzE1LjA3ODQgMjEuODUwMiAxNS4xMDkyIDIxLjkwNjMgMTUuMTU5OSAyMS45MzlDMTUuMjEwNSAyMS45NzE4IDE1LjI3NDMgMjEuOTc2NyAxNS4zMjk0IDIxLjk1MjJMMjEuOTU4MiAxOC45Mzk0QzIyLjIxMjIgMTguODIzOCAyMi4zNzUzIDE4LjU3MDUgMjIuMzc1NCAxOC4yOTE1VjEwLjM1NzhDMjIuMzc1NCAxMC4yOTczIDIyLjM0NDcgMTAuMjQxIDIyLjI5MzkgMTAuMjA4MkMyMi4yNDMxIDEwLjE3NTMgMjIuMTc5MSAxMC4xNzA2IDIyLjEyNCAxMC4xOTU1TDE1LjE4NDkgMTMuMzUwN0MxNS4xMjExIDEzLjM3OTIgMTUuMDgwMSAxMy40NDI1IDE1LjA4MDMgMTMuNTEyNEwxNS4wNzgxIDIxLjc4OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOS41IDBIMi41QzEuMTE5MjkgMCAwIDEuMTE5MjkgMCAyLjVWMjkuNUMwIDMwLjg4MDcgMS4xMTkyOSAzMiAyLjUgMzJIMjkuNUMzMC44ODA3IDMyIDMyIDMwLjg4MDcgMzIgMjkuNVYyLjVDMzIgMS4xMTkyOSAzMC44ODA3IDAgMjkuNSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgOC44OTU0MyA2Ljg5NTQzIDggOCA4SDI0QzI1LjEwNDYgOCAyNiA4Ljg5NTQzIDI2IDEwVjE1QzI2IDE2LjEwNDYgMjUuMTA0NiAxNyAyNCAxN0g4QzYuODk1NDMgMTcgNiAxNi4xMDQ2IDYgMTVWMTBaTTYgMjRDNiAyMy40NDc3IDYuNDQ3NzIgMjMgNyAyM0gyNUMyNS41NTIzIDIzIDI2IDIzLjQ0NzcgMjYgMjRDMjYgMjQuNTUyMyAyNS41NTIzIDI1IDI1IDI1SDdDNi40NDc3MiAyNSA2IDI0LjU1MjMgNiAyNFpNNyAxOUM2LjQ0NzcyIDE5IDYgMTkuNDQ3NyA2IDIwQzYgMjAuNTUyMyA2LjQ0NzcyIDIxIDcgMjFIMjVDMjUuNTUyMyAyMSAyNiAyMC41NTIzIDI2IDIwQzI2IDE5LjQ0NzcgMjUuNTUyMyAxOSAyNSAxOUg3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjI1MiA4LjQ4OGMtLjM2Ni0xLjM3LTEuNDQ4LTIuNDUyLTIuODI0LTIuODIzQzI1Ljk0MSA1IDE1Ljk1OCA1IDE1Ljk1OCA1cy05Ljk3NyAwLTEyLjQ3LjY2NWMtMS4zNy4zNjYtMi40NTIgMS40NDctMi44MjMgMi44MjNDMCAxMC45NzYgMCAxNi4xNyAwIDE2LjE3czAgNS4xOTQuNjY1IDcuNjgyYy4zNjYgMS4zNzIgMS40NDcgMi40NTMgMi44MjMgMi44MjMgMi40OTMuNjY2IDEyLjQ3LjY2NiAxMi40Ny42NjZzOS45ODMgMCAxMi40Ny0uNjY2YzEuMzcyLS4zNjUgMi40NTMtMS40NDcgMi44MjQtMi44MjMuNjY1LTIuNDg4LjY2NS03LjY4Mi42NjUtNy42ODJzMC01LjE5NC0uNjY1LTcuNjgyIiBmaWxsPSIjRDkyNTJBIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRkZGRSIgZD0iTTEyLjc3IDIwLjk1OGw4LjI5MS00Ljc4OC04LjI5MS00Ljc4OHY5LjU3NiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC4wNjMgMjkuMDAyYzEyLjA3NiAwIDE4LjY4LTEwLjAwNSAxOC42OC0xOC42OCAwLS4yODUgMC0uNTY3LS4wMTktLjg1QzMwLjAxIDguNTQ1IDMxLjEyIDcuMzkzIDMyIDYuMDc2Yy0xLjE5OC41My0yLjQ3Ljg3OS0zLjc3IDEuMDMyIDEuMzctLjgyIDIuMzk1LTIuMTEgMi44ODYtMy42My0xLjI5Ljc2NC0yLjcgMS4zMDMtNC4xNyAxLjU5My0yLjAzNS0yLjE2NC01LjI2OC0yLjY5NC03Ljg4Ny0xLjI5Mi0yLjYyIDEuNDAxLTMuOTczIDQuMzg2LTMuMyA3LjI4LTUuMjgtLjI2NS0xMC4xOTgtMi43NTgtMTMuNTMyLTYuODYtMS43NDIgMy0uODUyIDYuODM4IDIuMDMzIDguNzY0LTEuMDQ1LS4wMy0yLjA2Ny0uMzEzLTIuOTgtLjgyMnYuMDg0YzAgMy4xMjUgMi4yMDQgNS44MTcgNS4yNjcgNi40MzUtLjk2Ni4yNjQtMS45OC4zMDMtMi45NjQuMTEzLjg2IDIuNjc1IDMuMzI1IDQuNTA3IDYuMTMzIDQuNTYtMi4zMjQgMS44MjctNS4xOTYgMi44MTgtOC4xNTMgMi44MTUtLjUyMiAwLTEuMDQ0LS4wMzItMS41NjMtLjA5NCAzLjAwMiAxLjkyNyA2LjQ5NiAyLjk0OSAxMC4wNjMgMi45NDQiIGZpbGw9IiMxREExRjIiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuNDMgMTIyLjQxIj4KICAgIDxwYXRoIGQ9Ik04My44NiA1NC4xNXYzNC4xM0gzOC41N1Y1NC4xNUgwdjY4LjI2aDEyMi40M1Y1NC4xNUg4My44NnpNMzguNTcgMGg0NS4zdjM0LjEzaC00NS4zeiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjg4NiAyNS41MDhjMCAzLjUyMi0yLjg1NSA2LjM3Ny02LjM3NyA2LjM3N0g2LjM3N0MyLjg1NyAzMS44ODUgMCAyOS4wMyAwIDI1LjUwOFY2LjM3OEMwIDIuODU0IDIuODU3IDAgNi4zNzcgMEgyNS41MWMzLjUyMiAwIDYuMzc3IDIuODU1IDYuMzc3IDYuMzc3djE5LjEzMSIgZmlsbD0iIzBGQjdGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNS45OTggMTAuNThjLjE3NS0uOTgyLjE3LTEuOTkyLS40MzYtMi43NTUtLjg0Ni0xLjA3LTIuNjQ2LTEuMTEtMy44OC0uOTIxLTEuMDAzLjE1My00LjM5NyAxLjY1MS01LjU1MiA1LjIzNiAyLjA0Ni0uMTU2IDMuMTE4LjE0OCAyLjkyMSAyLjQtLjA4Mi45NDMtLjU1OCAxLjk3Ni0xLjA5IDIuOTY2LS42MTQgMS4xNDEtMS43NjUgMy4zODItMy4yNzQgMS43NjctMS4zNi0xLjQ1NC0xLjI1Ny00LjIzNS0xLjU2OC02LjA4Ni0uMTczLTEuMDQtLjM1Ni0yLjMzNC0uNjk3LTMuNDAyLS4yOTMtLjkyLS45NjYtMi4wMjctMS43ODgtMi4yNjctLjg4NC0uMjYtMS45NzYuMTQ2LTIuNjE4LjUyMy0yLjA0MiAxLjItMy41OTggMi45MDgtNS4zNjUgNC4zMTd2LjEzMmMuMzUuMzM1LjQ0NC44ODQuOTYuOTU5IDEuMjE2LjE3OSAyLjM3NS0xLjEzNCAzLjE4NC4yMzIuNDkyLjgzNC42NDUgMS43NDkuOTYgMi42NDguNDIgMS4xOTguNzQ2IDIuNTAzIDEuMDkgMy44OC41ODMgMi4zMzQgMS4yOTkgNS44MiAzLjMxNiA2LjY3NSAxLjAyOS40MzcgMi41NzUtLjE0OCAzLjM1OC0uNjEyIDIuMTIyLTEuMjU1IDMuNzc1LTMuMDc1IDUuMTktNC45MjcgMy4yMzQtNC4zODIgNS4wMTktOS4zNDcgNS4yODktMTAuNzY1IiBmaWxsPSIjRkZGRkZFIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMS45NzYgMTAuODg2Yy0uMDA3LS4wMzktLjAxNC0uMDc4LS4wMjQtLjExNmwtLjAyMi0uMDY2Yy0uMDEtLjAzNC0uMDIyLS4wNjgtLjAzNS0uMWwtLjAzLS4wNjdjLS4wMTUtLjAzMS0uMDMtLjA2Mi0uMDQ4LS4wOTItLjAxMi0uMDIyLS4wMjYtLjA0Mi0uMDM5LS4wNjMtLjAxOC0uMDI5LS4wMzctLjA1Ny0uMDU4LS4wODQtLjAxNS0uMDItLjAzLS4wNC0uMDQ3LS4wNTktLjAyMi0uMDI2LS4wNDUtLjA1LS4wNjgtLjA3NWwtLjA1NS0uMDUzYy0uMDI1LS4wMjMtLjA1MS0uMDQ1LS4wNzgtLjA2NS0uMDIxLS4wMTYtLjA0MS0uMDMzLS4wNjMtLjA0Ny0uMDA4LS4wMDYtLjAxNC0uMDEzLS4wMjMtLjAxOEwxNi43NjIuMjMxYy0uNDYxLS4zMDgtMS4wNjMtLjMwOC0xLjUyNSAwTC42MTIgOS45ODFsLS4wMjIuMDE3Yy0uMDIyLjAxNS0uMDQyLjAzMS0uMDYzLjA0Ny0uMDI3LjAyMS0uMDUzLjA0My0uMDc4LjA2NS0uMDE5LjAxNy0uMDM3LjAzNS0uMDU1LjA1NC0uMDI0LjAyNC0uMDQ2LjA0OC0uMDY4LjA3NC0uMDE3LjAyLS4wMzIuMDM5LS4wNDcuMDYtLjAyLjAyOC0uMDQuMDU1LS4wNTguMDg0bC0uMDQuMDY0Yy0uMDE3LjAzLS4wMzIuMDYtLjA0Ni4wOS0uMDEuMDIyLS4wMjIuMDQ1LS4wMy4wNjctLjAxNC4wMzMtLjAyNi4wNjctLjAzNi4xbC0uMDIyLjA2NWMtLjAxLjAzOC0uMDE3LjA3Ni0uMDI0LjExNS0uMDA0LjAyLS4wMDguMDQtLjAxLjA2LS4wMDkuMDYtLjAxMy4xMTktLjAxMy4xOHY5Ljc1MWMwIC4wNi4wMDQuMTIxLjAxMy4xOC4wMDMuMDIyLjAwOS4wMzkuMDEzLjA2LjAwNy4wMzguMDEzLjA3Ny4wMjYuMTE2bC4wMjEuMDY3Yy4wMTEuMDM0LjAyMi4wNjkuMDM1LjEuMDA5LjAyMi4wMjEuMDQzLjAzLjA2NS4wMTQuMDMuMDMuMDYuMDQ3LjA5Mi4wMTIuMDIxLjAyNi4wNDMuMDQuMDYyLjAxOC4wMy4wMzguMDU2LjA2LjA4Mi4wMTQuMDIyLjAzLjA0LjA0Ny4wNi4wMjIuMDI2LjA0My4wNTEuMDY5LjA3NC4wMTcuMDE4LjAzNC4wNC4wNTYuMDUybC4wNzcuMDY2Yy4wMjEuMDE3LjA0My4wMy4wNi4wNDYuMDA5LjAwNS4wMTQuMDEzLjAyMi4wMTdsMTQuNjIxIDkuNzU1Yy4yMzEuMTU1LjQ5Ni4yMzMuNzYzLjIzMi4yNjctLjAwMi41MzItLjA3OC43NjMtLjIzMmwxNC42MjUtOS43NS4wMjItLjAxNmMuMDIyLS4wMTUuMDQyLS4wMzEuMDYzLS4wNDcuMDI3LS4wMjEuMDUzLS4wNDMuMDc4LS4wNjZsLjA1NS0uMDUzYy4wMjQtLjAyNC4wNDctLjA0OS4wNjgtLjA3NS4wMTctLjAyLjAzMi0uMDM5LjA0Ny0uMDYuMDItLjAyNi4wNC0uMDU0LjA1OC0uMDgzLjAxNC0uMDIuMDI3LS4wNDIuMDQtLjA2My4wMTctLjAzLjAzMi0uMDYuMDQ3LS4wOTJsLjAzLS4wNjZjLjAxNC0uMDMzLjAyNS0uMDY3LjAzNS0uMS4wMDgtLjAyMy4wMTYtLjA0NS4wMjItLjA2Ny4wMS0uMDM4LjAxNy0uMDc3LjAyNC0uMTE2LjAwNC0uMDIuMDA5LS4wMzkuMDEtLjA2LjAwOS0uMDU5LjAxMy0uMTE4LjAxMy0uMTc5di05Ljc1YzAtLjA2LS4wMDUtLjEyLS4wMTItLjE4LS4wMDQtLjAyLS4wMS0uMDM4LS4wMTQtLjA2aC4wMDJ6TTE2IDE5LjI1M0wxMS4xMzcgMTYgMTYgMTIuNzQ3IDIwLjg2MyAxNiAxNiAxOS4yNTN6bS0xLjM3NS04Ljg5NWwtNS45NjIgMy45ODgtNC44MTItMy4yMiAxMC43NzQtNy4xODJ2Ni40MTR6TTYuMTkgMTZsLTMuNDQgMi4zVjEzLjdsMy40NCAyLjN6bTIuNDczIDEuNjU1bDUuOTYyIDMuOTg3djYuNDE0TDMuODUgMjAuODczbDQuODEyLTMuMjE5di4wMDF6bTguNzEyIDMuOTg2bDUuOTYxLTMuOTg3IDQuODEzIDMuMjItMTAuNzc0IDcuMTgxdi02LjQxNHptOC40MzQtNS42NGwzLjQ0LTIuMzAydjQuNjAyTDI1LjgxIDE2em0tMi40NzMtMS42NTVsLTUuOTYxLTMuOTg3VjMuOTQ0bDEwLjc3NCA3LjE4My00LjgxMyAzLjIxOXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNiAuMDUzQzcuMTkuMDUzLjA0NyA3LjE5NC4wNDcgMTYuMDAzYzAgOC44MSA3LjE0MiAxNS45NTEgMTUuOTUxIDE1Ljk1MSA4LjgxIDAgMTUuOTUxLTcuMTQgMTUuOTUxLTE1Ljk1QzMxLjk1IDcuMTk0IDI0LjgxLjA1NCAxNiAuMDU0Vi4wNTN6bTcuMzE0IDIzLjAwNWMtLjI4NS40NjktLjg5OS42MTgtMS4zNjcuMzMtMy43NDUtMi4yODgtOC40Ni0yLjgwNi0xNC4wMTMtMS41MzctLjUzNS4xMjItMS4wNjgtLjIxMy0xLjE5LS43NDktLjEyMi0uNTM1LjIxMi0xLjA2OC43NDgtMS4xOSA2LjA3Ni0xLjM4OSAxMS4yODgtLjc5IDE1LjQ5MyAxLjc3OS40NjguMjg3LjYxNy44OTkuMzMgMS4zNjd6bTEuOTUzLTQuMzQzYy0uMzYuNTg1LTEuMTI2Ljc3LTEuNzEuNDEtNC4yODgtMi42MzYtMTAuODI0LTMuNC0xNS44OTYtMS44Ni0uNjU3LjE5OS0xLjM1Mi0uMTcyLTEuNTUyLS44MjgtLjE5OC0uNjU4LjE3My0xLjM1MS44My0xLjU1MSA1Ljc5My0xLjc1OCAxMi45OTQtLjkwNyAxNy45MTggMi4xMi41ODUuMzYuNzcgMS4xMjUuNDEgMS43MDl6bS4xNjctNC41MjNjLTUuMTQtMy4wNTQtMTMuNjIzLTMuMzM0LTE4LjUzMS0xLjg0NS0uNzg4LjI0LTEuNjIyLS4yMDUtMS44Ni0uOTk0LS4yNC0uNzg4LjIwNS0xLjYyMS45OTQtMS44NiA1LjYzNC0xLjcxMSAxNS4wMDEtMS4zOCAyMC45MiAyLjEzMy43MS40Mi45NDMgMS4zMzYuNTIyIDIuMDQ0LS40Mi43MS0xLjMzNy45NDMtMi4wNDQuNTIyeiIgZmlsbD0iIzFFRDc2MCIgZmlsbC1ydWxlPSJub256ZXJvIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNS45MjQgOS45MjJjLS4yMzYgMC0uNDMuMTk0LS40MzQuNDMzbC0uMTc3IDguODY2LjE3OCAzLjIxOGMuMDAzLjIzNS4xOTcuNDMuNDMzLjQzcy40My0uMTk1LjQzMy0uNDMzdi4wMDRsLjE5My0zLjIxOS0uMTkzLTguODY3Yy0uMDAzLS4yMzgtLjE5Ny0uNDMyLS40MzMtLjQzMnptMTIuMTQgNS4xMDJjLS41NCAwLTEuMDU0LjExLTEuNTIyLjMwNkMyNi4yMjggMTEuNzgzIDIzLjI1NCA5IDE5LjYyNSA5Yy0uODg3IDAtMS43NTMuMTc1LTIuNTE3LjQ3LS4yOTguMTE1LS4zNzcuMjM0LS4zOC40NjN2MTIuNDkyYy4wMDQuMjQyLjE5LjQ0Mi40MjYuNDY2bDEwLjkxLjAwNmMyLjE3NCAwIDMuOTM2LTEuNzYyIDMuOTM2LTMuOTM2cy0xLjc2Mi0zLjkzNy0zLjkzNi0zLjkzN3pNMTAuODg2IDIyLjU2di0uMDAybC4yMjYtMy4zMzgtLjIyNi03LjI3NmMtLjAwNi0uMTgxLS4xNDgtLjMyMy0uMzI1LS4zMjMtLjE3NiAwLS4zMTkuMTQyLS4zMjQuMzIzbC0uMjAyIDcuMjc2LjIwMiAzLjM0Yy4wMDUuMTc4LjE0OC4zMi4zMjQuMzIuMTc3IDAgLjMxOC0uMTQyLjMyNS0uMzIxdi4wMDF6bS0yLjk1Mi4zMmMuMTQ0IDAgLjI2Mi0uMTE3LjI3LS4yNjdsLjI2NC0zLjM5NC0uMjY1LTYuNDk3Yy0uMDA3LS4xNS0uMTI1LS4yNjctLjI3LS4yNjctLjE0NCAwLS4yNjMuMTE3LS4yNjkuMjY3bC0uMjM0IDYuNDk3LjIzNCAzLjM5NWMuMDA2LjE0OS4xMjUuMjY2LjI3LjI2NnptNS4yOTctMTAuODY4Yy0uMjA5IDAtLjM3NS4xNjYtLjM4LjM3N2wtLjE2OSA2LjgzMi4xNyAzLjI4N2MuMDA0LjIxLjE3LjM3NS4zNzkuMzc1LjIwNyAwIC4zNzMtLjE2Ni4zNzgtLjM3N3YuMDAybC4xOS0zLjI4Ny0uMTktNi44MzJjLS4wMDUtLjIxMS0uMTctLjM3Ny0uMzc4LS4zNzd6TTIuODAyIDIyLjY1N2MuMDgzIDAgLjE1LS4wNjYuMTYtLjE1NmwuMzQtMy4yODYtLjM0LTMuNDFjLS4wMS0uMDkxLS4wNzctLjE1Ny0uMTYtLjE1Ny0uMDg0IDAtLjE1Mi4wNjYtLjE2LjE1N2wtLjI5OSAzLjQxLjI5OSAzLjI4NWMuMDA4LjA5MS4wNzYuMTU3LjE2LjE1N3ptMi41NDYuMTg4Yy4xMTMgMCAuMjA2LS4wOTIuMjE0LS4yMTJsLjMwMi0zLjQxOC0uMzAyLTMuMjVjLS4wMDgtLjEyLS4xLS4yMTEtLjIxNC0uMjExLS4xMTYgMC0uMjA4LjA5LS4yMTYuMjEybC0uMjY2IDMuMjUuMjY2IDMuNDE3Yy4wMDguMTIuMS4yMTIuMjE2LjIxMnptNi41NDMuMDNjLjE5MSAwIC4zNDYtLjE1NC4zNTEtLjM1di4wMDNsLjIwOS0zLjMwOS0uMjA5LTcuMDljLS4wMDUtLjE5Ni0uMTYtLjM1LS4zNTEtLjM1LS4xOTMgMC0uMzQ4LjE1NC0uMzUyLjM1bC0uMTg1IDcuMDkuMTg1IDMuMzA4Yy4wMDQuMTk0LjE1OS4zNDguMzUyLjM0OHptMi42OS4wMTNjLjIyIDAgLjQwMS0uMTgxLjQwNS0uNDA0di4wMDItLjAwMmwuMTcyLTMuMjYzLS4xNzItOC4xM2MtLjAwNC0uMjIzLS4xODYtLjQwNS0uNDA2LS40MDUtLjIyIDAtLjQwMy4xODItLjQwNi40MDVsLS4xNTMgOC4xMjcuMTUzIDMuMjY4Yy4wMDMuMjIuMTg2LjQwMi40MDYuNDAyem0tNS4zMzgtLjAxNmMuMTYgMCAuMjktLjEyOS4yOTYtLjI5NGwuMjQ2LTMuMzYtLjI0Ni03LjAzOWMtLjAwNi0uMTY1LS4xMzctLjI5NC0uMjk2LS4yOTQtLjE2MiAwLS4yOTIuMTMtLjI5Ny4yOTVsLS4yMTggNy4wMzguMjE4IDMuMzYxYy4wMDUuMTY0LjEzNS4yOTMuMjk3LjI5M3pNNC4wNyAxNS41MjdjLS4xIDAtLjE4LjA4LS4xODguMTg1TDMuNiAxOS4yMTVsLjI4MiAzLjM5Yy4wMDguMTA0LjA4OS4xODQuMTg4LjE4NC4wOTggMCAuMTc4LS4wOC4xODctLjE4NGwuMzItMy4zOS0uMzItMy41MDRjLS4wMDktLjEwNC0uMDktLjE4NC0uMTg3LS4xODR6bTIuNTY1LTEuODM3Yy0uMTI5IDAtLjIzNS4xMDUtLjI0Mi4yNGwtLjI1IDUuMjg3LjI1IDMuNDE3Yy4wMDcuMTMzLjExMy4yMzkuMjQyLjIzOXMuMjM1LS4xMDYuMjQzLS4yNHYuMDAxbC4yODMtMy40MTctLjI4My01LjI4OGMtLjAwOC0uMTM0LS4xMTQtLjI0LS4yNDMtLjI0em0tNC45NTcgMi42NWMtLjAxLS4wNzYtLjA2Ni0uMTI5LS4xMzMtLjEyOS0uMDY4IDAtLjEyNC4wNTUtLjEzMy4xM2wtLjMxNSAyLjg3My4zMTUgMi44MWMuMDEuMDc2LjA2NS4xMy4xMzMuMTMuMDY3IDAgLjEyMi0uMDUzLjEzMy0uMTI5bC4zNTgtMi44MS0uMzU4LTIuODc0em0tMS4zMTYuOTcyYy0uMDY3IDAtLjEyLjA1Mi0uMTI4LjEyNUwwIDE5LjIxNGwuMjM0IDEuNzQ3Yy4wMDkuMDc0LjA2MS4xMjUuMTI4LjEyNS4wNjUgMCAuMTE3LS4wNS4xMjgtLjEyNGwuMjc3LTEuNzQ4LS4yNzctMS43NzhjLS4wMS0uMDczLS4wNjMtLjEyNC0uMTI4LS4xMjR6IiBmaWxsPSIjRUU3QzI1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMiAxNkMzMiAyNC44MzYxIDI0LjgzNjEgMzIgMTYgMzJDNy4xNjM5NCAzMiAwIDI0LjgzNjEgMCAxNkMwIDcuMTYzOTQgNy4xNjM5NCAwIDE2IDBDMjQuODM3OSAwIDMyIDcuMTYzOTQgMzIgMTZaIiBmaWxsPSIjMjA4MUUyIi8+CiAgICA8cGF0aCBkPSJNNy44OTM3MSAxNi41Mzc2TDcuOTYyNzQgMTYuNDI5MUwxMi4xMjUgOS45MTc4NEMxMi4xODU4IDkuODIyNTEgMTIuMzI4OCA5LjgzMjM2IDEyLjM3NDggOS45MzU5MkMxMy4wNzAyIDExLjQ5NDMgMTMuNjcwMiAxMy40MzI0IDEzLjM4OTEgMTQuNjM5QzEzLjI2OTEgMTUuMTM1NCAxMi45NDAzIDE1LjgwNzggMTIuNTcwNCAxNi40MjkxQzEyLjUyMjggMTYuNTE5NiAxMi40NzAyIDE2LjYwODMgMTIuNDE0MyAxNi42OTM4QzEyLjM4OCAxNi43MzMzIDEyLjM0MzYgMTYuNzU2MyAxMi4yOTU5IDE2Ljc1NjNIOC4wMTUzNEM3LjkwMDI3IDE2Ljc1NjMgNy44MzI4OCAxNi42MzEzIDcuODkzNzEgMTYuNTM3NloiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjYuNDQ2MSAxNy43NDc1VjE4Ljc3ODJDMjYuNDQ2MSAxOC44Mzc0IDI2LjQwOTkgMTguODkgMjYuMzU3MyAxOC45MTNDMjYuMDM1MSAxOS4wNTExIDI0LjkzMjEgMTkuNTU3NCAyNC40NzM0IDIwLjE5NTJDMjMuMzAzIDIxLjgyNDIgMjIuNDA4OCAyNC4xNTM2IDIwLjQwOTggMjQuMTUzNkgxMi4wNzA2QzkuMTE0OTUgMjQuMTUzNiA2LjcxOTg1IDIxLjc1MDMgNi43MTk4NSAxOC43ODQ4VjE4LjY4OTRDNi43MTk4NSAxOC42MTA1IDYuNzgzOTQgMTguNTQ2NCA2Ljg2Mjg2IDE4LjU0NjRIMTEuNTExN0MxMS42MDM3IDE4LjU0NjQgMTEuNjcxMSAxOC42MzE5IDExLjY2MjkgMTguNzIyM0MxMS42MyAxOS4wMjQ4IDExLjY4NTkgMTkuMzMzOCAxMS44Mjg5IDE5LjYxNDlDMTIuMTA1MSAyMC4xNzU1IDEyLjY3NzIgMjAuNTI1NiAxMy4yOTUyIDIwLjUyNTZIMTUuNTk2NlYxOC43Mjg5SDEzLjMyMTVDMTMuMjA0OCAxOC43Mjg5IDEzLjEzNTggMTguNTk0MSAxMy4yMDMyIDE4LjQ5ODdDMTMuMjI3OCAxOC40NjA5IDEzLjI1NTggMTguNDIxNSAxMy4yODU0IDE4LjM3NzFDMTMuNTAwNyAxOC4wNzE0IDEzLjgwODEgMTcuNTk2MyAxNC4xMTM5IDE3LjA1NTVDMTQuMzIyNyAxNi42OTA1IDE0LjUyNDggMTYuMzAwOSAxNC42ODc2IDE1LjkwOTdDMTQuNzIwNSAxNS44MzkgMTQuNzQ2OCAxNS43NjY2IDE0Ljc3MzEgMTUuNjk2QzE0LjgxNzQgMTUuNTcxIDE0Ljg2MzUgMTUuNDU0MyAxNC44OTY0IDE1LjMzNzZDMTQuOTI5MyAxNS4yMzkgMTQuOTU1NSAxNS4xMzU0IDE0Ljk4MTggMTUuMDM4NEMxNS4wNTkxIDE0LjcwNjQgMTUuMDkyIDE0LjM1NDYgMTUuMDkyIDEzLjk4OTdDMTUuMDkyIDEzLjg0NjcgMTUuMDg1NCAxMy42OTcgMTUuMDcyMyAxMy41NTRDMTUuMDY1NyAxMy4zOTc5IDE1LjA0NiAxMy4yNDE3IDE1LjAyNjIgMTMuMDg1NUMxNS4wMTMxIDEyLjk0NzQgMTQuOTg4NCAxMi44MTEgMTQuOTYyMSAxMi42NjhDMTQuOTI5MyAxMi40NTkyIDE0Ljg4MzIgMTIuMjUyMSAxNC44MzA2IDEyLjA0MzNMMTQuODEyNSAxMS45NjQ0QzE0Ljc3MzEgMTEuODIxNCAxNC43NDAyIDExLjY4NSAxNC42OTQyIDExLjU0MkMxNC41NjQzIDExLjA5MzIgMTQuNDE0NyAxMC42NTU5IDE0LjI1NjkgMTAuMjQ2NkMxNC4xOTk0IDEwLjA4MzkgMTQuMTMzNiA5LjkyNzcxIDE0LjA2NzggOS43NzE1NUMxMy45NzA5IDkuNTM2NDcgMTMuODcyMiA5LjMyMjc4IDEzLjc4MTggOS4xMjA1N0MxMy43MzU4IDkuMDI4NTEgMTMuNjk2NCA4Ljk0NDY3IDEzLjY1NjkgOC44NTkxOUMxMy42MTI1IDguNzYyMiAxMy41NjY1IDguNjY1MjEgMTMuNTIwNSA4LjU3MzE4QzEzLjQ4NzYgOC41MDI0OSAxMy40NDk4IDguNDM2NzMgMTMuNDIzNSA4LjM3MDk3TDEzLjE0MjQgNy44NTE1MUMxMy4xMDI5IDcuNzgwODMgMTMuMTY4NyA3LjY5Njk5IDEzLjI0NTkgNy43MTgzNkwxNS4wMDQ5IDguMTk1MDdIMTUuMDA5OEMxNS4wMTMxIDguMTk1MDcgMTUuMDE0NyA4LjE5NjczIDE1LjAxNjQgOC4xOTY3M0wxNS4yNDgxIDguMjYwODNMMTUuNTAzIDguMzMzMThMMTUuNTk2NiA4LjM1OTQ1VjcuMzEzOThDMTUuNTk2NiA2LjgwOTMxIDE2LjAwMSA2LjM5OTk5IDE2LjUwMDggNi4zOTk5OUMxNi43NTA2IDYuMzk5OTkgMTYuOTc3NSA2LjUwMTkxIDE3LjE0MDIgNi42Njc5M0MxNy4zMDMgNi44MzM5OCAxNy40MDQ5IDcuMDYwODMgMTcuNDA0OSA3LjMxMzk4VjguODY1NzlMMTcuNTkyMyA4LjkxODM2QzE3LjYwNzEgOC45MjMzMiAxNy42MjE5IDguOTI5ODggMTcuNjM1IDguOTM5NzRDMTcuNjgxMSA4Ljk3NDI3IDE3Ljc0NjggOS4wMjUyMSAxNy44MzA2IDkuMDg3NzFDMTcuODk2NCA5LjE0MDI4IDE3Ljk2NzEgOS4yMDQ0MSAxOC4wNTI2IDkuMjcwMTdDMTguMjIxOSA5LjQwNjU5IDE4LjQyNDEgOS41ODI0OSAxOC42NDYgOS43ODQ3QzE4LjcwNTIgOS44MzU2NCAxOC43NjI3IDkuODg4MjUgMTguODE1MyA5Ljk0MDg2QzE5LjEwMTQgMTAuMjA3MiAxOS40MjE5IDEwLjUxOTUgMTkuNzI3NyAxMC44NjQ3QzE5LjgxMzEgMTAuOTYxNyAxOS44OTcgMTEuMDYwMyAxOS45ODI0IDExLjE2MzlDMjAuMDY3OSAxMS4yNjkxIDIwLjE1ODMgMTEuMzcyNiAyMC4yMzcyIDExLjQ3NjJDMjAuMzQwOCAxMS42MTQzIDIwLjQ1MjYgMTEuNzU3MyAyMC41NDk2IDExLjkwNjlDMjAuNTk1NiAxMS45Nzc2IDIwLjY0ODIgMTIuMDQ5OSAyMC42OTI2IDEyLjEyMDZDMjAuODE3NSAxMi4zMDk2IDIwLjkyNzcgMTIuNTA1MyAyMS4wMzI5IDEyLjcwMDlDMjEuMDc3MyAxMi43OTEzIDIxLjEyMzMgMTIuODg5OSAyMS4xNjI3IDEyLjk4NjlDMjEuMjc5NCAxMy4yNDgzIDIxLjM3MTUgMTMuNTE0NiAyMS40MzA3IDEzLjc4MDlDMjEuNDQ4NyAxMy44Mzg0IDIxLjQ2MTkgMTMuOTAwOSAyMS40Njg1IDEzLjk1NjhWMTMuOTY5OUMyMS40ODgyIDE0LjA0ODggMjEuNDk0OCAxNC4xMzI3IDIxLjUwMTQgMTQuMjE4MUMyMS41Mjc3IDE0LjQ5MSAyMS41MTQ1IDE0Ljc2MzkgMjEuNDU1MyAxNS4wMzg0QzIxLjQzMDcgMTUuMTU1MiAyMS4zOTc4IDE1LjI2NTMgMjEuMzU4MyAxNS4zODJDMjEuMzE4OSAxNS40OTM4IDIxLjI3OTQgMTUuNjEwNSAyMS4yMjg1IDE1LjcyMDZDMjEuMTI5OSAxNS45NDkxIDIxLjAxMzEgMTYuMTc3NiAyMC44NzUgMTYuMzkxM0MyMC44MzA3IDE2LjQ3MDIgMjAuNzc4MSAxNi41NTQxIDIwLjcyNTQgMTYuNjMzQzIwLjY2NzkgMTYuNzE2OCAyMC42MDg3IDE2Ljc5NTcgMjAuNTU2MSAxNi44NzNDMjAuNDgzOCAxNi45NzE2IDIwLjQwNjYgMTcuMDc1MiAyMC4zMjc3IDE3LjE2NzJDMjAuMjU3IDE3LjI2NDIgMjAuMTg0NiAxNy4zNjEyIDIwLjEwNTcgMTcuNDQ2N0MxOS45OTU2IDE3LjU3NjUgMTkuODkwNCAxNy42OTk4IDE5Ljc4MDIgMTcuODE4MkMxOS43MTQ1IDE3Ljg5NTQgMTkuNjQzOCAxNy45NzQ0IDE5LjU3MTUgMTguMDQ1QzE5LjUwMDggMTguMTIzOSAxOS40Mjg1IDE4LjE5NDYgMTkuMzYyNyAxOC4yNjA0QzE5LjI1MjYgMTguMzcwNSAxOS4xNjA1IDE4LjQ1NiAxOS4wODMyIDE4LjUyNjdMMTguOTAyNCAxOC42OTI3QzE4Ljg3NjEgMTguNzE1NyAxOC44NDE2IDE4LjcyODkgMTguODA1NCAxOC43Mjg5SDE3LjQwNDlWMjAuNTI1NkgxOS4xNjcxQzE5LjU2MTYgMjAuNTI1NiAxOS45MzY0IDIwLjM4NTkgMjAuMjM4OSAyMC4xMjk0QzIwLjM0MjQgMjAuMDM5IDIwLjc5NDUgMTkuNjQ3OCAyMS4zMjg3IDE5LjA1NzdDMjEuMzQ2OCAxOS4wMzc5IDIxLjM2OTkgMTkuMDIzMSAyMS4zOTYyIDE5LjAxNjZMMjYuMjYzNiAxNy42MDk0QzI2LjM1NCAxNy41ODMxIDI2LjQ0NjEgMTcuNjUyMiAyNi40NDYxIDE3Ljc0NzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iI2ZiMmQ4ZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHBhdGggZD0iTTEyIDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTE4IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTI0IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXNlbGVjdG9yPSJiZyIgZD0iTTIgMjRoMTNsOS05VjJhMiAyIDAgMDAtMi0ySDJhMiAyIDAgMDAtMiAydjIwYTIgMiAwIDAwMiAyeiIgZmlsbD0iI0YwRjZGOSIvPgogICAgPHJlY3QgZGF0YS1zZWxlY3Rvcj0iYmxvY2siIHg9IjUuMjUiIHk9IjQuNSIgd2lkdGg9IjEzLjUiIGhlaWdodD0iNC41IiByeD0iMSIgZmlsbD0iIzczOEE5NCIvPgogICAgPHBhdGggZGF0YS1zZWxlY3Rvcj0iZm9sZCIgZD0iTTE1IDE2djhsOS05aC04YTEgMSAwIDAwLTEgMXoiIGZpbGw9IiNEQUU4RjEiLz4KICAgIDxyZWN0IGRhdGEtc2VsZWN0b3I9ImxpbmUiIHg9IjUuMjUiIHk9IjExLjI1IiB3aWR0aD0iOC4yNSIgaGVpZ2h0PSIxLjUiIHJ4PSIuNzUiIGZpbGw9IiM3MzhBOTQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTM0IiBoZWlnaHQ9IjEzNSIgdmlld0JveD0iMCAwIDEzNCAxMzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2U9IiM5QkFFQjgiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8cGF0aCBkPSJNMzUuNDM0IDkuMTZDNDQuODcgMy45OTQgNTUuNjk0IDEuMDU1IDY3LjIgMS4wNTVjMzYuNTgzIDAgNjYuMjg0IDI5LjcwMiA2Ni4yODQgNjYuMjg1IDAgMzYuNTgyLTI5LjcgNjYuMjgzLTY2LjI4NCA2Ni4yODMtMzYuNTgzIDAtNjYuMjg0LTI5LjctNjYuMjg0LTY2LjI4MyAwLTEyLjIyIDMuMzE0LTIzLjY3MiA5LjA5Mi0zMy41MDYiLz4KICAgICAgICA8cGF0aCBkPSJNMjQuMDEgNC44ODZjOS44NDYgMCAxNy44NCA3Ljk5NSAxNy44NCAxNy44NCAwIDkuODQ3LTcuOTk0IDE3Ljg0LTE3Ljg0IDE3Ljg0UzYuMTcgMzIuNTc0IDYuMTcgMjIuNzI3YzAtOS44NDUgNy45OTQtMTcuODQgMTcuODQtMTcuODR6IiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgICAgIDxwYXRoIGQ9Ik0xLjU5OCA3NS42OGw3LjAxLTcuOTM4IDIwLjM4NC03LjcyOSA4LjAyMSAxMS4xOTZNMjYuOTgyIDg2LjYwNmwyNy44ODEtNDEuNTcxIDE0LjY5Mi0yLjAyNSAxMi4yNDMtMTIuMjQ2IDIwLjk0IDMyLjAwNk05Ny4xMTcgNTQuMDYzbDEzLjEyNS0xNS4zODYgMTAuMjI2IDE2Ljg5MiAxMi42MTcgNi40ODEiLz4KICAgICAgICA8cGF0aCBkPSJNODEuNzAxIDMxLjUxM2wtNC41NjcgMTYuNDE0TDYzLjIgNTAuMTY4bC04LjA0NC00Ljc5OU0yOC45MDYgNjAuNDI2bC0xMC4wNTIgOS40LTE2LjQ2IDkuNzVNMTEwLjI2NCAzOS40NjZsLTQuMzUyIDE0LjM5Ny02LjgxMyAzLjMzNU00LjI5IDcyLjk1NGg5LjA2TTEuNzcgNzYuMTQ2SDcuOU02LjkxMyA2OS44OTJIMTguNE01OC43ODYgNDcuMTQ1aDE4LjU5Mk02MS40NzIgNDQuMTk4aDE2LjY3Mk03MS41MiA0MS4xNDhoNy4xNzlNNzQuOTAyIDM4LjE5NGg0Ljg4TTc3LjI4OCAzNS4zMDNoMi45NTdNMTEuMDg1IDY2Ljg3M2gxMC40ODFNMTguODYzIDYzLjg1Mmg2LjI5MU02My4yNzMgNTAuMjY4bDEyLjA0NSA5LjM0IDEwLjM5IDMuNDA3IDQuNjI5IDcuMzE2TTk3LjUwNiA1NC4xMDZoNy4zMU0xMDAuMDA4IDUwLjkzM2g2LjQ4Nk0xMDIuNDY3IDQ3Ljg0OGg0Ljk1Mk0xMDUuMjgzIDQ0Ljc3N2gzLjM1NE0zLjIxNiA4My40MDVzMTMuODU0LS42NjkgMjcuMjE5IDQuOTg4YzEzLjM2NCA1LjY1NyAyMy40NzEgMTIuMTM3IDIzLjQ3MSAxMi4xMzdNNDcuNTYzIDk1Ljk1NFM2NC4zOSA4NC4wMjUgOTAuNTQ5IDgyLjI2N2MyNi4xNTgtMS43NiA0MS4wMy42NTIgNDEuMDMuNjUyIi8+CiAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTA2LjQ4NCA4OC41NDFWNTguMjAyTTEwNi4zNDggNTguNDA3cy0zLjMyNSA1LjEwNS02LjQ0NiA2LjQ0Nk0xMDYuMzQ4IDYzLjc1MnMtMy4zMjUgNS4xMDQtNi40NDYgNi40NDVNMTA2LjMxNiA2OC41ODZzLTQuMzM0IDUuOTYtOC40MDMgNy41MjZNMTA2LjI5MSA3NC4xMjdzLTUuMDkgNS45Ni05Ljg2OSA3LjUyNk0xMDYuNTU4IDU4LjQwN3MzLjMyNSA1LjEwNSA2LjQ0NiA2LjQ0Nk0xMDYuNTU4IDYzLjc1MnMzLjMyNSA1LjEwNCA2LjQ0NiA2LjQ0NU0xMDYuNTkgNjguNTg2czQuMzM0IDUuOTYgOC40MDMgNy41MjZNMTA2LjYxNCA3NC4xMjdzNS4wOSA1Ljk2IDkuODcgNy41MjZNODQuNjM1IDEwNi41ODJWNzcuNTI2TTg0LjUwNCA3Ny43MjNzLTMuMTg0IDQuODg4LTYuMTcyIDYuMTczTTg0LjUwNCA4Mi44NDFzLTMuMTg0IDQuODg4LTYuMTcyIDYuMTczTTg0LjQ3NCA4Ny40N3MtNC4xNTEgNS43MDktOC4wNDcgNy4yMDlNODQuNDUgOTIuNzc3Uzc5LjU3NyA5OC40ODUgNzUgOTkuOTg1TTg0LjcwNiA3Ny43MjNzMy4xODMgNC44ODggNi4xNzMgNi4xNzNNODQuNzA2IDgyLjg0MXMzLjE4MyA0Ljg4OCA2LjE3MyA2LjE3M004NC43MzcgODcuNDdzNC4xNSA1LjcwOSA4LjA0NyA3LjIwOU04NC43NiA5Mi43NzdzNC44NzUgNS43MDggOS40NTIgNy4yMDhNMjUuOTU2IDExOC43NjRWOTguNTY2TTI1LjgyOSA5OC43NThzLTMuMTEgNC43NzQtNi4wMjggNi4wMjhNMjUuODI5IDEwMy43NTZzLTMuMTEgNC43NzQtNi4wMjggNi4wMjhNMjUuNzk5IDEwOC4yNzdzLTIuNSAzLjQzOC01LjQxNiA1LjYyM00yNS43NzYgMTEzLjQ1OXMtMS4xMyAxLjMyMy0yLjgwNSAyLjg0OU0yNi4wMjUgOTguNzU4czMuMTEgNC43NzQgNi4wMjggNi4wMjhNMjYuMDI1IDEwMy43NTZzMy4xMSA0Ljc3NCA2LjAyOCA2LjAyOE0yNi4wNTUgMTA4LjI3N3M0LjA1MyA1LjU3NCA3Ljg1OCA3LjAzOU0yNi4wNzggMTEzLjQ1OXM0Ljc2IDUuNTc0IDkuMjMgNy4wMzlNNjYuNzY1IDEzMy41NDN2LTMwLjA3NE0xMDQuODUgMTIxLjA5OFYxMDkuODhNMTA0LjcyMiAxMTAuMDcycy0zLjExIDQuNzc0LTYuMDI4IDYuMDI4TTEwNC43MjIgMTE1LjA3cy0zLjExIDQuNzc0LTYuMDI4IDYuMDI4TTEwNC42OTIgMTE5LjU5MXMtNC4wNTMgNS41NzUtNy44NTggNy4wNE0xMDQuOTE5IDExMC4wNzJzMy4xMDkgNC43NzQgNi4wMjggNi4wMjhNMTA0LjkxOSAxMTUuMDdzMS40MzYgMi4yMDUgMy4yNzIgNC4wMTJNMTA0Ljk0OSAxMTkuNTkxcy4zOS41MzggMS4wNDQgMS4zMjRNNjYuNTgzIDEwMy43NDRzLTQuNDQ4IDYuODI4LTguNjIzIDguNjIzTTY2LjU4MyAxMTAuODk0cy00LjQ0OCA2LjgyOC04LjYyMyA4LjYyMk02Ni41NCAxMTcuMzZzLTUuNzk4IDcuOTc1LTExLjI0IDEwLjA3TTY2LjUwOCAxMjQuNzczcy00LjEzIDQuODM3LTguOTc4IDcuOTY2TTY2Ljg2NSAxMDMuNzQ0czQuNDQ3IDYuODI4IDguNjIyIDguNjIzTTY2Ljg2NSAxMTAuODk0czQuNDQ3IDYuODI4IDguNjIyIDguNjIyTTY2LjkwNyAxMTcuMzZzNS43OTggNy45NzUgMTEuMjQxIDEwLjA3TTY2Ljk0IDEyNC43NzNzMy45NjggNC42NDcgOC42OSA3Ljc3OE02MC43IDg4LjkxMlY3Ny4wMTZNNjAuNjE3IDc2LjE3OHMtMi4wNCAzLjEzNC0zLjk1NyAzLjk1N002MC42MTcgODAuNDIzcy0yLjA0IDMuMTMzLTMuOTU3IDMuOTU3TTYwLjU5OCA4NC4zNTVzLTIuNjYgMy42NTgtNS4xNTggNC42Mk02MC43NDYgNzYuMTc4czIuMDQxIDMuMTM0IDMuOTU3IDMuOTU3TTYwLjc0NiA4MC40MjNzMi4wNDEgMy4xMzMgMy45NTcgMy45NTdNNjAuNzY2IDg0LjM1NXMuODkgMS45OCAyLjg2IDMuNDA4TTM5LjM5NCA5OC4wNzJWNzUuMzg4TTM5LjI5MiA3NS41NDJzLTIuNDg1IDMuODE2LTQuODE5IDQuODE5TTM5LjI5MiA3OS41MzhzLTIuNDg1IDMuODE2LTQuODE5IDQuODE5TTM5LjI2OCA4My4xNTJzLTMuMjQgNC40NTYtNi4yODIgNS42MjdNMzkuMjUgODcuMjk1cy0zLjgwNiA0LjQ1Ni03LjM3OSA1LjYyN00zOS40NSA3NS41NDJzMi40ODUgMy44MTYgNC44MTkgNC44MTlNMzkuNDUgNzkuNTM4czIuNDg1IDMuODE2IDQuODE5IDQuODE5TTM5LjQ3NCA4My4xNTJzMy4yNCA0LjQ1NiA2LjI4MiA1LjYyN00zOS40OTEgODcuMjk1czMuODA3IDQuNDU2IDcuMzggNS42MjciLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgb3BhY2l0eT0iLjYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUuMzQ3IDg4LjA3M2gzLjI4Nk0xNS4zNDcgMTAyLjMxNGgzLjI4Nk03Ljc0NyA5NS42NzRoMy4yODVNMzMuMTAyIDEwMi40MjZoMS41ODhNMjMuODAzIDk1Ljc4NWgzLjI4Nk00Ny40NiAxMTcuNDk2aDMuMjg2TTQ3LjQ2IDEwMi41MzdoMy4yODZNMzkuODYgMTI1LjA5N2gzLjI4Nk01NC4zMiAxMjUuMDk3aC45NjRNNTQuMzIgMTA5LjY3M2guOTY0TTM5Ljg2IDExMC4xMzhoMy4yODZNNjMuNTE3IDEwMi42NDhoLjk2NE01NS45MTYgOTYuMDA4aDMuMjg2TTc5LjU3NCAxMTcuNzJoMy4yODVNNzEuOTczIDk2LjEyaDEuNjQzTTk1LjYzIDg4LjYzaDMuMjg2TTk1LjYzIDExNy44M2gzLjI4Nk05NS42MyAxMDIuODcxaDMuMjg2TTg4LjAzIDEyNS40MzFoMy4yODVNODguMDMgMTEwLjQ3MmgzLjI4NU0xMTEuNjg2IDg4Ljc0MWgzLjI4Nk0xMTEuNjg2IDEwMi45ODNoMy4yODZNMTA0LjA4NiA5Ni4zNDJoMy4yODZNMTA0LjA4NiAxMTAuNTgzaDMuMjg2TTEyNy43NDMgODguODUzaDIuMTAyTTEyMC4xNDIgOTYuNDUzaDMuMjg3Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQyIiBoZWlnaHQ9IjEzMyIgdmlld0JveD0iMCAwIDE0MiAxMzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHRpdGxlPmdhbGxlcnktcGxhY2Vob2xkZXI8L3RpdGxlPgogIDxnIHN0cm9rZT0iIzlCQUVCOCIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgPHBhdGggZD0iTTExNi41NjQgNi43MzFhNi4yMTUgNi4yMTUgMCAwIDAtNi44MzEtNS41MzJMNi43MzEgMTIuMDI1YTYuMjE2IDYuMjE2IDAgMCAwLTUuNTMyIDYuODMxbDExLjI0NCAxMDYuOThhNi4yMTcgNi4yMTcgMCAwIDAgNi44MzEgNS41MzJsMTAzLjAwMi0xMC44MjZhNi4yMTUgNi4yMTUgMCAwIDAgNS41MzItNi44MzFMMTE2LjU2NCA2LjczeiIvPgogICAgPHBhdGggZD0iTTEwOS4yMiAxMy4zOThhNC4wMDMgNC4wMDMgMCAwIDAtNC4zOTctMy41NjFMMTMuMzMgMTkuNDUzYTQuMDA1IDQuMDA1IDAgMCAwLTMuNTYyIDQuMzk4bDkuMTkgODcuNDQgOTkuNDUzLTEwLjQ1My05LjE5MS04Ny40NHpNMTcuMTY4IDk0LjI1bDMyLjU1LTMuNDJNODQuMSA4Ny4yMTZsMzIuNTItMy40MTgiLz4KICAgIDxnIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgPHBhdGggZD0iTTU5LjA0MyA5OC41OWMtOS4zIDEuMDQtNi4zODItMTItMTkuMzE0LTE2LjYxOWw1Mi4yNjktNS40OTNjLTExLjY4OSA3LjIwNS02LjEyMyAxOS4zNTUtMTUuNDM3IDIwLjI3bC0xNy41MTggMS44NDF6bTYuODIxLTE5LjM2NUM2Mi43MzggNzEuMTYzIDU4LjUwOCA2NS40MDcgNTIuNyA2Mi45NW0xMy4xNjQgMTYuMjc1Yy0yLjIyNy0xMy4zMzItMS4wNjEtMjMuNjkgOC4wNzgtMzIuMTIxIi8+CiAgICAgIDxwYXRoIGQ9Ik03NC43NTggNjYuNDM0Yy42MjcgMy4wNDEuMDc3IDUuODEtMS42NDggOC4zMDYtMS43MjUgMi40OTYtNC4xMiAzLjk4OS03LjE4NiA0LjQ3OC0uNjI2LTMuMDQtLjA3Ni01LjgwOSAxLjY0OS04LjMwNSAxLjcyNC0yLjQ5NiA0LjEyLTMuOTg5IDcuMTg1LTQuNDc5em0tMTIuMTc0LTIxLjFjMi4xOTggMSAzLjY4NiAyLjYxNSA0LjQ2NCA0Ljg0NC43NzggMi4yMjguNjE4IDQuNDE4LS40OCA2LjU3LTIuMTk4LTEuMDAxLTMuNjg2LTIuNjE2LTQuNDY0LTQuODQ0LS43NzgtMi4yMjktLjYxOC00LjQxOS40OC02LjU3em0yOS4xOTEuNjQzYy0yLjMxMiAyLjYwNC01LjIwNSA0LjAxLTguNjggNC4yMTctMy40NzcuMjA3LTYuNTE3LS44NDUtOS4xMi0zLjE1Ni0yLjYwNS0yLjMxMi00LjAxLTUuMjA1LTQuMjE4LTguNjgtLjIwNy0zLjQ3Ni44NDUtNi41MTYgMy4xNTYtOS4xMjFsNi41NzYtNy40MDljLjY1OC0uNzQxIDEuMjQ0LS41MzkgMS4zMDMuNDVsLjQyNCA3LjEwMyA3LjEtLjQyMmMxLjItLjA3MiAxLjgzNC40OTIgMS45MDYgMS42OWwuNDI0IDcuMTAxIDcuMTAxLS40MjJjLjk5LS4wNTkgMS4yNi41LjYwMiAxLjI0bC02LjU3NSA3LjQwOXptLTQyLjM5IDMuODg4YzIuMjQ5IDEuNDA0IDMuNjcyIDMuMzk4IDQuMjcgNS45ODIuNTk3IDIuNTgzLjE5NCA1LTEuMjEgNy4yNDktMS40MDUgMi4yNS0zLjQgMy42NzMtNS45ODMgNC4yNy0yLjU4My41OTctNSAuMTk0LTcuMjQ5LTEuMjFsLTYuNC0zLjk5N2MtLjY0LS40LS41NjMtLjg2NS4xNzMtMS4wMzVsNS4yOC0xLjIyLTEuMjItNS4yOGMtLjIwNi0uODkuMTM2LTEuNDM5IDEuMDI3LTEuNjQ1bDUuMjc4LTEuMjIxLTEuMjItNS4yNzljLS4xNy0uNzM1LjIxNS0xLjAxLjg1NS0uNjFsNi4zOTkgMy45OTZ6Ii8+CiAgICA8L2c+CiAgICA8cGF0aCBkPSJtMjAuNjk4IDk4LjA0NyA0LjkzMy0uNTE5bTQuOTI0LS41MTggNC45MzMtLjUxOG00LjkyNS0uNTE3IDQuOTMzLS41MTlNODkuNyA5MC43OTRsNC45MzQtLjUxOG00LjkyNC0uNTE4IDQuOTMzLS41MThtNC45MjUtLjUxOCA0LjkzMy0uNTE4TTIxLjY1IDEwNy4xMDZsNC45MzMtLjUxOG00LjkyNS0uNTE4IDQuOTMzLS41MThtNC45MjQtLjUxOCA0LjkzMy0uNTE4bTQuOTI1LS41MTggNC45MzMtLjUxOG00LjkyNC0uNTE4IDQuOTMzLS41MThtNC45MjUtLjUxOCA0LjkzMy0uNTE4bTQuOTI0LS41MTggNC45MzMtLjUxOW00LjkyNS0uNTE3IDQuOTMzLS41MTltNC45MjQtLjUxNyA0LjkzMy0uNTE5bTQuOTI1LS41MTcgNC45MzMtLjUxOW0tOTcuMjI2IDUuNjE3IDMuMDYxLS4zMjJtNC45MjQtLjUxOCA0LjkzNC0uNTE4bTQuOTI0LS41MTcgNC45MzMtLjUxOW00LjkyNS0uNTE3IDQuOTMzLS41MTltMzQuNDk3LTMuNjI2IDQuOTMzLS41MThtNC45MjQtLjUxOCA0LjkzMy0uNTE4bTQuOTI1LS41MTggNC45MzMtLjUxOG00LjkyNS0uNTE4IDIuNzQ4LS4yODltLTUzLjAyMyAzNC4xNTZjMTkuNDY3IDEuMzYyIDUzLjA2NiA0LjM0MyA2Mi40ODIgNWE2LjIxNSA2LjIxNSAwIDAgMCA2LjYzNC01Ljc2Nmw3LjUwMy0xMDcuMzA3YTYuMjE1IDYuMjE1IDAgMCAwLTUuNzY2LTYuNjM0Yy01LjM5OC0uMzc3LTE4LjI4OS0xLjIyNC0xOC4yODktMS4yMjQiIG9wYWNpdHk9Ii42Ii8+CiAgPC9nPgo8L3N2Zz4=\"","/**\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, {useState} from 'react';\nimport '../styles/index.css';\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 LinkIcon} from '../assets/icons/kg-link.svg';\nimport {ReactComponent as QuoteIcon} from '../assets/icons/kg-quote.svg';\nimport {ReactComponent as ImgRegularIcon} from '../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImgWideIcon} from '../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImgFullIcon} from '../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ReplaceIcon} from '../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../assets/icons/kg-add.svg';\nimport {ReactComponent as SnippetIcon} from '../assets/icons/kg-snippet.svg';\nimport {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as MarkdownCardIcon} from '../assets/icons/kg-card-type-markdown.svg';\nimport {ReactComponent as HtmlCardIcon} from '../assets/icons/kg-card-type-html.svg';\nimport {ReactComponent as GalleryCardIcon} from '../assets/icons/kg-card-type-gallery.svg';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {ReactComponent as BookmarkCardIcon} from '../assets/icons/kg-card-type-bookmark.svg';\nimport {ReactComponent as EmailCardIcon} from '../assets/icons/kg-card-type-email.svg';\nimport {ReactComponent as EmailCtaCardIcon} from '../assets/icons/kg-card-type-email-cta.svg';\nimport {ReactComponent as PreviewCardIcon} from '../assets/icons/kg-card-type-preview.svg';\nimport {ReactComponent as ButtonCardIcon} from '../assets/icons/kg-card-type-button.svg';\nimport {ReactComponent as CalloutCardIcon} from '../assets/icons/kg-card-type-callout.svg';\nimport {ReactComponent as GifCardIcon} from '../assets/icons/kg-card-type-gif.svg';\nimport {ReactComponent as ToggleCardIcon} from '../assets/icons/kg-card-type-toggle.svg';\nimport {ReactComponent as VideoCardIcon} from '../assets/icons/kg-card-type-video.svg';\nimport {ReactComponent as AudioCardIcon} from '../assets/icons/kg-card-type-audio.svg';\nimport {ReactComponent as FileCardIcon} from '../assets/icons/kg-card-type-file.svg';\nimport {ReactComponent as ProductCardIcon} from '../assets/icons/kg-card-type-product.svg';\nimport {ReactComponent as HeaderCardIcon} from '../assets/icons/kg-card-type-header.svg';\nimport {ReactComponent as YoutubeCardIcon} from '../assets/icons/kg-card-type-youtube.svg';\nimport {ReactComponent as TwitterCardIcon} from '../assets/icons/kg-card-type-twitter.svg';\nimport {ReactComponent as UnsplashCardIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as VimeoCardIcon} from '../assets/icons/kg-card-type-vimeo.svg';\nimport {ReactComponent as CodepenCardIcon} from '../assets/icons/kg-card-type-codepen.svg';\nimport {ReactComponent as SpotifyCardIcon} from '../assets/icons/kg-card-type-spotify.svg';\nimport {ReactComponent as SoundcloudCardIcon} from '../assets/icons/kg-card-type-soundcloud.svg';\nimport {ReactComponent as NftCardIcon} from '../assets/icons/kg-card-type-nft.svg';\nimport {ReactComponent as OtherCardIcon} from '../assets/icons/kg-card-type-other.svg';\nimport {ReactComponent as SnippetCardIcon} from '../assets/icons/kg-card-type-snippet.svg';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {ReactComponent as GalleryPlaceholderIcon} from '../assets/icons/kg-gallery-placeholder.svg';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <ComponentTitle label=\"Text toolbar\" />\n <TextToolbar />\n\n <ComponentTitle label=\"Image toolbar\" />\n <ImageToolbar />\n\n <ComponentTitle label=\"Gallery toolbar\" />\n <GalleryToolbar />\n\n <ComponentTitle label=\"Plus menu\" />\n <PlusButton />\n\n <ComponentTitle label=\"Card menu\" />\n <CardMenu />\n\n <ComponentTitle label=\"Divider card\" />\n <div className=\"relative max-w-[740px]\">\n <DividerCard />\n </div>\n\n <ComponentTitle label=\"Code block\" />\n <div className=\"relative max-w-[740px]\">\n <CodeBlock />\n </div>\n\n <ComponentTitle label=\"Image card\" />\n <div className=\"relative max-w-[740px]\">\n <ImageCard />\n </div>\n\n <ComponentTitle label=\"Gallery card\" />\n <div className=\"relative max-w-[1172px]\">\n <GalleryCard />\n </div>\n </div>\n );\n\n /* Component title\n /* ---------------------------------------------------------- */\n\n function ComponentTitle({label}) {\n return (\n <h3 className=\"mb-4 mt-20 text-xl font-bold first-of-type:mt-8\" >\n {label}\n </h3>\n );\n }\n\n /* Floating toolbar\n /* ---------------------------------------------------------- */\n\n function TextToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Format text as bold\" Icon={BoldIcon} />\n <ToolbarItem label=\"Format text as italics\" Icon={ItalicIcon} />\n <ToolbarItem label=\"Toggle heading 1\" Icon={HeadingOneIcon} />\n <ToolbarItem label=\"Toggle heading 2\" Icon={HeadingTwoIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Toggle blockquote\" Icon={QuoteIcon} />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ImageToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Set image to regular\" Icon={ImgRegularIcon} />\n <ToolbarItem label=\"Set image to wide\" Icon={ImgWideIcon} />\n <ToolbarItem label=\"Set image to full\" Icon={ImgFullIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarItem label=\"Replace image\" Icon={ReplaceIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function GalleryToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Add image\" Icon={AddIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ToolbarItem({label, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <div\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n >\n <Icon className=\"fill-white\" />\n </div>\n </li>\n );\n }\n \n function ToolbarSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n }\n\n /* Plus button\n /* ---------------------------------------------------------- */\n\n function PlusButton() {\n return (\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n );\n }\n\n /* Card menu\n /* ---------------------------------------------------------- */\n\n function CardMenu() {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 text-sm shadow\">\n <CardMenuSection label=\"Primary\" />\n <CardMenuItem label=\"Image\" desc=\"Upload, or embed with /image [url]\" Icon={ImageCardIcon} />\n <CardMenuItem label=\"Markdown\" desc=\"Insert a Markdown editor card\" Icon={MarkdownCardIcon} />\n <CardMenuItem label=\"HTML\" desc=\"Insert a raw HTML card\" Icon={HtmlCardIcon} />\n <CardMenuItem label=\"Gallery\" desc=\"Create an image gallery\" Icon={GalleryCardIcon} />\n <CardMenuItem label=\"Divider\" desc=\"Insert a dividing line\" Icon={DividerCardIcon} />\n <CardMenuItem label=\"Bookmark\" desc=\"Embed a link as a visual bookmark\" Icon={BookmarkCardIcon} />\n <CardMenuItem label=\"Email content\" desc=\"Only visible when delivered by email\" Icon={EmailCardIcon} />\n <CardMenuItem label=\"Email call to action\" desc=\"Target free or paid members with a CTA\" Icon={EmailCtaCardIcon} />\n <CardMenuItem label=\"Public preview\" desc=\"Attract signups with a public intro\" Icon={PreviewCardIcon} />\n <CardMenuItem label=\"Button\" desc=\"Add a button to your post\" Icon={ButtonCardIcon} />\n <CardMenuItem label=\"Callout\" desc=\"Info boxes that stand out\" Icon={CalloutCardIcon} />\n <CardMenuItem label=\"GIF\" desc=\"Search and embed gifs\" Icon={GifCardIcon} />\n <CardMenuItem label=\"Toggle\" desc=\"Add collapsible content\" Icon={ToggleCardIcon} />\n <CardMenuItem label=\"Video\" desc=\"Upload and play a video\" Icon={VideoCardIcon} />\n <CardMenuItem label=\"Audio\" desc=\"Upload and play an audio file\" Icon={AudioCardIcon} />\n <CardMenuItem label=\"File\" desc=\"Upload a downloadable file\" Icon={FileCardIcon} />\n <CardMenuItem label=\"Product\" desc=\"Add a product recommendation\" Icon={ProductCardIcon} />\n <CardMenuItem label=\"Header\" desc=\"Add a bold section header\" Icon={HeaderCardIcon} />\n <CardMenuSection label=\"Embed\" />\n <CardMenuItem label=\"YouTube\" desc=\"/youtube [video url]\" Icon={YoutubeCardIcon} />\n <CardMenuItem label=\"Twitter\" desc=\"/twitter [tweet url]\" Icon={TwitterCardIcon} />\n <CardMenuItem label=\"Unsplash\" desc=\"/unsplash [search-term or url]\" Icon={UnsplashCardIcon} />\n <CardMenuItem label=\"Vimeo\" desc=\"/vimeo [video url]\" Icon={VimeoCardIcon} />\n <CardMenuItem label=\"CodePen\" desc=\"/codepen [pen url]\" Icon={CodepenCardIcon} />\n <CardMenuItem label=\"Spotify\" desc=\"/spotify [track or playlist url]\" Icon={SpotifyCardIcon} />\n <CardMenuItem label=\"SoundCloud\" desc=\"/soundcloud [track or playlist url]\" Icon={SoundcloudCardIcon} />\n <CardMenuItem label=\"NFT\" desc=\"/nft [opensea url]\" Icon={NftCardIcon} />\n <CardMenuItem label=\"Other...\" desc=\"/embed [url]\" Icon={OtherCardIcon} />\n <CardMenuSection label=\"Snippets\" />\n <CardSnippetItem label=\"A random snippet\" Icon={SnippetCardIcon} />\n </div>\n );\n }\n\n function CardMenuSection({label, ...props}) {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-xs font-medium uppercase tracking-[.06rem] text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n }\n\n function CardMenuItem({label, desc, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"w7 h7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.333em] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n }\n\n function CardSnippetItem({label, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"w7 h7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n }\n\n /* Divider card\n /* ---------------------------------------------------------- */\n\n function DividerCard() {\n return (\n <div>\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n </div>\n );\n }\n\n /* Code block\n /* ---------------------------------------------------------- */\n\n function CodeBlock() {\n return (\n <div className=\"border-2 border-green\">\n <div className=\"rounded bg-grey-50 px-3 py-2\">\n <textarea className=\"w-full resize-none bg-grey-50 font-mono text-[1.7rem]\" />\n </div>\n <CaptionEditor placeholder=\"Type caption for code block (optional)\" />\n </div>\n );\n }\n\n /* Image card\n /* ---------------------------------------------------------- */\n\n function ImageCard() {\n const [isActive, setActive] = useState(false);\n const [altText, setAltText] = useState(false);\n\n const toggleActive = () => {\n setActive(!isActive);\n };\n\n const toggleAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n if (isActive) {\n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for image (optional)\" />\n <button \n className={`absolute bottom-0 right-0 m-3 cursor-pointer rounded border px-1 text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => toggleAltText(e)}>\n Alt\n </button> \n </div>\n );\n } \n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} /> \n </div>\n );\n }\n\n function MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n <form>\n <input\n type='file'\n accept='image/*'\n name=\"image\"\n hidden={true}\n />\n </form>\n </div>\n );\n }\n\n function CaptionEditor({placeholder}) {\n return (\n <input \n className=\"not-kg-prose w-full p-2 text-center font-sans text-sm font-normal tracking-wide text-grey-900\"\n placeholder={placeholder} \n />\n );\n }\n\n /* Gallery card\n /* ---------------------------------------------------------- */\n\n function GalleryCard() {\n return (\n <div className=\"border-2 border-green\">\n <MediaPlaceholder desc=\"Click to select up to 9 images\" Icon={GalleryPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for gallery (optional)\" />\n </div>\n );\n }\n};\n\nexport default DesignSandbox;\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(\"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={},da={},ea={},fa={},ha={},ia={},ka={},la={},p={},ma={},na={},oa={},pa={},qa={},ra={},sa={},ta={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={};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 Ma=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=Ma&&\"documentMode\"in document?document.documentMode:null,t=Ma&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=Ma&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=Ma&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=Ma&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ta=Ma&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&\n!window.MSStream,Ua=Qa||Ta?\"\\u00a0\":\"\\u200b\",Va=Oa?\"\\u00a0\":Ua,Wa=/^[^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]/,Xa=/^[^\\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]/,Ya={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Za={directionless:1,\nunmergeable:2},$a={center:2,justify:4,left:1,right:3},ab={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},bb={normal:0,segmented:2,token:1},cb={0:\"normal\",2:\"segmented\",1:\"token\"},db=!1,eb=0;function fb(a){eb=a.timeStamp}function gb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function hb(a){return a.getEditorState().read(()=>{let b=u();return null!==b?b.clone():null})}\nfunction ib(a,b,c){db=!0;let d=100<performance.now()-eb;try{x(a,()=>{let f=u()||hb(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=jb(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&&kb(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=lb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&gb(z,E,a)||(Oa&&(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&&gb(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 [Q,Z]of e)if(F(Z))for(e=Z.__children,g=Q.firstChild,h=0;h<\ne.length;h++)l=a.getElementByKey(e[h]),null!==l&&(null==g?(Q.appendChild(l),g=l):g!==l&&Q.replaceChild(l,g),g=g.nextSibling);else C(Z)&&Z.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||gb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==f&&(k&&(f.dirty=!0,mb(f)),Oa&&nb(a)&&f.insertRawText(m))})}finally{db=!1}}\nfunction ob(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ib(a,c,b)}}function qb(a){0===eb&&rb(a).addEventListener(\"textInput\",fb,!0);a._observer=new MutationObserver((b,c)=>{ib(a,b,c)})}let sb=1,tb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction ub(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(jb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return f&&vb(b)===a}catch(e){return!1}}function vb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function wb(a){return a.isToken()||a.isSegmented()}function xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction yb(a,b,c){b=Ya[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function zb(a){return C(a)||Ab(a)||A(a)}function Bb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Cb(a);b.splice(c,1)}}\nfunction Db(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=G();let f=H(),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 Cb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Db(b);null!==a&&Db(a)}\nfunction I(a){J();var b=H();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=K(c),null!==b&&b.getWritable()),null!==a&&(a=K(a),null!==a&&a.getWritable()))}function Fb(){return L?null:H()._compositionKey}function K(a,b){a=(b||G())._nodeMap.get(a);return void 0===a?null:a}function lb(a,b){let c=H();a=a[`__lexicalKey_${c._key}`];return void 0!==a?K(a,b):null}function jb(a,b){for(;null!=a;){let c=lb(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=G();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 G()._nodeMap.get(\"root\")}function mb(a){let b=G();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=H(),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?K(\"root\"):null):K(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=jb(d),C(c))){d=d.nodeValue;if(d===Ua&&b){let g=b.length;d=b;e=f=g}null!==d&&kb(c,d,f,e,a)}}}\nfunction kb(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]===Ua&&(a=b.slice(0,-1));b=e.getTextContent();if(f||a!==b)if(\"\"===a)if(I(null),Qa||Ta)e.remove();else{let h=H();setTimeout(()=>{h.update(()=>{e.isAttached()&&e.remove()})},20)}else f=e.getParent(),b=Pb(),e.isToken()||null!==Fb()&&!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))}}function Qb(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(C(b)||F(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Rb(a,b){let c=a.anchor,d=a.focus,f=c.getNode();var e=window.getSelection();e=null!==e?e.anchorNode:null;let g=c.key,h=H().getElementByKey(g),k=b.length;return g!==d.key||!C(f)||(2>k||Lb(b))&&c.offset!==d.offset&&!f.isComposing()||wb(f)||f.isDirty()&&1<k||null!==h&&!f.isComposing()&&e!==xb(h)||f.getFormat()!==a.format||Qb(a,f)}function Sb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Tb(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))}function Ub(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)}\nfunction Vb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Ub(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Ub(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function nb(a){a=(a=rb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Wb(a){return!N(a)&&!a.isLastChild()&&!a.isInline()}\nfunction Xb(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}function ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function rb(a){a=a._window;null===a&&r(78);return a}function bc(a){return N(a)||F(a)&&a.isShadowRoot()}\nfunction cc(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)&&cc(k,h,c,d,f),c.has(h)||f.delete(h),d.delete(h))}}function dc(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)&&cc(c,f,a,b,d),a.has(f)||d.delete(f),b.delete(f))}\nfunction ec(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)}function fc(a,b){let c=a.mergeWithSibling(b),d=H()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}\nfunction gc(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{ec(b,a)&&(a=fc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&C(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{ec(a,c)&&fc(a,c);break}}}\nfunction hc(a){for(;\"element\"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(C(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!F(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let O=\"\",P=\"\",R=\"\",ic,S,jc,kc=!1,lc=!1,mc,nc=null,oc,pc,qc,rc,sc,tc;\nfunction uc(a,b){let c=qc.get(a);if(null!==b){let d=vc(a);b.removeChild(d)}rc.has(a)||S._keyToDOMMap.delete(a);F(c)&&(a=c.__children,wc(a,0,a.length-1,null));void 0!==c&&Tb(tc,jc,mc,c,\"destroyed\")}function wc(a,b,c,d){for(;b<=c;++b){let f=a[b];void 0!==f&&uc(f,d)}}function xc(a,b){a.setProperty(\"text-align\",b)}function yc(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction zc(a,b){a=a.style;0===b?xc(a,\"\"):1===b?xc(a,\"left\"):2===b?xc(a,\"center\"):3===b?xc(a,\"right\"):4===b&&xc(a,\"justify\")}\nfunction Ac(a,b,c){let d=rc.get(a);void 0===d&&r(60);let f=d.createDOM(ic,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&&yc(f,a);a=d.__children;var g=a.length;if(0!==g){e=a;--g;let h=P;P=\"\";Bc(e,0,g,f,null);Cc(d,f);P=h}e=d.__format;0!==e&&zc(f,e);Dc(null,a,f);Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else e=d.getTextContent(),A(d)?(g=d.decorate(S,ic),null!==g&&Ec(a,\ng),f.contentEditable=\"false\"):C(d)&&(d.isDirectionless()||(P+=e)),O+=e,R+=e;null!==b&&(null!=c?b.insertBefore(f,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(f,c):b.appendChild(f)));Tb(tc,jc,mc,d,\"created\");return f}function Bc(a,b,c,d,f){let e=O;for(O=\"\";b<=c;++b)Ac(a[b],d,f);d.__lexicalTextContent=O;O=e+O}function Fc(a,b){a=b.get(a[a.length-1]);return Ab(a)||A(a)}\nfunction Dc(a,b,c){a=null!==a&&(0===a.length||Fc(a,qc));b=null!==b&&(0===b.length||Fc(b,rc));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 Cc(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==P||c!==nc){let e=\"\"===P;if(e)var d=nc;else d=P,d=Wa.test(d)?\"rtl\":Xa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=ic.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);lc||(a.getWritable().__dir=d)}nc=\nd;b.__lexicalDirTextContent=P;b.__lexicalDir=d}}\nfunction Gc(a,b){var c=qc.get(a),d=rc.get(a);void 0!==c&&void 0!==d||r(61);var f=kc||pc.has(a)||oc.has(a);let e=Xb(S,a);if(c===d&&!f)return F(c)?(d=e.__lexicalTextContent,void 0!==d&&(O+=d,R+=d),d=e.__lexicalDirTextContent,void 0!==d&&(P+=d)):(d=c.getTextContent(),C(c)&&!c.isDirectionless()&&(P+=d),R+=d,O+=d),e;c!==d&&f&&Tb(tc,jc,mc,d,\"updated\");if(d.updateDOM(c,e,ic))return d=Ac(a,null,null),null===b&&r(62),b.replaceChild(d,e),uc(a,null),d;if(F(c)&&F(d)){a=d.__indent;a!==c.__indent&&yc(e,a);a=d.__format;\na!==c.__format&&zc(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)Gc(l,e);else{var n=vc(l);h=Ac(h,null,null);e.replaceChild(h,n);uc(l,null)}}else if(0===k)0!==m&&Bc(h,0,m-1,e,null);else if(0===m)0!==k&&(l=null==e.__lexicalLineBreak,wc(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=Gc(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),Q=l.has(B);E?(Q?(q=Xb(S,B),q===y?y=Gc(B,e).nextSibling:(null!=y?e.insertBefore(q,y):e.appendChild(q),Gc(B,e)),z++):Ac(B,e,y),m++):(y=vc(q).nextSibling,uc(q,e),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),Bc(h,m,k,e,l)):n&&!l&&wc(g,z,w,e)}Wb(f)&&(O+=\"\\n\\n\");e.__lexicalTextContent=O;O=v+O;Cc(f,e);P=b;N(d)||Dc(a,c,e)}Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else c=d.getTextContent(),A(d)?(f=d.decorate(S,\nic),null!==f&&Ec(a,f)):C(d)&&!d.isDirectionless()&&(P+=c),O+=c,R+=c;!lc&&N(d)&&d.__cachedText!==R&&(d=d.getWritable(),d.__cachedText=R);return e}function Ec(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Gb(S)}c[a]=b}function vc(a){a=sc.get(a);void 0===a&&r(75);return a}\nlet T=Object.freeze({}),Nc=[[\"keydown\",Hc],[\"mousedown\",Ic],[\"compositionstart\",Jc],[\"compositionend\",Kc],[\"input\",Lc],[\"click\",Mc],[\"cut\",T],[\"copy\",T],[\"dragstart\",T],[\"dragover\",T],[\"dragend\",T],[\"paste\",T],[\"focus\",T],[\"blur\",T],[\"drop\",T]];Pa&&Nc.push([\"beforeinput\",(a,b)=>Oc(a,b)]);let Pc=0,Qc=0,Rc=0,Sc=!1,Tc=!1,Uc=!1,Vc=!1,Wc=[0,0,\"root\",0];function Xc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction Yc(a,b,c){let {anchorNode:d,anchorOffset:f,focusNode:e,focusOffset:g}=a;if(Sc&&(Sc=!1,Xc(d,f)&&Xc(e,g)))return;x(b,()=>{if(!c)mb(null);else if(ub(b,d,e)){var h=u();if(D(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=rb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Wc;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();\nlet n=l.length;for(let q=0;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 Mc(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)})}\nfunction Ic(a,b){let c=a.target;c instanceof Node&&x(b,()=>{A(jb(c))||(Tc=!0)})}function Zc(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function $c(a,b){return a!==b||F(a)||F(b)||!a.isToken()||!b.isToken()}\nfunction Oc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&nb(b)||\"insertCompositionText\"!==c&&x(b,()=>{let d=u();if(\"deleteContentBackward\"===c){if(null===d){var f=Pb();if(!D(f))return;mb(f.clone())}if(D(d)){229===Qc&&a.timeStamp<Pc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(I(null),Pc=0,setTimeout(()=>{x(b,()=>{I(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())||\nZc(d,a);var e=d.focus,g=d.anchor.getNode();e=e.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===f?(a.preventDefault(),U(b,da,!1)):\"\\n\\n\"===f?(a.preventDefault(),U(b,ea,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(f)):null!=f&&Rb(d,f)&&(a.preventDefault(),U(b,fa,f));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":U(b,fa,a);break;case \"insertFromComposition\":I(null);U(b,\nfa,a);break;case \"insertLineBreak\":I(null);U(b,da,!1);break;case \"insertParagraph\":I(null);Uc?(Uc=!1,U(b,da,!1)):U(b,ea,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":U(b,ha,a);break;case \"deleteByComposition\":$c(g,e)&&U(b,ia,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":U(b,ia,void 0);break;case \"deleteContent\":U(b,ca,!1);break;case \"deleteWordBackward\":U(b,ka,!0);break;case \"deleteWordForward\":U(b,ka,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":U(b,\nla,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":U(b,la,!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,ma,void 0);break;case \"historyRedo\":U(b,na,void 0)}}})}\nfunction Lc(a,b){a.stopPropagation();x(b,()=>{var c=u(),d=a.data;null!=d&&D(c)&&Rb(c,d)?(Vc&&(ad(b,d),Vc=!1),U(b,fa,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ta||!b.isComposing()||(Pc=0,I(null))):(Ob(!1),Vc&&(ad(b,d||void 0),Vc=!1));J();c=H();ob(c)})}\nfunction Jc(a,b){x(b,()=>{let c=u();if(D(c)&&!b.isComposing()){let d=c.anchor;I(d.key);(a.timeStamp<Pc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&U(b,fa,Va)}})}\nfunction ad(a,b){var c=a._compositionKey;I(null);if(null!==c&&null!=b){if(\"\"===b){b=K(c);a=xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&C(b)&&kb(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,xa,null);return}}Ob(!0,b)}function Kc(a,b){Oa?Vc=!0:x(b,()=>{ad(b,a.data)})}\nfunction Hc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Pc=a.timeStamp,Qc=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)Uc=!0,U(b,xa,a);else if(32===c)U(b,ya,a);else if(t&&f&&79===c)a.preventDefault(),Uc=!0,U(b,da,!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,za,a):(a.preventDefault(),\nU(b,ca,!0)):27===c?U(b,Aa,a):(h=t?d||g||e?!1:46===c||68===c&&f:f||g||e?!1:46===c,h?46===c?U(b,Ba,a):(a.preventDefault(),U(b,ca,!1)):8===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!0)):46===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!1)):t&&e&&8===c?(a.preventDefault(),U(b,la,!0)):t&&e&&46===c?(a.preventDefault(),U(b,la,!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,ma,void 0)):(h=t?90===c&&e&&d:89===c&&f||90===c&&f&&d,h?(a.preventDefault(),U(b,na,void 0)):bd(b._editorState._selection)&&(h=d?!1:67===c?t?e:f:!1,h?(a.preventDefault(),U(b,Ha,a)):(h=d?!1:88===c?t?e:f:!1,h&&(a.preventDefault(),U(b,Ia,a))))):U(b,Ca,a))}else Uc=!1,U(b,xa,a);else U(b,ta,a);else U(b,sa,a);else U(b,ra,a);else U(b,qa,a);else U(b,pa,a);else U(b,oa,a);(f||d||g||e)&&U(b,La,a)}}\nfunction cd(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let dd=new Map;function ed(){let a=window.getSelection();if(null!==a){var b=vb(a.anchorNode);if(null!==b){Tc&&(Tc=!1,x(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=fd(g,a,b),mb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,f=dd.get(d),e=f||c;e!==b&&Yc(a,e,!1);Yc(a,b,!0);b!==c?dd.set(d,b):f&&dd.delete(d)}}}\nfunction gd(a,b){0===Rc&&a.ownerDocument.addEventListener(\"selectionchange\",ed);Rc++;a.__lexicalEditor=b;let c=cd(a);for(let d=0;d<Nc.length;d++){let [f,e]=Nc[d],g=\"function\"===typeof e?h=>{b.isEditable()&&e(h,b)}:h=>{if(b.isEditable())switch(f){case \"cut\":return U(b,Ia,h);case \"copy\":return U(b,Ha,h);case \"paste\":return U(b,ha,h);case \"dragstart\":return U(b,Ea,h);case \"dragover\":return U(b,Fa,h);case \"dragend\":return U(b,Ga,h);case \"focus\":return U(b,Ja,h);case \"blur\":return U(b,Ka,h);case \"drop\":return U(b,\nDa,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=K(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;\nL||(Fb()===f&&I(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function hd(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 id(a,b){if(F(b)){let c=b.getLastDescendant();F(c)||C(c)?hd(a,c):hd(a,b)}else hd(a,b)}\nfunction jd(a,b,c){let d=a.getNode(),f=d.getChildAtIndex(a.offset),e=M(),g=N(d)?kd().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 ld(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass md{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!bd(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 md(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var f=c[d-1];if(C(f))f=f.select();else{let e=f.getIndexWithinParent()+1;f=f.getParentOrThrow().select(e,e)}f.insertNodes(a,b);for(a=0;a<d;a++)c[a].remove();return!0}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=K(c),null!==b&&a.push(b);L||(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 nd}\nclass od{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 pd(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 od(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return qd(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){var c=this.focus.getNode();c=c.select(0,c.getChildrenSize());hc(c.anchor);hc(c.focus);return c.insertNodes(a,b)}getShape(){var a=K(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=K(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,\na)}}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=K(this.gridKey);rd(e)||r(23);a.add(e);e=e.getChildren();for(let k=c;k<=f;k++){var g=e[k];a.add(g);sd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];td(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);L||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";\nfor(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function pd(a){return a instanceof od}\nclass nd{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);L||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){ld(this.anchor,a.__key,b,\"text\");ld(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]=qd(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)&&!Ab(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=H(),c=b.getEditorState()._selection;a=ud(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,f]=a;ld(this.anchor,d.key,d.offset,d.type);ld(this.focus,f.key,\nf.offset,f.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new nd(new W(a.key,a.offset,a.type),new W(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=yb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Ya[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(vd())}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?jd(b,c,f):d||\"element\"!==c.type||jd(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)||wb(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)||wb(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(\"\");wd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())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\"===\nthis.anchor.type&&(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()<\nk?C(l)&&!l.isToken()&&k!==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,\nk=null;null!==h;){l=h.getChildren();m=l.length;if(0===m||l[m-1].is(k))f.delete(h.__key),k=h;h=h.getParent()}b.isToken()?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),I(null);else{var b=this.getNodes(),c=[];for(var d of b)C(d)&&\nc.push(d);var f=c.length;if(0===f)this.toggleFormat(a),I(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,\n0,\"text\"),\"text\"===d.type&&d.set(a.__key,f-e,\"text\")),this.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(),\ne=f;\"element\"===c.type&&(e=c.getNode(),c=e.getChildAtIndex(d-1),e=null===c?e:c);c=[];var g=f.getNextSiblings(),h=bc(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(f.isToken())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);\ne=l;k=!0;continue}var n=l.getFirstDescendant();if(zb(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)&&bc(e.getParent())&&r(28);k=!1;if(F(e)&&!e.isInline())if(m=l,A(l)&&!l.isInline())e=e.insertAfter(l);else if(F(l)){if(l.canBeEmpty()||!l.isEmpty())bc(e)?(n=\ne.getChildAtIndex(d),null!==n?n.insertBefore(l):e.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.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Ab(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?\ne.select():C(a)?a.select():a.selectNext()),0!==c.length)for(b=e,a=c.length-1;0<=a;a--)d=c[a],h=d.getParentOrThrow(),!F(e)||xd(d)||A(d)&&!d.isInline()?F(e)||xd(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()||\nthis.removeText();var a=this.anchor,b=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(bc(e)){f=kd();c=e.getChildAtIndex(b);f.select();null!==c?c.insertBefore(f):e.append(f);return}f=e.getChildren().slice(b).reverse()}d=f.length;\nif(0===b&&0<d&&e.isInline()){if(c=e.getParentOrThrow(),f=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()?\ng.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=vd();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 qd(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]=qd(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!=\na?[a]:[]):[e];b=d.isBefore(f);C(e)&&(d=b?h:k,d===e.getTextContentSize()?a.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=Vb(d,b);if(A(g)&&!g.isIsolated())e?(e=yd(),e.add(g.__key),mb(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(),\nF(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=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,ld(b,e.key,e.offset,e.type),ld(e,d,f,g),this._cachedNodes=null))}deleteCharacter(a){if(this.isCollapsed()){var b=\nthis.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.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){zd(f,a,b);return}}else if(null!==\nd&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),d.is(f)||a&&0!==b||!a&&b!==c)){zd(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()&&\n(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\"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 bd(a){return a instanceof md}function Ad(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction qd(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]:[Ad(b),Ad(a)]}function zd(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 Bd(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 Id(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)&&(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=\"element\"):(c||\nb)&&null===d&&F(f)&&f.isInline()&&!f.canInsertTextAfter()&&(b=f.getNextSibling(),C(b)&&(a.key=b.__key,a.offset=0)))}function wd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let f=a.is(b);Id(a,d,f);Id(b,!d,f);f&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=H();d.isComposing()&&d._compositionKey!==a.key&&D(c)&&(d=c.anchor,c=c.focus,ld(a,d.key,d.offset,d.type),ld(b,c.key,c.offset,c.type))}}\nfunction ud(a,b,c,d,f,e){if(null===a||null===c||!ub(f,a,c))return null;b=Bd(a,b,D(e)?e.anchor:null);if(null===b)return null;d=Bd(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;wd(b,d,e);return[b,d]}function xd(a){return F(a)&&!a.isInline()}function Jd(a,b,c,d,f,e){let g=G();a=new nd(new W(a,b,f),new W(c,d,e),0);a.dirty=!0;return g._selection=a}function yd(){return new md(new Set)}\nfunction Kd(a){let b=a.getEditorState()._selection,c=window.getSelection();return bd(b)||pd(b)?b.clone():fd(b,c,a)}\nfunction fd(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=!db&&(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)&&!ub(c,f,e))return a.clone()}else return a.clone();c=ud(f,g,e,b,c,a);if(null===c)return null;let [h,k]=c;return new nd(h,k,D(a)?a.format:0)}\nfunction u(){return G()._selection}function Pb(){return H()._editorState._selection}\nfunction Ld(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\"),Md(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\"));Md(a)}}\nfunction Md(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 Nd(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 Od(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 Pd(a,b,c,d,f){\"text\"===a.type?(a.key=c,b||(a.offset+=f)):a.offset>d.getIndexWithinParent()&&--a.offset}let X=null,Y=null,L=!1,Qd=!1,Eb=0;function J(){L&&r(13)}\nfunction G(){null===X&&r(15);return X}function H(){null===Y&&r(16);return Y}function Rd(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 Sd(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()&&gc(b)}\nfunction Td(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let f=Fb(),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()&&gc(g),void 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Rd(b,g,e),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Eb++;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),void 0!==\ng&&void 0!==g&&g.__key!==f&&g.isAttached()&&Rd(b,g,e),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function Ud(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=Ud(a[d],b);c.append(f)}return c}function Vd(a,b){let c=X,d=L,f=Y;X=a;L=!0;Y=null;try{return b()}finally{X=c,L=d,Y=f}}\nfunction Wd(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=X,m=L,l=Y,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Y=a;X=b;L=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();P=R=O=\"\";kc=2===w;nc=null;S=a;ic=a._config;jc=a._nodes;mc=S._listeners.mutation;oc=y;pc=z;qc=f._nodeMap;rc=b._nodeMap;\nlc=b._readOnly;sc=new Map(a._keyToDOMMap);var B=new Map;tc=B;Gc(\"root\",null);tc=sc=ic=rc=qc=pc=oc=jc=S=void 0;v=B}catch(V){V instanceof Error&&a._onError(V);if(Qd)throw V;Xd(a,null,c,b);qb(a);a._dirtyType=2;Qd=!0;Wd(a);Qd=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,X=k,L=m,Y=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,\na._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);z=a._decorators;y=a._pendingDecorators||z;var E=b._nodeMap;for(Ra in y)E.has(Ra)||(y===z&&(y=Gb(a)),delete y[Ra]);d=d?null:window.getSelection();if(a._editable&&null!==d&&(h||null===g||g.dirty)){Y=a;X=b;try{a:{let V=d.anchorNode,ua=d.focusNode,ue=d.anchorOffset,ve=d.focusOffset,pb=document.activeElement;if(!w.has(\"collaboration\")||pb===c)if(D(g)){var Q=g.anchor,Z=g.focus,Cd=Q.key,va=Z.key,Dd=Xb(a,Cd),Ed=Xb(a,va),Yb=Q.offset,\nFd=Z.offset,Zb=g.format,Gd=g.isCollapsed();h=Dd;va=Ed;var Ra=!1;\"text\"===Q.type&&(h=xb(Dd),Ra=Q.getNode().getFormat()!==Zb);\"text\"===Z.type&&(va=xb(Ed));if(null!==h&&null!==va){if(Gd&&(null===e||Ra||D(e)&&e.format!==Zb)){var we=performance.now();Wc=[Zb,Yb,Cd,we]}if(ue===Yb&&ve===Fd&&V===h&&ua===va&&(\"Range\"!==d.type||!Gd)&&(null===c||null!==pb&&c.contains(pb)||c.focus({preventScroll:!0}),!Ta&&!Qa||\"element\"!==Q.type))break a;try{d.setBaseAndExtent(h,Yb,va,Fd);if(g.isCollapsed()&&null!==c&&c===pb){let Sa=\nQ.getNode();if(F(Sa)){let ja=Sa.getDescendantByIndex(Q.offset);null!==ja&&(Sa=ja)}let wa=a.getElementByKey(Sa.__key);if(null!==wa){let ja=wa.getBoundingClientRect();if(ja.bottom>rb(a).innerHeight)wa.scrollIntoView(!1);else if(0>ja.top)wa.scrollIntoView();else{let Hd=c.getBoundingClientRect();Math.floor(ja.bottom)>Math.floor(Hd.bottom)?wa.scrollIntoView(!1):Math.floor(ja.top)<Math.floor(Hd.top)&&wa.scrollIntoView()}w.add(\"scroll-into-view\")}}Sc=!0}catch(Sa){}}}else null!==e&&ub(a,V,ua)&&d.removeAllRanges()}}finally{Y=\nl,X=k}}if(null!==v)for(c=v,e=Array.from(a._listeners.mutation),g=e.length,k=0;k<g;k++){let [V,ua]=e[k];l=c.get(ua);void 0!==l&&V(l,{dirtyLeaves:n,updateTags:w})}c=a._pendingDecorators;null!==c&&(a._decorators=c,a._pendingDecorators=null,Yd(\"decorator\",a,!0,c));c=Hb(f);e=Hb(b);c!==e&&Yd(\"textcontent\",a,!0,e);Yd(\"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=0;f<m.length;f++)m[f]()}finally{a._updating=\nb}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [V,ua]=b;Zd(a,V,ua)}}}function Yd(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||Y!==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 $d(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 Zd(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 ae(new Map(c._nodeMap)),g=!0;let h=X,k=L,m=Y,l=a._updating;X=e;L=!1;a._updating=!0;Y=a;try{g&&!a._headless&&(e._selection=Kd(a));let n=a._compositionKey;b();f=$d(a,f);Nd(e,a);0!==a._dirtyType&&(f?Sd(e,a):Td(e,a),$d(a),dc(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 bd(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();Wd(a);return}finally{X=h,L=k,Y=m,a._updating=l,Eb=0}0!==a._dirtyType||be(e,a)?e._flushSync?(e._flushSync=!1,Wd(a)):g&&tb(()=>{Wd(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]):Zd(a,b,c)}\nfunction ce(a,b,c){J();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&&(Od(h,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Od(k,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=f.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Cb(a);h.splice(d,1);a.getWritable().__parent=null;D(e)&&b&&!g&&Ld(e,f,d,-1);c||bc(f)||f.canBeEmpty()||!f.isEmpty()||ce(f,b);N(f)&&f.isEmpty()&&f.selectEnd()}}\nfunction de(a){a=K(a);null===a&&r(63);return a}\nclass ee{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{J();99<Eb&&r(14);a=H();var b=G(),c=\"\"+sb++;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=K(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:K(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(bc(b))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:K(a[b-1])}getPreviousSiblings(){var a=this.getParent();\nif(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>de(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:K(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=>de(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();F(this)&&b.unshift(this);F(a)&&c.unshift(a);a=b.length;\nvar 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=this.__key;\nif(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(),e=e.getParent(),\nnull!==e&&(null!==f||d.has(e.__key)||c.push(e));while(null===f)}}b||c.reverse();return c}isDirty(){let a=H()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=K(this.__key);null===a&&r(69);return a}getWritable(){J();var a=G(),b=H();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 Db(d),d;e=d.constructor.clone(d);e.__parent=f;F(d)&&F(e)?(e.__children=Array.from(d.__children),e.__indent=d.__indent,\ne.__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;Db(e);a.set(c,e);return e}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().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){ce(this,!0,a)}replace(a){J();let b=this.__key;a=a.getWritable();Bb(a);var c=this.getParentOrThrow(),\nd=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;ce(this,!1);Cb(a);d=u();D(d)&&(c=d.anchor,d=d.focus,c.key===b&&id(c,a),d.key===b&&id(d,a));Fb()===b&&I(e);return a}insertAfter(a){J();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let f=u();var e=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Bb(c),D(f)&&(h=d.__key,g=f.anchor,d=f.focus,g=\"element\"===g.type&&g.key===h&&g.offset===e+1,h=\"element\"===d.type&&d.key===h&&d.offset===\ne+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);Cb(c);D(f)&&(Ld(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();Bb(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);e.splice(b,0,f);Cb(c);c=u();D(c)&&Ld(c,d,b);return a}selectPrevious(a,\nb){J();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){J();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()}}class fe extends ee{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}}\nfunction A(a){return a instanceof fe}\nclass ge extends ee{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 ab[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=K(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===this.getChildrenSize()}isDirty(){let a=\nH()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(){let a=[],b=this.getLatest().__children;for(let d=0;d<b.length;d++){var c=K(b[d]);C(c)?a.push(c):F(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}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=this.getLastChild();for(;null!==\na;){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:K(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;return 0===b?null:K(a[b-1])}getLastChildOrThrow(){let a=\nthis.getLastChild();if(null===a)throw Error(`Expected node ${this.__key} to have a last child.`);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:K(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let f=b[d];a+=f.getTextContent();F(f)&&d!==c-1&&!f.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=$a[a],0!==(this.getFormat()&a)):!1}select(a,b){J();let c=u();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(D(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Jd(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(),\n0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?$a[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);Bb(l);l.__parent=f;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Db(c);(f=this.getChildAtIndex(a+b))&&Db(f);a===e.length?(e.push(...h),a=[]):a=e.splice(a,\nb,...h);if(a.length&&(b=u(),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)&&Od(l,l.getNode(),this,c,f);h(n)&&Od(n,n.getNode(),this,c,f);h=a.length;for(b=0;b<h;b++)c=K(a[b]),null!=c&&(c.getWritable().__parent=null);0!==e.length||this.canBeEmpty()||bc(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),\ntype:\"element\",version: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}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function F(a){return a instanceof ge}\nclass he extends ge{static getType(){return\"root\"}static clone(){return new he}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!L&&0!==H()._dirtyType||null===a?super.getTextContent():a}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=Ib();b.setFormat(a.format);\nb.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 he}function be(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 ie(){return new ae(new Map([[\"root\",new he]]))}\nfunction je(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=je(a[d]);c.push(f)}}return b}\nclass ae{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 Vd(this,a)}clone(a){a=new ae(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Vd(this,()=>({root:je(Ib())}))}}\nclass ke extends ee{static getType(){return\"linebreak\"}static clone(a){return new ke(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:le,priority:0}}}}static importJSON(){return vd()}exportJSON(){return{type:\"linebreak\",version:1}}}function le(){return{node:vd()}}function vd(){return new ke}\nfunction Ab(a){return a instanceof ke}function me(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function ne(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction oe(a,b,c,d,f){a=d.classList;d=Sb(f,\"base\");void 0!==d&&a.add(...d);d=Sb(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 Ya)h=Ya[k],d=Sb(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 pe(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ua:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){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 qe extends ee{static getType(){return\"text\"}static clone(a){return new qe(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 cb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Fb()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Ya[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return yb(c,a,b)}createDOM(a){var b=this.__format,c=me(this,b);let d=ne(this,b),f=document.createElement(null===c?d:c),e=f;null!==c&&(e=document.createElement(d),f.appendChild(e));c=e;pe(this.__text,c,this);\na=a.theme.text;void 0!==a&&oe(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=me(this,f);let h=me(this,e);var k=ne(this,f);let m=ne(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),pe(d,a,this),c=c.theme.text,void 0!==c&&oe(m,0,e,a,c),b.replaceChild(g,f),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));pe(d,k,this);c=c.theme.text;\nvoid 0!==c&&f!==e&&oe(m,f,e,k,c);e=this.__style;a.__style!==e&&(b.style.cssText=e);return!1}static importDOM(){return{\"#text\":()=>({conversion:re,priority:0}),b:()=>({conversion:se,priority:0}),code:()=>({conversion:te,priority:0}),em:()=>({conversion:te,priority:0}),i:()=>({conversion:te,priority:0}),span:()=>({conversion:xe,priority:0}),strong:()=>({conversion:te,priority:0}),u:()=>({conversion:te,priority:0})}}static importJSON(a){let b=M(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);\nb.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?Ya[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Za[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Ya[a];return this.setFormat(this.getFormat()^\na)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=bb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){J();let c=u();var d=this.getTextContent();let f=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(D(c))d=Fb(),d!==c.anchor.key&&d!==c.focus.key||I(f),c.setTextNodeRange(this,a,this,b);\nelse return Jd(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){J();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,f=Fb(),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);\ne=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=a[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,\nB.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&&I(z);m=w;v.__parent=k;h.push(v)}Cb(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)&&Ld(b,c,d,e-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,f=this.__text,e=f.length;Fb()===d&&I(c);let g=u();if(D(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(Pd(h,b,c,a,e),g.dirty=!0);null!==k&&k.key===d&&(Pd(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 xe(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 se(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{C(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function re(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:M(a)}}let ye={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function te(a){let b=ye[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{C(c)&&c.toggleFormat(b);return c},node:null}}\nfunction M(a=\"\"){return new qe(a)}function C(a){return a instanceof qe}\nclass ze extends ge{static getType(){return\"paragraph\"}static clone(a){return new ze(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Sb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ae,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));if(a){var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();\n0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=kd();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=kd(),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(),\n!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ae(){return{node:kd()}}function kd(){return new ze}\nfunction Xd(a,b,c,d){let f=a._keyToDOMMap;f.clear();a._editorState=ie();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 Be(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 Ce{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;Xd(this,b,a,c);if(null!==b&&!this._config.disableEvents){0!==Rc&&(Rc--,0===Rc&&b.ownerDocument.removeEventListener(\"selectionchange\",ed));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;dd.get(d)===c&&dd.delete(d)}else dd.delete(c._key);b.__lexicalEditor=null}c=cd(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,qb(this),this._updateTags.add(\"history-merge\"),Wd(this),this._config.disableEvents||gd(a,this)):this._window=null;Yd(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);ob(this);let c=this._pendingEditorState,d=this._updateTags;\nb=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Wd(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Wd(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ie(),d=X,f=L,e=Y,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;X=c;L=!1;Y=this;try{Ud(a.root,\nthis._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,X=d,L=f,Y=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,Yd(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class De extends ge{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}function td(a){return a instanceof De}class Ee extends ge{}function rd(a){return a instanceof Ee}\nclass Fe extends ge{}function sd(a){return a instanceof Fe}exports.$addUpdateTag=function(a){J();H()._updateTags.add(a)};exports.$createLineBreakNode=vd;exports.$createNodeSelection=yd;exports.$createParagraphNode=kd;exports.$createRangeSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new nd(a,b,0)};exports.$createTextNode=M;exports.$getDecoratorNode=Vb;exports.$getNearestNodeFromDOMNode=jb;exports.$getNodeByKey=K;exports.$getPreviousSelection=Pb;\nexports.$getRoot=Ib;exports.$getSelection=u;exports.$hasAncestor=ac;exports.$insertNodes=function(a,b){let c=u();null===c&&(c=Ib().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=A;exports.$isElementNode=F;exports.$isInlineElementOrDecoratorNode=function(a){return F(a)&&a.isInline()||A(a)&&a.isInline()};exports.$isLeafNode=zb;exports.$isLineBreakNode=Ab;exports.$isNodeSelection=bd;exports.$isParagraphNode=function(a){return a instanceof ze};exports.$isRangeSelection=D;\nexports.$isRootNode=N;exports.$isRootOrShadowRoot=bc;exports.$isTextNode=C;exports.$nodesOfType=function(a){var b=G();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 Ud(a,H()._nodes)};exports.$setCompositionKey=I;exports.$setSelection=mb;exports.BLUR_COMMAND=Ka;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};\nexports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;exports.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=fa;exports.COPY_COMMAND=Ha;exports.CUT_COMMAND=Ia;exports.DELETE_CHARACTER_COMMAND=ca;exports.DELETE_LINE_COMMAND=la;exports.DELETE_WORD_COMMAND=ka;\nexports.DEPRECATED_$createGridSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new od(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=td;exports.DEPRECATED_$isGridNode=rd;exports.DEPRECATED_$isGridRowNode=sd;exports.DEPRECATED_$isGridSelection=pd;exports.DEPRECATED_GridCellNode=De;exports.DEPRECATED_GridNode=Ee;exports.DEPRECATED_GridRowNode=Fe;exports.DRAGEND_COMMAND=Ga;exports.DRAGOVER_COMMAND=Fa;exports.DRAGSTART_COMMAND=Ea;exports.DROP_COMMAND=Da;\nexports.DecoratorNode=fe;exports.ElementNode=ge;exports.FOCUS_COMMAND=Ja;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=da;exports.INSERT_PARAGRAPH_COMMAND=ea;exports.KEY_ARROW_DOWN_COMMAND=ta;exports.KEY_ARROW_LEFT_COMMAND=qa;exports.KEY_ARROW_RIGHT_COMMAND=oa;exports.KEY_ARROW_UP_COMMAND=sa;exports.KEY_BACKSPACE_COMMAND=za;exports.KEY_DELETE_COMMAND=Ba;exports.KEY_ENTER_COMMAND=xa;exports.KEY_ESCAPE_COMMAND=Aa;\nexports.KEY_MODIFIER_COMMAND=La;exports.KEY_SPACE_COMMAND=ya;exports.KEY_TAB_COMMAND=Ca;exports.LineBreakNode=ke;exports.MOVE_TO_END=pa;exports.MOVE_TO_START=ra;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ha;exports.ParagraphNode=ze;exports.REDO_COMMAND=na;exports.REMOVE_TEXT_COMMAND=ia;exports.RootNode=he;exports.SELECTION_CHANGE_COMMAND=aa;exports.TextNode=qe;exports.UNDO_COMMAND=ma;exports.VERSION=\"0.4.1\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Y,d=b.theme||{};let f=void 0===a?c:b.parentEditor||null,e=b.disableEvents||!1,g=ie(),h=b.namespace||(null!==f?f._config.namespace:Nb()),k=b.editorState,m=[he,qe,ke,ze,...(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 Ce(g,f,a,{disableEvents:e,namespace:h,theme:d},l?l:console.error,Be(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 e=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),g=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;let n={tag:\"history-merge\"};\nfunction p(a,c){if(null!==c)if(void 0===c)a.update(()=>{var b=f.$getRoot();if(b.isEmpty()){let d=f.$createParagraphNode();b.append(d);b=document.activeElement;(null!==f.$getSelection()||null!==b&&b===a.getRootElement())&&d.select()}},n);else if(null!==c)switch(typeof c){case \"string\":let b=a.parseEditorState(c);a.setEditorState(b,n);break;case \"object\":a.setEditorState(c,n);break;case \"function\":a.update(()=>{f.$getRoot().isEmpty()&&c(a)},n)}}\nexports.LexicalComposer=function({initialConfig:a,children:c}){let b=g.useMemo(()=>{const {theme:d,namespace:h,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=a,v=e.createLexicalComposerContext(null,d);let k=q||null;if(null===k){const l=f.createEditor({editable:!1,namespace:h,nodes:r,onError:w=>t(w,l),theme:d});p(l,u);k=l}return[k,v]},[]);m(()=>{let d=a.editable,[h]=b;h.setEditable(void 0!==d?d:!0)},[]);return g.createElement(e.LexicalComposerContext.Provider,{value:b},c)}\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.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.DEPRECATED_$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.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};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.$isRootOrShadowRoot(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),\ne.insertAfter(c));b.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.$isRootOrShadowRoot(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.$isRootOrShadowRoot(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 r=new Map;function u(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;l.$isElementNode(a)&&l.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):l.$isTextNode(a)&&l.$isTextNode(b)&&(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail);return b}\nfunction v(a,b,c,g,d,f){for(var h=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy(\"clone\");)b=b.getParent();if(null===b)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let e=a.getKey(),k=f.get(e),m=void 0===k;m&&(k=u(a),f.set(e,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(g?h:0,g?void 0:(h||0)+1)):k.__text=k.__text.slice(g?h:0,g?c:h);if(l.$isRootNode(b)){m&&d.push(e);break}}h=f.get(b.getKey());h=l.$isElementNode(h)?\nh.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}\nfunction x(a){if(l.$isRangeSelection(a)){var b=a.anchor,c=a.focus;let [k,m]=a.getCharacterOffsets();a=a.getNodes();if(0===a.length)return{nodeMap:[],range:[]};let p=a.length;var g=a[0],d=g.getParent();if(null!==d&&(!d.canBeEmpty()||l.$isRootNode(d))){var f=d.__children;if(f.length===p){var h=!0;for(var e=0;e<f.length;e++)if(f[e]!==a[e].__key){h=!1;break}h&&(p++,a.push(d))}}d=a[p-1];b=b.isBefore(c);c=new Map;f=[];h=l.$isTextNode(g)&&1===p;v(g,b?k:m,h?b?m:k:void 0,!0,f,c);for(g=0;g<p;g++){e=a[g];let n=\ne.getKey();if(!(c.has(n)||l.$isElementNode(e)&&e.excludeFromCopy(\"clone\"))){let w=u(e);l.$isRootNode(e.getParent())&&f.push(e.getKey());\"root\"!==n&&c.set(n,w)}}v(d,h?void 0:b?m:k,void 0,!1,f,c);return{nodeMap:Array.from(c.entries()),range:f}}if(l.DEPRECATED_$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){let b=r.get(a);void 0===b&&(b=z(a),r.set(a,b));return b}function z(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [g,d]=c.split(/:([^]+)/);b[g.trim()]=d.trim()}return b}function A(a,b){var c=y(a.getStyle());b=c?{...c,...b}:b;c=\"\";for(g in b)g&&(c+=`${g}: ${b[g]};`);var g=c;a.setStyle(g);r.set(g,b)}function B(a,b,c,g){a.modify(b?\"extend\":\"move\",c,g)}function C(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction E(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction F(a,b,c,g,d=null){if(0!==b.length){var f=b[0],h=new Map,e=[];f=l.$isElementNode(f)?f:f.getParentOrThrow();f.isInline()&&(f=f.getParentOrThrow());for(var k=!1;null!==f;){var m=f.getPreviousSibling();if(null!==m){f=m;k=!0;break}f=f.getParentOrThrow();if(l.$isRootOrShadowRoot(f))break}m=new Set;for(var p=0;p<c;p++){var n=b[p];l.$isElementNode(n)&&0===n.getChildrenSize()&&m.add(n.getKey())}var w=new Set;for(p=0;p<c;p++){n=b[p];var q=n.getParent();null!==q&&q.isInline()&&(q=q.getParent());if(null!==\nq&&l.$isLeafNode(n)&&!w.has(n.getKey())){if(n=q.getKey(),void 0===h.get(n)){let t=g();t.setFormat(q.getFormatType());t.setIndent(q.getIndent());e.push(t);h.set(n,t);q.getChildren().forEach(D=>{t.append(D);w.add(D.getKey())});E(q)}}else m.has(n.getKey())&&(q=g(),q.setFormat(n.getFormatType()),q.setIndent(n.getIndent()),e.push(q),n.remove(!0))}if(null!==d)for(b=0;b<e.length;b++)d.append(e[b]);if(l.$isRootOrShadowRoot(f))if(k)if(null!==d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);\nelse if(b=f.getFirstChild(),l.$isElementNode(b)&&(f=b),null===b)if(d)f.append(d);else for(d=0;d<e.length;d++)f.append(e[d]);else if(null!==d)b.insertBefore(d);else for(f=0;f<e.length;f++)b.insertBefore(e[f]);else if(d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);e=l.$getPreviousSelection();l.$isRangeSelection(e)&&e.anchor.getNode().isAttached()&&e.focus.getNode().isAttached()?l.$setSelection(e.clone()):a.dirty=!0}}\nfunction G(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function H(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}exports.$addNodeStyle=function(a){a=a.getStyle();let b=z(a);r.set(a,b)};exports.$cloneContents=function(a){return x(a)};exports.$cloneWithProperties=u;\nexports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let g=null,d=a.getNodes();var f=a.anchor,h=a.focus,e=a.isBackward();a=e?h.offset:f.offset;f=e?h.getNode():f.getNode();for(h=0;h<d.length;h++){var k=d[h];if((0===h||0!==a||!k.is(f))&&l.$isTextNode(k)){e=b;var m=c;k=k.getStyle();k=y(k);e=null!==k?k[e]||m:m;if(null===g)g=e;else if(g!==e){g=\"\";break}}}return null===g?c:g};exports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};\nexports.$isParentElementRTL=C;exports.$moveCaretSelection=B;exports.$moveCharacter=function(a,b,c){let g=C(a);B(a,b,c?!g:g,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let g=c.length-1,d=c[0],f=c[g];if(!a.isCollapsed()){var h=a.anchor,e=a.focus;a=d.getTextContent().length;var k=e.offset,m=h.offset;h=(e=h.isBefore(e))?m:k;e=e?k:m;if(h===d.getTextContentSize()){let p=d.getNextSibling();l.$isTextNode(p)&&(h=m=0,d=p)}if(d.is(f))l.$isTextNode(d)&&(h=m>k?k:m,e=m>k?m:k,h!==e&&(0===h&&e===a?(A(d,b),d.select(h,e)):(c=d.splitText(h,e),c=0===h?c[0]:c[1],A(c,b),c.select(0,e-h))));else for(l.$isTextNode(d)&&(0!==h&&(d=\nd.splitText(h)[1]),A(d,b)),l.$isTextNode(f)&&(a=f.getTextContent().length,e!==a&&([f]=f.splitText(e)),0!==e&&A(f,b)),a=1;a<g;a++)k=c[a],m=k.getKey(),l.$isTextNode(k)&&m!==d.getKey()&&m!==f.getKey()&&!k.isToken()&&A(k,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let g=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",f=\"element\",h=0;l.$isTextNode(g)?d=\"text\":l.$isElementNode(g)||null===g||(g=g.getParentOrThrow());l.$isTextNode(c)?(f=\"text\",h=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());g&&c&&(b.set(g.getKey(),0,d),a.set(c.getKey(),h,f))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,b){a=l.$getDecoratorNode(a.focus,b);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,b){if(b.isSelected()&&!b.isSegmented()&&!b.isToken()&&(l.$isRangeSelection(a)||l.DEPRECATED_$isGridSelection(a))){var c=a.anchor.getNode(),g=a.focus.getNode(),d=b.is(c),f=b.is(g);if(d||f){d=a.isBackward();let [h,e]=a.getCharacterOffsets();a=c.is(g);f=b.is(d?g:c);g=b.is(d?c:g);c=0;let k=void 0;a?(c=h>e?e:h,k=h>e?h:e):f?(c=d?e:h,k=void 0):g&&(d=d?h:e,c=0,k=d);b.__text=b.__text.slice(c,k)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var g=a.getNodes();let d=g.length;var f=a.anchor;if(0===d||1===d&&\"element\"===f.type&&0===f.getNode().getChildrenSize()){a=\"text\"===f.type?f.getNode().getParentOrThrow():f.getNode();g=a.getChildren();let e=b();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());g.forEach(k=>e.append(k));c&&(e=c.append(e));a.replace(e)}else{f=null;var h=[];for(let e=0;e<d;e++){let k=g[e];l.$isRootOrShadowRoot(k)?(F(a,h,h.length,b,c),h=[],f=k):null===f||null!==f&&l.$hasAncestor(k,\nf)?h.push(k):(F(a,h,h.length,b,c),h=[k])}F(a,h,h.length,b,c)}};exports.$wrapNodesImpl=F;\nexports.createDOMRange=function(a,b,c,g,d){let f=b.getKey(),h=g.getKey(),e=document.createRange(),k=a.getElementByKey(f);a=a.getElementByKey(h);l.$isTextNode(b)&&(k=G(k));l.$isTextNode(g)&&(a=G(a));if(void 0===b||void 0===g||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,c]=H(k));\"BR\"===a.nodeName&&([a,d]=H(a));b=k.firstChild;k===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{e.setStart(k,c),e.setEnd(a,d)}catch(m){return null}!e.collapsed||c===d&&f===h||(e.setStart(a,d),e.setEnd(k,\nc));return e};exports.createRectsFromDOMRange=function(a,b){var c=a.getRootElement();if(null===c)return[];a=c.getBoundingClientRect();c=getComputedStyle(c);c=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight);b=Array.from(b.getClientRects());let g=b.length,d;for(let f=0;f<g;f++){let h=b[f],e=h.width+c===a.width;d&&d.top===h.top&&d.left===h.left&&d.width===h.width&&d.height===h.height||e?(b.splice(f--,1),g--):d=h}return b};exports.getStyleObjectFromCSS=y;\nexports.trimTextContentFromAnchor=function(a,b,c){let g=b.getNode();if(l.$isElementNode(g)){var d=g.getDescendantByIndex(b.offset);null!==d&&(g=d)}for(;0<c&&null!==g;){var f=g.getPreviousSibling(),h=0;if(null===f){d=g.getParentOrThrow();for(var e=d.getPreviousSibling();null===e;){d=d.getParent();if(null===d){f=null;break}e=d.getPreviousSibling()}null!==d&&(h=d.isInline()?0:2,f=l.$isElementNode(e)?e.getLastDescendant():e)}let k=g.getTextContent();\"\"===k&&l.$isElementNode(g)&&!g.isInline()&&(k=\"\\n\\n\");\nd=k.length;e=d-c;let m=k.slice(0,e);if(!l.$isTextNode(g)||c>=d)e=g.getParent(),g.remove(),null!=e&&0===e.getChildrenSize()&&e.remove(),c-=d+h,g=f;else{let p=g.getKey();f=a.getEditorState().read(()=>{const n=l.$getNodeByKey(p);return l.$isTextNode(n)&&n.isSimpleText()?n.getTextContent():null});null!==f&&f!==k?(c=l.$getPreviousSelection(),d=g,g.isSimpleText()?g.setTextContent(f):(d=l.$createTextNode(f),g.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):g.isSimpleText()?\n(f=b.key===p,h=b.offset,h<c&&(h=d),c=f?h-c:0,d=f?h:e,f&&0===c?([c]=g.splitText(c,d),c.remove()):([,c]=g.splitText(c,d),c.remove())):(c=l.$createTextNode(m),g.replace(c));c=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 n=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,h,b=null){let e=null!=b?d.isSelected():!0,l=q.$isElementNode(d)&&d.excludeFromCopy(\"html\");var a=d;null!==b&&(a=n.$cloneWithProperties(d),a=q.$isTextNode(a)&&null!=b?n.$sliceSelectedTextNodeContent(b,a):a);let f=q.$isElementNode(a)?a.getChildren():[],{element:k,after:g}=a.exportDOM(c);if(!k)return!1;let m=new DocumentFragment;for(let p=0;p<f.length;p++){let t=f[p],w=r(c,t,m,b);!e&&q.$isElementNode(d)&&w&&d.extractWithChild(t,b,\"html\")&&(e=!0)}e&&!l?(k.append(m),h.append(k),g&&(c=g.call(a,\nk))&&k.replaceWith(c)):h.append(m);return e}let u=new Set([\"STYLE\"]);\nfunction v(c,d,h=new Map,b,e=!1){let l=[];if(u.has(c.nodeName))return l;let a=null;var {nodeName:f}=c,k=d._htmlConversions.get(f.toLowerCase());f=null;if(void 0!==k)for(g of k)k=g(c),null!==k&&(null===f||f.priority<k.priority)&&(f=k);var g=(g=null!==f?f.conversion:null)?g(c,void 0,e):null;f=null;if(null!==g){f=g.after;a=g.node;if(null!==a){for(var [,m]of h)if(a=m(a,b),!a)break;a&&l.push(a)}null!=g.forChild&&h.set(c.nodeName,g.forChild)}c=c.childNodes;b=[];for(m=0;m<c.length;m++)b.push(...v(c[m],d,\nnew Map(h),a,e||!0===(g&&g.preformatted)));null!=f&&(b=f(b));null==a?l=l.concat(b):q.$isElementNode(a)&&a.append(...b);return l}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 h=document.createElement(\"div\"),b=q.$getRoot().getChildren();for(let e=0;e<b.length;e++)r(c,b[e],h,d);return h.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let h=[];d=d.body?Array.from(d.body.childNodes):[];let b=d.length;for(let l=0;l<b;l++){var e=d[l];u.has(e.nodeName)||(e=v(e,c),null!==e&&(h=h.concat(e)))}return h}\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 c=require(\"@lexical/html\"),n=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,b,d){(z.DEPRECATED_$isGridSelection(d)||null!==y.$findMatchingParent(d.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==y.$findMatchingParent(d.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?E(b,d,!1,a):F(b,d)}\nfunction F(a,b){let d=[],g=null,e=null;for(let h=0;h<a.length;h++){let f=a[h];n.$isListItemNode(f)?(null==e&&(e=n.$createListNode(\"bullet\"),d.push(e)),e.append(f)):(null!=e&&(e=null),z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)||z.$isLineBreakNode(f)?(null===g&&(g=z.$createParagraphNode(),d.push(g)),null!==g&&g.append(f)):(d.push(f),g=null))}z.$isRangeSelection(b)?b.insertNodes(d):z.DEPRECATED_$isGridSelection(b)&&(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||\nA(41),a.append(...d))}\nfunction E(a,b,d,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();d=e.getFirstChildOrThrow().getChildrenSize();var h=e.getChildrenSize(),f=y.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&y.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&y.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var k=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,k+h-1);h=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,h+d-1);d=Math.min(h,f);e=Math.min(k,p);h=Math.max(h,f);k=Math.max(k,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=k;l++){var w=p[l];z.DEPRECATED_$isGridRowNode(w)||A(24);var x=a[f];z.DEPRECATED_$isGridRowNode(x)||A(24);w=w.getChildren();x=x.getChildren();let C=0;for(let t=d;t<=h;t++){let u=w[t];z.DEPRECATED_$isGridCellNode(u)||A(25);let D=x[C];z.DEPRECATED_$isGridCellNode(D)||A(25);l===e&&t===d?m=\nu.getKey():l===k&&t===h&&(q=u.getKey());let J=u.getChildren();D.getChildren().forEach(v=>{z.$isTextNode(v)&&z.$createParagraphNode().append(v);u.append(v)});J.forEach(v=>v.remove());C++}f++}m&&q&&(a=z.DEPRECATED_$createGridSelection(),a.set(b.getKey(),m,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction G(a,b,d,g=[]){let e=null!=b?d.isSelected():!0,h=z.$isElementNode(d)&&d.excludeFromCopy(\"html\");var f=d;if(null!==b){var k=r.$cloneWithProperties(d);f=k=z.$isTextNode(k)&&null!=b?r.$sliceSelectedTextNodeContent(b,k):k}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;k=m.exportJSON();k.type!==m.constructor.getType()&&A(58);var q=k.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(k.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=G(a,b,m,k.children),!e&&z.$isElementNode(d)&&\nq&&d.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!h)g.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)g.push(k.children[a]);return e}function H(a,b){let d=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)G(a,b,g[e],d);return{namespace:a._config.namespace,nodes:d}}function I(a){let b=[];for(let d=0;d<a.length;d++){let g=z.$parseSerializedNode(a[d]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}exports.$generateJSONFromSelectedNodes=H;\nexports.$generateNodesFromSerializedNodes=I;exports.$getHtmlContent=function(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:c.$generateHtmlFromNodes(a,b)};exports.$getLexicalContent=function(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(H(a,b))};\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,d){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let h=JSON.parse(g);if(h.namespace===d._config.namespace&&Array.isArray(h.nodes)){let f=I(h.nodes);return B(d,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let h=c.$generateNodesFromDOM(d,e);return B(d,h,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),d=a.length,e=0;e<d;e++)b.insertText(a[e]),\ne<d-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=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 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\"),f=require(\"@lexical/selection\"),g=require(\"@lexical/utils\"),h=require(\"lexical\");let l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,m=l&&\"documentMode\"in document?document.documentMode:null;l&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);l&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet n=l&&\"InputEvent\"in window&&!m?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,p=l&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),q=l&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;\nclass r extends h.ElementNode{static getType(){return\"quote\"}static clone(a){return new r(a.__key)}constructor(a){super(a)}createDOM(a){let c=document.createElement(\"blockquote\");g.addClassNamesToElement(c,a.theme.quote);return c}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:t,priority:0})}}static importJSON(a){let c=w();c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let a=\nh.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);return a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}}function w(){return new r}\nclass x extends h.ElementNode{static getType(){return\"heading\"}static clone(a){return new x(a.__tag,a.__key)}constructor(a,c){super(c);this.__tag=a}getTag(){return this.__tag}createDOM(a){let c=this.__tag,d=document.createElement(c);a=a.theme.heading;void 0!==a&&g.addClassNamesToElement(d,a[c]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:y,priority:0}),h2:()=>({conversion:y,priority:0}),h3:()=>({conversion:y,priority:0}),h4:()=>({conversion:y,priority:0}),h5:()=>({conversion:y,\npriority:0}),h6:()=>({conversion:y,priority:0}),p:a=>{a=a.firstChild;return null!==a&&z(a)?{conversion:()=>({node:null}),priority:3}:null},span:a=>z(a)?{conversion:()=>({node:A(\"h1\")}),priority:3}:null}}static importJSON(a){let c=A(a.tag);c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let a=h.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);\nreturn a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}extractWithChild(){return!0}}function z(a){return\"span\"===a.nodeName.toLowerCase()?\"26pt\"===a.style.fontSize:!1}function y(a){a=a.nodeName.toLowerCase();let c=null;if(\"h1\"===a||\"h2\"===a||\"h3\"===a||\"h4\"===a||\"h5\"===a||\"h6\"===a)c=A(a);return{node:c}}function t(){return{node:w()}}function A(a){return new x(a)}\nfunction B(a,c){a.preventDefault();c.update(()=>{let d=h.$getSelection(),e=a instanceof InputEvent||a instanceof KeyboardEvent?null:a.clipboardData;null!=e&&(h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d))&&b.$insertDataTransferForRichText(e,d,c)},{tag:\"paste\"})}\nfunction C(a,c){var d=h.$getSelection();if(null!==d){a.preventDefault();a=a instanceof KeyboardEvent?null:a.clipboardData;let e=b.$getHtmlContent(c);c=b.$getLexicalContent(c);null!=a?(null!==e&&a.setData(\"text/html\",e),null!==c&&a.setData(\"application/x-lexical-editor\",c),d=d.getTextContent(),a.setData(\"text/plain\",d)):(d=navigator.clipboard,null!=d&&(a=[new ClipboardItem({\"text/html\":new Blob([e],{type:\"text/html\"})})],d.write(a)))}}\nfunction D(a,c){C(a,c);a=h.$getSelection();h.$isRangeSelection(a)?a.removeText():h.$isNodeSelection(a)&&a.getNodes().forEach(d=>d.remove())}function E(a,c){var d=h.$getSelection();if(h.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let u=0;u<d.length;u++){let v=d[u];var k=v.getKey();e.has(k)||(e.add(k),k=g.$getNearestBlockElementAncestorOrThrow(v),k.canInsertTab()?a(v):k.canIndent()&&c(k))}}}function F(a){a=h.$getNearestNodeFromDOMNode(a);return h.$isDecoratorNode(a)}\nexports.$createHeadingNode=A;exports.$createQuoteNode=w;exports.$isHeadingNode=function(a){return a instanceof x};exports.$isQuoteNode=function(a){return a instanceof r};exports.HeadingNode=x;exports.QuoteNode=r;\nexports.registerRichText=function(a){return g.mergeRegister(a.registerCommand(h.CLICK_COMMAND,()=>{const c=h.$getSelection();return h.$isNodeSelection(c)?(c.clear(),!0):!1},0),a.registerCommand(h.DELETE_CHARACTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteCharacter(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DELETE_WORD_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteWord(c);return!0},h.COMMAND_PRIORITY_EDITOR),\na.registerCommand(h.DELETE_LINE_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteLine(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,c=>{const d=h.$getSelection();if(\"string\"===typeof c)h.$isRangeSelection(d)?d.insertText(c):h.DEPRECATED_$isGridSelection(d);else{if(!h.$isRangeSelection(d)&&!h.DEPRECATED_$isGridSelection(d))return!1;const e=c.dataTransfer;null!=e?b.$insertDataTransferForRichText(e,d,a):h.$isRangeSelection(d)&&\n(c=c.data)&&d.insertText(c)}return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.REMOVE_TEXT_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.removeText();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_TEXT_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.formatText(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_ELEMENT_COMMAND,c=>{var d=h.$getSelection();if(!h.$isRangeSelection(d)&&!h.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)g.$getNearestBlockElementAncestorOrThrow(e).setFormat(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_LINE_BREAK_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.insertLineBreak(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_PARAGRAPH_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.insertParagraph();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INDENT_CONTENT_COMMAND,\n()=>{E(()=>{a.dispatchCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},c=>{const d=c.getIndent();10!==d&&c.setIndent(d+1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.OUTDENT_CONTENT_COMMAND,()=>{E(c=>{h.$isTextNode(c)&&(c=c.getTextContent(),\"\\t\"===c[c.length-1]&&a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0))},c=>{const d=c.getIndent();0!==d&&c.setIndent(d-1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_UP_COMMAND,c=>{const d=h.$getSelection();return h.$isNodeSelection(d)&&\n!F(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectPrevious(),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_DOWN_COMMAND,()=>{var c=h.$getSelection();return h.$isNodeSelection(c)&&(c=c.getNodes(),0<c.length)?(c[0].selectNext(0,0),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_LEFT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectPrevious(),!0}return h.$isRangeSelection(d)?f.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=c.shiftKey,c.preventDefault(),f.$moveCharacter(d,e,!0),!0):!1:!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_RIGHT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)&&!F(c.target)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectNext(0,0),!0}if(!h.$isRangeSelection(d))return!1;e=c.shiftKey;return f.$shouldOverrideDefaultCharacterSelection(d,!1)?(c.preventDefault(),f.$moveCharacter(d,e,!1),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_BACKSPACE_COMMAND,\nc=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();({anchor:c}=d);const e=c.getNode();return d.isCollapsed()&&0===c.offset&&!h.$isRootNode(e)&&0<g.$getNearestBlockElementAncestorOrThrow(e).getIndent()?a.dispatchCommand(h.OUTDENT_CONTENT_COMMAND,void 0):a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_DELETE_COMMAND,c=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!1)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ENTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;if(null!==c){if((q||p)&&n)return!1;c.preventDefault();if(c.shiftKey)return a.dispatchCommand(h.INSERT_LINE_BREAK_COMMAND,!1)}return a.dispatchCommand(h.INSERT_PARAGRAPH_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_TAB_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(c.shiftKey?h.OUTDENT_CONTENT_COMMAND:h.INDENT_CONTENT_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ESCAPE_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;a.blur();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DROP_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DRAGSTART_COMMAND,c=>{const d=h.$getSelection();\nif(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.COPY_COMMAND,c=>{C(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CUT_COMMAND,c=>{D(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.PASTE_COMMAND,c=>{const d=h.$getSelection();return h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d)?(B(c,a),!0):!1},h.COMMAND_PRIORITY_EDITOR))}\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;","import React from 'react';\n\nconst CardContext = React.createContext({});\n\nexport default CardContext;\n","import React from 'react';\nimport {\n $createNodeSelection,\n $createParagraphNode,\n $getNodeByKey,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $setSelection,\n BLUR_COMMAND,\n CLICK_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND\n} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalNodeSelection} from '@lexical/react/useLexicalNodeSelection';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport WrapperContext from '../context/CardContext';\n\nconst KoenigCardWrapperComponent = ({nodeKey, children}) => {\n const [editor] = useLexicalComposerContext();\n const [isSelected, setSelected, clearSelected] = useLexicalNodeSelection(nodeKey);\n const [selection, setSelection] = React.useState(null);\n const ref = React.useRef(null);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n setSelection(editorState.read(() => $getSelection()));\n }),\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n if (ref.current.contains(event.target)) {\n clearSelected();\n setSelected(true);\n } else if (isSelected) {\n setSelected(false);\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n BLUR_COMMAND,\n (event) => {\n if (isSelected && !ref.current.contains(event.relatedTarget)) {\n clearSelected();\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event) => {\n // TODO: test if this is needed when code card is working again\n // we don't want to insert paragraphs if Enter is pressed inside card's form element\n // if (event.target.matches('input textarea select option')) {\n // return false;\n // }\n\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const previousSibling = cardNode.getPreviousSibling();\n const nextSibling = cardNode.getNextSibling();\n\n if (previousSibling) {\n if (previousSibling.selectEnd) {\n previousSibling.selectEnd();\n } else if ($isDecoratorNode(previousSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(previousSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectPrevious();\n }\n } else if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const nextSibling = cardNode.getNextSibling();\n\n if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n } else {\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n )\n );\n }, [editor, isSelected, setSelected, clearSelected, nodeKey]);\n\n const isFocused = $isNodeSelection(selection) && isSelected;\n\n return (\n <WrapperContext.Provider value={{isSelected, selection, wpkey: nodeKey}}>\n <div\n className={`relative border border-transparent caret-grey-800 ${isFocused ? 'shadow-[0_0_0_2px] shadow-green' : 'hover:shadow-[0_0_0_1px] hover:shadow-green'}`}\n ref={ref}\n data-kg-card\n data-kg-card-selected={isFocused}\n >\n {children}\n </div>\n </WrapperContext.Provider>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction HorizontalRuleComponent({nodeKey}) {\n return (\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\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 static kgMenu = {\n label: 'Divider',\n desc: 'Insert a dividing line',\n Icon: DividerCardIcon\n };\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isInline() {\n return false;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} className=\"inline-block\">\n <HorizontalRuleComponent nodeKey={this.getKey()} />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import {useEffect} from 'react';\n\nconst useAutoExpandTextArea = ({el, value}) => {\n useEffect(() => {\n const element = el.current;\n if (element) {\n element.style.height = '0px';\n const height = element.scrollHeight;\n element.style.height = `${height}px`;\n }\n }, [el, value]);\n};\n\nexport default useAutoExpandTextArea;\n","import * as React from 'react';\nimport {\n $getNodeByKey,\n createCommand,\n DecoratorNode\n} from 'lexical';\n// import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport useAutoExpandTextArea from '../utils/autoExpandTextArea';\n\nexport const CODE_BLOCK_COMMAND = createCommand();\n\nfunction CodeBlockComponent({className, code, language, nodeKey, editor}) {\n const el = React.useRef(null);\n\n useAutoExpandTextArea({el, value: code});\n\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n return (\n <code>\n <textarea\n ref={el}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n tabIndex=\"0\"\n autoFocus\n className='min-h-170 w-full bg-grey-50 p-3 text-grey-900'\n value={code}\n onChange={updateCode} />\n </code>\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, initCode, key) {\n super(key);\n this.__language = language;\n this.__code = initCode;\n }\n\n createDOM(config) {\n return document.createElement('div');\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\n return (\n <KoenigCardWrapper className={className} nodeKey={this.getKey()}>\n <CodeBlockComponent\n className={className}\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n </KoenigCardWrapper>\n );\n }\n\n isInline() {\n return false;\n }\n}\n\nexport function $createCodeBlockNode(language, initCode) {\n return new CodeBlockNode(language, initCode);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import React from 'react';\n\nconst KoenigComposerContext = React.createContext({});\n\nexport default KoenigComposerContext;\n","import React, {useState, useRef, useEffect, useContext} from 'react';\nimport {DecoratorNode, $getNodeByKey} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport CardContext from '../context/CardContext';\n\nfunction MediaCard({dataset, editor, nodeKey}) {\n const {payload, setPayload} = dataset;\n const {imageUploader} = React.useContext(KoenigComposerContext);\n\n const uploadRef = useRef(null);\n const onUploadChange = async (e) => {\n const fls = e.target.files;\n const files = await imageUploader(fls);\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setSrc(files.src);\n setPayload(node.getPayload());\n });\n };\n\n useEffect(() => {\n const editorState = editor.getEditorState();\n editorState.read(() => {\n const node = $getNodeByKey(nodeKey);\n setPayload(node.getPayload());\n });\n }, [editor, nodeKey, setPayload]);\n\n const openUpload = () => {\n uploadRef.current.click();\n };\n\n if (payload?.__src) {\n return (\n <figure className=\"kg-card kg-image-card\">\n <img src={payload?.__src} alt={payload?.__altText} />\n </figure>\n );\n } else {\n return (\n <>\n <MediaPlaceholder onClick={openUpload} desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <form onChange={onUploadChange}>\n <input\n name=\"image-input\"\n type='file'\n accept='image/*'\n ref={uploadRef}\n hidden={true}\n />\n </form>\n </>\n );\n }\n}\n\nfunction ImageCard({nodeKey}) {\n const [altText, setAltText] = useState(false);\n const [editor] = useLexicalComposerContext();\n const [payload, setPayload] = React.useState({});\n const {isSelected, wpkey} = useContext(CardContext);\n\n React.useEffect(() => {\n const editorState = editor.getEditorState();\n editorState.read(() => {\n const node = $getNodeByKey(nodeKey);\n setPayload(node.getPayload());\n });\n }, [editor, nodeKey]);\n\n return (\n <div>\n <MediaCard dataset={{payload, setPayload}} editor={editor} nodeKey={nodeKey} />\n <div className=\"w-full p-2\">\n <CaptionEditor selected={isSelected} toggleAltText={{altText, setAltText}} wpkey={wpkey} nodeKey={nodeKey} placeholder={altText ? `Type alt text for image (optional)` : `Type caption for image (optional)`} />\n </div>\n </div>\n );\n}\n\nfunction MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button name=\"placeholder-button\" className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 font-sans text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n </div>\n );\n}\n\nfunction CaptionEditor({placeholder, nodeKey, toggleAltText, selected}) {\n const [editor] = useLexicalComposerContext();\n const [captionText, setCaptionText] = useState(null);\n const [altTextValue, setAltTextValue] = useState('');\n const {altText, setAltText} = toggleAltText;\n\n const handleChange = (e) => {\n if (!altText) {\n const cap = e.target.value;\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCaption(cap);\n setCaptionText(cap);\n });\n } else {\n const alt = e.target.value;\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setAltText(alt);\n setAltTextValue(alt);\n });\n }\n };\n\n useEffect(() => {\n const editorState = editor.getEditorState();\n editorState.read(() => {\n const node = $getNodeByKey(nodeKey);\n setCaptionText(node.getCaption());\n setAltTextValue(node.getAltText());\n });\n }, [editor, nodeKey]);\n\n const tgAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n useEffect(() => {\n if (!selected) {\n setAltText(false);\n }\n }, [selected, setAltText]);\n\n if (selected || captionText) {\n return (\n <>\n <input\n onChange={handleChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={altText ? altTextValue : captionText}\n />\n <button\n name=\"alt-toggle-button\"\n className={`absolute bottom-0 right-0 m-2 cursor-pointer rounded border px-1 font-sans text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => tgAltText(e)}>\n Alt\n </button>\n </>\n );\n }\n}\n\nfunction convertImageElement(domNode) {\n if (domNode instanceof HTMLImageElement) {\n const {altText, src} = domNode;\n const node = $createImageNode({altText, src});\n return {node};\n }\n return null;\n}\n\nexport class ImageNode extends DecoratorNode {\n static getType() {\n return 'image';\n }\n static clone(node) {\n return new ImageNode(\n node.__src,\n node.__caption,\n node.__altText,\n node.__key,\n );\n }\n\n static importJSON(serializedNode) {\n const {caption, altText, src} = serializedNode;\n const node = $createImageNode({\n altText,\n caption,\n src\n });\n return node;\n }\n\n static kgMenu = {\n label: 'Image',\n desc: 'Upload, or embed with /image [url]',\n Icon: ImageCardIcon\n };\n\n exportDOM(){\n const element = document.createElement('figure');\n const img = document.createElement('img');\n const figcaption = document.createElement('figcaption');\n img.src = this.getSrc();\n // img.alt = this.getAlt();\n figcaption.innerHTML = this.getCaption();\n element.appendChild(img);\n element.appendChild(figcaption);\n return {element};\n }\n\n static importDom() {\n return {\n img: (node = Node) => ({\n conversion: convertImageElement,\n priority: 1\n })\n };\n }\n\n constructor(src, caption, altText, key) {\n super(key);\n this.__caption = caption || '';\n this.__altText = altText || '';\n this.__src = src || '';\n }\n\n exportJSON() {\n // checks if src is a data string\n const src = this.getSrc();\n const isBlob = src.startsWith('data:');\n const dataset = {\n altText: this.getAltText(),\n caption: this.getCaption(),\n src: isBlob ? '<base64String>' : this.getSrc(),\n type: 'image'\n };\n return dataset;\n }\n\n getSrc() {\n return this.__src;\n }\n\n getPayload() {\n return this.getLatest();\n }\n\n createDOM() {\n const element = document.createElement('div');\n return element;\n }\n updateDOM() {\n return false;\n }\n\n setSrc(src) {\n const self = this.getWritable();\n return self.__src = src;\n }\n\n setCaption(caption) {\n const self = this.getWritable();\n return self.__caption = caption;\n }\n\n getCaption() {\n return this.__caption;\n }\n\n setAltText(altText) {\n const self = this.getWritable();\n return self.__altText = altText;\n }\n\n getAltText() {\n return this.__altText;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()}>\n <ImageCard nodeKey={this.getKey()} />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport const $createImageNode = ({src, caption, altText}) => {\n const node = new ImageNode(src, caption, altText);\n return node;\n};\n\nexport function $isImageNode(node) {\n return node instanceof ImageNode;\n}\n\nexport default ImageNode;\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';\nimport {ImageNode} from './ImageNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode,\n HorizontalRuleNode,\n ImageNode\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';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\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 imageUploadFunction,\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 const imageUploader = imageUploadFunction || function () {\n console.error('requires imageUploadFunction to be passed to KoenigEditor'); // eslint-disable-line no-console\n return;\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <KoenigComposerContext.Provider value={{imageUploader}}>\n {children}\n </KoenigComposerContext.Provider>\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 h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$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=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\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 c=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 [e,d]=h.useState(()=>t(a));r(()=>{function b(){let f=t(a);d(f)}b();return m.mergeRegister(a.registerUpdateListener(()=>{b()}),a.registerEditableListener(()=>{b()}))},[a]);return e}\nfunction v(a){let [e,d]=h.useState(()=>a.getDecorators());r(()=>a.registerDecoratorListener(b=>{n.flushSync(()=>{d(b)})}),[a]);h.useEffect(()=>{d(a.getDecorators())},[a]);return h.useMemo(()=>{let b=[],f=Object.keys(e);for(let k=0;k<f.length;k++){var g=f[k];let w=e[g];g=a.getElementByKey(g);null!==g&&b.push(n.createPortal(w,g))}return b},[e,a])}function x(a){r(()=>m.mergeRegister(q.registerRichText(a),p.registerDragonSupport(a)),[a])}\nexports.RichTextPlugin=function({contentEditable:a,placeholder:e}){let [d]=c.useLexicalComposerContext(),b=u(d),f=v(d);x(d);return h.createElement(h.Fragment,null,a,b&&e,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 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(!1),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 d=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 e=[];for(let g of m)m=p.get(g),void 0!==m&&e.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||e.push(k));if(0===e.length)return 0;if(1<e.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=e[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,e,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,e,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<e.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===e.size&&(h=Array.from(e)[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:e,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(e,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:e.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=d.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,e=a.undoStack;if(0!==e.length){let g=a.current,n=e.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===e.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 e=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(e.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\ne=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=e||null;e&&e.editor.setEditorState(e.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;b.dispatchCommand(u.CAN_REDO_COMMAND,!1);b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);return!0},u.COMMAND_PRIORITY_EDITOR),\nb.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>{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\"),f=require(\"react\"),g=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!0,ignoreSelectionChange:e=!1,onChange:a}){let [b]=c.useLexicalComposerContext();g(()=>{if(a)return b.registerUpdateListener(({editorState:h,dirtyElements:k,dirtyLeaves:l,prevEditorState:m,tags:n})=>{e&&0===k.size&&0===l.size||d&&n.has(\"history-merge\")||m.isEmpty()||a(h,b)})},[b,d,e,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;","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isNodeSelection, $setSelection} from 'lexical';\n\nfunction useKoenigBehaviour({editor, containerElem}) {\n // deselect cards on mousedown outside of the editor container\n React.useEffect(() => {\n const onMousedown = (event) => {\n if (!containerElem.current.contains(event.target)) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n $setSelection(null);\n }\n });\n }\n };\n\n window.addEventListener('mousedown', onMousedown);\n\n return () => {\n window.removeEventListener('mousedown', onMousedown);\n };\n }, [editor, containerElem]);\n\n return null;\n}\n\nexport default function KoenigBehaviourPlugin({containerElem = document.querySelector('.koenig-editor')}) {\n const [editor] = useLexicalComposerContext();\n return useKoenigBehaviour({editor, containerElem});\n}\n","\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\"),t=require(\"lexical\");let u={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\"},v={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function w(a){return v[a]||a}\nclass z extends t.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new z(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=A(a.theme,this.__highlightType);m.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=A(c.theme,a.__highlightType);c=A(c.theme,this.__highlightType);a!==c&&(a&&m.removeClassNamesFromElement(b,\na),c&&m.addClassNamesToElement(b,c));return d}static importJSON(a){let b=B(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 A(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function B(a,b){return new z(a,b)}function C(a){return a instanceof z}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!t.$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),!t.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;\nclass G extends t.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=t.$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=B(c),b.insertAfter(c),a.insertNodes([t.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=t.$getSelection();return t.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=t.$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(),preformatted:!0}}function I(a){let b=null!==a.style.fontFamily.match(\"monospace\");return{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(t.$createLineBreakNode());return c},node:b?L():null,preformatted:b}}function aa(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ba(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(t.$createLineBreakNode());return b},node:null}}function 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(t.$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(t.$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(t.$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(t.$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(t.$createTextNode(a.__text))}let S=!1;\nfunction R(a,b){if(!S){S=!0;void 0===a.getLanguage()&&a.setLanguage(\"javascript\");var c=a.getKey();b.update(()=>{ca(c,()=>{var d=t.$getNodeByKey(c);if(!M(d)||!d.isAttached())return!1;var f=d.getTextContent();f=e.tokenize(f,e.languages[d.getLanguage()||\"\"]||e.languages.javascript);f=T(f);var g=d.getChildren();for(d=0;d<g.length&&U(g[d],f[d]);)d++;var k=g.length;let h=f.length,n=Math.min(k,h)-d,l=0;for(;l<n;)if(l++,!U(g[k-l],f[h-l])){l--;break}g=d;k-=l;f=f.slice(d,h-l);let {from:p,to:x,nodesForReplacement:r}=\n{from:g,nodesForReplacement:f,to:k};return p!==x||r.length?(a.splice(p,x-p,r),!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(B(f));d<c.length-1&&b.push(t.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(B(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(B(d[0],c.type)):Array.isArray(d)&&b.push(...T(d))});return b}\nfunction ca(a,b){a=t.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=t.$getSelection();if(t.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&t.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,n)=>h+(t.$isLineBreakNode(n)?0:n.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{if(t.$isTextNode(k)){let h=k.getTextContentSize();if(h>=g)return k.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:t.$isLineBreakNode(a)&&t.$isLineBreakNode(b)?!0:!1}function V(a){var b=t.$getSelection();if(!t.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!t.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&W(c,a);for(c=1;c<b.length;c++)d=b[c],t.$isLineBreakNode(b[c-1])&&C(d)&&W(d,a);return!0}\nfunction W(a,b){let c=a.getTextContent();b===t.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=B(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),n=f.getNode();var l=a===t.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(n))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),l&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!l&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var p=D(h);let x=E(n);if(null==p||null==x)return!1;let r=p.getNodesBetween(x);for(let q=0;q<r.length;q++){let X=r[q];if(!C(X)&&!t.$isLineBreakNode(X))return!1}b.preventDefault();b.stopPropagation();b=l?p.getPreviousSibling():x.getNextSibling();if(!t.$isLineBreakNode(b))return!0;p=l?b.getPreviousSibling():b.getNextSibling();if(null==p)return!0;l=l?D(p):E(p);let y=null!=l?l:p;b.remove();r.forEach(q=>q.remove());a===t.KEY_ARROW_UP_COMMAND?(r.forEach(q=>y.insertBefore(q)),\ny.insertBefore(b)):(y.insertAfter(b),y=b,r.forEach(q=>{y.insertAfter(q);y=q}));c.setTextNodeRange(h,g,n,k);return!0}function Z(a,b){let c=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===t.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,n;a?{node:h,offset:n}=O(k):{node:h,offset:n}=P(k);null!==h&&-1!==n&&c.setTextNodeRange(h,n,h,n);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=u;exports.CODE_LANGUAGE_MAP=v;exports.CodeHighlightNode=z;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=w(a);return u[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=O;exports.normalizeCodeLang=w;\nexports.registerCodeHighlighting=function(a){if(!a.hasNodes([G,z]))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=t.$getNodeByKey(f);if(null!==c)a:{var d=c;c=a.getElementByKey(d.getKey());if(null===c)break a;d=d.getChildren();let k=d.length;if(k===c.__cachedChildrenLength)break a;c.__cachedChildrenLength=k;let h=\"1\",n=1;for(let l=0;l<k;l++)t.$isLineBreakNode(d[l])&&\n(h+=\"\\n\"+ ++n);c.setAttribute(\"data-gutter\",h)}}})}),a.registerNodeTransform(G,b=>R(b,a)),a.registerNodeTransform(t.TextNode,b=>Q(b,a)),a.registerNodeTransform(z,b=>Q(b,a)),a.registerCommand(t.INDENT_CONTENT_COMMAND,()=>V(t.INDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.OUTDENT_CONTENT_COMMAND,()=>V(t.OUTDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_UP_COMMAND,b=>Y(t.KEY_ARROW_UP_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_DOWN_COMMAND,\nb=>Y(t.KEY_ARROW_DOWN_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_END,b=>Z(t.MOVE_TO_END,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_START,b=>Z(t.MOVE_TO_START,b),t.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)}\nlet O=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,da=O&&\"documentMode\"in document?document.documentMode:null;O&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);O&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);O&&\"InputEvent\"in window&&!da?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1;\nlet P=O&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Q=O&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ea=/^\\s{0,3}$/,R=/^```(\\w{1,10})?\\s?$/;\nfunction fa(a){let b=I(a),c=ha(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(R);if(u)for(var q=r,l=p.length;++q<l;)if(p[q].match(R)){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}S(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)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){let d=a.getTextContent(),e=ia(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\")||S(f,b,c);n&&S(n,b,c);r&&S(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 ia(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 ha(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]=P||Q?new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`):new RegExp(`(?<![\\\\\\\\${f}])(${f})((\\\\\\\\${f})?.*?[^${f}\\\\s](\\\\\\\\${f})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${f})(?![\\\\\\\\${f}])`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp((P||Q?\"\":\"(?<![\\\\\\\\])\")+\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}\nfunction T(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(U(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function U(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet V=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},W=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)},X=(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(X(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\")},Y={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:V(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ja={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\"},ka={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:V(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},la={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:W(\"bullet\"),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:W(\"check\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:W(\"number\"),type:\"element\"},oa={format:[\"code\"],tag:\"`\",type:\"text-format\"},pa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},sa={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ta={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},ua={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},va={format:[\"italic\"],tag:\"*\",type:\"text-format\"},wa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},xa={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\"},\nya=[Y,ja,ka,la,na],za=[oa,pa,qa,sa,ta,va,wa,ua],Aa=[xa],Z=[...ya,...za,...Aa];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=pa;exports.BOLD_ITALIC_UNDERSCORE=qa;exports.BOLD_STAR=sa;exports.BOLD_UNDERSCORE=ta;exports.CHECK_LIST=ma;exports.CODE=ka;exports.ELEMENT_TRANSFORMERS=ya;exports.HEADING=Y;exports.INLINE_CODE=oa;exports.ITALIC_STAR=va;exports.ITALIC_UNDERSCORE=wa;exports.LINK=xa;\nexports.ORDERED_LIST=na;exports.QUOTE=ja;exports.STRIKETHROUGH=ua;exports.TEXT_FORMAT_TRANSFORMERS=za;exports.TEXT_MATCH_TRANSFORMERS=Aa;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=la;\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.$isRootOrShadowRoot(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,ra]=q.splitText(x);E.remove();m=ra?[ra,...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&&!U(m,D,B,0,y)||\" \"===m[D-1])&&(w=m[x+1],!1!==C.intraword||!w||J.test(w))){l=w=q;g=T(m,D,B);for(var z=l;0>g&&(z=z.getPreviousSibling())&&!h.$isLineBreakNode(z);)h.$isTextNode(z)&&(g=z.getTextContent(),l=z,g=T(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 a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),l=require(\"lexical\"),p=require(\"react\");let q=l.createCommand();\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),m=p.useRef(null),[e,g,n]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&l.$isNodeSelection(l.$getSelection())&&(c.preventDefault(),c=l.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(l.CLICK_COMMAND,c=>c.target===m.current?(c.shiftKey||n(),g(!e),!0):!1,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_DELETE_COMMAND,k,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_BACKSPACE_COMMAND,\nk,l.COMMAND_PRIORITY_LOW)),[n,f,e,k,g]);return p.createElement(\"hr\",{ref:m,className:e?\"selected\":void 0})}\nclass u extends l.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}static importDOM(){return{hr:()=>({conversion:w,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}\nfunction w(){return{node:v()}}function v(){return new u}function t(b){return b instanceof u}exports.$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 {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\nimport {$isImageNode, $createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const HR = {\n dependencies: [HorizontalRuleNode],\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: [CodeBlockNode],\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, text) => {\n const initCode = text[1] || '';\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language, initCode);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\n// render imageNode when writing image!\n// regex that detects exactly the string 'image!'\n\nexport const IMAGE = {\n dependencies: [ImageNode],\n export: (node) => {\n if (!$isImageNode(node)){\n return null;\n } else {\n const {src, alt} = node.dataset;\n return ``;\n }\n },\n regExp: /^image! $/,\n replace: (parentNode, match, text) => {\n const alt = '';\n const src = '';\n const imageNode = $createImageNode({altText: alt, src});\n parentNode.replace(imageNode);\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 IMAGE\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","import {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\n\nexport function PlusButton({onClick}) {\n return (\n <div className=\"absolute top-[-2px] left-[-66px]\" data-kg-plus-button>\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n onClick={onClick}\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n </div>\n );\n}\n\nexport function PlusMenu({children}) {\n return (\n <div className=\"absolute left-[-16px]\" data-kg-plus-menu>\n {children}\n </div>\n );\n}\n","export const CardMenuSection = ({label, ...props}) => {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-[1.1rem] font-semibold uppercase tracking-wide text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n};\n\nexport const CardMenuItem = ({label, desc, Icon, ...props}) => {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"w7 h7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.6rem] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.6rem] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n};\n\nexport const CardSnippetItem = ({label, Icon, ...props}) => {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"w7 h7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.6rem] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n};\n\nexport const CardMenu = ({children}) => {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 font-sans text-sm shadow after:block after:pb-4\">\n {children}\n </div>\n );\n};\n","import {\n CardMenu,\n CardMenuSection,\n CardMenuItem\n} from '../components/CardMenu';\n\nexport function buildCardMenu(editor) {\n const menu = new Map();\n menu.set('Primary', []);\n\n function addMenuItem(item) {\n const section = item.section || 'Primary';\n\n if (!menu.has(section)) {\n menu.set(section, [item]);\n } else {\n menu.get(section).push(item);\n }\n }\n\n const nodes = editor._nodes;\n for (const [nodeType, {klass}] of nodes) {\n if (!klass.kgMenu) {\n continue;\n }\n\n if (Array.isArray(klass.kgMenu)) {\n klass.kgMenu.forEach(item => addMenuItem({nodeType, ...item}));\n } else {\n addMenuItem({nodeType, ...klass.kgMenu});\n }\n }\n\n const menuComponents = [];\n\n menu.forEach((items, section) => {\n menuComponents.push(<CardMenuSection key={section} label={section} />);\n items.forEach((item) => {\n menuComponents.push(<CardMenuItem key={`${section}-${item.label}`} label={item.label} desc={item.desc} Icon={item.Icon} />);\n });\n });\n\n return (\n <CardMenu>\n {menuComponents}\n </CardMenu>\n );\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection} from 'lexical';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {PlusButton, PlusMenu} from '../components/PlusMenu';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction usePlusCardMenu(editor) {\n const [isShowingButton, setIsShowingButton] = React.useState(false);\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [cachedRange, setCachedRange] = React.useState(null);\n const [cardMenu] = React.useState(buildCardMenu(editor));\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.top - containerRect.top;\n }\n\n function getElementRange(elem) {\n const range = new Range();\n range.setStart(elem, 0);\n range.setEnd(elem, 0);\n return range;\n }\n\n const moveCursorToCachedRange = React.useCallback(() => {\n if (!cachedRange) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange);\n }, [cachedRange]);\n\n const showButton = React.useCallback((elem) => {\n const range = getElementRange(elem);\n setCachedRange(range);\n setIsShowingButton(true);\n }, [setIsShowingButton, setCachedRange]);\n\n const hideButton = React.useCallback(() => {\n setIsShowingButton(false);\n setIsShowingMenu(false);\n setCachedRange(null);\n }, [setIsShowingButton, setIsShowingMenu, setCachedRange]);\n\n const openMenu = React.useCallback((event) => {\n event?.preventDefault();\n moveCursorToCachedRange();\n setIsShowingMenu(true);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const updateButton = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n hideButton();\n return;\n }\n\n const node = getSelectedNode(selection);\n\n if (!$isParagraphNode(node) || node.getTextContent() !== '') {\n hideButton();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const p = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (p?.tagName !== 'P' || !rootElement.contains(p)) {\n hideButton();\n return;\n }\n\n setTopPosition(getTopPosition(p));\n showButton(p);\n });\n }, [editor, showButton, hideButton]);\n\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n updateButton();\n }, [editor, updateButton]);\n });\n\n // hide the button as soon as there's any selection made outside of the\n // editor canvas - any click outside makes a selection so no need for\n // additional mouse tracking for this\n const hideButtonOnOutsideSelection = React.useCallback(() => {\n if (isShowingButton) {\n const nativeSelection = window.getSelection();\n\n // clicking inside the menu changes native selection, we don't want\n // to close the menu when that occurs\n if (isShowingMenu && containerRef.current?.contains(nativeSelection.anchorNode)) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n\n if (!rootElement.contains(nativeSelection.anchorNode)) {\n hideButton();\n }\n }\n }, [editor, isShowingButton, isShowingMenu, hideButton]);\n\n React.useEffect(() => {\n document.addEventListener('selectionchange', hideButtonOnOutsideSelection);\n return () => {\n document.removeEventListener('selectionchange', hideButtonOnOutsideSelection);\n };\n }, [hideButtonOnOutsideSelection]);\n\n // show or move the button when the mouse moves over a blank paragraph\n const updateButtonOnMousemove = React.useCallback((event) => {\n // once the menu is open moving the mouse should not have any effect on button/menu positioning\n if (isShowingMenu) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n let {pageX, pageY} = event;\n\n // add a horizontal buffer to the pointer position so that the button\n // doesn't disappear when moving across the gap between button and paragraph\n let containerRect = rootElement.getBoundingClientRect();\n if (pageX < containerRect.left) {\n pageX = pageX + 40;\n }\n\n // use the page coordinates to find the element under the pointer\n\n // TODO: this basic implementation isn't quite as forgiving as the mobiledoc implementation\n // which appears to have a threshold around the point which creates a bigger hit area for\n // nearby elements, whereas this removes the button immediately on margin mouseover. See:\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/editor/editor.ts#L1306\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/cursor/position.ts#L115\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/selection-utils.ts#L39-L90\n const hoveredElem = document.elementFromPoint(pageX, pageY);\n\n if (rootElement.contains(hoveredElem)) {\n if (hoveredElem?.tagName === 'P' && hoveredElem.textContent === '') {\n // place cursor next to the hovered paragraph\n setTopPosition(getTopPosition(hoveredElem));\n showButton(hoveredElem);\n } else {\n // reset button based on cursor position\n updateButton();\n }\n }\n }, [editor, isShowingMenu, setTopPosition, showButton, updateButton]);\n\n React.useEffect(() => {\n window.addEventListener('mousemove', updateButtonOnMousemove);\n return () => {\n window.removeEventListener('mousemove', updateButtonOnMousemove);\n };\n }, [updateButtonOnMousemove]);\n\n // when menu is open, watch the window for mousedown events so that we can\n // close it when we detect a click outside\n const closeMenuOnClickOutside = React.useCallback((event) => {\n if (isShowingMenu) {\n if (!containerRef.current?.contains(event.target)) {\n return closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('mousedown', closeMenuOnClickOutside);\n return () => {\n window.removeEventListener('mousedown', closeMenuOnClickOutside);\n };\n }, [closeMenuOnClickOutside]);\n\n // when menu is open, close it when Escape or arrow keys are pressed\n const handleKeydown = React.useCallback((event) => {\n if (isShowingMenu) {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n\n let arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (arrowKeys.includes(event.key)) {\n closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('keydown', handleKeydown);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n });\n\n const style = {\n top: `${topPosition}px`\n };\n\n return (\n <div className=\"absolute\" style={style} ref={containerRef} data-kg-plus-container>\n {isShowingButton && <PlusButton onClick={openMenu} />}\n {isShowingMenu && <PlusMenu>{cardMenu}</PlusMenu>}\n </div>\n );\n}\n\nexport default function PlusCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return usePlusCardMenu(editor);\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: false\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,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","import {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\nexport const TOOLBAR_ICONS = {\n bold: BoldIcon,\n italic: ItalicIcon,\n headingOne: HeadingOneIcon,\n headingTwo: HeadingTwoIcon,\n quoteOne: QuoteOneIcon,\n quoteTwo: QuoteTwoIcon\n};\n\nexport function ToolbarMenu({children, ...props}) {\n return (\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\" {...props}>\n {children}\n </ul>\n );\n}\n\nexport function ToolbarMenuItem({label, isActive, onClick, icon, ...props}) {\n const Icon = TOOLBAR_ICONS[icon];\n\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\nexport function ToolbarMenuSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n}\n","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 $wrapNodes\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';\nimport {\n ToolbarMenu,\n ToolbarMenuItem,\n ToolbarMenuSeparator\n} from '../components/ToolbarMenu';\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 FloatingFormatToolbar({isText, editor, anchorElem, blockType, isBold, isItalic}) {\n const [stickyToolbar, setStickyToolbar] = React.useState(false);\n const toolbarRef = React.useRef(null);\n // const [isVisible, setIsVisible] = React.useState(false);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(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 $wrapNodes(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 $wrapNodes(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapNodes(selection, () => $createParagraphNode());\n } else {\n $wrapNodes(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 if (!stickyToolbar) {\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }\n }, [editor, anchorElem, stickyToolbar]);\n\n const toggleVis = React.useCallback(() => {\n if (isText !== false) {\n toolbarRef.current.style.opacity = '1';\n }\n }, [isText]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n document.addEventListener('mouseup', toggleVis);\n return () => {\n document.removeEventListener('mouseup', toggleVis);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n const shiftUp = (e) => {\n if (e.key === 'Shift') {\n toggleVis();\n }\n };\n document.addEventListener('keyup', shiftUp);\n return () => {\n document.removeEventListener('keyup', shiftUp);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\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 style={{opacity: 0}}>\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Format text as bold\" isActive={isBold} icon=\"bold\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }} data-kg-toolbar-button=\"bold\" />\n <ToolbarMenuItem label=\"Format text as italics\" isActive={isItalic} icon=\"italic\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }} data-kg-toolbar-button=\"italic\" />\n <ToolbarMenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} icon=\"headingOne\" onClick={() => {\n (blockType === 'h2' ? formatParagraph() : formatHeading('h2'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h2\" />\n <ToolbarMenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} icon=\"headingTwo\" onClick={() => {\n (blockType === 'h3' ? formatParagraph() : formatHeading('h3'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h3\" />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} icon={blockType === 'aside' ? 'quoteOne' : 'quoteTwo'} onClick={() => {\n (formatQuote());\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"quote\" />\n </ToolbarMenu>\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 isText={isText}\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 {\n $getSelection,\n DRAGOVER_COMMAND,\n DRAGSTART_COMMAND,\n DROP_COMMAND,\n COMMAND_PRIORITY_HIGH,\n createCommand,\n $isRangeSelection,\n $isRootNode,\n LexicalEditor\n} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {mergeRegister} from '@lexical/utils';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {$createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const INSERT_IMAGE_CMD = createCommand();\n\nexport const ImagePlugin = () => {\n const [editor] = useLexicalComposerContext();\n const {imageUploader} = React.useContext(KoenigComposerContext);\n\n React.useEffect(() => {\n if (!editor.hasNodes([ImageNode])){\n console.error('ImagePlugin: ImageNode not registered'); // eslint-disable-line no-console\n }\n return mergeRegister(\n editor.registerCommand(INSERT_IMAGE_CMD, (dataset) => {\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection) {\n if ($isRootNode(selection.anchor.getNode())){\n selection.insertParagraph();\n }\n const imgNode = $createImageNode(dataset);\n selection.insertNodes([imgNode]);\n }\n });\n }, COMMAND_PRIORITY_HIGH),\n editor.registerCommand(DRAGSTART_COMMAND, (event) => {\n return onDragStart(event);\n }, COMMAND_PRIORITY_HIGH),\n editor.registerCommand(DRAGOVER_COMMAND, (event) => {\n return onDragOver(event);\n }, COMMAND_PRIORITY_HIGH),\n editor.registerCommand(DROP_COMMAND, (event) => {\n return onDragDrop(event, editor, imageUploader);\n }, COMMAND_PRIORITY_HIGH),\n );\n }, [editor, imageUploader]);\n\n return null;\n};\n\nconst onDragStart = (event) => {\n return true;\n};\n\nconst onDragOver = (event) => {\n return true;\n};\n\nconst onDragDrop = async (event, editor = LexicalEditor, imageUploadFunc) => {\n event.preventDefault();\n const fls = event.dataTransfer.files;\n const files = await imageUploadFunc(fls);\n if (files) {\n editor.dispatchCommand(INSERT_IMAGE_CMD, files);\n }\n};\n\nexport default ImagePlugin;\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 KoenigBehaviourPlugin from '../plugins/KoenigBehaviourPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport PlusCardMenuPlugin from '../plugins/PlusCardMenuPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbarPlugin';\nimport ImagePlugin from '../plugins/ImagePlugin';\nimport '../styles/index.css';\n\nexport let imageUploader;\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 const containerRef = React.useRef(null);\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\" ref={containerRef}>\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<div className=\"pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl text-grey-500\">Begin writing your post...</div>}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <KoenigBehaviourPlugin containerElem={containerRef} />\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n <PlusCardMenuPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n <ImagePlugin />\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["SvgKgBold","props","React","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgLink","SvgKgQuote","SvgKgImgRegular","SvgKgImgWide","SvgKgImgFull","SvgKgReplace","SvgKgAdd","SvgKgSnippet","SvgPlus","SvgKgCardTypeImage","SvgKgCardTypeMarkdown","SvgKgCardTypeHtml","SvgKgCardTypeGallery","SvgKgCardTypeDivider","SvgKgCardTypeBookmark","SvgKgCardTypeEmail","SvgKgCardTypeEmailCta","SvgKgCardTypePreview","SvgKgCardTypeButton","SvgKgCardTypeCallout","SvgKgCardTypeGif","SvgKgCardTypeToggle","SvgKgCardTypeVideo","SvgKgCardTypeAudio","SvgKgCardTypeFile","SvgKgCardTypeProduct","SvgKgCardTypeHeader","SvgKgCardTypeYoutube","SvgKgCardTypeTwitter","SvgKgCardTypeUnsplash","SvgKgCardTypeVimeo","SvgKgCardTypeCodepen","SvgKgCardTypeSpotify","SvgKgCardTypeSoundcloud","SvgKgCardTypeNft","SvgKgCardTypeOther","SvgKgCardTypeSnippet","SvgKgImgPlaceholder","SvgKgGalleryPlaceholder","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsx","ComponentTitle","TextToolbar","ImageToolbar","GalleryToolbar","PlusButton","CardMenu","DividerCard","CodeBlock","ImageCard","GalleryCard","label","ToolbarItem","BoldIcon","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","ToolbarSeparator","QuoteIcon","LinkIcon","SnippetIcon","ImgRegularIcon","ImgWideIcon","ImgFullIcon","ReplaceIcon","AddIcon","Icon","PlusIcon","CardMenuSection","CardMenuItem","ImageCardIcon","MarkdownCardIcon","HtmlCardIcon","GalleryCardIcon","DividerCardIcon","BookmarkCardIcon","EmailCardIcon","EmailCtaCardIcon","PreviewCardIcon","ButtonCardIcon","CalloutCardIcon","GifCardIcon","ToggleCardIcon","VideoCardIcon","AudioCardIcon","FileCardIcon","ProductCardIcon","HeaderCardIcon","YoutubeCardIcon","TwitterCardIcon","UnsplashCardIcon","VimeoCardIcon","CodepenCardIcon","SpotifyCardIcon","SoundcloudCardIcon","NftCardIcon","OtherCardIcon","CardSnippetItem","SnippetCardIcon","minWidth","desc","_jsxs","CaptionEditor","isActive","setActive","useState","altText","setAltText","toggleActive","toggleAltText","stopPropagation","MediaPlaceholder","ImgPlaceholderIcon","placeholder","GalleryPlaceholderIcon","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","aa","ba","ca","da","ea","fa","ha","ia","ka","la","ma","na","oa","pa","qa","ra","sa","ta","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","r","Ma","Na","t","Oa","Pa","Qa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","u","ib","x","v","w","jb","A","C","y","D","z","kb","B","lb","E","Q","Z","F","mb","nb","ob","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","G","H","I","J","K","Fb","L","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","M","Qb","Rb","Sb","Tb","Ub","Vb","Wb","N","Xb","$b","ac","bc","cc","dc","ec","fc","gc","hc","O","P","R","ic","S","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","T","Nc","Hc","Ic","Jc","Kc","Lc","Mc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","U","Zc","$c","ad","bd","cd","dd","ed","fd","gd","W","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","X","Y","Qd","Rd","Sd","Td","Ud","Vd","Wd","V","Xd","Ra","ua","ue","ve","pb","Cd","va","Dd","Ed","Yb","Fd","Zb","Gd","we","Sa","ja","wa","Hd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","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","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","CardContext","createContext","KoenigCardWrapperComponent","nodeKey","children","editor","useLexicalComposerContext","isSelected","setSelected","clearSelected","selection","setSelection","ref","useRef","useEffect","mergeRegister","registerUpdateListener","editorState","read","$getSelection","registerCommand","CLICK_COMMAND","event","current","contains","target","COMMAND_PRIORITY_LOW","BLUR_COMMAND","relatedTarget","KEY_ENTER_COMMAND","latestSelection","$isNodeSelection","getNodes","length","preventDefault","cardNode","$getNodeByKey","paragraphNode","getTopLevelElementOrThrow","insertAfter","select","COMMAND_PRIORITY_EDITOR","KEY_BACKSPACE_COMMAND","previousSibling","getPreviousSibling","nextSibling","getNextSibling","selectEnd","$isDecoratorNode","nodeSelection","$createNodeSelection","add","getKey","$setSelection","selectPrevious","selectStart","selectNext","remove","KEY_DELETE_COMMAND","isFocused","WrapperContext","wpkey","createCommand","HorizontalRuleComponent","HorizontalRuleNode","DecoratorNode","getType","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","getTextContent","isInline","updateDOM","decorate","KoenigCardWrapper","_HorizontalRuleNode","__publicField","kgMenu","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","height","CodeBlockComponent","className","code","language","update","setCode","updateCode","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","setLanguage","codeBlockTheme","theme","codeBlock","base","focus","$isCodeBlockNode","KoenigComposerContext","MediaCard","dataset","payload","setPayload","imageUploader","useContext","uploadRef","onUploadChange","fls","files","setSrc","src","getPayload","getEditorState","openUpload","click","__src","__altText","_Fragment","selected","captionText","setCaptionText","altTextValue","setAltTextValue","handleChange","alt","cap","setCaption","getCaption","getAltText","tgAltText","convertImageElement","domNode","HTMLImageElement","$createImageNode","ImageNode","__caption","caption","exportDOM","img","figcaption","getSrc","innerHTML","appendChild","importDom","Node","conversion","priority","isBlob","startsWith","_ImageNode","$isImageNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","KoenigComposer","initialEditorState","nodes","onError","imageUploadFunction","initialConfig","useMemo","Object","assign","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","useKoenigBehaviour","containerElem","onMousedown","addEventListener","removeEventListener","KoenigBehaviourPlugin","querySelector","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","err","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","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","replace","parentNode","_1","_2","isImport","line","insertBefore","CODE_BLOCK","textNode","codeBlockNode","IMAGE","imageNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","anchor","anchorNode","focusNode","$isAtNodeEnd","onClick","PlusMenu","buildCardMenu","menu","Map","set","addMenuItem","item","section","has","get","push","_nodes","nodeType","klass","Array","isArray","forEach","menuComponents","items","usePlusCardMenu","isShowingButton","setIsShowingButton","isShowingMenu","setIsShowingMenu","topPosition","setTopPosition","cachedRange","setCachedRange","cardMenu","containerRef","getTopPosition","elem","elemRect","getBoundingClientRect","containerRect","top","getElementRange","Range","setStart","setEnd","moveCursorToCachedRange","useCallback","getSelection","removeAllRanges","addRange","showButton","hideButton","openMenu","closeMenu","resetCursor","updateButton","isComposing","$isRangeSelection","isCollapsed","$isParagraphNode","window","rootElement","getRootElement","hideButtonOnOutsideSelection","nativeSelection","updateButtonOnMousemove","pageX","pageY","left","hoveredElem","elementFromPoint","closeMenuOnClickOutside","handleKeydown","includes","style","PlusCardMenuPlugin","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","getDOMRangeRect","domRange","rect","getScrollParent","overflowY","isScrollable","SvgKgQuote1","SvgKgQuote2","TOOLBAR_ICONS","bold","italic","headingOne","headingTwo","quoteOne","QuoteOneIcon","quoteTwo","QuoteTwoIcon","ToolbarMenu","ToolbarMenuItem","icon","ToolbarMenuSeparator","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","number","quote","aside","FloatingFormatToolbar","isText","blockType","isBold","isItalic","stickyToolbar","setStickyToolbar","toolbarRef","formatParagraph","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","toolbarElement","rangeRect","toggleVis","opacity","shiftUp","scrollElement","SELECTION_CHANGE_COMMAND","dispatchCommand","FORMAT_TEXT_COMMAND","useFloatingFormatToolbar","setIsText","setIsBold","setIsItalic","setBlockType","updatePopup","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","INSERT_IMAGE_CMD","ImagePlugin","hasNodes","$isRootNode","getNode","insertParagraph","imgNode","insertNodes","COMMAND_PRIORITY_HIGH","DRAGSTART_COMMAND","onDragStart","DRAGOVER_COMMAND","onDragOver","DROP_COMMAND","onDragDrop","LexicalEditor","imageUploadFunc","dataTransfer","KoenigEditor","onChange","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koenig-lexical.js","sources":["../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-link.svg","../src/assets/icons/kg-quote.svg","../src/assets/icons/kg-img-regular.svg","../src/assets/icons/kg-img-wide.svg","../src/assets/icons/kg-img-full.svg","../src/assets/icons/kg-replace.svg","../src/assets/icons/kg-add.svg","../src/assets/icons/kg-snippet.svg","../src/assets/icons/plus.svg","../src/assets/icons/kg-card-type-image.svg","../src/assets/icons/kg-card-type-markdown.svg","../src/assets/icons/kg-card-type-html.svg","../src/assets/icons/kg-card-type-gallery.svg","../src/assets/icons/kg-card-type-divider.svg","../src/assets/icons/kg-card-type-bookmark.svg","../src/assets/icons/kg-card-type-email.svg","../src/assets/icons/kg-card-type-email-cta.svg","../src/assets/icons/kg-card-type-preview.svg","../src/assets/icons/kg-card-type-button.svg","../src/assets/icons/kg-card-type-callout.svg","../src/assets/icons/kg-card-type-gif.svg","../src/assets/icons/kg-card-type-toggle.svg","../src/assets/icons/kg-card-type-video.svg","../src/assets/icons/kg-card-type-audio.svg","../src/assets/icons/kg-card-type-file.svg","../src/assets/icons/kg-card-type-product.svg","../src/assets/icons/kg-card-type-header.svg","../src/assets/icons/kg-card-type-youtube.svg","../src/assets/icons/kg-card-type-twitter.svg","../src/assets/icons/kg-card-type-unsplash.svg","../src/assets/icons/kg-card-type-vimeo.svg","../src/assets/icons/kg-card-type-codepen.svg","../src/assets/icons/kg-card-type-spotify.svg","../src/assets/icons/kg-card-type-soundcloud.svg","../src/assets/icons/kg-card-type-nft.svg","../src/assets/icons/kg-card-type-other.svg","../src/assets/icons/kg-card-type-snippet.svg","../src/assets/icons/kg-img-placeholder.svg","../src/assets/icons/kg-gallery-placeholder.svg","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../src/components/DesignSandbox.jsx","../../../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/@lexical/react/useLexicalNodeSelection.prod.js","../../../node_modules/@lexical/react/useLexicalNodeSelection.js","../src/context/CardContext.jsx","../src/components/KoenigCardWrapper.jsx","../src/nodes/HorizontalRuleNode.jsx","../src/utils/autoExpandTextArea.js","../src/nodes/CodeBlockNode.jsx","../src/context/KoenigComposerContext.jsx","../src/nodes/ImageNode.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","../src/plugins/KoenigBehaviourPlugin.jsx","../../../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/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/components/PlusMenu.jsx","../src/components/CardMenu/CardMenu.jsx","../src/utils/buildCardMenu.jsx","../src/plugins/PlusCardMenuPlugin.jsx","../src/utils/setFloatingElemPosition.js","../src/utils/getDOMRangeRect.js","../src/utils/getScrollParent.js","../src/assets/icons/kg-quote-1.svg","../src/assets/icons/kg-quote-2.svg","../src/components/ToolbarMenu/ToolbarMenu.jsx","../src/plugins/FloatingFormatToolbarPlugin.jsx","../src/plugins/ImagePlugin.jsx","../src/plugins/HorizontalRulePlugin.jsx","../src/components/KoenigEditor.jsx"],"sourcesContent":["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,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02LjQgMTEuNjg4Yy40LS4zODIgMS4wMzItLjM2OSAxLjQxNS4wMy4zODIuMzk5LjM2OCAxLjAzMi0uMDMgMS40MTRsLTEuMDU1IDEuMDFjLTEuMjA5IDEuMjEtMy4xNyAxLjIxLTQuMzggMGwtLjQ5NC0uNDk0Yy0xLjIwOC0xLjIwOS0xLjIwOC0zLjE3LjAwMS00LjM3N0w1LjA3IDYuMDU4YzEuMjEtMS4yMSAzLjE3LTEuMjEgNC4zOCAwIC4zOS4zOS4zOSAxLjAyNCAwIDEuNDE0LS4zOTEuMzktMS4wMjQuMzktMS40MTUgMC0uNDI4LS40MjgtMS4xMjItLjQyOC0xLjU1MSAwbC0zLjIxMyAzLjIxM2MtLjQyNy40MjctLjQyNyAxLjEyMiAwIDEuNTVsLjQ5NC40OTRjLjQyOC40MjggMS4xMjMuNDI4IDEuNTY2LS4wMTVsMS4wNy0xLjAyNnptMy4wMzctNy4yMTJjLS4zOTguMzgzLTEuMDMuMzcyLTEuNDE0LS4wMjUtLjM4NC0uMzk4LS4zNzMtMS4wMy4wMjUtMS40MTRsMS4yMjItMS4xOGMxLjIxLTEuMjA5IDMuMTY5LTEuMjA5IDQuMzc5IDBsLjQ5My40OTRjMS4yMSAxLjIwOSAxLjIxIDMuMTcuMDEzIDQuMzY2bC0zLjIzNyAzLjM1N2MtMS4yMSAxLjIxLTMuMTcgMS4yMS00LjM4IDAtLjM5LS4zOTEtLjM4OS0xLjAyNS4wMDItMS40MTUuMzktLjM5IDEuMDI0LS4zOSAxLjQxNC4wMDEuNDI4LjQyOSAxLjEyMS40MjkgMS41MzcuMDEzbDMuMjM4LTMuMzU4Yy40MjgtLjQyNy40MjgtMS4xMjEgMC0xLjU1bC0uNDk0LS40OTNjLS40MjktLjQyOS0xLjEyMy0uNDI5LTEuNTYzLjAxMkw5LjQzNyA0LjQ3NnoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik00IDhoMmMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxSDNjLS41NTIgMC0xLS40NDgtMS0xVjUuMDgyYzAtMS4xNzYuOTA2LTIuMTIgMi41MzgtMi45NjkuNDktLjI1NSAxLjA5NC0uMDY1IDEuMzQ5LjQyNS4yNTUuNDkuMDY1IDEuMDk0LS40MjUgMS4zNDktLjU3OC4zLS45OTMuNTg5LTEuMjQuODQ3LS4xNjguMTc0LS4yMjIuMjg2LS4yMjIuMzQ4Vjh6bTkgMGMuNTUyIDAgMSAuNDQ4IDEgMXY0YzAgLjU1Mi0uNDQ4IDEtMSAxaC0zYy0uNTUyIDAtMS0uNDQ4LTEtMVY1LjA4MmMwLTEuMTc2LjkwNi0yLjEyIDIuNTM4LTIuOTY5LjQ5LS4yNTUgMS4wOTQtLjA2NSAxLjM0OS40MjUuMjU1LjQ5LjA2NSAxLjA5NC0uNDI1IDEuMzQ5LS41NzguMy0uOTkzLjU4OS0xLjI0Ljg0Ny0uMTY4LjE3NC0uMjIyLjI4Ni0uMjIyLjM0OFY4aDJ6IiBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUgyek0yIDE1Yy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDEyYy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDJ6IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9Ii42Ii8+PHBhdGggZD0iTTIgNWgxMmMuNTUyIDAgMSAuNDQ4IDEgMXY0LjAwMWMwIC41NTItLjQ0OCAxLTEgMUgyYy0uNTUyIDAtMS0uNDQ4LTEtMVY2YzAtLjU1Mi40NDgtMSAxLTF6IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYgM2MtLjU1MiAwLTEtLjQ0OC0xLTFzLjQ0OC0xIDEtMWg0Yy41NTIgMCAxIC40NDggMSAxcy0uNDQ4IDEtMSAxSDZ6TTYgMTVjLS41NTIgMC0xLS40NDgtMS0xcy40NDgtMSAxLTFoNGMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg2eiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIuNiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDVoMTJjLjU1MiAwIDEgLjQ0OCAxIDF2NC4wMDFjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTFWNmMwLS41NTIuNDQ4LTEgMS0xeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTAgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnpNMTQgMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2MTJjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWMnoiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iLjYiLz4KICAgICAgICA8cGF0aCBkPSJNMTAuNjI2IDdMOS4zMTIgNS42OTFjLS4zOTEtLjM5LS4zOTMtMS4wMjMtLjAwMy0xLjQxNHMxLjAyMy0uMzkyIDEuNDE0LS4wMDNsMy4wMjkgMy4wMTdjLjM5LjM4OS4zOTIgMS4wMi4wMDUgMS40MTJsLTMuMDI5IDMuMDU5Yy0uMzg4LjM5Mi0xLjAyMi4zOTUtMS40MTQuMDA3LS4zOTItLjM4OS0uMzk2LTEuMDIyLS4wMDctMS40MTRMMTAuNjQ4IDlINS40MTVsMS4zNDIgMS4zNTVjLjM4OC4zOTIuMzg1IDEuMDI1LS4wMDcgMS40MTQtLjM5My4zODgtMS4wMjYuMzg1LTEuNDE1LS4wMDdMMi4zMDcgOC43MDNjLS4zODgtLjM5Mi0uMzg2LTEuMDIzLjAwNS0xLjQxMkw1LjM0IDQuMjc0Yy4zOTEtLjM5IDEuMDI1LS4zODggMS40MTQuMDAzLjM5LjM5MS4zODkgMS4wMjUtLjAwMiAxLjQxNEw1LjQzOCA3aDUuMTg4eiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTIgOWg1Yy41NTIgMCAxIC40NDggMSAxdjRjMCAuNTUyLS40NDggMS0xIDFIMmMtLjU1MiAwLTEtLjQ0OC0xLTF2LTRjMC0uNTUyLjQ0OC0xIDEtMXpNOSAxaDVjLjU1MiAwIDEgLjQ0OCAxIDF2NGMwIC41NTItLjQ0OCAxLTEgMUg5Yy0uNTUyIDAtMS0uNDQ4LTEtMVYyYzAtLjU1Mi40NDgtMSAxLTF6TTQuNSA1Ljc3MmwxLjE1LTEuMTc1Yy4xOTItLjE5OC41MDktLjIwMS43MDYtLjAwOC4xOTguMTkzLjIwMS41MS4wMDguNzA3TDQuMzgyIDcuMzIyYy0uMDkxLjEwOS0uMjI5LjE3OC0uMzgyLjE3OC0uMTMgMC0uMjYtLjA1LS4zNTctLjE0OEwxLjYxIDUuMjk4Yy0uMTk0LS4xOTYtLjE5My0uNTEzLjAwNC0uNzA3LjE5Ni0uMTk0LjUxMi0uMTkzLjcwNy4wMDRMMy41IDUuNzg1VjNjMC0uODI4LjY3Mi0xLjUgMS41LTEuNWgxYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNUg1Yy0uMjc2IDAtLjUuMjI0LS41LjV2Mi43NzJ6bTcgNC40NTZsLTEuMTUgMS4xNzVjLS4xOTIuMTk4LS41MDkuMjAxLS43MDYuMDA4LS4xOTgtLjE5My0uMjAxLS41MS0uMDA4LS43MDdsMS45ODItMi4wMjZjLjA5MS0uMTA5LjIyOS0uMTc4LjM4Mi0uMTc4LjEzIDAgLjI2LjA1LjM1Ny4xNDhsMi4wMzIgMi4wNTRjLjE5NC4xOTYuMTkzLjUxMy0uMDA0LjcwNy0uMTk2LjE5NC0uNTEyLjE5My0uNzA3LS4wMDRsLTEuMTc4LTEuMTlWMTNjMCAuODI4LS42NzIgMS41LTEuNSAxLjVoLTFjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgxYy4yNzYgMCAuNS0uMjI0LjUtLjV2LTIuNzcyeiIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik05IDdoNWMuNTUyIDAgMSAuNDQ4IDEgMXMtLjQ0OCAxLTEgMUg5djVjMCAuNTUyLS40NDggMS0xIDFzLTEtLjQ0OC0xLTFWOUgyYy0uNTUyIDAtMS0uNDQ4LTEtMXMuNDQ4LTEgMS0xaDVWMmMwLS41NTIuNDQ4LTEgMS0xczEgLjQ0OCAxIDF2NXoiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAzVjEzSDguNzg1NzlMMTMgOC43ODU3OVYzSDNaTTEuNTI3MjEgMS41MjcyMUMxLjg2NDc3IDEuMTg5NjQgMi4zMjI2MSAxIDIuOCAxSDEzLjJDMTMuNjc3NCAxIDE0LjEzNTIgMS4xODk2NCAxNC40NzI4IDEuNTI3MjFDMTQuODEwNCAxLjg2NDc3IDE1IDIuMzIyNjEgMTUgMi44VjguODY4OEMxNC45OTk5IDkuMzQ1ODUgMTQuODEwNCA5LjgwMzU3IDE0LjQ3MzIgMTAuMTQxTDEwLjE0MTIgMTQuNDczQzkuODAzOCAxNC44MTAyIDkuMzQ2MDcgMTQuOTk5OSA4Ljg2OTAxIDE1SDIuOEMyLjMyMjYxIDE1IDEuODY0NzcgMTQuODEwNCAxLjUyNzIxIDE0LjQ3MjhDMS4xODk2NCAxNC4xMzUyIDEgMTMuNjc3NCAxIDEzLjJWMi44QzEgMi4zMjI2MSAxLjE4OTY0IDEuODY0NzcgMS41MjcyMSAxLjUyNzIxWiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxMEgxNEMxNC41NTIzIDEwIDE1IDkuNTUyMjggMTUgOUMxNSA4LjQ0NzcyIDE0LjU1MjMgOCAxNCA4SDkuODQ2MDJDOS4zNTY0MyA4IDguODg2ODggOC4xOTQ0OSA4LjU0MDY5IDguNTQwNjlDOC4xOTQ0OSA4Ljg4Njg4IDggOS4zNTY0MyA4IDkuODQ2MDJWMTRDOCAxNC41NTIzIDguNDQ3NzIgMTUgOSAxNUM5LjU1MjI4IDE1IDEwIDE0LjU1MjMgMTAgMTRWMTBaIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTEyIDEuNXYyMU0xLjUgMTJoMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzMwY2Y0MyIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy43NzggMTIuMTExYzAgMy4xMTEtMS41NTYgNC42NjctNC42NjcgNC42NjctMy4xMTEgMC00LjY2Ny0xLjU1Ni00LjY2Ny00LjY2N0MxNC40NDQgOSAxNiA3LjQ0NCAxOS4xMTEgNy40NDRjMy4xMTEgMCA0LjY2NyAxLjU1NiA0LjY2NyA0LjY2N3pNMTkuMTExIDUuNWMuNzc4IDAgMS4xNjctLjM4OSAxLjE2Ny0xLjE2N3YtLjc3N2MwLS40NS0uMTk1LS43ODYtLjU4NC0xLjAxLS4zODgtLjIyNS0uNzc3LS4yMjUtMS4xNjYgMC0uMzkuMjI0LS41ODQuNTYtLjU4NCAxLjAxdi43NzdjMCAuNzc4LjM5IDEuMTY3IDEuMTY3IDEuMTY3ek0xMi43ODggNy40MzVjLjU1LjU1MiAxLjEuNTU0IDEuNjUzLjAwNC41NTItLjU1LjU1My0xLjEuMDAzLTEuNjUzbC0uNTQ5LS41NWMtLjU1LS41NTItMS4xMDEtLjU1NC0xLjY1My0uMDA0LS41NTMuNTUtLjU1NCAxLjEwMS0uMDA1IDEuNjU0bC41NS41NXpNMTAuNTU2IDEzLjI3OGguNzc3Yy43NzggMCAxLjE2Ny0uMzkgMS4xNjctMS4xNjcgMC0uNzc4LS4zODktMS4xNjctMS4xNjctMS4xNjdoLS43NzdjLS43NzggMC0xLjE2Ny4zOS0xLjE2NyAxLjE2NyAwIC43NzguMzg5IDEuMTY3IDEuMTY3IDEuMTY3ek0yNS40MzQgMTYuNzg3Yy0uNTQ5LS41MTItMS4wODktLjUwMi0xLjYyLjAyOS0uNTMuNTMtLjU0IDEuMDctLjAyOCAxLjYybC41NDkuNTVjLjU1LjU1IDEuMS41NSAxLjY1IDAgLjU1LS41NS41NS0xLjEgMC0xLjY1bC0uNTUtLjU0OXpNMjUuNzIyIDEyLjExMWMwIC43NzguMzkgMS4xNjcgMS4xNjcgMS4xNjdoLjc3OGMuNzc3IDAgMS4xNjYtLjM5IDEuMTY2LTEuMTY3IDAtLjc3OC0uMzg5LTEuMTY3LTEuMTY2LTEuMTY3aC0uNzc4Yy0uMzIyIDAtLjU5Ny4xMTQtLjgyNS4zNDItLjIyOC4yMjgtLjM0Mi41MDMtLjM0Mi44MjV6TTI0LjYxIDcuNzc5Yy4zMjMgMCAuNTk4LS4xMTQuODI0LS4zNDRsLjU1MS0uNTQ5Yy41NS0uNTUuNTUtMS4xIDAtMS42NS0uNTUtLjU1LTEuMS0uNTUtMS42NSAwbC0uNTUuNTVjLS4zNjYuMzY4LS40NS43OTItLjI1MSAxLjI3MS4xOTguNDguNTU3LjcyIDEuMDc2LjcyMnpNMjEuOTExIDIyLjM1NmMtLjc3MSAwLTEuNTIyLjEyLTIuMjU0LjM2NC0uMTI3LjA0Mi0uMjEuMTI2LS4yNS4yNTQtLjAzOS4xMjctLjAxOC4yNDQuMDYzLjM1IDEuMjgzIDEuNjg5IDIuMDcgMy41ODMgMi4zNjIgNS42ODQuMDIuMTQyLjEwMy4yMTQuMjQ3LjIxNGg0LjkwNmMuODM2IDAgMS40OTItLjM0MyAxLjk2Ny0xLjAzMS0uNzM3LTMuODktMy4wODQtNS44MzUtNy4wNDItNS44MzVoLjAwMXpNOS42NDQgMTkuOTY4Yy0yLjUxOC0uMDA0LTQuNzU4Ljc4My02LjcyIDIuMzYyLS4xLjA4LS4xNDkuMTgzLS4xNDYuMzF2NC4yYy4wMDQgMS41ODguOCAyLjM4MiAyLjM4OCAyLjM4MkgxOS44M2MuMTIyIDAgLjIyMi0uMDQ2LjMtLjE0LjA3Ny0uMDkzLjEwNS0uMi4wODItLjMxOS0xLjA4My01Ljg2My00LjYwNi04Ljc5NS0xMC41NjgtOC43OTV6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iI2ZiMmQ4ZCIgZmlsbC1ydWxlPSJub256ZXJvIi8+CiAgICAgICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTggMjB2LThsNCA0IDQtNHY4TTIyIDEyLjA3djcuOTE2TTE5LjUgMTcuNWwyLjQ4IDIuNTI1TDI0LjUgMTcuNSIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIgNGgyOHYyNEgyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMiA2YzAtMi42NjctMS4zMzMtNC00LTRINGMtMS4xMDUgMC0yLjA0Ny4zOS0yLjgyOCAxLjE3MkMuMzkgMy45NTIgMCA0Ljg5NSAwIDZ2MjBjMCAyLjY2NyAxLjMzMyA0IDQgNGgyNGMyLjY2NyAwIDQtMS4zMzMgNC00VjZ6TTQgNi42NjdjMC0uNTk0LjI3NC0xLjAwNS44MjMtMS4yMzIuNTQ5LS4yMjcgMS4wMzMtLjEzMSAxLjQ1My4yODkuNDIuNDIuNTE2LjkwNC4yOSAxLjQ1My0uMjI4LjU0OS0uNjM5LjgyMy0xLjIzMy44MjNDNC40NDQgOCA0IDcuNTU2IDQgNi42Njd6bTQgMGMwLS41OTQuMjc0LTEuMDA1LjgyMy0xLjIzMi41NDktLjIyNyAxLjAzMy0uMTMxIDEuNDUzLjI4OS40Mi40Mi41MTYuOTA0LjI5IDEuNDUzLS4yMjguNTQ5LS42MzkuODIzLTEuMjMzLjgyM0M4LjQ0NCA4IDggNy41NTYgOCA2LjY2N3ptNCAwYzAtLjU5NC4yNzQtMS4wMDUuODIzLTEuMjMyLjU0OS0uMjI3IDEuMDMzLS4xMzEgMS40NTMuMjg5LjQyLjQyLjUxNi45MDQuMjkgMS40NTMtLjIyOC41NDktLjYzOS44MjMtMS4yMzMuODIzQzEyLjQ0NCA4IDEyIDcuNTU2IDEyIDYuNjY3ek0yOS4zMzMgMjZjMCAuODg5LS40NDQgMS4zMzMtMS4zMzMgMS4zMzNINGMtLjg4OSAwLTEuMzMzLS40NDQtMS4zMzMtMS4zMzNWMTJjMC0uMTg0LjA2NS0uMzQxLjE5NS0uNDcxLjEzLS4xMy4yODctLjE5Ni40NzEtLjE5NmgyNS4zMzRjLjQ0NCAwIC42NjYuMjIzLjY2Ni42Njd2MTR6IiBmaWxsPSIjMTRiOGZmIi8+CiAgICAgICAgPHBhdGggZD0iTTEwLjMzMyAxNmMwIC42NjcuMzM0IDEgMSAxIC4yMjMgMCAuMzM0LjExMS4zMzQuMzMzdjUuMzM0YzAgLjY2Ni4zMzMgMSAxIDEgLjY2NiAwIDEtLjMzNCAxLTF2LTUuMzM0YzAtLjA5Mi4wMzItLjE3LjA5Ny0uMjM1LjA2NS0uMDY1LjE0NC0uMDk4LjIzNi0uMDk4LjY2NyAwIDEtLjMzMyAxLTFzLS4zMzMtMS0xLTFoLTIuNjY3Yy0uMjc2IDAtLjUxMi4wOTgtLjcwNy4yOTMtLjE5NS4xOTUtLjI5My40My0uMjkzLjcwN3pNNS4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0xLjMzNGMwLS4xMjguMDU2LS4yMjQuMTY3LS4yODguMTExLS4wNjQuMjIyLS4wNjQuMzMzIDAgLjExMS4wNjQuMTY3LjE2LjE2Ny4yODh2MS4zMzRjMCAuNjY2LjMzMyAxIDEgMXMxLS4zMzQgMS0xVjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzMzLS4xOTItLjY2Ny0uMTkyLTEgMC0uMzMzLjE5Mi0uNS40ODEtLjUuODY2djIuNjY3YzAgLjIyMi0uMTExLjMzMy0uMzMzLjMzMy0uMjIzIDAtLjMzNC0uMTExLS4zMzQtLjMzM1YxNmMwLS4zODUtLjE2Ni0uNjc0LS41LS44NjYtLjMzMy0uMTkyLS42NjYtLjE5Mi0xIDAtLjMzMy4xOTItLjUuNDgxLS41Ljg2NnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxek0yMy42NjcgMjEuMzMzYy4wMDEgMS41NTQuNzggMi4zMzIgMi4zMzMgMi4zMzRoMS4zMzNjLjY2NyAwIDEtLjMzNCAxLTEgMC0uNjY3LS4zMzMtMS0xLTFIMjZjLS4yMjIgMC0uMzMzLS4xMTEtLjMzMy0uMzM0VjE2YzAtLjM4NS0uMTY3LS42NzQtLjUtLjg2Ni0uMzM0LS4xOTItLjY2Ny0uMTkyLTEgMC0uMzM0LjE5Mi0uNS40ODEtLjUuODY2djUuMzMzek0xNy4zMzMgMjMuNjY3Yy42NjcgMCAxLS4zMzQgMS0xdi0yLjc4YzAtLjAzOS4wMi0uMDYzLjA1Ni0uMDczLjAzNy0uMDEuMDY2IDAgLjA4Ni4wMzQuMjA3LjMwMS40OTMuNDUyLjg1OC40NTIuMzY2IDAgLjY1Mi0uMTUuODU5LS40NTIuMDItLjAzMy4wNDgtLjA0NS4wODUtLjAzNC4wMzguMDEuMDU2LjAzNC4wNTYuMDczdjIuNzhjMCAuNjY2LjMzNCAxIDEgMSAuNjY3IDAgMS0uMzM0IDEtMVYxNmMtLjAwMS0uNTA2LS4yNDYtLjgyNy0uNzM0LS45NjJzLS44NjMuMDE0LTEuMTI0LjQ0N2wtLjg1NiAxLjQyOGMtLjA2NS4xMDgtLjE2LjE2MS0uMjg2LjE2MS0uMTI1IDAtLjIyLS4wNTMtLjI4NS0uMTZsLS44NTYtMS40MjljLS4yNjItLjQzMy0uNjM2LS41ODItMS4xMjUtLjQ0Ny0uNDg4LjEzNS0uNzMyLjQ1Ni0uNzM0Ljk2MnY2LjY2N2MwIC42NjYuMzM0IDEgMSAxeiIgZmlsbD0iIzE0YjhmZiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBkPSJNMSAyaDI1djI0SDF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI3LjMzMyAyNC42Njd2LTIyQzI3LjMzMy44ODkgMjYuNDQ0IDAgMjQuNjY3IDBoLTIyQzEuOTMgMCAxLjMwMi4yNi43OC43ODEuMjYxIDEuMzAxIDAgMS45MzEgMCAyLjY2N3YyMmMwIDEuNzc3Ljg4OSAyLjY2NiAyLjY2NyAyLjY2NmgyMmMxLjc3NyAwIDIuNjY2LS44ODkgMi42NjYtMi42NjZ6IiBmaWxsPSIjZmZiNDFmIi8+CiAgICAgICAgPHBhdGggZD0iTTE5LjExMyAxMi45MzNjLS4xMjYtLjYwMy0uNDk3LS45MTEtMS4xMTItLjkyNS0uNjE2LS4wMTQtMSAuMjc3LTEuMTU0Ljg3M2wtMi4xMjMgNC42NjdjLS4wNTEuMTEyLS4xMzcuMTc2LS4yNi4xOTItLjEyMS4wMTctLjIyMS0uMDIzLS4zLS4xMTdsLTEuNDY3LTEuNzUyYy0uMzQtLjQ2Mi0uNzk2LS42Ny0xLjM2OC0uNjI1LS41NzEuMDQ0LS45OS4zMi0xLjI1NC44MjlMNi43NiAyMS42Yy0uMTMzLjIyMi0uMTM2LjQ0Ni0uMDA4LjY3MS4xMjguMjI2LjMyMS4zMzguNTguMzM4SDIyYy4yMzYgMCAuNDItLjA5Ny41NTItLjI5My4xMzItLjE5NS4xNTQtLjQwMi4wNjctLjYyMWwtMy41MDYtOC43NjJ6TTEwLjY2NyA4YzAgMS43NzgtLjg5IDIuNjY3LTIuNjY3IDIuNjY3LTEuNzc4IDAtMi42NjctLjg5LTIuNjY3LTIuNjY3IDAtMS43NzguODktMi42NjcgMi42NjctMi42NjcgMS43NzggMCAyLjY2Ny44OSAyLjY2NyAyLjY2N3oiIGZpbGw9IiNGRkYiLz4KICAgICAgICA8cGF0aCBkPSJNMzAuNjY3IDhjLS4zNjkgMC0uNjgzLjEzLS45NDMuMzktLjI2LjI2LS4zOS41NzUtLjM5Ljk0M3YxOS4zMzRjMCAuNDQ0LS4yMjMuNjY2LS42NjcuNjY2SDkuMzMzYy0uODg5IDAtMS4zMzMuNDQ1LTEuMzMzIDEuMzM0UzguNDQ0IDMyIDkuMzMzIDMyaDIwQzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzdi0yMEMzMiA4LjQ0NCAzMS41NTYgOCAzMC42NjcgOHoiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDwvZz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iIzMwY2Y0MyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMTUiIHdpZHRoPSIyNiIgaGVpZ2h0PSIyIiByeD0iMSIvPgogICAgICAgIDxyZWN0IGZpbGw9IiNGRkYiIHg9IjMiIHk9IjMiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICAgICAgPHJlY3QgZmlsbD0iI0ZGRiIgeD0iMyIgeT0iMjIiIHdpZHRoPSIyNiIgaGVpZ2h0PSI3IiByeD0iMS41Ii8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMzIgMi42NjdDMzIgLjg4OSAzMS4xMTEgMCAyOS4zMzMgMEgyLjY2N0MxLjkzIDAgMS4zMDIuMjYuNzguNzgxLjI2MSAxLjMwMSAwIDEuOTMxIDAgMi42Njd2MjYuNjY2QzAgMzEuMTExLjg4OSAzMiAyLjY2NyAzMmgyNi42NjZDMzEuMTExIDMyIDMyIDMxLjExMSAzMiAyOS4zMzNWMi42NjdaIiBmaWxsPSIjRkIyRDhEIi8+CiAgICA8cGF0aCBkPSJNMTUuOTk4LS4wMXYxOC42NzRjLS4wNTQuNTU4LjE3NS45NTEuNjg3IDEuMTguNTI1LjIuOTY1LjA4NCAxLjMyMi0uMzVsMi42ODktMi42ODNhLjQwNC40MDQgMCAwIDEgLjI5NC0uMTIyYy4xMTYgMCAuMjE0LjA0MS4yOTUuMTIybDIuNjkgMi42ODRjLjI0NS4yNzQuNTUyLjQxNy45Mi40MjguMTM5IDAgLjI3My0uMDI2LjQwMS0uMDc4LjUxMi0uMjMuNzQxLS42MjMuNjg3LTEuMThWLS4wNjJsLTkuOTg1LjA1di4wMDJaIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0ibm9uZSI+CiAgICAgICAgPHBhdGggZD0iTTMyIDIuNjY3QzMyIC44ODkgMzEuMTExIDAgMjkuMzMzIDBIMi42NjdDMS45MyAwIDEuMzAyLjI2Ljc4Ljc4MS4yNjEgMS4zMDEgMCAxLjkzMSAwIDIuNjY3djI2LjY2NkMwIDMxLjExMS44ODkgMzIgMi42NjcgMzJoMjYuNjY2QzMxLjExMSAzMiAzMiAzMS4xMTEgMzIgMjkuMzMzVjIuNjY3eiIgZmlsbD0iIzE0YjhmZiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy4zMTIgOS41SDguNjg3Yy0xLjIzMyAwLTIgLjc2Ny0yIDJ2OWMwIDEuMjMzLjc2NyAyIDIgMmgxNC42MjVjMS4yMzQgMCAyLS43NjcgMi0ydi05YzAtMS4yMzMtLjc2Ni0yLTItMnpNOC41NiAxMS4yNWgxNC44ODJjLjEuMDA0LjExOC4wMjIuMTIxLjEyMnY5LjI1NmMtLjAwNC4xMTYtLjAyOS4xMjItLjE3OC4xMjJIOC41NmMtLjEtLjAwNC0uMTE4LS4wMjItLjEyMS0uMTIydi05LjI1NmMuMDAzLS4xLjAyMi0uMTE4LjEyMS0uMTIyeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xOC4xMjMgMTMuODg3Yy4zLS4zMjUuNzktLjM3IDEuMTQ0LS4xMjNsLjA5Mi4wNzUgMi44NiAyLjY0M2MuMzU1LjMyOS4zNzcuODgyLjA0OSAxLjIzNy0uMzAxLjMyNS0uNzkxLjM3LTEuMTQ0LjEyM2wtLjA5My0uMDc0LTIuODYtMi42NDRjLS4zNTUtLjMyOC0uMzc2LS44ODItLjA0OC0xLjIzN3pNMTIuNjQgMTMuODM5Yy4zNTYtLjMyOC45MS0uMzA3IDEuMjM3LjA0OC4zMDEuMzI2LjMwOC44MTguMDMzIDEuMTVsLS4wODEuMDg3LTIuODYgMi42NDRjLS4zNTUuMzI4LS45MDguMzA2LTEuMjM3LS4wNDktLjMtLjMyNS0uMzA3LS44MTgtLjAzMy0xLjE1bC4wODItLjA4NyAyLjg2LTIuNjQzeiIgZmlsbD0iI0ZGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMy42NjMgMTAuMDRjLjM5OC0uMjc0Ljk0My0uMTc0IDEuMjE3LjIyNC4yNTIuMzY0LjE4OS44NTMtLjEzIDEuMTQzbC0uMDkzLjA3NC03LjEzNSA0LjkyYy0uOTI1LjYzOC0xLjkzNS42NzYtMi44Ny4xMTJsLS4xNzQtLjExMi03LjEzNS00LjkyYy0uMzk4LS4yNzUtLjQ5OC0uODItLjIyMy0xLjIxNy4yNTEtLjM2NS43My0uNDggMS4xMTQtLjI4NWwuMTAzLjA2MSA3LjEzNSA0LjkyYy4zNDYuMjQuNjEzLjI2My45NDQuMDcybC4xMTMtLjA3MiA3LjEzNC00LjkyeiIgZmlsbD0iI0ZGRiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMyIgZmlsbD0iI0ZGQjQxRiIvPgogIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIGZpbGw9IiNmZmYiPgogICAgPHBhdGggZD0iTTE0LjUzNiAxNS41NjhsMi42OCA4LjkzMWEuODMuODMgMCAwMDEuMzgyLjM0OWwxLjM2NS0xLjM2NSAzLjUyMiAzLjUyMmEuODMuODMgMCAwMDEuMTc0IDBsMi4zNDgtMi4zNDhhLjgzLjgzIDAgMDAwLTEuMTc0bC0zLjUyMi0zLjUyMkwyNC44NSAxOC42YS44MjkuODI5IDAgMDAtLjM0OC0xLjM4MmwtOC45MzItMi42OGEuODMuODMgMCAwMC0xLjAzNCAxLjAzeiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi44NiA0LjI1NUExMS4yNSAxMS4yNSAwIDAxMjYuNDcgMTQuNDQ3YS43NS43NSAwIDAxLTEuNDk2LjEwNiA5Ljc1IDkuNzUgMCAxMC0xMC40MjEgMTAuNDIuNzUuNzUgMCAwMS0uMTA3IDEuNDk2IDExLjI1IDExLjI1IDAgMDEtMS41ODgtMjIuMjE0eiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMDUgOC43ODVhNi43NSA2Ljc1IDAgMDE4LjIwMyAzLjkzNC43NS43NSAwIDExLTEuMzkuNTYyIDUuMjUgNS4yNSAwIDEwLTYuODM3IDYuODM1Ljc1Ljc1IDAgMTEtLjU2MiAxLjM5IDYuNzUgNi43NSAwIDAxLjU4Ni0xMi43MnoiLz4KICA8L2c+CiAgPGNsaXBQYXRoIGlkPSJjbGlwMCI+CiAgICA8cGF0aCBmaWxsPSIjZmZmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0IDQpIiBkPSJNMCAwaDI0djI0SDB6Ii8+CiAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTMwIDBIMmEyIDIgMCAwMC0yIDJ2MjhhMiAyIDAgMDAyIDJoMjhhMiAyIDAgMDAyLTJWMmEyIDIgMCAwMC0yLTJ6IiBmaWxsPSIjMzBDRjQzIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTkgOS4wMDFjNC4wMDctLjA2IDcuOTYyIDIuNzM3IDEwLjM2NiA1LjQyNWwuMDA0LjAwNGEyLjUxNyAyLjUxNyAwIDAxMCAzLjMzN2wtLjAwMy4wMDRjLTIuMzQ5IDIuNjI4LTYuMjk0IDUuNDktMTAuMzY3IDUuNDI4LTQuMDczLjA2MS04LjAxOC0yLjgtMTAuMzY1LTUuNDI5bC0uMDAzLS4wMDNhMi41MTcgMi41MTcgMCAwMTAtMy4zMzdsLjAwMy0uMDA0QzguMDM2IDExLjczOCAxMS45OTEgOC45NCAxNiA5LjAwMWgtLjAwMXptLTguODcyIDYuNzU2YS41MTcuNTE3IDAgMDAwIC42ODNjMi4yMDggMi40NzIgNS42NDUgNC44MTQgOC44NTUgNC43NTloLjAzNGMzLjIwOS4wNTUgNi42NDctMi4yODcgOC44NTctNC43NTlhLjUxOC41MTggMCAwMDAtLjY4M2MtMi4yNTctMi41MjItNS43MDUtNC44MS04Ljg1Ny00Ljc1NmgtLjAzNGMtMy4xNTItLjA1NC02LjYgMi4yMzQtOC44NTUgNC43NTZ6IiBmaWxsPSIjZmZmIi8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNiAxOGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNHptMCAyYTQgNCAwIDEwMC04IDQgNCAwIDAwMCA4eiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZD0iTTEzLjUzNjEgMTUuNTY4TDE2LjIxNjEgMjQuNDk5QzE2LjI1NzMgMjQuNjM2NiAxNi4zMzM1IDI0Ljc2MTIgMTYuNDM3MiAyNC44NjA1QzE2LjU0MSAyNC45NTk5IDE2LjY2ODggMjUuMDMwNiAxNi44MDggMjUuMDY1OEMxNi45NDczIDI1LjEwMSAxNy4wOTMzIDI1LjA5OTQgMTcuMjMxOCAyNS4wNjEyQzE3LjM3MDMgMjUuMDIzIDE3LjQ5NjUgMjQuOTQ5NiAxNy41OTgxIDI0Ljg0OEwxOC45NjMxIDIzLjQ4M0wyMi40ODUxIDI3LjAwNUMyMi41NjIyIDI3LjA4MjEgMjIuNjUzNyAyNy4xNDMzIDIyLjc1NDQgMjcuMTg1QzIyLjg1NTEgMjcuMjI2NyAyMi45NjMxIDI3LjI0ODIgMjMuMDcyMSAyNy4yNDgyQzIzLjE4MTEgMjcuMjQ4MiAyMy4yODkxIDI3LjIyNjcgMjMuMzg5OCAyNy4xODVDMjMuNDkwNSAyNy4xNDMzIDIzLjU4MiAyNy4wODIxIDIzLjY1OTEgMjcuMDA1TDI2LjAwNzEgMjQuNjU3QzI2LjA4NDIgMjQuNTc5OSAyNi4xNDU0IDI0LjQ4ODQgMjYuMTg3MSAyNC4zODc3QzI2LjIyODggMjQuMjg3IDI2LjI1MDMgMjQuMTc5IDI2LjI1MDMgMjQuMDdDMjYuMjUwMyAyMy45NjEgMjYuMjI4OCAyMy44NTMgMjYuMTg3MSAyMy43NTIzQzI2LjE0NTQgMjMuNjUxNiAyNi4wODQyIDIzLjU2MDEgMjYuMDA3MSAyMy40ODNMMjIuNDg1MSAxOS45NjFMMjMuODUwMSAxOC42QzIzLjk1MiAxOC40OTg2IDI0LjAyNTcgMTguMzcyNSAyNC4wNjQxIDE4LjIzNEMyNC4xMDI1IDE4LjA5NTUgMjQuMTA0MyAxNy45NDk0IDI0LjA2OTIgMTcuODFDMjQuMDM0MSAxNy42NzA3IDIzLjk2MzQgMTcuNTQyOCAyMy44NjM5IDE3LjQzOUMyMy43NjQ1IDE3LjMzNTIgMjMuNjM5OCAxNy4yNTkxIDIzLjUwMjEgMTcuMjE4TDE0LjU3MDEgMTQuNTM4QzE0LjQyNjkgMTQuNDk1MiAxNC4yNzQ4IDE0LjQ5MTggMTQuMTI5OCAxNC41MjgyQzEzLjk4NDggMTQuNTY0NyAxMy44NTI0IDE0LjYzOTYgMTMuNzQ2NCAxNC43NDUxQzEzLjY0MDUgMTQuODUwNiAxMy41NjUxIDE0Ljk4MjggMTMuNTI4MSAxNS4xMjc2QzEzLjQ5MSAxNS4yNzI1IDEzLjQ5MzggMTUuNDI0NiAxMy41MzYxIDE1LjU2OFoiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTIuMjg3MSAyMy43NUMxMi43MDEzIDIzLjc1IDEzLjAzNzEgMjMuNDE0MiAxMy4wMzcxIDIzQzEzLjAzNzEgMjIuNTg1OCAxMi43MDEzIDIyLjI1IDEyLjI4NzEgMjIuMjVWMjMuNzVaTTI1Ljc1IDE3LjI0OTZDMjUuNzUgMTcuNjYzOCAyNi4wODU4IDE3Ljk5OTYgMjYuNSAxNy45OTk2QzI2LjkxNDIgMTcuOTk5NiAyNy4yNSAxNy42NjM4IDI3LjI1IDE3LjI0OTZIMjUuNzVaTTguNSA5Ljc1SDIzLjVWOC4yNUg4LjVWOS43NVpNNi4yNSAyMFYxMkg0Ljc1VjIwSDYuMjVaTTEyLjI4NzEgMjIuMjVIMTAuNzVWMjMuNzVIMTIuMjg3MVYyMi4yNVpNMTAuNzUgMjIuMjVIOC41VjIzLjc1SDEwLjc1VjIyLjI1Wk0yNS43NSAxMlYxNkgyNy4yNVYxMkgyNS43NVpNMjUuNzUgMTZWMTcuMjQ5NkgyNy4yNVYxNkgyNS43NVpNNC43NSAyMEM0Ljc1IDIyLjA3MTEgNi40Mjg5MyAyMy43NSA4LjUgMjMuNzVWMjIuMjVDNy4yNTczNiAyMi4yNSA2LjI1IDIxLjI0MjYgNi4yNSAyMEg0Ljc1Wk0yMy41IDkuNzVDMjQuNzQyNiA5Ljc1IDI1Ljc1IDEwLjc1NzQgMjUuNzUgMTJIMjcuMjVDMjcuMjUgOS45Mjg5MyAyNS41NzExIDguMjUgMjMuNSA4LjI1VjkuNzVaTTguNSA4LjI1QzYuNDI4OTMgOC4yNSA0Ljc1IDkuOTI4OTMgNC43NSAxMkg2LjI1QzYuMjUgMTAuNzU3NCA3LjI1NzM2IDkuNzUgOC41IDkuNzVWOC4yNVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHJ4PSIzIiBmaWxsPSIjMTRCOEZGIi8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNMjAgMTEuNzVhMi4yNDIgMi4yNDIgMCAwIDAtMS45OTMtMi4yMjUgOS40MTQgOS40MTQgMCAwIDAtLjI1NyAyLjIyNWMtLjAwMy43NDkuMDgzIDEuNDk2LjI1NyAyLjIyNEEyLjI0MyAyLjI0MyAwIDAgMCAyMCAxMS43NVpNMTMuNzUgMTguNDMzIDkuNDEgMTcuMDVsMS45NzMgNC44NTZhMS43NDYgMS43NDYgMCAwIDAgMy4zNjctLjYzNmMuMDAzLS4yMy0uMDQtLjQ1Ny0uMTI2LS42N2wtLjg3NC0yLjE2N1oiLz4KICAgICAgICA8cGF0aCBkPSJNMTkuMjUgNWMtLjI3IDAtLjUzNy4wNDgtLjc5LjEzOUw3LjA0NiA4Ljc3OEEyLjg2NCAyLjg2NCAwIDAgMCA1IDExLjc1YTIuODU3IDIuODU3IDAgMCAwIDIuMDI1IDIuOTY1bDExLjQzNyAzLjY0NmMuMjUzLjA5MS41Mi4xMzguNzg4LjEzOSAyLjEzOCAwIDMuNzUtMi45MDIgMy43NS02Ljc1UzIxLjM4OCA1IDE5LjI1IDVabTAgMTJDMTguMTg4IDE3IDE3IDE0Ljc1NSAxNyAxMS43NXMxLjE4OC01LjI1IDIuMjUtNS4yNSAyLjI1IDIuMjQ1IDIuMjUgNS4yNVMyMC4zMTIgMTcgMTkuMjUgMTdaIi8+CiAgICA8L2c+CiAgICA8Y2xpcFBhdGg+CiAgICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSA1KSIgZD0iTTAgMGgxOHYxOEgweiIvPgogICAgPC9jbGlwUGF0aD4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOSAwSDNDMS4zNDMxNSAwIDAgMS4zNDMxNSAwIDNWMjlDMCAzMC42NTY5IDEuMzQzMTUgMzIgMyAzMkgyOUMzMC42NTY5IDMyIDMyIDMwLjY1NjkgMzIgMjlWM0MzMiAxLjM0MzE1IDMwLjY1NjkgMCAyOSAwWiIgZmlsbD0iI0ZGQjQxRiIvPgogICAgPHBhdGggZD0iTTUuNSA3Ljc1SDI2LjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik01LjUgMjQuMjVIMjYuNSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE5Ljc1VjEzLjc1QzE5IDEzLjM1MjIgMTkuMTU4IDEyLjk3MDYgMTkuNDM5MyAxMi42ODkzQzE5LjcyMDYgMTIuNDA4IDIwLjEwMjIgMTIuMjUgMjAuNSAxMi4yNUgyMiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTE5IDE2Ljc1SDIxLjI1IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICA8cGF0aCBkPSJNMTYgMTkuNzVWMTIuMjUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik0xMi4yNSAxNi43NUgxM1YxOC4yNUMxMyAxOC42NDc4IDEyLjg0MiAxOS4wMjk0IDEyLjU2MDcgMTkuMzEwN0MxMi4yNzk0IDE5LjU5MiAxMS44OTc4IDE5Ljc1IDExLjUgMTkuNzVDMTEuMTAyMiAxOS43NSAxMC43MjA2IDE5LjU5MiAxMC40MzkzIDE5LjMxMDdDMTAuMTU4IDE5LjAyOTQgMTAgMTguNjQ3OCAxMCAxOC4yNVYxMy43NUMxMCAxMy4zNTIyIDEwLjE1OCAxMi45NzA2IDEwLjQzOTMgMTIuNjg5M0MxMC43MjA2IDEyLjQwOCAxMS4xMDIyIDEyLjI1IDExLjUgMTIuMjVIMTMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiNmZmI0MWYiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjgiIHdpZHRoPSIxNSIgaGVpZ2h0PSI0IiByeD0iMS41IiBmaWxsPSJ3aGl0ZSIvPgogICAgPHJlY3QgeD0iMiIgeT0iMTUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyIiByeD0iMSIgZmlsbD0id2hpdGUiLz4KICAgIDxyZWN0IHg9IjIiIHk9IjE5IiB3aWR0aD0iMjQiIGhlaWdodD0iMiIgcng9IjEiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjAgOUwyMi41IDExLjVMMjUgOSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzMwQ0Y0MyIvPgogIDxwYXRoIGQ9Ik0xMi4wNyAyMC43N2EuOTk4Ljk5OCAwIDAgMS0xLjQ0NS0uODk0di02Ljc1MmEuOTk5Ljk5OSAwIDAgMSAxLjQ0NC0uODk0bDYuNzU0IDMuMzc3YS45OTcuOTk3IDAgMCAxIDAgMS43ODVMMTIuMDcgMjAuNzdaIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjMiIHk9IjIiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIxIiBmaWxsPSIjZmZmIi8+CiAgPHJlY3QgeD0iOSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIxNSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KICA8cmVjdCB4PSIyMSIgeT0iMiIgd2lkdGg9IjQiIGhlaWdodD0iNCIgcng9IjEiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iI0ZCMkQ4RCIvPgogIDxwYXRoIGQ9Ik05IDIxYzEuMTA1IDAgMi0uOTMzIDItMi4wODRzLS44OTUtMi4wODQtMi0yLjA4NC0yIC45MzMtMiAyLjA4NEM3IDIwLjA2NiA3Ljg5NSAyMSA5IDIxWk0xOSAxOC45MTZjMS4xMDUgMCAyLS45MzMgMi0yLjA4NHMtLjg5NS0yLjA4NC0yLTIuMDg0LTIgLjkzMy0yIDIuMDg0YzAgMS4xNS44OTUgMi4wODQgMiAyLjA4NFoiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0yMSAxNi44MzR2LTcuNzVjMC0uMzE3LS4wNy0uNjMtLjIwMy0uOTE0YTIuMDcgMi4wNyAwIDAgMC0uNTY2LS43MjkgMS45NjUgMS45NjUgMCAwIDAtLjgxNi0uMzk2IDEuOTIyIDEuOTIyIDAgMCAwLS45LjAxN2wtNiAxLjA0MmExLjk5NSAxLjk5NSAwIDAgMC0xLjA5MS43NEEyLjE0IDIuMTQgMCAwIDAgMTEgMTAuMTI0djguNzkyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMS40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiByeD0iMyIgZmlsbD0iIzE0QjhGRiIvPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMjI5IDYuNjUzYTIuNjI1IDIuNjI1IDAgMCAwLTIuODgyLjYwNWwtLjAxLjAxLTYuNzYxIDYuNzYxYTQuMzEyIDQuMzEyIDAgMSAwIDYuMDk4IDYuMDk5bDguMjMzLTguMjM0YS43NS43NSAwIDEgMSAxLjA2IDEuMDZsLTguMjMyIDguMjM0YTUuODEyIDUuODEyIDAgMSAxLTguMjItOC4yMmw2Ljc1OC02Ljc1N2E0LjEyNCA0LjEyNCAwIDEgMSA1LjgzMyA1LjgzM2wtNi43NjcgNi43N2EyLjQzNyAyLjQzNyAwIDAgMS0zLjQ0Ny0zLjQ0NmwuMDEtLjAxIDYuNzYxLTYuNzY0YS43NS43NSAwIDEgMSAxLjA2MSAxLjA2bC02Ljc1NyA2Ljc2YS45MzcuOTM3IDAgMCAwIDEuMzI2IDEuMzI1bDYuNzY1LTYuNzY5YTIuNjI2IDIuNjI2IDAgMCAwLS44My00LjMxN1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjMiIGZpbGw9IiMzQkNENEMiLz4KICAgIDxwYXRoIGQ9Ik0xNy4wMTQxIDExLjM0NTRDMTcuMDc3NSAxMS4zMTY1IDE3LjExODIgMTEuMjUzMiAxNy4xMTgyIDExLjE4MzVDMTcuMTE4MiAxMS4xMTM3IDE3LjA3NzUgMTEuMDUwNCAxNy4wMTQxIDExLjAyMTVMMTAuMDY3OCA3Ljg1NDg4QzkuOTc1OCA3LjgxNCA5Ljg3MDc4IDcuODE0IDkuNzc4NzcgNy44NTQ4OEw3LjA2MTM1IDkuMDMzODJDNi45OTU3MiA5LjA2MTc4IDYuOTUzMTIgOS4xMjYyMyA2Ljk1MzEyIDkuMTk3NTdDNi45NTMxMiA5LjI2ODkgNi45OTU3MiA5LjMzMzM1IDcuMDYxMzUgOS4zNjEzMUwxNC4zODcxIDEyLjQxNEMxNC40Nzg0IDEyLjQ1MjMgMTQuNTgxNiAxMi40NTA4IDE0LjY3MTggMTIuNDA5OEwxNy4wMTQxIDExLjM0NTRaIiBmaWxsPSJ3aGl0ZSIvPgogICAgPHBhdGggZD0iTTIxLjM1MDIgOS4zNzIwMkMyMS40MTQxIDkuMzQzMjkgMjEuNDU1MiA5LjI3OTc1IDIxLjQ1NTIgOS4yMDk3QzIxLjQ1NTIgOS4xMzk2NSAyMS40MTQxIDkuMDc2MTIgMjEuMzUwMiA5LjA0NzM4TDE0LjQ3MTYgNi4wNTk0M0MxNC4yOSA1Ljk4MDE5IDE0LjA4MzcgNS45ODAxOSAxMy45MDIxIDYuMDU5NDNMMTEuNjA5NyA3LjA1NjEzQzExLjU0NTQgNy4wODQ2OCAxMS41MDM5IDcuMTQ4NDQgMTEuNTAzOSA3LjIxODhDMTEuNTAzOSA3LjI4OTE3IDExLjU0NTQgNy4zNTI5MyAxMS42MDk3IDcuMzgxNDhMMTguNTE1MyAxMC41Mjk2QzE4LjYwOSAxMC41NzIyIDE4LjcxNjUgMTAuNTcyMiAxOC44MTAxIDEwLjUyOTZMMjEuMzUwMiA5LjM3MjAyWiIgZmlsbD0id2hpdGUiLz4KICAgIDxwYXRoIGQ9Ik02LjI0NjMzIDEwLjE3NzdDNi4xOTEzOCAxMC4xNTQ5IDYuMTI4NjUgMTAuMTYxIDYuMDc5MTYgMTAuMTk0QzYuMDI5NjYgMTAuMjI3MSA1Ljk5OTk2IDEwLjI4MjcgNiAxMC4zNDIyVjE4LjI3NzNDNS45OTk5OCAxOC41NjQ2IDYuMTcyNjYgMTguODIzOCA2LjQzNzgzIDE4LjkzNDRMMTMuNzYgMjEuOTg2NEMxMy44MTQ5IDIyLjAwOTMgMTMuODc3NyAyMi4wMDMxIDEzLjkyNzEgMjEuOTcwMUMxMy45NzY2IDIxLjkzNyAxNC4wMDYzIDIxLjg4MTUgMTQuMDA2MyAyMS44MjE5VjEzLjUzMDlDMTQuMDA2MiAxMy40NTkgMTMuOTYzIDEzLjM5NDIgMTMuODk2NyAxMy4zNjY0TDYuMjQ2MzMgMTAuMTc3N1oiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMTUuMDc4MSAyMS43ODk5QzE1LjA3ODQgMjEuODUwMiAxNS4xMDkyIDIxLjkwNjMgMTUuMTU5OSAyMS45MzlDMTUuMjEwNSAyMS45NzE4IDE1LjI3NDMgMjEuOTc2NyAxNS4zMjk0IDIxLjk1MjJMMjEuOTU4MiAxOC45Mzk0QzIyLjIxMjIgMTguODIzOCAyMi4zNzUzIDE4LjU3MDUgMjIuMzc1NCAxOC4yOTE1VjEwLjM1NzhDMjIuMzc1NCAxMC4yOTczIDIyLjM0NDcgMTAuMjQxIDIyLjI5MzkgMTAuMjA4MkMyMi4yNDMxIDEwLjE3NTMgMjIuMTc5MSAxMC4xNzA2IDIyLjEyNCAxMC4xOTU1TDE1LjE4NDkgMTMuMzUwN0MxNS4xMjExIDEzLjM3OTIgMTUuMDgwMSAxMy40NDI1IDE1LjA4MDMgMTMuNTEyNEwxNS4wNzgxIDIxLjc4OTlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0yOS41IDBIMi41QzEuMTE5MjkgMCAwIDEuMTE5MjkgMCAyLjVWMjkuNUMwIDMwLjg4MDcgMS4xMTkyOSAzMiAyLjUgMzJIMjkuNUMzMC44ODA3IDMyIDMyIDMwLjg4MDcgMzIgMjkuNVYyLjVDMzIgMS4xMTkyOSAzMC44ODA3IDAgMjkuNSAwWiIgZmlsbD0iI0ZCMkQ4RCIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgOC44OTU0MyA2Ljg5NTQzIDggOCA4SDI0QzI1LjEwNDYgOCAyNiA4Ljg5NTQzIDI2IDEwVjE1QzI2IDE2LjEwNDYgMjUuMTA0NiAxNyAyNCAxN0g4QzYuODk1NDMgMTcgNiAxNi4xMDQ2IDYgMTVWMTBaTTYgMjRDNiAyMy40NDc3IDYuNDQ3NzIgMjMgNyAyM0gyNUMyNS41NTIzIDIzIDI2IDIzLjQ0NzcgMjYgMjRDMjYgMjQuNTUyMyAyNS41NTIzIDI1IDI1IDI1SDdDNi40NDc3MiAyNSA2IDI0LjU1MjMgNiAyNFpNNyAxOUM2LjQ0NzcyIDE5IDYgMTkuNDQ3NyA2IDIwQzYgMjAuNTUyMyA2LjQ0NzcyIDIxIDcgMjFIMjVDMjUuNTUyMyAyMSAyNiAyMC41NTIzIDI2IDIwQzI2IDE5LjQ0NzcgMjUuNTUyMyAxOSAyNSAxOUg3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjI1MiA4LjQ4OGMtLjM2Ni0xLjM3LTEuNDQ4LTIuNDUyLTIuODI0LTIuODIzQzI1Ljk0MSA1IDE1Ljk1OCA1IDE1Ljk1OCA1cy05Ljk3NyAwLTEyLjQ3LjY2NWMtMS4zNy4zNjYtMi40NTIgMS40NDctMi44MjMgMi44MjNDMCAxMC45NzYgMCAxNi4xNyAwIDE2LjE3czAgNS4xOTQuNjY1IDcuNjgyYy4zNjYgMS4zNzIgMS40NDcgMi40NTMgMi44MjMgMi44MjMgMi40OTMuNjY2IDEyLjQ3LjY2NiAxMi40Ny42NjZzOS45ODMgMCAxMi40Ny0uNjY2YzEuMzcyLS4zNjUgMi40NTMtMS40NDcgMi44MjQtMi44MjMuNjY1LTIuNDg4LjY2NS03LjY4Mi42NjUtNy42ODJzMC01LjE5NC0uNjY1LTcuNjgyIiBmaWxsPSIjRDkyNTJBIi8+CiAgICAgICAgPHBhdGggZmlsbD0iI0ZGRkZGRSIgZD0iTTEyLjc3IDIwLjk1OGw4LjI5MS00Ljc4OC04LjI5MS00Ljc4OHY5LjU3NiIvPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xMC4wNjMgMjkuMDAyYzEyLjA3NiAwIDE4LjY4LTEwLjAwNSAxOC42OC0xOC42OCAwLS4yODUgMC0uNTY3LS4wMTktLjg1QzMwLjAxIDguNTQ1IDMxLjEyIDcuMzkzIDMyIDYuMDc2Yy0xLjE5OC41My0yLjQ3Ljg3OS0zLjc3IDEuMDMyIDEuMzctLjgyIDIuMzk1LTIuMTEgMi44ODYtMy42My0xLjI5Ljc2NC0yLjcgMS4zMDMtNC4xNyAxLjU5My0yLjAzNS0yLjE2NC01LjI2OC0yLjY5NC03Ljg4Ny0xLjI5Mi0yLjYyIDEuNDAxLTMuOTczIDQuMzg2LTMuMyA3LjI4LTUuMjgtLjI2NS0xMC4xOTgtMi43NTgtMTMuNTMyLTYuODYtMS43NDIgMy0uODUyIDYuODM4IDIuMDMzIDguNzY0LTEuMDQ1LS4wMy0yLjA2Ny0uMzEzLTIuOTgtLjgyMnYuMDg0YzAgMy4xMjUgMi4yMDQgNS44MTcgNS4yNjcgNi40MzUtLjk2Ni4yNjQtMS45OC4zMDMtMi45NjQuMTEzLjg2IDIuNjc1IDMuMzI1IDQuNTA3IDYuMTMzIDQuNTYtMi4zMjQgMS44MjctNS4xOTYgMi44MTgtOC4xNTMgMi44MTUtLjUyMiAwLTEuMDQ0LS4wMzItMS41NjMtLjA5NCAzLjAwMiAxLjkyNyA2LjQ5NiAyLjk0OSAxMC4wNjMgMi45NDQiIGZpbGw9IiMxREExRjIiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuNDMgMTIyLjQxIj4KICAgIDxwYXRoIGQ9Ik04My44NiA1NC4xNXYzNC4xM0gzOC41N1Y1NC4xNUgwdjY4LjI2aDEyMi40M1Y1NC4xNUg4My44NnpNMzguNTcgMGg0NS4zdjM0LjEzaC00NS4zeiIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTMxLjg4NiAyNS41MDhjMCAzLjUyMi0yLjg1NSA2LjM3Ny02LjM3NyA2LjM3N0g2LjM3N0MyLjg1NyAzMS44ODUgMCAyOS4wMyAwIDI1LjUwOFY2LjM3OEMwIDIuODU0IDIuODU3IDAgNi4zNzcgMEgyNS41MWMzLjUyMiAwIDYuMzc3IDIuODU1IDYuMzc3IDYuMzc3djE5LjEzMSIgZmlsbD0iIzBGQjdGRiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNS45OTggMTAuNThjLjE3NS0uOTgyLjE3LTEuOTkyLS40MzYtMi43NTUtLjg0Ni0xLjA3LTIuNjQ2LTEuMTEtMy44OC0uOTIxLTEuMDAzLjE1My00LjM5NyAxLjY1MS01LjU1MiA1LjIzNiAyLjA0Ni0uMTU2IDMuMTE4LjE0OCAyLjkyMSAyLjQtLjA4Mi45NDMtLjU1OCAxLjk3Ni0xLjA5IDIuOTY2LS42MTQgMS4xNDEtMS43NjUgMy4zODItMy4yNzQgMS43NjctMS4zNi0xLjQ1NC0xLjI1Ny00LjIzNS0xLjU2OC02LjA4Ni0uMTczLTEuMDQtLjM1Ni0yLjMzNC0uNjk3LTMuNDAyLS4yOTMtLjkyLS45NjYtMi4wMjctMS43ODgtMi4yNjctLjg4NC0uMjYtMS45NzYuMTQ2LTIuNjE4LjUyMy0yLjA0MiAxLjItMy41OTggMi45MDgtNS4zNjUgNC4zMTd2LjEzMmMuMzUuMzM1LjQ0NC44ODQuOTYuOTU5IDEuMjE2LjE3OSAyLjM3NS0xLjEzNCAzLjE4NC4yMzIuNDkyLjgzNC42NDUgMS43NDkuOTYgMi42NDguNDIgMS4xOTguNzQ2IDIuNTAzIDEuMDkgMy44OC41ODMgMi4zMzQgMS4yOTkgNS44MiAzLjMxNiA2LjY3NSAxLjAyOS40MzcgMi41NzUtLjE0OCAzLjM1OC0uNjEyIDIuMTIyLTEuMjU1IDMuNzc1LTMuMDc1IDUuMTktNC45MjcgMy4yMzQtNC4zODIgNS4wMTktOS4zNDcgNS4yODktMTAuNzY1IiBmaWxsPSIjRkZGRkZFIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMS45NzYgMTAuODg2Yy0uMDA3LS4wMzktLjAxNC0uMDc4LS4wMjQtLjExNmwtLjAyMi0uMDY2Yy0uMDEtLjAzNC0uMDIyLS4wNjgtLjAzNS0uMWwtLjAzLS4wNjdjLS4wMTUtLjAzMS0uMDMtLjA2Mi0uMDQ4LS4wOTItLjAxMi0uMDIyLS4wMjYtLjA0Mi0uMDM5LS4wNjMtLjAxOC0uMDI5LS4wMzctLjA1Ny0uMDU4LS4wODQtLjAxNS0uMDItLjAzLS4wNC0uMDQ3LS4wNTktLjAyMi0uMDI2LS4wNDUtLjA1LS4wNjgtLjA3NWwtLjA1NS0uMDUzYy0uMDI1LS4wMjMtLjA1MS0uMDQ1LS4wNzgtLjA2NS0uMDIxLS4wMTYtLjA0MS0uMDMzLS4wNjMtLjA0Ny0uMDA4LS4wMDYtLjAxNC0uMDEzLS4wMjMtLjAxOEwxNi43NjIuMjMxYy0uNDYxLS4zMDgtMS4wNjMtLjMwOC0xLjUyNSAwTC42MTIgOS45ODFsLS4wMjIuMDE3Yy0uMDIyLjAxNS0uMDQyLjAzMS0uMDYzLjA0Ny0uMDI3LjAyMS0uMDUzLjA0My0uMDc4LjA2NS0uMDE5LjAxNy0uMDM3LjAzNS0uMDU1LjA1NC0uMDI0LjAyNC0uMDQ2LjA0OC0uMDY4LjA3NC0uMDE3LjAyLS4wMzIuMDM5LS4wNDcuMDYtLjAyLjAyOC0uMDQuMDU1LS4wNTguMDg0bC0uMDQuMDY0Yy0uMDE3LjAzLS4wMzIuMDYtLjA0Ni4wOS0uMDEuMDIyLS4wMjIuMDQ1LS4wMy4wNjctLjAxNC4wMzMtLjAyNi4wNjctLjAzNi4xbC0uMDIyLjA2NWMtLjAxLjAzOC0uMDE3LjA3Ni0uMDI0LjExNS0uMDA0LjAyLS4wMDguMDQtLjAxLjA2LS4wMDkuMDYtLjAxMy4xMTktLjAxMy4xOHY5Ljc1MWMwIC4wNi4wMDQuMTIxLjAxMy4xOC4wMDMuMDIyLjAwOS4wMzkuMDEzLjA2LjAwNy4wMzguMDEzLjA3Ny4wMjYuMTE2bC4wMjEuMDY3Yy4wMTEuMDM0LjAyMi4wNjkuMDM1LjEuMDA5LjAyMi4wMjEuMDQzLjAzLjA2NS4wMTQuMDMuMDMuMDYuMDQ3LjA5Mi4wMTIuMDIxLjAyNi4wNDMuMDQuMDYyLjAxOC4wMy4wMzguMDU2LjA2LjA4Mi4wMTQuMDIyLjAzLjA0LjA0Ny4wNi4wMjIuMDI2LjA0My4wNTEuMDY5LjA3NC4wMTcuMDE4LjAzNC4wNC4wNTYuMDUybC4wNzcuMDY2Yy4wMjEuMDE3LjA0My4wMy4wNi4wNDYuMDA5LjAwNS4wMTQuMDEzLjAyMi4wMTdsMTQuNjIxIDkuNzU1Yy4yMzEuMTU1LjQ5Ni4yMzMuNzYzLjIzMi4yNjctLjAwMi41MzItLjA3OC43NjMtLjIzMmwxNC42MjUtOS43NS4wMjItLjAxNmMuMDIyLS4wMTUuMDQyLS4wMzEuMDYzLS4wNDcuMDI3LS4wMjEuMDUzLS4wNDMuMDc4LS4wNjZsLjA1NS0uMDUzYy4wMjQtLjAyNC4wNDctLjA0OS4wNjgtLjA3NS4wMTctLjAyLjAzMi0uMDM5LjA0Ny0uMDYuMDItLjAyNi4wNC0uMDU0LjA1OC0uMDgzLjAxNC0uMDIuMDI3LS4wNDIuMDQtLjA2My4wMTctLjAzLjAzMi0uMDYuMDQ3LS4wOTJsLjAzLS4wNjZjLjAxNC0uMDMzLjAyNS0uMDY3LjAzNS0uMS4wMDgtLjAyMy4wMTYtLjA0NS4wMjItLjA2Ny4wMS0uMDM4LjAxNy0uMDc3LjAyNC0uMTE2LjAwNC0uMDIuMDA5LS4wMzkuMDEtLjA2LjAwOS0uMDU5LjAxMy0uMTE4LjAxMy0uMTc5di05Ljc1YzAtLjA2LS4wMDUtLjEyLS4wMTItLjE4LS4wMDQtLjAyLS4wMS0uMDM4LS4wMTQtLjA2aC4wMDJ6TTE2IDE5LjI1M0wxMS4xMzcgMTYgMTYgMTIuNzQ3IDIwLjg2MyAxNiAxNiAxOS4yNTN6bS0xLjM3NS04Ljg5NWwtNS45NjIgMy45ODgtNC44MTItMy4yMiAxMC43NzQtNy4xODJ2Ni40MTR6TTYuMTkgMTZsLTMuNDQgMi4zVjEzLjdsMy40NCAyLjN6bTIuNDczIDEuNjU1bDUuOTYyIDMuOTg3djYuNDE0TDMuODUgMjAuODczbDQuODEyLTMuMjE5di4wMDF6bTguNzEyIDMuOTg2bDUuOTYxLTMuOTg3IDQuODEzIDMuMjItMTAuNzc0IDcuMTgxdi02LjQxNHptOC40MzQtNS42NGwzLjQ0LTIuMzAydjQuNjAyTDI1LjgxIDE2em0tMi40NzMtMS42NTVsLTUuOTYxLTMuOTg3VjMuOTQ0bDEwLjc3NCA3LjE4My00LjgxMyAzLjIxOXoiIGZpbGw9IiMwMDAiIGZpbGwtcnVsZT0ibm9uemVybyIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNiAuMDUzQzcuMTkuMDUzLjA0NyA3LjE5NC4wNDcgMTYuMDAzYzAgOC44MSA3LjE0MiAxNS45NTEgMTUuOTUxIDE1Ljk1MSA4LjgxIDAgMTUuOTUxLTcuMTQgMTUuOTUxLTE1Ljk1QzMxLjk1IDcuMTk0IDI0LjgxLjA1NCAxNiAuMDU0Vi4wNTN6bTcuMzE0IDIzLjAwNWMtLjI4NS40NjktLjg5OS42MTgtMS4zNjcuMzMtMy43NDUtMi4yODgtOC40Ni0yLjgwNi0xNC4wMTMtMS41MzctLjUzNS4xMjItMS4wNjgtLjIxMy0xLjE5LS43NDktLjEyMi0uNTM1LjIxMi0xLjA2OC43NDgtMS4xOSA2LjA3Ni0xLjM4OSAxMS4yODgtLjc5IDE1LjQ5MyAxLjc3OS40NjguMjg3LjYxNy44OTkuMzMgMS4zNjd6bTEuOTUzLTQuMzQzYy0uMzYuNTg1LTEuMTI2Ljc3LTEuNzEuNDEtNC4yODgtMi42MzYtMTAuODI0LTMuNC0xNS44OTYtMS44Ni0uNjU3LjE5OS0xLjM1Mi0uMTcyLTEuNTUyLS44MjgtLjE5OC0uNjU4LjE3My0xLjM1MS44My0xLjU1MSA1Ljc5My0xLjc1OCAxMi45OTQtLjkwNyAxNy45MTggMi4xMi41ODUuMzYuNzcgMS4xMjUuNDEgMS43MDl6bS4xNjctNC41MjNjLTUuMTQtMy4wNTQtMTMuNjIzLTMuMzM0LTE4LjUzMS0xLjg0NS0uNzg4LjI0LTEuNjIyLS4yMDUtMS44Ni0uOTk0LS4yNC0uNzg4LjIwNS0xLjYyMS45OTQtMS44NiA1LjYzNC0xLjcxMSAxNS4wMDEtMS4zOCAyMC45MiAyLjEzMy43MS40Mi45NDMgMS4zMzYuNTIyIDIuMDQ0LS40Mi43MS0xLjMzNy45NDMtMi4wNDQuNTIyeiIgZmlsbD0iIzFFRDc2MCIgZmlsbC1ydWxlPSJub256ZXJvIi8+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNS45MjQgOS45MjJjLS4yMzYgMC0uNDMuMTk0LS40MzQuNDMzbC0uMTc3IDguODY2LjE3OCAzLjIxOGMuMDAzLjIzNS4xOTcuNDMuNDMzLjQzcy40My0uMTk1LjQzMy0uNDMzdi4wMDRsLjE5My0zLjIxOS0uMTkzLTguODY3Yy0uMDAzLS4yMzgtLjE5Ny0uNDMyLS40MzMtLjQzMnptMTIuMTQgNS4xMDJjLS41NCAwLTEuMDU0LjExLTEuNTIyLjMwNkMyNi4yMjggMTEuNzgzIDIzLjI1NCA5IDE5LjYyNSA5Yy0uODg3IDAtMS43NTMuMTc1LTIuNTE3LjQ3LS4yOTguMTE1LS4zNzcuMjM0LS4zOC40NjN2MTIuNDkyYy4wMDQuMjQyLjE5LjQ0Mi40MjYuNDY2bDEwLjkxLjAwNmMyLjE3NCAwIDMuOTM2LTEuNzYyIDMuOTM2LTMuOTM2cy0xLjc2Mi0zLjkzNy0zLjkzNi0zLjkzN3pNMTAuODg2IDIyLjU2di0uMDAybC4yMjYtMy4zMzgtLjIyNi03LjI3NmMtLjAwNi0uMTgxLS4xNDgtLjMyMy0uMzI1LS4zMjMtLjE3NiAwLS4zMTkuMTQyLS4zMjQuMzIzbC0uMjAyIDcuMjc2LjIwMiAzLjM0Yy4wMDUuMTc4LjE0OC4zMi4zMjQuMzIuMTc3IDAgLjMxOC0uMTQyLjMyNS0uMzIxdi4wMDF6bS0yLjk1Mi4zMmMuMTQ0IDAgLjI2Mi0uMTE3LjI3LS4yNjdsLjI2NC0zLjM5NC0uMjY1LTYuNDk3Yy0uMDA3LS4xNS0uMTI1LS4yNjctLjI3LS4yNjctLjE0NCAwLS4yNjMuMTE3LS4yNjkuMjY3bC0uMjM0IDYuNDk3LjIzNCAzLjM5NWMuMDA2LjE0OS4xMjUuMjY2LjI3LjI2NnptNS4yOTctMTAuODY4Yy0uMjA5IDAtLjM3NS4xNjYtLjM4LjM3N2wtLjE2OSA2LjgzMi4xNyAzLjI4N2MuMDA0LjIxLjE3LjM3NS4zNzkuMzc1LjIwNyAwIC4zNzMtLjE2Ni4zNzgtLjM3N3YuMDAybC4xOS0zLjI4Ny0uMTktNi44MzJjLS4wMDUtLjIxMS0uMTctLjM3Ny0uMzc4LS4zNzd6TTIuODAyIDIyLjY1N2MuMDgzIDAgLjE1LS4wNjYuMTYtLjE1NmwuMzQtMy4yODYtLjM0LTMuNDFjLS4wMS0uMDkxLS4wNzctLjE1Ny0uMTYtLjE1Ny0uMDg0IDAtLjE1Mi4wNjYtLjE2LjE1N2wtLjI5OSAzLjQxLjI5OSAzLjI4NWMuMDA4LjA5MS4wNzYuMTU3LjE2LjE1N3ptMi41NDYuMTg4Yy4xMTMgMCAuMjA2LS4wOTIuMjE0LS4yMTJsLjMwMi0zLjQxOC0uMzAyLTMuMjVjLS4wMDgtLjEyLS4xLS4yMTEtLjIxNC0uMjExLS4xMTYgMC0uMjA4LjA5LS4yMTYuMjEybC0uMjY2IDMuMjUuMjY2IDMuNDE3Yy4wMDguMTIuMS4yMTIuMjE2LjIxMnptNi41NDMuMDNjLjE5MSAwIC4zNDYtLjE1NC4zNTEtLjM1di4wMDNsLjIwOS0zLjMwOS0uMjA5LTcuMDljLS4wMDUtLjE5Ni0uMTYtLjM1LS4zNTEtLjM1LS4xOTMgMC0uMzQ4LjE1NC0uMzUyLjM1bC0uMTg1IDcuMDkuMTg1IDMuMzA4Yy4wMDQuMTk0LjE1OS4zNDguMzUyLjM0OHptMi42OS4wMTNjLjIyIDAgLjQwMS0uMTgxLjQwNS0uNDA0di4wMDItLjAwMmwuMTcyLTMuMjYzLS4xNzItOC4xM2MtLjAwNC0uMjIzLS4xODYtLjQwNS0uNDA2LS40MDUtLjIyIDAtLjQwMy4xODItLjQwNi40MDVsLS4xNTMgOC4xMjcuMTUzIDMuMjY4Yy4wMDMuMjIuMTg2LjQwMi40MDYuNDAyem0tNS4zMzgtLjAxNmMuMTYgMCAuMjktLjEyOS4yOTYtLjI5NGwuMjQ2LTMuMzYtLjI0Ni03LjAzOWMtLjAwNi0uMTY1LS4xMzctLjI5NC0uMjk2LS4yOTQtLjE2MiAwLS4yOTIuMTMtLjI5Ny4yOTVsLS4yMTggNy4wMzguMjE4IDMuMzYxYy4wMDUuMTY0LjEzNS4yOTMuMjk3LjI5M3pNNC4wNyAxNS41MjdjLS4xIDAtLjE4LjA4LS4xODguMTg1TDMuNiAxOS4yMTVsLjI4MiAzLjM5Yy4wMDguMTA0LjA4OS4xODQuMTg4LjE4NC4wOTggMCAuMTc4LS4wOC4xODctLjE4NGwuMzItMy4zOS0uMzItMy41MDRjLS4wMDktLjEwNC0uMDktLjE4NC0uMTg3LS4xODR6bTIuNTY1LTEuODM3Yy0uMTI5IDAtLjIzNS4xMDUtLjI0Mi4yNGwtLjI1IDUuMjg3LjI1IDMuNDE3Yy4wMDcuMTMzLjExMy4yMzkuMjQyLjIzOXMuMjM1LS4xMDYuMjQzLS4yNHYuMDAxbC4yODMtMy40MTctLjI4My01LjI4OGMtLjAwOC0uMTM0LS4xMTQtLjI0LS4yNDMtLjI0em0tNC45NTcgMi42NWMtLjAxLS4wNzYtLjA2Ni0uMTI5LS4xMzMtLjEyOS0uMDY4IDAtLjEyNC4wNTUtLjEzMy4xM2wtLjMxNSAyLjg3My4zMTUgMi44MWMuMDEuMDc2LjA2NS4xMy4xMzMuMTMuMDY3IDAgLjEyMi0uMDUzLjEzMy0uMTI5bC4zNTgtMi44MS0uMzU4LTIuODc0em0tMS4zMTYuOTcyYy0uMDY3IDAtLjEyLjA1Mi0uMTI4LjEyNUwwIDE5LjIxNGwuMjM0IDEuNzQ3Yy4wMDkuMDc0LjA2MS4xMjUuMTI4LjEyNS4wNjUgMCAuMTE3LS4wNS4xMjgtLjEyNGwuMjc3LTEuNzQ4LS4yNzctMS43NzhjLS4wMS0uMDczLS4wNjMtLjEyNC0uMTI4LS4xMjR6IiBmaWxsPSIjRUU3QzI1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zMiAxNkMzMiAyNC44MzYxIDI0LjgzNjEgMzIgMTYgMzJDNy4xNjM5NCAzMiAwIDI0LjgzNjEgMCAxNkMwIDcuMTYzOTQgNy4xNjM5NCAwIDE2IDBDMjQuODM3OSAwIDMyIDcuMTYzOTQgMzIgMTZaIiBmaWxsPSIjMjA4MUUyIi8+CiAgICA8cGF0aCBkPSJNNy44OTM3MSAxNi41Mzc2TDcuOTYyNzQgMTYuNDI5MUwxMi4xMjUgOS45MTc4NEMxMi4xODU4IDkuODIyNTEgMTIuMzI4OCA5LjgzMjM2IDEyLjM3NDggOS45MzU5MkMxMy4wNzAyIDExLjQ5NDMgMTMuNjcwMiAxMy40MzI0IDEzLjM4OTEgMTQuNjM5QzEzLjI2OTEgMTUuMTM1NCAxMi45NDAzIDE1LjgwNzggMTIuNTcwNCAxNi40MjkxQzEyLjUyMjggMTYuNTE5NiAxMi40NzAyIDE2LjYwODMgMTIuNDE0MyAxNi42OTM4QzEyLjM4OCAxNi43MzMzIDEyLjM0MzYgMTYuNzU2MyAxMi4yOTU5IDE2Ljc1NjNIOC4wMTUzNEM3LjkwMDI3IDE2Ljc1NjMgNy44MzI4OCAxNi42MzEzIDcuODkzNzEgMTYuNTM3NloiIGZpbGw9IndoaXRlIi8+CiAgICA8cGF0aCBkPSJNMjYuNDQ2MSAxNy43NDc1VjE4Ljc3ODJDMjYuNDQ2MSAxOC44Mzc0IDI2LjQwOTkgMTguODkgMjYuMzU3MyAxOC45MTNDMjYuMDM1MSAxOS4wNTExIDI0LjkzMjEgMTkuNTU3NCAyNC40NzM0IDIwLjE5NTJDMjMuMzAzIDIxLjgyNDIgMjIuNDA4OCAyNC4xNTM2IDIwLjQwOTggMjQuMTUzNkgxMi4wNzA2QzkuMTE0OTUgMjQuMTUzNiA2LjcxOTg1IDIxLjc1MDMgNi43MTk4NSAxOC43ODQ4VjE4LjY4OTRDNi43MTk4NSAxOC42MTA1IDYuNzgzOTQgMTguNTQ2NCA2Ljg2Mjg2IDE4LjU0NjRIMTEuNTExN0MxMS42MDM3IDE4LjU0NjQgMTEuNjcxMSAxOC42MzE5IDExLjY2MjkgMTguNzIyM0MxMS42MyAxOS4wMjQ4IDExLjY4NTkgMTkuMzMzOCAxMS44Mjg5IDE5LjYxNDlDMTIuMTA1MSAyMC4xNzU1IDEyLjY3NzIgMjAuNTI1NiAxMy4yOTUyIDIwLjUyNTZIMTUuNTk2NlYxOC43Mjg5SDEzLjMyMTVDMTMuMjA0OCAxOC43Mjg5IDEzLjEzNTggMTguNTk0MSAxMy4yMDMyIDE4LjQ5ODdDMTMuMjI3OCAxOC40NjA5IDEzLjI1NTggMTguNDIxNSAxMy4yODU0IDE4LjM3NzFDMTMuNTAwNyAxOC4wNzE0IDEzLjgwODEgMTcuNTk2MyAxNC4xMTM5IDE3LjA1NTVDMTQuMzIyNyAxNi42OTA1IDE0LjUyNDggMTYuMzAwOSAxNC42ODc2IDE1LjkwOTdDMTQuNzIwNSAxNS44MzkgMTQuNzQ2OCAxNS43NjY2IDE0Ljc3MzEgMTUuNjk2QzE0LjgxNzQgMTUuNTcxIDE0Ljg2MzUgMTUuNDU0MyAxNC44OTY0IDE1LjMzNzZDMTQuOTI5MyAxNS4yMzkgMTQuOTU1NSAxNS4xMzU0IDE0Ljk4MTggMTUuMDM4NEMxNS4wNTkxIDE0LjcwNjQgMTUuMDkyIDE0LjM1NDYgMTUuMDkyIDEzLjk4OTdDMTUuMDkyIDEzLjg0NjcgMTUuMDg1NCAxMy42OTcgMTUuMDcyMyAxMy41NTRDMTUuMDY1NyAxMy4zOTc5IDE1LjA0NiAxMy4yNDE3IDE1LjAyNjIgMTMuMDg1NUMxNS4wMTMxIDEyLjk0NzQgMTQuOTg4NCAxMi44MTEgMTQuOTYyMSAxMi42NjhDMTQuOTI5MyAxMi40NTkyIDE0Ljg4MzIgMTIuMjUyMSAxNC44MzA2IDEyLjA0MzNMMTQuODEyNSAxMS45NjQ0QzE0Ljc3MzEgMTEuODIxNCAxNC43NDAyIDExLjY4NSAxNC42OTQyIDExLjU0MkMxNC41NjQzIDExLjA5MzIgMTQuNDE0NyAxMC42NTU5IDE0LjI1NjkgMTAuMjQ2NkMxNC4xOTk0IDEwLjA4MzkgMTQuMTMzNiA5LjkyNzcxIDE0LjA2NzggOS43NzE1NUMxMy45NzA5IDkuNTM2NDcgMTMuODcyMiA5LjMyMjc4IDEzLjc4MTggOS4xMjA1N0MxMy43MzU4IDkuMDI4NTEgMTMuNjk2NCA4Ljk0NDY3IDEzLjY1NjkgOC44NTkxOUMxMy42MTI1IDguNzYyMiAxMy41NjY1IDguNjY1MjEgMTMuNTIwNSA4LjU3MzE4QzEzLjQ4NzYgOC41MDI0OSAxMy40NDk4IDguNDM2NzMgMTMuNDIzNSA4LjM3MDk3TDEzLjE0MjQgNy44NTE1MUMxMy4xMDI5IDcuNzgwODMgMTMuMTY4NyA3LjY5Njk5IDEzLjI0NTkgNy43MTgzNkwxNS4wMDQ5IDguMTk1MDdIMTUuMDA5OEMxNS4wMTMxIDguMTk1MDcgMTUuMDE0NyA4LjE5NjczIDE1LjAxNjQgOC4xOTY3M0wxNS4yNDgxIDguMjYwODNMMTUuNTAzIDguMzMzMThMMTUuNTk2NiA4LjM1OTQ1VjcuMzEzOThDMTUuNTk2NiA2LjgwOTMxIDE2LjAwMSA2LjM5OTk5IDE2LjUwMDggNi4zOTk5OUMxNi43NTA2IDYuMzk5OTkgMTYuOTc3NSA2LjUwMTkxIDE3LjE0MDIgNi42Njc5M0MxNy4zMDMgNi44MzM5OCAxNy40MDQ5IDcuMDYwODMgMTcuNDA0OSA3LjMxMzk4VjguODY1NzlMMTcuNTkyMyA4LjkxODM2QzE3LjYwNzEgOC45MjMzMiAxNy42MjE5IDguOTI5ODggMTcuNjM1IDguOTM5NzRDMTcuNjgxMSA4Ljk3NDI3IDE3Ljc0NjggOS4wMjUyMSAxNy44MzA2IDkuMDg3NzFDMTcuODk2NCA5LjE0MDI4IDE3Ljk2NzEgOS4yMDQ0MSAxOC4wNTI2IDkuMjcwMTdDMTguMjIxOSA5LjQwNjU5IDE4LjQyNDEgOS41ODI0OSAxOC42NDYgOS43ODQ3QzE4LjcwNTIgOS44MzU2NCAxOC43NjI3IDkuODg4MjUgMTguODE1MyA5Ljk0MDg2QzE5LjEwMTQgMTAuMjA3MiAxOS40MjE5IDEwLjUxOTUgMTkuNzI3NyAxMC44NjQ3QzE5LjgxMzEgMTAuOTYxNyAxOS44OTcgMTEuMDYwMyAxOS45ODI0IDExLjE2MzlDMjAuMDY3OSAxMS4yNjkxIDIwLjE1ODMgMTEuMzcyNiAyMC4yMzcyIDExLjQ3NjJDMjAuMzQwOCAxMS42MTQzIDIwLjQ1MjYgMTEuNzU3MyAyMC41NDk2IDExLjkwNjlDMjAuNTk1NiAxMS45Nzc2IDIwLjY0ODIgMTIuMDQ5OSAyMC42OTI2IDEyLjEyMDZDMjAuODE3NSAxMi4zMDk2IDIwLjkyNzcgMTIuNTA1MyAyMS4wMzI5IDEyLjcwMDlDMjEuMDc3MyAxMi43OTEzIDIxLjEyMzMgMTIuODg5OSAyMS4xNjI3IDEyLjk4NjlDMjEuMjc5NCAxMy4yNDgzIDIxLjM3MTUgMTMuNTE0NiAyMS40MzA3IDEzLjc4MDlDMjEuNDQ4NyAxMy44Mzg0IDIxLjQ2MTkgMTMuOTAwOSAyMS40Njg1IDEzLjk1NjhWMTMuOTY5OUMyMS40ODgyIDE0LjA0ODggMjEuNDk0OCAxNC4xMzI3IDIxLjUwMTQgMTQuMjE4MUMyMS41Mjc3IDE0LjQ5MSAyMS41MTQ1IDE0Ljc2MzkgMjEuNDU1MyAxNS4wMzg0QzIxLjQzMDcgMTUuMTU1MiAyMS4zOTc4IDE1LjI2NTMgMjEuMzU4MyAxNS4zODJDMjEuMzE4OSAxNS40OTM4IDIxLjI3OTQgMTUuNjEwNSAyMS4yMjg1IDE1LjcyMDZDMjEuMTI5OSAxNS45NDkxIDIxLjAxMzEgMTYuMTc3NiAyMC44NzUgMTYuMzkxM0MyMC44MzA3IDE2LjQ3MDIgMjAuNzc4MSAxNi41NTQxIDIwLjcyNTQgMTYuNjMzQzIwLjY2NzkgMTYuNzE2OCAyMC42MDg3IDE2Ljc5NTcgMjAuNTU2MSAxNi44NzNDMjAuNDgzOCAxNi45NzE2IDIwLjQwNjYgMTcuMDc1MiAyMC4zMjc3IDE3LjE2NzJDMjAuMjU3IDE3LjI2NDIgMjAuMTg0NiAxNy4zNjEyIDIwLjEwNTcgMTcuNDQ2N0MxOS45OTU2IDE3LjU3NjUgMTkuODkwNCAxNy42OTk4IDE5Ljc4MDIgMTcuODE4MkMxOS43MTQ1IDE3Ljg5NTQgMTkuNjQzOCAxNy45NzQ0IDE5LjU3MTUgMTguMDQ1QzE5LjUwMDggMTguMTIzOSAxOS40Mjg1IDE4LjE5NDYgMTkuMzYyNyAxOC4yNjA0QzE5LjI1MjYgMTguMzcwNSAxOS4xNjA1IDE4LjQ1NiAxOS4wODMyIDE4LjUyNjdMMTguOTAyNCAxOC42OTI3QzE4Ljg3NjEgMTguNzE1NyAxOC44NDE2IDE4LjcyODkgMTguODA1NCAxOC43Mjg5SDE3LjQwNDlWMjAuNTI1NkgxOS4xNjcxQzE5LjU2MTYgMjAuNTI1NiAxOS45MzY0IDIwLjM4NTkgMjAuMjM4OSAyMC4xMjk0QzIwLjM0MjQgMjAuMDM5IDIwLjc5NDUgMTkuNjQ3OCAyMS4zMjg3IDE5LjA1NzdDMjEuMzQ2OCAxOS4wMzc5IDIxLjM2OTkgMTkuMDIzMSAyMS4zOTYyIDE5LjAxNjZMMjYuMjYzNiAxNy42MDk0QzI2LjM1NCAxNy41ODMxIDI2LjQ0NjEgMTcuNjUyMiAyNi40NDYxIDE3Ljc0NzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHJlY3QgZmlsbD0iI2ZiMmQ4ZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiByeD0iMi41Ii8+CiAgICAgICAgPHBhdGggZD0iTTEyIDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTE4IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6TTI0IDE2YzAgMS4zMzMtLjY2NyAyLTIgMnMtMi0uNjY3LTItMiAuNjY3LTIgMi0yIDIgLjY2NyAyIDJ6IiBmaWxsPSIjRkZGIi8+CiAgICA8L2c+Cjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkYXRhLXNlbGVjdG9yPSJiZyIgZD0iTTIgMjRoMTNsOS05VjJhMiAyIDAgMDAtMi0ySDJhMiAyIDAgMDAtMiAydjIwYTIgMiAwIDAwMiAyeiIgZmlsbD0iI0YwRjZGOSIvPgogICAgPHJlY3QgZGF0YS1zZWxlY3Rvcj0iYmxvY2siIHg9IjUuMjUiIHk9IjQuNSIgd2lkdGg9IjEzLjUiIGhlaWdodD0iNC41IiByeD0iMSIgZmlsbD0iIzczOEE5NCIvPgogICAgPHBhdGggZGF0YS1zZWxlY3Rvcj0iZm9sZCIgZD0iTTE1IDE2djhsOS05aC04YTEgMSAwIDAwLTEgMXoiIGZpbGw9IiNEQUU4RjEiLz4KICAgIDxyZWN0IGRhdGEtc2VsZWN0b3I9ImxpbmUiIHg9IjUuMjUiIHk9IjExLjI1IiB3aWR0aD0iOC4yNSIgaGVpZ2h0PSIxLjUiIHJ4PSIuNzUiIGZpbGw9IiM3MzhBOTQiLz4KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTM0IiBoZWlnaHQ9IjEzNSIgdmlld0JveD0iMCAwIDEzNCAxMzUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2U9IiM5QkFFQjgiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8cGF0aCBkPSJNMzUuNDM0IDkuMTZDNDQuODcgMy45OTQgNTUuNjk0IDEuMDU1IDY3LjIgMS4wNTVjMzYuNTgzIDAgNjYuMjg0IDI5LjcwMiA2Ni4yODQgNjYuMjg1IDAgMzYuNTgyLTI5LjcgNjYuMjgzLTY2LjI4NCA2Ni4yODMtMzYuNTgzIDAtNjYuMjg0LTI5LjctNjYuMjg0LTY2LjI4MyAwLTEyLjIyIDMuMzE0LTIzLjY3MiA5LjA5Mi0zMy41MDYiLz4KICAgICAgICA8cGF0aCBkPSJNMjQuMDEgNC44ODZjOS44NDYgMCAxNy44NCA3Ljk5NSAxNy44NCAxNy44NCAwIDkuODQ3LTcuOTk0IDE3Ljg0LTE3Ljg0IDE3Ljg0UzYuMTcgMzIuNTc0IDYuMTcgMjIuNzI3YzAtOS44NDUgNy45OTQtMTcuODQgMTcuODQtMTcuODR6IiBzdHJva2Utd2lkdGg9IjEuNSIvPgogICAgICAgIDxwYXRoIGQ9Ik0xLjU5OCA3NS42OGw3LjAxLTcuOTM4IDIwLjM4NC03LjcyOSA4LjAyMSAxMS4xOTZNMjYuOTgyIDg2LjYwNmwyNy44ODEtNDEuNTcxIDE0LjY5Mi0yLjAyNSAxMi4yNDMtMTIuMjQ2IDIwLjk0IDMyLjAwNk05Ny4xMTcgNTQuMDYzbDEzLjEyNS0xNS4zODYgMTAuMjI2IDE2Ljg5MiAxMi42MTcgNi40ODEiLz4KICAgICAgICA8cGF0aCBkPSJNODEuNzAxIDMxLjUxM2wtNC41NjcgMTYuNDE0TDYzLjIgNTAuMTY4bC04LjA0NC00Ljc5OU0yOC45MDYgNjAuNDI2bC0xMC4wNTIgOS40LTE2LjQ2IDkuNzVNMTEwLjI2NCAzOS40NjZsLTQuMzUyIDE0LjM5Ny02LjgxMyAzLjMzNU00LjI5IDcyLjk1NGg5LjA2TTEuNzcgNzYuMTQ2SDcuOU02LjkxMyA2OS44OTJIMTguNE01OC43ODYgNDcuMTQ1aDE4LjU5Mk02MS40NzIgNDQuMTk4aDE2LjY3Mk03MS41MiA0MS4xNDhoNy4xNzlNNzQuOTAyIDM4LjE5NGg0Ljg4TTc3LjI4OCAzNS4zMDNoMi45NTdNMTEuMDg1IDY2Ljg3M2gxMC40ODFNMTguODYzIDYzLjg1Mmg2LjI5MU02My4yNzMgNTAuMjY4bDEyLjA0NSA5LjM0IDEwLjM5IDMuNDA3IDQuNjI5IDcuMzE2TTk3LjUwNiA1NC4xMDZoNy4zMU0xMDAuMDA4IDUwLjkzM2g2LjQ4Nk0xMDIuNDY3IDQ3Ljg0OGg0Ljk1Mk0xMDUuMjgzIDQ0Ljc3N2gzLjM1NE0zLjIxNiA4My40MDVzMTMuODU0LS42NjkgMjcuMjE5IDQuOTg4YzEzLjM2NCA1LjY1NyAyMy40NzEgMTIuMTM3IDIzLjQ3MSAxMi4xMzdNNDcuNTYzIDk1Ljk1NFM2NC4zOSA4NC4wMjUgOTAuNTQ5IDgyLjI2N2MyNi4xNTgtMS43NiA0MS4wMy42NTIgNDEuMDMuNjUyIi8+CiAgICAgICAgPGcgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTA2LjQ4NCA4OC41NDFWNTguMjAyTTEwNi4zNDggNTguNDA3cy0zLjMyNSA1LjEwNS02LjQ0NiA2LjQ0Nk0xMDYuMzQ4IDYzLjc1MnMtMy4zMjUgNS4xMDQtNi40NDYgNi40NDVNMTA2LjMxNiA2OC41ODZzLTQuMzM0IDUuOTYtOC40MDMgNy41MjZNMTA2LjI5MSA3NC4xMjdzLTUuMDkgNS45Ni05Ljg2OSA3LjUyNk0xMDYuNTU4IDU4LjQwN3MzLjMyNSA1LjEwNSA2LjQ0NiA2LjQ0Nk0xMDYuNTU4IDYzLjc1MnMzLjMyNSA1LjEwNCA2LjQ0NiA2LjQ0NU0xMDYuNTkgNjguNTg2czQuMzM0IDUuOTYgOC40MDMgNy41MjZNMTA2LjYxNCA3NC4xMjdzNS4wOSA1Ljk2IDkuODcgNy41MjZNODQuNjM1IDEwNi41ODJWNzcuNTI2TTg0LjUwNCA3Ny43MjNzLTMuMTg0IDQuODg4LTYuMTcyIDYuMTczTTg0LjUwNCA4Mi44NDFzLTMuMTg0IDQuODg4LTYuMTcyIDYuMTczTTg0LjQ3NCA4Ny40N3MtNC4xNTEgNS43MDktOC4wNDcgNy4yMDlNODQuNDUgOTIuNzc3Uzc5LjU3NyA5OC40ODUgNzUgOTkuOTg1TTg0LjcwNiA3Ny43MjNzMy4xODMgNC44ODggNi4xNzMgNi4xNzNNODQuNzA2IDgyLjg0MXMzLjE4MyA0Ljg4OCA2LjE3MyA2LjE3M004NC43MzcgODcuNDdzNC4xNSA1LjcwOSA4LjA0NyA3LjIwOU04NC43NiA5Mi43NzdzNC44NzUgNS43MDggOS40NTIgNy4yMDhNMjUuOTU2IDExOC43NjRWOTguNTY2TTI1LjgyOSA5OC43NThzLTMuMTEgNC43NzQtNi4wMjggNi4wMjhNMjUuODI5IDEwMy43NTZzLTMuMTEgNC43NzQtNi4wMjggNi4wMjhNMjUuNzk5IDEwOC4yNzdzLTIuNSAzLjQzOC01LjQxNiA1LjYyM00yNS43NzYgMTEzLjQ1OXMtMS4xMyAxLjMyMy0yLjgwNSAyLjg0OU0yNi4wMjUgOTguNzU4czMuMTEgNC43NzQgNi4wMjggNi4wMjhNMjYuMDI1IDEwMy43NTZzMy4xMSA0Ljc3NCA2LjAyOCA2LjAyOE0yNi4wNTUgMTA4LjI3N3M0LjA1MyA1LjU3NCA3Ljg1OCA3LjAzOU0yNi4wNzggMTEzLjQ1OXM0Ljc2IDUuNTc0IDkuMjMgNy4wMzlNNjYuNzY1IDEzMy41NDN2LTMwLjA3NE0xMDQuODUgMTIxLjA5OFYxMDkuODhNMTA0LjcyMiAxMTAuMDcycy0zLjExIDQuNzc0LTYuMDI4IDYuMDI4TTEwNC43MjIgMTE1LjA3cy0zLjExIDQuNzc0LTYuMDI4IDYuMDI4TTEwNC42OTIgMTE5LjU5MXMtNC4wNTMgNS41NzUtNy44NTggNy4wNE0xMDQuOTE5IDExMC4wNzJzMy4xMDkgNC43NzQgNi4wMjggNi4wMjhNMTA0LjkxOSAxMTUuMDdzMS40MzYgMi4yMDUgMy4yNzIgNC4wMTJNMTA0Ljk0OSAxMTkuNTkxcy4zOS41MzggMS4wNDQgMS4zMjRNNjYuNTgzIDEwMy43NDRzLTQuNDQ4IDYuODI4LTguNjIzIDguNjIzTTY2LjU4MyAxMTAuODk0cy00LjQ0OCA2LjgyOC04LjYyMyA4LjYyMk02Ni41NCAxMTcuMzZzLTUuNzk4IDcuOTc1LTExLjI0IDEwLjA3TTY2LjUwOCAxMjQuNzczcy00LjEzIDQuODM3LTguOTc4IDcuOTY2TTY2Ljg2NSAxMDMuNzQ0czQuNDQ3IDYuODI4IDguNjIyIDguNjIzTTY2Ljg2NSAxMTAuODk0czQuNDQ3IDYuODI4IDguNjIyIDguNjIyTTY2LjkwNyAxMTcuMzZzNS43OTggNy45NzUgMTEuMjQxIDEwLjA3TTY2Ljk0IDEyNC43NzNzMy45NjggNC42NDcgOC42OSA3Ljc3OE02MC43IDg4LjkxMlY3Ny4wMTZNNjAuNjE3IDc2LjE3OHMtMi4wNCAzLjEzNC0zLjk1NyAzLjk1N002MC42MTcgODAuNDIzcy0yLjA0IDMuMTMzLTMuOTU3IDMuOTU3TTYwLjU5OCA4NC4zNTVzLTIuNjYgMy42NTgtNS4xNTggNC42Mk02MC43NDYgNzYuMTc4czIuMDQxIDMuMTM0IDMuOTU3IDMuOTU3TTYwLjc0NiA4MC40MjNzMi4wNDEgMy4xMzMgMy45NTcgMy45NTdNNjAuNzY2IDg0LjM1NXMuODkgMS45OCAyLjg2IDMuNDA4TTM5LjM5NCA5OC4wNzJWNzUuMzg4TTM5LjI5MiA3NS41NDJzLTIuNDg1IDMuODE2LTQuODE5IDQuODE5TTM5LjI5MiA3OS41MzhzLTIuNDg1IDMuODE2LTQuODE5IDQuODE5TTM5LjI2OCA4My4xNTJzLTMuMjQgNC40NTYtNi4yODIgNS42MjdNMzkuMjUgODcuMjk1cy0zLjgwNiA0LjQ1Ni03LjM3OSA1LjYyN00zOS40NSA3NS41NDJzMi40ODUgMy44MTYgNC44MTkgNC44MTlNMzkuNDUgNzkuNTM4czIuNDg1IDMuODE2IDQuODE5IDQuODE5TTM5LjQ3NCA4My4xNTJzMy4yNCA0LjQ1NiA2LjI4MiA1LjYyN00zOS40OTEgODcuMjk1czMuODA3IDQuNDU2IDcuMzggNS42MjciLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgb3BhY2l0eT0iLjYiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTUuMzQ3IDg4LjA3M2gzLjI4Nk0xNS4zNDcgMTAyLjMxNGgzLjI4Nk03Ljc0NyA5NS42NzRoMy4yODVNMzMuMTAyIDEwMi40MjZoMS41ODhNMjMuODAzIDk1Ljc4NWgzLjI4Nk00Ny40NiAxMTcuNDk2aDMuMjg2TTQ3LjQ2IDEwMi41MzdoMy4yODZNMzkuODYgMTI1LjA5N2gzLjI4Nk01NC4zMiAxMjUuMDk3aC45NjRNNTQuMzIgMTA5LjY3M2guOTY0TTM5Ljg2IDExMC4xMzhoMy4yODZNNjMuNTE3IDEwMi42NDhoLjk2NE01NS45MTYgOTYuMDA4aDMuMjg2TTc5LjU3NCAxMTcuNzJoMy4yODVNNzEuOTczIDk2LjEyaDEuNjQzTTk1LjYzIDg4LjYzaDMuMjg2TTk1LjYzIDExNy44M2gzLjI4Nk05NS42MyAxMDIuODcxaDMuMjg2TTg4LjAzIDEyNS40MzFoMy4yODVNODguMDMgMTEwLjQ3MmgzLjI4NU0xMTEuNjg2IDg4Ljc0MWgzLjI4Nk0xMTEuNjg2IDEwMi45ODNoMy4yODZNMTA0LjA4NiA5Ni4zNDJoMy4yODZNMTA0LjA4NiAxMTAuNTgzaDMuMjg2TTEyNy43NDMgODguODUzaDIuMTAyTTEyMC4xNDIgOTYuNDUzaDMuMjg3Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQyIiBoZWlnaHQ9IjEzMyIgdmlld0JveD0iMCAwIDE0MiAxMzMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHRpdGxlPmdhbGxlcnktcGxhY2Vob2xkZXI8L3RpdGxlPgogIDxnIHN0cm9rZT0iIzlCQUVCOCIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgPHBhdGggZD0iTTExNi41NjQgNi43MzFhNi4yMTUgNi4yMTUgMCAwIDAtNi44MzEtNS41MzJMNi43MzEgMTIuMDI1YTYuMjE2IDYuMjE2IDAgMCAwLTUuNTMyIDYuODMxbDExLjI0NCAxMDYuOThhNi4yMTcgNi4yMTcgMCAwIDAgNi44MzEgNS41MzJsMTAzLjAwMi0xMC44MjZhNi4yMTUgNi4yMTUgMCAwIDAgNS41MzItNi44MzFMMTE2LjU2NCA2LjczeiIvPgogICAgPHBhdGggZD0iTTEwOS4yMiAxMy4zOThhNC4wMDMgNC4wMDMgMCAwIDAtNC4zOTctMy41NjFMMTMuMzMgMTkuNDUzYTQuMDA1IDQuMDA1IDAgMCAwLTMuNTYyIDQuMzk4bDkuMTkgODcuNDQgOTkuNDUzLTEwLjQ1My05LjE5MS04Ny40NHpNMTcuMTY4IDk0LjI1bDMyLjU1LTMuNDJNODQuMSA4Ny4yMTZsMzIuNTItMy40MTgiLz4KICAgIDxnIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgPHBhdGggZD0iTTU5LjA0MyA5OC41OWMtOS4zIDEuMDQtNi4zODItMTItMTkuMzE0LTE2LjYxOWw1Mi4yNjktNS40OTNjLTExLjY4OSA3LjIwNS02LjEyMyAxOS4zNTUtMTUuNDM3IDIwLjI3bC0xNy41MTggMS44NDF6bTYuODIxLTE5LjM2NUM2Mi43MzggNzEuMTYzIDU4LjUwOCA2NS40MDcgNTIuNyA2Mi45NW0xMy4xNjQgMTYuMjc1Yy0yLjIyNy0xMy4zMzItMS4wNjEtMjMuNjkgOC4wNzgtMzIuMTIxIi8+CiAgICAgIDxwYXRoIGQ9Ik03NC43NTggNjYuNDM0Yy42MjcgMy4wNDEuMDc3IDUuODEtMS42NDggOC4zMDYtMS43MjUgMi40OTYtNC4xMiAzLjk4OS03LjE4NiA0LjQ3OC0uNjI2LTMuMDQtLjA3Ni01LjgwOSAxLjY0OS04LjMwNSAxLjcyNC0yLjQ5NiA0LjEyLTMuOTg5IDcuMTg1LTQuNDc5em0tMTIuMTc0LTIxLjFjMi4xOTggMSAzLjY4NiAyLjYxNSA0LjQ2NCA0Ljg0NC43NzggMi4yMjguNjE4IDQuNDE4LS40OCA2LjU3LTIuMTk4LTEuMDAxLTMuNjg2LTIuNjE2LTQuNDY0LTQuODQ0LS43NzgtMi4yMjktLjYxOC00LjQxOS40OC02LjU3em0yOS4xOTEuNjQzYy0yLjMxMiAyLjYwNC01LjIwNSA0LjAxLTguNjggNC4yMTctMy40NzcuMjA3LTYuNTE3LS44NDUtOS4xMi0zLjE1Ni0yLjYwNS0yLjMxMi00LjAxLTUuMjA1LTQuMjE4LTguNjgtLjIwNy0zLjQ3Ni44NDUtNi41MTYgMy4xNTYtOS4xMjFsNi41NzYtNy40MDljLjY1OC0uNzQxIDEuMjQ0LS41MzkgMS4zMDMuNDVsLjQyNCA3LjEwMyA3LjEtLjQyMmMxLjItLjA3MiAxLjgzNC40OTIgMS45MDYgMS42OWwuNDI0IDcuMTAxIDcuMTAxLS40MjJjLjk5LS4wNTkgMS4yNi41LjYwMiAxLjI0bC02LjU3NSA3LjQwOXptLTQyLjM5IDMuODg4YzIuMjQ5IDEuNDA0IDMuNjcyIDMuMzk4IDQuMjcgNS45ODIuNTk3IDIuNTgzLjE5NCA1LTEuMjEgNy4yNDktMS40MDUgMi4yNS0zLjQgMy42NzMtNS45ODMgNC4yNy0yLjU4My41OTctNSAuMTk0LTcuMjQ5LTEuMjFsLTYuNC0zLjk5N2MtLjY0LS40LS41NjMtLjg2NS4xNzMtMS4wMzVsNS4yOC0xLjIyLTEuMjItNS4yOGMtLjIwNi0uODkuMTM2LTEuNDM5IDEuMDI3LTEuNjQ1bDUuMjc4LTEuMjIxLTEuMjItNS4yNzljLS4xNy0uNzM1LjIxNS0xLjAxLjg1NS0uNjFsNi4zOTkgMy45OTZ6Ii8+CiAgICA8L2c+CiAgICA8cGF0aCBkPSJtMjAuNjk4IDk4LjA0NyA0LjkzMy0uNTE5bTQuOTI0LS41MTggNC45MzMtLjUxOG00LjkyNS0uNTE3IDQuOTMzLS41MTlNODkuNyA5MC43OTRsNC45MzQtLjUxOG00LjkyNC0uNTE4IDQuOTMzLS41MThtNC45MjUtLjUxOCA0LjkzMy0uNTE4TTIxLjY1IDEwNy4xMDZsNC45MzMtLjUxOG00LjkyNS0uNTE4IDQuOTMzLS41MThtNC45MjQtLjUxOCA0LjkzMy0uNTE4bTQuOTI1LS41MTggNC45MzMtLjUxOG00LjkyNC0uNTE4IDQuOTMzLS41MThtNC45MjUtLjUxOCA0LjkzMy0uNTE4bTQuOTI0LS41MTggNC45MzMtLjUxOW00LjkyNS0uNTE3IDQuOTMzLS41MTltNC45MjQtLjUxNyA0LjkzMy0uNTE5bTQuOTI1LS41MTcgNC45MzMtLjUxOW0tOTcuMjI2IDUuNjE3IDMuMDYxLS4zMjJtNC45MjQtLjUxOCA0LjkzNC0uNTE4bTQuOTI0LS41MTcgNC45MzMtLjUxOW00LjkyNS0uNTE3IDQuOTMzLS41MTltMzQuNDk3LTMuNjI2IDQuOTMzLS41MThtNC45MjQtLjUxOCA0LjkzMy0uNTE4bTQuOTI1LS41MTggNC45MzMtLjUxOG00LjkyNS0uNTE4IDIuNzQ4LS4yODltLTUzLjAyMyAzNC4xNTZjMTkuNDY3IDEuMzYyIDUzLjA2NiA0LjM0MyA2Mi40ODIgNWE2LjIxNSA2LjIxNSAwIDAgMCA2LjYzNC01Ljc2Nmw3LjUwMy0xMDcuMzA3YTYuMjE1IDYuMjE1IDAgMCAwLTUuNzY2LTYuNjM0Yy01LjM5OC0uMzc3LTE4LjI4OS0xLjIyNC0xOC4yODktMS4yMjQiIG9wYWNpdHk9Ii42Ii8+CiAgPC9nPgo8L3N2Zz4=\"","/**\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, {useState} from 'react';\nimport '../styles/index.css';\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 LinkIcon} from '../assets/icons/kg-link.svg';\nimport {ReactComponent as QuoteIcon} from '../assets/icons/kg-quote.svg';\nimport {ReactComponent as ImgRegularIcon} from '../assets/icons/kg-img-regular.svg';\nimport {ReactComponent as ImgWideIcon} from '../assets/icons/kg-img-wide.svg';\nimport {ReactComponent as ImgFullIcon} from '../assets/icons/kg-img-full.svg';\nimport {ReactComponent as ReplaceIcon} from '../assets/icons/kg-replace.svg';\nimport {ReactComponent as AddIcon} from '../assets/icons/kg-add.svg';\nimport {ReactComponent as SnippetIcon} from '../assets/icons/kg-snippet.svg';\nimport {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport {ReactComponent as MarkdownCardIcon} from '../assets/icons/kg-card-type-markdown.svg';\nimport {ReactComponent as HtmlCardIcon} from '../assets/icons/kg-card-type-html.svg';\nimport {ReactComponent as GalleryCardIcon} from '../assets/icons/kg-card-type-gallery.svg';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\nimport {ReactComponent as BookmarkCardIcon} from '../assets/icons/kg-card-type-bookmark.svg';\nimport {ReactComponent as EmailCardIcon} from '../assets/icons/kg-card-type-email.svg';\nimport {ReactComponent as EmailCtaCardIcon} from '../assets/icons/kg-card-type-email-cta.svg';\nimport {ReactComponent as PreviewCardIcon} from '../assets/icons/kg-card-type-preview.svg';\nimport {ReactComponent as ButtonCardIcon} from '../assets/icons/kg-card-type-button.svg';\nimport {ReactComponent as CalloutCardIcon} from '../assets/icons/kg-card-type-callout.svg';\nimport {ReactComponent as GifCardIcon} from '../assets/icons/kg-card-type-gif.svg';\nimport {ReactComponent as ToggleCardIcon} from '../assets/icons/kg-card-type-toggle.svg';\nimport {ReactComponent as VideoCardIcon} from '../assets/icons/kg-card-type-video.svg';\nimport {ReactComponent as AudioCardIcon} from '../assets/icons/kg-card-type-audio.svg';\nimport {ReactComponent as FileCardIcon} from '../assets/icons/kg-card-type-file.svg';\nimport {ReactComponent as ProductCardIcon} from '../assets/icons/kg-card-type-product.svg';\nimport {ReactComponent as HeaderCardIcon} from '../assets/icons/kg-card-type-header.svg';\nimport {ReactComponent as YoutubeCardIcon} from '../assets/icons/kg-card-type-youtube.svg';\nimport {ReactComponent as TwitterCardIcon} from '../assets/icons/kg-card-type-twitter.svg';\nimport {ReactComponent as UnsplashCardIcon} from '../assets/icons/kg-card-type-unsplash.svg';\nimport {ReactComponent as VimeoCardIcon} from '../assets/icons/kg-card-type-vimeo.svg';\nimport {ReactComponent as CodepenCardIcon} from '../assets/icons/kg-card-type-codepen.svg';\nimport {ReactComponent as SpotifyCardIcon} from '../assets/icons/kg-card-type-spotify.svg';\nimport {ReactComponent as SoundcloudCardIcon} from '../assets/icons/kg-card-type-soundcloud.svg';\nimport {ReactComponent as NftCardIcon} from '../assets/icons/kg-card-type-nft.svg';\nimport {ReactComponent as OtherCardIcon} from '../assets/icons/kg-card-type-other.svg';\nimport {ReactComponent as SnippetCardIcon} from '../assets/icons/kg-card-type-snippet.svg';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {ReactComponent as GalleryPlaceholderIcon} from '../assets/icons/kg-gallery-placeholder.svg';\n\nconst DesignSandbox = () => {\n return (\n <div className=\"koenig-lexical\">\n <ComponentTitle label=\"Text toolbar\" />\n <TextToolbar />\n\n <ComponentTitle label=\"Image toolbar\" />\n <ImageToolbar />\n\n <ComponentTitle label=\"Gallery toolbar\" />\n <GalleryToolbar />\n\n <ComponentTitle label=\"Plus menu\" />\n <PlusButton />\n\n <ComponentTitle label=\"Card menu\" />\n <CardMenu />\n\n <ComponentTitle label=\"Divider card\" />\n <div className=\"relative max-w-[740px]\">\n <DividerCard />\n </div>\n\n <ComponentTitle label=\"Code block\" />\n <div className=\"relative max-w-[740px]\">\n <CodeBlock />\n </div>\n\n <ComponentTitle label=\"Image card\" />\n <div className=\"relative max-w-[740px]\">\n <ImageCard />\n </div>\n\n <ComponentTitle label=\"Gallery card\" />\n <div className=\"relative max-w-[1172px]\">\n <GalleryCard />\n </div>\n </div>\n );\n\n /* Component title\n /* ---------------------------------------------------------- */\n\n function ComponentTitle({label}) {\n return (\n <h3 className=\"mb-4 mt-20 text-xl font-bold first-of-type:mt-8\" >\n {label}\n </h3>\n );\n }\n\n /* Floating toolbar\n /* ---------------------------------------------------------- */\n\n function TextToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Format text as bold\" Icon={BoldIcon} />\n <ToolbarItem label=\"Format text as italics\" Icon={ItalicIcon} />\n <ToolbarItem label=\"Toggle heading 1\" Icon={HeadingOneIcon} />\n <ToolbarItem label=\"Toggle heading 2\" Icon={HeadingTwoIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Toggle blockquote\" Icon={QuoteIcon} />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ImageToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Set image to regular\" Icon={ImgRegularIcon} />\n <ToolbarItem label=\"Set image to wide\" Icon={ImgWideIcon} />\n <ToolbarItem label=\"Set image to full\" Icon={ImgFullIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Insert link\" Icon={LinkIcon} />\n <ToolbarItem label=\"Replace image\" Icon={ReplaceIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function GalleryToolbar() {\n return (\n <div className=\"max-w-fit\">\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\">\n <ToolbarItem label=\"Add image\" Icon={AddIcon} />\n <ToolbarSeparator />\n <ToolbarItem label=\"Save as snippet\" Icon={SnippetIcon} />\n </ul>\n </div> \n );\n }\n\n function ToolbarItem({label, Icon, ...props}) {\n return (\n <li className=\"m-0 flex p-0 first:m-0\" {...props}>\n <div\n type=\"button\"\n className=\"flex h-9 w-9 items-center justify-center\"\n >\n <Icon className=\"fill-white\" />\n </div>\n </li>\n );\n }\n \n function ToolbarSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n }\n\n /* Plus button\n /* ---------------------------------------------------------- */\n\n function PlusButton() {\n return (\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n );\n }\n\n /* Card menu\n /* ---------------------------------------------------------- */\n\n function CardMenu() {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 text-sm shadow\">\n <CardMenuSection label=\"Primary\" />\n <CardMenuItem label=\"Image\" desc=\"Upload, or embed with /image [url]\" Icon={ImageCardIcon} />\n <CardMenuItem label=\"Markdown\" desc=\"Insert a Markdown editor card\" Icon={MarkdownCardIcon} />\n <CardMenuItem label=\"HTML\" desc=\"Insert a raw HTML card\" Icon={HtmlCardIcon} />\n <CardMenuItem label=\"Gallery\" desc=\"Create an image gallery\" Icon={GalleryCardIcon} />\n <CardMenuItem label=\"Divider\" desc=\"Insert a dividing line\" Icon={DividerCardIcon} />\n <CardMenuItem label=\"Bookmark\" desc=\"Embed a link as a visual bookmark\" Icon={BookmarkCardIcon} />\n <CardMenuItem label=\"Email content\" desc=\"Only visible when delivered by email\" Icon={EmailCardIcon} />\n <CardMenuItem label=\"Email call to action\" desc=\"Target free or paid members with a CTA\" Icon={EmailCtaCardIcon} />\n <CardMenuItem label=\"Public preview\" desc=\"Attract signups with a public intro\" Icon={PreviewCardIcon} />\n <CardMenuItem label=\"Button\" desc=\"Add a button to your post\" Icon={ButtonCardIcon} />\n <CardMenuItem label=\"Callout\" desc=\"Info boxes that stand out\" Icon={CalloutCardIcon} />\n <CardMenuItem label=\"GIF\" desc=\"Search and embed gifs\" Icon={GifCardIcon} />\n <CardMenuItem label=\"Toggle\" desc=\"Add collapsible content\" Icon={ToggleCardIcon} />\n <CardMenuItem label=\"Video\" desc=\"Upload and play a video\" Icon={VideoCardIcon} />\n <CardMenuItem label=\"Audio\" desc=\"Upload and play an audio file\" Icon={AudioCardIcon} />\n <CardMenuItem label=\"File\" desc=\"Upload a downloadable file\" Icon={FileCardIcon} />\n <CardMenuItem label=\"Product\" desc=\"Add a product recommendation\" Icon={ProductCardIcon} />\n <CardMenuItem label=\"Header\" desc=\"Add a bold section header\" Icon={HeaderCardIcon} />\n <CardMenuSection label=\"Embed\" />\n <CardMenuItem label=\"YouTube\" desc=\"/youtube [video url]\" Icon={YoutubeCardIcon} />\n <CardMenuItem label=\"Twitter\" desc=\"/twitter [tweet url]\" Icon={TwitterCardIcon} />\n <CardMenuItem label=\"Unsplash\" desc=\"/unsplash [search-term or url]\" Icon={UnsplashCardIcon} />\n <CardMenuItem label=\"Vimeo\" desc=\"/vimeo [video url]\" Icon={VimeoCardIcon} />\n <CardMenuItem label=\"CodePen\" desc=\"/codepen [pen url]\" Icon={CodepenCardIcon} />\n <CardMenuItem label=\"Spotify\" desc=\"/spotify [track or playlist url]\" Icon={SpotifyCardIcon} />\n <CardMenuItem label=\"SoundCloud\" desc=\"/soundcloud [track or playlist url]\" Icon={SoundcloudCardIcon} />\n <CardMenuItem label=\"NFT\" desc=\"/nft [opensea url]\" Icon={NftCardIcon} />\n <CardMenuItem label=\"Other...\" desc=\"/embed [url]\" Icon={OtherCardIcon} />\n <CardMenuSection label=\"Snippets\" />\n <CardSnippetItem label=\"A random snippet\" Icon={SnippetCardIcon} />\n </div>\n );\n }\n\n function CardMenuSection({label, ...props}) {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-xs font-medium uppercase tracking-[.06rem] text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n }\n\n function CardMenuItem({label, desc, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.333em] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </div>\n );\n }\n\n function CardSnippetItem({label, Icon, ...props}) {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-2 text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.333em] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n }\n\n /* Divider card\n /* ---------------------------------------------------------- */\n\n function DividerCard() {\n return (\n <div>\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\n </div>\n );\n }\n\n /* Code block\n /* ---------------------------------------------------------- */\n\n function CodeBlock() {\n return (\n <div className=\"border-2 border-green\">\n <div className=\"rounded bg-grey-50 px-3 py-2\">\n <textarea className=\"w-full resize-none bg-grey-50 font-mono text-[1.7rem]\" />\n </div>\n <CaptionEditor placeholder=\"Type caption for code block (optional)\" />\n </div>\n );\n }\n\n /* Image card\n /* ---------------------------------------------------------- */\n\n function ImageCard() {\n const [isActive, setActive] = useState(false);\n const [altText, setAltText] = useState(false);\n\n const toggleActive = () => {\n setActive(!isActive);\n };\n\n const toggleAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n if (isActive) {\n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for image (optional)\" />\n <button \n className={`absolute bottom-0 right-0 m-3 cursor-pointer rounded border px-1 text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => toggleAltText(e)}>\n Alt\n </button> \n </div>\n );\n } \n return (\n <div \n className={`border border-transparent ${isActive ? 'shadow-[0_0_0_2px_#30cf43]' : 'hover:shadow-[0_0_0_1px_#30cf43]'}`}\n onClick={toggleActive}>\n <MediaPlaceholder desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} /> \n </div>\n );\n }\n\n function MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n <form>\n <input\n type='file'\n accept='image/*'\n name=\"image\"\n hidden={true}\n />\n </form>\n </div>\n );\n }\n\n function CaptionEditor({placeholder}) {\n return (\n <input \n className=\"not-kg-prose w-full p-2 text-center font-sans text-sm font-normal tracking-wide text-grey-900\"\n placeholder={placeholder} \n />\n );\n }\n\n /* Gallery card\n /* ---------------------------------------------------------- */\n\n function GalleryCard() {\n return (\n <div className=\"border-2 border-green\">\n <MediaPlaceholder desc=\"Click to select up to 9 images\" Icon={GalleryPlaceholderIcon} />\n <CaptionEditor placeholder=\"Type caption for gallery (optional)\" />\n </div>\n );\n }\n};\n\nexport default DesignSandbox;\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(\"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={},da={},ea={},fa={},ha={},ia={},ka={},la={},p={},ma={},na={},oa={},pa={},qa={},ra={},sa={},ta={},xa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ea={},Fa={},Ga={},Ha={},Ia={},Ja={},Ka={},La={};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 Ma=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,Na=Ma&&\"documentMode\"in document?document.documentMode:null,t=Ma&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Oa=Ma&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Pa=Ma&&\"InputEvent\"in window&&!Na?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,Qa=Ma&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Ta=Ma&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&\n!window.MSStream,Ua=Qa||Ta?\"\\u00a0\":\"\\u200b\",Va=Oa?\"\\u00a0\":Ua,Wa=/^[^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]/,Xa=/^[^\\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]/,Ya={bold:1,code:16,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},Za={directionless:1,\nunmergeable:2},$a={center:2,justify:4,left:1,right:3},ab={2:\"center\",4:\"justify\",1:\"left\",3:\"right\"},bb={normal:0,segmented:2,token:1},cb={0:\"normal\",2:\"segmented\",1:\"token\"},db=!1,eb=0;function fb(a){eb=a.timeStamp}function gb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}function hb(a){return a.getEditorState().read(()=>{let b=u();return null!==b?b.clone():null})}\nfunction ib(a,b,c){db=!0;let d=100<performance.now()-eb;try{x(a,()=>{let f=u()||hb(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=jb(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&&kb(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=lb(z),E=z.parentNode;null==E||null!==B||\"BR\"===z.nodeName&&gb(z,E,a)||(Oa&&(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&&gb(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 [Q,Z]of e)if(F(Z))for(e=Z.__children,g=Q.firstChild,h=0;h<\ne.length;h++)l=a.getElementByKey(e[h]),null!==l&&(null==g?(Q.appendChild(l),g=l):g!==l&&Q.replaceChild(l,g),g=g.nextSibling);else C(Z)&&Z.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||gb(v,l,a)||n.removeChild(v);c.takeRecords()}null!==f&&(k&&(f.dirty=!0,mb(f)),Oa&&nb(a)&&f.insertRawText(m))})}finally{db=!1}}\nfunction ob(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ib(a,c,b)}}function qb(a){0===eb&&rb(a).addEventListener(\"textInput\",fb,!0);a._observer=new MutationObserver((b,c)=>{ib(a,b,c)})}let sb=1,tb=\"function\"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};\nfunction ub(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(jb(b))||\"INPUT\"!==g&&\"TEXTAREA\"!==g}return f&&vb(b)===a}catch(e){return!1}}function vb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=a.parentNode}return null}function wb(a){return a.isToken()||a.isSegmented()}function xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}\nfunction yb(a,b,c){b=Ya[b];return a&b&&(null===c||0===(c&b))?a^b:null===c||c&b?a|b:a}function zb(a){return C(a)||Ab(a)||A(a)}function Bb(a){var b=a.getParent();if(null!==b){b=b.getWritable().__children;let c=b.indexOf(a.__key);-1===c&&r(31);Cb(a);b.splice(c,1)}}\nfunction Db(a){99<Eb&&r(14);var b=a.getLatest(),c=b.__parent,d=G();let f=H(),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 Cb(a){let b=a.getPreviousSibling();a=a.getNextSibling();null!==b&&Db(b);null!==a&&Db(a)}\nfunction I(a){J();var b=H();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=K(c),null!==b&&b.getWritable()),null!==a&&(a=K(a),null!==a&&a.getWritable()))}function Fb(){return L?null:H()._compositionKey}function K(a,b){a=(b||G())._nodeMap.get(a);return void 0===a?null:a}function lb(a,b){let c=H();a=a[`__lexicalKey_${c._key}`];return void 0!==a?K(a,b):null}function jb(a,b){for(;null!=a;){let c=lb(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=G();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 G()._nodeMap.get(\"root\")}function mb(a){let b=G();null!==a&&(a.dirty=!0,a._cachedNodes=null);b._selection=a}\nfunction Kb(a){var b=H(),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?K(\"root\"):null):K(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=jb(d),C(c))){d=d.nodeValue;if(d===Ua&&b){let g=b.length;d=b;e=f=g}null!==d&&kb(c,d,f,e,a)}}}\nfunction kb(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]===Ua&&(a=b.slice(0,-1));b=e.getTextContent();if(f||a!==b)if(\"\"===a)if(I(null),Qa||Ta)e.remove();else{let h=H();setTimeout(()=>{h.update(()=>{e.isAttached()&&e.remove()})},20)}else f=e.getParent(),b=Pb(),e.isToken()||null!==Fb()&&!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))}}function Qb(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(C(b)||F(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}\nfunction Rb(a,b){let c=a.anchor,d=a.focus,f=c.getNode();var e=window.getSelection();e=null!==e?e.anchorNode:null;let g=c.key,h=H().getElementByKey(g),k=b.length;return g!==d.key||!C(f)||(2>k||Lb(b))&&c.offset!==d.offset&&!f.isComposing()||wb(f)||f.isDirty()&&1<k||null!==h&&!f.isComposing()&&e!==xb(h)||f.getFormat()!==a.format||Qb(a,f)}function Sb(a,b){var c=a[b];return\"string\"===typeof c?(c=c.split(\" \"),a[b]=c):c}\nfunction Tb(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))}function Ub(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)}\nfunction Vb(a,b){var c=a.offset;if(\"element\"===a.type)return a=a.getNode(),Ub(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?Ub(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}function nb(a){a=(a=rb(a).event)&&a.inputType;return\"insertFromPaste\"===a||\"insertFromPasteAsQuotation\"===a}function Wb(a){return!N(a)&&!a.isLastChild()&&!a.isInline()}\nfunction Xb(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}function ac(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function rb(a){a=a._window;null===a&&r(78);return a}function bc(a){return N(a)||F(a)&&a.isShadowRoot()}\nfunction cc(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)&&cc(k,h,c,d,f),c.has(h)||f.delete(h),d.delete(h))}}function dc(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)&&cc(c,f,a,b,d),a.has(f)||d.delete(f),b.delete(f))}\nfunction ec(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)}function fc(a,b){let c=a.mergeWithSibling(b),d=H()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}\nfunction gc(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{ec(b,a)&&(a=fc(b,a));break}for(var c;null!==(c=a.getNextSibling())&&C(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(\"\"===c.__text)c.remove();else{ec(a,c)&&fc(a,c);break}}}\nfunction hc(a){for(;\"element\"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(C(b)){a.set(b.__key,c?b.getTextContentSize():0,\"text\");break}else if(!F(b))break;a.set(b.__key,c?b.getChildrenSize():0,\"element\")}}let O=\"\",P=\"\",R=\"\",ic,S,jc,kc=!1,lc=!1,mc,nc=null,oc,pc,qc,rc,sc,tc;\nfunction uc(a,b){let c=qc.get(a);if(null!==b){let d=vc(a);b.removeChild(d)}rc.has(a)||S._keyToDOMMap.delete(a);F(c)&&(a=c.__children,wc(a,0,a.length-1,null));void 0!==c&&Tb(tc,jc,mc,c,\"destroyed\")}function wc(a,b,c,d){for(;b<=c;++b){let f=a[b];void 0!==f&&uc(f,d)}}function xc(a,b){a.setProperty(\"text-align\",b)}function yc(a,b){a.style.setProperty(\"padding-inline-start\",0===b?\"\":20*b+\"px\")}\nfunction zc(a,b){a=a.style;0===b?xc(a,\"\"):1===b?xc(a,\"left\"):2===b?xc(a,\"center\"):3===b?xc(a,\"right\"):4===b&&xc(a,\"justify\")}\nfunction Ac(a,b,c){let d=rc.get(a);void 0===d&&r(60);let f=d.createDOM(ic,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&&yc(f,a);a=d.__children;var g=a.length;if(0!==g){e=a;--g;let h=P;P=\"\";Bc(e,0,g,f,null);Cc(d,f);P=h}e=d.__format;0!==e&&zc(f,e);Dc(null,a,f);Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else e=d.getTextContent(),A(d)?(g=d.decorate(S,ic),null!==g&&Ec(a,\ng),f.contentEditable=\"false\"):C(d)&&(d.isDirectionless()||(P+=e)),O+=e,R+=e;null!==b&&(null!=c?b.insertBefore(f,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(f,c):b.appendChild(f)));Tb(tc,jc,mc,d,\"created\");return f}function Bc(a,b,c,d,f){let e=O;for(O=\"\";b<=c;++b)Ac(a[b],d,f);d.__lexicalTextContent=O;O=e+O}function Fc(a,b){a=b.get(a[a.length-1]);return Ab(a)||A(a)}\nfunction Dc(a,b,c){a=null!==a&&(0===a.length||Fc(a,qc));b=null!==b&&(0===b.length||Fc(b,rc));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 Cc(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==P||c!==nc){let e=\"\"===P;if(e)var d=nc;else d=P,d=Wa.test(d)?\"rtl\":Xa.test(d)?\"ltr\":null;if(d!==c){let g=b.classList,h=ic.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);lc||(a.getWritable().__dir=d)}nc=\nd;b.__lexicalDirTextContent=P;b.__lexicalDir=d}}\nfunction Gc(a,b){var c=qc.get(a),d=rc.get(a);void 0!==c&&void 0!==d||r(61);var f=kc||pc.has(a)||oc.has(a);let e=Xb(S,a);if(c===d&&!f)return F(c)?(d=e.__lexicalTextContent,void 0!==d&&(O+=d,R+=d),d=e.__lexicalDirTextContent,void 0!==d&&(P+=d)):(d=c.getTextContent(),C(c)&&!c.isDirectionless()&&(P+=d),R+=d,O+=d),e;c!==d&&f&&Tb(tc,jc,mc,d,\"updated\");if(d.updateDOM(c,e,ic))return d=Ac(a,null,null),null===b&&r(62),b.replaceChild(d,e),uc(a,null),d;if(F(c)&&F(d)){a=d.__indent;a!==c.__indent&&yc(e,a);a=d.__format;\na!==c.__format&&zc(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)Gc(l,e);else{var n=vc(l);h=Ac(h,null,null);e.replaceChild(h,n);uc(l,null)}}else if(0===k)0!==m&&Bc(h,0,m-1,e,null);else if(0===m)0!==k&&(l=null==e.__lexicalLineBreak,wc(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=Gc(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),Q=l.has(B);E?(Q?(q=Xb(S,B),q===y?y=Gc(B,e).nextSibling:(null!=y?e.insertBefore(q,y):e.appendChild(q),Gc(B,e)),z++):Ac(B,e,y),m++):(y=vc(q).nextSibling,uc(q,e),z++)}}l=z>w;n=m>k;l&&!n?(l=h[k+1],l=void 0===l?null:S.getElementByKey(l),Bc(h,m,k,e,l)):n&&!l&&wc(g,z,w,e)}Wb(f)&&(O+=\"\\n\\n\");e.__lexicalTextContent=O;O=v+O;Cc(f,e);P=b;N(d)||Dc(a,c,e)}Wb(d)&&(O+=\"\\n\\n\",R+=\"\\n\\n\")}else c=d.getTextContent(),A(d)?(f=d.decorate(S,\nic),null!==f&&Ec(a,f)):C(d)&&!d.isDirectionless()&&(P+=c),O+=c,R+=c;!lc&&N(d)&&d.__cachedText!==R&&(d=d.getWritable(),d.__cachedText=R);return e}function Ec(a,b){let c=S._pendingDecorators,d=S._decorators;if(null===c){if(d[a]===b)return;c=Gb(S)}c[a]=b}function vc(a){a=sc.get(a);void 0===a&&r(75);return a}\nlet T=Object.freeze({}),Nc=[[\"keydown\",Hc],[\"mousedown\",Ic],[\"compositionstart\",Jc],[\"compositionend\",Kc],[\"input\",Lc],[\"click\",Mc],[\"cut\",T],[\"copy\",T],[\"dragstart\",T],[\"dragover\",T],[\"dragend\",T],[\"paste\",T],[\"focus\",T],[\"blur\",T],[\"drop\",T]];Pa&&Nc.push([\"beforeinput\",(a,b)=>Oc(a,b)]);let Pc=0,Qc=0,Rc=0,Sc=!1,Tc=!1,Uc=!1,Vc=!1,Wc=[0,0,\"root\",0];function Xc(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}\nfunction Yc(a,b,c){let {anchorNode:d,anchorOffset:f,focusNode:e,focusOffset:g}=a;if(Sc&&(Sc=!1,Xc(d,f)&&Xc(e,g)))return;x(b,()=>{if(!c)mb(null);else if(ub(b,d,e)){var h=u();if(D(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){\"Range\"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var l=rb(b).event;l=l?l.timeStamp:performance.now();let [n,q,v,w]=Wc;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();\nlet n=l.length;for(let q=0;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 Mc(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)})}\nfunction Ic(a,b){let c=a.target;c instanceof Node&&x(b,()=>{A(jb(c))||(Tc=!0)})}function Zc(a,b){b.getTargetRanges&&(b=b.getTargetRanges()[0])&&a.applyDOMRange(b)}function $c(a,b){return a!==b||F(a)||F(b)||!a.isToken()||!b.isToken()}\nfunction Oc(a,b){let c=a.inputType;\"deleteCompositionText\"===c||Oa&&nb(b)||\"insertCompositionText\"!==c&&x(b,()=>{let d=u();if(\"deleteContentBackward\"===c){if(null===d){var f=Pb();if(!D(f))return;mb(f.clone())}if(D(d)){229===Qc&&a.timeStamp<Pc+30&&b.isComposing()&&d.anchor.key===d.focus.key?(I(null),Pc=0,setTimeout(()=>{x(b,()=>{I(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())||\nZc(d,a);var e=d.focus,g=d.anchor.getNode();e=e.getNode();if(\"insertText\"===c||\"insertTranspose\"===c)\"\\n\"===f?(a.preventDefault(),U(b,da,!1)):\"\\n\\n\"===f?(a.preventDefault(),U(b,ea,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData(\"text/plain\"),a.preventDefault(),d.insertRawText(f)):null!=f&&Rb(d,f)&&(a.preventDefault(),U(b,fa,f));else switch(a.preventDefault(),c){case \"insertFromYank\":case \"insertFromDrop\":case \"insertReplacementText\":U(b,fa,a);break;case \"insertFromComposition\":I(null);U(b,\nfa,a);break;case \"insertLineBreak\":I(null);U(b,da,!1);break;case \"insertParagraph\":I(null);Uc?(Uc=!1,U(b,da,!1)):U(b,ea,void 0);break;case \"insertFromPaste\":case \"insertFromPasteAsQuotation\":U(b,ha,a);break;case \"deleteByComposition\":$c(g,e)&&U(b,ia,void 0);break;case \"deleteByDrag\":case \"deleteByCut\":U(b,ia,void 0);break;case \"deleteContent\":U(b,ca,!1);break;case \"deleteWordBackward\":U(b,ka,!0);break;case \"deleteWordForward\":U(b,ka,!1);break;case \"deleteHardLineBackward\":case \"deleteSoftLineBackward\":U(b,\nla,!0);break;case \"deleteContentForward\":case \"deleteHardLineForward\":case \"deleteSoftLineForward\":U(b,la,!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,ma,void 0);break;case \"historyRedo\":U(b,na,void 0)}}})}\nfunction Lc(a,b){a.stopPropagation();x(b,()=>{var c=u(),d=a.data;null!=d&&D(c)&&Rb(c,d)?(Vc&&(ad(b,d),Vc=!1),U(b,fa,d),d=d.length,Oa&&1<d&&\"insertCompositionText\"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=d),Qa||Ta||!b.isComposing()||(Pc=0,I(null))):(Ob(!1),Vc&&(ad(b,d||void 0),Vc=!1));J();c=H();ob(c)})}\nfunction Jc(a,b){x(b,()=>{let c=u();if(D(c)&&!b.isComposing()){let d=c.anchor;I(d.key);(a.timeStamp<Pc+30||\"element\"===d.type||!c.isCollapsed()||c.anchor.getNode().getFormat()!==c.format)&&U(b,fa,Va)}})}\nfunction ad(a,b){var c=a._compositionKey;I(null);if(null!==c&&null!=b){if(\"\"===b){b=K(c);a=xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&C(b)&&kb(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,xa,null);return}}Ob(!0,b)}function Kc(a,b){Oa?Vc=!0:x(b,()=>{ad(b,a.data)})}\nfunction Hc(a,b){if(!0!==a._lexicalHandled&&(a._lexicalHandled=!0,Pc=a.timeStamp,Qc=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)Uc=!0,U(b,xa,a);else if(32===c)U(b,ya,a);else if(t&&f&&79===c)a.preventDefault(),Uc=!0,U(b,da,!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,za,a):(a.preventDefault(),\nU(b,ca,!0)):27===c?U(b,Aa,a):(h=t?d||g||e?!1:46===c||68===c&&f:f||g||e?!1:46===c,h?46===c?U(b,Ba,a):(a.preventDefault(),U(b,ca,!1)):8===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!0)):46===c&&(t?g:f)?(a.preventDefault(),U(b,ka,!1)):t&&e&&8===c?(a.preventDefault(),U(b,la,!0)):t&&e&&46===c?(a.preventDefault(),U(b,la,!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,ma,void 0)):(h=t?90===c&&e&&d:89===c&&f||90===c&&f&&d,h?(a.preventDefault(),U(b,na,void 0)):bd(b._editorState._selection)&&(h=d?!1:67===c?t?e:f:!1,h?(a.preventDefault(),U(b,Ha,a)):(h=d?!1:88===c?t?e:f:!1,h&&(a.preventDefault(),U(b,Ia,a))))):U(b,Ca,a))}else Uc=!1,U(b,xa,a);else U(b,ta,a);else U(b,sa,a);else U(b,ra,a);else U(b,qa,a);else U(b,pa,a);else U(b,oa,a);(f||d||g||e)&&U(b,La,a)}}\nfunction cd(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let dd=new Map;function ed(){let a=window.getSelection();if(null!==a){var b=vb(a.anchorNode);if(null!==b){Tc&&(Tc=!1,x(b,()=>{var g=Pb(),h=a.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=fd(g,a,b),mb(g))}));var c=Mb(b);c=c[c.length-1];var d=c._key,f=dd.get(d),e=f||c;e!==b&&Yc(a,e,!1);Yc(a,b,!0);b!==c?dd.set(d,b):f&&dd.delete(d)}}}\nfunction gd(a,b){0===Rc&&a.ownerDocument.addEventListener(\"selectionchange\",ed);Rc++;a.__lexicalEditor=b;let c=cd(a);for(let d=0;d<Nc.length;d++){let [f,e]=Nc[d],g=\"function\"===typeof e?h=>{b.isEditable()&&e(h,b)}:h=>{if(b.isEditable())switch(f){case \"cut\":return U(b,Ia,h);case \"copy\":return U(b,Ha,h);case \"paste\":return U(b,ha,h);case \"dragstart\":return U(b,Ea,h);case \"dragover\":return U(b,Fa,h);case \"dragend\":return U(b,Ga,h);case \"focus\":return U(b,Ja,h);case \"blur\":return U(b,Ka,h);case \"drop\":return U(b,\nDa,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=K(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;\nL||(Fb()===f&&I(a),null!==d&&(d._cachedNodes=null,d.dirty=!0))}}function hd(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 id(a,b){if(F(b)){let c=b.getLastDescendant();F(c)||C(c)?hd(a,c):hd(a,b)}else hd(a,b)}\nfunction jd(a,b,c){let d=a.getNode(),f=d.getChildAtIndex(a.offset),e=M(),g=N(d)?kd().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 ld(a,b,c,d){a.key=b;a.offset=c;a.type=d}\nclass md{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}is(a){if(!bd(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 md(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){let c=this.getNodes(),d=c.length;var f=c[d-1];if(C(f))f=f.select();else{let e=f.getIndexWithinParent()+1;f=f.getParentOrThrow().select(e,e)}f.insertNodes(a,b);for(a=0;a<d;a++)c[a].remove();return!0}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=K(c),null!==b&&a.push(b);L||(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 nd}\nclass od{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 pd(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 od(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return qd(this)}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a,\nb){var c=this.focus.getNode();c=c.select(0,c.getChildrenSize());hc(c.anchor);hc(c.focus);return c.insertNodes(a,b)}getShape(){var a=K(this.anchor.key);null===a&&r(21);var b=a.getIndexWithinParent();a=a.getParentOrThrow().getIndexWithinParent();var c=K(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,\na)}}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=K(this.gridKey);rd(e)||r(23);a.add(e);e=e.getChildren();for(let k=c;k<=f;k++){var g=e[k];a.add(g);sd(g)||r(24);g=g.getChildren();for(let m=b;m<=d;m++){var h=g[m];td(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);L||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b=\"\";\nfor(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function pd(a){return a instanceof od}\nclass nd{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);L||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){ld(this.anchor,a.__key,b,\"text\");ld(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]=qd(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)&&!Ab(m)||m===c&&this.isCollapsed()||(g+=m.getTextContent())}return g}applyDOMRange(a){let b=H(),c=b.getEditorState()._selection;a=ud(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,f]=a;ld(this.anchor,d.key,d.offset,d.type);ld(this.focus,f.key,\nf.offset,f.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new nd(new W(a.key,a.offset,a.type),new W(b.key,b.offset,b.type),this.format)}toggleFormat(a){this.format=yb(this.format,a,null);this.dirty=!0}hasFormat(a){return 0!==(this.format&Ya[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(vd())}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?jd(b,c,f):d||\"element\"!==c.type||jd(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)||wb(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)||wb(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(\"\");wd(this.anchor,this.focus,null);this.insertText(a);return}if(1===g)if(b.isToken())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\"===\nthis.anchor.type&&(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()<\nk?C(l)&&!l.isToken()&&k!==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,\nk=null;null!==h;){l=h.getChildren();m=l.length;if(0===m||l[m-1].is(k))f.delete(h.__key),k=h;h=h.getParent()}b.isToken()?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),I(null);else{var b=this.getNodes(),c=[];for(var d of b)C(d)&&\nc.push(d);var f=c.length;if(0===f)this.toggleFormat(a),I(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,\n0,\"text\"),\"text\"===d.type&&d.set(a.__key,f-e,\"text\")),this.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(),\ne=f;\"element\"===c.type&&(e=c.getNode(),c=e.getChildAtIndex(d-1),e=null===c?e:c);c=[];var g=f.getNextSiblings(),h=bc(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(f.isToken())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);\ne=l;k=!0;continue}var n=l.getFirstDescendant();if(zb(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)&&bc(e.getParent())&&r(28);k=!1;if(F(e)&&!e.isInline())if(m=l,A(l)&&!l.isInline())e=e.insertAfter(l);else if(F(l)){if(l.canBeEmpty()||!l.isEmpty())bc(e)?(n=\ne.getChildAtIndex(d),null!==n?n.insertBefore(l):e.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.isInline()?(m=l,e=e.insertAfter(l)):(l=e.getParentOrThrow(),Ab(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?\ne.select():C(a)?a.select():a.selectNext()),0!==c.length)for(b=e,a=c.length-1;0<=a;a--)d=c[a],h=d.getParentOrThrow(),!F(e)||xd(d)||A(d)&&!d.isInline()?F(e)||xd(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()||\nthis.removeText();var a=this.anchor,b=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(bc(e)){f=kd();c=e.getChildAtIndex(b);f.select();null!==c?c.insertBefore(f):e.append(f);return}f=e.getChildren().slice(b).reverse()}d=f.length;\nif(0===b&&0<d&&e.isInline()){if(c=e.getParentOrThrow(),f=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()?\ng.selectStart():(g.selectPrevious(),g.remove())}}insertLineBreak(a){let b=vd();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 qd(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]=qd(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!=\na?[a]:[]):[e];b=d.isBefore(f);C(e)&&(d=b?h:k,d===e.getTextContentSize()?a.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=Vb(d,b);if(A(g)&&!g.isIsolated())e?(e=yd(),e.add(g.__key),mb(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(),\nF(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=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,ld(b,e.key,e.offset,e.type),ld(e,d,f,g),this._cachedNodes=null))}deleteCharacter(a){if(this.isCollapsed()){var b=\nthis.anchor,c=this.focus,d=b.getNode();if(!a&&(\"element\"===b.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){zd(f,a,b);return}}else if(null!==\nd&&d.isSegmented()&&(b=b.offset,c=d.getTextContentSize(),d.is(f)||a&&0!==b||!a&&b!==c)){zd(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()&&\n(\"text\"===this.anchor.type&&this.modify(\"extend\",a,\"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 bd(a){return a instanceof md}function Ad(a){let b=a.offset;if(\"text\"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}\nfunction qd(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]:[Ad(b),Ad(a)]}function zd(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 Bd(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 Id(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)&&(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=\"element\"):(c||\nb)&&null===d&&F(f)&&f.isInline()&&!f.canInsertTextAfter()&&(b=f.getNextSibling(),C(b)&&(a.key=b.__key,a.offset=0)))}function wd(a,b,c){if(\"text\"===a.type&&\"text\"===b.type){var d=a.isBefore(b);let f=a.is(b);Id(a,d,f);Id(b,!d,f);f&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=H();d.isComposing()&&d._compositionKey!==a.key&&D(c)&&(d=c.anchor,c=c.focus,ld(a,d.key,d.offset,d.type),ld(b,c.key,c.offset,c.type))}}\nfunction ud(a,b,c,d,f,e){if(null===a||null===c||!ub(f,a,c))return null;b=Bd(a,b,D(e)?e.anchor:null);if(null===b)return null;d=Bd(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;wd(b,d,e);return[b,d]}function xd(a){return F(a)&&!a.isInline()}function Jd(a,b,c,d,f,e){let g=G();a=new nd(new W(a,b,f),new W(c,d,e),0);a.dirty=!0;return g._selection=a}function yd(){return new md(new Set)}\nfunction Kd(a){let b=a.getEditorState()._selection,c=window.getSelection();return bd(b)||pd(b)?b.clone():fd(b,c,a)}\nfunction fd(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=!db&&(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)&&!ub(c,f,e))return a.clone()}else return a.clone();c=ud(f,g,e,b,c,a);if(null===c)return null;let [h,k]=c;return new nd(h,k,D(a)?a.format:0)}\nfunction u(){return G()._selection}function Pb(){return H()._editorState._selection}\nfunction Ld(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\"),Md(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\"));Md(a)}}\nfunction Md(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 Nd(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 Od(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 Pd(a,b,c,d,f){\"text\"===a.type?(a.key=c,b||(a.offset+=f)):a.offset>d.getIndexWithinParent()&&--a.offset}let X=null,Y=null,L=!1,Qd=!1,Eb=0;function J(){L&&r(13)}\nfunction G(){null===X&&r(15);return X}function H(){null===Y&&r(16);return Y}function Rd(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 Sd(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()&&gc(b)}\nfunction Td(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let f=Fb(),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()&&gc(g),void 0!==g&&void 0!==g&&g.__key!==f&&g.isAttached()&&Rd(b,g,e),c.add(l);g=b._dirtyLeaves;h=g.size;if(0<h){Eb++;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),void 0!==\ng&&void 0!==g&&g.__key!==f&&g.isAttached()&&Rd(b,g,e),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Eb++}b._dirtyLeaves=c;b._dirtyElements=d}function Ud(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=Ud(a[d],b);c.append(f)}return c}function Vd(a,b){let c=X,d=L,f=Y;X=a;L=!0;Y=null;try{return b()}finally{X=c,L=d,Y=f}}\nfunction Wd(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=X,m=L,l=Y,n=a._updating,q=a._observer,v=null;a._pendingEditorState=null;a._editorState=b;if(!d&&h&&null!==q){Y=a;X=b;L=!1;a._updating=!0;try{var w=a._dirtyType,y=a._dirtyElements,z=a._dirtyLeaves;q.disconnect();P=R=O=\"\";kc=2===w;nc=null;S=a;ic=a._config;jc=a._nodes;mc=S._listeners.mutation;oc=y;pc=z;qc=f._nodeMap;rc=b._nodeMap;\nlc=b._readOnly;sc=new Map(a._keyToDOMMap);var B=new Map;tc=B;Gc(\"root\",null);tc=sc=ic=rc=qc=pc=oc=jc=S=void 0;v=B}catch(V){V instanceof Error&&a._onError(V);if(Qd)throw V;Xd(a,null,c,b);qb(a);a._dirtyType=2;Qd=!0;Wd(a);Qd=!1;return}finally{q.observe(c,{characterData:!0,childList:!0,subtree:!0}),a._updating=n,X=k,L=m,Y=l}}b._readOnly||(b._readOnly=!0);n=a._dirtyLeaves;q=a._dirtyElements;B=a._normalizedNodes;w=a._updateTags;m=a._deferred;h&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,\na._dirtyElements=new Map,a._normalizedNodes=new Set,a._updateTags=new Set);z=a._decorators;y=a._pendingDecorators||z;var E=b._nodeMap;for(Ra in y)E.has(Ra)||(y===z&&(y=Gb(a)),delete y[Ra]);d=d?null:window.getSelection();if(a._editable&&null!==d&&(h||null===g||g.dirty)){Y=a;X=b;try{a:{let V=d.anchorNode,ua=d.focusNode,ue=d.anchorOffset,ve=d.focusOffset,pb=document.activeElement;if(!w.has(\"collaboration\")||pb===c)if(D(g)){var Q=g.anchor,Z=g.focus,Cd=Q.key,va=Z.key,Dd=Xb(a,Cd),Ed=Xb(a,va),Yb=Q.offset,\nFd=Z.offset,Zb=g.format,Gd=g.isCollapsed();h=Dd;va=Ed;var Ra=!1;\"text\"===Q.type&&(h=xb(Dd),Ra=Q.getNode().getFormat()!==Zb);\"text\"===Z.type&&(va=xb(Ed));if(null!==h&&null!==va){if(Gd&&(null===e||Ra||D(e)&&e.format!==Zb)){var we=performance.now();Wc=[Zb,Yb,Cd,we]}if(ue===Yb&&ve===Fd&&V===h&&ua===va&&(\"Range\"!==d.type||!Gd)&&(null===c||null!==pb&&c.contains(pb)||c.focus({preventScroll:!0}),!Ta&&!Qa||\"element\"!==Q.type))break a;try{d.setBaseAndExtent(h,Yb,va,Fd);if(g.isCollapsed()&&null!==c&&c===pb){let Sa=\nQ.getNode();if(F(Sa)){let ja=Sa.getDescendantByIndex(Q.offset);null!==ja&&(Sa=ja)}let wa=a.getElementByKey(Sa.__key);if(null!==wa){let ja=wa.getBoundingClientRect();if(ja.bottom>rb(a).innerHeight)wa.scrollIntoView(!1);else if(0>ja.top)wa.scrollIntoView();else{let Hd=c.getBoundingClientRect();Math.floor(ja.bottom)>Math.floor(Hd.bottom)?wa.scrollIntoView(!1):Math.floor(ja.top)<Math.floor(Hd.top)&&wa.scrollIntoView()}w.add(\"scroll-into-view\")}}Sc=!0}catch(Sa){}}}else null!==e&&ub(a,V,ua)&&d.removeAllRanges()}}finally{Y=\nl,X=k}}if(null!==v)for(c=v,e=Array.from(a._listeners.mutation),g=e.length,k=0;k<g;k++){let [V,ua]=e[k];l=c.get(ua);void 0!==l&&V(l,{dirtyLeaves:n,updateTags:w})}c=a._pendingDecorators;null!==c&&(a._decorators=c,a._pendingDecorators=null,Yd(\"decorator\",a,!0,c));c=Hb(f);e=Hb(b);c!==e&&Yd(\"textcontent\",a,!0,e);Yd(\"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=0;f<m.length;f++)m[f]()}finally{a._updating=\nb}}b=a._updates;if(0!==b.length&&(b=b.shift())){let [V,ua]=b;Zd(a,V,ua)}}}function Yd(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||Y!==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 $d(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 Zd(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 ae(new Map(c._nodeMap)),g=!0;let h=X,k=L,m=Y,l=a._updating;X=e;L=!1;a._updating=!0;Y=a;try{g&&!a._headless&&(e._selection=Kd(a));let n=a._compositionKey;b();f=$d(a,f);Nd(e,a);0!==a._dirtyType&&(f?Sd(e,a):Td(e,a),$d(a),dc(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 bd(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();Wd(a);return}finally{X=h,L=k,Y=m,a._updating=l,Eb=0}0!==a._dirtyType||be(e,a)?e._flushSync?(e._flushSync=!1,Wd(a)):g&&tb(()=>{Wd(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]):Zd(a,b,c)}\nfunction ce(a,b,c){J();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&&(Od(h,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0);k.key===d&&(Od(k,a,f,a.getPreviousSibling(),a.getNextSibling()),g=!0)}h=f.getWritable().__children;d=h.indexOf(d);-1===d&&r(31);Cb(a);h.splice(d,1);a.getWritable().__parent=null;D(e)&&b&&!g&&Ld(e,f,d,-1);c||bc(f)||f.canBeEmpty()||!f.isEmpty()||ce(f,b);N(f)&&f.isEmpty()&&f.selectEnd()}}\nfunction de(a){a=K(a);null===a&&r(63);return a}\nclass ee{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{J();99<Eb&&r(14);a=H();var b=G(),c=\"\"+sb++;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=K(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:K(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66);return a}getTopLevelElement(){let a=this;for(;null!==\na;){let b=a.getParent();if(bc(b))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:K(a[b-1])}getPreviousSiblings(){var a=this.getParent();\nif(null===a)return[];a=a.__children;let b=a.indexOf(this.__key);return a.slice(0,b).map(c=>de(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:K(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=>de(c))}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();F(this)&&b.unshift(this);F(a)&&c.unshift(a);a=b.length;\nvar 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=this.__key;\nif(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(),e=e.getParent(),\nnull!==e&&(null!==f||d.has(e.__key)||c.push(e));while(null===f)}}b||c.reverse();return c}isDirty(){let a=H()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=K(this.__key);null===a&&r(69);return a}getWritable(){J();var a=G(),b=H();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 Db(d),d;e=d.constructor.clone(d);e.__parent=f;F(d)&&F(e)?(e.__children=Array.from(d.__children),e.__indent=d.__indent,\ne.__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;Db(e);a.set(c,e);return e}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().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){ce(this,!0,a)}replace(a){J();let b=this.__key;a=a.getWritable();Bb(a);var c=this.getParentOrThrow(),\nd=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;ce(this,!1);Cb(a);d=u();D(d)&&(c=d.anchor,d=d.focus,c.key===b&&id(c,a),d.key===b&&id(d,a));Fb()===b&&I(e);return a}insertAfter(a){J();var b=this.getWritable(),c=a.getWritable(),d=c.getParent();let f=u();var e=a.getIndexWithinParent(),g=!1,h=!1;null!==d&&(Bb(c),D(f)&&(h=d.__key,g=f.anchor,d=f.focus,g=\"element\"===g.type&&g.key===h&&g.offset===e+1,h=\"element\"===d.type&&d.key===h&&d.offset===\ne+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);Cb(c);D(f)&&(Ld(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();Bb(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);e.splice(b,0,f);Cb(c);c=u();D(c)&&Ld(c,d,b);return a}selectPrevious(a,\nb){J();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){J();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()}}class fe extends ee{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}}\nfunction A(a){return a instanceof fe}\nclass ge extends ee{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 ab[a]||\"\"}getIndent(){return this.getLatest().__indent}getChildren(){let a=this.getLatest().__children,b=[];for(let c=0;c<a.length;c++){let d=K(a[c]);null!==d&&b.push(d)}return b}getChildrenKeys(){return this.getLatest().__children}getChildrenSize(){return this.getLatest().__children.length}isEmpty(){return 0===this.getChildrenSize()}isDirty(){let a=\nH()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest();return a.getParentOrThrow().getLastChild()===a}getAllTextNodes(){let a=[],b=this.getLatest().__children;for(let d=0;d<b.length;d++){var c=K(b[d]);C(c)?a.push(c):F(c)&&(c=c.getAllTextNodes(),a.push(...c))}return a}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=this.getLastChild();for(;null!==\na;){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:K(a[0])}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45);return a}getLastChild(){let a=this.getLatest().__children,b=a.length;return 0===b?null:K(a[b-1])}getLastChildOrThrow(){let a=\nthis.getLastChild();if(null===a)throw Error(`Expected node ${this.__key} to have a last child.`);return a}getChildAtIndex(a){a=this.getLatest().__children[a];return void 0===a?null:K(a)}getTextContent(){let a=\"\",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let f=b[d];a+=f.getTextContent();F(f)&&d!==c-1&&!f.isInline()&&(a+=\"\\n\\n\")}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return\"\"!==a?(a=$a[a],0!==(this.getFormat()&a)):!1}select(a,b){J();let c=u();var d=this.getChildrenSize();\nvoid 0===a&&(a=d);void 0===b&&(b=d);d=this.__key;if(D(c))c.anchor.set(d,a,\"element\"),c.focus.set(d,b,\"element\"),c.dirty=!0;else return Jd(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(),\n0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=\"\"!==a?$a[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);Bb(l);l.__parent=f;h.push(l.__key)}(c=this.getChildAtIndex(a-1))&&Db(c);(f=this.getChildAtIndex(a+b))&&Db(f);a===e.length?(e.push(...h),a=[]):a=e.splice(a,\nb,...h);if(a.length&&(b=u(),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)&&Od(l,l.getNode(),this,c,f);h(n)&&Od(n,n.getNode(),this,c,f);h=a.length;for(b=0;b<h;b++)c=K(a[b]),null!=c&&(c.getWritable().__parent=null);0!==e.length||this.canBeEmpty()||bc(this)||this.remove()}return d}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),\ntype:\"element\",version: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}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}function F(a){return a instanceof ge}\nclass he extends ge{static getType(){return\"root\"}static clone(){return new he}constructor(){super(\"root\");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!L&&0!==H()._dirtyType||null===a?super.getTextContent():a}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=Ib();b.setFormat(a.format);\nb.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 he}function be(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 ie(){return new ae(new Map([[\"root\",new he]]))}\nfunction je(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=je(a[d]);c.push(f)}}return b}\nclass ae{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 Vd(this,a)}clone(a){a=new ae(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return Vd(this,()=>({root:je(Ib())}))}}\nclass ke extends ee{static getType(){return\"linebreak\"}static clone(a){return new ke(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:le,priority:0}}}}static importJSON(){return vd()}exportJSON(){return{type:\"linebreak\",version:1}}}function le(){return{node:vd()}}function vd(){return new ke}\nfunction Ab(a){return a instanceof ke}function me(a,b){return b&16?\"code\":b&32?\"sub\":b&64?\"sup\":null}function ne(a,b){return b&1?\"strong\":b&2?\"em\":\"span\"}\nfunction oe(a,b,c,d,f){a=d.classList;d=Sb(f,\"base\");void 0!==d&&a.add(...d);d=Sb(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 Ya)h=Ya[k],d=Sb(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 pe(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?Ua:\"\";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Oa){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 qe extends ee{static getType(){return\"text\"}static clone(a){return new qe(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 cb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Fb()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==\n(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=Ya[a];return 0!==(this.getFormat()&a)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return yb(c,a,b)}createDOM(a){var b=this.__format,c=me(this,b);let d=ne(this,b),f=document.createElement(null===c?d:c),e=f;null!==c&&(e=document.createElement(d),f.appendChild(e));c=e;pe(this.__text,c,this);\na=a.theme.text;void 0!==a&&oe(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=me(this,f);let h=me(this,e);var k=ne(this,f);let m=ne(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),pe(d,a,this),c=c.theme.text,void 0!==c&&oe(m,0,e,a,c),b.replaceChild(g,f),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&r(49));pe(d,k,this);c=c.theme.text;\nvoid 0!==c&&f!==e&&oe(m,f,e,k,c);e=this.__style;a.__style!==e&&(b.style.cssText=e);return!1}static importDOM(){return{\"#text\":()=>({conversion:re,priority:0}),b:()=>({conversion:se,priority:0}),code:()=>({conversion:te,priority:0}),em:()=>({conversion:te,priority:0}),i:()=>({conversion:te,priority:0}),span:()=>({conversion:xe,priority:0}),strong:()=>({conversion:te,priority:0}),u:()=>({conversion:te,priority:0})}}static importJSON(a){let b=M(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);\nb.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?Ya[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail=\"string\"===typeof a?Za[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){a=Ya[a];return this.setFormat(this.getFormat()^\na)}toggleDirectionless(){let a=this.getWritable();a.__detail^=1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=bb[a];let b=this.getWritable();b.__mode=a;return b}setTextContent(a){let b=this.getWritable();b.__text=a;return b}select(a,b){J();let c=u();var d=this.getTextContent();let f=this.__key;\"string\"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(D(c))d=Fb(),d!==c.anchor.key&&d!==c.focus.key||I(f),c.setTextNodeRange(this,a,this,b);\nelse return Jd(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){J();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,f=Fb(),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);\ne=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=a[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,\nB.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&&I(z);m=w;v.__parent=k;h.push(v)}Cb(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)&&Ld(b,c,d,e-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||r(50);var c=this.__key;let d=a.__key,f=this.__text,e=f.length;Fb()===d&&I(c);let g=u();if(D(g)){let h=g.anchor,\nk=g.focus;null!==h&&h.key===d&&(Pd(h,b,c,a,e),g.dirty=!0);null!==k&&k.key===d&&(Pd(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 xe(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 se(a){let b=\"normal\"===a.style.fontWeight;return{forChild:c=>{C(c)&&!b&&c.toggleFormat(\"bold\");return c},node:null}}function re(a,b,c){a=a.textContent||\"\";return!c&&/\\n/.test(a)&&(a=a.replace(/\\r?\\n/gm,\" \"),0===a.trim().length)?{node:null}:{node:M(a)}}let ye={code:\"code\",em:\"italic\",i:\"italic\",strong:\"bold\",u:\"underline\"};function te(a){let b=ye[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{C(c)&&c.toggleFormat(b);return c},node:null}}\nfunction M(a=\"\"){return new qe(a)}function C(a){return a instanceof qe}\nclass ze extends ge{static getType(){return\"paragraph\"}static clone(a){return new ze(a.__key)}createDOM(a){let b=document.createElement(\"p\");a=Sb(a.theme,\"paragraph\");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Ae,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));a&&this.isEmpty()&&a.append(document.createElement(\"br\"));if(a){var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();\n0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=kd();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:\"paragraph\",version:1}}insertNewAfter(){let a=kd(),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(),\n!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Ae(){return{node:kd()}}function kd(){return new ze}\nfunction Xd(a,b,c,d){let f=a._keyToDOMMap;f.clear();a._editorState=ie();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 Be(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 Ce{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;Xd(this,b,a,c);if(null!==b&&!this._config.disableEvents){0!==Rc&&(Rc--,0===Rc&&b.ownerDocument.removeEventListener(\"selectionchange\",ed));c=b.__lexicalEditor;if(null!==c&&void 0!==c){if(null!==c._parentEditor){var d=Mb(c);d=d[d.length-1]._key;dd.get(d)===c&&dd.delete(d)}else dd.delete(c._key);b.__lexicalEditor=null}c=cd(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,qb(this),this._updateTags.add(\"history-merge\"),Wd(this),this._config.disableEvents||gd(a,this)):this._window=null;Yd(\"root\",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);ob(this);let c=this._pendingEditorState,d=this._updateTags;\nb=void 0!==b?b.tag:null;null===c||c.isEmpty()||(null!=b&&d.add(b),Wd(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set(\"root\",!1);this._compositionKey=null;null!=b&&d.add(b);Wd(this)}parseEditorState(a,b){a=\"string\"===typeof a?JSON.parse(a):a;let c=ie(),d=X,f=L,e=Y,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;X=c;L=!1;Y=this;try{Ud(a.root,\nthis._nodes),b&&b(),c._readOnly=!0}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,X=d,L=f,Y=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,Yd(\"editable\",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}class De extends ge{constructor(a,b){super(b);this.__colSpan=a}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan}}}function td(a){return a instanceof De}class Ee extends ge{}function rd(a){return a instanceof Ee}\nclass Fe extends ge{}function sd(a){return a instanceof Fe}exports.$addUpdateTag=function(a){J();H()._updateTags.add(a)};exports.$createLineBreakNode=vd;exports.$createNodeSelection=yd;exports.$createParagraphNode=kd;exports.$createRangeSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new nd(a,b,0)};exports.$createTextNode=M;exports.$getDecoratorNode=Vb;exports.$getNearestNodeFromDOMNode=jb;exports.$getNodeByKey=K;exports.$getPreviousSelection=Pb;\nexports.$getRoot=Ib;exports.$getSelection=u;exports.$hasAncestor=ac;exports.$insertNodes=function(a,b){let c=u();null===c&&(c=Ib().selectEnd());return c.insertNodes(a,b)};exports.$isDecoratorNode=A;exports.$isElementNode=F;exports.$isInlineElementOrDecoratorNode=function(a){return F(a)&&a.isInline()||A(a)&&a.isInline()};exports.$isLeafNode=zb;exports.$isLineBreakNode=Ab;exports.$isNodeSelection=bd;exports.$isParagraphNode=function(a){return a instanceof ze};exports.$isRangeSelection=D;\nexports.$isRootNode=N;exports.$isRootOrShadowRoot=bc;exports.$isTextNode=C;exports.$nodesOfType=function(a){var b=G();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 Ud(a,H()._nodes)};exports.$setCompositionKey=I;exports.$setSelection=mb;exports.BLUR_COMMAND=Ka;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};\nexports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;exports.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=fa;exports.COPY_COMMAND=Ha;exports.CUT_COMMAND=Ia;exports.DELETE_CHARACTER_COMMAND=ca;exports.DELETE_LINE_COMMAND=la;exports.DELETE_WORD_COMMAND=ka;\nexports.DEPRECATED_$createGridSelection=function(){let a=new W(\"root\",0,\"element\"),b=new W(\"root\",0,\"element\");return new od(\"root\",a,b)};exports.DEPRECATED_$isGridCellNode=td;exports.DEPRECATED_$isGridNode=rd;exports.DEPRECATED_$isGridRowNode=sd;exports.DEPRECATED_$isGridSelection=pd;exports.DEPRECATED_GridCellNode=De;exports.DEPRECATED_GridNode=Ee;exports.DEPRECATED_GridRowNode=Fe;exports.DRAGEND_COMMAND=Ga;exports.DRAGOVER_COMMAND=Fa;exports.DRAGSTART_COMMAND=Ea;exports.DROP_COMMAND=Da;\nexports.DecoratorNode=fe;exports.ElementNode=ge;exports.FOCUS_COMMAND=Ja;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=p;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=da;exports.INSERT_PARAGRAPH_COMMAND=ea;exports.KEY_ARROW_DOWN_COMMAND=ta;exports.KEY_ARROW_LEFT_COMMAND=qa;exports.KEY_ARROW_RIGHT_COMMAND=oa;exports.KEY_ARROW_UP_COMMAND=sa;exports.KEY_BACKSPACE_COMMAND=za;exports.KEY_DELETE_COMMAND=Ba;exports.KEY_ENTER_COMMAND=xa;exports.KEY_ESCAPE_COMMAND=Aa;\nexports.KEY_MODIFIER_COMMAND=La;exports.KEY_SPACE_COMMAND=ya;exports.KEY_TAB_COMMAND=Ca;exports.LineBreakNode=ke;exports.MOVE_TO_END=pa;exports.MOVE_TO_START=ra;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ha;exports.ParagraphNode=ze;exports.REDO_COMMAND=na;exports.REMOVE_TEXT_COMMAND=ia;exports.RootNode=he;exports.SELECTION_CHANGE_COMMAND=aa;exports.TextNode=qe;exports.UNDO_COMMAND=ma;exports.VERSION=\"0.4.1\";exports.createCommand=function(){return{}};\nexports.createEditor=function(a){var b=a||{},c=Y,d=b.theme||{};let f=void 0===a?c:b.parentEditor||null,e=b.disableEvents||!1,g=ie(),h=b.namespace||(null!==f?f._config.namespace:Nb()),k=b.editorState,m=[he,qe,ke,ze,...(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 Ce(g,f,a,{disableEvents:e,namespace:h,theme:d},l?l:console.error,Be(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 e=require(\"@lexical/react/LexicalComposerContext\"),f=require(\"lexical\"),g=require(\"react\"),m=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;let n={tag:\"history-merge\"};\nfunction p(a,c){if(null!==c)if(void 0===c)a.update(()=>{var b=f.$getRoot();if(b.isEmpty()){let d=f.$createParagraphNode();b.append(d);b=document.activeElement;(null!==f.$getSelection()||null!==b&&b===a.getRootElement())&&d.select()}},n);else if(null!==c)switch(typeof c){case \"string\":let b=a.parseEditorState(c);a.setEditorState(b,n);break;case \"object\":a.setEditorState(c,n);break;case \"function\":a.update(()=>{f.$getRoot().isEmpty()&&c(a)},n)}}\nexports.LexicalComposer=function({initialConfig:a,children:c}){let b=g.useMemo(()=>{const {theme:d,namespace:h,editor__DEPRECATED:q,nodes:r,onError:t,editorState:u}=a,v=e.createLexicalComposerContext(null,d);let k=q||null;if(null===k){const l=f.createEditor({editable:!1,namespace:h,nodes:r,onError:w=>t(w,l),theme:d});p(l,u);k=l}return[k,v]},[]);m(()=>{let d=a.editable,[h]=b;h.setEditable(void 0!==d?d:!0)},[]);return g.createElement(e.LexicalComposerContext.Provider,{value:b},c)}\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.$insertNodeToNearestRoot=function(a){var b=l.$getSelection();l.$isRangeSelection(b)?b.focus.getNode().getTopLevelElementOrThrow().insertAfter(a):l.$isNodeSelection(b)||l.DEPRECATED_$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.$wrapNodeInElement=function(a,b){b=b();a.replace(b);b.append(a);return b};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.$isRootOrShadowRoot(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),\ne.insertAfter(c));b.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.$isRootOrShadowRoot(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.$isRootOrShadowRoot(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 r=new Map;function u(a){a=a.getLatest();let b=a.constructor.clone(a);b.__parent=a.__parent;l.$isElementNode(a)&&l.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):l.$isTextNode(a)&&l.$isTextNode(b)&&(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail);return b}\nfunction v(a,b,c,g,d,f){for(var h=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy(\"clone\");)b=b.getParent();if(null===b)break;if(!l.$isElementNode(a)||!a.excludeFromCopy(\"clone\")){let e=a.getKey(),k=f.get(e),m=void 0===k;m&&(k=u(a),f.set(e,k));!l.$isTextNode(k)||k.isSegmented()||k.isToken()?l.$isElementNode(k)&&(k.__children=k.__children.slice(g?h:0,g?void 0:(h||0)+1)):k.__text=k.__text.slice(g?h:0,g?c:h);if(l.$isRootNode(b)){m&&d.push(e);break}}h=f.get(b.getKey());h=l.$isElementNode(h)?\nh.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}\nfunction x(a){if(l.$isRangeSelection(a)){var b=a.anchor,c=a.focus;let [k,m]=a.getCharacterOffsets();a=a.getNodes();if(0===a.length)return{nodeMap:[],range:[]};let p=a.length;var g=a[0],d=g.getParent();if(null!==d&&(!d.canBeEmpty()||l.$isRootNode(d))){var f=d.__children;if(f.length===p){var h=!0;for(var e=0;e<f.length;e++)if(f[e]!==a[e].__key){h=!1;break}h&&(p++,a.push(d))}}d=a[p-1];b=b.isBefore(c);c=new Map;f=[];h=l.$isTextNode(g)&&1===p;v(g,b?k:m,h?b?m:k:void 0,!0,f,c);for(g=0;g<p;g++){e=a[g];let n=\ne.getKey();if(!(c.has(n)||l.$isElementNode(e)&&e.excludeFromCopy(\"clone\"))){let w=u(e);l.$isRootNode(e.getParent())&&f.push(e.getKey());\"root\"!==n&&c.set(n,w)}}v(d,h?void 0:b?m:k,void 0,!1,f,c);return{nodeMap:Array.from(c.entries()),range:f}}if(l.DEPRECATED_$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){let b=r.get(a);void 0===b&&(b=z(a),r.set(a,b));return b}function z(a){let b={};a=a.split(\";\");for(let c of a)if(\"\"!==c){let [g,d]=c.split(/:([^]+)/);b[g.trim()]=d.trim()}return b}function A(a,b){var c=y(a.getStyle());b=c?{...c,...b}:b;c=\"\";for(g in b)g&&(c+=`${g}: ${b[g]};`);var g=c;a.setStyle(g);r.set(g,b)}function B(a,b,c,g){a.modify(b?\"extend\":\"move\",c,g)}function C(a){a=a.anchor.getNode();return\"rtl\"===(l.$isRootNode(a)?a:a.getParentOrThrow()).getDirection()}\nfunction E(a){for(;null!==a&&!l.$isRootOrShadowRoot(a);){let b=a.getLatest(),c=a.getParent();0===b.__children.length&&a.remove(!0);a=c}}\nfunction F(a,b,c,g,d=null){if(0!==b.length){var f=b[0],h=new Map,e=[];f=l.$isElementNode(f)?f:f.getParentOrThrow();f.isInline()&&(f=f.getParentOrThrow());for(var k=!1;null!==f;){var m=f.getPreviousSibling();if(null!==m){f=m;k=!0;break}f=f.getParentOrThrow();if(l.$isRootOrShadowRoot(f))break}m=new Set;for(var p=0;p<c;p++){var n=b[p];l.$isElementNode(n)&&0===n.getChildrenSize()&&m.add(n.getKey())}var w=new Set;for(p=0;p<c;p++){n=b[p];var q=n.getParent();null!==q&&q.isInline()&&(q=q.getParent());if(null!==\nq&&l.$isLeafNode(n)&&!w.has(n.getKey())){if(n=q.getKey(),void 0===h.get(n)){let t=g();t.setFormat(q.getFormatType());t.setIndent(q.getIndent());e.push(t);h.set(n,t);q.getChildren().forEach(D=>{t.append(D);w.add(D.getKey())});E(q)}}else m.has(n.getKey())&&(q=g(),q.setFormat(n.getFormatType()),q.setIndent(n.getIndent()),e.push(q),n.remove(!0))}if(null!==d)for(b=0;b<e.length;b++)d.append(e[b]);if(l.$isRootOrShadowRoot(f))if(k)if(null!==d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);\nelse if(b=f.getFirstChild(),l.$isElementNode(b)&&(f=b),null===b)if(d)f.append(d);else for(d=0;d<e.length;d++)f.append(e[d]);else if(null!==d)b.insertBefore(d);else for(f=0;f<e.length;f++)b.insertBefore(e[f]);else if(d)f.insertAfter(d);else for(d=e.length-1;0<=d;d--)f.insertAfter(e[d]);e=l.$getPreviousSelection();l.$isRangeSelection(e)&&e.anchor.getNode().isAttached()&&e.focus.getNode().isAttached()?l.$setSelection(e.clone()):a.dirty=!0}}\nfunction G(a){for(;null!=a;){if(a.nodeType===Node.TEXT_NODE)return a;a=a.firstChild}return null}function H(a){let b=a.parentNode;if(null==b)throw Error(\"Should never happen\");return[b,Array.from(b.childNodes).indexOf(a)]}exports.$addNodeStyle=function(a){a=a.getStyle();let b=z(a);r.set(a,b)};exports.$cloneContents=function(a){return x(a)};exports.$cloneWithProperties=u;\nexports.$getSelectionStyleValueForProperty=function(a,b,c=\"\"){let g=null,d=a.getNodes();var f=a.anchor,h=a.focus,e=a.isBackward();a=e?h.offset:f.offset;f=e?h.getNode():f.getNode();for(h=0;h<d.length;h++){var k=d[h];if((0===h||0!==a||!k.is(f))&&l.$isTextNode(k)){e=b;var m=c;k=k.getStyle();k=y(k);e=null!==k?k[e]||m:m;if(null===g)g=e;else if(g!==e){g=\"\";break}}}return null===g?c:g};exports.$isAtNodeEnd=function(a){return\"text\"===a.type?a.offset===a.getNode().getTextContentSize():a.offset===a.getNode().getChildrenSize()};\nexports.$isParentElementRTL=C;exports.$moveCaretSelection=B;exports.$moveCharacter=function(a,b,c){let g=C(a);B(a,b,c?!g:g,\"character\")};\nexports.$patchStyleText=function(a,b){var c=a.getNodes();let g=c.length-1,d=c[0],f=c[g];if(!a.isCollapsed()){var h=a.anchor,e=a.focus;a=d.getTextContent().length;var k=e.offset,m=h.offset;h=(e=h.isBefore(e))?m:k;e=e?k:m;if(h===d.getTextContentSize()){let p=d.getNextSibling();l.$isTextNode(p)&&(h=m=0,d=p)}if(d.is(f))l.$isTextNode(d)&&(h=m>k?k:m,e=m>k?m:k,h!==e&&(0===h&&e===a?(A(d,b),d.select(h,e)):(c=d.splitText(h,e),c=0===h?c[0]:c[1],A(c,b),c.select(0,e-h))));else for(l.$isTextNode(d)&&(0!==h&&(d=\nd.splitText(h)[1]),A(d,b)),l.$isTextNode(f)&&(a=f.getTextContent().length,e!==a&&([f]=f.splitText(e)),0!==e&&A(f,b)),a=1;a<g;a++)k=c[a],m=k.getKey(),l.$isTextNode(k)&&m!==d.getKey()&&m!==f.getKey()&&!k.isToken()&&A(k,b)}};\nexports.$selectAll=function(a){let b=a.anchor;a=a.focus;var c=b.getNode().getTopLevelElementOrThrow().getParentOrThrow();let g=c.getFirstDescendant();c=c.getLastDescendant();let d=\"element\",f=\"element\",h=0;l.$isTextNode(g)?d=\"text\":l.$isElementNode(g)||null===g||(g=g.getParentOrThrow());l.$isTextNode(c)?(f=\"text\",h=c.getTextContentSize()):l.$isElementNode(c)||null===c||(c=c.getParentOrThrow());g&&c&&(b.set(g.getKey(),0,d),a.set(c.getKey(),h,f))};\nexports.$shouldOverrideDefaultCharacterSelection=function(a,b){a=l.$getDecoratorNode(a.focus,b);return l.$isDecoratorNode(a)&&!a.isIsolated()};\nexports.$sliceSelectedTextNodeContent=function(a,b){if(b.isSelected()&&!b.isSegmented()&&!b.isToken()&&(l.$isRangeSelection(a)||l.DEPRECATED_$isGridSelection(a))){var c=a.anchor.getNode(),g=a.focus.getNode(),d=b.is(c),f=b.is(g);if(d||f){d=a.isBackward();let [h,e]=a.getCharacterOffsets();a=c.is(g);f=b.is(d?g:c);g=b.is(d?c:g);c=0;let k=void 0;a?(c=h>e?e:h,k=h>e?h:e):f?(c=d?e:h,k=void 0):g&&(d=d?h:e,c=0,k=d);b.__text=b.__text.slice(c,k)}}return b};\nexports.$wrapNodes=function(a,b,c=null){var g=a.getNodes();let d=g.length;var f=a.anchor;if(0===d||1===d&&\"element\"===f.type&&0===f.getNode().getChildrenSize()){a=\"text\"===f.type?f.getNode().getParentOrThrow():f.getNode();g=a.getChildren();let e=b();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());g.forEach(k=>e.append(k));c&&(e=c.append(e));a.replace(e)}else{f=null;var h=[];for(let e=0;e<d;e++){let k=g[e];l.$isRootOrShadowRoot(k)?(F(a,h,h.length,b,c),h=[],f=k):null===f||null!==f&&l.$hasAncestor(k,\nf)?h.push(k):(F(a,h,h.length,b,c),h=[k])}F(a,h,h.length,b,c)}};exports.$wrapNodesImpl=F;\nexports.createDOMRange=function(a,b,c,g,d){let f=b.getKey(),h=g.getKey(),e=document.createRange(),k=a.getElementByKey(f);a=a.getElementByKey(h);l.$isTextNode(b)&&(k=G(k));l.$isTextNode(g)&&(a=G(a));if(void 0===b||void 0===g||null===k||null===a)return null;\"BR\"===k.nodeName&&([k,c]=H(k));\"BR\"===a.nodeName&&([a,d]=H(a));b=k.firstChild;k===a&&null!=b&&\"BR\"===b.nodeName&&0===c&&0===d&&(d=1);try{e.setStart(k,c),e.setEnd(a,d)}catch(m){return null}!e.collapsed||c===d&&f===h||(e.setStart(a,d),e.setEnd(k,\nc));return e};exports.createRectsFromDOMRange=function(a,b){var c=a.getRootElement();if(null===c)return[];a=c.getBoundingClientRect();c=getComputedStyle(c);c=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight);b=Array.from(b.getClientRects());let g=b.length,d;for(let f=0;f<g;f++){let h=b[f],e=h.width+c===a.width;d&&d.top===h.top&&d.left===h.left&&d.width===h.width&&d.height===h.height||e?(b.splice(f--,1),g--):d=h}return b};exports.getStyleObjectFromCSS=y;\nexports.trimTextContentFromAnchor=function(a,b,c){let g=b.getNode();if(l.$isElementNode(g)){var d=g.getDescendantByIndex(b.offset);null!==d&&(g=d)}for(;0<c&&null!==g;){var f=g.getPreviousSibling(),h=0;if(null===f){d=g.getParentOrThrow();for(var e=d.getPreviousSibling();null===e;){d=d.getParent();if(null===d){f=null;break}e=d.getPreviousSibling()}null!==d&&(h=d.isInline()?0:2,f=l.$isElementNode(e)?e.getLastDescendant():e)}let k=g.getTextContent();\"\"===k&&l.$isElementNode(g)&&!g.isInline()&&(k=\"\\n\\n\");\nd=k.length;e=d-c;let m=k.slice(0,e);if(!l.$isTextNode(g)||c>=d)e=g.getParent(),g.remove(),null!=e&&0===e.getChildrenSize()&&e.remove(),c-=d+h,g=f;else{let p=g.getKey();f=a.getEditorState().read(()=>{const n=l.$getNodeByKey(p);return l.$isTextNode(n)&&n.isSimpleText()?n.getTextContent():null});null!==f&&f!==k?(c=l.$getPreviousSelection(),d=g,g.isSimpleText()?g.setTextContent(f):(d=l.$createTextNode(f),g.replace(d)),l.$isRangeSelection(c)&&c.isCollapsed()&&(c=c.anchor.offset,d.select(c,c))):g.isSimpleText()?\n(f=b.key===p,h=b.offset,h<c&&(h=d),c=f?h-c:0,d=f?h:e,f&&0===c?([c]=g.splitText(c,d),c.remove()):([,c]=g.splitText(c,d),c.remove())):(c=l.$createTextNode(m),g.replace(c));c=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 n=require(\"@lexical/selection\"),q=require(\"lexical\");\nfunction r(c,d,h,b=null){let e=null!=b?d.isSelected():!0,l=q.$isElementNode(d)&&d.excludeFromCopy(\"html\");var a=d;null!==b&&(a=n.$cloneWithProperties(d),a=q.$isTextNode(a)&&null!=b?n.$sliceSelectedTextNodeContent(b,a):a);let f=q.$isElementNode(a)?a.getChildren():[],{element:k,after:g}=a.exportDOM(c);if(!k)return!1;let m=new DocumentFragment;for(let p=0;p<f.length;p++){let t=f[p],w=r(c,t,m,b);!e&&q.$isElementNode(d)&&w&&d.extractWithChild(t,b,\"html\")&&(e=!0)}e&&!l?(k.append(m),h.append(k),g&&(c=g.call(a,\nk))&&k.replaceWith(c)):h.append(m);return e}let u=new Set([\"STYLE\"]);\nfunction v(c,d,h=new Map,b,e=!1){let l=[];if(u.has(c.nodeName))return l;let a=null;var {nodeName:f}=c,k=d._htmlConversions.get(f.toLowerCase());f=null;if(void 0!==k)for(g of k)k=g(c),null!==k&&(null===f||f.priority<k.priority)&&(f=k);var g=(g=null!==f?f.conversion:null)?g(c,void 0,e):null;f=null;if(null!==g){f=g.after;a=g.node;if(null!==a){for(var [,m]of h)if(a=m(a,b),!a)break;a&&l.push(a)}null!=g.forChild&&h.set(c.nodeName,g.forChild)}c=c.childNodes;b=[];for(m=0;m<c.length;m++)b.push(...v(c[m],d,\nnew Map(h),a,e||!0===(g&&g.preformatted)));null!=f&&(b=f(b));null==a?l=l.concat(b):q.$isElementNode(a)&&a.append(...b);return l}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 h=document.createElement(\"div\"),b=q.$getRoot().getChildren();for(let e=0;e<b.length;e++)r(c,b[e],h,d);return h.innerHTML};\nexports.$generateNodesFromDOM=function(c,d){let h=[];d=d.body?Array.from(d.body.childNodes):[];let b=d.length;for(let l=0;l<b;l++){var e=d[l];u.has(e.nodeName)||(e=v(e,c),null!==e&&(h=h.concat(e)))}return h}\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 c=require(\"@lexical/html\"),n=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,b,d){(z.DEPRECATED_$isGridSelection(d)||null!==y.$findMatchingParent(d.anchor.getNode(),g=>z.DEPRECATED_$isGridCellNode(g))&&null!==y.$findMatchingParent(d.focus.getNode(),g=>z.DEPRECATED_$isGridCellNode(g)))&&1===b.length&&z.DEPRECATED_$isGridNode(b[0])?E(b,d,!1,a):F(b,d)}\nfunction F(a,b){let d=[],g=null,e=null;for(let h=0;h<a.length;h++){let f=a[h];n.$isListItemNode(f)?(null==e&&(e=n.$createListNode(\"bullet\"),d.push(e)),e.append(f)):(null!=e&&(e=null),z.$isDecoratorNode(f)&&f.isInline()||z.$isElementNode(f)&&f.isInline()||z.$isTextNode(f)||z.$isLineBreakNode(f)?(null===g&&(g=z.$createParagraphNode(),d.push(g)),null!==g&&g.append(f)):(d.push(f),g=null))}z.$isRangeSelection(b)?b.insertNodes(d):z.DEPRECATED_$isGridSelection(b)&&(a=b.anchor.getNode(),z.DEPRECATED_$isGridCellNode(a)||\nA(41),a.append(...d))}\nfunction E(a,b,d,g){1===a.length&&z.DEPRECATED_$isGridNode(a[0])||A(42);var e=a[0];a=e.getChildren();d=e.getFirstChildOrThrow().getChildrenSize();var h=e.getChildrenSize(),f=y.$findMatchingParent(b.anchor.getNode(),l=>z.DEPRECATED_$isGridCellNode(l));b=(e=f&&y.$findMatchingParent(f,l=>z.DEPRECATED_$isGridRowNode(l)))&&y.$findMatchingParent(e,l=>z.DEPRECATED_$isGridNode(l));z.DEPRECATED_$isGridCellNode(f)&&z.DEPRECATED_$isGridRowNode(e)&&z.DEPRECATED_$isGridNode(b)||A(43);var k=e.getIndexWithinParent(),\np=Math.min(b.getChildrenSize()-1,k+h-1);h=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,h+d-1);d=Math.min(h,f);e=Math.min(k,p);h=Math.max(h,f);k=Math.max(k,p);p=b.getChildren();f=0;let m,q;for(let l=e;l<=k;l++){var w=p[l];z.DEPRECATED_$isGridRowNode(w)||A(24);var x=a[f];z.DEPRECATED_$isGridRowNode(x)||A(24);w=w.getChildren();x=x.getChildren();let C=0;for(let t=d;t<=h;t++){let u=w[t];z.DEPRECATED_$isGridCellNode(u)||A(25);let D=x[C];z.DEPRECATED_$isGridCellNode(D)||A(25);l===e&&t===d?m=\nu.getKey():l===k&&t===h&&(q=u.getKey());let J=u.getChildren();D.getChildren().forEach(v=>{z.$isTextNode(v)&&z.$createParagraphNode().append(v);u.append(v)});J.forEach(v=>v.remove());C++}f++}m&&q&&(a=z.DEPRECATED_$createGridSelection(),a.set(b.getKey(),m,q),z.$setSelection(a),g.dispatchCommand(z.SELECTION_CHANGE_COMMAND,void 0))}\nfunction G(a,b,d,g=[]){let e=null!=b?d.isSelected():!0,h=z.$isElementNode(d)&&d.excludeFromCopy(\"html\");var f=d;if(null!==b){var k=r.$cloneWithProperties(d);f=k=z.$isTextNode(k)&&null!=b?r.$sliceSelectedTextNodeContent(b,k):k}let p=z.$isElementNode(f)?f.getChildren():[];var m=f;k=m.exportJSON();k.type!==m.constructor.getType()&&A(58);var q=k.children;z.$isElementNode(m)&&(Array.isArray(q)||A(59));z.$isTextNode(f)&&(k.text=f.__text);for(f=0;f<p.length;f++)m=p[f],q=G(a,b,m,k.children),!e&&z.$isElementNode(d)&&\nq&&d.extractWithChild(m,b,\"clone\")&&(e=!0);if(e&&!h)g.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)g.push(k.children[a]);return e}function H(a,b){let d=[],g=z.$getRoot().getChildren();for(let e=0;e<g.length;e++)G(a,b,g[e],d);return{namespace:a._config.namespace,nodes:d}}function I(a){let b=[];for(let d=0;d<a.length;d++){let g=z.$parseSerializedNode(a[d]);z.$isTextNode(g)&&r.$addNodeStyle(g);b.push(g)}return b}exports.$generateJSONFromSelectedNodes=H;\nexports.$generateNodesFromSerializedNodes=I;exports.$getHtmlContent=function(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:c.$generateHtmlFromNodes(a,b)};exports.$getLexicalContent=function(a){let b=z.$getSelection();if(null==b)throw Error(\"Expected valid LexicalSelection\");return z.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(H(a,b))};\nexports.$insertDataTransferForPlainText=function(a,b){a=a.getData(\"text/plain\");null!=a&&b.insertRawText(a)};\nexports.$insertDataTransferForRichText=function(a,b,d){var g=a.getData(\"application/x-lexical-editor\");if(g)try{let h=JSON.parse(g);if(h.namespace===d._config.namespace&&Array.isArray(h.nodes)){let f=I(h.nodes);return B(d,f,b)}}catch{}if(g=a.getData(\"text/html\"))try{var e=(new DOMParser).parseFromString(g,\"text/html\");let h=c.$generateNodesFromDOM(d,e);return B(d,h,b)}catch{}a=a.getData(\"text/plain\");if(null!=a)if(z.$isRangeSelection(b))for(a=a.split(/\\r?\\n/),d=a.length,e=0;e<d;e++)b.insertText(a[e]),\ne<d-1&&b.insertParagraph();else b.insertRawText(a)};exports.$insertGeneratedNodes=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 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\"),f=require(\"@lexical/selection\"),g=require(\"@lexical/utils\"),h=require(\"lexical\");let l=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,m=l&&\"documentMode\"in document?document.documentMode:null;l&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);l&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);\nlet n=l&&\"InputEvent\"in window&&!m?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1,p=l&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),q=l&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;\nclass r extends h.ElementNode{static getType(){return\"quote\"}static clone(a){return new r(a.__key)}constructor(a){super(a)}createDOM(a){let c=document.createElement(\"blockquote\");g.addClassNamesToElement(c,a.theme.quote);return c}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:t,priority:0})}}static importJSON(a){let c=w();c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(){let a=\nh.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);return a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}}function w(){return new r}\nclass x extends h.ElementNode{static getType(){return\"heading\"}static clone(a){return new x(a.__tag,a.__key)}constructor(a,c){super(c);this.__tag=a}getTag(){return this.__tag}createDOM(a){let c=this.__tag,d=document.createElement(c);a=a.theme.heading;void 0!==a&&g.addClassNamesToElement(d,a[c]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:y,priority:0}),h2:()=>({conversion:y,priority:0}),h3:()=>({conversion:y,priority:0}),h4:()=>({conversion:y,priority:0}),h5:()=>({conversion:y,\npriority:0}),h6:()=>({conversion:y,priority:0}),p:a=>{a=a.firstChild;return null!==a&&z(a)?{conversion:()=>({node:null}),priority:3}:null},span:a=>z(a)?{conversion:()=>({node:A(\"h1\")}),priority:3}:null}}static importJSON(a){let c=A(a.tag);c.setFormat(a.format);c.setIndent(a.indent);c.setDirection(a.direction);return c}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(){let a=h.$createParagraphNode(),c=this.getDirection();a.setDirection(c);this.insertAfter(a);\nreturn a}collapseAtStart(){let a=h.$createParagraphNode();this.getChildren().forEach(c=>a.append(c));this.replace(a);return!0}extractWithChild(){return!0}}function z(a){return\"span\"===a.nodeName.toLowerCase()?\"26pt\"===a.style.fontSize:!1}function y(a){a=a.nodeName.toLowerCase();let c=null;if(\"h1\"===a||\"h2\"===a||\"h3\"===a||\"h4\"===a||\"h5\"===a||\"h6\"===a)c=A(a);return{node:c}}function t(){return{node:w()}}function A(a){return new x(a)}\nfunction B(a,c){a.preventDefault();c.update(()=>{let d=h.$getSelection(),e=a instanceof InputEvent||a instanceof KeyboardEvent?null:a.clipboardData;null!=e&&(h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d))&&b.$insertDataTransferForRichText(e,d,c)},{tag:\"paste\"})}\nfunction C(a,c){var d=h.$getSelection();if(null!==d){a.preventDefault();a=a instanceof KeyboardEvent?null:a.clipboardData;let e=b.$getHtmlContent(c);c=b.$getLexicalContent(c);null!=a?(null!==e&&a.setData(\"text/html\",e),null!==c&&a.setData(\"application/x-lexical-editor\",c),d=d.getTextContent(),a.setData(\"text/plain\",d)):(d=navigator.clipboard,null!=d&&(a=[new ClipboardItem({\"text/html\":new Blob([e],{type:\"text/html\"})})],d.write(a)))}}\nfunction D(a,c){C(a,c);a=h.$getSelection();h.$isRangeSelection(a)?a.removeText():h.$isNodeSelection(a)&&a.getNodes().forEach(d=>d.remove())}function E(a,c){var d=h.$getSelection();if(h.$isRangeSelection(d)){var e=new Set;d=d.getNodes();for(let u=0;u<d.length;u++){let v=d[u];var k=v.getKey();e.has(k)||(e.add(k),k=g.$getNearestBlockElementAncestorOrThrow(v),k.canInsertTab()?a(v):k.canIndent()&&c(k))}}}function F(a){a=h.$getNearestNodeFromDOMNode(a);return h.$isDecoratorNode(a)}\nexports.$createHeadingNode=A;exports.$createQuoteNode=w;exports.$isHeadingNode=function(a){return a instanceof x};exports.$isQuoteNode=function(a){return a instanceof r};exports.HeadingNode=x;exports.QuoteNode=r;\nexports.registerRichText=function(a){return g.mergeRegister(a.registerCommand(h.CLICK_COMMAND,()=>{const c=h.$getSelection();return h.$isNodeSelection(c)?(c.clear(),!0):!1},0),a.registerCommand(h.DELETE_CHARACTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteCharacter(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DELETE_WORD_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteWord(c);return!0},h.COMMAND_PRIORITY_EDITOR),\na.registerCommand(h.DELETE_LINE_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.deleteLine(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,c=>{const d=h.$getSelection();if(\"string\"===typeof c)h.$isRangeSelection(d)?d.insertText(c):h.DEPRECATED_$isGridSelection(d);else{if(!h.$isRangeSelection(d)&&!h.DEPRECATED_$isGridSelection(d))return!1;const e=c.dataTransfer;null!=e?b.$insertDataTransferForRichText(e,d,a):h.$isRangeSelection(d)&&\n(c=c.data)&&d.insertText(c)}return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.REMOVE_TEXT_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.removeText();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_TEXT_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.formatText(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.FORMAT_ELEMENT_COMMAND,c=>{var d=h.$getSelection();if(!h.$isRangeSelection(d)&&!h.$isNodeSelection(d))return!1;\nd=d.getNodes();for(const e of d)g.$getNearestBlockElementAncestorOrThrow(e).setFormat(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_LINE_BREAK_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;d.insertLineBreak(c);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INSERT_PARAGRAPH_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;c.insertParagraph();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.INDENT_CONTENT_COMMAND,\n()=>{E(()=>{a.dispatchCommand(h.CONTROLLED_TEXT_INSERTION_COMMAND,\"\\t\")},c=>{const d=c.getIndent();10!==d&&c.setIndent(d+1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.OUTDENT_CONTENT_COMMAND,()=>{E(c=>{h.$isTextNode(c)&&(c=c.getTextContent(),\"\\t\"===c[c.length-1]&&a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0))},c=>{const d=c.getIndent();0!==d&&c.setIndent(d-1)});return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_UP_COMMAND,c=>{const d=h.$getSelection();return h.$isNodeSelection(d)&&\n!F(c.target)&&(c=d.getNodes(),0<c.length)?(c[0].selectPrevious(),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_DOWN_COMMAND,()=>{var c=h.$getSelection();return h.$isNodeSelection(c)&&(c=c.getNodes(),0<c.length)?(c[0].selectNext(0,0),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_LEFT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectPrevious(),!0}return h.$isRangeSelection(d)?f.$shouldOverrideDefaultCharacterSelection(d,\n!0)?(e=c.shiftKey,c.preventDefault(),f.$moveCharacter(d,e,!0),!0):!1:!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ARROW_RIGHT_COMMAND,c=>{const d=h.$getSelection();if(h.$isNodeSelection(d)&&!F(c.target)){var e=d.getNodes();if(0<e.length)return c.preventDefault(),e[0].selectNext(0,0),!0}if(!h.$isRangeSelection(d))return!1;e=c.shiftKey;return f.$shouldOverrideDefaultCharacterSelection(d,!1)?(c.preventDefault(),f.$moveCharacter(d,e,!1),!0):!1},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_BACKSPACE_COMMAND,\nc=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();({anchor:c}=d);const e=c.getNode();return d.isCollapsed()&&0===c.offset&&!h.$isRootNode(e)&&0<g.$getNearestBlockElementAncestorOrThrow(e).getIndent()?a.dispatchCommand(h.OUTDENT_CONTENT_COMMAND,void 0):a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_DELETE_COMMAND,c=>{if(F(c.target))return!1;const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(h.DELETE_CHARACTER_COMMAND,!1)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ENTER_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;if(null!==c){if((q||p)&&n)return!1;c.preventDefault();if(c.shiftKey)return a.dispatchCommand(h.INSERT_LINE_BREAK_COMMAND,!1)}return a.dispatchCommand(h.INSERT_PARAGRAPH_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_TAB_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;\nc.preventDefault();return a.dispatchCommand(c.shiftKey?h.OUTDENT_CONTENT_COMMAND:h.INDENT_CONTENT_COMMAND,void 0)},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.KEY_ESCAPE_COMMAND,()=>{const c=h.$getSelection();if(!h.$isRangeSelection(c))return!1;a.blur();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DROP_COMMAND,c=>{const d=h.$getSelection();if(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.DRAGSTART_COMMAND,c=>{const d=h.$getSelection();\nif(!h.$isRangeSelection(d))return!1;c.preventDefault();return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.COPY_COMMAND,c=>{C(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.CUT_COMMAND,c=>{D(c,a);return!0},h.COMMAND_PRIORITY_EDITOR),a.registerCommand(h.PASTE_COMMAND,c=>{const d=h.$getSelection();return h.$isRangeSelection(d)||h.DEPRECATED_$isGridSelection(d)?(B(c,a),!0):!1},h.COMMAND_PRIORITY_EDITOR))}\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;","import React from 'react';\n\nconst CardContext = React.createContext({});\n\nexport default CardContext;\n","import React from 'react';\nimport {\n $createNodeSelection,\n $createParagraphNode,\n $getNodeByKey,\n $getSelection,\n $isDecoratorNode,\n $isNodeSelection,\n $setSelection,\n BLUR_COMMAND,\n CLICK_COMMAND,\n COMMAND_PRIORITY_EDITOR,\n COMMAND_PRIORITY_LOW,\n KEY_BACKSPACE_COMMAND,\n KEY_DELETE_COMMAND,\n KEY_ENTER_COMMAND\n} from 'lexical';\nimport {mergeRegister} from '@lexical/utils';\nimport {useLexicalNodeSelection} from '@lexical/react/useLexicalNodeSelection';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport WrapperContext from '../context/CardContext';\n\nconst KoenigCardWrapperComponent = ({nodeKey, children}) => {\n const [editor] = useLexicalComposerContext();\n const [isSelected, setSelected, clearSelected] = useLexicalNodeSelection(nodeKey);\n const [selection, setSelection] = React.useState(null);\n const [cardType, setCardType] = React.useState(null);\n const ref = React.useRef(null);\n\n React.useLayoutEffect(() => {\n editor.getEditorState().read(() => {\n const cardNode = $getNodeByKey(nodeKey);\n setCardType(cardNode.getType());\n });\n\n // We only do this for init\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({editorState}) => {\n setSelection(editorState.read(() => $getSelection()));\n }),\n editor.registerCommand(\n CLICK_COMMAND,\n (event) => {\n if (ref.current.contains(event.target)) {\n clearSelected();\n setSelected(true);\n } else if (isSelected) {\n setSelected(false);\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n BLUR_COMMAND,\n (event) => {\n if (isSelected && !ref.current.contains(event.relatedTarget)) {\n clearSelected();\n }\n return false;\n },\n COMMAND_PRIORITY_LOW\n ),\n editor.registerCommand(\n KEY_ENTER_COMMAND,\n (event) => {\n // TODO: test if this is needed when code card is working again\n // we don't want to insert paragraphs if Enter is pressed inside card's form element\n // if (event.target.matches('input textarea select option')) {\n // return false;\n // }\n\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_BACKSPACE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const previousSibling = cardNode.getPreviousSibling();\n const nextSibling = cardNode.getNextSibling();\n\n if (previousSibling) {\n if (previousSibling.selectEnd) {\n previousSibling.selectEnd();\n } else if ($isDecoratorNode(previousSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(previousSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectPrevious();\n }\n } else if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n ),\n editor.registerCommand(\n KEY_DELETE_COMMAND,\n (event) => {\n const latestSelection = $getSelection();\n if (isSelected && $isNodeSelection(latestSelection) && latestSelection.getNodes().length === 1) {\n event.preventDefault();\n const cardNode = $getNodeByKey(nodeKey);\n const nextSibling = cardNode.getNextSibling();\n\n if (nextSibling) {\n if (nextSibling.selectStart) {\n nextSibling.selectStart();\n } else if ($isDecoratorNode(nextSibling)) {\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(nextSibling.getKey());\n $setSelection(nodeSelection);\n } else {\n cardNode.selectNext();\n }\n } else {\n const paragraphNode = $createParagraphNode();\n cardNode.getTopLevelElementOrThrow().insertAfter(paragraphNode);\n paragraphNode.select();\n }\n\n cardNode.remove();\n\n return true;\n }\n return false;\n },\n COMMAND_PRIORITY_EDITOR\n )\n );\n }, [editor, isSelected, setSelected, clearSelected, nodeKey]);\n\n const isFocused = $isNodeSelection(selection) && isSelected;\n\n return (\n <WrapperContext.Provider value={{isSelected, selection, wpkey: nodeKey}}>\n <div\n className={`relative border border-transparent caret-grey-800 ${isFocused ? 'shadow-[0_0_0_2px] shadow-green' : 'hover:shadow-[0_0_0_1px] hover:shadow-green'}`}\n ref={ref}\n data-kg-card={cardType}\n data-kg-card-selected={isFocused}\n >\n {children}\n </div>\n </WrapperContext.Provider>\n );\n};\n\nexport default KoenigCardWrapperComponent;\n","import * as React from 'react';\nimport {createCommand, DecoratorNode} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as DividerCardIcon} from '../assets/icons/kg-card-type-divider.svg';\n\nexport const INSERT_HORIZONTAL_RULE_COMMAND = createCommand();\n\nfunction HorizontalRuleComponent({nodeKey}) {\n return (\n <hr className=\"block h-[1px] border-0 border-t border-grey-300\" />\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 static kgMenu = {\n label: 'Divider',\n desc: 'Insert a dividing line',\n Icon: DividerCardIcon,\n insertCommand: INSERT_HORIZONTAL_RULE_COMMAND\n };\n\n exportJSON() {\n return {\n type: 'horizontalrule',\n version: 1\n };\n }\n\n createDOM() {\n const div = document.createElement('div');\n return div;\n }\n\n getTextContent() {\n return '\\n';\n }\n\n isInline() {\n return false;\n }\n\n updateDOM() {\n return false;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()} className=\"inline-block\">\n <HorizontalRuleComponent nodeKey={this.getKey()} />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport function $createHorizontalRuleNode() {\n return new HorizontalRuleNode();\n}\n\nexport function $isHorizontalRuleNode(node) {\n return node instanceof HorizontalRuleNode;\n}\n","import {useEffect} from 'react';\n\nconst useAutoExpandTextArea = ({el, value}) => {\n useEffect(() => {\n const element = el.current;\n if (element) {\n element.style.height = '0px';\n const height = element.scrollHeight;\n element.style.height = `${height}px`;\n }\n }, [el, value]);\n};\n\nexport default useAutoExpandTextArea;\n","import * as React from 'react';\nimport {\n $getNodeByKey,\n createCommand,\n DecoratorNode\n} from 'lexical';\n// import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport useAutoExpandTextArea from '../utils/autoExpandTextArea';\n\nexport const CODE_BLOCK_COMMAND = createCommand();\n\nfunction CodeBlockComponent({className, code, language, nodeKey, editor}) {\n const el = React.useRef(null);\n\n useAutoExpandTextArea({el, value: code});\n\n const updateCode = (event) => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCode(event.target.value);\n });\n };\n\n return (\n <code>\n <textarea\n ref={el}\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n tabIndex=\"0\"\n autoFocus\n className='min-h-170 w-full bg-grey-50 p-3 text-grey-900'\n value={code}\n onChange={updateCode} />\n </code>\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, initCode, key) {\n super(key);\n this.__language = language;\n this.__code = initCode;\n }\n\n createDOM(config) {\n return document.createElement('div');\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\n return (\n <KoenigCardWrapper className={className} nodeKey={this.getKey()}>\n <CodeBlockComponent\n className={className}\n code={this.__code}\n language={this.__language}\n nodeKey={this.getKey()}\n editor={editor}\n />\n </KoenigCardWrapper>\n );\n }\n\n isInline() {\n return false;\n }\n}\n\nexport function $createCodeBlockNode(language, initCode) {\n return new CodeBlockNode(language, initCode);\n}\n\nexport function $isCodeBlockNode(node) {\n return node instanceof CodeBlockNode;\n}\n","import React from 'react';\n\nconst KoenigComposerContext = React.createContext({});\n\nexport default KoenigComposerContext;\n","import React, {useState, useRef, useEffect, useContext} from 'react';\nimport {DecoratorNode, $getNodeByKey, createCommand} from 'lexical';\nimport KoenigCardWrapper from '../components/KoenigCardWrapper';\nimport {ReactComponent as ImgPlaceholderIcon} from '../assets/icons/kg-img-placeholder.svg';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {ReactComponent as ImageCardIcon} from '../assets/icons/kg-card-type-image.svg';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport CardContext from '../context/CardContext';\n\nexport const INSERT_IMAGE_COMMAND = createCommand();\n\nfunction MediaCard({dataset, editor, nodeKey}) {\n const {payload, setPayload} = dataset;\n const {imageUploader} = React.useContext(KoenigComposerContext);\n\n // const [uploadPercentage, setUploadPercentage] = useState(0);\n\n const uploadRef = useRef(null);\n const onUploadChange = async (e) => {\n const fls = e.target.files;\n const files = await imageUploader.imageUploader(fls); // idea here is to have something like imageUploader.uploadProgressPercentage to pass to the progress bar.\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setSrc(files.src);\n setPayload(node.getPayload());\n });\n };\n\n useEffect(() => {\n const editorState = editor.getEditorState();\n editorState.read(() => {\n const node = $getNodeByKey(nodeKey);\n setPayload(node.getPayload());\n });\n }, [editor, nodeKey, setPayload]);\n\n const openUpload = () => {\n uploadRef.current.click();\n };\n\n // if (uploadPercentage > 0 && uploadPercentage < 100 && (payload?.__key === nodeKey)) {\n // return (\n // <figure className=\"kg-card kg-image-card\">\n // <p className=\"text-center\">{uploadPercentage}</p>\n // </figure>\n // );\n // }\n\n if (payload?.__src) {\n return (\n <figure className=\"kg-card kg-image-card\">\n <img src={payload?.__src} alt={payload?.__altText} />\n </figure>\n );\n } else {\n return (\n <>\n <MediaPlaceholder onClick={openUpload} desc=\"Click to select an image\" Icon={ImgPlaceholderIcon} />\n <form onChange={onUploadChange}>\n <input\n name=\"image-input\"\n type='file'\n accept='image/*'\n ref={uploadRef}\n hidden={true}\n />\n </form>\n </>\n );\n }\n}\n\nfunction ImageCard({nodeKey}) {\n const [altText, setAltText] = useState(false);\n const [editor] = useLexicalComposerContext();\n const [payload, setPayload] = React.useState({});\n const {isSelected, wpkey} = useContext(CardContext);\n\n React.useEffect(() => {\n const editorState = editor.getEditorState();\n editorState.read(() => {\n const node = $getNodeByKey(nodeKey);\n setPayload(node.getPayload());\n });\n }, [editor, nodeKey]);\n\n return (\n <div>\n <MediaCard dataset={{payload, setPayload}} editor={editor} nodeKey={nodeKey} />\n <div className=\"w-full p-2\">\n <CaptionEditor selected={isSelected} toggleAltText={{altText, setAltText}} wpkey={wpkey} nodeKey={nodeKey} placeholder={altText ? `Type alt text for image (optional)` : `Type caption for image (optional)`} />\n </div>\n </div>\n );\n}\n\nfunction MediaPlaceholder({desc, Icon, ...props}) {\n return (\n <div className=\"relative\">\n <figure className=\"cursor-pointer border border-transparent\" {...props}>\n <div className=\"h-100 relative flex items-center justify-center border border-grey-100 bg-grey-50 before:pb-[62.5%]\">\n <button name=\"placeholder-button\" className=\"group flex flex-col items-center justify-center p-20\">\n <Icon className=\"h-32 w-32 opacity-80 transition-all ease-linear group-hover:scale-105 group-hover:opacity-100\" />\n <p className=\"mt-4 font-sans text-sm font-normal text-grey-700 group-hover:text-grey-800\">{desc}</p>\n </button>\n </div>\n </figure>\n </div>\n );\n}\n\nfunction CaptionEditor({placeholder, nodeKey, toggleAltText, selected}) {\n const [editor] = useLexicalComposerContext();\n const [captionText, setCaptionText] = useState(null);\n const [altTextValue, setAltTextValue] = useState('');\n const {altText, setAltText} = toggleAltText;\n\n const handleChange = (e) => {\n if (!altText) {\n const cap = e.target.value;\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setCaption(cap);\n setCaptionText(cap);\n });\n } else {\n const alt = e.target.value;\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n node.setAltText(alt);\n setAltTextValue(alt);\n });\n }\n };\n\n useEffect(() => {\n const editorState = editor.getEditorState();\n editorState.read(() => {\n const node = $getNodeByKey(nodeKey);\n setCaptionText(node.getCaption());\n setAltTextValue(node.getAltText());\n });\n }, [editor, nodeKey]);\n\n const tgAltText = (e) => {\n e.stopPropagation();\n setAltText(!altText);\n };\n\n useEffect(() => {\n if (!selected) {\n setAltText(false);\n }\n }, [selected, setAltText]);\n\n if (selected || captionText) {\n return (\n <>\n <input\n onChange={handleChange}\n className=\"not-kg-prose w-full px-9 text-center font-sans text-sm font-normal leading-8 tracking-wide text-grey-900\"\n placeholder={placeholder}\n value={(altText ? altTextValue : captionText) || ''}\n />\n <button\n name=\"alt-toggle-button\"\n className={`absolute bottom-0 right-0 m-2 cursor-pointer rounded border px-1 font-sans text-[1.3rem] font-normal leading-7 tracking-wide transition-all duration-100 ${altText ? 'border-green bg-green text-white' : 'border-grey text-grey' } `}\n onClick={e => tgAltText(e)}>\n Alt\n </button>\n </>\n );\n }\n}\n\nfunction convertImageElement(domNode) {\n if (domNode instanceof HTMLImageElement) {\n const {altText, src} = domNode;\n const node = $createImageNode({altText, src});\n return {node};\n }\n return null;\n}\n\nexport class ImageNode extends DecoratorNode {\n static getType() {\n return 'image';\n }\n static clone(node) {\n return new ImageNode(\n node.__src,\n node.__caption,\n node.__altText,\n node.__key,\n node.__uploadProgress\n );\n }\n\n static importJSON(serializedNode) {\n const {caption, altText, src} = serializedNode;\n const node = $createImageNode({\n altText,\n caption,\n src\n });\n return node;\n }\n\n static kgMenu = {\n label: 'Image',\n desc: 'Upload, or embed with /image [url]',\n Icon: ImageCardIcon,\n insertCommand: INSERT_IMAGE_COMMAND\n };\n\n exportDOM(){\n const element = document.createElement('figure');\n const img = document.createElement('img');\n const figcaption = document.createElement('figcaption');\n img.src = this.getSrc();\n // img.alt = this.getAlt();\n figcaption.innerHTML = this.getCaption();\n element.appendChild(img);\n element.appendChild(figcaption);\n return {element};\n }\n\n static importDom() {\n return {\n img: (node = Node) => ({\n conversion: convertImageElement,\n priority: 1\n })\n };\n }\n\n constructor(src, caption, altText, key) {\n super(key);\n this.__caption = caption || '';\n this.__altText = altText || '';\n this.__src = src || '';\n }\n\n exportJSON() {\n // checks if src is a data string\n const src = this.getSrc();\n const isBlob = src.startsWith('data:');\n const dataset = {\n altText: this.getAltText(),\n caption: this.getCaption(),\n src: isBlob ? '<base64String>' : this.getSrc(),\n type: 'image'\n };\n return dataset;\n }\n\n getSrc() {\n return this.__src;\n }\n\n setUploadProgress(progress) {\n this.__uploadProgress = progress;\n return this.__uploadProgress;\n }\n\n getPayload() {\n return this.getLatest();\n }\n\n createDOM() {\n const element = document.createElement('div');\n return element;\n }\n updateDOM() {\n return false;\n }\n\n setSrc(src) {\n const self = this.getWritable();\n return self.__src = src;\n }\n\n setCaption(caption) {\n const self = this.getWritable();\n return self.__caption = caption;\n }\n\n getCaption() {\n return this.__caption;\n }\n\n setAltText(altText) {\n const self = this.getWritable();\n return self.__altText = altText;\n }\n\n getAltText() {\n return this.__altText;\n }\n\n decorate() {\n return (\n <KoenigCardWrapper nodeKey={this.getKey()}>\n <ImageCard nodeKey={this.getKey()} />\n </KoenigCardWrapper>\n );\n }\n}\n\nexport const $createImageNode = ({src, caption, altText} = {}) => {\n const node = new ImageNode(src, caption, altText);\n return node;\n};\n\nexport function $isImageNode(node) {\n return node instanceof ImageNode;\n}\n\nexport default ImageNode;\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';\nimport {ImageNode} from './ImageNode';\n\nconst DEFAULT_NODES = [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n AsideNode,\n LinkNode,\n CodeBlockNode,\n HorizontalRuleNode,\n ImageNode\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';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\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 imageUploadFunction,\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 const imageUploader = imageUploadFunction || function () {\n console.error('requires imageUploadFunction to be passed to KoenigComposer component, eg <KoenigComposer imageUploadFunction={function} />'); // eslint-disable-line no-console\n return;\n };\n\n return (\n <LexicalComposer initialConfig={initialConfig}>\n <KoenigComposerContext.Provider value={{imageUploader}}>\n {children}\n </KoenigComposerContext.Provider>\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 h=require(\"lexical\");function r(c,e=!0){if(c)return!1;c=t();e&&(c=c.trim());return\"\"===c}function t(){return h.$getRoot().getTextContent()}function u(c,e){if(!e||!r(c,!1))return!1;c=h.$getRoot().getChildren();e=c.length;if(1<e)return!1;for(let f=0;f<e;f++){var b=c[f];if(h.$isElementNode(b)){if(\"paragraph\"!==b.__type||0!==b.__indent)return!1;b=b.getChildren();let n=b.length;for(let p=0;p<n;p++)if(!h.$isTextNode(b[f]))return!1}}return!0}exports.$canShowPlaceholder=u;\nexports.$canShowPlaceholderCurry=function(c,e){return()=>u(c,e)};exports.$findTextIntersectionFromCharacters=function(c,e){var b=c.getFirstChild();c=0;a:for(;null!==b;){if(h.$isElementNode(b)){var f=b.getFirstChild();if(null!==f){b=f;continue}}else if(h.$isTextNode(b)){f=b.getTextContentSize();if(c+f>e)return{node:b,offset:e-c};c+=f}f=b.getNextSibling();if(null!==f)b=f;else{for(b=b.getParent();null!==b;){f=b.getNextSibling();if(null!==f){b=f;continue a}b=b.getParent()}break}}return null};\nexports.$isRootTextContentEmpty=r;exports.$isRootTextContentEmptyCurry=function(c,e){return()=>r(c,e)};exports.$rootTextContent=t;\nexports.registerLexicalTextEntity=function(c,e,b,f){let n=a=>{const d=h.$createTextNode(a.getTextContent());d.setFormat(a.getFormat());a.replace(d)},p=c.registerNodeTransform(h.TextNode,a=>{if(a.isSimpleText()){var d=a.getPreviousSibling(),l=a.getTextContent(),m=a;if(h.$isTextNode(d)){var k=d.getTextContent(),g=e(k+l);if(d instanceof b){if(null===g||0!==d.getLatest().__mode){n(d);return}g=g.end-k.length;if(0<g){m=l.slice(0,g);m=k+m;d.select();d.setTextContent(m);g===l.length?a.remove():(d=l.slice(g),\na.setTextContent(d));return}}else if(null===g||g.start<k.length)return}for(;;){a=e(l);l=g=null===a?\"\":l.slice(a.end);if(\"\"===g){if(k=m.getNextSibling(),h.$isTextNode(k))if(g=m.getTextContent()+k.getTextContent(),g=e(g),null===g){k instanceof b?n(k):k.markDirty();break}else if(0!==g.start)break}else if(k=e(g),null!==k&&0===k.start)break;if(null===a)break;if(0===a.start&&h.$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=f(q);q.replace(a);\nif(null==m)break}}});c=c.registerNodeTransform(b,a=>{var d=a.getTextContent();const l=e(d);null===l||0!==l.start?n(a):d.length>l.end?a.splitText(l.end):(d=a.getPreviousSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),n(a)),d=a.getNextSibling(),h.$isTextNode(d)&&d.isTextEntity()&&(n(d),a instanceof b&&n(a)))});return[p,c]}\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 c=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 [e,d]=h.useState(()=>t(a));r(()=>{function b(){let f=t(a);d(f)}b();return m.mergeRegister(a.registerUpdateListener(()=>{b()}),a.registerEditableListener(()=>{b()}))},[a]);return e}\nfunction v(a){let [e,d]=h.useState(()=>a.getDecorators());r(()=>a.registerDecoratorListener(b=>{n.flushSync(()=>{d(b)})}),[a]);h.useEffect(()=>{d(a.getDecorators())},[a]);return h.useMemo(()=>{let b=[],f=Object.keys(e);for(let k=0;k<f.length;k++){var g=f[k];let w=e[g];g=a.getElementByKey(g);null!==g&&b.push(n.createPortal(w,g))}return b},[e,a])}function x(a){r(()=>m.mergeRegister(q.registerRichText(a),p.registerDragonSupport(a)),[a])}\nexports.RichTextPlugin=function({contentEditable:a,placeholder:e}){let [d]=c.useLexicalComposerContext(),b=u(d),f=v(d);x(d);return h.createElement(h.Fragment,null,a,b&&e,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 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(!1),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 d=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 e=[];for(let g of m)m=p.get(g),void 0!==m&&e.push(m);for(let [g,n]of k)n&&(k=p.get(g),void 0===k||u.$isRootNode(k)||e.push(k));if(0===e.length)return 0;if(1<e.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=e[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,e,g,n)=>{let r=Date.now();if(n.has(\"historic\"))return k=0,m=r,2;let q=v(p,f,e,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<e.size||0<g.size?!1===h&&0!==q&&q===k&&r<m+a&&l||1===e.size&&(h=Array.from(e)[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:e,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(e,c,q,g,n,r);if(1===g)0!==t.length&&(a.redoStack=[]),null!==q&&(l.push({...q,undoSelection:e.read(u.$getSelection)}),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));else if(2===g)return;a.current={editor:b,editorState:c}}};let p=d.mergeRegister(b.registerCommand(u.UNDO_COMMAND,\n()=>{let c=a.redoStack,e=a.undoStack;if(0!==e.length){let g=a.current,n=e.pop();null!==g&&(c.push(g),b.dispatchCommand(u.CAN_REDO_COMMAND,!0));0===e.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 e=a.undoStack;if(0!==c.length){let g=a.current;null!==g&&(e.push(g),b.dispatchCommand(u.CAN_UNDO_COMMAND,!0));\ne=c.pop();0===c.length&&b.dispatchCommand(u.CAN_REDO_COMMAND,!1);a.current=e||null;e&&e.editor.setEditorState(e.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;b.dispatchCommand(u.CAN_REDO_COMMAND,!1);b.dispatchCommand(u.CAN_UNDO_COMMAND,!1);return!0},u.COMMAND_PRIORITY_EDITOR),\nb.registerUpdateListener(m)),f=b.registerUpdateListener(m);return()=>{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\"),f=require(\"react\"),g=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;\nexports.OnChangePlugin=function({ignoreHistoryMergeTagChange:d=!0,ignoreSelectionChange:e=!1,onChange:a}){let [b]=c.useLexicalComposerContext();g(()=>{if(a)return b.registerUpdateListener(({editorState:h,dirtyElements:k,dirtyLeaves:l,prevEditorState:m,tags:n})=>{e&&0===k.size&&0===l.size||d&&n.has(\"history-merge\")||m.isEmpty()||a(h,b)})},[b,d,e,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;","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isNodeSelection, $setSelection} from 'lexical';\n\nfunction useKoenigBehaviour({editor, containerElem}) {\n // deselect cards on mousedown outside of the editor container\n React.useEffect(() => {\n const onMousedown = (event) => {\n if (!containerElem.current.contains(event.target)) {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isNodeSelection(selection)) {\n $setSelection(null);\n }\n });\n }\n };\n\n window.addEventListener('mousedown', onMousedown);\n\n return () => {\n window.removeEventListener('mousedown', onMousedown);\n };\n }, [editor, containerElem]);\n\n return null;\n}\n\nexport default function KoenigBehaviourPlugin({containerElem = document.querySelector('.koenig-editor')}) {\n const [editor] = useLexicalComposerContext();\n return useKoenigBehaviour({editor, containerElem});\n}\n","\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\"),t=require(\"lexical\");let u={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\"},v={javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\"};function w(a){return v[a]||a}\nclass z extends t.TextNode{constructor(a,b,c){super(a,c);this.__highlightType=b}static getType(){return\"code-highlight\"}static clone(a){return new z(a.__text,a.__highlightType||void 0,a.__key)}getHighlightType(){return this.getLatest().__highlightType}createDOM(a){let b=super.createDOM(a);a=A(a.theme,this.__highlightType);m.addClassNamesToElement(b,a);return b}updateDOM(a,b,c){let d=super.updateDOM(a,b,c);a=A(c.theme,a.__highlightType);c=A(c.theme,this.__highlightType);a!==c&&(a&&m.removeClassNamesFromElement(b,\na),c&&m.addClassNamesToElement(b,c));return d}static importJSON(a){let b=B(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 A(a,b){return b&&a&&a.codeHighlight&&a.codeHighlight[b]}function B(a,b){return new z(a,b)}function C(a){return a instanceof z}\nfunction D(a){let b=null,c=a.getPreviousSiblings();for(c.push(a);0<c.length&&(a=c.pop(),C(a)&&(b=a),!t.$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),!t.$isLineBreakNode(a)););return b}let F=a=>null!=a&&e.languages.hasOwnProperty(a)?a:void 0;\nclass G extends t.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=t.$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=B(c),b.insertAfter(c),a.insertNodes([t.$createLineBreakNode()]),c.select(),c}return null}canInsertTab(){let a=t.$getSelection();return t.$isRangeSelection(a)&&a.isCollapsed()?!0:!1}canIndent(){return!1}collapseAtStart(){let a=t.$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(),preformatted:!0}}function I(a){let b=null!==a.style.fontFamily.match(\"monospace\");return{after:c=>{let d=a.parentNode;null!=d&&a!==d.lastChild&&c.push(t.$createLineBreakNode());return c},node:b?L():null,preformatted:b}}function aa(){return{node:L(),preformatted:!0}}function K(){return{node:null}}\nfunction ba(a){return{after:b=>{a.parentNode&&a.parentNode.nextSibling&&b.push(t.$createLineBreakNode());return b},node:null}}function 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(t.$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(t.$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(t.$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(t.$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(t.$createTextNode(a.__text))}let S=!1;\nfunction R(a,b){if(!S){S=!0;void 0===a.getLanguage()&&a.setLanguage(\"javascript\");var c=a.getKey();b.update(()=>{ca(c,()=>{var d=t.$getNodeByKey(c);if(!M(d)||!d.isAttached())return!1;var f=d.getTextContent();f=e.tokenize(f,e.languages[d.getLanguage()||\"\"]||e.languages.javascript);f=T(f);var g=d.getChildren();for(d=0;d<g.length&&U(g[d],f[d]);)d++;var k=g.length;let h=f.length,n=Math.min(k,h)-d,l=0;for(;l<n;)if(l++,!U(g[k-l],f[h-l])){l--;break}g=d;k-=l;f=f.slice(d,h-l);let {from:p,to:x,nodesForReplacement:r}=\n{from:g,nodesForReplacement:f,to:k};return p!==x||r.length?(a.splice(p,x-p,r),!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(B(f));d<c.length-1&&b.push(t.$createLineBreakNode())}}else({content:d}=c),\"string\"===typeof d?b.push(B(d,c.type)):Array.isArray(d)&&1===d.length&&\"string\"===typeof d[0]?b.push(B(d[0],c.type)):Array.isArray(d)&&b.push(...T(d))});return b}\nfunction ca(a,b){a=t.$getNodeByKey(a);if(M(a)&&a.isAttached()){var c=t.$getSelection();if(t.$isRangeSelection(c)){c=c.anchor;var d=c.offset,f=\"element\"===c.type&&t.$isLineBreakNode(a.getChildAtIndex(c.offset-1)),g=0;if(!f){let k=c.getNode();g=d+k.getPreviousSiblings().reduce((h,n)=>h+(t.$isLineBreakNode(n)?0:n.getTextContentSize()),0)}b()&&(f?c.getNode().select(d,d):a.getChildren().some(k=>{if(t.$isTextNode(k)){let h=k.getTextContentSize();if(h>=g)return k.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:t.$isLineBreakNode(a)&&t.$isLineBreakNode(b)?!0:!1}function V(a){var b=t.$getSelection();if(!t.$isRangeSelection(b)||b.isCollapsed())return!1;b=b.getNodes();for(var c=0;c<b.length;c++){var d=b[c];if(!C(d)&&!t.$isLineBreakNode(d))return!1}c=D(b[0]);null!=c&&W(c,a);for(c=1;c<b.length;c++)d=b[c],t.$isLineBreakNode(b[c-1])&&C(d)&&W(d,a);return!0}\nfunction W(a,b){let c=a.getTextContent();b===t.INDENT_CONTENT_COMMAND?0<c.length&&/\\s/.test(c[0])?a.setTextContent(\"\\t\"+c):(b=B(\"\\t\"),a.insertBefore(b)):0===c.indexOf(\"\\t\")&&(1===c.length?a.remove():a.setTextContent(c.substring(1)))}\nfunction Y(a,b){let c=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.offset,k=f.offset,h=d.getNode(),n=f.getNode();var l=a===t.KEY_ARROW_UP_COMMAND;if(!C(h)||!C(n))return!1;if(!b.altKey){if(c.isCollapsed())if(a=h.getParentOrThrow(),l&&0===g&&null===h.getPreviousSibling()){if(null===a.getPreviousSibling())return a.selectPrevious(),b.preventDefault(),!0}else if(!l&&g===h.getTextContentSize()&&null===h.getNextSibling()&&null===a.getNextSibling())return a.selectNext(),\nb.preventDefault(),!0;return!1}var p=D(h);let x=E(n);if(null==p||null==x)return!1;let r=p.getNodesBetween(x);for(let q=0;q<r.length;q++){let X=r[q];if(!C(X)&&!t.$isLineBreakNode(X))return!1}b.preventDefault();b.stopPropagation();b=l?p.getPreviousSibling():x.getNextSibling();if(!t.$isLineBreakNode(b))return!0;p=l?b.getPreviousSibling():b.getNextSibling();if(null==p)return!0;l=l?D(p):E(p);let y=null!=l?l:p;b.remove();r.forEach(q=>q.remove());a===t.KEY_ARROW_UP_COMMAND?(r.forEach(q=>y.insertBefore(q)),\ny.insertBefore(b)):(y.insertAfter(b),y=b,r.forEach(q=>{y.insertAfter(q);y=q}));c.setTextNodeRange(h,g,n,k);return!0}function Z(a,b){let c=t.$getSelection();if(!t.$isRangeSelection(c))return!1;let {anchor:d,focus:f}=c,g=d.getNode(),k=f.getNode();a=a===t.MOVE_TO_START;if(!C(g)||!C(k))return!1;let h,n;a?{node:h,offset:n}=O(k):{node:h,offset:n}=P(k);null!==h&&-1!==n&&c.setTextNodeRange(h,n,h,n);b.preventDefault();b.stopPropagation();return!0}exports.$createCodeHighlightNode=B;\nexports.$createCodeNode=L;exports.$isCodeHighlightNode=C;exports.$isCodeNode=M;exports.CODE_LANGUAGE_FRIENDLY_NAME_MAP=u;exports.CODE_LANGUAGE_MAP=v;exports.CodeHighlightNode=z;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=w(a);return u[a]||a};exports.getLastCodeHighlightNodeOfLine=E;exports.getStartOfCodeInLine=O;exports.normalizeCodeLang=w;\nexports.registerCodeHighlighting=function(a){if(!a.hasNodes([G,z]))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=t.$getNodeByKey(f);if(null!==c)a:{var d=c;c=a.getElementByKey(d.getKey());if(null===c)break a;d=d.getChildren();let k=d.length;if(k===c.__cachedChildrenLength)break a;c.__cachedChildrenLength=k;let h=\"1\",n=1;for(let l=0;l<k;l++)t.$isLineBreakNode(d[l])&&\n(h+=\"\\n\"+ ++n);c.setAttribute(\"data-gutter\",h)}}})}),a.registerNodeTransform(G,b=>R(b,a)),a.registerNodeTransform(t.TextNode,b=>Q(b,a)),a.registerNodeTransform(z,b=>Q(b,a)),a.registerCommand(t.INDENT_CONTENT_COMMAND,()=>V(t.INDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.OUTDENT_CONTENT_COMMAND,()=>V(t.OUTDENT_CONTENT_COMMAND),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_UP_COMMAND,b=>Y(t.KEY_ARROW_UP_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ARROW_DOWN_COMMAND,\nb=>Y(t.KEY_ARROW_DOWN_COMMAND,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_END,b=>Z(t.MOVE_TO_END,b),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.MOVE_TO_START,b=>Z(t.MOVE_TO_START,b),t.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)}\nlet O=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.document&&\"undefined\"!==typeof window.document.createElement,da=O&&\"documentMode\"in document?document.documentMode:null;O&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);O&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);O&&\"InputEvent\"in window&&!da?\"getTargetRanges\"in new window.InputEvent(\"input\"):!1;\nlet P=O&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Q=O&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,ea=/^\\s{0,3}$/,R=/^```(\\w{1,10})?\\s?$/;\nfunction fa(a){let b=I(a),c=ha(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(R);if(u)for(var q=r,l=p.length;++q<l;)if(p[q].match(R)){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}S(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)&&ea.test(f.getTextContent())):e=!1,e&&g.remove();d.selectEnd()}}\nfunction S(a,b,c){let d=a.getTextContent(),e=ia(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\")||S(f,b,c);n&&S(n,b,c);r&&S(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 ia(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 ha(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]=P||Q?new RegExp(`(${f})(?![${f}\\\\s])(.*?[^${f}\\\\s])${f}(?!${f})`):new RegExp(`(?<![\\\\\\\\${f}])(${f})((\\\\\\\\${f})?.*?[^${f}\\\\s](\\\\\\\\${f})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${f})(?![\\\\\\\\${f}])`)}return{fullMatchRegExpByTag:c,openTagsRegExp:new RegExp((P||Q?\"\":\"(?<![\\\\\\\\])\")+\"(\"+d.join(\"|\")+\")\",\"g\"),transformersByTag:b}}\nfunction T(a,b,c){let d=c.length;for(;b>=d;b--){let e=b-d;if(U(a,e,c,0,d)&&\" \"!==a[e+d])return e}return-1}function U(a,b,c,d,e){for(let f=0;f<e;f++)if(a[b+f]!==c[d+f])return!1;return!0}\nlet V=a=>(b,c,d)=>{d=a(d);d.append(...c);b.replace(d);d.select(0,0)},W=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)},X=(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(X(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\")},Y={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:V(a=>F.$createHeadingNode(\"h\"+a[1].length)),type:\"element\"},ja={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\"},ka={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:V(a=>t.$createCodeNode(a?a[1]:void 0)),type:\"element\"},la={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:W(\"bullet\"),type:\"element\"},ma={dependencies:[A.ListNode,A.ListItemNode],export:(a,b)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:W(\"check\"),type:\"element\"},na={dependencies:[A.ListNode,A.ListItemNode],export:(a,\nb)=>A.$isListNode(a)?X(a,b,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:W(\"number\"),type:\"element\"},oa={format:[\"code\"],tag:\"`\",type:\"text-format\"},pa={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},qa={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},sa={format:[\"bold\"],tag:\"**\",type:\"text-format\"},ta={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},ua={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},va={format:[\"italic\"],tag:\"*\",type:\"text-format\"},wa={format:[\"italic\"],\nintraword:!1,tag:\"_\",type:\"text-format\"},xa={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\"},\nya=[Y,ja,ka,la,na],za=[oa,pa,qa,sa,ta,va,wa,ua],Aa=[xa],Z=[...ya,...za,...Aa];exports.$convertFromMarkdownString=function(a,b=Z){return fa(b)(a)};exports.$convertToMarkdownString=function(a=Z){return ba(a)()};exports.BOLD_ITALIC_STAR=pa;exports.BOLD_ITALIC_UNDERSCORE=qa;exports.BOLD_STAR=sa;exports.BOLD_UNDERSCORE=ta;exports.CHECK_LIST=ma;exports.CODE=ka;exports.ELEMENT_TRANSFORMERS=ya;exports.HEADING=Y;exports.INLINE_CODE=oa;exports.ITALIC_STAR=va;exports.ITALIC_UNDERSCORE=wa;exports.LINK=xa;\nexports.ORDERED_LIST=na;exports.QUOTE=ja;exports.STRIKETHROUGH=ua;exports.TEXT_FORMAT_TRANSFORMERS=za;exports.TEXT_MATCH_TRANSFORMERS=Aa;exports.TRANSFORMERS=Z;exports.UNORDERED_LIST=la;\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.$isRootOrShadowRoot(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,ra]=q.splitText(x);E.remove();m=ra?[ra,...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&&!U(m,D,B,0,y)||\" \"===m[D-1])&&(w=m[x+1],!1!==C.intraword||!w||J.test(w))){l=w=q;g=T(m,D,B);for(var z=l;0>g&&(z=z.getPreviousSibling())&&!h.$isLineBreakNode(z);)h.$isTextNode(z)&&(g=z.getTextContent(),l=z,g=T(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 a=require(\"@lexical/react/LexicalComposerContext\"),d=require(\"@lexical/react/useLexicalNodeSelection\"),h=require(\"@lexical/utils\"),l=require(\"lexical\"),p=require(\"react\");let q=l.createCommand();\nfunction r({nodeKey:b}){let [f]=a.useLexicalComposerContext(),m=p.useRef(null),[e,g,n]=d.useLexicalNodeSelection(b),k=p.useCallback(c=>{e&&l.$isNodeSelection(l.$getSelection())&&(c.preventDefault(),c=l.$getNodeByKey(b),t(c)&&c.remove(),g(!1));return!1},[e,b,g]);p.useEffect(()=>h.mergeRegister(f.registerCommand(l.CLICK_COMMAND,c=>c.target===m.current?(c.shiftKey||n(),g(!e),!0):!1,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_DELETE_COMMAND,k,l.COMMAND_PRIORITY_LOW),f.registerCommand(l.KEY_BACKSPACE_COMMAND,\nk,l.COMMAND_PRIORITY_LOW)),[n,f,e,k,g]);return p.createElement(\"hr\",{ref:m,className:e?\"selected\":void 0})}\nclass u extends l.DecoratorNode{static getType(){return\"horizontalrule\"}static clone(b){return new u(b.__key)}static importJSON(){return v()}static importDOM(){return{hr:()=>({conversion:w,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(){let b=document.createElement(\"div\");b.style.display=\"contents\";return b}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return p.createElement(r,{nodeKey:this.__key})}}\nfunction w(){return{node:v()}}function v(){return new u}function t(b){return b instanceof u}exports.$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 {\n HEADING,\n ORDERED_LIST,\n QUOTE,\n UNORDERED_LIST,\n TEXT_FORMAT_TRANSFORMERS,\n TEXT_MATCH_TRANSFORMERS\n} from '@lexical/markdown';\nimport {MarkdownShortcutPlugin as LexicalMarkdownShortcutPlugin} from '@lexical/react/LexicalMarkdownShortcutPlugin';\nimport {$createHorizontalRuleNode, $isHorizontalRuleNode, HorizontalRuleNode} from '../nodes/HorizontalRuleNode';\nimport {$isCodeBlockNode, $createCodeBlockNode, CodeBlockNode} from '../nodes/CodeBlockNode';\nimport {$isImageNode, $createImageNode, ImageNode} from '../nodes/ImageNode';\n\nexport const HR = {\n dependencies: [HorizontalRuleNode],\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: [CodeBlockNode],\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, text) => {\n const initCode = text[1] || '';\n const language = match[1];\n const codeBlockNode = $createCodeBlockNode(language, initCode);\n textNode.replace(codeBlockNode);\n },\n type: 'element'\n};\n\n// render imageNode when writing image!\n// regex that detects exactly the string 'image!'\n\nexport const IMAGE = {\n dependencies: [ImageNode],\n export: (node) => {\n if (!$isImageNode(node)){\n return null;\n } else {\n const {src, alt} = node.dataset;\n return ``;\n }\n },\n regExp: /^image! $/,\n replace: (parentNode, match, text) => {\n const alt = '';\n const src = '';\n const imageNode = $createImageNode({altText: alt, src});\n parentNode.replace(imageNode);\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 IMAGE\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","import {ReactComponent as PlusIcon} from '../assets/icons/plus.svg';\n\nexport function PlusButton({onClick}) {\n return (\n <div className=\"absolute top-[-2px] left-[-66px]\" data-kg-plus-button>\n <button\n type=\"button\"\n aria-label=\"Add a card\"\n className=\"group relative flex h-7 w-7 cursor-pointer items-center justify-center rounded-full border border-grey bg-white transition-all ease-linear hover:border-grey-900 md:h-9 md:w-9\"\n onClick={onClick}\n >\n <PlusIcon className=\"h-4 w-4 stroke-grey-800 stroke-2 group-hover:stroke-grey-900\" />\n </button>\n </div>\n );\n}\n\nexport function PlusMenu({children}) {\n return (\n <div className=\"absolute left-[-16px]\" data-kg-plus-menu>\n {children}\n </div>\n );\n}\n","export const CardMenuSection = ({label, ...props}) => {\n return (\n <div className=\"mb-2 flex shrink-0 flex-col justify-center px-4 pt-3 text-[1.1rem] font-semibold uppercase tracking-wide text-grey\" style={{minWidth: 'calc(100% - 3.2rem)'}} {...props}>\n {label}\n </div>\n );\n};\n\nexport const CardMenuItem = ({label, desc, onClick, Icon, ...props}) => {\n return (\n <button className=\"flex w-full cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-left text-grey-800 hover:bg-grey-100\" onClick={onClick} data-kg-card-menu-item={label} {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.6rem] tracking-[.02rem] text-grey-900\">{label}</div>\n <div className=\"m-0 ml-4 truncate text-xs font-normal leading-[1.6rem] tracking-[.02rem] text-grey\">{desc}</div>\n </div>\n </button>\n );\n};\n\nexport const CardSnippetItem = ({label, Icon, ...props}) => {\n return (\n <div className=\"flex cursor-pointer flex-row items-center border border-transparent px-4 py-[1rem] text-grey-800 hover:bg-grey-100\" {...props}>\n <div className=\"flex items-center\">\n <Icon className=\"h-7 w-7\" />\n </div>\n <div className=\"flex flex-col\">\n <div className=\"m-0 ml-4 truncate text-[1.3rem] font-normal leading-[1.6rem] tracking-[.02rem] text-grey-900\">{label}</div>\n </div>\n </div>\n );\n};\n\nexport const CardMenu = ({children}) => {\n return (\n <div className=\"z-[9999999] m-0 mb-3 max-h-[376px] w-[312px] flex-col overflow-y-auto rounded-lg bg-white bg-clip-padding p-0 pt-0 font-sans text-sm shadow after:block after:pb-4\">\n {children}\n </div>\n );\n};\n","import {\n CardMenu,\n CardMenuSection,\n CardMenuItem\n} from '../components/CardMenu';\n\nexport function buildCardMenu(editor, {afterInsert} = {}) {\n const menu = new Map();\n menu.set('Primary', []);\n\n function addMenuItem(item) {\n const section = item.section || 'Primary';\n\n if (!menu.has(section)) {\n menu.set(section, [item]);\n } else {\n menu.get(section).push(item);\n }\n }\n\n const nodes = editor._nodes;\n for (const [nodeType, {klass}] of nodes) {\n if (!klass.kgMenu) {\n continue;\n }\n\n if (Array.isArray(klass.kgMenu)) {\n klass.kgMenu.forEach(item => addMenuItem({nodeType, ...item}));\n } else {\n addMenuItem({nodeType, ...klass.kgMenu});\n }\n }\n\n const menuComponents = [];\n\n // browsers will move focus on mouseDown but we don't want that because it\n // removes focus from the editor meaning key commands don't work as\n // expected after a card is inserted\n const preventMouseDown = (event) => {\n event.preventDefault();\n };\n\n menu.forEach((items, section) => {\n menuComponents.push(<CardMenuSection key={section} label={section} />);\n\n items.forEach((item) => {\n const onClick = (event) => {\n event.preventDefault();\n editor.dispatchCommand(item.insertCommand);\n afterInsert?.();\n };\n\n menuComponents.push(<CardMenuItem key={`${section}-${item.label}`} label={item.label} desc={item.desc} Icon={item.Icon} onMouseDown={preventMouseDown} onClick={onClick} />);\n });\n });\n\n return (\n <CardMenu>\n {menuComponents}\n </CardMenu>\n );\n}\n","import React from 'react';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection} from 'lexical';\nimport {getSelectedNode} from '../utils/getSelectedNode';\nimport {PlusButton, PlusMenu} from '../components/PlusMenu';\nimport {buildCardMenu} from '../utils/buildCardMenu';\n\nfunction usePlusCardMenu(editor) {\n const [isShowingButton, setIsShowingButton] = React.useState(false);\n const [isShowingMenu, setIsShowingMenu] = React.useState(false);\n const [topPosition, setTopPosition] = React.useState(0);\n const [cachedRange, setCachedRange] = React.useState(null);\n const [cardMenu, setCardMenu] = React.useState([]);\n const containerRef = React.useRef(null);\n\n function getTopPosition(elem) {\n const elemRect = elem.getBoundingClientRect();\n const containerRect = elem.parentNode.getBoundingClientRect();\n\n return elemRect.top - containerRect.top;\n }\n\n function getElementRange(elem) {\n const range = new Range();\n range.setStart(elem, 0);\n range.setEnd(elem, 0);\n return range;\n }\n\n const moveCursorToCachedRange = React.useCallback(() => {\n if (!cachedRange) {\n return;\n }\n document.getSelection().removeAllRanges();\n document.getSelection().addRange(cachedRange);\n }, [cachedRange]);\n\n const showButton = React.useCallback((elem) => {\n const range = getElementRange(elem);\n setCachedRange(range);\n setIsShowingButton(true);\n }, [setIsShowingButton, setCachedRange]);\n\n const hideButton = React.useCallback(() => {\n setIsShowingButton(false);\n setIsShowingMenu(false);\n setCachedRange(null);\n }, [setIsShowingButton, setIsShowingMenu, setCachedRange]);\n\n const openMenu = React.useCallback((event) => {\n event?.preventDefault();\n moveCursorToCachedRange();\n setIsShowingMenu(true);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const closeMenu = React.useCallback(({resetCursor = false} = {}) => {\n if (resetCursor) {\n moveCursorToCachedRange();\n }\n setIsShowingMenu(false);\n }, [moveCursorToCachedRange, setIsShowingMenu]);\n\n const updateButton = React.useCallback(() => {\n editor.getEditorState().read(() => {\n // don't do anything when using IME input\n if (editor.isComposing()) {\n return;\n }\n\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection) || !selection.type === 'text' || !selection.isCollapsed()) {\n hideButton();\n return;\n }\n\n const node = getSelectedNode(selection);\n\n if (!$isParagraphNode(node) || node.getTextContent() !== '') {\n hideButton();\n return;\n }\n\n const nativeSelection = window.getSelection();\n const p = nativeSelection.anchorNode;\n const rootElement = editor.getRootElement();\n\n if (p?.tagName !== 'P' || !rootElement.contains(p)) {\n hideButton();\n return;\n }\n\n setTopPosition(getTopPosition(p));\n showButton(p);\n });\n }, [editor, showButton, hideButton]);\n\n React.useEffect(() => {\n return editor.registerUpdateListener(() => {\n updateButton();\n }, [editor, updateButton]);\n });\n\n // hide the button as soon as there's any selection made outside of the\n // editor canvas - any click outside makes a selection so no need for\n // additional mouse tracking for this\n const hideButtonOnOutsideSelection = React.useCallback(() => {\n if (isShowingButton) {\n const nativeSelection = window.getSelection();\n\n // clicking inside the menu changes native selection, we don't want\n // to close the menu when that occurs\n if (isShowingMenu && containerRef.current?.contains(nativeSelection.anchorNode)) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n\n if (!rootElement.contains(nativeSelection.anchorNode)) {\n hideButton();\n }\n }\n }, [editor, isShowingButton, isShowingMenu, hideButton]);\n\n React.useEffect(() => {\n document.addEventListener('selectionchange', hideButtonOnOutsideSelection);\n return () => {\n document.removeEventListener('selectionchange', hideButtonOnOutsideSelection);\n };\n }, [hideButtonOnOutsideSelection]);\n\n // show or move the button when the mouse moves over a blank paragraph\n const updateButtonOnMousemove = React.useCallback((event) => {\n // once the menu is open moving the mouse should not have any effect on button/menu positioning\n if (isShowingMenu) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n let {pageX, pageY} = event;\n\n // add a horizontal buffer to the pointer position so that the button\n // doesn't disappear when moving across the gap between button and paragraph\n let containerRect = rootElement.getBoundingClientRect();\n if (pageX < containerRect.left) {\n pageX = pageX + 40;\n }\n\n // use the page coordinates to find the element under the pointer\n\n // TODO: this basic implementation isn't quite as forgiving as the mobiledoc implementation\n // which appears to have a threshold around the point which creates a bigger hit area for\n // nearby elements, whereas this removes the button immediately on margin mouseover. See:\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/editor/editor.ts#L1306\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/cursor/position.ts#L115\n // - https://github.com/bustle/mobiledoc-kit/blob/cdd126009cb809e80ff1d0c202198310aaa1ad1a/src/js/utils/selection-utils.ts#L39-L90\n const hoveredElem = document.elementFromPoint(pageX, pageY);\n\n if (rootElement.contains(hoveredElem)) {\n if (hoveredElem?.tagName === 'P' && hoveredElem.textContent === '') {\n // place cursor next to the hovered paragraph\n setTopPosition(getTopPosition(hoveredElem));\n showButton(hoveredElem);\n } else {\n // reset button based on cursor position\n updateButton();\n }\n }\n }, [editor, isShowingMenu, setTopPosition, showButton, updateButton]);\n\n React.useEffect(() => {\n window.addEventListener('mousemove', updateButtonOnMousemove);\n return () => {\n window.removeEventListener('mousemove', updateButtonOnMousemove);\n };\n }, [updateButtonOnMousemove]);\n\n // when menu is open, watch the window for mousedown events so that we can\n // close it when we detect a click outside\n const closeMenuOnClickOutside = React.useCallback((event) => {\n if (isShowingMenu) {\n if (!containerRef.current?.contains(event.target)) {\n return closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('mousedown', closeMenuOnClickOutside);\n return () => {\n window.removeEventListener('mousedown', closeMenuOnClickOutside);\n };\n }, [closeMenuOnClickOutside]);\n\n // when menu is open, close it when Escape or arrow keys are pressed\n const handleKeydown = React.useCallback((event) => {\n if (isShowingMenu) {\n if (event.key === 'Escape') {\n closeMenu({resetCursor: true});\n return;\n }\n\n let arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n if (arrowKeys.includes(event.key)) {\n closeMenu();\n }\n }\n }, [isShowingMenu, closeMenu]);\n\n React.useEffect(() => {\n window.addEventListener('keydown', handleKeydown);\n return () => {\n window.removeEventListener('keydown', handleKeydown);\n };\n });\n\n React.useEffect(() => {\n setCardMenu(buildCardMenu(editor, {afterInsert: closeMenu}));\n }, [editor, closeMenu]);\n\n const style = {\n top: `${topPosition}px`\n };\n\n return (\n <div className=\"absolute\" style={style} ref={containerRef} data-kg-plus-container>\n {isShowingButton && <PlusButton onClick={openMenu} />}\n {isShowingMenu && <PlusMenu>{cardMenu}</PlusMenu>}\n </div>\n );\n}\n\nexport default function PlusCardMenuPlugin() {\n const [editor] = useLexicalComposerContext();\n return usePlusCardMenu(editor);\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: false\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,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTFINkM2LjI2NTIyIDguMDAwMTEgNi41MTk1NyA4LjEwNTQ2IDYuNzA3MTEgOC4yOTNDNi44OTQ2NCA4LjQ4MDU0IDcgOC43MzQ4OSA3IDkuMDAwMTFWMTMuMDAwMUM3IDEzLjI2NTMgNi44OTQ2NCAxMy41MTk3IDYuNzA3MTEgMTMuNzA3MkM2LjUxOTU3IDEzLjg5NDcgNi4yNjUyMiAxNC4wMDAxIDYgMTQuMDAwMUgzQzIuNzM0NzggMTQuMDAwMSAyLjQ4MDQzIDEzLjg5NDcgMi4yOTI4OSAxMy43MDcyQzIuMTA1MzYgMTMuNTE5NyAyIDEzLjI2NTMgMiAxMy4wMDAxVjUuMDgyMTFDMiAzLjkwNjExIDIuOTA2IDIuOTYyMTEgNC41MzggMi4xMTMxMUM0LjY1NDQ4IDIuMDUyNDQgNC43ODE3NyAyLjAxNTMgNC45MTI2MSAyLjAwMzgzQzUuMDQzNDQgMS45OTIzNSA1LjE3NTI1IDIuMDA2NzUgNS4zMDA1MiAyLjA0NjIyQzUuNDI1NzkgMi4wODU2OCA1LjU0MjA1IDIuMTQ5NDQgNS42NDI2OCAyLjIzMzgzQzUuNzQzMzEgMi4zMTgyMyA1LjgyNjMzIDIuNDIxNjIgNS44ODcgMi41MzgxMUM1Ljk0NzY3IDIuNjU0NTkgNS45ODQ4IDIuNzgxODggNS45OTYyOCAyLjkxMjcxQzYuMDA3NzYgMy4wNDM1NSA1Ljk5MzM1IDMuMTc1MzYgNS45NTM4OSAzLjMwMDYzQzUuOTE0NDIgMy40MjU4OSA1Ljg1MDY3IDMuNTQyMTYgNS43NjYyNyAzLjY0Mjc5QzUuNjgxODcgMy43NDM0MiA1LjU3ODQ4IDMuODI2NDQgNS40NjIgMy44ODcxMUM0Ljg4NCA0LjE4NzExIDQuNDY5IDQuNDc2MTEgNC4yMjIgNC43MzQxMUM0LjA1NCA0LjkwODExIDQgNS4wMjAxMSA0IDUuMDgyMTFWOC4wMDAxMVpNMTMgOC4wMDAxMUMxMy4yNjUyIDguMDAwMTEgMTMuNTE5NiA4LjEwNTQ2IDEzLjcwNzEgOC4yOTNDMTMuODk0NiA4LjQ4MDU0IDE0IDguNzM0ODkgMTQgOS4wMDAxMVY5LjUzNjZDMTMuNjE0MyA5LjYwMjQzIDEzLjI1MzYgOS43NTIzIDEyLjkzNyA5Ljk0NDVMMTIuOTI5OCA5Ljk0ODlMMTIuNDMxNSAxMC4yNjA4QzExLjk4NTYgMTAuNTM1NyAxMS41IDExLjA0NzkgMTEuNSAxMS44MjUyQzExLjUgMTIuNTY4OCAxMS45NjExIDEzLjIwMTUgMTIuNjMyMyAxMy40MzExVjE0LjAwMDFIMTBDOS43MzQ3OCAxNC4wMDAxIDkuNDgwNDMgMTMuODk0NyA5LjI5Mjg5IDEzLjcwNzJDOS4xMDUzNiAxMy41MTk3IDkgMTMuMjY1MyA5IDEzLjAwMDFWNS4wODIxMUM5IDMuOTA2MTEgOS45MDYgMi45NjIxMSAxMS41MzggMi4xMTMxMUMxMS42NTQ1IDIuMDUyNDQgMTEuNzgxOCAyLjAxNTMgMTEuOTEyNiAyLjAwMzgzQzEyLjA0MzQgMS45OTIzNSAxMi4xNzUzIDIuMDA2NzUgMTIuMzAwNSAyLjA0NjIyQzEyLjQyNTggMi4wODU2OCAxMi41NDIxIDIuMTQ5NDQgMTIuNjQyNyAyLjIzMzgzQzEyLjc0MzMgMi4zMTgyMyAxMi44MjYzIDIuNDIxNjIgMTIuODg3IDIuNTM4MTFDMTIuOTQ3NyAyLjY1NDU5IDEyLjk4NDggMi43ODE4OCAxMi45OTYzIDIuOTEyNzFDMTMuMDA3OCAzLjA0MzU1IDEyLjk5MzQgMy4xNzUzNiAxMi45NTM5IDMuMzAwNjNDMTIuOTE0NCAzLjQyNTg5IDEyLjg1MDcgMy41NDIxNiAxMi43NjYzIDMuNjQyNzlDMTIuNjgxOSAzLjc0MzQyIDEyLjU3ODUgMy44MjY0NCAxMi40NjIgMy44ODcxMUMxMS44ODQgNC4xODcxMSAxMS40NjkgNC40NzYxMSAxMS4yMjIgNC43MzQxMUMxMS4wNTQgNC45MDgxMSAxMSA1LjAyMDExIDExIDUuMDgyMTFWOC4wMDAxMUgxM1pNMTQuNTQyOCAxNS40MzQ0QzE0LjExODIgMTUuNDM0NCAxMy44ODIzIDE1LjE3ODMgMTMuODgyMyAxNC43MjY3VjExLjk2SDEzLjg3MjJMMTMuNjM5NyAxMi4xMDgyQzEzLjQyNzQgMTIuMjMyOSAxMy4zMjI5IDEyLjI3MzQgMTMuMTk0OCAxMi4yNzM0QzEyLjkzNTQgMTIuMjczNCAxMi43NSAxMi4wODQ2IDEyLjc1IDExLjgyNTJDMTIuNzUgMTEuNjI5NyAxMi44NjQ2IDExLjQ2MTIgMTMuMDkwNCAxMS4zMjNMMTMuNTg1OCAxMS4wMTNDMTMuODY4OCAxMC44NDExIDE0LjE1ODcgMTAuNzUwMSAxNC40MjQ5IDEwLjc1MDFDMTQuODkzMyAxMC43NTAxIDE1LjIgMTEuMDYzNSAxNS4yIDExLjU0ODhWMTQuNzI2N0MxNS4yIDE1LjE4MTcgMTQuOTY0MSAxNS40MzQ0IDE0LjU0MjggMTUuNDM0NFoiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDguMDAwMTVINkM2LjI2NTIyIDguMDAwMTUgNi41MTk1NyA4LjEwNTUgNi43MDcxMSA4LjI5MzA0QzYuODk0NjQgOC40ODA1OCA3IDguNzM0OTMgNyA5LjAwMDE1VjEzLjAwMDFDNyAxMy4yNjU0IDYuODk0NjQgMTMuNTE5NyA2LjcwNzExIDEzLjcwNzNDNi41MTk1NyAxMy44OTQ4IDYuMjY1MjIgMTQuMDAwMSA2IDE0LjAwMDFIM0MyLjczNDc4IDE0LjAwMDEgMi40ODA0MyAxMy44OTQ4IDIuMjkyODkgMTMuNzA3M0MyLjEwNTM2IDEzLjUxOTcgMiAxMy4yNjU0IDIgMTMuMDAwMVY1LjA4MjE1QzIgMy45MDYxNSAyLjkwNiAyLjk2MjE1IDQuNTM4IDIuMTEzMTVDNC42NTQ0OCAyLjA1MjQ4IDQuNzgxNzcgMi4wMTUzNCA0LjkxMjYxIDIuMDAzODdDNS4wNDM0NCAxLjk5MjM5IDUuMTc1MjUgMi4wMDY3OSA1LjMwMDUyIDIuMDQ2MjZDNS40MjU3OSAyLjA4NTcyIDUuNTQyMDUgMi4xNDk0OCA1LjY0MjY4IDIuMjMzODdDNS43NDMzMSAyLjMxODI3IDUuODI2MzMgMi40MjE2NiA1Ljg4NyAyLjUzODE1QzUuOTQ3NjcgMi42NTQ2MyA1Ljk4NDggMi43ODE5MiA1Ljk5NjI4IDIuOTEyNzVDNi4wMDc3NiAzLjA0MzU5IDUuOTkzMzUgMy4xNzU0IDUuOTUzODkgMy4zMDA2N0M1LjkxNDQyIDMuNDI1OTMgNS44NTA2NyAzLjU0MjIgNS43NjYyNyAzLjY0MjgzQzUuNjgxODcgMy43NDM0NiA1LjU3ODQ4IDMuODI2NDggNS40NjIgMy44ODcxNUM0Ljg4NCA0LjE4NzE1IDQuNDY5IDQuNDc2MTUgNC4yMjIgNC43MzQxNUM0LjA1NCA0LjkwODE1IDQgNS4wMjAxNSA0IDUuMDgyMTVWOC4wMDAxNVpNMTMgOC4wMDAxNUMxMy4yNjUyIDguMDAwMTUgMTMuNTE5NiA4LjEwNTUgMTMuNzA3MSA4LjI5MzA0QzEzLjg5NDYgOC40ODA1OCAxNCA4LjczNDkzIDE0IDkuMDAwMTVWOS41MTgxMkMxMy40Mzc4IDkuNTc2OTQgMTIuOTA4NyA5Ljc3NzM1IDEyLjQ4MDMgMTAuMDkxOEMxMS45Nzg1IDEwLjQ2MDEgMTEuNSAxMS4wODQ4IDExLjUgMTEuOTA0M0MxMS41IDEyLjM2MzIgMTEuNjc3MiAxMi44MTM1IDEyLjAyNjQgMTMuMTQ1MUMxMi4wNjA0IDEzLjE3NzQgMTIuMDk1NSAxMy4yMDggMTIuMTMxMiAxMy4yMzY5QzExLjk0MTkgMTMuNDQwOSAxMS43NTA5IDEzLjY5MjIgMTEuNjMyMyAxNC4wMDAxSDEwQzkuNzM0NzggMTQuMDAwMSA5LjQ4MDQzIDEzLjg5NDggOS4yOTI4OSAxMy43MDczQzkuMTA1MzYgMTMuNTE5NyA5IDEzLjI2NTQgOSAxMy4wMDAxVjUuMDgyMTVDOSAzLjkwNjE1IDkuOTA2IDIuOTYyMTUgMTEuNTM4IDIuMTEzMTVDMTEuNjU0NSAyLjA1MjQ4IDExLjc4MTggMi4wMTUzNCAxMS45MTI2IDIuMDAzODdDMTIuMDQzNCAxLjk5MjM5IDEyLjE3NTMgMi4wMDY3OSAxMi4zMDA1IDIuMDQ2MjZDMTIuNDI1OCAyLjA4NTcyIDEyLjU0MjEgMi4xNDk0OCAxMi42NDI3IDIuMjMzODdDMTIuNzQzMyAyLjMxODI3IDEyLjgyNjMgMi40MjE2NiAxMi44ODcgMi41MzgxNUMxMi45NDc3IDIuNjU0NjMgMTIuOTg0OCAyLjc4MTkyIDEyLjk5NjMgMi45MTI3NUMxMy4wMDc4IDMuMDQzNTkgMTIuOTkzNCAzLjE3NTQgMTIuOTUzOSAzLjMwMDY3QzEyLjkxNDQgMy40MjU5MyAxMi44NTA3IDMuNTQyMiAxMi43NjYzIDMuNjQyODNDMTIuNjgxOSAzLjc0MzQ2IDEyLjU3ODUgMy44MjY0OCAxMi40NjIgMy44ODcxNUMxMS44ODQgNC4xODcxNSAxMS40NjkgNC40NzYxNSAxMS4yMjIgNC43MzQxNUMxMS4wNTQgNC45MDgxNSAxMSA1LjAyMDE1IDExIDUuMDgyMTVWOC4wMDAxNUgxM1pNMTMuMjI1NiAxNS4xNDI4QzEyLjg5MDMgMTUuMTQyOCAxMi42NjI2IDE0Ljk0MDQgMTIuNjYyNiAxNC42NDMyQzEyLjY2MjYgMTQuNDIxOCAxMi43ODkxIDE0LjIyNTcgMTMuMTU5MSAxMy44Nzc5TDE0LjE2MTYgMTIuOTA3QzE0LjQ5MzcgMTIuNTg3NiAxNC42MzkxIDEyLjM3ODkgMTQuNjM5MSAxMi4xNjA3QzE0LjYzOTEgMTEuOTA0NSAxNC40NTI2IDExLjczMzcgMTQuMTgwNiAxMS43MzM3QzEzLjk2ODcgMTEuNzMzNyAxMy44MTY5IDExLjgyNTUgMTMuNjU1NiAxMi4wNTMyQzEzLjQ3ODUgMTIuMjg3MiAxMy4zNDU3IDEyLjM2OTQgMTMuMTQwMiAxMi4zNjk0QzEyLjg1MjQgMTIuMzY5NCAxMi42NSAxMi4xNzY1IDEyLjY1IDExLjkwNDVDMTIuNjUgMTEuMjk3MyAxMy4zNzEgMTAuNzUwMiAxNC4yNDcgMTAuNzUwMkMxNS4xNTQ2IDEwLjc1MDIgMTUuODI1IDExLjI5NzMgMTUuODI1IDEyLjAzNzNDMTUuODI1IDEyLjQ5NTkgMTUuNTg3OSAxMi45MjYgMTUuMDc4NyAxMy4zOTA4TDE0LjI4ODEgMTQuMTI0NVYxNC4xNzJIMTUuNDIwM0MxNS43NjUgMTQuMTcyIDE1Ljk4IDE0LjM1ODUgMTUuOTggMTQuNjYyMUMxNS45OCAxNC45NjI2IDE1Ljc3MTMgMTUuMTQyOCAxNS40MjAzIDE1LjE0MjhIMTMuMjI1NloiIC8+Cjwvc3ZnPgo=\"","import {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\nexport const TOOLBAR_ICONS = {\n bold: BoldIcon,\n italic: ItalicIcon,\n headingOne: HeadingOneIcon,\n headingTwo: HeadingTwoIcon,\n quoteOne: QuoteOneIcon,\n quoteTwo: QuoteTwoIcon\n};\n\nexport function ToolbarMenu({children, ...props}) {\n return (\n <ul className=\"m-0 flex items-center justify-evenly rounded bg-black px-1 py-0 font-sans text-md font-normal text-white\" {...props}>\n {children}\n </ul>\n );\n}\n\nexport function ToolbarMenuItem({label, isActive, onClick, icon, ...props}) {\n const Icon = TOOLBAR_ICONS[icon];\n\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\nexport function ToolbarMenuSeparator() {\n return (\n <li className=\"m-0 mx-1 h-5 w-px bg-grey-900\"></li>\n );\n}\n","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 $wrapNodes\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';\nimport {\n ToolbarMenu,\n ToolbarMenuItem,\n ToolbarMenuSeparator\n} from '../components/ToolbarMenu';\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 FloatingFormatToolbar({isText, editor, anchorElem, blockType, isBold, isItalic}) {\n const [stickyToolbar, setStickyToolbar] = React.useState(false);\n const toolbarRef = React.useRef(null);\n // const [isVisible, setIsVisible] = React.useState(false);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(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 $wrapNodes(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 $wrapNodes(selection, () => $createAsideNode());\n } else if (blockType === 'aside') {\n $wrapNodes(selection, () => $createParagraphNode());\n } else {\n $wrapNodes(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 if (!stickyToolbar) {\n setFloatingElemPosition(rangeRect, toolbarElement, anchorElem);\n }\n }\n }, [editor, anchorElem, stickyToolbar]);\n\n const toggleVis = React.useCallback(() => {\n if (isText !== false) {\n toolbarRef.current.style.opacity = '1';\n }\n }, [isText]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n document.addEventListener('mouseup', toggleVis);\n return () => {\n document.removeEventListener('mouseup', toggleVis);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\n\n React.useEffect(() => {\n editor.getEditorState().read(() => {\n updateFloatingToolbar();\n });\n const shiftUp = (e) => {\n if (e.key === 'Shift') {\n toggleVis();\n }\n };\n document.addEventListener('keyup', shiftUp);\n return () => {\n document.removeEventListener('keyup', shiftUp);\n };\n }, [toggleVis, editor, updateFloatingToolbar]);\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 style={{opacity: 0}}>\n <ToolbarMenu>\n <ToolbarMenuItem label=\"Format text as bold\" isActive={isBold} icon=\"bold\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }} data-kg-toolbar-button=\"bold\" />\n <ToolbarMenuItem label=\"Format text as italics\" isActive={isItalic} icon=\"italic\" onClick={() => {\n setStickyToolbar(true);\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }} data-kg-toolbar-button=\"italic\" />\n <ToolbarMenuItem label=\"Toggle heading 1\" isActive={blockType === 'h2'} icon=\"headingOne\" onClick={() => {\n (blockType === 'h2' ? formatParagraph() : formatHeading('h2'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h2\" />\n <ToolbarMenuItem label=\"Toggle heading 2\" isActive={blockType === 'h3'} icon=\"headingTwo\" onClick={() => {\n (blockType === 'h3' ? formatParagraph() : formatHeading('h3'));\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"h3\" />\n <ToolbarMenuSeparator />\n <ToolbarMenuItem label=\"Toggle blockquote\" isActive={blockType === 'quote' || blockType === 'aside'} icon={blockType === 'aside' ? 'quoteOne' : 'quoteTwo'} onClick={() => {\n (formatQuote());\n setStickyToolbar(true);\n }} data-kg-toolbar-button=\"quote\" />\n </ToolbarMenu>\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 isText={isText}\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 {\n $getSelection,\n DRAGOVER_COMMAND,\n DRAGSTART_COMMAND,\n DROP_COMMAND,\n COMMAND_PRIORITY_HIGH,\n $isRangeSelection,\n LexicalEditor,\n $createNodeSelection,\n $setSelection,\n $isParagraphNode\n} from 'lexical';\nimport {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {mergeRegister} from '@lexical/utils';\nimport KoenigComposerContext from '../context/KoenigComposerContext';\nimport {$createImageNode, ImageNode, INSERT_IMAGE_COMMAND} from '../nodes/ImageNode';\n\nexport const ImagePlugin = () => {\n const [editor] = useLexicalComposerContext();\n const {imageUploader} = React.useContext(KoenigComposerContext);\n\n React.useEffect(() => {\n if (!editor.hasNodes([ImageNode])){\n console.error('ImagePlugin: ImageNode not registered'); // eslint-disable-line no-console\n return;\n }\n return mergeRegister(\n editor.registerCommand(\n INSERT_IMAGE_COMMAND,\n (dataset) => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const imageNode = $createImageNode(dataset);\n\n // insert a paragraph if this will be the last card and\n // we're not already on a blank paragraph so we always\n // have a trailing paragraph in the doc\n const selectedNode = selection.focus.getNode();\n const selectedIsBlankParagraph = $isParagraphNode(selectedNode) && selectedNode.getTextContent() === '';\n const nextNode = selectedNode.getTopLevelElementOrThrow().getNextSibling();\n if (!selectedIsBlankParagraph && !nextNode) {\n selection.insertParagraph();\n }\n\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(imageNode);\n\n // move the focus away from the paragraph to the inserted\n // decorator node\n const nodeSelection = $createNodeSelection();\n nodeSelection.add(imageNode.getKey());\n $setSelection(nodeSelection);\n\n // TODO: trigger file selector?\n }\n\n return true;\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n DRAGSTART_COMMAND,\n (event) => {\n return onDragStart(event);\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n DRAGOVER_COMMAND,\n (event) => {\n return onDragOver(event);\n },\n COMMAND_PRIORITY_HIGH\n ),\n editor.registerCommand(\n DROP_COMMAND,\n (event) => {\n return onDragDrop(event, editor, imageUploader);\n },\n COMMAND_PRIORITY_HIGH\n ),\n );\n }, [editor, imageUploader]);\n\n return null;\n};\n\nconst onDragStart = (event) => {\n return true;\n};\n\nconst onDragOver = (event) => {\n return true;\n};\n\nconst onDragDrop = async (event, editor = LexicalEditor, imageUploader) => {\n event.preventDefault();\n const fls = event.dataTransfer.files;\n const files = await imageUploader.imageUploader(fls);\n if (files) {\n editor.dispatchCommand(INSERT_IMAGE_COMMAND, files);\n }\n};\n\nexport default ImagePlugin;\n","import {useLexicalComposerContext} from '@lexical/react/LexicalComposerContext';\nimport {$getSelection, $isParagraphNode, $isRangeSelection, COMMAND_PRIORITY_EDITOR} from 'lexical';\nimport {useEffect} from 'react';\nimport {$createHorizontalRuleNode, INSERT_HORIZONTAL_RULE_COMMAND} from '../nodes/HorizontalRuleNode';\n\nexport const HorizontalRulePlugin = () => {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n if (!editor.hasNodes([])) {\n console.error('HorizontalRulePlugin: HorizontalRuleNode not registered'); // eslint-disable-line no-console\n return;\n }\n return editor.registerCommand(\n INSERT_HORIZONTAL_RULE_COMMAND,\n () => {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const focusNode = selection.focus.getNode();\n\n if (focusNode !== null) {\n const horizontalRuleNode = $createHorizontalRuleNode();\n\n // insert a paragraph unless we're already on a blank paragraph\n const selectedNode = selection.focus.getNode();\n if ($isParagraphNode(selectedNode) && selectedNode.getTextContent() !== '') {\n selection.insertParagraph();\n }\n\n // insert the horizontal rule before the current/inserted paragraph\n // so the cursor stays on the blank paragraph\n selection.focus\n .getNode()\n .getTopLevelElementOrThrow()\n .insertBefore(horizontalRuleNode);\n }\n\n return true;\n },\n COMMAND_PRIORITY_EDITOR\n );\n }, [editor]);\n\n return null;\n};\n\nexport default HorizontalRulePlugin;\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 KoenigBehaviourPlugin from '../plugins/KoenigBehaviourPlugin';\nimport MarkdownShortcutPlugin from '../plugins/MarkdownShortcutPlugin';\nimport PlusCardMenuPlugin from '../plugins/PlusCardMenuPlugin';\nimport FloatingFormatToolbarPlugin from '../plugins/FloatingFormatToolbarPlugin';\nimport ImagePlugin from '../plugins/ImagePlugin';\nimport HorizontalRulePlugin from '../plugins/HorizontalRulePlugin';\nimport '../styles/index.css';\n\nexport let imageUploader;\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 const containerRef = React.useRef(null);\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\" ref={containerRef}>\n <RichTextPlugin\n contentEditable={\n <div ref={onRef}>\n <ContentEditable className=\"kg-prose\" />\n </div>\n }\n placeholder={<div className=\"pointer-events-none absolute top-0 left-0 min-w-full cursor-text font-serif text-xl text-grey-500\">Begin writing your post...</div>}\n />\n <OnChangePlugin onChange={_onChange} />\n <HistoryPlugin /> {/* adds undo/redo */}\n <ListPlugin /> {/* adds indent/outdent/remove etc support */}\n <KoenigBehaviourPlugin containerElem={containerRef} />\n <MarkdownShortcutPlugin transformers={markdownTransformers} />\n <PlusCardMenuPlugin />\n {floatingAnchorElem && (<FloatingFormatToolbarPlugin anchorElem={floatingAnchorElem} />)}\n <ImagePlugin />\n <HorizontalRulePlugin />\n </div>\n );\n};\n\nexport default KoenigEditor;\n"],"names":["SvgKgBold","props","React","SvgKgItalic","SvgKgHeading1","SvgKgHeading2","SvgKgLink","SvgKgQuote","SvgKgImgRegular","SvgKgImgWide","SvgKgImgFull","SvgKgReplace","SvgKgAdd","SvgKgSnippet","SvgPlus","SvgKgCardTypeImage","SvgKgCardTypeMarkdown","SvgKgCardTypeHtml","SvgKgCardTypeGallery","SvgKgCardTypeDivider","SvgKgCardTypeBookmark","SvgKgCardTypeEmail","SvgKgCardTypeEmailCta","SvgKgCardTypePreview","SvgKgCardTypeButton","SvgKgCardTypeCallout","SvgKgCardTypeGif","SvgKgCardTypeToggle","SvgKgCardTypeVideo","SvgKgCardTypeAudio","SvgKgCardTypeFile","SvgKgCardTypeProduct","SvgKgCardTypeHeader","SvgKgCardTypeYoutube","SvgKgCardTypeTwitter","SvgKgCardTypeUnsplash","SvgKgCardTypeVimeo","SvgKgCardTypeCodepen","SvgKgCardTypeSpotify","SvgKgCardTypeSoundcloud","SvgKgCardTypeNft","SvgKgCardTypeOther","SvgKgCardTypeSnippet","SvgKgImgPlaceholder","SvgKgGalleryPlaceholder","f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","module","DesignSandbox","_jsx","ComponentTitle","TextToolbar","ImageToolbar","GalleryToolbar","PlusButton","CardMenu","DividerCard","CodeBlock","ImageCard","GalleryCard","label","ToolbarItem","BoldIcon","ItalicIcon","HeadingOneIcon","HeadingTwoIcon","ToolbarSeparator","QuoteIcon","LinkIcon","SnippetIcon","ImgRegularIcon","ImgWideIcon","ImgFullIcon","ReplaceIcon","AddIcon","Icon","PlusIcon","CardMenuSection","CardMenuItem","ImageCardIcon","MarkdownCardIcon","HtmlCardIcon","GalleryCardIcon","DividerCardIcon","BookmarkCardIcon","EmailCardIcon","EmailCtaCardIcon","PreviewCardIcon","ButtonCardIcon","CalloutCardIcon","GifCardIcon","ToggleCardIcon","VideoCardIcon","AudioCardIcon","FileCardIcon","ProductCardIcon","HeaderCardIcon","YoutubeCardIcon","TwitterCardIcon","UnsplashCardIcon","VimeoCardIcon","CodepenCardIcon","SpotifyCardIcon","SoundcloudCardIcon","NftCardIcon","OtherCardIcon","CardSnippetItem","SnippetCardIcon","minWidth","desc","_jsxs","CaptionEditor","isActive","setActive","useState","altText","setAltText","toggleActive","toggleAltText","stopPropagation","MediaPlaceholder","ImgPlaceholderIcon","placeholder","GalleryPlaceholderIcon","LexicalComposerContext_prod","LexicalComposerContext","LexicalComposerContext_1","aa","ba","ca","da","ea","fa","ha","ia","ka","la","ma","na","oa","pa","qa","ra","sa","ta","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","r","Ma","Na","t","Oa","Pa","Qa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","u","ib","x","v","w","jb","A","C","y","D","z","kb","B","lb","E","Q","Z","F","mb","nb","ob","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","G","H","I","J","K","Fb","L","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","M","Qb","Rb","Sb","Tb","Ub","Vb","Wb","N","Xb","$b","ac","bc","cc","dc","ec","fc","gc","hc","O","P","R","ic","S","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","T","Nc","Hc","Ic","Jc","Kc","Lc","Mc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","U","Zc","$c","ad","bd","cd","dd","ed","fd","gd","W","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","X","Y","Qd","Rd","Sd","Td","Ud","Vd","Wd","V","Xd","Ra","ua","ue","ve","pb","Cd","va","Dd","Ed","Yb","Fd","Zb","Gd","we","Sa","ja","wa","Hd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","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","useLexicalNodeSelection_prod","useLexicalNodeSelection","useLexicalNodeSelection_1","CardContext","createContext","KoenigCardWrapperComponent","nodeKey","children","editor","useLexicalComposerContext","isSelected","setSelected","clearSelected","selection","setSelection","cardType","setCardType","ref","useRef","useLayoutEffect","getEditorState","read","cardNode","$getNodeByKey","getType","useEffect","mergeRegister","registerUpdateListener","editorState","$getSelection","registerCommand","CLICK_COMMAND","event","current","contains","target","COMMAND_PRIORITY_LOW","BLUR_COMMAND","relatedTarget","KEY_ENTER_COMMAND","latestSelection","$isNodeSelection","getNodes","length","preventDefault","paragraphNode","getTopLevelElementOrThrow","insertAfter","select","COMMAND_PRIORITY_EDITOR","KEY_BACKSPACE_COMMAND","previousSibling","getPreviousSibling","nextSibling","getNextSibling","selectEnd","$isDecoratorNode","nodeSelection","$createNodeSelection","add","getKey","$setSelection","selectPrevious","selectStart","selectNext","remove","KEY_DELETE_COMMAND","isFocused","WrapperContext","wpkey","INSERT_HORIZONTAL_RULE_COMMAND","createCommand","HorizontalRuleComponent","HorizontalRuleNode","DecoratorNode","clone","__key","importJSON","$createHorizontalRuleNode","exportJSON","type","version","createDOM","div","document","createElement","getTextContent","isInline","updateDOM","decorate","KoenigCardWrapper","_HorizontalRuleNode","__publicField","kgMenu","insertCommand","$isHorizontalRuleNode","useAutoExpandTextArea","el","value","height","CodeBlockComponent","className","code","language","update","setCode","updateCode","CodeBlockNode","constructor","initCode","key","__code","__language","$createCodeBlockNode","getCode","getLatest","self","getWritable","getLanguage","setLanguage","codeBlockTheme","theme","codeBlock","base","focus","$isCodeBlockNode","KoenigComposerContext","INSERT_IMAGE_COMMAND","MediaCard","dataset","payload","setPayload","imageUploader","useContext","uploadRef","onUploadChange","fls","files","setSrc","src","getPayload","openUpload","click","__src","__altText","_Fragment","selected","captionText","setCaptionText","altTextValue","setAltTextValue","handleChange","alt","cap","setCaption","getCaption","getAltText","tgAltText","convertImageElement","domNode","HTMLImageElement","$createImageNode","ImageNode","__caption","__uploadProgress","caption","exportDOM","img","figcaption","getSrc","innerHTML","appendChild","importDom","Node","conversion","priority","isBlob","startsWith","setUploadProgress","progress","_ImageNode","$isImageNode","DEFAULT_NODES","HeadingNode","ListNode","ListItemNode","QuoteNode","LinkNode","defaultTheme","defaultOnError","error","console","defaultConfig","namespace","KoenigComposer","initialEditorState","nodes","onError","imageUploadFunction","initialConfig","useMemo","Object","assign","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","useKoenigBehaviour","containerElem","onMousedown","addEventListener","removeEventListener","KoenigBehaviourPlugin","querySelector","_self","Prism","lang","uniqueId","plainTextGrammar","_","encode","tokens","Token","o","obj","deepClone","visited","i","err","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","LexicalHorizontalRuleNode_prod","LexicalHorizontalRuleNode","LexicalHorizontalRuleNode_1","LexicalMarkdownShortcutPlugin_prod","LexicalMarkdownShortcutPlugin","LexicalMarkdownShortcutPlugin_1","HR","dependencies","export","regExp","replace","parentNode","_1","_2","isImport","line","insertBefore","CODE_BLOCK","textNode","codeBlockNode","IMAGE","imageNode","ELEMENT_TRANSFORMERS","HEADING","QUOTE","UNORDERED_LIST","ORDERED_LIST","DEFAULT_TRANSFORMERS","TEXT_FORMAT_TRANSFORMERS","TEXT_MATCH_TRANSFORMERS","MarkdownShortcutPlugin","transformers","getSelectedNode","anchor","anchorNode","focusNode","$isAtNodeEnd","onClick","PlusMenu","buildCardMenu","afterInsert","menu","Map","set","addMenuItem","item","section","has","get","push","_nodes","nodeType","klass","Array","isArray","forEach","menuComponents","preventMouseDown","items","dispatchCommand","usePlusCardMenu","isShowingButton","setIsShowingButton","isShowingMenu","setIsShowingMenu","topPosition","setTopPosition","cachedRange","setCachedRange","cardMenu","setCardMenu","containerRef","getTopPosition","elem","elemRect","getBoundingClientRect","containerRect","top","getElementRange","Range","setStart","setEnd","moveCursorToCachedRange","useCallback","getSelection","removeAllRanges","addRange","showButton","hideButton","openMenu","closeMenu","resetCursor","updateButton","isComposing","$isRangeSelection","isCollapsed","$isParagraphNode","window","rootElement","getRootElement","hideButtonOnOutsideSelection","nativeSelection","updateButtonOnMousemove","pageX","pageY","left","hoveredElem","elementFromPoint","closeMenuOnClickOutside","handleKeydown","includes","style","PlusCardMenuPlugin","VERTICAL_GAP","setFloatingElemPosition","targetRect","floatingElem","anchorElem","options","scrollerElem","floatingElemRect","anchorElementRect","editorScrollerRect","getDOMRangeRect","domRange","rect","getScrollParent","overflowY","isScrollable","SvgKgQuote1","SvgKgQuote2","TOOLBAR_ICONS","bold","italic","headingOne","headingTwo","quoteOne","QuoteOneIcon","quoteTwo","QuoteTwoIcon","ToolbarMenu","ToolbarMenuItem","icon","ToolbarMenuSeparator","blockTypeToBlockName","bullet","check","h1","h2","h3","h4","h5","h6","number","quote","aside","FloatingFormatToolbar","isText","blockType","isBold","isItalic","stickyToolbar","setStickyToolbar","toolbarRef","formatParagraph","formatHeading","headingSize","$wrapNodes","$createHeadingNode","formatQuote","$createQuoteNode","updateFloatingToolbar","toolbarElement","rangeRect","toggleVis","opacity","shiftUp","scrollElement","SELECTION_CHANGE_COMMAND","FORMAT_TEXT_COMMAND","useFloatingFormatToolbar","setIsText","setIsBold","setIsItalic","setBlockType","updatePopup","elementKey","elementDOM","getElementByKey","hasFormat","$isListNode","parentList","$getNearestNodeOfType","getListType","$isHeadingNode","getTag","$isTextNode","createPortal","FloatingFormatToolbarPlugin","body","ImagePlugin","hasNodes","getNode","selectedNode","selectedIsBlankParagraph","nextNode","insertParagraph","COMMAND_PRIORITY_HIGH","DRAGSTART_COMMAND","onDragStart","DRAGOVER_COMMAND","onDragOver","DROP_COMMAND","onDragDrop","LexicalEditor","dataTransfer","HorizontalRulePlugin","horizontalRuleNode","KoenigEditor","onChange","markdownTransformers","_onChange","json","toJSON","floatingAnchorElem","setFloatingAnchorElem","onRef","_floatingAnchorElem","RichTextPlugin","ContentEditable","OnChangePlugin","HistoryPlugin","ListPlugin"],"mappings":"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"}
|