{"version":3,"file":"ckeditor.js","sources":["webpack://ClassicEditor/ckeditor.js"],"sourcesContent":["/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n(function(t){const e=t[\"it\"]=t[\"it\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"Align center\":\"Allinea al centro\",\"Align left\":\"Allinea a sinistra\",\"Align right\":\"Allinea a destra\",Aquamarine:\"Aquamarina\",Big:\"Grandi\",Black:\"Nero\",Blue:\"Blu\",Bold:\"Grassetto\",\"Bulleted List\":\"Elenco puntato\",Default:\"Predefinito\",\"Dim grey\":\"Grigio tenue\",\"Document colors\":\"Colori del docmento\",\"Dropdown toolbar\":\"Barra degli strumenti del menu a discesa\",\"Editor toolbar\":\"Barra degli strumenti dell'editor\",\"Font Background Color\":\"Colore di sfondo caratteri\",\"Font Color\":\"Colore caratteri\",\"Font Size\":\"Dimensione caratteri\",Green:\"Verde\",Grey:\"Grigio\",Huge:\"Grandissimi\",Italic:\"Corsivo\",Justify:\"Giustifica\",\"Light blue\":\"Azzurro\",\"Light green\":\"Verde chiaro\",\"Light grey\":\"Grigio chiaro\",\"Numbered List\":\"Elenco numerato\",Orange:\"Arancio\",Purple:\"Porpora\",Red:\"Rosso\",Redo:\"Ripristina\",\"Remove color\":\"Rimuovi colore\",\"Remove Format\":\"Rimuovi formato\",\"Rich Text Editor\":\"Editor di testo formattato\",\"Rich Text Editor, %0\":\"Editor di testo formattato, %0\",\"Select all\":\"Seleziona tutto\",\"Show more items\":\"Mostra più elementi\",Small:\"Piccoli\",Strikethrough:\"Barrato\",\"Text alignment\":\"Allineamento del testo\",\"Text alignment toolbar\":\"Barra degli strumenti dell'allineamento\",Tiny:\"Piccolissimi\",Turquoise:\"Turchese\",Underline:\"Sottolineato\",Undo:\"Annulla\",White:\"Bianco\",Yellow:\"Giallo\"});e.getPluralForm=function(t){return t!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(function t(e,n){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=n();else if(typeof define===\"function\"&&define.amd)define([],n);else if(typeof exports===\"object\")exports[\"ClassicEditor\"]=n();else e[\"ClassicEditor\"]=n()})(window,(function(){return function(t){var e={};function n(o){if(e[o]){return e[o].exports}var i=e[o]={i:o,l:false,exports:{}};t[o].call(i.exports,i,i.exports,n);i.l=true;return i.exports}n.m=t;n.c=e;n.d=function(t,e,o){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:o})}};n.r=function(t){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})};n.t=function(t,e){if(e&1)t=n(t);if(e&8)return t;if(e&4&&typeof t===\"object\"&&t&&t.__esModule)return t;var o=Object.create(null);n.r(o);Object.defineProperty(o,\"default\",{enumerable:true,value:t});if(e&2&&typeof t!=\"string\")for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o};n.n=function(t){var e=t&&t.__esModule?function e(){return t[\"default\"]}:function e(){return t};n.d(e,\"a\",e);return e};n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};n.p=\"\";return n(n.s=49)}([function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return i}));n.d(e,\"a\",(function(){return r}));const o=\"https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html\";class i extends Error{constructor(t,e,n){let o=r(t);if(n){o+=\" \"+JSON.stringify(n)}super(o);this.name=\"CKEditorError\";this.context=e;this.data=n}is(t){return t===\"CKEditorError\"}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\")){throw t}const n=new i(t.message,e);n.stack=t.stack;throw n}}function r(t){return t+` Read more: ${o}#error-${t}\\n`}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];e.toString=function e(){return this.map((function(e){var n=o(e,t);if(e[2]){return\"@media \".concat(e[2],\" {\").concat(n,\"}\")}return n})).join(\"\")};e.i=function(t,n,o){if(typeof t===\"string\"){t=[[null,t,\"\"]]}var i={};if(o){for(var r=0;r:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEERA,YAAa,CACb,2BAA2B,CCF3B,qCHYA,CAGD,+BACC,aAAc,CACd,oCAAqC,CACrC,4BAwBD,CAtBC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CACC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,mDACD,CAIA,gEACC,gDACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../mixins/_button.css\";\\n\\n:root {\\n\\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\\n}\\n\\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t&.ck-focused {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t}\\n}\\n\\n.ck.ck-editor__editable_inline {\\n\\toverflow: auto;\\n\\tpadding: 0 var(--ck-spacing-standard);\\n\\tborder: 1px solid transparent;\\n\\n\\t&[dir=\"ltr\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\"rtl\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\\n\\t& > *:first-child {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\\n\\t& > *:last-child {\\n\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\\n\\t&.ck-blurred ::selection {\\n\\t\\tbackground: var(--ck-color-editable-blur-selection);\\n\\t}\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_n\"] {\\n\\t&::after {\\n\\t\\tborder-bottom-color: var(--ck-color-base-foreground);\\n\\t}\\n}\\n\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_s\"] {\\n\\t&::after {\\n\\t\\tborder-top-color: var(--ck-color-base-foreground);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(20);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css\"],names:[],mappings:\"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tdisplay: block;\\n}\\n\\n.ck.ck-voice-label {\\n\\tdisplay: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tfont-weight: bold;\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(22);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAMC,qDACC,yBAA0B,CAC1B,cAAe,CACf,KACD,CAEA,kEACC,QAAS,CACT,iBACD,CCPA,qDCCA,oCAA8B,CDE7B,sBAAuB,CACvB,wBAAyB,CACzB,yBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\tz-index: var(--ck-z-modal); /* #315 */\\n\\t\\tposition: fixed;\\n\\t\\ttop: 0;\\n\\t}\\n\\n\\t& .ck-sticky-panel__content_sticky_bottom-limit {\\n\\t\\ttop: auto;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tborder-width: 0 1px 1px;\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(24);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css\",\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAOA,gBACC,oBAAqB,CACrB,iBAyDD,CAvDC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UAOD,CCcA,iEACC,YACD,CDdA,oCAGC,kCAAmC,CAEnC,YAAa,CACb,yBAA0B,CAE1B,iBA8BD,CA5BC,+DACC,oBACD,CAEA,oHAEC,WACD,CAEA,oHAMC,QAAS,CACT,WACD,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAQF,mCACC,mCACD,CEhEA,MACC,sDACD,CAEA,gBAEC,iBAiED,CA/DC,oCACC,mCACD,CAGC,8CACC,gCAAiC,CAGjC,sCACD,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEACC,SAAU,CACV,eAAgB,CAChB,sBACD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAIF,uBExEC,eFoGD,CA5BA,qFEpEE,qCFgGF,CA5BA,uBG1EC,oCAA8B,CH8E9B,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CAGT,cAmBD,CAfC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \\\"../tooltip/mixins/_tooltip.css\\\";\\n\\n.ck.ck-dropdown {\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n\\n\\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\twidth: 100%;\\n\\n\\t\\t/* Disable main button's tooltip when the dropdown is open. Otherwise the panel may\\n\\t\\tpartially cover the tooltip */\\n\\t\\t&.ck-on {\\n\\t\\t\\t@mixin ck-tooltip_disabled;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-dropdown__panel {\\n\\t\\t/* This is to get rid of flickering when the tooltip is shown under the panel,\\n\\t\\twhich looks like the panel moves vertically a pixel down and up. */\\n\\t\\t-webkit-backface-visibility: hidden;\\n\\n\\t\\tdisplay: none;\\n\\t\\tz-index: var(--ck-z-modal);\\n\\n\\t\\tposition: absolute;\\n\\n\\t\\t&.ck-dropdown__panel-visible {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_nw {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_se,\\n\\t\\t&.ck-dropdown__panel_sw {\\n\\t\\t\\t/*\\n\\t\\t\\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\\n\\t\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\\n\\t\\t\\t */\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_se {\\n\\t\\t\\tleft: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_sw {\\n\\t\\t\\tright: 0px;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\\n * See https://github.com/ckeditor/ckeditor5/issues/7874\\n */\\n.ck.ck-toolbar .ck-dropdown__panel {\\n\\tz-index: calc( var(--ck-z-modal) + 1 );\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Enables the tooltip, which is the tooltip is in DOM but\\n * not yet displayed.\\n */\\n@define-mixin ck-tooltip_enabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/*\\n\\t\\t * Don't display tooltips in devices which don't support :hover.\\n\\t\\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\\n\\t\\t * the primary action, when tooltips are enabled.\\n\\t\\t *\\n\\t\\t * Q: OK, but why not the following query?\\n\\t\\t *\\n\\t\\t * @media (hover) {\\n\\t\\t * display: block;\\n\\t\\t * }\\n\\t\\t *\\n\\t\\t * A: Because FF does not support it and it would completely disable tooltips\\n\\t\\t * in that browser.\\n\\t\\t *\\n\\t\\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\\n\\t\\t */\\n\\t\\t@media (hover:none) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Disables the tooltip making it disappear from DOM.\\n */\\n@define-mixin ck-tooltip_disabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/**\\n * Shows the tooltip, which is already in DOM.\\n * Requires `ck-tooltip_enabled` first.\\n */\\n@define-mixin ck-tooltip_visible {\\n\\t& .ck-tooltip {\\n\\t\\tvisibility: visible;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-dropdown {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-dropdown__arrow {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* #23 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: 7em;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t\\t&.ck-disabled .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__button_label-width_auto .ck-button__label {\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-dropdown__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\n\\t/* Make sure the panel is at least as wide as the drop-down\\'s button. */\\n\\tmin-width: 100%;\\n\\n\\t/* Disabled corner border radius to be consistent with the .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-dropdown__panel_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(26);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{width:var(--ck-icon-size);height:var(--ck-icon-size);font-size:.8333350694em;will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css\"],names:[],mappings:\"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YACC,yBAA0B,CAC1B,0BAA2B,CAG3B,uBAAwB,CAQxB,qBAcD,CAZC,0BARA,aAAc,CAGd,cAgBA,CAJC,yBAEC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-icon {\\n\\tvertical-align: middle;\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\\n}\\n\\n.ck.ck-icon {\\n\\twidth: var(--ck-icon-size);\\n\\theight: var(--ck-icon-size);\\n\\n\\t/* Multiplied by the height of the line in \"px\" should give SVG \"viewport\" dimensions */\\n\\tfont-size: .8333350694em;\\n\\n\\tcolor: inherit;\\n\\n\\t/* Inherit cursor style (#5). */\\n\\tcursor: inherit;\\n\\n\\t/* This will prevent blurry icons on Firefox. See #340. */\\n\\twill-change: transform;\\n\\n\\t& * {\\n\\t\\t/* Inherit cursor style (#5). */\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Allows dynamic coloring of the icons. */\\n\\t\\tcolor: inherit;\\n\\n\\t\\t&:not([fill]) {\\n\\t\\t\\t/* Needed by FF. */\\n\\t\\t\\tfill: currentColor;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(28);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,'.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{position:absolute;pointer-events:none;-webkit-backface-visibility:hidden}.ck.ck-tooltip{visibility:hidden;opacity:0;display:none;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:\"\";width:0;height:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{font-size:.9em;line-height:1.5;color:var(--ck-color-tooltip-text);padding:var(--ck-spacing-small) var(--ck-spacing-medium);background:var(--ck-color-tooltip-background);position:relative;left:-50%}.ck.ck-tooltip .ck-tooltip__text:after{transition:opacity .2s ease-in-out .2s;border-style:solid;left:50%}.ck.ck-tooltip.ck-tooltip_s{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after{top:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateX(-50%);border-left-color:transparent;border-bottom-color:var(--ck-color-tooltip-background);border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:0}.ck.ck-tooltip.ck-tooltip_n{top:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateX(-50%);border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;border-top-color:var(--ck-color-tooltip-background);border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:0;border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}',\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,sDAEC,iBAAkB,CAGlB,mBAAoB,CAIpB,kCACD,CAEA,eAEC,iBAAkB,CAClB,SAAU,CACV,YAAa,CACb,yBAWD,CATC,iCACC,oBAOD,CALC,uCACC,UAAW,CACX,OAAQ,CACR,QACD,CCxBF,MACC,2BACD,CAEA,eACC,QAAS,CAMT,KAAM,CAON,sCAkED,CAhEC,iCChBA,eDqCA,CArBA,yGCZC,qCDiCD,CArBA,iCAGC,cAAe,CACf,eAAgB,CAChB,kCAAmC,CACnC,wDAAyD,CACzD,6CAA8C,CAC9C,iBAAkB,CAClB,SAYD,CAVC,uCAMC,sCAAuC,CACvC,kBAAmB,CACnB,QACD,CAYD,4BACC,4CAA+C,CAC/C,0BAQD,CANC,oDACC,yCAA4C,CAC5C,0BAA6B,CAC7B,6BAAoF,CAApF,sDAAoF,CAApF,8BAAoF,CAApF,4BAAoF,CACpF,8CAAsG,CAAtG,gDAAsG,CAAtG,+CAAsG,CAAtG,kBACD,CAYD,4BACC,yCAA4C,CAC5C,2BAQD,CANC,oDACC,4CAA+C,CAC/C,0BAA6B,CAC7B,6BAAoF,CAApF,+BAAoF,CAApF,8BAAoF,CAApF,mDAAoF,CACpF,8CAAsG,CAAtG,qBAAsG,CAAtG,+CAAsG,CAAtG,6CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-tooltip,\\n.ck.ck-tooltip .ck-tooltip__text::after {\\n\\tposition: absolute;\\n\\n\\t/* Without this, hovering the tooltip could keep it visible. */\\n\\tpointer-events: none;\\n\\n\\t/* This is to get rid of flickering when transitioning opacity in Chrome.\\n\\tIt\\'s weird but it works. */\\n\\t-webkit-backface-visibility: hidden;\\n}\\n\\n.ck.ck-tooltip {\\n\\t/* Tooltip is hidden by default. */\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n\\tdisplay: none;\\n\\tz-index: var(--ck-z-modal);\\n\\n\\t& .ck-tooltip__text {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-tooltip-arrow-size: 5px;\\n}\\n\\n.ck.ck-tooltip {\\n\\tleft: 50%;\\n\\n\\t/*\\n\\t * Prevent blurry tooltips in LoDPI environments.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/1802.\\n\\t */\\n\\ttop: 0;\\n\\n\\t/*\\n\\t * For the transition to work, the tooltip must be controlled\\n\\t * using visibility+opacity. A delay prevents a \"tooltip avalanche\"\\n\\t * i.e. when scanning the toolbar with mouse cursor.\\n\\t */\\n\\ttransition: opacity .2s ease-in-out .2s;\\n\\n\\t& .ck-tooltip__text {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\tfont-size: .9em;\\n\\t\\tline-height: 1.5;\\n\\t\\tcolor: var(--ck-color-tooltip-text);\\n\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\tbackground: var(--ck-color-tooltip-background);\\n\\t\\tposition: relative;\\n\\t\\tleft: -50%;\\n\\n\\t\\t&::after {\\n\\t\\t\\t/*\\n\\t\\t\\t * For the transition to work, the tooltip must be controlled\\n\\t\\t\\t * using visibility+opacity. A delay prevents a \"tooltip avalanche\"\\n\\t\\t\\t * i.e. when scanning the toolbar with mouse cursor.\\n\\t\\t\\t */\\n\\t\\t\\ttransition: opacity .2s ease-in-out .2s;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tleft: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class once applied displays the tooltip south of the element.\\n\\t *\\n\\t * [element]\\n\\t * ^\\n\\t * +-----------+\\n\\t * | Tooltip |\\n\\t * +-----------+\\n\\t */\\n\\t&.ck-tooltip_s {\\n\\t\\tbottom: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\ttransform: translateY( 100% );\\n\\n\\t\\t& .ck-tooltip__text::after {\\n\\t\\t\\ttop: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-tooltip-background) transparent;\\n\\t\\t\\tborder-width: 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class once applied displays the tooltip north of the element.\\n\\t *\\n\\t * +-----------+\\n\\t * | Tooltip |\\n\\t * +-----------+\\n\\t * V\\n\\t * [element]\\n\\t */\\n\\t&.ck-tooltip_n {\\n\\t\\ttop: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\ttransform: translateY( -100% );\\n\\n\\t\\t& .ck-tooltip__text::after {\\n\\t\\t\\tbottom: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\tborder-color: var(--ck-color-tooltip-background) transparent transparent transparent;\\n\\t\\t\\tborder-width: var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(30);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(var(--ck-spacing-small)*-1);margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css\",\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AAQA,6BCCC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6BD,CE/BC,qDACC,aAqBD,CAHC,oBAnBD,qDAoBE,YAEF,CADC,CFvBF,6BAKC,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,oBAyBD,CAvBC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEkBA,iEACC,kBAAmB,CACnB,SACD,CAbA,yFACC,YACD,CC7BD,6BCAC,oDD0ID,CCvIE,6EACC,0DACD,CAEA,+EACC,2DAA4C,CAC5C,uEACD,CAID,qDACC,6DACD,CDhBD,6BEDC,eF2ID,CA1IA,wIEGE,qCFuIF,CA1IA,6BAKC,kBAAmB,CACnB,cAAe,CACf,qBAAsB,CACtB,8BAA+B,CAC/B,iBAAkB,CAGlB,2CAA4C,CAC5C,4CAA6C,CAI7C,aAAc,CAGd,iBAAkB,CAGlB,4BAA6B,CAG7B,4DAA8D,CAG9D,uBA6GD,CA3GC,oFGjCA,YAAa,CACb,2BAA2B,CCF3B,2CJsCA,CAIC,kJAEC,aACD,CAGD,iEAEC,iBAAkB,CAClB,mBAAoB,CACpB,aAAc,CACd,cAAe,CAIf,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAEA,uFK3FD,kCL6FC,CAGA,yFKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAOE,6CAAgD,CAChD,mCAEF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDiIA,CC9HC,yFACC,qDACD,CAEA,2FACC,sDAA4C,CAC5C,kEACD,CAID,iEACC,wDACD,CDmHA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC7IC,mDDkJD,CC/IE,2FACC,yDACD,CAEA,6FACC,0DAA4C,CAC5C,sEACD,CAID,mEACC,4DACD,CD6HD,2CAIC,wCACD,CAEA,uCAEC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n@import \"../tooltip/mixins/_tooltip.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-unselectable;\\n\\t@mixin ck-tooltip_enabled;\\n\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n\\talign-items: center;\\n\\tjustify-content: left;\\n\\n\\t& .ck-button__label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Center the icon horizontally in a button without text. */\\n\\t&:not(.ck-button_with-text) {\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&:hover {\\n\\t\\t@mixin ck-tooltip_visible;\\n\\t}\\n\\n\\t/* Get rid of the native focus outline around the tooltip when focused (but not :hover). */\\n\\t&:focus:not(:hover) {\\n\\t\\t@mixin ck-tooltip_disabled;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Enables the tooltip, which is the tooltip is in DOM but\\n * not yet displayed.\\n */\\n@define-mixin ck-tooltip_enabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/*\\n\\t\\t * Don't display tooltips in devices which don't support :hover.\\n\\t\\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\\n\\t\\t * the primary action, when tooltips are enabled.\\n\\t\\t *\\n\\t\\t * Q: OK, but why not the following query?\\n\\t\\t *\\n\\t\\t * @media (hover) {\\n\\t\\t * display: block;\\n\\t\\t * }\\n\\t\\t *\\n\\t\\t * A: Because FF does not support it and it would completely disable tooltips\\n\\t\\t * in that browser.\\n\\t\\t *\\n\\t\\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\\n\\t\\t */\\n\\t\\t@media (hover:none) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Disables the tooltip making it disappear from DOM.\\n */\\n@define-mixin ck-tooltip_disabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/**\\n * Shows the tooltip, which is already in DOM.\\n * Requires `ck-tooltip_enabled` first.\\n */\\n@define-mixin ck-tooltip_visible {\\n\\t& .ck-tooltip {\\n\\t\\tvisibility: visible;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../mixins/_button.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-button-colors --ck-color-button-default;\\n\\t@mixin ck-rounded-corners;\\n\\n\\twhite-space: nowrap;\\n\\tcursor: default;\\n\\tvertical-align: middle;\\n\\tpadding: var(--ck-spacing-tiny);\\n\\ttext-align: center;\\n\\n\\t/* A very important piece of styling. Go to variable declaration to learn more. */\\n\\tmin-width: var(--ck-ui-component-min-height);\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Normalize the height of the line. Removing this will break consistent height\\n\\tamong text and text-less buttons (with icons). */\\n\\tline-height: 1;\\n\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t/* Avoid flickering when the foucs border shows up. */\\n\\tborder: 1px solid transparent;\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\\n\\t-webkit-appearance: none;\\n\\n\\t&:active,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t/* Allow icon coloring using the text \"color\" property. */\\n\\t& .ck-button__icon {\\n\\t\\t& use,\\n\\t\\t& use * {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\t\\tfont-size: inherit;\\n\\t\\tfont-weight: inherit;\\n\\t\\tcolor: inherit;\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Must be consistent with .ck-icon\\'s vertical align. Otherwise, buttons with and\\n\\t\\twithout labels (but with icons) have different sizes in Chrome */\\n\\t\\tvertical-align: middle;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__keystroke {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\tfont-weight: bold;\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t&.ck-disabled {\\n\\t\\t&:active,\\n\\t\\t&:focus {\\n\\t\\t\\t/* The disabled button should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t& .ck-button__keystroke {\\n\\t\\t\\topacity: .3;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-keystroke {\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* A style of the button which is currently on, e.g. its feature is active. */\\n\\t&.ck-on {\\n\\t\\t@mixin ck-button-colors --ck-color-button-on;\\n\\t}\\n\\n\\t&.ck-button-save {\\n\\t\\tcolor: var(--ck-color-button-save);\\n\\t}\\n\\n\\t&.ck-button-cancel {\\n\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t}\\n}\\n\\n/* A style of the button which handles the primary action. */\\n.ck.ck-button-action,\\na.ck.ck-button-action {\\n\\t@mixin ck-button-colors --ck-color-button-action;\\n\\n\\tcolor: var(--ck-color-button-action-text);\\n}\\n\\n.ck.ck-button-bold,\\na.ck.ck-button-bold {\\n\\tfont-weight: bold;\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements a button of given background color.\\n *\\n * @param {String} $background - Background color of the button.\\n * @param {String} $border - Border color of the button.\\n */\\n@define-mixin ck-button-colors $prefix {\\n\\tbackground: var($(prefix)-background);\\n\\n\\t&:not(.ck-disabled) {\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var($(prefix)-hover-background);\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbackground: var($(prefix)-active-background);\\n\\t\\t\\tbox-shadow: inset 0 2px 2px var($(prefix)-active-shadow);\\n\\t\\t}\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t&.ck-disabled {\\n\\t\\tbackground: var($(prefix)-disabled-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(32);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css\",\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,YCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,YAAa,CACb,qBAcD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEfD,YCEC,eDGD,CALA,+DCME,qCDDF,CALA,YAGC,oBAAqB,CACrB,0CACD,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BACC,gBAAiB,CACjB,UAAW,CACX,eAAgB,CAChB,eAAgB,CAKhB,mIAiCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,2DACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,uBACC,UAAW,CACX,UAAW,CACX,sCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t& .ck-list__item,\\n\\t& .ck-list__separator {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/* Make sure that whatever child of the list item gets focus, it remains on the\\n\\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\\n\\tadjacent list items. */\\n\\t& .ck-list__item > *:focus {\\n\\t\\tposition: relative;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tlist-style-type: none;\\n\\tbackground: var(--ck-color-list-background);\\n}\\n\\n.ck.ck-list__item {\\n\\tcursor: default;\\n\\tmin-width: 12em;\\n\\n\\t& .ck-button {\\n\\t\\tmin-height: unset;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: left;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t/* List items should have the same height. Use absolute units to make sure it is so\\n\\t\\t because e.g. different heading styles may have different height\\n\\t\\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\tpadding:\\n\\t\\t\\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\\n\\t\\t\\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\t\\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-button-on-background);\\n\\t\\t\\tcolor: var(--ck-color-list-button-on-text);\\n\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-on-background-focus);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus:not(.ck-disabled) {\\n\\t\\t\\t\\tborder-color: var(--ck-color-base-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* It\\'s unnecessary to change the background/text of a switch toggle; it has different ways\\n\\tof conveying its state (like the switcher) */\\n\\t& .ck-switchbutton {\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-background);\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-list__separator {\\n\\theight: 1px;\\n\\twidth: 100%;\\n\\tbackground: var(--ck-color-base-border);\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(34);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - var(--ck-switch-button-toggle-spacing)*2)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*0.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var(--ck-switch-button-translation)*-1))}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,mDAAoD,CACpD,qCAAsC,CACtC,gKAKD,CAGC,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDC3BA,eDoEA,CAzCA,yICvBC,qCDgED,CAzCA,2DAKE,gBAoCF,CAzCA,2DAUE,iBA+BF,CAzCA,iDAcC,8BAAiC,CAEjC,0CAA2C,CAC3C,uDAwBD,CAtBC,2EC9CD,eD2DC,CAbA,6LC1CA,qCAAsC,CD4CpC,+CAWF,CAbA,2EAMC,6CAA8C,CAC9C,+CAAgD,CAChD,gDAAiD,CACjD,yDAA0D,CAG1D,uBACD,CAEA,uDACC,6DAKD,CAHC,iFACC,+DACD,CAIF,6DExEA,kCF0EA,CAEA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,yDAMF,CAXA,2FASE,kEAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__toggle {\\n\\t\\tdisplay: block;\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\\nof the component, floating–point numbers have been used which, for the default font size\\n(see: --ck-font-size-base), will generate simple integers. */\\n:root {\\n\\t/* 34px at 13px font-size */\\n\\t--ck-switch-button-toggle-width: 2.6153846154em;\\n\\t/* 14px at 13px font-size */\\n\\t--ck-switch-button-toggle-inner-size: 1.0769230769em;\\n\\t--ck-switch-button-toggle-spacing: 1px;\\n\\t--ck-switch-button-translation: calc(\\n\\t\\tvar(--ck-switch-button-toggle-width) -\\n\\t\\tvar(--ck-switch-button-toggle-inner-size) -\\n\\t\\t2 * var(--ck-switch-button-toggle-spacing)\\n\\t);\\n}\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__toggle {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Make sure the toggle is always to the right as far as possible. */\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Make sure the toggle is always to the left as far as possible. */\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\n\\t\\t/* Gently animate the background color of the toggle switch */\\n\\t\\ttransition: background 400ms ease;\\n\\n\\t\\twidth: var(--ck-switch-button-toggle-width);\\n\\t\\tbackground: var(--ck-color-switch-button-off-background);\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: calc(.5 * var(--ck-border-radius));\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Leave some tiny bit of space around the inner part of the switch */\\n\\t\\t\\tmargin: var(--ck-switch-button-toggle-spacing);\\n\\t\\t\\twidth: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\theight: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\tbackground: var(--ck-color-switch-button-inner-background);\\n\\n\\t\\t\\t/* Gently animate the inner part of the toggle switch */\\n\\t\\t\\ttransition: all 300ms ease;\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-off-hover-background);\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\tbox-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-button__toggle {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t&.ck-on .ck-button__toggle {\\n\\t\\tbackground: var(--ck-color-switch-button-on-background);\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-on-hover-background);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t/*\\n\\t\\t\\t * Move the toggle switch to the right. It will be animated.\\n\\t\\t\\t */\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\ttransform: translateX( var( --ck-switch-button-translation ) );\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(36);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-toolbar-dropdown .ck.ck-toolbar .ck.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css\"],names:[],mappings:\"AAMC,6DACC,gBACD,CAGC,6DACC,qCACD,CCRF,oCACC,QACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-toolbar-dropdown {\\n\\t& .ck.ck-toolbar .ck.ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t& .ck-dropdown__panel .ck-button {\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-toolbar-dropdown .ck-toolbar {\\n\\tborder: 0;\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(38);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDIpC,wBAAyB,CACzB,2BAA4B,CAC5B,4BAEF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\\n\\t/* Disabled radius of top-left border to be consistent with .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t/* Make sure the button belonging to the first/last child of the list goes well with the\\n\\tborder radius of the entire panel. */\\n\\t& .ck-list__item {\\n\\t\\t&:first-child .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:last-child .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(40);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;background:var(--ck-color-toolbar-border);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items>*{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>*,.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css\",\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,eCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,YAAa,CACb,oBAAqB,CACrB,kBAyCD,CAvCC,kCACC,YAAa,CACb,kBAAmB,CACnB,kBAAmB,CACnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE3CF,eCGC,eD0FD,CA7FA,qECOE,qCDsFF,CA7FA,eAGC,6CAA8C,CAC9C,iCAAkC,CAClC,+CAwFD,CAtFC,yCACC,kBAAmB,CACnB,SAAU,CACV,aAAc,CACd,yCAA0C,CAM1C,kCAAmC,CACnC,qCACD,CAGC,oCAEC,kCAAmC,CACnC,qCAAsC,CAGtC,oCACD,CAIA,kEACC,YACD,CAGD,oFAGC,kCAAmC,CACnC,qCACD,CAEA,mCAEC,SAgBD,CAbC,0DAEC,UAAW,CAGX,QAAS,CAGT,eAAgB,CAGhB,QACD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAvFF,qCA2FE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JACC,wBAAyB,CACzB,2BACD,CAGA,2JACC,yBAA0B,CAC1B,4BACD,CAID,qGACC,mCACD,CAGA,yLACC,mCACD,CAWA,qHACC,cACD,CAIC,6JACC,yBAA0B,CAC1B,4BACD,CAGA,2JACC,wBAAyB,CACzB,2BACD,CAID,qGACC,oCACD,CAGA,yLACC,oCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: center;\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-flow: row wrap;\\n\\t\\talign-items: center;\\n\\t\\tflex-grow: 1;\\n\\n\\t}\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t/*\\n\\t\\t * A leading or trailing separator makes no sense (separates from nothing on one side).\\n\\t\\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\\n\\t\\t * moved to another toolbar in the dropdown.\\n\\t\\t */\\n\\t\\t&:first-child,\\n\\t\\t&:last-child {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t&.ck-toolbar_vertical > .ck-toolbar__items {\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&.ck-toolbar_floating > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t& > .ck-dropdown__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\talign-self: stretch;\\n\\t\\twidth: 1px;\\n\\t\\tmin-width: 1px;\\n\\t\\tbackground: var(--ck-color-toolbar-border);\\n\\n\\t\\t/*\\n\\t\\t * These margins make the separators look better in balloon toolbars (when aligned with the \"tip\").\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\\n\\t\\t */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\t& > * {\\n\\t\\t\\t/* Make sure items wrapped to the next line have v-spacing */\\n\\t\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\n\\t\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t/* Don\\'t display a separator after an empty items container, for instance,\\n\\t\\twhen all items were grouped */\\n\\t\\t&:empty + .ck.ck-toolbar__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-toolbar__items > *,\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/* Make sure items wrapped to the next line have v-spacing */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t&.ck-toolbar_vertical {\\n\\t\\t/* Items in a vertical toolbar span the entire width. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\\n\\t\\t& > .ck-toolbar__items > .ck {\\n\\t\\t\\t/* Items in a vertical toolbar should span the horizontal space. */\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t/* Items in a vertical toolbar should have no margin. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\\n\\t\\t\\tborder-radius: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so any border is pointless. */\\n\\t\\t\\tborder: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-toolbar_compact {\\n\\t\\t/* No spacing around items. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t& > .ck-toolbar__items > * {\\n\\t\\t\\t/* Compact toolbar items have no spacing between them. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* \"Middle\" children should have no rounded corners. */\\n\\t\\t\\t&:not(:first-child):not(:last-child) {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/*\\n\\t\\t * Dropdown button has asymmetric padding to fit the arrow.\\n\\t\\t * This button has no arrow so let\\'s revert that padding back to normal.\\n\\t\\t */\\n\\t\\t& > .ck.ck-button.ck-dropdown__button {\\n\\t\\t\\tpadding-left: var(--ck-spacing-tiny);\\n\\t\\t}\\n\\t}\\n\\n\\t@nest .ck-toolbar-container & {\\n\\t\\tborder: 0;\\n\\t}\\n}\\n\\n/* stylelint-disable */\\n\\n/*\\n * Styles for RTL toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"rtl\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"rtl\"] {\\n\\t& > .ck-toolbar__items > .ck {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\\n\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-left: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/*\\n * Styles for LTR toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"ltr\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"ltr\"] {\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/* stylelint-enable */\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(42);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,gDCED,eDKC,CAPA,uICMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAIF,CAPA,gDAMC,qBACD,CAEA,iFACC,uBAAwB,CCR1B,eDaC,CANA,yMCHA,qCAAsC,CDOpC,eAEF,CAKF,yCAEC,0CAA2C,CCpB3C,eD8BD,CAZA,yHCdE,qCAAsC,CDmBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor {\\n\\t/* All the elements within `.ck-editor` are positioned relatively to it.\\n\\t If any element needs to be positioned with respect to the , etc.,\\n\\t it must land outside of the `.ck-editor` in DOM. */\\n\\tposition: relative;\\n\\n\\t& .ck-editor__top .ck-sticky-panel .ck-toolbar {\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */\\n\\t\\tz-index: var(--ck-z-modal);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-editor__top {\\n\\t& .ck-sticky-panel {\\n\\t\\t& .ck-toolbar {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck-sticky-panel__content_sticky .ck-toolbar {\\n\\t\\t\\tborder-bottom-width: 1px;\\n\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Note: Use ck-editor__main to make sure these styles don\\'t apply to other editor types */\\n.ck.ck-editor__main > .ck-editor__editable {\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */\\n\\tbackground: var(--ck-color-base-background);\\n\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&:not(.ck-focused) {\\n\\t\\tborder-color: var(--ck-color-base-border);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(44);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#000}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{width:var(--ck-color-grid-tile-size);height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{display:none;color:var(--ck-color-color-grid-check-icon)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css\"],names:[],mappings:\"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,qCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBACC,oCAAqC,CACrC,qCAAsC,CACtC,wCAAyC,CACzC,yCAA0C,CAC1C,SAAU,CACV,8BAA+B,CAC/B,QAmCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,4DACC,gDACD,CAEA,oCACC,YAAa,CACb,2CACD,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-color-grid {\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-grid-tile-size: 24px;\\n\\n\\t/* Not using global colors here because these may change but some colors in a pallette\\n\\t * require special treatment. For instance, this ensures no matter what the UI text color is,\\n\\t * the check icon will look good on the black color tile. */\\n\\t--ck-color-color-grid-check-icon: hsl(0, 0%, 0%);\\n}\\n\\n.ck.ck-color-grid {\\n\\tgrid-gap: 5px;\\n\\tpadding: 8px;\\n}\\n\\n.ck.ck-color-grid__tile {\\n\\twidth: var(--ck-color-grid-tile-size);\\n\\theight: var(--ck-color-grid-tile-size);\\n\\tmin-width: var(--ck-color-grid-tile-size);\\n\\tmin-height: var(--ck-color-grid-tile-size);\\n\\tpadding: 0;\\n\\ttransition: .2s ease box-shadow;\\n\\tborder: 0;\\n\\n\\t&.ck-disabled {\\n\\t\\tcursor: unset;\\n\\t\\ttransition: unset;\\n\\t}\\n\\n\\t&.ck-color-table__color-tile_bordered {\\n\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\tdisplay: none;\\n\\t\\tcolor: var(--ck-color-color-grid-check-icon);\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-on,\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\t/* Disable the default .ck-button\\'s border ring. */\\n\\t\\tborder: 0;\\n\\t}\\n\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\\n\\t}\\n}\\n\\n.ck.ck-color-grid__label {\\n\\tpadding: 0 var(--ck-spacing-standard);\\n}\\n'],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(46);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck .ck-button.ck-color-table__remove-color{display:flex;align-items:center;width:100%}label.ck.ck-color-grid__label{font-weight:unset}.ck .ck-button.ck-color-table__remove-color{padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck .ck-button.ck-color-table__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-base-border)}[dir=ltr] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-font/theme/fontcolor.css\",\"webpack://node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-font/fontcolor.css\"],names:[],mappings:\"AAKA,4CACC,YAAa,CACb,kBAAmB,CACnB,UACD,CAEA,8BACC,iBACD,CCNA,4CACC,qEAAyE,CACzE,2BAA4B,CAC5B,4BAeD,CAbC,wDACC,mDACD,CAEA,kEAEE,uCAMF,CARA,kEAME,sCAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-button.ck-color-table__remove-color {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n}\\n\\nlabel.ck.ck-color-grid__label {\\n\\tfont-weight: unset;\\n}\\n\",'/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck .ck-button.ck-color-table__remove-color {\\n\\tpadding: calc(var(--ck-spacing-standard) / 2 ) var(--ck-spacing-standard);\\n\\tborder-bottom-left-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n\\n\\t&:not(:focus) {\\n\\t\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n}\\n\\n'],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){var o=n(4);var i=n(48);i=i.__esModule?i.default:i;if(typeof i===\"string\"){i=[[t.i,i,\"\"]]}var r={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};r.insert=\"head\";r.singleton=true;var s=o(i,r);t.exports=i.locals||{}},function(t,e,n){\"use strict\";n.r(e);var o=n(1);var i=n.n(o);var r=i()(true);r.push([t.i,\".ck-content .text-tiny{font-size:.7em}.ck-content .text-small{font-size:.85em}.ck-content .text-big{font-size:1.4em}.ck-content .text-huge{font-size:1.8em}\",\"\",{version:3,sources:[\"webpack://node_modules/@ckeditor/ckeditor5-font/theme/fontsize.css\"],names:[],mappings:\"AAUC,uBACC,cACD,CAEA,wBACC,eACD,CAEA,sBACC,eACD,CAEA,uBACC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* The values should be synchronized with the \"FONT_SIZE_PRESET_UNITS\" object in the \"/src/fontsize/utils.js\" file. */\\n\\n/* Styles should be prefixed with the `.ck-content` class.\\nSee https://github.com/ckeditor/ckeditor5/issues/6636 */\\n.ck-content {\\n\\t& .text-tiny {\\n\\t\\tfont-size: .7em;\\n\\t}\\n\\n\\t& .text-small {\\n\\t\\tfont-size: .85em;\\n\\t}\\n\\n\\t& .text-big {\\n\\t\\tfont-size: 1.4em;\\n\\t}\\n\\n\\t& .text-huge {\\n\\t\\tfont-size: 1.8em;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);e[\"default\"]=r},function(t,e,n){\"use strict\";n.r(e);var o=n(3);var i=o[\"a\"].Symbol;var r=i;var s=Object.prototype;var a=s.hasOwnProperty;var c=s.toString;var l=r?r.toStringTag:undefined;function u(t){var e=a.call(t,l),n=t[l];try{t[l]=undefined;var o=true}catch(t){}var i=c.call(t);if(o){if(e){t[l]=n}else{delete t[l]}}return i}var d=u;var h=Object.prototype;var f=h.toString;function m(t){return f.call(t)}var g=m;var p=\"[object Null]\",b=\"[object Undefined]\";var k=r?r.toStringTag:undefined;function w(t){if(t==null){return t===undefined?b:p}return k&&k in Object(t)?d(t):g(t)}var _=w;function v(t,e){return function(n){return t(e(n))}}var C=v;var A=C(Object.getPrototypeOf,Object);var y=A;function x(t){return t!=null&&typeof t==\"object\"}var E=x;var P=\"[object Object]\";var S=Function.prototype,T=Object.prototype;var D=S.toString;var B=T.hasOwnProperty;var O=D.call(Object);function I(t){if(!E(t)||_(t)!=P){return false}var e=y(t);if(e===null){return true}var n=B.call(e,\"constructor\")&&e.constructor;return typeof n==\"function\"&&n instanceof n&&D.call(n)==O}var R=I;function N(){this.__data__=[];this.size=0}var F=N;function M(t,e){return t===e||t!==t&&e!==e}var L=M;function V(t,e){var n=t.length;while(n--){if(L(t[n][0],e)){return n}}return-1}var z=V;var j=Array.prototype;var q=j.splice;function K(t){var e=this.__data__,n=z(e,t);if(n<0){return false}var o=e.length-1;if(n==o){e.pop()}else{q.call(e,n,1)}--this.size;return true}var $=K;function G(t){var e=this.__data__,n=z(e,t);return n<0?undefined:e[n][1]}var W=G;function U(t){return z(this.__data__,t)>-1}var H=U;function J(t,e){var n=this.__data__,o=z(n,t);if(o<0){++this.size;n.push([t,e])}else{n[o][1]=e}return this}var Y=J;function Q(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e-1&&t%1==0&&t-1&&t%1==0&&t<=en}var on=nn;var rn=\"[object Arguments]\",sn=\"[object Array]\",an=\"[object Boolean]\",cn=\"[object Date]\",ln=\"[object Error]\",un=\"[object Function]\",dn=\"[object Map]\",hn=\"[object Number]\",fn=\"[object Object]\",mn=\"[object RegExp]\",gn=\"[object Set]\",pn=\"[object String]\",bn=\"[object WeakMap]\";var kn=\"[object ArrayBuffer]\",wn=\"[object DataView]\",_n=\"[object Float32Array]\",vn=\"[object Float64Array]\",Cn=\"[object Int8Array]\",An=\"[object Int16Array]\",yn=\"[object Int32Array]\",xn=\"[object Uint8Array]\",En=\"[object Uint8ClampedArray]\",Pn=\"[object Uint16Array]\",Sn=\"[object Uint32Array]\";var Tn={};Tn[_n]=Tn[vn]=Tn[Cn]=Tn[An]=Tn[yn]=Tn[xn]=Tn[En]=Tn[Pn]=Tn[Sn]=true;Tn[rn]=Tn[sn]=Tn[kn]=Tn[an]=Tn[wn]=Tn[cn]=Tn[ln]=Tn[un]=Tn[dn]=Tn[hn]=Tn[fn]=Tn[mn]=Tn[gn]=Tn[pn]=Tn[bn]=false;function Dn(t){return E(t)&&on(t.length)&&!!Tn[_(t)]}var Bn=Dn;function On(t){return function(e){return t(e)}}var In=On;var Rn=n(6);var Nn=Rn[\"a\"]&&Rn[\"a\"].isTypedArray;var Fn=Nn?In(Nn):Bn;var Mn=Fn;var Ln=Object.prototype;var Vn=Ln.hasOwnProperty;function zn(t,e){var n=Je(t),o=!n&&Ue(t),i=!n&&!o&&Object(Ye[\"a\"])(t),r=!n&&!o&&!i&&Mn(t),s=n||o||i||r,a=s?Ve(t.length,String):[],c=a.length;for(var l in t){if((e||Vn.call(t,l))&&!(s&&(l==\"length\"||i&&(l==\"offset\"||l==\"parent\")||r&&(l==\"buffer\"||l==\"byteLength\"||l==\"byteOffset\")||tn(l,c)))){a.push(l)}}return a}var jn=zn;var qn=Object.prototype;function Kn(t){var e=t&&t.constructor,n=typeof e==\"function\"&&e.prototype||qn;return t===n}var $n=Kn;var Gn=C(Object.keys,Object);var Wn=Gn;var Un=Object.prototype;var Hn=Un.hasOwnProperty;function Jn(t){if(!$n(t)){return Wn(t)}var e=[];for(var n in Object(t)){if(Hn.call(t,n)&&n!=\"constructor\"){e.push(n)}}return e}var Yn=Jn;function Qn(t){return t!=null&&on(t.length)&&!mt(t)}var Xn=Qn;function Zn(t){return Xn(t)?jn(t):Yn(t)}var to=Zn;function eo(t,e){return t&&Me(e,to(e),t)}var no=eo;function oo(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}var io=oo;var ro=Object.prototype;var so=ro.hasOwnProperty;function ao(t){if(!ct(t)){return io(t)}var e=$n(t),n=[];for(var o in t){if(!(o==\"constructor\"&&(e||!so.call(t,o)))){n.push(o)}}return n}var co=ao;function lo(t){return Xn(t)?jn(t,true):co(t)}var uo=lo;function ho(t,e){return t&&Me(e,uo(e),t)}var fo=ho;var mo=n(9);function go(t,e){var n=-1,o=t.length;e||(e=Array(o));while(++n{this._setToTarget(t,o,e[o],n)}))}}function Yr(t){return Wr(t,Qr)}function Qr(t){return Hr(t)?t:undefined}function Xr(){return function t(){t.called=true}}var Zr=Xr;class ts{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=Zr();this.off=Zr()}}const es=new Array(256).fill().map(((t,e)=>(\"0\"+e.toString(16)).slice(-2)));function ns(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const o=Math.random()*4294967296>>>0;return\"e\"+es[t>>0&255]+es[t>>8&255]+es[t>>16&255]+es[t>>24&255]+es[e>>0&255]+es[e>>8&255]+es[e>>16&255]+es[e>>24&255]+es[n>>0&255]+es[n>>8&255]+es[n>>16&255]+es[n>>24&255]+es[o>>0&255]+es[o>>8&255]+es[o>>16&255]+es[o>>24&255]}const os={get(t){if(typeof t!=\"number\"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};var is=os;var rs=n(7);var ss=n(0);const as=Symbol(\"listeningTo\");const cs=Symbol(\"emitterId\");const ls={on(t,e,n={}){this.listenTo(this,t,e,n)},once(t,e,n){let o=false;const i=function(t,...n){if(!o){o=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,i,n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,o={}){let i,r;if(!this[as]){this[as]={}}const s=this[as];if(!fs(t)){hs(t)}const a=fs(t);if(!(i=s[a])){i=s[a]={emitter:t,callbacks:{}}}if(!(r=i.callbacks[e])){r=i.callbacks[e]=[]}r.push(n);ps(t,e);const c=bs(t,e);const l=is.get(o.priority);const u={callback:n,priority:l};for(const t of c){let e=false;for(let n=0;n{if(!this._delegations){this._delegations=new Map}t.forEach((t=>{const o=this._delegations.get(t);if(!o){this._delegations.set(t,new Map([[e,n]]))}else{o.set(e,n)}}))}}},stopDelegating(t,e){if(!this._delegations){return}if(!t){this._delegations.clear()}else if(!e){this._delegations.delete(t)}else{const n=this._delegations.get(t);if(n){n.delete(e)}}}};var us=ls;function ds(t,e){if(t[as]&&t[as][e]){return t[as][e].emitter}return null}function hs(t,e){if(!t[cs]){t[cs]=e||ns()}}function fs(t){return t[cs]}function ms(t){if(!t._events){Object.defineProperty(t,\"_events\",{value:{}})}return t._events}function gs(){return{callbacks:[],childEvents:[]}}function ps(t,e){const n=ms(t);if(n[e]){return}let o=e;let i=null;const r=[];while(o!==\"\"){if(n[o]){break}n[o]=gs();r.push(n[o]);if(i){n[o].childEvents.push(i)}i=o;o=o.substr(0,o.lastIndexOf(\":\"))}if(o!==\"\"){for(const t of r){t.callbacks=n[o].callbacks.slice()}n[o].childEvents.push(i)}}function bs(t,e){const n=ms(t)[e];if(!n){return[]}let o=[n.callbacks];for(let e=0;e-1){return ks(t,e.substr(0,e.lastIndexOf(\":\")))}else{return null}}return n.callbacks}function ws(t,e,n){for(let[o,i]of t){if(!i){i=e.name}else if(typeof i==\"function\"){i=i(e.name)}const t=new ts(e.source,i);t.path=[...e.path];o.fire(t,...n)}}function _s(t,e,n){const o=bs(t,e);for(const t of o){for(let e=0;e{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach((n=>{if(n in t.prototype){return}const o=Object.getOwnPropertyDescriptor(e,n);o.enumerable=false;Object.defineProperty(t.prototype,n,o)}))}))}class As{constructor(t={},e={}){const n=vs(t);if(!n){e=t}this._items=[];this._itemMap=new Map;this._idProperty=e.idProperty||\"id\";this._bindToExternalToInternalMap=new WeakMap;this._bindToInternalToExternalMap=new WeakMap;this._skippedIndexesFromExternal=[];if(n){for(const e of t){this._items.push(e);this._itemMap.set(this._getItemIdBeforeAdding(e),e)}}}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){return this.addMany([t],e)}addMany(t,e){if(e===undefined){e=this._items.length}else if(e>this._items.length||e<0){throw new ss[\"b\"](\"collection-add-item-invalid-index\",this)}for(let n=0;n{this._setUpBindToBinding((e=>new t(e)))},using:t=>{if(typeof t==\"function\"){this._setUpBindToBinding((e=>t(e)))}else{this._setUpBindToBinding((e=>e[t]))}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,o,i)=>{const r=e._bindToCollection==this;const s=e._bindToInternalToExternalMap.get(o);if(r&&s){this._bindToExternalToInternalMap.set(o,s);this._bindToInternalToExternalMap.set(s,o)}else{const n=t(o);if(!n){this._skippedIndexesFromExternal.push(i);return}let r=i;for(const t of this._skippedIndexesFromExternal){if(i>t){r--}}for(const t of e._skippedIndexesFromExternal){if(r>=t){r++}}this._bindToExternalToInternalMap.set(o,n);this._bindToInternalToExternalMap.set(n,o);this.add(n,r);for(let t=0;t{const o=this._bindToExternalToInternalMap.get(e);if(o){this.remove(o)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>{if(ne){t.push(e)}return t}),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!=\"string\"){throw new ss[\"b\"](\"collection-add-invalid-id\",this)}if(this.get(n)){throw new ss[\"b\"](\"collection-add-item-already-exists\",this)}}else{t[e]=n=ns()}return n}_remove(t){let e,n,o;let i=false;const r=this._idProperty;if(typeof t==\"string\"){n=t;o=this._itemMap.get(n);i=!o;if(o){e=this._items.indexOf(o)}}else if(typeof t==\"number\"){e=t;o=this._items[e];i=!o;if(o){n=o[r]}}else{o=t;n=o[r];e=this._items.indexOf(o);i=e==-1||!this._itemMap.get(n)}if(i){throw new ss[\"b\"](\"collection-remove-404\",this)}this._items.splice(e,1);this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(o);this._bindToInternalToExternalMap.delete(o);this._bindToExternalToInternalMap.delete(s);this.fire(\"remove\",o,e);return[o,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}Cs(As,us);class ys{constructor(t,e=[],n=[]){this._context=t;this._plugins=new Map;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]==\"function\"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){let e=t;if(typeof t==\"function\"){e=t.pluginName||t.name}throw new ss[\"b\"](\"plugincollection-plugin-not-loaded\",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[]){const n=this;const o=this._context;const i=new Set;const r=[];const s=m(t);const a=m(e);const c=f(t);if(c){const t=\"plugincollection-plugin-not-found\";console.error(Object(ss[\"a\"])(t),{plugins:c});return Promise.reject(new ss[\"b\"](t,o,{plugins:c}))}return Promise.all(s.map(l)).then((()=>u(r,\"init\"))).then((()=>u(r,\"afterInit\"))).then((()=>r));function l(t){if(a.includes(t)){return}if(n._plugins.has(t)||i.has(t)){return}return d(t).catch((e=>{console.error(Object(ss[\"a\"])(\"plugincollection-load\"),{plugin:t});throw e}))}function u(t,e){return t.reduce(((t,o)=>{if(!o[e]){return t}if(n._contextPlugins.has(o)){return t}return t.then(o[e].bind(o))}),Promise.resolve())}function d(t){return new Promise((s=>{i.add(t);if(t.requires){t.requires.forEach((n=>{const i=h(n);if(t.isContextPlugin&&!i.isContextPlugin){throw new ss[\"b\"](\"plugincollection-context-required\",null,{plugin:i.name,requiredBy:t.name})}if(e.includes(i)){throw new ss[\"b\"](\"plugincollection-required\",o,{plugin:i.name,requiredBy:t.name})}l(i)}))}const a=n._contextPlugins.get(t)||new t(o);n._add(t,a);r.push(a);s()}))}function h(t){if(typeof t==\"function\"){return t}return n._availablePlugins.get(t)}function f(t){const e=[];for(const n of t){if(!h(n)){e.push(n)}}return e.length?e:null}function m(t){return t.map((t=>h(t))).filter((t=>!!t))}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy==\"function\"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new ss[\"b\"](\"plugincollection-plugin-name-conflict\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}Cs(ys,us);if(!window.CKEDITOR_TRANSLATIONS){window.CKEDITOR_TRANSLATIONS={}}function xs(t,e,n){if(!window.CKEDITOR_TRANSLATIONS[t]){window.CKEDITOR_TRANSLATIONS[t]={}}const o=window.CKEDITOR_TRANSLATIONS[t];o.dictionary=o.dictionary||{};o.getPluralForm=n||o.getPluralForm;Object.assign(o.dictionary,e)}function Es(t,e,n=1){if(typeof n!==\"number\"){throw new ss[\"b\"](\"translation-service-quantity-not-a-number\",null,{quantity:n})}const o=Ts();if(o===1){t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]}const i=e.id||e.string;if(o===0||!Ss(t,i)){if(n!==1){return e.plural}return e.string}const r=window.CKEDITOR_TRANSLATIONS[t].dictionary;const s=window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);if(typeof r[i]===\"string\"){return r[i]}const a=Number(s(n));return r[i][a]}function Ps(){window.CKEDITOR_TRANSLATIONS={}}function Ss(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function Ts(){return Object.keys(window.CKEDITOR_TRANSLATIONS).length}const Ds=[\"ar\",\"fa\",\"he\",\"ku\",\"ug\"];class Bs{constructor(t={}){this.uiLanguage=t.uiLanguage||\"en\";this.contentLanguage=t.contentLanguage||this.uiLanguage;this.uiLanguageDirection=Is(this.uiLanguage);this.contentLanguageDirection=Is(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){console.warn(\"locale-deprecated-language-property: \"+\"The Locale#language property has been deprecated and will be removed in the near future. \"+\"Please use #uiLanguage and #contentLanguage properties instead.\");return this.uiLanguage}_t(t,e=[]){if(!Array.isArray(e)){e=[e]}if(typeof t===\"string\"){t={string:t}}const n=!!t.plural;const o=n?e[0]:1;const i=Es(this.uiLanguage,t,o);return Os(i,e)}}function Os(t,e){return t.replace(/%(\\d+)/g,((t,n)=>nt.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner){throw new ss[\"b\"](\"context-addeditor-private-context\")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(![\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}function Ns(t,e){const n=Math.min(t.length,e.length);for(let o=0;ot.data.length){throw new ss[\"b\"](\"view-textproxy-wrong-offsetintext\",this)}if(n<0||e+n>t.data.length){throw new ss[\"b\"](\"view-textproxy-wrong-length\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(t){return t===\"$textProxy\"||t===\"view:$textProxy\"||t===\"textProxy\"||t===\"view:textProxy\"}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}}function qs(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function Ks(t){if(vs(t)){return new Map(t)}else{return qs(t)}}class $s{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e==\"string\"||e instanceof RegExp){e={name:e}}if(e.classes&&(typeof e.classes==\"string\"||e.classes instanceof RegExp)){e.classes=[e.classes]}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=Gs(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const o=Gs(n,t);if(o){e.push({element:n,pattern:t,match:o})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!=\"function\"&&e&&!(e instanceof RegExp)?e:null}}function Gs(t,e){if(typeof e==\"function\"){return e(t)}const n={};if(e.name){n.name=Ws(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Us(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Hs(e.classes,t);if(!n.classes){return false}}if(e.styles){n.styles=Js(e.styles,t);if(!n.styles){return false}}return n}function Ws(t,e){if(t instanceof RegExp){return t.test(e)}return t===e}function Us(t,e){const n=[];for(const o in t){const i=t[o];if(e.hasAttribute(o)){const t=e.getAttribute(o);if(i===true){n.push(o)}else if(i instanceof RegExp){if(i.test(t)){n.push(o)}else{return null}}else if(t===i){n.push(o)}else{return null}}else{return null}}return n}function Hs(t,e){const n=[];for(const o of t){if(o instanceof RegExp){const t=e.getClassNames();for(const e of t){if(o.test(e)){n.push(e)}}if(n.length===0){return null}}else if(e.hasClass(o)){n.push(o)}else{return null}}return n}function Js(t,e){const n=[];for(const o in t){const i=t[o];if(e.hasStyle(o)){const t=e.getStyle(o);if(i instanceof RegExp){if(i.test(t)){n.push(o)}else{return null}}else if(t===i){n.push(o)}else{return null}}else{return null}}return n}var Ys=\"[object Symbol]\";function Qs(t){return typeof t==\"symbol\"||E(t)&&_(t)==Ys}var Xs=Qs;var Zs=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ta=/^\\w*$/;function ea(t,e){if(Je(t)){return false}var n=typeof t;if(n==\"number\"||n==\"symbol\"||n==\"boolean\"||t==null||Xs(t)){return true}return ta.test(t)||!Zs.test(t)||e!=null&&t in Object(e)}var na=ea;var oa=\"Expected a function\";function ia(t,e){if(typeof t!=\"function\"||e!=null&&typeof e!=\"function\"){throw new TypeError(oa)}var n=function(){var o=arguments,i=e?e.apply(this,o):o[0],r=n.cache;if(r.has(i)){return r.get(i)}var s=t.apply(this,o);n.cache=r.set(i,s)||r;return s};n.cache=new(ia.Cache||_e);return n}ia.Cache=_e;var ra=ia;var sa=500;function aa(t){var e=ra(t,(function(t){if(n.size===sa){n.clear()}return t}));var n=e.cache;return e}var ca=aa;var la=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;var ua=/\\\\(\\\\)?/g;var da=ca((function(t){var e=[];if(t.charCodeAt(0)===46){e.push(\"\")}t.replace(la,(function(t,n,o,i){e.push(o?i.replace(ua,\"$1\"):n||t)}));return e}));var ha=da;function fa(t,e){var n=-1,o=t==null?0:t.length,i=Array(o);while(++ni?0:i+e}n=n>i?i:n;if(n<0){n+=i}i=e>n?0:n-e>>>0;e>>>=0;var r=Array(i);while(++o0){if(++e>=mc){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}var kc=bc;var wc=kc(fc);var _c=wc;function vc(t,e){return _c(lc(t,e,ic),t+\"\")}var Cc=vc;function Ac(t,e,n){if(!ct(n)){return false}var o=typeof e;if(o==\"number\"?Xn(n)&&tn(e,n.length):o==\"string\"&&e in n){return L(n[e],t)}return false}var yc=Ac;function xc(t){return Cc((function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:undefined,s=i>2?n[2]:undefined;r=t.length>3&&typeof r==\"function\"?(i--,r):undefined;if(s&&yc(n[0],n[1],s)){r=i<3?undefined:r;i=1}e=Object(e);while(++oe===t));return Array.isArray(n)}set(t,e){if(ct(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=Fc(t);La(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return\"\"}return this._getStylesEntries().map((t=>t.join(\":\"))).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!ct(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find((([e])=>e===t));if(Array.isArray(n)){return n[1]}}getStyleNames(){if(this.isEmpty){return[]}const t=this._getStylesEntries();return t.map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");const n=e.length>1;if(!n){return}const o=e.splice(0,e.length-1).join(\".\");const i=za(this._styles,o);if(!i){return}const r=!Array.from(Object.keys(i)).length;if(r){this.remove(o)}}}class Rc{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(ct(e)){Mc(n,Fc(t),e);return}if(this._normalizers.has(t)){const o=this._normalizers.get(t);const{path:i,value:r}=o(e);Mc(n,i,r)}else{Mc(n,t,e)}}getNormalized(t,e){if(!t){return Sc({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n===\"string\"){return za(e,n)}const o=n(t,e);if(o){return o}}return za(e,Fc(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function Nc(t){let e=null;let n=0;let o=0;let i=null;const r=new Map;if(t===\"\"){return r}if(t.charAt(t.length-1)!=\";\"){t=t+\";\"}for(let s=0;s0){yield\"class\"}if(!this._styles.isEmpty){yield\"style\"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield[\"class\",this.getAttribute(\"class\")]}if(!this._styles.isEmpty){yield[\"style\",this.getAttribute(\"style\")]}}getAttribute(t){if(t==\"class\"){if(this._classes.size>0){return[...this._classes].join(\" \")}return undefined}if(t==\"style\"){const t=this._styles.toString();return t==\"\"?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t==\"class\"){return this._classes.size>0}if(t==\"style\"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof Lc)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(){return this._styles.getStyleNames()}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new $s(...t);let n=this.parent;while(n){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\");const e=this._styles.toString();const n=Array.from(this._attrs).map((t=>`${t[0]}=\"${t[1]}\"`)).sort().join(\" \");return this.name+(t==\"\"?\"\":` class=\"${t}\"`)+(!e?\"\":` style=\"${e}\"`)+(n==\"\"?\"\":` ${n}`)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const o=jc(this.document,e);for(const e of o){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n0){this._classes.clear();return true}return false}if(t==\"style\"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach((t=>this._classes.add(t)))}_removeClass(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach((t=>this._classes.delete(t)))}_setStyle(t,e){this._fireChange(\"attributes\",this);this._styles.set(t,e)}_removeStyle(t){this._fireChange(\"attributes\",this);t=Array.isArray(t)?t:[t];t.forEach((t=>this._styles.remove(t)))}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function Vc(t){t=Ks(t);for(const[e,n]of t){if(n===null){t.delete(e)}else if(typeof n!=\"string\"){t.set(e,String(n))}}return t}function zc(t,e){const n=e.split(/\\s+/);t.clear();n.forEach((e=>t.add(e)))}function jc(t,e){if(typeof e==\"string\"){return[new zs(t,e)]}if(!vs(e)){e=[e]}return Array.from(e).map((e=>{if(typeof e==\"string\"){return new zs(t,e)}if(e instanceof js){return new zs(t,e.data)}return e}))}class qc extends Lc{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Kc}is(t,e=null){if(!e){return t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}}function Kc(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\")){return this.childCount}for(const e of t){if(!e.is(\"uiElement\")){return null}}return this.childCount}var $c=Ec((function(t,e){Me(e,uo(e),t)}));var Gc=$c;const Wc=Symbol(\"observableProperties\");const Uc=Symbol(\"boundObservables\");const Hc=Symbol(\"boundProperties\");const Jc={set(t,e){if(ct(t)){Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);return}Qc(this);const n=this[Wc];if(t in this&&!n.has(t)){throw new ss[\"b\"](\"observable-set-cannot-override\",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const o=n.get(t);let i=this.fire(\"set:\"+t,t,e,o);if(i===undefined){i=e}if(o!==i||!n.has(t)){n.set(t,i);this.fire(\"change:\"+t,t,i,o)}}});this[t]=e},bind(...t){if(!t.length||!el(t)){throw new ss[\"b\"](\"observable-bind-wrong-properties\",this)}if(new Set(t).size!==t.length){throw new ss[\"b\"](\"observable-bind-duplicate-properties\",this)}Qc(this);const e=this[Hc];t.forEach((t=>{if(e.has(t)){throw new ss[\"b\"](\"observable-bind-rebind\",this)}}));const n=new Map;t.forEach((t=>{const o={property:t,to:[]};e.set(t,o);n.set(t,o)}));return{to:Xc,toMany:Zc,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[Wc]){return}const e=this[Hc];const n=this[Uc];if(t.length){if(!el(t)){throw new ss[\"b\"](\"observable-unbind-wrong-properties\",this)}t.forEach((t=>{const o=e.get(t);if(!o){return}let i,r,s,a;o.to.forEach((t=>{i=t[0];r=t[1];s=n.get(i);a=s[r];a.delete(o);if(!a.size){delete s[r]}if(!Object.keys(s).length){n.delete(i);this.stopListening(i,\"change\")}}));e.delete(t)}))}else{n.forEach(((t,e)=>{this.stopListening(e,\"change\")}));n.clear();e.clear()}},decorate(t){const e=this[t];if(!e){throw new ss[\"b\"](\"observablemixin-cannot-decorate-undefined\",this,{object:this,methodName:t})}this.on(t,((t,n)=>{t.return=e.apply(this,n)}));this[t]=function(...e){return this.fire(t,e)}}};Gc(Jc,us);var Yc=Jc;function Qc(t){if(t[Wc]){return}Object.defineProperty(t,Wc,{value:new Map});Object.defineProperty(t,Uc,{value:new Map});Object.defineProperty(t,Hc,{value:new Map})}function Xc(...t){const e=nl(...t);const n=Array.from(this._bindings.keys());const o=n.length;if(!e.callback&&e.to.length>1){throw new ss[\"b\"](\"observable-bind-to-no-callback\",this)}if(o>1&&e.callback){throw new ss[\"b\"](\"observable-bind-to-extra-callback\",this)}e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==o){throw new ss[\"b\"](\"observable-bind-to-properties-length\",this)}if(!t.properties.length){t.properties=this._bindProperties}}));this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}sl(this._observable,this._to);il(this);this._bindProperties.forEach((t=>{rl(this._observable,t)}))}function Zc(t,e,n){if(this._bindings.size>1){throw new ss[\"b\"](\"observable-bind-to-many-not-one-binding\",this)}this.to(...tl(t,e),n)}function tl(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}function el(t){return t.every((t=>typeof t==\"string\"))}function nl(...t){if(!t.length){throw new ss[\"b\"](\"observable-bind-to-parse-error\",null)}const e={to:[]};let n;if(typeof t[t.length-1]==\"function\"){e.callback=t.pop()}t.forEach((t=>{if(typeof t==\"string\"){n.properties.push(t)}else if(typeof t==\"object\"){n={observable:t,properties:[]};e.to.push(n)}else{throw new ss[\"b\"](\"observable-bind-to-parse-error\",null)}}));return e}function ol(t,e,n,o){const i=t[Uc];const r=i.get(n);const s=r||{};if(!s[o]){s[o]=new Set}s[o].add(e);if(!r){i.set(n,s)}}function il(t){let e;t._bindings.forEach(((n,o)=>{t._to.forEach((i=>{e=i.properties[n.callback?0:t._bindProperties.indexOf(o)];n.to.push([i.observable,e]);ol(t._observable,n,i.observable,e)}))}))}function rl(t,e){const n=t[Hc];const o=n.get(e);let i;if(o.callback){i=o.callback.apply(t,o.to.map((t=>t[0][t[1]])))}else{i=o.to[0];i=i[0][i[1]]}if(Object.prototype.hasOwnProperty.call(t,e)){t[e]=i}else{t.set(e,i)}}function sl(t,e){e.forEach((e=>{const n=t[Uc];let o;if(!n.get(e.observable)){t.listenTo(e.observable,\"change\",((i,r)=>{o=n.get(e.observable)[r];if(o){o.forEach((e=>{rl(t,e.property)}))}}))}}))}class al extends qc{constructor(t,e,n,o){super(t,e,n,o);this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.bind(\"isReadOnly\").to(t);this.bind(\"isFocused\").to(t,\"isFocused\",(e=>e&&t.selection.editableElement==this));this.listenTo(t.selection,\"change\",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}is(t,e=null){if(!e){return t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}destroy(){this.stopListening()}}Cs(al,Yc);const cl=Symbol(\"rootName\");class ll extends al{constructor(t,e){super(t,e);this.rootName=\"main\"}is(t,e=null){if(!e){return t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}}get rootName(){return this.getCustomProperty(cl)}set rootName(t){this._setCustomProperty(cl,t)}set _name(t){this.name=t}}class ul{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new ss[\"b\"](\"view-tree-walker-no-start-position\",null)}if(t.direction&&t.direction!=\"forward\"&&t.direction!=\"backward\"){throw new ss[\"b\"](\"view-tree-walker-unknown-direction\",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this.position=dl._createAt(t.startPosition)}else{this.position=dl._createAt(t.boundaries[t.direction==\"backward\"?\"end\":\"start\"])}this.direction=t.direction||\"forward\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,o;do{o=this.position;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=o}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true}}let o;if(n instanceof zs){if(t.isAtEnd){this.position=dl._createAfter(n);return this._next()}o=n.data[t.offset]}else{o=n.getChild(t.offset)}if(o instanceof Lc){if(!this.shallow){t=new dl(o,0)}else{t.offset++}this.position=t;return this._formatReturnValue(\"elementStart\",o,e,t,1)}else if(o instanceof zs){if(this.singleCharacters){t=new dl(o,0);this.position=t;return this._next()}else{let n=o.data.length;let i;if(o==this._boundaryEndParent){n=this.boundaries.end.offset;i=new js(o,0,n);t=dl._createAfter(i)}else{i=new js(o,0,o.data.length);t.offset++}this.position=t;return this._formatReturnValue(\"text\",i,e,t,n)}}else if(typeof o==\"string\"){let o;if(this.singleCharacters){o=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;o=e-t.offset}const i=new js(n,t.offset,o);t.offset+=o;this.position=t;return this._formatReturnValue(\"text\",i,e,t,o)}else{t=dl._createAfter(n);this.position=t;if(this.ignoreElementEnd){return this._next()}else{return this._formatReturnValue(\"elementEnd\",n,e,t)}}}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true}}let o;if(n instanceof zs){if(t.isAtStart){this.position=dl._createBefore(n);return this._previous()}o=n.data[t.offset-1]}else{o=n.getChild(t.offset-1)}if(o instanceof Lc){if(!this.shallow){t=new dl(o,o.childCount);this.position=t;if(this.ignoreElementEnd){return this._previous()}else{return this._formatReturnValue(\"elementEnd\",o,e,t)}}else{t.offset--;this.position=t;return this._formatReturnValue(\"elementStart\",o,e,t,1)}}else if(o instanceof zs){if(this.singleCharacters){t=new dl(o,o.data.length);this.position=t;return this._previous()}else{let n=o.data.length;let i;if(o==this._boundaryStartParent){const e=this.boundaries.start.offset;i=new js(o,e,o.data.length-e);n=i.data.length;t=dl._createBefore(i)}else{i=new js(o,0,o.data.length);t.offset--}this.position=t;return this._formatReturnValue(\"text\",i,e,t,n)}}else if(typeof o==\"string\"){let o;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;o=t.offset-e}else{o=1}t.offset-=o;const i=new js(n,t.offset,o);this.position=t;return this._formatReturnValue(\"text\",i,e,t,o)}else{t=dl._createBefore(n);this.position=t;return this._formatReturnValue(\"elementStart\",n,e,t,1)}}_formatReturnValue(t,e,n,o,i){if(e instanceof js){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction==\"forward\"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){o=dl._createAfter(e.textNode);this.position=o}else{n=dl._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction==\"backward\"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){o=dl._createBefore(e.textNode);this.position=o}else{n=dl._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}}class dl{constructor(t,e){this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is(\"$text\")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is(\"$text\")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is(\"$text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof al)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=dl._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new ul(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is(\"documentFragment\")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let o=0;while(e[o]==n[o]&&e[o]){o++}return o===0?null:e[o-1]}is(t){return t===\"position\"||t===\"view:position\"}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)==\"before\"}isAfter(t){return this.compareWith(t)==\"after\"}compareWith(t){if(this.root!==t.root){return\"different\"}if(this.isEqual(t)){return\"same\"}const e=this.parent.is(\"node\")?this.parent.getPath():[];const n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const o=Ns(e,n);switch(o){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[o]0?new this(n,o):new this(o,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"$textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(dl._createBefore(t),e)}}function fl(t){if(t.item.is(\"attributeElement\")||t.item.is(\"uiElement\")){return true}return false}function ml(t){let e=0;for(const n of t){e++}return e}class gl{constructor(t=null,e,n){this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel=\"\";this.setTo(t,e,n)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const o of t._ranges){if(e.isEqual(o)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=ml(this.getRanges());const n=ml(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let o of t.getRanges()){o=o.getTrimmed();if(e.start.isEqual(o.start)&&e.end.isEqual(o.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(t,e,n){if(t===null){this._setRanges([]);this._setFakeOptions(e)}else if(t instanceof gl||t instanceof pl){this._setRanges(t.getRanges(),t.isBackward);this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel})}else if(t instanceof hl){this._setRanges([t],e&&e.backward);this._setFakeOptions(e)}else if(t instanceof dl){this._setRanges([new hl(t)]);this._setFakeOptions(e)}else if(t instanceof Vs){const o=!!n&&!!n.backward;let i;if(e===undefined){throw new ss[\"b\"](\"view-selection-setto-required-second-parameter\",this)}else if(e==\"in\"){i=hl._createIn(t)}else if(e==\"on\"){i=hl._createOn(t)}else{i=new hl(dl._createAt(t,e))}this._setRanges([i],o);this._setFakeOptions(n)}else if(vs(t)){this._setRanges(t,e&&e.backward);this._setFakeOptions(e)}else{throw new ss[\"b\"](\"view-selection-setto-not-selectable\",this)}this.fire(\"change\")}setFocus(t,e){if(this.anchor===null){throw new ss[\"b\"](\"view-selection-setfocus-no-ranges\",this)}const n=dl._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const o=this.anchor;this._ranges.pop();if(n.compareWith(o)==\"before\"){this._addRange(new hl(n,o),true)}else{this._addRange(new hl(o,n))}this.fire(\"change\")}is(t){return t===\"selection\"||t===\"view:selection\"}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||\"\":\"\"}_addRange(t,e=false){if(!(t instanceof hl)){throw new ss[\"b\"](\"view-selection-add-range-not-range\",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new ss[\"b\"](\"view-selection-range-intersects\",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new hl(t.start,t.end))}}Cs(gl,us);class pl{constructor(t=null,e,n){this._selection=new gl;this._selection.delegate(\"change\").to(this);this._selection.setTo(t,e,n)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}is(t){return t===\"selection\"||t==\"documentSelection\"||t==\"view:selection\"||t==\"view:documentSelection\"}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setFocus(t,e){this._selection.setFocus(t,e)}}Cs(pl,us);class bl{constructor(t){this.selection=new pl;this.roots=new As({idProperty:\"rootName\"});this.stylesProcessor=t;this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.set(\"isComposing\",false);this._postFixers=new Set}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map((t=>t.destroy()));this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}Cs(bl,Yc);const kl=10;class wl extends Lc{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=_l;this._priority=kl;this._id=null;this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new ss[\"b\"](\"attribute-element-get-elements-with-same-id-no-id\",this)}return new Set(this._clonesGroup)}is(t,e=null){if(!e){return t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\")}}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}wl.DEFAULT_PRIORITY=kl;function _l(){if(vl(this)){return null}let t=this.parent;while(t&&t.is(\"attributeElement\")){if(vl(t)>1){return null}t=t.parent}if(!t||vl(t)>1){return null}return this.childCount}function vl(t){return Array.from(t.getChildren()).filter((t=>!t.is(\"uiElement\"))).length}class Cl extends Lc{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Al}is(t,e=null){if(!e){return t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof Vs||Array.from(e).length>0)){throw new ss[\"b\"](\"view-emptyelement-cannot-add\",[this,e])}}}function Al(){return null}const yl=navigator.userAgent.toLowerCase();const xl={isMac:Pl(yl),isGecko:Sl(yl),isSafari:Tl(yl),isAndroid:Dl(yl),isBlink:Bl(yl),features:{isRegExpUnicodePropertySupported:Ol()}};var El=xl;function Pl(t){return t.indexOf(\"macintosh\")>-1}function Sl(t){return!!t.match(/gecko\\/\\d+/)}function Tl(t){return t.indexOf(\" applewebkit/\")>-1&&t.indexOf(\"chrome\")===-1}function Dl(t){return t.indexOf(\"android\")>-1}function Bl(t){return t.indexOf(\"chrome/\")>-1&&t.indexOf(\"edge/\")<0}function Ol(){let t=false;try{t=\"ć\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))===0}catch(t){}return t}const Il={\"⌘\":\"ctrl\",\"⇧\":\"shift\",\"⌥\":\"alt\"};const Rl={ctrl:\"⌘\",shift:\"⇧\",alt:\"⌥\"};const Nl=ql();function Fl(t){let e;if(typeof t==\"string\"){e=Nl[t.toLowerCase()];if(!e){throw new ss[\"b\"](\"keyboard-unknown-key\",null,{key:t})}}else{e=t.keyCode+(t.altKey?Nl.alt:0)+(t.ctrlKey?Nl.ctrl:0)+(t.shiftKey?Nl.shift:0)}return e}function Ml(t){if(typeof t==\"string\"){t=Kl(t)}return t.map((t=>typeof t==\"string\"?Fl(t):t)).reduce(((t,e)=>e+t),0)}function Ll(t){if(!El.isMac){return t}return Kl(t).map((t=>Rl[t.toLowerCase()]||t)).reduce(((t,e)=>{if(t.slice(-1)in Il){return t+e}else{return t+\"+\"+e}}))}function Vl(t){return t==Nl.arrowright||t==Nl.arrowleft||t==Nl.arrowup||t==Nl.arrowdown}function zl(t,e){const n=e===\"ltr\";switch(t){case Nl.arrowleft:return n?\"left\":\"right\";case Nl.arrowright:return n?\"right\":\"left\";case Nl.arrowup:return\"up\";case Nl.arrowdown:return\"down\"}}function jl(t,e){const n=zl(t,e);return n===\"down\"||n===\"right\"}function ql(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,cmd:1114112,shift:2228224,alt:4456448};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t[\"f\"+(e-111)]=e}return t}function Kl(t){return t.split(/\\s*\\+\\s*/)}class $l extends Lc{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Wl}is(t,e=null){if(!e){return t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof Vs||Array.from(e).length>0)){throw new ss[\"b\"](\"view-uielement-cannot-add\",this)}}render(t){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}function Gl(t){t.document.on(\"keydown\",((e,n)=>Ul(e,n,t.domConverter)))}function Wl(){return null}function Ul(t,e,n){if(e.keyCode==Nl.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const o=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(o||e.shiftKey){const e=t.focusNode;const i=t.focusOffset;const r=n.domPositionToView(e,i);if(r===null){return}let s=false;const a=r.getLastMatchingPosition((t=>{if(t.item.is(\"uiElement\")){s=true}if(t.item.is(\"uiElement\")||t.item.is(\"attributeElement\")){return true}return false}));if(s){const e=n.viewPositionToDom(a);if(o){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class Hl extends Lc{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Jl}is(t,e=null){if(!e){return t===\"rawElement\"||t===\"view:rawElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"rawElement\"||t===\"view:rawElement\"||t===\"element\"||t===\"view:element\")}}_insertChild(t,e){if(e&&(e instanceof Vs||Array.from(e).length>0)){throw new ss[\"b\"](\"view-rawelement-cannot-add\",[this,e])}}}function Jl(){return null}class Yl{constructor(t,e){this.document=t;this._children=[];if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"view:documentFragment\"}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const o=Ql(this.document,e);for(const e of o){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n{if(typeof e==\"string\"){return new zs(t,e)}if(e instanceof js){return new zs(t,e.data)}return e}))}class Xl{constructor(t){this.document=t;this._cloneGroups=new Map}setSelection(t,e,n){this.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createText(t){return new zs(this.document,t)}createAttributeElement(t,e,n={}){const o=new wl(this.document,t,e);if(n.priority){o._priority=n.priority}if(n.id){o._id=n.id}return o}createContainerElement(t,e){return new qc(this.document,t,e)}createEditableElement(t,e){const n=new al(this.document,t,e);n._document=this.document;return n}createEmptyElement(t,e){return new Cl(this.document,t,e)}createUIElement(t,e,n){const o=new $l(this.document,t,e);if(n){o.render=n}return o}createRawElement(t,e,n){const o=new Hl(this.document,t,e);o.render=n||(()=>{});return o}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof dl){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is(\"containerElement\")){throw new ss[\"b\"](\"view-writer-break-non-container-element\",this.document)}if(!e.parent){throw new ss[\"b\"](\"view-writer-break-root\",this.document)}if(t.isAtStart){return dl._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(dl._createAfter(e),n);const o=new hl(t,dl._createAt(e,\"end\"));const i=new dl(n,0);this.move(o,i)}return dl._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is(\"$text\")){return t}if(n.is(\"attributeElement\")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new dl(t,e))}const o=n.getChild(e-1);const i=n.getChild(e);if(!o||!i){return t}if(o.is(\"$text\")&&i.is(\"$text\")){return iu(o,i)}else if(o.is(\"attributeElement\")&&i.is(\"attributeElement\")&&o.isSimilar(i)){const t=o.childCount;o._appendChild(i.getChildren());i._remove();this._removeFromClonedElementsGroup(i);return this.mergeAttributes(new dl(o,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is(\"containerElement\")||!n.is(\"containerElement\")){throw new ss[\"b\"](\"view-writer-merge-containers-invalid-position\",this.document)}const o=e.getChild(e.childCount-1);const i=o instanceof zs?dl._createAt(o,\"end\"):dl._createAt(e,\"end\");this.move(hl._createIn(n),dl._createAt(e,\"end\"));this.remove(hl._createOn(n));return i}insert(t,e){e=vs(e)?[...e]:[e];ru(e,this.document);const n=tu(t);if(!n){throw new ss[\"b\"](\"view-writer-invalid-position-container\",this.document)}const o=this._breakAttributes(t,true);const i=n._insertChild(o.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const r=o.getShiftedBy(i);const s=this.mergeAttributes(o);if(i===0){return new hl(s,s)}else{if(!s.isEqual(o)){r.offset--}const t=this.mergeAttributes(r);return new hl(s,t)}}remove(t){const e=t instanceof hl?t:hl._createOn(t);cu(e,this.document);if(e.isCollapsed){return new Yl(this.document)}const{start:n,end:o}=this._breakAttributesRange(e,true);const i=n.parent;const r=o.offset-n.offset;const s=i._removeChildren(n.offset,r);for(const t of s){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new Yl(this.document,s)}clear(t,e){cu(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:true});for(const o of n){const n=o.item;let i;if(n.is(\"element\")&&e.isSimilar(n)){i=hl._createOn(n)}else if(!o.nextPosition.isAfter(t.start)&&n.is(\"$textProxy\")){const t=n.getAncestors().find((t=>t.is(\"element\")&&e.isSimilar(t)));if(t){i=hl._createIn(t)}}if(i){if(i.end.isAfter(t.end)){i.end=t.end}if(i.start.isBefore(t.start)){i.start=t.start}this.remove(i)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const o=e.parent;const i=o.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=o.childCount-i}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof wl)){throw new ss[\"b\"](\"view-writer-wrap-invalid-attribute\",this.document)}cu(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is(\"element\")&&!Zl(n.parent)){n=n.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}n=this._wrapPosition(n,e);const o=this.document.selection;if(o.isCollapsed&&o.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new hl(n)}}unwrap(t,e){if(!(e instanceof wl)){throw new ss[\"b\"](\"view-writer-unwrap-invalid-attribute\",this.document)}cu(t,this.document);if(t.isCollapsed){return t}const{start:n,end:o}=this._breakAttributesRange(t,true);const i=n.parent;const r=this._unwrapChildren(i,n.offset,o.offset,e);const s=this.mergeAttributes(r.start);if(!s.isEqual(r.start)){r.end.offset--}const a=this.mergeAttributes(r.end);return new hl(s,a)}rename(t,e){const n=new qc(this.document,t,e.getAttributes());this.insert(dl._createAfter(e),n);this.move(hl._createIn(e),dl._createAt(n,0));this.remove(hl._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return dl._createAt(t,e)}createPositionAfter(t){return dl._createAfter(t)}createPositionBefore(t){return dl._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new gl(t,e,n)}_wrapChildren(t,e,n,o){let i=e;const r=[];while(ifalse;t.parent._insertChild(t.offset,n);const o=new hl(t,t.getShiftedBy(1));this.wrap(o,e);const i=new dl(n.parent,n.index);n._remove();const r=i.nodeBefore;const s=i.nodeAfter;if(r instanceof zs&&s instanceof zs){return iu(r,s)}return nu(i)}_wrapAttributeElement(t,e){if(!lu(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!lu(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const o=t.end;cu(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new hl(n,n)}const i=this._breakAttributes(o,e);const r=i.parent.childCount;const s=this._breakAttributes(n,e);i.offset+=i.parent.childCount-r;return new hl(s,i)}_breakAttributes(t,e=false){const n=t.offset;const o=t.parent;if(t.parent.is(\"emptyElement\")){throw new ss[\"b\"](\"view-writer-cannot-break-empty-element\",this.document)}if(t.parent.is(\"uiElement\")){throw new ss[\"b\"](\"view-writer-cannot-break-ui-element\",this.document)}if(t.parent.is(\"rawElement\")){throw new ss[\"b\"](\"view-writer-cannot-break-raw-element\",this.document)}if(!e&&o.is(\"$text\")&&au(o.parent)){return t.clone()}if(au(o)){return t.clone()}if(o.is(\"$text\")){return this._breakAttributes(ou(t),e)}const i=o.childCount;if(n==i){const t=new dl(o.parent,o.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new dl(o.parent,o.index);return this._breakAttributes(t,e)}else{const t=o.index+1;const i=o._clone();o.parent._insertChild(t,i);this._addToClonedElementsGroup(i);const r=o.childCount-n;const s=o._removeChildren(n,r);i._appendChild(s);const a=new dl(o.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\")){return}if(t.is(\"element\")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function Zl(t){return Array.from(t.getChildren()).some((t=>!t.is(\"uiElement\")))}function tu(t){let e=t.parent;while(!au(e)){if(!e){return undefined}e=e.parent}return e}function eu(t,e){if(t.prioritye.priority){return false}return t.getIdentity()n instanceof t))){throw new ss[\"b\"](\"view-writer-insert-invalid-node-type\",e)}if(!n.is(\"$text\")){ru(n.getChildren(),e)}}}const su=[zs,wl,qc,Cl,Hl,$l];function au(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function cu(t,e){const n=tu(t.start);const o=tu(t.end);if(!n||!o||n!==o){throw new ss[\"b\"](\"view-writer-invalid-range-container\",e)}}function lu(t,e){return t.id===null&&e.id===null}function uu(t){return Object.prototype.toString.call(t)==\"[object Text]\"}const du=t=>t.createTextNode(\" \");const hu=t=>{const e=t.createElement(\"br\");e.dataset.ckeFiller=true;return e};const fu=7;const mu=(()=>{let t=\"\";for(let e=0;e0){n.push({index:o,type:\"insert\",values:t.slice(o,r)})}if(i-o>0){n.push({index:o+(r-o),type:\"delete\",howMany:i-o})}return n}function xu(t,e){const{firstIndex:n,lastIndexOld:o,lastIndexNew:i}=t;if(n===-1){return Array(e).fill(\"equal\")}let r=[];if(n>0){r=r.concat(Array(n).fill(\"equal\"))}if(i-n>0){r=r.concat(Array(i-n).fill(\"insert\"))}if(o-n>0){r=r.concat(Array(o-n).fill(\"delete\"))}if(i200||i>200||o+i>300){return Eu.fastDiff(t,e,n,true)}let r,s;if(il?-1:1;if(u[o+h]){u[o]=u[o+h].slice(0)}if(!u[o]){u[o]=[]}u[o].push(i>l?r:s);let f=Math.max(i,l);let m=f-o;while(ml;m--){d[m]=h(m)}d[l]=h(l);f++}while(d[l]!==c);return u[l].slice(1)}Eu.fastDiff=_u;function Pu(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function Su(t){const e=t.parentNode;if(e){e.removeChild(t)}}function Tu(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}class Du{constructor(t,e){this.domDocuments=new Set;this.domConverter=t;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this.selection=e;this.isFocused=false;this._inlineFiller=null;this._fakeSelectionContainer=null}markToSync(t,e){if(t===\"text\"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t===\"attributes\"){this.markedAttributes.add(e)}else if(t===\"children\"){this.markedChildren.add(e)}else{throw new ss[\"b\"](\"view-renderer-unknown-type\",this)}}}render(){let t;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!gu(e.parent)){this._inlineFiller=Ou(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}this._updateSelection();this._updateFocus();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=this.domConverter.mapViewToDom(t).childNodes;const o=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:false}));const i=this._diffNodeLists(n,o);const r=this._findReplaceActions(i,n,o);if(r.indexOf(\"replace\")!==-1){const e={equal:0,insert:0,delete:0};for(const i of r){if(i===\"replace\"){const i=e.equal+e.insert;const r=e.equal+e.delete;const s=t.getChild(i);if(s&&!(s.is(\"uiElement\")||s.is(\"rawElement\"))){this._updateElementMappings(s,n[r])}Su(o[i]);e.equal++}else{e[i]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is(\"$text\")){return dl._createBefore(this.selection.getFirstPosition().parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&uu(e.parent)&&gu(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!gu(t)){throw new ss[\"b\"](\"view-renderer-filler-was-lost\",this)}if(pu(t)){t.parentNode.removeChild(t)}else{t.data=t.data.substr(fu)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is(\"element\")){return false}if(!Bu(e)){return false}if(n===e.getFillerOffset()){return false}const o=t.nodeBefore;const i=t.nodeAfter;if(o instanceof zs||i instanceof zs){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const o=this.domConverter.viewToDom(t,n.ownerDocument);const i=n.data;let r=o.data;const s=e.inlineFillerPosition;if(s&&s.parent==t.parent&&s.offset==t.index){r=mu+r}if(i!=r){const t=_u(i,r);for(const e of t){if(e.type===\"insert\"){n.insertData(e.index,e.values.join(\"\"))}else{n.deleteData(e.index,e.howMany)}}}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map((t=>t.name));const o=t.getAttributeKeys();for(const n of o){e.setAttribute(n,t.getAttribute(n))}for(const o of n){if(!t.hasAttribute(o)){e.removeAttribute(o)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}const o=e.inlineFillerPosition;const i=this.domConverter.mapViewToDom(t).childNodes;const r=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:true,inlineFillerPosition:o}));if(o&&o.parent===t){Ou(n.ownerDocument,r,o.offset)}const s=this._diffNodeLists(i,r);let a=0;const c=new Set;for(const t of s){if(t===\"delete\"){c.add(i[a]);Su(i[a])}else if(t===\"equal\"){a++}}a=0;for(const t of s){if(t===\"insert\"){Pu(n,a,r[a]);a++}else if(t===\"equal\"){this._markDescendantTextToSync(this.domConverter.domToView(r[a]));a++}}for(const t of c){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Fu(t,this._fakeSelectionContainer);return Eu(t,e,Ru.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(t.indexOf(\"insert\")===-1||t.indexOf(\"delete\")===-1){return t}let o=[];let i=[];let r=[];const s={equal:0,insert:0,delete:0};for(const a of t){if(a===\"insert\"){r.push(n[s.equal+s.insert])}else if(a===\"delete\"){i.push(e[s.equal+s.delete])}else{o=o.concat(Eu(i,r,Iu).map((t=>t===\"equal\"?\"replace\":t)));o.push(\"equal\");i=[];r=[]}s[a]++}return o.concat(Eu(i,r,Iu).map((t=>t===\"equal\"?\"replace\":t)))}_markDescendantTextToSync(t){if(!t){return}if(t.is(\"$text\")){this.markedTexts.add(t)}else if(t.is(\"element\")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else{this._removeFakeSelection();this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=Mu(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||\" \";const o=e.getSelection();const i=e.createRange();o.removeAllRanges();i.selectNodeContents(n);o.addRange(i)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const o=this.domConverter.viewPositionToDom(this.selection.focus);t.focus();e.collapse(n.parent,n.offset);e.extend(o.parent,o.offset);if(El.isGecko){Nu(o,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const e=t.activeElement;const n=this.domConverter.mapDomToView(e);if(e&&n){t.getSelection().removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}Cs(Du,Yc);function Bu(t){if(t.getAttribute(\"contenteditable\")==\"false\"){return false}const e=t.findAncestor((t=>t.hasAttribute(\"contenteditable\")));return!e||e.getAttribute(\"contenteditable\")==\"true\"}function Ou(t,e,n){const o=e instanceof Array?e:e.childNodes;const i=o[n];if(uu(i)){i.data=mu+i.data;return i}else{const i=t.createTextNode(mu);if(Array.isArray(e)){o.splice(n,0,i)}else{Pu(e,n,i)}return i}}function Iu(t,e){return Tu(t)&&Tu(e)&&!uu(t)&&!uu(e)&&t.nodeType!==Node.COMMENT_NODE&&e.nodeType!==Node.COMMENT_NODE&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Ru(t,e,n){if(e===n){return true}else if(uu(e)&&uu(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Nu(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const o=n.childNodes[t.offset];if(o&&o.tagName==\"BR\"){e.addRange(e.getRangeAt(0))}}function Fu(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const o=n[n.length-1];if(o==e){n.pop()}return n}function Mu(t){const e=t.createElement(\"div\");Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"});e.textContent=\" \";return e}var Lu={window:window,document:document};function Vu(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function zu(t){const e=[];while(t&&t.nodeType!=Node.DOCUMENT_NODE){e.unshift(t);t=t.parentNode}return e}function ju(t,e){const n=zu(t);const o=zu(e);let i=0;while(n[i]==o[i]&&n[i]){i++}return i===0?null:n[i-1]}const qu=hu(document);class Ku{constructor(t,e={}){this.document=t;this.blockFillerMode=e.blockFillerMode||\"br\";this.preElements=[\"pre\"];this.blockElements=[\"p\",\"div\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"dd\",\"dt\",\"figcaption\",\"td\",\"th\"];this._blockFiller=this.blockFillerMode==\"br\"?hu:du;this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new gl(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of t.childNodes){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}viewToDom(t,e,n={}){if(t.is(\"$text\")){const n=this._processDataFromViewText(t);return e.createTextNode(n)}else{if(this.mapViewToDom(t)){return this.mapViewToDom(t)}let o;if(t.is(\"documentFragment\")){o=e.createDocumentFragment();if(n.bind){this.bindDocumentFragments(o,t)}}else if(t.is(\"uiElement\")){o=t.render(e);if(n.bind){this.bindElements(o,t)}return o}else{if(t.hasAttribute(\"xmlns\")){o=e.createElementNS(t.getAttribute(\"xmlns\"),t.name)}else{o=e.createElement(t.name)}if(t.is(\"rawElement\")){t.render(o)}if(n.bind){this.bindElements(o,t)}for(const e of t.getAttributeKeys()){o.setAttribute(e,t.getAttribute(e))}}if(n.withChildren||n.withChildren===undefined){for(const i of this.viewChildrenToDom(t,e,n)){o.appendChild(i)}}return o}}*viewChildrenToDom(t,e,n={}){const o=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const r of t.getChildren()){if(o===i){yield this._blockFiller(e)}yield this.viewToDom(r,e,n);i++}if(o===i){yield this._blockFiller(e)}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const o=document.createRange();o.setStart(e.parent,e.offset);o.setEnd(n.parent,n.offset);return o}viewPositionToDom(t){const e=t.parent;if(e.is(\"$text\")){const n=this.findCorrespondingDomText(e);if(!n){return null}let o=t.offset;if(gu(n)){o+=fu}return{parent:n,offset:o}}else{let n,o,i;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}i=n.childNodes[0]}else{const e=t.nodeBefore;o=e.is(\"$text\")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore);if(!o){return null}n=o.parentNode;i=o.nextSibling}if(uu(i)&&gu(i)){return{parent:i,offset:fu}}const r=o?Vu(o)+1:0;return{parent:n,offset:r}}}domToView(t,e={}){if(this.isBlockFiller(t,this.blockFillerMode)){return null}const n=this.getHostViewElement(t,this._domToViewMapping);if(n){return n}if(uu(t)){if(pu(t)){return null}else{const e=this._processDataFromDomText(t);return e===\"\"?null:new zs(this.document,e)}}else if(this.isComment(t)){return null}else{if(this.mapDomToView(t)){return this.mapDomToView(t)}let n;if(this.isDocumentFragment(t)){n=new Yl(this.document);if(e.bind){this.bindDocumentFragments(t,n)}}else{const o=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new Lc(this.document,o);if(e.bind){this.bindElements(t,n)}const i=t.attributes;for(let t=i.length-1;t>=0;t--){n._setAttribute(i[t].name,i[t].value)}}if(e.withChildren||e.withChildren===undefined){for(const o of this.domChildrenToView(t,e)){n._appendChild(o)}}return n}}*domChildrenToView(t,e={}){for(let n=0;n{const{scrollLeft:e,scrollTop:n}=t;o.push([e,n])}));e.focus();Gu(e,(t=>{const[e,n]=o.shift();t.scrollLeft=e;t.scrollTop=n}));Lu.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(t){return t&&t.nodeType==Node.COMMENT_NODE}isBlockFiller(t){if(this.blockFillerMode==\"br\"){return t.isEqualNode(qu)}if(t.tagName===\"BR\"&&Uu(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return Wu(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=document.createRange();e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;e.detach();return n}getHostViewElement(t){const e=zu(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&(n.is(\"uiElement\")||n.is(\"rawElement\"))){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}_isDomSelectionPositionCorrect(t,e){if(uu(t)&&gu(t)&&ethis.preElements.includes(t.name)))){return e}if(e.charAt(0)==\" \"){const n=this._getTouchingViewTextNode(t,false);const o=n&&this._nodeEndsWithSpace(n);if(o||!n){e=\" \"+e.substr(1)}}if(e.charAt(e.length-1)==\" \"){const n=this._getTouchingViewTextNode(t,true);if(e.charAt(e.length-2)==\" \"||!n||n.data.charAt(0)==\" \"){e=e.substr(0,e.length-1)+\" \"}}return e.replace(/ {2}/g,\"  \")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name)))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==\" \"}_processDataFromDomText(t){let e=t.data;if($u(t,this.preElements)){return bu(t)}e=e.replace(/[ \\n\\t\\r]{1,}/g,\" \");const n=this._getTouchingInlineDomNode(t,false);const o=this._getTouchingInlineDomNode(t,true);const i=this._checkShouldLeftTrimDomText(n);const r=this._checkShouldRightTrimDomText(t,o);if(i){e=e.replace(/^ /,\"\")}if(r){e=e.replace(/ $/,\"\")}e=bu(new Text(e));e=e.replace(/ \\u00A0/g,\" \");if(/( |\\u00A0)\\u00A0$/.test(e)||!o||o.data&&o.data.charAt(0)==\" \"){e=e.replace(/\\u00A0$/,\" \")}if(i){e=e.replace(/^\\u00A0/,\" \")}return e}_checkShouldLeftTrimDomText(t){if(!t){return true}if(Hr(t)){return true}return/[^\\S\\u00A0]/.test(t.data.charAt(t.data.length-1))}_checkShouldRightTrimDomText(t,e){if(e){return false}return!gu(t)}_getTouchingViewTextNode(t,e){const n=new ul({startPosition:e?dl._createAfter(t):dl._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"containerElement\")){return null}else if(t.item.is(\"element\",\"br\")){return null}else if(t.item.is(\"$textProxy\")){return t.item}}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode){return null}const n=e?\"nextNode\":\"previousNode\";const o=t.ownerDocument;const i=zu(t)[0];const r=o.createTreeWalker(i,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode(t){if(uu(t)){return NodeFilter.FILTER_ACCEPT}if(t.tagName==\"BR\"){return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});r.currentNode=t;const s=r[n]();if(s!==null){const e=ju(t,s);if(e&&!$u(t,this.blockElements,e)&&!$u(s,this.blockElements,e)){return s}}return null}}function $u(t,e,n){let o=zu(t);if(n){o=o.slice(o.indexOf(n)+1)}return o.some((t=>t.tagName&&e.includes(t.tagName.toLowerCase())))}function Gu(t,e){while(t&&t!=Lu.document){e(t);t=t.parentNode}}function Wu(t,e){const n=uu(t)&&t.data==\" \";return n&&Uu(t,e)&&t.parentNode.childNodes.length===1}function Uu(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function Hu(t){const e=Object.prototype.toString.apply(t);if(e==\"[object Window]\"){return true}if(e==\"[object global]\"){return true}return false}const Ju=Gc({},us,{listenTo(t,...e){if(Tu(t)||Hu(t)){const n=this._getProxyEmitter(t)||new Qu(t);n.attach(...e);t=n}us.listenTo.call(this,t,...e)},stopListening(t,e,n){if(Tu(t)||Hu(t)){const e=this._getProxyEmitter(t);if(!e){return}t=e}us.stopListening.call(this,t,e,n);if(t instanceof Qu){t.detach(e)}},_getProxyEmitter(t){return ds(this,Xu(t))}});var Yu=Ju;class Qu{constructor(t){hs(this,Xu(t));this._domNode=t}}Gc(Qu.prototype,us,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t]){return}const o={capture:!!n.useCapture,passive:!!n.usePassive};const i=this._createDomListener(t,o);this._domNode.addEventListener(t,i,o);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=i},detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}},_createDomListener(t,e){const n=e=>{this.fire(t,e)};n.removeListener=()=>{this._domNode.removeEventListener(t,n,e);delete this._domListeners[t]};return n}});function Xu(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=ns())}class Zu{constructor(t){this.view=t;this.document=t.document;this.isEnabled=false}enable(){this.isEnabled=true}disable(){this.isEnabled=false}destroy(){this.disable();this.stopListening()}}Cs(Zu,Yu);var td=\"__lodash_hash_undefined__\";function ed(t){this.__data__.set(t,td);return this}var nd=ed;function od(t){return this.__data__.has(t)}var id=od;function rd(t){var e=-1,n=t==null?0:t.length;this.__data__=new _e;while(++ea)){return false}var l=r.get(t);if(l&&r.get(e)){return l==e}var u=-1,d=true,h=n&hd?new sd:undefined;r.set(t,e);r.set(e,t);while(++u{this.listenTo(t,e,((t,e)=>{if(this.isEnabled){this.onDomEvent(e)}}),{useCapture:this.useCapture})}))}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new th(this.view,e,n))}}}class nh extends eh{constructor(t){super(t);this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey||t.metaKey,shiftKey:t.shiftKey,get keystroke(){return Fl(this)}})}}var oh=function(){return o[\"a\"].Date.now()};var ih=oh;var rh=0/0;var sh=/^\\s+|\\s+$/g;var ah=/^[-+]0x[0-9a-f]+$/i;var ch=/^0b[01]+$/i;var lh=/^0o[0-7]+$/i;var uh=parseInt;function dh(t){if(typeof t==\"number\"){return t}if(Xs(t)){return rh}if(ct(t)){var e=typeof t.valueOf==\"function\"?t.valueOf():t;t=ct(e)?e+\"\":e}if(typeof t!=\"string\"){return t===0?t:+t}t=t.replace(sh,\"\");var n=ch.test(t);return n||lh.test(t)?uh(t.slice(2),n?2:8):ah.test(t)?rh:+t}var hh=dh;var fh=\"Expected a function\";var mh=Math.max,gh=Math.min;function ph(t,e,n){var o,i,r,s,a,c,l=0,u=false,d=false,h=true;if(typeof t!=\"function\"){throw new TypeError(fh)}e=hh(e)||0;if(ct(n)){u=!!n.leading;d=\"maxWait\"in n;r=d?mh(hh(n.maxWait)||0,e):r;h=\"trailing\"in n?!!n.trailing:h}function f(e){var n=o,r=i;o=i=undefined;l=e;s=t.apply(r,n);return s}function m(t){l=t;a=setTimeout(b,e);return u?f(t):s}function g(t){var n=t-c,o=t-l,i=e-n;return d?gh(i,r-o):i}function p(t){var n=t-c,o=t-l;return c===undefined||n>=e||n<0||d&&o>=r}function b(){var t=ih();if(p(t)){return k(t)}a=setTimeout(b,g(t))}function k(t){a=undefined;if(h&&o){return f(t)}o=i=undefined;return s}function w(){if(a!==undefined){clearTimeout(a)}l=0;o=c=i=a=undefined}function _(){return a===undefined?s:k(ih())}function v(){var t=ih(),n=p(t);o=arguments;i=this;c=t;if(n){if(a===undefined){return m(c)}if(d){clearTimeout(a);a=setTimeout(b,e);return f(c)}}if(a===undefined){a=setTimeout(b,e)}return s}v.cancel=w;v.flush=_;return v}var bh=ph;class kh extends Zu{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=bh((t=>this.document.fire(\"selectionChangeDone\",t)),200)}observe(){const t=this.document;t.on(\"keydown\",((e,n)=>{const o=t.selection;if(o.isFake&&wh(n.keyCode)&&this.isEnabled){n.preventDefault();this._handleSelectionMove(n.keyCode)}}),{priority:\"lowest\"})}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new gl(e.getRanges(),{backward:e.isBackward,fake:false});if(t==Nl.arrowleft||t==Nl.arrowup){n.setTo(n.getFirstPosition())}if(t==Nl.arrowright||t==Nl.arrowdown){n.setTo(n.getLastPosition())}const o={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",o);this._fireSelectionChangeDoneDebounced(o)}}function wh(t){return t==Nl.arrowright||t==Nl.arrowleft||t==Nl.arrowup||t==Nl.arrowdown}class _h extends Zu{constructor(t){super(t);this.mutationObserver=t.getObserver(Zd);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=bh((t=>this.document.fire(\"selectionChangeDone\",t)),200);this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;if(this._documents.has(e)){return}this.listenTo(e,\"selectionchange\",(()=>{this._handleSelectionChange(e)}));this._documents.add(e)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionChange(t){if(!this.isEnabled){return}this.mutationObserver.flush();const e=t.defaultView.getSelection();const n=this.domConverter.domSelectionToView(e);if(n.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;if(this.selection.isEqual(n)&&this.domConverter.isDomSelectionCorrect(e)){return}if(++this._loopbackCounter>60){return}if(this.selection.isSimilar(n)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:n,domSelection:e};this.document.fire(\"selectionChange\",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class vh extends eh{constructor(t){super(t);this.domEventType=[\"focus\",\"blur\"];this.useCapture=true;const e=this.document;e.on(\"focus\",(()=>{e.isFocused=true;this._renderTimeoutId=setTimeout((()=>t.forceRender()),50)}));e.on(\"blur\",((n,o)=>{const i=e.selection.editableElement;if(i===null||i===o.target){e.isFocused=false;t.forceRender()}}))}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class Ch extends eh{constructor(t){super(t);this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",(()=>{e.isComposing=true}));e.on(\"compositionend\",(()=>{e.isComposing=false}))}onDomEvent(t){this.fire(t.type,t)}}class Ah extends eh{constructor(t){super(t);this.domEventType=[\"beforeinput\"]}onDomEvent(t){this.fire(t.type,t)}}function yh(t){return Object.prototype.toString.apply(t)==\"[object Range]\"}function xh(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const Eh=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class Ph{constructor(t){const e=yh(t);Object.defineProperty(this,\"_source\",{value:t._source||t,writable:true,enumerable:false});if(Hr(t)||e){if(e){const e=Ph.getDomRangeRects(t);Sh(this,Ph.getBoundingRect(e))}else{Sh(this,t.getBoundingClientRect())}}else if(Hu(t)){const{innerWidth:e,innerHeight:n}=t;Sh(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{Sh(this,t)}}clone(){return new Ph(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left)};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{return new Ph(e)}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!Th(t)){let n=t.parentNode||t.commonAncestorContainer;while(n&&!Th(n)){const t=new Ph(n);const o=e.getIntersection(t);if(o){if(o.getArea()jh(t,o)));const s=jh(t,o);Ih(o,s,e);if(o.parent!=o){i=o.frameElement;o=o.parent;if(!i){return}}else{o=null}}}function Oh(t){const e=zh(t);Rh(e,(()=>new Ph(t)))}Object.assign(Dh,{scrollViewportToShowTarget:Bh,scrollAncestorsToShowTarget:Oh});function Ih(t,e,n){const o=e.clone().moveBy(0,n);const i=e.clone().moveBy(0,-n);const r=new Ph(t).excludeScrollbarsAndBorders();const s=[i,o];if(!s.every((t=>r.contains(t)))){let{scrollX:s,scrollY:a}=t;if(Fh(i,r)){a-=r.top-e.top+n}else if(Nh(o,r)){a+=e.bottom-r.bottom+n}if(Mh(e,r)){s-=r.left-e.left+n}else if(Lh(e,r)){s+=e.right-r.right+n}t.scrollTo(s,a)}}function Rh(t,e){const n=Vh(t);let o,i;while(t!=n.document.body){i=e();o=new Ph(t).excludeScrollbarsAndBorders();if(!o.contains(i)){if(Fh(i,o)){t.scrollTop-=o.top-i.top}else if(Nh(i,o)){t.scrollTop+=i.bottom-o.bottom}if(Mh(i,o)){t.scrollLeft-=o.left-i.left}else if(Lh(i,o)){t.scrollLeft+=i.right-o.right}}t=t.parentNode}}function Nh(t,e){return t.bottom>e.bottom}function Fh(t,e){return t.tope.right}function Vh(t){if(yh(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function zh(t){if(yh(t)){let e=t.commonAncestorContainer;if(uu(e)){e=e.parentNode}return e}else{return t.parentNode}}function jh(t,e){const n=Vh(t);const o=new Ph(t);if(n===e){return o}else{let t=n;while(t!=e){const e=t.frameElement;const n=new Ph(e).excludeScrollbarsAndBorders();o.moveBy(n.left,n.top);t=t.parent}}return o}class qh{constructor(t){this.document=new bl(t);this.domConverter=new Ku(this.document);this.domRoots=new Map;this.set(\"isRenderingInProgress\",false);this.set(\"hasDomSelection\",false);this._renderer=new Du(this.domConverter,this.document.selection);this._renderer.bind(\"isFocused\").to(this.document);this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this._writer=new Xl(this.document);this.addObserver(Zd);this.addObserver(_h);this.addObserver(vh);this.addObserver(nh);this.addObserver(kh);this.addObserver(Ch);if(El.isAndroid){this.addObserver(Ah)}ku(this);Gl(this);this.on(\"render\",(()=>{this._render();this.document.fire(\"layoutChanged\");this._hasChangedSinceTheLastRendering=false}));this.listenTo(this.document.selection,\"change\",(()=>{this._hasChangedSinceTheLastRendering=true}))}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const o={};for(const{name:e,value:i}of Array.from(t.attributes)){o[e]=i;if(e===\"class\"){this._writer.addClass(i.split(\" \"),n)}else{this._writer.setAttribute(e,i,n)}}this._initialDomRootAttributes.set(t,o);const i=()=>{this._writer.setAttribute(\"contenteditable\",!n.isReadOnly,n);if(n.isReadOnly){this._writer.addClass(\"ck-read-only\",n)}else{this._writer.removeClass(\"ck-read-only\",n)}};i();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync(\"children\",n);this._renderer.markToSync(\"attributes\",n);this._renderer.domDocuments.add(t.ownerDocument);n.on(\"change:children\",((t,e)=>this._renderer.markToSync(\"children\",e)));n.on(\"change:attributes\",((t,e)=>this._renderer.markToSync(\"attributes\",e)));n.on(\"change:text\",((t,e)=>this._renderer.markToSync(\"text\",e)));n.on(\"change:isReadOnly\",(()=>this.change(i)));n.on(\"change\",(()=>{this._hasChangedSinceTheLastRendering=true}));for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e)}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection(){const t=this.document.selection.getFirstRange();if(t){Bh({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new ss[\"b\"](\"cannot-change-view-tree\",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire(\"render\")}return e}catch(t){ss[\"b\"].rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.change((()=>{}))}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return dl._createAt(t,e)}createPositionAfter(t){return dl._createAfter(t)}createPositionBefore(t){return dl._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new gl(t,e,n)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change((()=>{}))}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}Cs(qh,Yc);class Kh{constructor(t){this.parent=null;this._attrs=Ks(t)}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new ss[\"b\"](\"model-node-not-found-in-parent\",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new ss[\"b\"](\"model-node-not-found-in-parent\",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const o=t.getAncestors(e);let i=0;while(n[i]==o[i]&&n[i]){i++}return i===0?null:n[i-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const o=Ns(e,n);switch(o){case\"prefix\":return true;case\"extension\":return false;default:return e[o]{t[e[0]]=e[1];return t}),{})}return t}is(t){return t===\"node\"||t===\"model:node\"}_clone(){return new Kh(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Ks(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class $h extends Kh{constructor(t,e){super(e);this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}is(t){return t===\"$text\"||t===\"model:$text\"||t===\"text\"||t===\"model:text\"||t===\"node\"||t===\"model:node\"}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new $h(this.data,this.getAttributes())}static fromJSON(t){return new $h(t.data,t.attributes)}}class Gh{constructor(t,e,n){this.textNode=t;if(e<0||e>t.offsetSize){throw new ss[\"b\"](\"model-textproxy-wrong-offsetintext\",this)}if(n<0||e+n>t.offsetSize){throw new ss[\"b\"](\"model-textproxy-wrong-length\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(t){return t===\"$textProxy\"||t===\"model:$textProxy\"||t===\"textProxy\"||t===\"model:textProxy\"}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}class Wh{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new ss[\"b\"](\"model-nodelist-index-out-of-bounds\",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON()))}}class Uh extends Kh{constructor(t,e,n){super(e);this.name=t;this._children=new Wh;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}is(t,e=null){if(!e){return t===\"element\"||t===\"model:element\"||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"element\"||t===\"model:element\")}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}findAncestor(t,e={includeSelf:false}){let n=e.includeSelf?this:this.parent;while(n){if(n.name===t){return n}n=n.parent}return null}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map((t=>t._clone(true))):null;return new Uh(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Hh(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e=null;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Uh.fromJSON(n))}else{e.push($h.fromJSON(n))}}}return new Uh(t.name,t.attributes,e)}}function Hh(t){if(typeof t==\"string\"){return[new $h(t)]}if(!vs(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t==\"string\"){return new $h(t)}if(t instanceof Gh){return new $h(t.data,t.getAttributes())}return t}))}class Jh{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new ss[\"b\"](\"model-tree-walker-no-start-position\",null)}const e=t.direction||\"forward\";if(e!=\"forward\"&&e!=\"backward\"){throw new ss[\"b\"](\"model-tree-walker-unknown-direction\",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this.position=t.startPosition.clone()}else{this.position=Qh._createAt(this.boundaries[this.direction==\"backward\"?\"end\":\"start\"])}this.position.stickiness=\"toNone\";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,o,i;do{o=this.position;i=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=o;this._visitedParent=i}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true}}const o=e.parent;const i=Xh(e,o);const r=i?i:Zh(e,o,i);if(r instanceof Uh){if(!this.shallow){e.path.push(0);this._visitedParent=r}else{e.offset++}this.position=e;return Yh(\"elementStart\",r,t,e,1)}else if(r instanceof $h){let o;if(this.singleCharacters){o=1}else{let t=r.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offsett){t=this.boundaries.start.offset}o=e.offset-t}const i=e.offset-r.startOffset;const s=new Gh(r,i-o,o);e.offset-=o;this.position=e;return Yh(\"text\",s,t,e,o)}else{e.path.pop();this.position=e;this._visitedParent=n.parent;return Yh(\"elementStart\",n,t,e,1)}}}function Yh(t,e,n,o,i){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}class Qh{constructor(t,e,n=\"toNone\"){if(!t.is(\"element\")&&!t.is(\"documentFragment\")){throw new ss[\"b\"](\"model-position-root-invalid\",t)}if(!(e instanceof Array)||e.length===0){throw new ss[\"b\"](\"model-position-path-incorrect-format\",t,{path:e})}if(t.is(\"rootElement\")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;en.path.length){if(e.offset!==i.maxOffset){return false}e.path=e.path.slice(0,-1);i=i.parent;e.offset++}else{if(n.offset!==0){return false}n.path=n.path.slice(0,-1)}}}is(t){return t===\"position\"||t===\"model:position\"}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Ns(e,n)==\"same\"}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=Qh._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness==\"toNext\";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let o;if(n){o=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){o=o._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){o=Qh._createAt(t.deletionPosition)}else{o=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return o}_getTransformedByDeletion(t,e){const n=Qh._createAt(this);if(this.root!=t.root){return n}if(Ns(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offsetthis.offset){return null}else{n.offset-=e}}}else if(Ns(t.getParentPath(),this.getParentPath())==\"prefix\"){const o=t.path.length-1;if(t.offset<=this.path[o]){if(t.offset+e>this.path[o]){return null}else{n.path[o]-=e}}}return n}_getTransformedByInsertion(t,e){const n=Qh._createAt(this);if(this.root!=t.root){return n}if(Ns(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offsete+1){const e=o.maxOffset-n.offset;if(e!==0){t.push(new ef(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;o=o.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const o=e-n.offset;if(o!==0){t.push(new ef(n,n.getShiftedBy(o)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Jh(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Jh(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Jh(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new ef(this.start,this.end)]}getTransformedByOperations(t){const e=[new ef(this.start,this.end)];for(const n of t){for(let t=0;t0?new this(n,o):new this(o,n)}static _createIn(t){return new this(Qh._createAt(t,0),Qh._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Qh._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new ss[\"b\"](\"range-create-from-ranges-empty-array\",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e);const o=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(o.start)){o.start=Qh._createAt(t[e].start)}else{break}}}for(let e=n+1;e{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:\"low\"});this.on(\"viewToModelPosition\",((t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const o=this._viewToModelMapping.get(n);const i=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Qh._createAt(o,i)}),{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t){const e=this.toModelElement(t);this._viewToModelMapping.delete(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(this._modelToViewMapping.get(e)==t){this._modelToViewMapping.delete(e)}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const o=this._elementToMarkerNames.get(t)||new Set;o.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,o)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const o=this._elementToMarkerNames.get(t);if(o){o.delete(e);if(o.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new ef(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new hl(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire(\"viewToModelPosition\",e);return e.modelPosition}toViewPosition(t,e={isPhantom:false}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire(\"modelToViewPosition\",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is(\"attributeElement\")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const o=this._toModelOffset(t.parent,t.index,n);const i=this._toModelOffset(t,e,t);return o+i}if(t.is(\"$text\")){return e}let o=0;for(let n=0;n1?e[0]+\":\"+e[1]:e[0]}class sf{constructor(t){this.conversionApi=Object.assign({dispatcher:this},t)}convertChanges(t,e,n){for(const e of t.getMarkersToRemove()){this.convertMarkerRemove(e.name,e.range,n)}for(const e of t.getChanges()){if(e.type==\"insert\"){this.convertInsert(ef._createFromPositionAndShift(e.position,e.length),n)}else if(e.type==\"remove\"){this.convertRemove(e.position,e.length,e.name,n)}else{this.convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,n)}}for(const t of this.conversionApi.mapper.flushUnboundMarkerNames()){const o=e.get(t).getRange();this.convertMarkerRemove(t,o,n);this.convertMarkerAdd(t,o,n)}for(const e of t.getMarkersToAdd()){this.convertMarkerAdd(e.name,e.range,n)}}convertInsert(t,e){this.conversionApi.writer=e;this.conversionApi.consumable=this._createInsertConsumable(t);for(const e of t){const t=e.item;const n=ef._createFromPositionAndShift(e.previousPosition,e.length);const o={item:t,range:n};this._testAndFire(\"insert\",o);for(const e of t.getAttributeKeys()){o.attributeKey=e;o.attributeOldValue=null;o.attributeNewValue=t.getAttribute(e);this._testAndFire(`attribute:${e}`,o)}}this._clearConversionApi()}convertRemove(t,e,n,o){this.conversionApi.writer=o;this.fire(\"remove:\"+n,{position:t,length:e},this.conversionApi);this._clearConversionApi()}convertAttribute(t,e,n,o,i){this.conversionApi.writer=i;this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const i of t){const t=i.item;const r=ef._createFromPositionAndShift(i.previousPosition,i.length);const s={item:t,range:r,attributeKey:e,attributeOldValue:n,attributeNewValue:o};this._testAndFire(`attribute:${e}`,s)}this._clearConversionApi()}convertSelection(t,e,n){const o=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this.conversionApi.writer=n;this.conversionApi.consumable=this._createSelectionConsumable(t,o);this.fire(\"selection\",{selection:t},this.conversionApi);if(!t.isCollapsed){return}for(const e of o){const n=e.getRange();if(!af(t.getFirstPosition(),e,this.conversionApi.mapper)){continue}const o={item:t,markerName:e.name,markerRange:n};if(this.conversionApi.consumable.test(t,\"addMarker:\"+e.name)){this.fire(\"addMarker:\"+e.name,o,this.conversionApi)}}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};if(this.conversionApi.consumable.test(t,\"attribute:\"+n.attributeKey)){this.fire(\"attribute:\"+n.attributeKey+\":$text\",n,this.conversionApi)}}this._clearConversionApi()}convertMarkerAdd(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;const o=\"addMarker:\"+t;const i=new of;i.add(e,o);this.conversionApi.consumable=i;this.fire(o,{markerName:t,markerRange:e},this.conversionApi);if(!i.test(e,o)){return}this.conversionApi.consumable=this._createConsumableForRange(e,o);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,o)){continue}const i={item:n,range:ef._createOn(n),markerName:t,markerRange:e};this.fire(o,i,this.conversionApi)}this._clearConversionApi()}convertMarkerRemove(t,e,n){if(!e.root.document||e.root.rootName==\"$graveyard\"){return}this.conversionApi.writer=n;this.fire(\"removeMarker:\"+t,{markerName:t,markerRange:e},this.conversionApi);this._clearConversionApi()}_createInsertConsumable(t){const e=new of;for(const n of t){const t=n.item;e.add(t,\"insert\");for(const n of t.getAttributeKeys()){e.add(t,\"attribute:\"+n)}}return e}_createConsumableForRange(t,e){const n=new of;for(const o of t.getItems()){n.add(o,e)}return n}_createSelectionConsumable(t,e){const n=new of;n.add(t,\"selection\");for(const o of e){n.add(t,\"addMarker:\"+o.name)}for(const e of t.getAttributeKeys()){n.add(t,\"attribute:\"+e)}return n}_testAndFire(t,e){if(!this.conversionApi.consumable.test(e.item,t)){return}const n=e.item.name||\"$text\";this.fire(t+\":\"+n,e,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer;delete this.conversionApi.consumable}}Cs(sf,us);function af(t,e,n){const o=e.getRange();const i=Array.from(t.getAncestors());i.shift();i.reverse();const r=i.some((t=>{if(o.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty(\"addHighlight\")}}));return!r}class cf{constructor(t,e,n){this._lastRangeBackward=false;this._ranges=[];this._attrs=new Map;if(t){this.setTo(t,e,n)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const o of t._ranges){if(e.isEqual(o)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new ef(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new ef(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new ef(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(t,e,n){if(t===null){this._setRanges([])}else if(t instanceof cf){this._setRanges(t.getRanges(),t.isBackward)}else if(t&&typeof t.getRanges==\"function\"){this._setRanges(t.getRanges(),t.isBackward)}else if(t instanceof ef){this._setRanges([t],!!e&&!!e.backward)}else if(t instanceof Qh){this._setRanges([new ef(t)])}else if(t instanceof Kh){const o=!!n&&!!n.backward;let i;if(e==\"in\"){i=ef._createIn(t)}else if(e==\"on\"){i=ef._createOn(t)}else if(e!==undefined){i=new ef(Qh._createAt(t,e))}else{throw new ss[\"b\"](\"model-selection-setto-required-second-parameter\",[this,t])}this._setRanges([i],o)}else if(vs(t)){this._setRanges(t,e&&!!e.backward)}else{throw new ss[\"b\"](\"model-selection-setto-not-selectable\",[this,t])}}_setRanges(t,e=false){t=Array.from(t);const n=t.some((e=>{if(!(e instanceof ef)){throw new ss[\"b\"](\"model-selection-set-ranges-not-range\",[this,t])}return this._ranges.every((t=>!t.isEqual(e)))}));if(t.length===this._ranges.length&&!n){return}this._removeAllRanges();for(const e of t){this._pushRange(e)}this._lastRangeBackward=!!e;this.fire(\"change:range\",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new ss[\"b\"](\"model-selection-setfocus-no-ranges\",[this,t])}const n=Qh._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const o=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(o)==\"before\"){this._pushRange(new ef(n,o));this._lastRangeBackward=true}else{this._pushRange(new ef(o,n));this._lastRangeBackward=false}this.fire(\"change:range\",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}is(t){return t===\"selection\"||t===\"model:selection\"}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=df(e.start,t);if(n&&hf(n,e)){yield n}for(const n of e.getWalker()){const o=n.item;if(n.type==\"elementEnd\"&&uf(o,t,e)){yield o}}const o=df(e.end,t);if(o&&!e.end.isTouching(Qh._createAt(o,0))&&hf(o,e)){yield o}}}containsEntireContent(t=this.anchor.root){const e=Qh._createAt(t,0);const n=Qh._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new ef(t.start,t.end))}_checkRange(t){for(let e=0;e0){this._popRange()}}_popRange(){this._ranges.pop()}}Cs(cf,us);function lf(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&t.parent}function uf(t,e,n){return lf(t,e)&&hf(t,n)}function df(t,e){const n=t.parent;const o=n.root.document.model.schema;const i=t.parent.getAncestors({parentFirst:true,includeSelf:true});let r=false;const s=i.find((t=>{if(r){return false}r=o.isLimit(t);return!r&&lf(t,e)}));i.forEach((t=>e.add(t)));return s}function hf(t,e){const n=ff(t);if(!n){return true}const o=e.containsRange(ef._createOn(n),true);return!o}function ff(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class mf extends ef{constructor(t,e){super(t,e);gf.call(this)}detach(){this.stopListening()}is(t){return t===\"liveRange\"||t===\"model:liveRange\"||t==\"range\"||t===\"model:range\"}toRange(){return new ef(this.start,this.end)}static fromRange(t){return new mf(t.start,t.end)}}function gf(){this.listenTo(this.root.document.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}pf.call(this,n)}),{priority:\"low\"})}function pf(t){const e=this.getTransformedByOperation(t);const n=ef._createFromRanges(e);const o=!n.isEqual(this);const i=bf(this,t);let r=null;if(o){if(n.root.rootName==\"$graveyard\"){if(t.type==\"remove\"){r=t.sourcePosition}else{r=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire(\"change:range\",e,{deletionPosition:r})}else if(i){this.fire(\"change:content\",this.toRange(),{deletionPosition:r})}}function bf(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}Cs(mf,us);const kf=\"selection:\";class wf{constructor(t){this._selection=new _f(t);this._selection.delegate(\"change:range\").to(this);this._selection.delegate(\"change:attribute\").to(this);this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection._updateMarkers();this._selection._updateAttributes(false)}is(t){return t===\"selection\"||t==\"model:selection\"||t==\"documentSelection\"||t==\"model:documentSelection\"}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return kf+t}static _isStoreAttributeKey(t){return t.startsWith(kf)}}Cs(wf,us);class _f extends cf{constructor(t){super();this.markers=new As({idProperty:\"name\"});this._model=t.model;this._document=t;this._attributePriority=new Map;this._selectionRestorePosition=null;this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this.listenTo(this._model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type==\"marker\"||n.type==\"rename\"||n.type==\"noop\"){return}if(this._ranges.length==0&&this._selectionRestorePosition){this._fixGraveyardSelection(this._selectionRestorePosition)}this._selectionRestorePosition=null;if(this._hasChangedRange){this._hasChangedRange=false;this.fire(\"change:range\",{directChange:false})}}),{priority:\"lowest\"});this.on(\"change:range\",(()=>{for(const t of this.getRanges()){if(!this._document._validateSelectionRange(t)){throw new ss[\"b\"](\"document-selection-wrong-position\",this,{range:t})}}}));this.listenTo(this._model.markers,\"update\",(()=>this._updateMarkers()));this.listenTo(this._document,\"change\",((t,e)=>{Cf(this._model,e)}))}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1);e.detach()}}));return e}_updateMarkers(){const t=[];let e=false;for(const e of this._model.markers){const n=e.getRange();for(const o of this.getRanges()){if(n.containsRange(o,!o.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire(\"change:marker\",{oldMarkers:n,directChange:false})}}_updateAttributes(t){const e=Ks(this._getSurroundingAttributes());const n=Ks(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e==\"low\"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const o=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){o.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){o.push(t)}}if(o.length>0){this.fire(\"change:attribute\",{attributeKeys:o,directChange:false})}}_setAttribute(t,e,n=true){const o=n?\"normal\":\"low\";if(o==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}const i=super.getAttribute(t);if(i===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,o);return true}_removeAttribute(t,e=true){const n=e?\"normal\":\"low\";if(n==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,o]of t){const t=this._setAttribute(n,o,false);if(t){e.add(n)}}return e}*_getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(kf)){const n=e.substr(kf.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const o of t){if(o.item.is(\"element\")&&e.isObject(o.item)){break}if(o.type==\"text\"){n=o.item.getAttributes();break}}}else{const o=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=vf(o)}if(!n){n=vf(i)}if(!this.isGravityOverridden&&!n){let t=o;while(t&&!e.isInline(t)&&!n){t=t.previousSibling;n=vf(t)}}if(!n){let t=i;while(t&&!e.isInline(t)&&!n){t=t.nextSibling;n=vf(t)}}if(!n){n=this._getStoredAttributes()}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);if(e){this._pushRange(e)}}}function vf(t){if(t instanceof Gh||t instanceof $h){return t.getAttributes()}return null}function Cf(t,e){const n=t.document.differ;for(const o of n.getChanges()){if(o.type!=\"insert\"){continue}const n=o.position.parent;const i=o.length===n.maxOffset;if(i){t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(kf)));for(const o of e){t.removeAttribute(o,n)}}))}}}class Af{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}var yf=1,xf=4;function Ef(t){return qr(t,yf|xf)}var Pf=Ef;class Sf extends Af{elementToElement(t){return this.add(Hf(t))}attributeToElement(t){return this.add(Jf(t))}attributeToAttribute(t){return this.add(Yf(t))}markerToElement(t){return this.add(Qf(t))}markerToHighlight(t){return this.add(Zf(t))}markerToData(t){return this.add(Xf(t))}}function Tf(){return(t,e,n)=>{if(!n.consumable.consume(e.item,\"insert\")){return}const o=n.writer;const i=n.mapper.toViewPosition(e.range.start);const r=o.createText(e.item.data);o.insert(i,r)}}function Df(){return(t,e,n)=>{const o=n.mapper.toViewPosition(e.position);const i=e.position.getShiftedBy(e.length);const r=n.mapper.toViewPosition(i,{isPhantom:true});const s=n.writer.createRange(o,r);const a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t)}}}function Bf(t,e){const n=t.createAttributeElement(\"span\",e.attributes);if(e.classes){n._addClass(e.classes)}if(e.priority){n._priority=e.priority}n._id=e.id;return n}function Of(){return(t,e,n)=>{const o=e.selection;if(o.isCollapsed){return}if(!n.consumable.consume(o,\"selection\")){return}const i=[];for(const t of o.getRanges()){const e=n.mapper.toViewRange(t);i.push(e)}n.writer.setSelection(i,{backward:o.isBackward})}}function If(){return(t,e,n)=>{const o=e.selection;if(!o.isCollapsed){return}if(!n.consumable.consume(o,\"selection\")){return}const i=n.writer;const r=o.getFirstPosition();const s=n.mapper.toViewPosition(r);const a=i.breakAttributes(s);i.setSelection(a)}}function Rf(){return(t,e,n)=>{const o=n.writer;const i=o.document.selection;for(const t of i.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}o.setSelection(null)}}function Nf(t){return(e,n,o)=>{const i=t(n.attributeOldValue,o);const r=t(n.attributeNewValue,o);if(!i&&!r){return}if(!o.consumable.consume(n.item,e.name)){return}const s=o.writer;const a=s.document.selection;if(n.item instanceof cf||n.item instanceof wf){s.wrap(a.getFirstRange(),r)}else{let t=o.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&i){t=s.unwrap(t,i)}if(n.attributeNewValue!==null&&r){s.wrap(t,r)}}}}function Ff(t){return(e,n,o)=>{const i=t(n.item,o);if(!i){return}if(!o.consumable.consume(n.item,\"insert\")){return}const r=o.mapper.toViewPosition(n.range.start);o.mapper.bindElements(n.item,i);o.writer.insert(r,i)}}function Mf(t){return(e,n,o)=>{n.isOpening=true;const i=t(n,o);n.isOpening=false;const r=t(n,o);if(!i||!r){return}const s=n.markerRange;if(s.isCollapsed&&!o.consumable.consume(s,e.name)){return}for(const t of s){if(!o.consumable.consume(t.item,e.name)){return}}const a=o.mapper;const c=o.writer;c.insert(a.toViewPosition(s.start),i);o.mapper.bindElementToMarker(i,n.markerName);if(!s.isCollapsed){c.insert(a.toViewPosition(s.end),r);o.mapper.bindElementToMarker(r,n.markerName)}e.stop()}}function Lf(){return(t,e,n)=>{const o=n.mapper.markerNameToElements(e.markerName);if(!o){return}for(const t of o){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Vf(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i){return}const r=n.markerRange;if(!o.consumable.consume(r,e.name)){return}zf(r,false,o,n,i);zf(r,true,o,n,i);e.stop()}}function zf(t,e,n,o,i){const r=e?t.start:t.end;const s=n.schema.checkChild(r,\"$text\");if(s){const t=n.mapper.toViewPosition(r);qf(t,e,n,o,i)}else{let t;let s;if(e&&r.nodeAfter||!e&&!r.nodeBefore){t=r.nodeAfter;s=true}else{t=r.nodeBefore;s=false}const a=n.mapper.toViewElement(t);jf(a,e,s,n,o,i)}}function jf(t,e,n,o,i,r){const s=`data-${r.group}-${e?\"start\":\"end\"}-${n?\"before\":\"after\"}`;const a=t.hasAttribute(s)?t.getAttribute(s).split(\",\"):[];a.unshift(r.name);o.writer.setAttribute(s,a.join(\",\"),t);o.mapper.bindElementToMarker(t,i.markerName)}function qf(t,e,n,o,i){const r=`${i.group}-${e?\"start\":\"end\"}`;const s=i.name?{name:i.name}:null;const a=n.writer.createUIElement(r,s);n.writer.insert(t,a);n.mapper.bindElementToMarker(a,o.markerName)}function Kf(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i){return}const r=o.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){o.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"containerElement\")){s(`data-${i.group}-start-before`,t);s(`data-${i.group}-start-after`,t);s(`data-${i.group}-end-before`,t);s(`data-${i.group}-end-after`,t)}else{o.writer.clear(o.writer.createRangeOn(t),t)}}o.writer.clearClonedElementsGroup(n.markerName);e.stop();function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(\",\"));n.delete(i.name);if(n.size==0){o.writer.removeAttribute(t,e)}else{o.writer.setAttribute(t,Array.from(n).join(\",\"),e)}}}}}function $f(t){return(e,n,o)=>{const i=t(n.attributeOldValue,o);const r=t(n.attributeNewValue,o);if(!i&&!r){return}if(!o.consumable.consume(n.item,e.name)){return}const s=o.mapper.toViewElement(n.item);const a=o.writer;if(!s){throw new ss[\"b\"](\"conversion-attribute-to-attribute-on-text\",[n,o])}if(n.attributeOldValue!==null&&i){if(i.key==\"class\"){const t=Array.isArray(i.value)?i.value:[i.value];for(const e of t){a.removeClass(e,s)}}else if(i.key==\"style\"){const t=Object.keys(i.value);for(const e of t){a.removeStyle(e,s)}}else{a.removeAttribute(i.key,s)}}if(n.attributeNewValue!==null&&r){if(r.key==\"class\"){const t=Array.isArray(r.value)?r.value:[r.value];for(const e of t){a.addClass(e,s)}}else if(r.key==\"style\"){const t=Object.keys(r.value);for(const e of t){a.setStyle(e,r.value[e],s)}}else{a.setAttribute(r.key,r.value,s)}}}}function Gf(t){return(e,n,o)=>{if(!n.item){return}if(!(n.item instanceof cf||n.item instanceof wf)&&!n.item.is(\"$textProxy\")){return}const i=im(t,n,o);if(!i){return}if(!o.consumable.consume(n.item,e.name)){return}const r=o.writer;const s=Bf(r,i);const a=r.document.selection;if(n.item instanceof cf||n.item instanceof wf){r.wrap(a.getFirstRange(),s,a)}else{const t=o.mapper.toViewRange(n.range);const e=r.wrap(t,s);for(const t of e.getItems()){if(t.is(\"attributeElement\")&&t.isSimilar(s)){o.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Wf(t){return(e,n,o)=>{if(!n.item){return}if(!(n.item instanceof Uh)){return}const i=im(t,n,o);if(!i){return}if(!o.consumable.test(n.item,e.name)){return}const r=o.mapper.toViewElement(n.item);if(r&&r.getCustomProperty(\"addHighlight\")){o.consumable.consume(n.item,e.name);for(const t of ef._createIn(n.item)){o.consumable.consume(t.item,e.name)}r.getCustomProperty(\"addHighlight\")(r,i,o.writer);o.mapper.bindElementToMarker(r,n.markerName)}}}function Uf(t){return(e,n,o)=>{if(n.markerRange.isCollapsed){return}const i=im(t,n,o);if(!i){return}const r=Bf(o.writer,i);const s=o.mapper.markerNameToElements(n.markerName);if(!s){return}for(const t of s){o.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"attributeElement\")){o.writer.unwrap(o.writer.createRangeOn(t),r)}else{t.getCustomProperty(\"removeHighlight\")(t,i.id,o.writer)}}o.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function Hf(t){t=Pf(t);t.view=tm(t.view,\"container\");return e=>{e.on(\"insert:\"+t.model,Ff(t.view),{priority:t.converterPriority||\"normal\"})}}function Jf(t){t=Pf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=tm(t.view[e],\"attribute\")}}else{t.view=tm(t.view,\"attribute\")}const o=nm(t);return e=>{e.on(n,Nf(o),{priority:t.converterPriority||\"normal\"})}}function Yf(t){t=Pf(t);const e=t.model.key?t.model.key:t.model;let n=\"attribute:\"+e;if(t.model.name){n+=\":\"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=om(t.view[e])}}else{t.view=om(t.view)}const o=nm(t);return e=>{e.on(n,$f(o),{priority:t.converterPriority||\"normal\"})}}function Qf(t){t=Pf(t);t.view=tm(t.view,\"ui\");return e=>{e.on(\"addMarker:\"+t.model,Mf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,Lf(t.view),{priority:t.converterPriority||\"normal\"})}}function Xf(t){t=Pf(t);const e=t.model;if(!t.view){t.view=n=>({group:e,name:n.substr(t.model.length+1)})}return n=>{n.on(\"addMarker:\"+e,Vf(t.view),{priority:t.converterPriority||\"normal\"});n.on(\"removeMarker:\"+e,Kf(t.view),{priority:t.converterPriority||\"normal\"})}}function Zf(t){return e=>{e.on(\"addMarker:\"+t.model,Gf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"addMarker:\"+t.model,Wf(t.view),{priority:t.converterPriority||\"normal\"});e.on(\"removeMarker:\"+t.model,Uf(t.view),{priority:t.converterPriority||\"normal\"})}}function tm(t,e){if(typeof t==\"function\"){return t}return(n,o)=>em(t,o,e)}function em(t,e,n){if(typeof t==\"string\"){t={name:t}}let o;const i=e.writer;const r=Object.assign({},t.attributes);if(n==\"container\"){o=i.createContainerElement(t.name,r)}else if(n==\"attribute\"){const e={priority:t.priority||wl.DEFAULT_PRIORITY};o=i.createAttributeElement(t.name,r,e)}else{o=i.createUIElement(t.name,r)}if(t.styles){const e=Object.keys(t.styles);for(const n of e){i.setStyle(n,t.styles[n],o)}}if(t.classes){const e=t.classes;if(typeof e==\"string\"){i.addClass(e,o)}else{for(const t of e){i.addClass(t,o)}}}return o}function nm(t){if(t.model.values){return(e,n)=>{const o=t.view[e];if(o){return o(e,n)}return null}}else{return t.view}}function om(t){if(typeof t==\"string\"){return e=>({key:t,value:e})}else if(typeof t==\"object\"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function im(t,e,n){const o=typeof t==\"function\"?t(e,n):t;if(!o){return null}if(!o.priority){o.priority=10}if(!o.id){o.id=e.markerName}return o}function rm(t){const{schema:e,document:n}=t.model;for(const o of n.getRootNames()){const i=n.getRoot(o);if(i.isEmpty&&!e.checkChild(i,\"$text\")){if(e.checkChild(i,\"paragraph\")){t.insertElement(\"paragraph\",i);return true}}}return false}function sm(t,e,n){const o=n.createContext(t);if(!n.checkChild(o,\"paragraph\")){return false}if(!n.checkChild(o.push(\"paragraph\"),e)){return false}return true}function am(t,e){const n=e.createElement(\"paragraph\");e.insert(n,t);return e.createPositionAt(n,0)}class cm extends Af{elementToElement(t){return this.add(hm(t))}elementToAttribute(t){return this.add(fm(t))}attributeToAttribute(t){return this.add(mm(t))}elementToMarker(t){console.warn(Object(ss[\"a\"])(\"upcast-helpers-element-to-marker-deprecated\"));return this.add(gm(t))}dataToMarker(t){return this.add(pm(t))}}function lm(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=o}}}function um(){return(t,e,{schema:n,consumable:o,writer:i})=>{let r=e.modelCursor;if(!o.test(e.viewItem)){return}if(!n.checkChild(r,\"$text\")){if(!sm(r,\"$text\",n)){return}r=am(r,i)}o.consume(e.viewItem);const s=i.createText(e.viewItem.data);i.insert(s,r);e.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize));e.modelCursor=e.modelRange.end}}function dm(t,e){return(n,o)=>{const i=o.newSelection;const r=[];for(const t of i.getRanges()){r.push(e.toModelRange(t))}const s=t.createSelection(r,{backward:i.isBackward});if(!s.isEqual(t.document.selection)){t.change((t=>{t.setSelection(s)}))}}}function hm(t){t=Pf(t);const e=wm(t);const n=km(t.view);const o=n?\"element:\"+n:\"element\";return n=>{n.on(o,e,{priority:t.converterPriority||\"normal\"})}}function fm(t){t=Pf(t);Cm(t);const e=Am(t,false);const n=km(t.view);const o=n?\"element:\"+n:\"element\";return n=>{n.on(o,e,{priority:t.converterPriority||\"low\"})}}function mm(t){t=Pf(t);let e=null;if(typeof t.view==\"string\"||t.view.key){e=vm(t)}Cm(t,e);const n=Am(t,true);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}function gm(t){t=Pf(t);Em(t);return hm(t)}function pm(t){t=Pf(t);if(!t.model){t.model=e=>e?t.view+\":\"+e:t.view}const e=wm(Pm(t,\"start\"));const n=wm(Pm(t,\"end\"));return o=>{o.on(\"element:\"+t.view+\"-start\",e,{priority:t.converterPriority||\"normal\"});o.on(\"element:\"+t.view+\"-end\",n,{priority:t.converterPriority||\"normal\"});const i=is.get(\"low\");const r=is.get(\"highest\");const s=is.get(t.converterPriority)/r;o.on(\"element\",bm(t),{priority:i+s})}}function bm(t){return(e,n,o)=>{const i=`data-${t.view}`;if(!n.modelRange){n=Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-end-after\"})){r(n.modelRange.end,n.viewItem.getAttribute(i+\"-end-after\").split(\",\"))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-start-after\"})){r(n.modelRange.end,n.viewItem.getAttribute(i+\"-start-after\").split(\",\"))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-end-before\"})){r(n.modelRange.start,n.viewItem.getAttribute(i+\"-end-before\").split(\",\"))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-start-before\"})){r(n.modelRange.start,n.viewItem.getAttribute(i+\"-start-before\").split(\",\"))}function r(e,i){for(const r of i){const i=t.model(r,o);const s=o.writer.createElement(\"$marker\",{\"data-name\":i});o.writer.insert(s,e);if(n.modelCursor.isEqual(e)){n.modelCursor=n.modelCursor.getShiftedBy(1)}else{n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1)}n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}}}function km(t){if(typeof t==\"string\"){return t}if(typeof t==\"object\"&&typeof t.name==\"string\"){return t.name}return null}function wm(t){const e=new $s(t.view);return(n,o,i)=>{const r=e.match(o.viewItem);if(!r){return}const s=r.match;s.name=true;if(!i.consumable.test(o.viewItem,s)){return}const a=_m(t.model,o.viewItem,i);if(!a){return}if(!i.safeInsert(a,o.modelCursor)){return}i.consumable.consume(o.viewItem,s);i.convertChildren(o.viewItem,a);i.updateConversionResult(a,o)}}function _m(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.writer.createElement(t)}}function vm(t){if(typeof t.view==\"string\"){t.view={key:t.view}}const e=t.view.key;let n;if(e==\"class\"||e==\"style\"){const o=e==\"class\"?\"classes\":\"styles\";n={[o]:t.view.value}}else{const o=typeof t.view.value==\"undefined\"?/[\\s\\S]*/:t.view.value;n={attributes:{[e]:o}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function Cm(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const o=typeof t.model!=\"object\"?t.model:t.model.key;const i=typeof t.model!=\"object\"||typeof t.model.value==\"undefined\"?n:t.model.value;t.model={key:o,value:i}}function Am(t,e){const n=new $s(t.view);return(o,i,r)=>{const s=n.match(i.viewItem);if(!s){return}const a=t.model.key;const c=typeof t.model.value==\"function\"?t.model.value(i.viewItem,r):t.model.value;if(c===null){return}if(ym(t.view,i.viewItem)){s.match.name=true}else{delete s.match.name}if(!r.consumable.test(i.viewItem,s.match)){return}if(!i.modelRange){i=Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor))}const l=xm(i.modelRange,{key:a,value:c},e,r);if(l){r.consumable.consume(i.viewItem,s.match)}}}function ym(t,e){const n=typeof t==\"function\"?t(e):t;if(typeof n==\"object\"&&!km(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function xm(t,e,n,o){let i=false;for(const r of Array.from(t.getItems({shallow:n}))){if(o.schema.checkAttribute(r,e.key)){o.writer.setAttribute(e.key,e.value,r);i=true}}return i}function Em(t){const e=t.model;t.model=(t,n)=>{const o=typeof e==\"string\"?e:e(t,n);return n.writer.createElement(\"$marker\",{\"data-name\":o})}}function Pm(t,e){const n={};n.view=t.view+\"-\"+e;n.model=(e,n)=>{const o=e.getAttribute(\"name\");const i=t.model(o,n);return n.writer.createElement(\"$marker\",{\"data-name\":i})};return n}class Sm{constructor(t,e){this.model=t;this.view=new qh(e);this.mapper=new nf;this.downcastDispatcher=new sf({mapper:this.mapper,schema:t.schema});const n=this.model.document;const o=n.selection;const i=this.model.markers;this.listenTo(this.model,\"_beforeChanges\",(()=>{this.view._disableRendering(true)}),{priority:\"highest\"});this.listenTo(this.model,\"_afterChanges\",(()=>{this.view._disableRendering(false)}),{priority:\"lowest\"});this.listenTo(n,\"change\",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,i,t);this.downcastDispatcher.convertSelection(o,i,t)}))}),{priority:\"low\"});this.listenTo(this.view.document,\"selectionChange\",dm(this.model,this.mapper));this.downcastDispatcher.on(\"insert:$text\",Tf(),{priority:\"lowest\"});this.downcastDispatcher.on(\"remove\",Df(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Rf(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Of(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",If(),{priority:\"low\"});this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(t.rootName==\"$graveyard\"){return null}const e=new ll(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e}))}destroy(){this.view.destroy();this.stopListening()}}Cs(Sm,Yc);class Tm{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new ss[\"b\"](\"commandcollection-command-not-found\",this,{commandName:t})}return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class Dm{constructor(){this._consumables=new Map}add(t,e){let n;if(t.is(\"$text\")||t.is(\"documentFragment\")){this._consumables.set(t,true);return}if(!this._consumables.has(t)){n=new Bm(t);this._consumables.set(t,n)}else{n=this._consumables.get(t)}n.add(e)}test(t,e){const n=this._consumables.get(t);if(n===undefined){return null}if(t.is(\"$text\")||t.is(\"documentFragment\")){return n}return n.test(e)}consume(t,e){if(this.test(t,e)){if(t.is(\"$text\")||t.is(\"documentFragment\")){this._consumables.set(t,false)}else{this._consumables.get(t).consume(e)}return true}return false}revert(t,e){const n=this._consumables.get(t);if(n!==undefined){if(t.is(\"$text\")||t.is(\"documentFragment\")){this._consumables.set(t,true)}else{n.revert(e)}}}static consumablesFromElement(t){const e={element:t,name:true,attributes:[],classes:[],styles:[]};const n=t.getAttributeKeys();for(const t of n){if(t==\"style\"||t==\"class\"){continue}e.attributes.push(t)}const o=t.getClassNames();for(const t of o){e.classes.push(t)}const i=t.getStyleNames();for(const t of i){e.styles.push(t)}return e}static createFrom(t,e){if(!e){e=new Dm(t)}if(t.is(\"$text\")){e.add(t);return e}if(t.is(\"element\")){e.add(t,Dm.consumablesFromElement(t))}if(t.is(\"documentFragment\")){e.add(t)}for(const n of t.getChildren()){e=Dm.createFrom(n,e)}return e}}class Bm{constructor(t){this.element=t;this._canConsumeName=null;this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._add(e,t[e])}}}test(t){if(t.name&&!this._canConsumeName){return this._canConsumeName}for(const e in this._consumables){if(e in t){const n=this._test(e,t[e]);if(n!==true){return n}}}return true}consume(t){if(t.name){this._canConsumeName=false}for(const e in this._consumables){if(e in t){this._consume(e,t[e])}}}revert(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._revert(e,t[e])}}}_add(t,e){const n=Je(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){throw new ss[\"b\"](\"viewconsumable-invalid-attribute\",this)}o.set(e,true);if(t===\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){o.set(t,true)}}}}_test(t,e){const n=Je(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";const n=this._test(t,[...this._consumables[t].keys()]);if(n!==true){return n}}else{const t=o.get(e);if(t===undefined){return null}if(!t){return false}}}return true}_consume(t,e){const n=Je(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._consume(t,[...this._consumables[t].keys()])}else{o.set(e,false);if(t==\"styles\"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){o.set(t,false)}}}}}_revert(t,e){const n=Je(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t===\"attributes\"&&(e===\"class\"||e===\"style\")){const t=e==\"class\"?\"classes\":\"styles\";this._revert(t,[...this._consumables[t].keys()])}else{const t=o.get(e);if(t===false){o.set(e,true)}}}}}class Om{constructor(){this._sourceDefinitions={};this._attributeProperties={};this.decorate(\"checkChild\");this.decorate(\"checkAttribute\");this.on(\"checkAttribute\",((t,e)=>{e[0]=new Im(e[0])}),{priority:\"highest\"});this.on(\"checkChild\",((t,e)=>{e[0]=new Im(e[0]);e[1]=this.getDefinition(e[1])}),{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t]){throw new ss[\"b\"](\"schema-cannot-register-item-twice\",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new ss[\"b\"](\"schema-cannot-extend-missing-item\",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t==\"string\"){e=t}else if(t.is&&(t.is(\"$text\")||t.is(\"$textProxy\"))){e=\"$text\"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isSelectable||e.isObject)}isContent(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isContent||e.isObject)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e=null){if(t instanceof Qh){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Uh)){throw new ss[\"b\"](\"schema-check-merge-no-element-before\",this)}if(!(n instanceof Uh)){throw new ss[\"b\"](\"schema-check-merge-no-element-after\",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on(\"checkChild\",((e,[n,o])=>{if(!o){return}const i=t(n,o);if(typeof i==\"boolean\"){e.stop();e.return=i}}),{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",((e,[n,o])=>{const i=t(n,o);if(typeof i==\"boolean\"){e.stop();e.return=i}}),{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Qh){e=t.parent}else{const n=t instanceof ef?[t]:Array.from(t.getRanges());e=n.reduce(((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})}),null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const o=[...n.getAncestors(),new $h(\"\",t.getAttributes())];return this.checkAttribute(o,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=Hm(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e=\"both\"){if(this.checkChild(t,\"$text\")){return new ef(t)}let n,o;const i=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;if(e==\"both\"||e==\"backward\"){n=new Jh({boundaries:ef._createIn(i),startPosition:t,direction:\"backward\"})}if(e==\"both\"||e==\"forward\"){o=new Jh({boundaries:ef._createIn(i),startPosition:t})}for(const t of Um(n,o)){const e=t.walker==n?\"elementEnd\":\"elementStart\";const o=t.value;if(o.type==e&&this.isObject(o.item)){return ef._createOn(o.item)}if(this.checkChild(o.nextPosition,\"$text\")){return new ef(o.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}removeDisallowedAttributes(t,e){for(const n of t){if(n.is(\"$text\")){Jm(this,n,e)}else{const t=ef._createIn(n);const o=t.getPositions();for(const t of o){const n=t.nodeBefore||t.parent;Jm(this,n,e)}}}}createContext(t){return new Im(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const o of n){t[o]=Rm(e[o],o)}for(const e of n){Nm(t,e)}for(const e of n){Fm(t,e)}for(const e of n){Mm(t,e);Lm(t,e)}for(const e of n){Vm(t,e);zm(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const o=e.getItem(n);if(t.allowIn.includes(o.name)){if(n==0){return true}else{const t=this.getDefinition(o);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let o=t.start;for(const i of t.getItems({shallow:true})){if(i.is(\"element\")){yield*this._getValidRangesForRange(ef._createIn(i),e)}if(!this.checkAttribute(i,e)){if(!n.isEqual(o)){yield new ef(n,o)}n=Qh._createAfter(i)}o=Qh._createAfter(i)}if(!n.isEqual(o)){yield new ef(n,o)}}}Cs(Om,Yc);class Im{constructor(t){if(t instanceof Im){return t}if(typeof t==\"string\"){t=[t]}else if(!Array.isArray(t)){t=t.getAncestors({includeSelf:true})}if(t[0]&&typeof t[0]!=\"string\"&&t[0].is(\"documentFragment\")){t.shift()}this._items=t.map(Wm)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Im([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function Rm(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],inheritTypesFrom:[]};jm(t,n);qm(t,n,\"allowIn\");qm(t,n,\"allowContentOf\");qm(t,n,\"allowWhere\");qm(t,n,\"allowAttributes\");qm(t,n,\"allowAttributesOf\");qm(t,n,\"inheritTypesFrom\");Km(t,n);return n}function Nm(t,e){for(const n of t[e].allowContentOf){if(t[n]){const o=$m(t,n);o.forEach((t=>{t.allowIn.push(e)}))}}delete t[e].allowContentOf}function Fm(t,e){for(const n of t[e].allowWhere){const o=t[n];if(o){const n=o.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function Mm(t,e){for(const n of t[e].allowAttributesOf){const o=t[n];if(o){const n=o.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function Lm(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const o=t[e];if(o){const t=Object.keys(o).filter((t=>t.startsWith(\"is\")));for(const e of t){if(!(e in n)){n[e]=o[e]}}}}delete n.inheritTypesFrom}function Vm(t,e){const n=t[e];const o=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(o))}function zm(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function jm(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith(\"is\")));for(const o of t){e[o]=n[o]}}}function qm(t,e,n){for(const o of t){if(typeof o[n]==\"string\"){e[n].push(o[n])}else if(Array.isArray(o[n])){e[n].push(...o[n])}}}function Km(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function $m(t,e){const n=t[e];return Gm(t).filter((t=>t.allowIn.includes(n.name)))}function Gm(t){return Object.keys(t).map((e=>t[e]))}function Wm(t){if(typeof t==\"string\"){return{name:t,*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*Um(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*Hm(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function Jm(t,e,n){for(const o of e.getAttributeKeys()){if(!t.checkAttribute(e,o)){n.removeAttribute(o,e)}}}class Ym{constructor(t={}){this._splitParts=new Map;this._cursorParents=new Map;this._modelCursor=null;this.conversionApi=Object.assign({},t);this.conversionApi.convertItem=this._convertItem.bind(this);this.conversionApi.convertChildren=this._convertChildren.bind(this);this.conversionApi.safeInsert=this._safeInsert.bind(this);this.conversionApi.updateConversionResult=this._updateConversionResult.bind(this);this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this);this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t);this._modelCursor=Xm(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=Dm.createFrom(t);this.conversionApi.store={};const{modelRange:o}=this._convertItem(t,this._modelCursor);const i=e.createDocumentFragment();if(o){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,i)}i.markers=Qm(i,e)}this._modelCursor=null;this._splitParts.clear();this._cursorParents.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return i}_convertItem(t,e){const n=Object.assign({viewItem:t,modelCursor:e,modelRange:null});if(t.is(\"element\")){this.fire(\"element:\"+t.name,n,this.conversionApi)}else if(t.is(\"$text\")){this.fire(\"text\",n,this.conversionApi)}else{this.fire(\"documentFragment\",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof ef)){throw new ss[\"b\"](\"view-conversion-dispatcher-incorrect-result\",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is(\"position\")?e:Qh._createAt(e,0);const o=new ef(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);if(t.modelRange instanceof ef){o.end=t.modelRange.end;n=t.modelCursor}}return{modelRange:o,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);if(!n){return false}this.conversionApi.writer.insert(t,n.position);return true}_updateConversionResult(t,e){const n=this._getSplitParts(t);const o=this.conversionApi.writer;if(!e.modelRange){e.modelRange=o.createRange(o.createPositionBefore(t),o.createPositionAfter(n[n.length-1]))}const i=this._cursorParents.get(t);if(i){e.modelCursor=o.createPositionAt(i,0)}else{e.modelCursor=e.modelRange.end}}_splitToAllowedParent(t,e){const{schema:n,writer:o}=this.conversionApi;let i=n.findAllowedParent(e,t);if(i){if(i===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(i)){i=null}}if(!i){if(!sm(e,t,n)){return null}return{position:am(e,o)}}const r=this.conversionApi.writer.split(e,i);const s=[];for(const t of r.range.getWalker()){if(t.type==\"elementEnd\"){s.push(t.item)}else{const e=s.pop();const n=t.item;this._registerSplitPair(e,n)}}const a=r.range.end.parent;this._cursorParents.set(t,a);return{position:r.position,cursorParent:a}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}Cs(Ym,us);function Qm(t,e){const n=new Set;const o=new Map;const i=ef._createIn(t).getItems();for(const t of i){if(t.name==\"$marker\"){n.add(t)}}for(const t of n){const n=t.getAttribute(\"data-name\");const i=e.createPositionBefore(t);if(!o.has(n)){o.set(n,new ef(i.clone()))}else{o.get(n).end=i.clone()}e.remove(t)}return o}function Xm(t,e){let n;for(const o of new Im(t)){const t={};for(const e of o.getAttributeKeys()){t[e]=o.getAttribute(e)}const i=e.createElement(o.name,t);if(n){e.append(i,n)}n=Qh._createAt(i,0)}return n}class Zm{constructor(t,e){this.model=t;this.stylesProcessor=e;this.processor=undefined;this.mapper=new nf;this.downcastDispatcher=new sf({mapper:this.mapper,schema:t.schema});this.downcastDispatcher.on(\"insert:$text\",Tf(),{priority:\"lowest\"});this.upcastDispatcher=new Ym({schema:t.schema});this.viewDocument=new bl(e);this._viewWriter=new Xl(this.viewDocument);this.upcastDispatcher.on(\"text\",um(),{priority:\"lowest\"});this.upcastDispatcher.on(\"element\",lm(),{priority:\"lowest\"});this.upcastDispatcher.on(\"documentFragment\",lm(),{priority:\"lowest\"});this.decorate(\"init\");this.decorate(\"set\");this.on(\"init\",(()=>{this.fire(\"ready\")}),{priority:\"lowest\"});this.on(\"ready\",(()=>{this.model.enqueueChange(\"transparent\",rm)}),{priority:\"lowest\"})}get(t={}){const{rootName:e=\"main\",trim:n=\"empty\"}=t;if(!this._checkIfRootsExists([e])){throw new ss[\"b\"](\"datacontroller-get-non-existent-root\",this)}const o=this.model.document.getRoot(e);if(n===\"empty\"&&!this.model.hasContent(o,{ignoreWhitespaces:true})){return\"\"}return this.stringify(o,t)}stringify(t,e){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e){const n=this.viewDocument;const o=this._viewWriter;this.mapper.clearBindings();const i=ef._createIn(t);const r=new Yl(n);this.mapper.bindElements(t,r);this.downcastDispatcher.conversionApi.options=e;this.downcastDispatcher.convertInsert(i,o);if(!t.is(\"documentFragment\")){const e=tg(t);for(const[t,n]of e){this.downcastDispatcher.convertMarkerAdd(t,n,o)}}delete this.downcastDispatcher.conversionApi.options;return r}init(t){if(this.model.document.version){throw new ss[\"b\"](\"datacontroller-init-document-not-empty\",this)}let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new ss[\"b\"](\"datacontroller-init-non-existent-root\",this)}this.model.enqueueChange(\"transparent\",(t=>{for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.insert(this.parse(e[n],o),o,0)}}));return Promise.resolve()}set(t){let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new ss[\"b\"](\"datacontroller-set-non-existent-root\",this)}this.model.enqueueChange(\"transparent\",(t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.remove(t.createRangeIn(o));t.insert(this.parse(e[n],o),o,0)}}))}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRootNames().includes(e)){return false}}return true}}Cs(Zm,Yc);function tg(t){const e=[];const n=t.root.document;if(!n){return[]}const o=ef._createIn(t);for(const t of n.model.markers){const n=o.getIntersection(t.getRange());if(n){e.push([t.name,n])}}return e}class eg{constructor(t,e){this._helpers=new Map;this._downcast=Array.isArray(t)?t:[t];this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:true});this._upcast=Array.isArray(e)?e:[e];this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const o=this._upcast.includes(e);if(!o&&!n){throw new ss[\"b\"](\"conversion-add-alias-dispatcher-not-registered\",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new ss[\"b\"](\"conversion-for-unknown-group\",this)}return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of ng(t)){this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of ng(t)){this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of ng(t)){this.for(\"upcast\").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new ss[\"b\"](\"conversion-group-exists\",this)}const o=n?new Sf(e):new cm(e);this._helpers.set(t,o)}}function*ng(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const o=t.view[e];const i=t.upcastAlso?t.upcastAlso[e]:undefined;yield*og(n,o,i)}}else{yield*og(t.model,t.view,t.upcastAlso)}}function*og(t,e,n){yield{model:t,view:e};if(n){n=Array.isArray(n)?n:[n];for(const e of n){yield{model:t,view:e}}}}class ig{constructor(t=\"default\"){this.operations=[];this.type=t}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class rg{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return\"Operation\"}static fromJSON(t){return new this(t.baseVersion)}}class sg{constructor(t){this.markers=new Map;this._children=new Wh;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t===\"documentFragment\"||t===\"model:documentFragment\"}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Uh.fromJSON(n))}else{e.push($h.fromJSON(n))}}return new sg(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=ag(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}function ag(t){if(typeof t==\"string\"){return[new $h(t)]}if(!vs(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t==\"string\"){return new $h(t)}if(t instanceof Gh){return new $h(t.data,t.getAttributes())}return t}))}function cg(t,e){e=hg(e);const n=e.reduce(((t,e)=>t+e.offsetSize),0);const o=t.parent;mg(t);const i=t.index;o._insertChild(i,e);fg(o,i+e.length);fg(o,i);return new ef(t,t.getShiftedBy(n))}function lg(t){if(!t.isFlat){throw new ss[\"b\"](\"operation-utils-remove-range-not-flat\",this)}const e=t.start.parent;mg(t.start);mg(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);fg(e,t.start.index);return n}function ug(t,e){if(!t.isFlat){throw new ss[\"b\"](\"operation-utils-move-range-not-flat\",this)}const n=lg(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return cg(e,n)}function dg(t,e,n){mg(t.start);mg(t.end);for(const o of t.getItems({shallow:true})){const t=o.is(\"$textProxy\")?o.textNode:o;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}fg(t.parent,t.index)}fg(t.end.parent,t.end.index)}function hg(t){const e=[];if(!(t instanceof Array)){t=[t]}for(let n=0;nt.maxOffset){throw new ss[\"b\"](\"move-operation-nodes-do-not-exist\",this)}else if(t===e&&n=n&&this.targetPosition.path[t]t._clone(true))));const e=new vg(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new Qh(t,[0]);return new _g(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(true))));cg(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Uh.fromJSON(e))}else{n.push($h.fromJSON(e))}}const o=new vg(Qh.fromJSON(t.position,e),n,t.baseVersion);o.shouldReceiveAttributes=t.shouldReceiveAttributes;return o}}class Cg extends rg{constructor(t,e,n,o,i,r){super(r);this.name=t;this.oldRange=e?e.clone():null;this.newRange=n?n.clone():null;this.affectsData=i;this._markers=o}get type(){return\"marker\"}clone(){return new Cg(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new Cg(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const t=this.newRange?\"_set\":\"_remove\";this._markers[t](this.name,this.newRange,true,this.affectsData)}toJSON(){const t=super.toJSON();if(this.oldRange){t.oldRange=this.oldRange.toJSON()}if(this.newRange){t.newRange=this.newRange.toJSON()}delete t._markers;return t}static get className(){return\"MarkerOperation\"}static fromJSON(t,e){return new Cg(t.name,t.oldRange?ef.fromJSON(t.oldRange,e):null,t.newRange?ef.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class Ag extends rg{constructor(t,e,n,o){super(o);this.position=t;this.position.stickiness=\"toNext\";this.oldName=e;this.newName=n}get type(){return\"rename\"}clone(){return new Ag(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new Ag(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Uh)){throw new ss[\"b\"](\"rename-operation-wrong-position\",this)}else if(t.name!==this.oldName){throw new ss[\"b\"](\"rename-operation-wrong-name\",this)}}_execute(){const t=this.position.nodeAfter;t.name=this.newName}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();return t}static get className(){return\"RenameOperation\"}static fromJSON(t,e){return new Ag(Qh.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class yg extends rg{constructor(t,e,n,o,i){super(i);this.root=t;this.key=e;this.oldValue=n;this.newValue=o}get type(){if(this.oldValue===null){return\"addRootAttribute\"}else if(this.newValue===null){return\"removeRootAttribute\"}else{return\"changeRootAttribute\"}}clone(){return new yg(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new yg(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is(\"documentFragment\")){throw new ss[\"b\"](\"rootattribute-operation-not-a-root\",this,{root:this.root,key:this.key})}if(this.oldValue!==null&&this.root.getAttribute(this.key)!==this.oldValue){throw new ss[\"b\"](\"rootattribute-operation-wrong-old-value\",this,{root:this.root,key:this.key})}if(this.oldValue===null&&this.newValue!==null&&this.root.hasAttribute(this.key)){throw new ss[\"b\"](\"rootattribute-operation-attribute-exists\",this,{root:this.root,key:this.key})}}_execute(){if(this.newValue!==null){this.root._setAttribute(this.key,this.newValue)}else{this.root._removeAttribute(this.key)}}toJSON(){const t=super.toJSON();t.root=this.root.toJSON();return t}static get className(){return\"RootAttributeOperation\"}static fromJSON(t,e){if(!e.getRoot(t.root)){throw new ss[\"b\"](\"rootattribute-operation-fromjson-no-root\",this,{rootName:t.root})}return new yg(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class xg extends rg{constructor(t,e,n,o,i){super(i);this.sourcePosition=t.clone();this.sourcePosition.stickiness=\"toPrevious\";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness=\"toNext\";this.graveyardPosition=o.clone()}get type(){return\"merge\"}get deletionPosition(){return new Qh(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new ef(this.sourcePosition,t)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this);const e=this.sourcePosition.path.slice(0,-1);const n=new Qh(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);const o=new Eg(t,this.howMany,this.graveyardPosition,this.baseVersion+1);o.insertionPosition=n;return o}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;if(!t.parent){throw new ss[\"b\"](\"merge-operation-source-position-invalid\",this)}else if(!e.parent){throw new ss[\"b\"](\"merge-operation-target-position-invalid\",this)}else if(this.howMany!=t.maxOffset){throw new ss[\"b\"](\"merge-operation-how-many-invalid\",this)}}_execute(){const t=this.sourcePosition.parent;const e=ef._createIn(t);ug(e,this.targetPosition);ug(ef._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=t.sourcePosition.toJSON();t.targetPosition=t.targetPosition.toJSON();t.graveyardPosition=t.graveyardPosition.toJSON();return t}static get className(){return\"MergeOperation\"}static fromJSON(t,e){const n=Qh.fromJSON(t.sourcePosition,e);const o=Qh.fromJSON(t.targetPosition,e);const i=Qh.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,o,i,t.baseVersion)}}class Eg extends rg{constructor(t,e,n,o){super(o);this.splitPosition=t.clone();this.splitPosition.stickiness=\"toNext\";this.howMany=e;this.insertionPosition=Eg.getInsertionPosition(t);this.insertionPosition.stickiness=\"toNone\";this.graveyardPosition=n?n.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness=\"toNext\"}}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new Qh(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new ef(this.splitPosition,t)}clone(){const t=new this.constructor(this.splitPosition,this.howMany,this.graveyardPosition,this.baseVersion);t.insertionPosition=this.insertionPosition;return t}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new Qh(t,[0]);return new xg(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof ef)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof ef)){throw new ss[\"b\"](\"writer-move-invalid-range\",this)}if(!t.isFlat){throw new ss[\"b\"](\"writer-move-range-not-flat\",this)}const o=Qh._createAt(e,n);if(o.isEqual(t.start)){return}this._addOperationForAffectedMarkers(\"move\",t);if(!Ig(t.root,o.root)){throw new ss[\"b\"](\"writer-move-different-document\",this)}const i=t.root.document?t.root.document.version:null;const r=new _g(t.start,t.end.offset-t.start.offset,o,i);this.batch.addOperation(r);this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof ef?t:ef._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers(\"move\",t);Og(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers(\"merge\",t);if(!(e instanceof Uh)){throw new ss[\"b\"](\"writer-merge-no-element-before\",this)}if(!(n instanceof Uh)){throw new ss[\"b\"](\"writer-merge-no-element-after\",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(t,e,n){return this.model.createSelection(t,e,n)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(ef._createIn(n),Qh._createAt(e,\"end\"));this.remove(n)}_merge(t){const e=Qh._createAt(t.nodeBefore,\"end\");const n=Qh._createAt(t.nodeAfter,0);const o=t.root.document.graveyard;const i=new Qh(o,[0]);const r=t.root.document.version;const s=new xg(n,t.nodeAfter.maxOffset,e,i,r);this.batch.addOperation(s);this.model.applyOperation(s)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Uh)){throw new ss[\"b\"](\"writer-rename-not-element-instance\",this)}const n=t.root.document?t.root.document.version:null;const o=new Ag(Qh._createBefore(t),t.name,e,n);this.batch.addOperation(o);this.model.applyOperation(o)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new ss[\"b\"](\"writer-split-element-no-parent\",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new ss[\"b\"](\"writer-split-invalid-limit-element\",this)}let o,i;do{const e=n.root.document?n.root.document.version:null;const r=n.maxOffset-t.offset;const s=new Eg(t,r,null,e);this.batch.addOperation(s);this.model.applyOperation(s);if(!o&&!i){o=n;i=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new ef(Qh._createAt(o,\"end\"),Qh._createAt(i,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new ss[\"b\"](\"writer-wrap-range-not-flat\",this)}const n=e instanceof Uh?e:new Uh(e);if(n.childCount>0){throw new ss[\"b\"](\"writer-wrap-element-not-empty\",this)}if(n.parent!==null){throw new ss[\"b\"](\"writer-wrap-element-attached\",this)}this.insert(n,t.start);const o=new ef(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(o,Qh._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new ss[\"b\"](\"writer-unwrap-element-no-parent\",this)}this.move(ef._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!=\"boolean\"){throw new ss[\"b\"](\"writer-addmarker-no-usingoperation\",this)}const n=e.usingOperation;const o=e.range;const i=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new ss[\"b\"](\"writer-addmarker-marker-exists\",this)}if(!o){throw new ss[\"b\"](\"writer-addmarker-no-range\",this)}if(!n){return this.model.markers._set(t,o,n,i)}Bg(this,t,null,o,i);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t==\"string\"?t:t.name;const o=this.model.markers.get(n);if(!o){throw new ss[\"b\"](\"writer-updatemarker-marker-not-exists\",this)}if(!e){this.model.markers._refresh(o);return}const i=typeof e.usingOperation==\"boolean\";const r=typeof e.affectsData==\"boolean\";const s=r?e.affectsData:o.affectsData;if(!i&&!e.range&&!r){throw new ss[\"b\"](\"writer-updatemarker-wrong-options\",this)}const a=o.getRange();const c=e.range?e.range:a;if(i&&e.usingOperation!==o.managedUsingOperations){if(e.usingOperation){Bg(this,n,null,c,s)}else{Bg(this,n,a,null,s);this.model.markers._set(n,c,undefined,s)}return}if(o.managedUsingOperations){Bg(this,n,a,c,s)}else{this.model.markers._set(n,c,undefined,s)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t==\"string\"?t:t.name;if(!this.model.markers.has(e)){throw new ss[\"b\"](\"writer-removemarker-no-marker\",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const o=n.getRange();Bg(this,e,o,null,n.affectsData)}setSelection(t,e,n){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of Ks(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const o=wf._getStoreAttributeKey(t);this.setAttribute(o,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=wf._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new ss[\"b\"](\"writer-incorrect-use\",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const o=n.getRange();let i=false;if(t===\"move\"){i=e.containsPosition(o.start)||e.start.isEqual(o.start)||e.containsPosition(o.end)||e.end.isEqual(o.end)}else{const t=e.nodeBefore;const n=e.nodeAfter;const r=o.start.parent==t&&o.start.isAtEnd;const s=o.end.parent==n&&o.end.offset==0;const a=o.end.nodeAfter==n;const c=o.start.nodeAfter==n;i=r||s||a||c}if(i){this.updateMarker(n.name,{range:o})}}}}function Tg(t,e,n,o){const i=t.model;const r=i.document;let s=o.start;let a;let c;let l;for(const t of o.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){u()}s=a}a=t.nextPosition;c=l}if(a instanceof Qh&&a!=s&&c!=n){u()}function u(){const o=new ef(s,a);const l=o.root.document?r.version:null;const u=new kg(o,e,c,n,l);t.batch.addOperation(u);i.applyOperation(u)}}function Dg(t,e,n,o){const i=t.model;const r=i.document;const s=o.getAttribute(e);let a,c;if(s!=n){const l=o.root===o;if(l){const t=o.document?r.version:null;c=new yg(o,e,s,n,t)}else{a=new ef(Qh._createBefore(o),t.createPositionAfter(o));const i=a.root.document?r.version:null;c=new kg(a,e,s,n,i)}t.batch.addOperation(c);i.applyOperation(c)}}function Bg(t,e,n,o,i){const r=t.model;const s=r.document;const a=new Cg(e,n,o,r.markers,i,s.version);t.batch.addOperation(a);r.applyOperation(a)}function Og(t,e,n,o){let i;if(t.root.document){const n=o.document;const r=new Qh(n.graveyard,[0]);i=new _g(t,e,r,n.version)}else{i=new wg(t,e)}n.addOperation(i);o.applyOperation(i)}function Ig(t,e){if(t===e){return true}if(t instanceof Pg&&e instanceof Pg){return true}return false}class Rg{constructor(t){this._markerCollection=t;this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0}refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);const e=ef._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}this._cachedChanges=null}bufferOperation(t){switch(t.type){case\"insert\":{if(this._isInInsertedElement(t.position.parent)){return}this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break}case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":{for(const e of t.range.getItems({shallow:true})){if(this._isInInsertedElement(e.parent)){continue}this._markAttribute(e)}break}case\"remove\":case\"move\":case\"reinsert\":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition)){return}const e=this._isInInsertedElement(t.sourcePosition.parent);const n=this._isInInsertedElement(t.targetPosition.parent);if(!e){this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany)}if(!n){this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany)}break}case\"rename\":{if(this._isInInsertedElement(t.position.parent)){return}this._markRemove(t.position.parent,t.position.offset,1);this._markInsert(t.position.parent,t.position.offset,1);const e=ef._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}break}case\"split\":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany)}if(!this._isInInsertedElement(t.insertionPosition.parent)){this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1)}if(t.graveyardPosition){this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1)}break}case\"merge\":{const e=t.sourcePosition.parent;if(!this._isInInsertedElement(e.parent)){this._markRemove(e.parent,e.startOffset,1)}const n=t.graveyardPosition.parent;this._markInsert(n,t.graveyardPosition.offset,1);const o=t.targetPosition.parent;if(!this._isInInsertedElement(o)){this._markInsert(o,t.targetPosition.offset,e.maxOffset)}break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,o){const i=this._changedMarkers.get(t);if(!i){this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:o})}else{i.newRange=n;i.affectsData=o;if(i.oldRange==null&&i.newRange==null){this._changedMarkers.delete(t)}}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldRange!=null){t.push({name:e,range:n.oldRange})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newRange!=null){t.push({name:e,range:n.newRange})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((t=>({name:t[0],data:{oldRange:t[1].oldRange,newRange:t[1].newRange}})))}hasDataChanges(){for(const[,t]of this._changedMarkers){if(t.affectsData){return true}}return this._changesInElement.size>0}getChanges(t={includeChangesInGraveyard:false}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}const e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type==\"remove\"?-1:1}return 0}return t.offset{if(t.position.root!=e.position.root){return t.position.root.rootNamen.offset){if(o>i){const t={type:\"attribute\",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offseti){t.nodesToHandle=o-i;t.offset=i}else{t.nodesToHandle=0}}}if(n.type==\"remove\"){if(t.offsetn.offset){const i={type:\"attribute\",offset:n.offset,howMany:o-n.offset,count:this._changeCount++};this._handleChange(i,e);e.push(i);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type==\"attribute\"){if(t.offset>=n.offset&&o<=i){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&o>=i){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:Qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:Qh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const o=[];n=new Map(n);for(const[i,r]of e){const e=n.has(i)?n.get(i):null;if(e!==r){o.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(i)}for(const[e,i]of n){o.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++})}return o}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const o=t.startOffset;if(n){for(const t of n){if(t.type==\"insert\"&&o>=t.offset&&oo){for(let e=0;e=t&&o.baseVersion{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version){throw new ss[\"b\"](\"model-document-applyoperation-wrong-version\",this,{operation:n})}}),{priority:\"highest\"});this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}}),{priority:\"high\"});this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.version++;this.history.addOperation(n)}}),{priority:\"low\"});this.listenTo(this.selection,\"change\",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=true}));this.listenTo(t.markers,\"update\",((t,e,n,o)=>{this.differ.bufferMarkerChange(e.name,n,o,e.affectsData);if(n===null){e.on(\"change\",((t,n)=>{this.differ.bufferMarkerChange(e.name,n,e.getRange(),e.affectsData)}))}}))}get graveyard(){return this.getRoot($g)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e)){throw new ss[\"b\"](\"model-document-createroot-name-exists\",this,{name:e})}const n=new Pg(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,(t=>t.rootName)).filter((t=>t!=$g))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Ls(this);t.selection=\"[engine.model.DocumentSelection]\";t.model=\"[engine.model.Model]\";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire(\"change:data\",t.batch)}else{this.fire(\"change\",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots){if(t!==this.graveyard){return t}}return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const o=e.createPositionFromPath(t,[0]);const i=n.getNearestSelectionRange(o);return i||e.createRange(o)}_validateSelectionRange(t){return Wg(t.start)&&Wg(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}Cs(Gg,us);function Wg(t){const e=t.textNode;if(e){const n=e.data;const o=t.offset-e.startOffset;return!qg(n,o)&&!Kg(n,o)}return true}class Ug{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,o=false){const i=t instanceof Hg?t.name:t;if(i.includes(\",\")){throw new ss[\"b\"](\"markercollection-incorrect-marker-name\",this)}const r=this._markers.get(i);if(r){const t=r.getRange();let s=false;if(!t.isEqual(e)){r._attachLiveRange(mf.fromRange(e));s=true}if(n!=r.managedUsingOperations){r._managedUsingOperations=n;s=true}if(typeof o===\"boolean\"&&o!=r.affectsData){r._affectsData=o;s=true}if(s){this.fire(\"update:\"+i,r,t,e)}return r}const s=mf.fromRange(e);const a=new Hg(i,s,n,o);this._markers.set(i,a);this.fire(\"update:\"+i,a,null,e);return a}_remove(t){const e=t instanceof Hg?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(\"update:\"+e,n,n.getRange(),null);this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof Hg?t.name:t;const n=this._markers.get(e);if(!n){throw new ss[\"b\"](\"markercollection-refresh-marker-not-exists\",this)}const o=n.getRange();this.fire(\"update:\"+e,n,o,o,n.managedUsingOperations,n.affectsData)}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+\":\")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}Cs(Ug,us);class Hg{constructor(t,e,n,o){this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=o}get managedUsingOperations(){if(!this._liveRange){throw new ss[\"b\"](\"marker-destroyed\",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new ss[\"b\"](\"marker-destroyed\",this)}return this._affectsData}getStart(){if(!this._liveRange){throw new ss[\"b\"](\"marker-destroyed\",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new ss[\"b\"](\"marker-destroyed\",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new ss[\"b\"](\"marker-destroyed\",this)}return this._liveRange.toRange()}is(t){return t===\"marker\"||t===\"model:marker\"}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate(\"change:range\").to(this);t.delegate(\"change:content\").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this);this._liveRange.stopDelegating(\"change:content\",this);this._liveRange.detach();this._liveRange=null}}Cs(Hg,us);class Jg extends rg{get type(){return\"noop\"}clone(){return new Jg(this.baseVersion)}getReversed(){return new Jg(this.baseVersion+1)}_execute(){}static get className(){return\"NoOperation\"}}const Yg={};Yg[kg.className]=kg;Yg[vg.className]=vg;Yg[Cg.className]=Cg;Yg[_g.className]=_g;Yg[Jg.className]=Jg;Yg[rg.className]=rg;Yg[Ag.className]=Ag;Yg[yg.className]=yg;Yg[Eg.className]=Eg;Yg[xg.className]=xg;class Qg{static fromJSON(t,e){return Yg[t.__className].fromJSON(t,e)}}class Xg extends Qh{constructor(t,e,n=\"toNone\"){super(t,e,n);if(!this.root.is(\"rootElement\")){throw new ss[\"b\"](\"model-liveposition-root-not-rootelement\",t)}Zg.call(this)}detach(){this.stopListening()}is(t){return t===\"livePosition\"||t===\"model:livePosition\"||t==\"position\"||t===\"model:position\"}toPosition(){return new Qh(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e?e:t.stickiness)}}function Zg(){this.listenTo(this.root.document.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}tp.call(this,n)}),{priority:\"low\"})}function tp(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire(\"change\",t)}}Cs(Xg,us);function ep(t,e,n,o){return t.change((i=>{let r;if(!n){r=t.document.selection}else if(n instanceof cf||n instanceof wf){r=n}else{r=i.createSelection(n,o)}if(!r.isCollapsed){t.deleteContent(r,{doNotAutoparagraph:true})}const s=new np(t,i,r.anchor);let a;if(e.is(\"documentFragment\")){a=e.getChildren()}else{a=[e]}s.handleNodes(a,{isFirst:true,isLast:true});const c=s.getSelectionRange();if(c){if(r instanceof wf){i.setSelection(c)}else{r.setTo(c)}}else{}const l=s.getAffectedRange()||t.createRange(r.anchor);s.destroy();return l}))}class np{constructor(t,e,n){this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null}handleNodes(t,e){t=Array.from(t);for(let n=0;n{if(!n.doNotResetEntireContent&&pp(i,e)){gp(t,e,i);return}const[r,s]=ip(o);if(!o.start.isTouching(o.end)){t.remove(o)}if(!n.leaveUnmerged){sp(t,r,s);i.removeDisallowedAttributes(r.parent.getChildren(),t)}bp(t,e,r);if(!n.doNotAutoparagraph&&hp(i,r)){mp(t,r,e)}r.detach();s.detach()}))}function ip(t){const e=t.root.document.model;const n=t.start;let o=t.end;if(e.hasContent(t,{ignoreMarkers:true})){const n=rp(o);if(n&&o.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:\"backward\"});o=n.getLastPosition()}}return[Xg.fromPosition(n,\"toPrevious\"),Xg.fromPosition(o,\"toNext\")]}function rp(t){const e=t.parent;const n=e.root.document.model.schema;const o=e.getAncestors({parentFirst:true,includeSelf:true});for(const t of o){if(n.isLimit(t)){return null}if(n.isBlock(t)){return t}}}function sp(t,e,n){const o=t.model;if(!up(t.model.schema,e,n)){return}const[i,r]=dp(e,n);if(!o.hasContent(i,{ignoreMarkers:true})&&o.hasContent(r,{ignoreMarkers:true})){cp(t,e,n,i.parent)}else{ap(t,e,n,i.parent)}}function ap(t,e,n,o){const i=e.parent;const r=n.parent;if(i==o||r==o){return}e=t.createPositionAfter(i);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(r,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}if(!up(t.model.schema,e,n)){return}ap(t,e,n,o)}function cp(t,e,n,o){const i=e.parent;const r=n.parent;if(i==o||r==o){return}e=t.createPositionAfter(i);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(i,n)}while(e.parent.isEmpty){const n=e.parent;e=t.createPositionBefore(n);t.remove(n)}n=t.createPositionBefore(r);lp(t,n);if(!up(t.model.schema,e,n)){return}cp(t,e,n,o)}function lp(t,e){const n=e.nodeBefore;const o=e.nodeAfter;if(n.name!=o.name){t.rename(n,o.name)}t.clearAttributes(n);t.setAttributes(Object.fromEntries(o.getAttributes()),n);t.merge(e)}function up(t,e,n){const o=e.parent;const i=n.parent;if(o==i){return false}if(t.isLimit(o)||t.isLimit(i)){return false}return fp(e,n,t)}function dp(t,e){const n=t.getAncestors();const o=e.getAncestors();let i=0;while(n[i]&&n[i]==o[i]){i++}return[n[i],o[i]]}function hp(t,e){const n=t.checkChild(e,\"$text\");const o=t.checkChild(e,\"paragraph\");return!n&&o}function fp(t,e,n){const o=new ef(t,e);for(const t of o.getWalker()){if(n.isLimit(t.item)){return false}}return true}function mp(t,e,n){const o=t.createElement(\"paragraph\");t.insert(o,e);bp(t,n,t.createPositionAt(o,0))}function gp(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));mp(t,t.createPositionAt(n,0),e)}function pp(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const o=e.getFirstRange();if(o.start.parent==o.end.parent){return false}return t.checkChild(n,\"paragraph\")}function bp(t,e,n){if(e instanceof wf){t.setSelection(n)}else{e.setTo(n)}}const kp=' ,.?!:;\"-()';function wp(t,e,n={}){const o=t.schema;const i=n.direction!=\"backward\";const r=n.unit?n.unit:\"character\";const s=e.focus;const a=new Jh({boundaries:Ap(s,i),singleCharacters:true,direction:i?\"forward\":\"backward\"});const c={walker:a,schema:o,isForward:i,unit:r};let l;while(l=a.next()){if(l.done){return}const n=_p(c,l.value);if(n){if(e instanceof wf){t.change((t=>{t.setSelectionFocus(n)}))}else{e.setFocus(n)}return}}}function _p(t,e){const{isForward:n,walker:o,unit:i,schema:r}=t;const{type:s,item:a,nextPosition:c}=e;if(s==\"text\"){if(t.unit===\"word\"){return Cp(o,n)}return vp(o,i,n)}if(s==(n?\"elementStart\":\"elementEnd\")){if(r.isSelectable(a)){return Qh._createAt(a,n?\"after\":\"before\")}if(r.checkChild(c,\"$text\")){return c}}else{if(r.isLimit(a)){o.skip((()=>true));return}if(r.checkChild(c,\"$text\")){return c}}}function vp(t,e){const n=t.position.textNode;if(n){const o=n.data;let i=t.position.offset-n.startOffset;while(qg(o,i)||e==\"character\"&&Kg(o,i)){t.next();i=t.position.offset-n.startOffset}}return t.position}function Cp(t,e){let n=t.position.textNode;if(n){let o=t.position.offset-n.startOffset;while(!yp(n.data,o,e)&&!xp(n,o,e)){t.next();const i=e?t.position.nodeAfter:t.position.nodeBefore;if(i&&i.is(\"$text\")){const o=i.data.charAt(e?0:i.data.length-1);if(!kp.includes(o)){t.next();n=t.position.textNode}}o=t.position.offset-n.startOffset}}return t.position}function Ap(t,e){const n=t.root;const o=Qh._createAt(n,e?\"end\":0);if(e){return new ef(t,o)}else{return new ef(o,t)}}function yp(t,e,n){const o=e+(n?0:-1);return kp.includes(t.charAt(o))}function xp(t,e,n){return e===(n?t.endOffset:0)}function Ep(t,e){return t.change((t=>{const n=t.createDocumentFragment();const o=e.getFirstRange();if(!o||o.isCollapsed){return n}const i=o.start.root;const r=o.start.getCommonPath(o.end);const s=i.getNodeByPath(r);let a;if(o.start.parent==o.end.parent){a=o}else{a=t.createRange(t.createPositionAt(s,o.start.path[r.length]),t.createPositionAt(s,o.end.path[r.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is(\"$textProxy\")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(t.cloneElement(e,true),n)}}if(a!=o){const e=o._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const i=t.createRange(t.createPositionAt(n,0),e.start);const r=t.createRange(e.end,t.createPositionAt(n,\"end\"));Pp(r,t);Pp(i,t)}return n}))}function Pp(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map((t=>e.createRangeOn(t))).filter((e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n})).forEach((t=>{n.push(t.start.parent);e.remove(t)}));n.forEach((t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}}))}function Sp(t){t.document.registerPostFixer((e=>Tp(e,t)))}function Tp(t,e){const n=e.document.selection;const o=e.schema;const i=[];let r=false;for(const t of n.getRanges()){const e=Dp(t,o);if(e&&!e.isEqual(t)){i.push(e);r=true}else{i.push(t)}}if(r){t.setSelection(Np(i),{backward:n.isBackward})}}function Dp(t,e){if(t.isCollapsed){return Bp(t,e)}return Op(t,e)}function Bp(t,e){const n=t.start;const o=e.getNearestSelectionRange(n);if(!o){return null}if(!o.isCollapsed){return o}const i=o.start;if(n.isEqual(i)){return null}return new ef(i)}function Op(t,e){const{start:n,end:o}=t;const i=e.checkChild(n,\"$text\");const r=e.checkChild(o,\"$text\");const s=e.getLimitElement(n);const a=e.getLimitElement(o);if(s===a){if(i&&r){return null}if(Rp(n,o,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter);const i=t?null:e.getNearestSelectionRange(n,\"forward\");const r=o.nodeBefore&&e.isSelectable(o.nodeBefore);const s=r?null:e.getNearestSelectionRange(o,\"backward\");const a=i?i.start:n;const c=s?s.start:o;return new ef(a,c)}}const c=s&&!s.is(\"rootElement\");const l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&o.nodeBefore&&n.nodeAfter.parent===o.nodeBefore.parent;const i=c&&(!t||!Fp(n.nodeAfter,e));const r=l&&(!t||!Fp(o.nodeBefore,e));let u=n;let d=o;if(i){u=Qh._createBefore(Ip(s,e))}if(r){d=Qh._createAfter(Ip(a,e))}return new ef(u,d)}return null}function Ip(t,e){let n=t;let o=n;while(e.isLimit(o)&&o.parent){n=o;o=o.parent}return n}function Rp(t,e,n){const o=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\");const i=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return o||i}function Np(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isIntersecting(t)){const o=t.start.isAfter(n.start)?n.start:t.start;const i=t.end.isAfter(n.end)?t.end:n.end;const r=new ef(o,i);e.push(r)}else{e.push(t);e.push(n)}}return e}function Fp(t,e){return t&&e.isSelectable(t)}class Mp{constructor(){this.markers=new Ug;this.document=new Gg(this);this.schema=new Om;this._pendingChanges=[];this._currentWriter=null;[\"insertContent\",\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach((t=>this.decorate(t)));this.on(\"applyOperation\",((t,e)=>{const n=e[0];n._validate()}),{priority:\"highest\"});this.schema.register(\"$root\",{isLimit:true});this.schema.register(\"$block\",{allowIn:\"$root\",isBlock:true});this.schema.register(\"$text\",{allowIn:\"$block\",isInline:true,isContent:true});this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",isLimit:true});this.schema.extend(\"$text\",{allowIn:\"$clipboardHolder\"});this.schema.register(\"$marker\");this.schema.addChildCheck(((t,e)=>{if(e.name===\"$marker\"){return true}}));Sp(this);this.document.registerPostFixer(rm)}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new ig,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){ss[\"b\"].rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(typeof t===\"string\"){t=new ig(t)}else if(typeof t==\"function\"){e=t;t=new ig}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){ss[\"b\"].rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return ep(this,t,e,n)}deleteContent(t,e){op(this,t,e)}modifySelection(t,e){wp(this,t,e)}getSelectedContent(t){return Ep(this,t)}hasContent(t,e={}){const n=t instanceof Uh?ef._createIn(t):t;if(n.isCollapsed){return false}const{ignoreWhitespaces:o=false,ignoreMarkers:i=false}=e;if(!i){for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}}for(const t of n.getItems()){if(this.schema.isContent(t)){if(t.is(\"$textProxy\")){if(!o){return true}else if(t.data.search(/\\S/)!==-1){return true}}else{return true}}}return false}createPositionFromPath(t,e,n){return new Qh(t,e,n)}createPositionAt(t,e){return Qh._createAt(t,e)}createPositionAfter(t){return Qh._createAfter(t)}createPositionBefore(t){return Qh._createBefore(t)}createRange(t,e){return new ef(t,e)}createRangeIn(t){return ef._createIn(t)}createRangeOn(t){return ef._createOn(t)}createSelection(t,e,n){return new cf(t,e,n)}createBatch(t){return new ig(t)}createOperationFromJSON(t){return Qg.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire(\"_beforeChanges\");while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new Sg(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}this.fire(\"_afterChanges\");return t}}Cs(Mp,Yc);class Lp{constructor(){this._listener=Object.create(Yu)}listenTo(t){this._listener.listenTo(t,\"keydown\",((t,e)=>{this._listener.fire(\"_keydown:\"+Fl(e),e)}))}set(t,e,n={}){const o=Ml(t);const i=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+o,((t,n)=>{e(n,(()=>{n.preventDefault();n.stopPropagation();t.stop()}));t.return=true}),{priority:i})}press(t){return!!this._listener.fire(\"_keydown:\"+Fl(t),t)}destroy(){this._listener.stopListening()}}class Vp extends Lp{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e==\"string\"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class zp{constructor(t={}){this._context=t.context||new Rs({language:t.language});this._context._addEditor(this,!t.context);const e=Array.from(this.constructor.builtinPlugins||[]);this.config=new Jr(t,this.constructor.defaultConfig);this.config.define(\"plugins\",e);this.config.define(this._context._getEditorConfig());this.plugins=new ys(this,e,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this.commands=new Tm;this.set(\"state\",\"initializing\");this.once(\"ready\",(()=>this.state=\"ready\"),{priority:\"high\"});this.once(\"destroy\",(()=>this.state=\"destroyed\"),{priority:\"high\"});this.set(\"isReadOnly\",false);this.model=new Mp;const n=new Rc;this.data=new Zm(this.model,n);this.editing=new Sm(this.model,n);this.editing.view.document.bind(\"isReadOnly\").to(this);this.conversion=new eg([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher);this.conversion.addAlias(\"dataDowncast\",this.data.downcastDispatcher);this.conversion.addAlias(\"editingDowncast\",this.editing.downcastDispatcher);this.keystrokes=new Vp(this);this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config;const e=t.get(\"plugins\");const n=t.get(\"removePlugins\")||[];const o=t.get(\"extraPlugins\")||[];return this.plugins.init(e.concat(o),n)}destroy(){let t=Promise.resolve();if(this.state==\"initializing\"){t=new Promise((t=>this.once(\"ready\",t)))}return t.then((()=>{this.fire(\"destroy\");this.stopListening();this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(...t){try{return this.commands.execute(...t)}catch(t){ss[\"b\"].rethrowUnexpectedError(t,this)}}}Cs(zp,Yc);const jp={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};var qp=jp;function Kp(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}const $p={updateSourceElement(){if(!this.sourceElement){throw new ss[\"b\"](\"editor-missing-sourceelement\",this)}Kp(this.sourceElement,this.data.get())}};var Gp=$p;function Wp(t){if(!mt(t.updateSourceElement)){throw new ss[\"b\"](\"attachtoform-missing-elementapi-interface\",t)}const e=t.sourceElement;if(e&&e.tagName.toLowerCase()===\"textarea\"&&e.form){let n;const o=e.form;const i=()=>t.updateSourceElement();if(mt(o.submit)){n=o.submit;o.submit=()=>{i();n.apply(o)}}o.addEventListener(\"submit\",i);t.on(\"destroy\",(()=>{o.removeEventListener(\"submit\",i);if(n){o.submit=n}}))}}class Up{getHtml(t){const e=document.implementation.createHTMLDocument(\"\");const n=e.createElement(\"div\");n.appendChild(t);return n.innerHTML}}class Hp{constructor(t){this._domParser=new DOMParser;this._domConverter=new Ku(t,{blockFillerMode:\"nbsp\"});this._htmlWriter=new Up}toData(t){const e=this._domConverter.viewToDom(t,document);return this._htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this._domConverter.domToView(e)}_toDom(t){const e=this._domParser.parseFromString(t,\"text/html\");const n=e.createDocumentFragment();const o=e.body.childNodes;while(o.length>0){n.appendChild(o[0])}return n}}class Jp{constructor(t){this.editor=t;this._components=new Map}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){this._components.set(Yp(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new ss[\"b\"](\"componentfactory-item-missing\",this,{name:t})}return this._components.get(Yp(t)).callback(this.editor.locale)}has(t){return this._components.has(Yp(t))}}function Yp(t){return String(t).toLowerCase()}class Qp{constructor(){this.set(\"isFocused\",false);this.set(\"focusedElement\",null);this._elements=new Set;this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t)){throw new ss[\"b\"](\"focustracker-add-element-already-exist\",this)}this.listenTo(t,\"focus\",(()=>this._focus(t)),{useCapture:true});this.listenTo(t,\"blur\",(()=>this._blur()),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur(t)}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null;this.isFocused=false}),0)}}Cs(Qp,Yu);Cs(Qp,Yc);class Xp{constructor(t){this.editor=t;this.componentFactory=new Jp(t);this.focusTracker=new Qp;this._editableElementsMap=new Map;this.listenTo(t.editing.view.document,\"layoutChanged\",(()=>this.update()))}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening();this.focusTracker.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null}this._editableElementsMap=new Map}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){console.warn(\"editor-ui-deprecated-editable-elements: \"+\"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this});return this._editableElementsMap}}Cs(Xp,us);function Zp({origin:t,originKeystrokeHandler:e,originFocusTracker:n,toolbar:o,beforeFocus:i,afterBlur:r}){n.add(o.element);e.set(\"Alt+F10\",((t,e)=>{if(n.isFocused&&!o.focusTracker.isFocused){if(i){i()}o.focus();e()}}));o.keystrokes.set(\"Esc\",((e,n)=>{if(o.focusTracker.isFocused){t.focus();if(r){r()}n()}}))}function tb(t){if(Array.isArray(t)){return{items:t}}if(!t){return{items:[]}}return Object.assign({items:[]},t)}var eb=n(13);const nb=new WeakMap;function ob(t){const{view:e,element:n,text:o,isDirectHost:i=true}=t;const r=e.document;if(!nb.has(r)){nb.set(r,new Map);r.registerPostFixer((t=>cb(r,t)))}nb.get(r).set(n,{text:o,isDirectHost:i});e.change((t=>cb(r,t)))}function ib(t,e){const n=e.document;t.change((t=>{if(!nb.has(n)){return}const o=nb.get(n);const i=o.get(e);t.removeAttribute(\"data-placeholder\",i.hostElement);sb(t,i.hostElement);o.delete(e)}))}function rb(t,e){if(!e.hasClass(\"ck-placeholder\")){t.addClass(\"ck-placeholder\",e);return true}return false}function sb(t,e){if(e.hasClass(\"ck-placeholder\")){t.removeClass(\"ck-placeholder\",e);return true}return false}function ab(t){if(!t.isAttached()){return false}const e=!Array.from(t.getChildren()).some((t=>!t.is(\"uiElement\")));const n=t.document;if(!n.isFocused&&e){return true}const o=n.selection;const i=o.anchor;if(e&&i&&i.parent!==t){return true}return false}function cb(t,e){const n=nb.get(t);let o=false;for(const[t,i]of n){if(lb(e,t,i)){o=true}}return o}function lb(t,e,n){const{text:o,isDirectHost:i}=n;const r=i?e:ub(e);let s=false;if(!r){return false}n.hostElement=r;if(r.getAttribute(\"data-placeholder\")!==o){t.setAttribute(\"data-placeholder\",o,r);s=true}if(ab(r)){if(rb(t,r)){s=true}}else if(sb(t,r)){s=true}return s}function ub(t){if(t.childCount===1){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\")){return e}}return null}class db{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display=\"none\";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display=\"\";if(e){e.remove()}}));this._replacedElements=[]}}class hb extends Xp{constructor(t,e){super(t);this.view=e;this._toolbarConfig=tb(t.config.get(\"toolbar\"));this._elementReplacer=new db}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const o=e.editing.view;const i=n.editable;const r=o.document.getRoot();i.name=r.rootName;n.render();const s=i.element;this.setEditableElement(i.name,s);this.focusTracker.add(s);n.editable.bind(\"isFocused\").to(this.focusTracker);o.attachDomRoot(s);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this.fire(\"ready\")}destroy(){const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy();super.destroy()}_initToolbar(){const t=this.editor;const e=this.view;const n=t.editing.view;e.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\");e.stickyPanel.limiterElement=e.element;if(this._toolbarConfig.viewportTopOffset){e.stickyPanel.viewportTopOffset=this._toolbarConfig.viewportTopOffset}e.toolbar.fillFromConfig(this._toolbarConfig.items,this.componentFactory);Zp({origin:n,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e.toolbar})}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const o=t.sourceElement;const i=t.config.get(\"placeholder\")||o&&o.tagName.toLowerCase()===\"textarea\"&&o.getAttribute(\"placeholder\");if(i){ob({view:e,element:n,text:i,isDirectHost:false})}}}class fb extends As{constructor(t=[]){super(t,{idProperty:\"viewUid\"});this.on(\"add\",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)}));this.on(\"remove\",((t,e)=>{if(e.element&&this._parentElement){e.element.remove()}}));this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!mb(t)){throw new ss[\"b\"](\"ui-viewcollection-delegate-wrong-events\",this)}return{to:e=>{for(const n of this){for(const o of t){n.delegate(o).to(e)}}this.on(\"add\",((n,o)=>{for(const n of t){o.delegate(n).to(e)}}));this.on(\"remove\",((n,o)=>{for(const n of t){o.stopDelegating(n,e)}}))}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}}function mb(t){return t.every((t=>typeof t==\"string\"))}const gb=\"http://www.w3.org/1999/xhtml\";class pb{constructor(t){Object.assign(this,Pb(Eb(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=zb();this._renderNode({node:t,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new ss[\"b\"](\"ui-template-revert-not-applied\",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(Mb(n)){yield n}else if(Lb(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,o){return new kb({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:o})},if(n,o,i){return new wb({observable:t,emitter:e,attribute:n,valueIfTrue:o,callback:i})}}}static extend(t,e){if(t._isRendered){throw new ss[\"b\"](\"template-extend-render\",[this,t])}Nb(t,Pb(Eb(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new ss[\"b\"](\"ui-template-wrong-syntax\",this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||gb,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode(\"\")}if(_b(this.text)){this._bindToObservable({schema:this.text,updater:Ab(e),data:t})}else{e.textContent=this.text.join(\"\")}return e}_renderAttributes(t){let e,n,o,i;if(!this.attributes){return}const r=t.node;const s=t.revertData;for(e in this.attributes){o=r.getAttribute(e);n=this.attributes[e];if(s){s.attributes[e]=o}i=ct(n[0])&&n[0].ns?n[0].ns:null;if(_b(n)){const a=i?n[0].value:n;if(s&&jb(e)){a.unshift(o)}this._bindToObservable({schema:a,updater:yb(r,e,i),data:t})}else if(e==\"style\"&&typeof n[0]!==\"string\"){this._renderStyleAttribute(n[0],t)}else{if(s&&o&&jb(e)){n.unshift(o)}n=n.map((t=>t?t.value||t:t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Ib,\"\");if(!Fb(n)){r.setAttributeNS(i,e,n)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const o in t){const i=t[o];if(_b(i)){this._bindToObservable({schema:[i],updater:xb(n,o),data:e})}else{n.style[o]=i}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const o=t.isApplying;let i=0;for(const r of this.children){if(Vb(r)){if(!o){r.setParent(e);for(const t of r){n.appendChild(t.element)}}}else if(Mb(r)){if(!o){if(!r.isRendered){r.render()}n.appendChild(r.element)}}else if(Tu(r)){n.appendChild(r)}else{if(o){const e=t.revertData;const o=zb();e.children.push(o);r._renderNode({node:n.childNodes[i++],isApplying:true,revertData:o})}else{n.appendChild(r.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[o,i]=e.split(\"@\");return n.activateDomEventListener(o,i,t)}));if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const o=n.revertData;Cb(t,e,n);const i=t.filter((t=>!Fb(t))).filter((t=>t.observable)).map((o=>o.activateAttributeListener(t,e,n)));if(o){o.bindings.push(i)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}for(const n in e.attributes){const o=e.attributes[n];if(o===null){t.removeAttribute(n)}else{t.setAttribute(n,o)}}for(let n=0;nCb(t,e,n);this.emitter.listenTo(this.observable,\"change:\"+this.attribute,o);return()=>{this.emitter.stopListening(this.observable,\"change:\"+this.attribute,o)}}}class kb extends bb{activateDomEventListener(t,e,n){const o=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction==\"function\"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,o);return()=>{this.emitter.stopListening(n.node,t,o)}}}class wb extends bb{getValue(t){const e=super.getValue(t);return Fb(e)?false:this.valueIfTrue||true}}function _b(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(_b)}else if(t instanceof bb){return true}return false}function vb(t,e){return t.map((t=>{if(t instanceof bb){return t.getValue(e)}return t}))}function Cb(t,e,{node:n}){let o=vb(t,n);if(t.length==1&&t[0]instanceof wb){o=o[0]}else{o=o.reduce(Ib,\"\")}if(Fb(o)){e.remove()}else{e.set(o)}}function Ab(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function yb(t,e,n){return{set(o){t.setAttributeNS(n,e,o)},remove(){t.removeAttributeNS(n,e)}}}function xb(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Eb(t){const e=Wr(t,(t=>{if(t&&(t instanceof bb||Lb(t)||Mb(t)||Vb(t))){return t}}));return e}function Pb(t){if(typeof t==\"string\"){t=Db(t)}else if(t.text){Bb(t)}if(t.on){t.eventListeners=Tb(t.on);delete t.on}if(!t.text){if(t.attributes){Sb(t.attributes)}const e=[];if(t.children){if(Vb(t.children)){e.push(t.children)}else{for(const n of t.children){if(Lb(n)||Mb(n)||Tu(n)){e.push(n)}else{e.push(new pb(n))}}}}t.children=e}return t}function Sb(t){for(const e in t){if(t[e].value){t[e].value=[].concat(t[e].value)}Ob(t,e)}}function Tb(t){for(const e in t){Ob(t,e)}return t}function Db(t){return{text:[t]}}function Bb(t){if(!Array.isArray(t.text)){t.text=[t.text]}}function Ob(t,e){if(!Array.isArray(t[e])){t[e]=[t[e]]}}function Ib(t,e){if(Fb(e)){return t}else if(Fb(t)){return e}else{return`${t} ${e}`}}function Rb(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function Nb(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}Rb(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}Rb(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new ss[\"b\"](\"ui-template-extend-children-mismatch\",t)}let n=0;for(const o of e.children){Nb(t.children[n++],o)}}}function Fb(t){return!t&&t!==0}function Mb(t){return t instanceof Kb}function Lb(t){return t instanceof pb}function Vb(t){return t instanceof fb}function zb(){return{children:[],bindings:[],attributes:{}}}function jb(t){return t==\"class\"||t==\"style\"}var qb=n(15);class Kb{constructor(t){this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new As;this._unboundChildren=this.createCollection();this._viewCollections.on(\"add\",((e,n)=>{n.locale=t}));this.decorate(\"render\")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=pb.bind(this,this)}createCollection(t){const e=new fb(t);this._viewCollections.add(e);return e}registerChild(t){if(!vs(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!vs(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new pb(t)}extendTemplate(t){pb.extend(this.template,t)}render(){if(this.isRendered){throw new ss[\"b\"](\"ui-view-render-already-rendered\",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map((t=>t.destroy()));if(this.template&&this.template._revertData){this.template.revert(this.element)}}}Cs(Kb,Yu);Cs(Kb,Yc);var $b=\"[object String]\";function Gb(t){return typeof t==\"string\"||!Je(t)&&E(t)&&_(t)==$b}var Wb=Gb;function Ub(t,e,n={},o=[]){const i=n&&n.xmlns;const r=i?t.createElementNS(i,e):t.createElement(e);for(const t in n){r.setAttribute(t,n[t])}if(Wb(o)||!vs(o)){o=[o]}for(let e of o){if(Wb(e)){e=t.createTextNode(e)}r.appendChild(e)}return r}class Hb extends fb{constructor(t,e=[]){super(e);this.locale=t}attachToDom(){this._bodyCollectionContainer=new pb({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");if(!t){t=Ub(document,\"div\",{class:\"ck-body-wrapper\"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(\".ck-body-wrapper\");if(t&&t.childElementCount==0){t.remove()}}}var Jb=n(17);class Yb extends Kb{constructor(t){super(t);this.body=new Hb(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}var Qb=n(19);class Xb extends Kb{constructor(t){super(t);this.set(\"text\");this.set(\"for\");this.id=`ck-editor__label_${ns()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}class Zb extends Yb{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new Xb;e.text=t(\"Rich Text Editor\");e.extendTemplate({attributes:{class:\"ck-voice-label\"}});return e}}class tk extends Kb{constructor(t,e,n){super(t);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.name=null;this.set(\"isFocused\",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on(\"change:isFocused\",(()=>this._updateIsFocusedClasses()));this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",o);n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",o)}))}function n(o){t.once(\"change:isRenderingInProgress\",((t,i,r)=>{if(!r){e(o)}else{n(o)}}))}}}class ek extends tk{constructor(t,e,n){super(t,e,n);this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}})}render(){super.render();const t=this._editingView;const e=this.t;t.change((n=>{const o=t.document.getRoot(this.name);n.setAttribute(\"aria-label\",e(\"Rich Text Editor, %0\",[this.name]),o)}))}}function nk(t){return e=>e+t}var ok=n(21);const ik=nk(\"px\");class rk extends Kb{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",false);this.set(\"isSticky\",false);this.set(\"limiterElement\",null);this.set(\"limiterBottomOffset\",50);this.set(\"viewportTopOffset\",0);this.set(\"_marginLeft\",null);this.set(\"_isStickyToTheLimiter\",false);this.set(\"_hasViewportTopOffset\",false);this.content=this.createCollection();this._contentPanelPlaceholder=new pb({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",(t=>t?\"block\":\"none\")),height:e.to(\"isSticky\",(t=>t?ik(this._panelRect.height):null))}}}).render();this._contentPanel=new pb({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",(t=>t?ik(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to(\"_hasViewportTopOffset\",(t=>t?ik(this.viewportTopOffset):null)),bottom:e.to(\"_isStickyToTheLimiter\",(t=>t?ik(this.limiterBottomOffset):null)),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render();this._checkIfShouldBeSticky();this.listenTo(Lu.window,\"scroll\",(()=>{this._checkIfShouldBeSticky()}));this.listenTo(this,\"change:isActive\",(()=>{this._checkIfShouldBeSticky()}))}_checkIfShouldBeSticky(){const t=this._panelRect=this._contentPanel.getBoundingClientRect();let e;if(!this.limiterElement){this.isSticky=false}else{e=this._limiterRect=this.limiterElement.getBoundingClientRect();this.isSticky=this.isActive&&e.top{this[e]();n()}))}}}}get first(){return this.focusables.find(ak)||null}get last(){return this.focusables.filter(ak).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find(((e,n)=>{const o=e.element===this.focusTracker.focusedElement;if(o){t=n}return o}));return t}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){if(t){t.focus()}}_getFocusableItem(t){const e=this.current;const n=this.focusables.length;if(!n){return null}if(e===null){return this[t===1?\"first\":\"last\"]}let o=(e+n+t)%n;do{const e=this.focusables.get(o);if(ak(e)){return e}o=(o+n+t)%n}while(o!==e);return null}}function ak(t){return!!(t.focus&&Lu.window.getComputedStyle(t.element).display!=\"none\")}class ck extends Kb{constructor(t){super(t);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}const lk=100;class uk{constructor(t,e){if(!uk._observerInstance){uk._createObserver()}this._element=t;this._callback=e;uk._addElementCallback(t,e);uk._observerInstance.observe(t)}destroy(){uk._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){if(!uk._elementCallbacks){uk._elementCallbacks=new Map}let n=uk._elementCallbacks.get(t);if(!n){n=new Set;uk._elementCallbacks.set(t,n)}n.add(e)}static _deleteElementCallback(t,e){const n=uk._getElementCallbacks(t);if(n){n.delete(e);if(!n.size){uk._elementCallbacks.delete(t);uk._observerInstance.unobserve(t)}}if(uk._elementCallbacks&&!uk._elementCallbacks.size){uk._observerInstance=null;uk._elementCallbacks=null}}static _getElementCallbacks(t){if(!uk._elementCallbacks){return null}return uk._elementCallbacks.get(t)}static _createObserver(){let t;if(typeof Lu.window.ResizeObserver===\"function\"){t=Lu.window.ResizeObserver}else{t=dk}uk._observerInstance=new t((t=>{for(const e of t){const t=uk._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}}))}}uk._observerInstance=null;uk._elementCallbacks=null;class dk{constructor(t){this._callback=t;this._elements=new Set;this._previousRects=new Map;this._periodicCheckTimeout=null}observe(t){this._elements.add(t);this._checkElementRectsAndExecuteCallback();if(this._elements.size===1){this._startPeriodicCheck()}}unobserve(t){this._elements.delete(t);this._previousRects.delete(t);if(!this._elements.size){this._stopPeriodicCheck()}}_startPeriodicCheck(){const t=()=>{this._checkElementRectsAndExecuteCallback();this._periodicCheckTimeout=setTimeout(t,lk)};this.listenTo(Lu.window,\"resize\",(()=>{this._checkElementRectsAndExecuteCallback()}));this._periodicCheckTimeout=setTimeout(t,lk)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout);this.stopListening();this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const t=[];for(const e of this._elements){if(this._hasRectChanged(e)){t.push({target:e,contentRect:this._previousRects.get(e)})}}if(t.length){this._callback(t)}}_hasRectChanged(t){if(!t.ownerDocument.body.contains(t)){return false}const e=new Ph(t);const n=this._previousRects.get(t);const o=!n||!n.isEqual(e);this._previousRects.set(t,e);return o}}Cs(dk,Yu);function hk(t){return t.bindTemplate.to((e=>{if(e.target===t.element){e.preventDefault()}}))}class fk extends Kb{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",(t=>`ck-dropdown__panel_${t}`)),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")]},children:this.children,on:{selectstart:e.to((t=>t.preventDefault()))}})}focus(){if(this.children.length){this.children.first.focus()}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast===\"function\"){t.focusLast()}else{t.focus()}}}}var mk=n(23);function gk(t){if(!t||!t.parentNode){return null}if(t.offsetParent===Lu.document.body){return null}return t.offsetParent}function pk({element:t,target:e,positions:n,limiter:o,fitInViewport:i}){if(mt(e)){e=e()}if(mt(o)){o=o()}const r=gk(t);const s=new Ph(t);const a=new Ph(e);let c;let l;if(!o&&!i){[l,c]=bk(n[0],a,s)}else{const t=o&&new Ph(o).getVisible();const e=i&&new Ph(Lu.window);const r=kk(n,{targetRect:a,elementRect:s,limiterRect:t,viewportRect:e});[l,c]=r||bk(n[0],a,s)}let u=Ck(c);if(r){u=vk(u,r)}return{left:u.left,top:u.top,name:l}}function bk(t,e,n){const o=t(e,n);if(!o){return null}const{left:i,top:r,name:s}=o;return[s,n.clone().moveTo(i,r)]}function kk(t,e){const{elementRect:n,viewportRect:o}=e;const i=n.getArea();const r=wk(t,e);if(o){const t=r.filter((({viewportIntersectArea:t})=>t===i));const e=_k(t,i);if(e){return e}}return _k(r,i)}function wk(t,{targetRect:e,elementRect:n,limiterRect:o,viewportRect:i}){const r=[];const s=n.getArea();for(const a of t){const t=bk(a,e,n);if(!t){continue}const[c,l]=t;let u=0;let d=0;if(o){if(i){const t=o.getIntersection(i);if(t){u=t.getIntersectionArea(l)}}else{u=o.getIntersectionArea(l)}}if(i){d=i.getIntersectionArea(l)}const h={positionName:c,positionRect:l,limiterIntersectArea:u,viewportIntersectArea:d};if(u===s){return[h]}r.push(h)}return r}function _k(t,e){let n=0;let o;let i;for(const{positionName:r,positionRect:s,limiterIntersectArea:a,viewportIntersectArea:c}of t){if(a===e){return[r,s]}const t=c**2+a**2;if(t>n){n=t;o=s;i=r}}return o?[i,o]:null}function vk({left:t,top:e},n){const o=Ck(new Ph(n));const i=xh(n);t-=o.left;e-=o.top;t+=n.scrollLeft;e+=n.scrollTop;t-=i.left;e-=i.top;return{left:t,top:e}}function Ck({left:t,top:e}){const{scrollX:n,scrollY:o}=Lu.window;return{left:t+n,top:e+o}}class Ak extends Kb{constructor(t,e,n){super(t);const o=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"class\");this.set(\"id\");this.set(\"panelPosition\",\"auto\");this.keystrokes=new Lp;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",(t=>!t))],id:o.to(\"id\"),\"aria-describedby\":o.to(\"ariaDescribedById\")},children:[e,n]});e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"]}})}render(){super.render();this.listenTo(this.buttonView,\"open\",(()=>{this.isOpen=!this.isOpen}));this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.on(\"change:isOpen\",(()=>{if(!this.isOpen){return}if(this.panelPosition===\"auto\"){this.panelView.position=Ak._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions}).name}else{this.panelView.position=this.panelPosition}}));this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.buttonView.focus();this.isOpen=false;e()}};this.keystrokes.set(\"arrowdown\",((t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}}));this.keystrokes.set(\"arrowright\",((t,e)=>{if(this.isOpen){e()}}));this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:o}=Ak.defaultPanelPositions;if(this.locale.uiLanguageDirection===\"ltr\"){return[t,e,n,o]}else{return[e,t,o,n]}}}Ak.defaultPanelPositions={southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.bottom-e.height,left:t.left-e.width+t.width,name:\"nw\"})};Ak._getOptimalPosition=pk;var yk=n(25);class xk extends Kb{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\");this.set(\"viewBox\",\"0 0 20 20\");this.set(\"fillColor\",\"\");this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\"],viewBox:t.to(\"viewBox\")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on(\"change:content\",(()=>{this._updateXMLContent();this._colorFillPaths()}));this.on(\"change:fillColor\",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\");const e=t.querySelector(\"svg\");const n=e.getAttribute(\"viewBox\");if(n){this.viewBox=n}this.element.innerHTML=\"\";while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(\".ck-icon__fill\").forEach((t=>{t.style.fill=this.fillColor}))}}}var Ek=n(27);class Pk extends Kb{constructor(t){super(t);this.set(\"text\",\"\");this.set(\"position\",\"s\");const e=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip\",e.to(\"position\",(t=>\"ck-tooltip_\"+t)),e.if(\"text\",\"ck-hidden\",(t=>!t.trim()))]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:e.to(\"text\")}]}]})}}var Sk=n(29);class Tk extends Kb{constructor(t){super(t);const e=this.bindTemplate;const n=ns();this.set(\"class\");this.set(\"labelStyle\");this.set(\"icon\");this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isVisible\",true);this.set(\"isToggleable\",false);this.set(\"keystroke\");this.set(\"label\");this.set(\"tabindex\",-1);this.set(\"tooltip\");this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.set(\"withKeystroke\",false);this.children=this.createCollection();this.tooltipView=this._createTooltipView();this.labelView=this._createLabelView(n);this.iconView=new xk;this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}});this.keystrokeView=this._createKeystrokeView();this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this));this.setTemplate({tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),e.if(\"isVisible\",\"ck-hidden\",(t=>!t)),e.to(\"isOn\",(t=>t?\"ck-on\":\"ck-off\")),e.if(\"withText\",\"ck-button_with-text\"),e.if(\"withKeystroke\",\"ck-button_with-keystroke\")],type:e.to(\"type\",(t=>t?t:\"button\")),tabindex:e.to(\"tabindex\"),\"aria-labelledby\":`ck-editor__aria-label_${n}`,\"aria-disabled\":e.if(\"isEnabled\",true,(t=>!t)),\"aria-pressed\":e.to(\"isOn\",(t=>this.isToggleable?String(t):false))},children:this.children,on:{mousedown:e.to((t=>{t.preventDefault()})),click:e.to((t=>{if(this.isEnabled){this.fire(\"execute\")}else{t.preventDefault()}}))}})}render(){super.render();if(this.icon){this.iconView.bind(\"content\").to(this,\"icon\");this.children.add(this.iconView)}this.children.add(this.tooltipView);this.children.add(this.labelView);if(this.withKeystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}_createTooltipView(){const t=new Pk;t.bind(\"text\").to(this,\"_tooltipString\");t.bind(\"position\").to(this,\"tooltipPosition\");return t}_createLabelView(t){const e=new Kb;const n=this.bindTemplate;e.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:n.to(\"labelStyle\"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to(\"label\")}]});return e}_createKeystrokeView(){const t=new Kb;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",(t=>Ll(t)))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t==\"string\"){return t}else{if(n){n=Ll(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:\"\"}`}}}return\"\"}}var Dk='';class Bk extends Tk{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{\"aria-haspopup\":true}});this.delegate(\"execute\").to(this,\"open\")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new xk;t.content=Dk;t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}});return t}}var Ok=n(31);class Ik extends Kb{constructor(){super();this.items=this.createCollection();this.focusTracker=new Qp;this.keystrokes=new Lp;this._focusCycler=new sk({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}});this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]},children:this.items})}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class Rk extends Kb{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\"]},children:this.children})}focus(){this.children.first.focus()}}class Nk extends Kb{constructor(t){super(t);this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}var Fk=n(33);class Mk extends Tk{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Kb;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]});return t}}function Lk({emitter:t,activator:e,callback:n,contextElements:o}){t.listenTo(document,\"mousedown\",((t,i)=>{if(!e()){return}const r=typeof i.composedPath==\"function\"?i.composedPath():[];for(const t of o){if(t.contains(i.target)||r.includes(t)){return}}n()}))}var Vk=n(35);var zk=n(37);function jk(t,e=Bk){const n=new e(t);const o=new fk(t);const i=new Ak(t,n,o);n.bind(\"isEnabled\").to(i);if(n instanceof Bk){n.bind(\"isOn\").to(i,\"isOpen\")}else{n.arrowView.bind(\"isOn\").to(i,\"isOpen\")}$k(i);return i}function qk(t,e){const n=t.locale;const o=n.t;const i=t.toolbarView=new Yk(n);i.set(\"ariaLabel\",o(\"Dropdown toolbar\"));t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}});e.map((t=>i.items.add(t)));t.panelView.children.add(i);i.items.delegate(\"execute\").to(t)}function Kk(t,e){const n=t.locale;const o=t.listView=new Ik(n);o.items.bindTo(e).using((({type:t,model:e})=>{if(t===\"separator\"){return new Nk(n)}else if(t===\"button\"||t===\"switchbutton\"){const o=new Rk(n);let i;if(t===\"button\"){i=new Tk(n)}else{i=new Mk(n)}i.bind(...Object.keys(e)).to(e);i.delegate(\"execute\").to(o);o.children.add(i);return o}}));t.panelView.children.add(o);o.items.delegate(\"execute\").to(t)}function $k(t){Gk(t);Wk(t);Uk(t)}function Gk(t){t.on(\"render\",(()=>{Lk({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=false},contextElements:[t.element]})}))}function Wk(t){t.on(\"execute\",(e=>{if(e.source instanceof Mk){return}t.isOpen=false}))}function Uk(t){t.keystrokes.set(\"arrowdown\",((e,n)=>{if(t.isOpen){t.panelView.focus();n()}}));t.keystrokes.set(\"arrowup\",((e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}}))}var Hk='';var Jk=n(39);class Yk extends Kb{constructor(t,e){super(t);const n=this.bindTemplate;const o=this.t;this.options=e||{};this.set(\"ariaLabel\",o(\"Editor toolbar\"));this.set(\"maxWidth\",\"auto\");this.items=this.createCollection();this.focusTracker=new Qp;this.keystrokes=new Lp;this.set(\"class\");this.set(\"isCompact\",false);this.itemsView=new Qk(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();this._focusCycler=new sk({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[\"arrowleft\",\"arrowup\"],focusNext:[\"arrowright\",\"arrowdown\"]}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")],role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")}},children:this.children,on:{mousedown:hk(this)}});this._behavior=this.options.shouldGroupWhenFull?new Zk(this):new Xk(this)}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e){this.items.addMany(t.map((t=>{if(t==\"|\"){return new ck}else if(e.has(t)){return e.create(t)}else{console.warn(Object(ss[\"a\"])(\"toolbarview-item-unavailable\"),{name:t})}})).filter((t=>t!==undefined)))}}class Qk extends Kb{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class Xk{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",false);t.itemsView.children.bindTo(t.items).using((t=>t));t.focusables.bindTo(t.items).using((t=>t));t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class Zk{constructor(t){this.view=t;this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t));this.ungroupedItems.on(\"add\",this._updateFocusCycleableItems.bind(this));this.ungroupedItems.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.children.on(\"add\",this._updateFocusCycleableItems.bind(this));t.children.on(\"remove\",this._updateFocusCycleableItems.bind(this));t.items.on(\"change\",((t,e)=>{const n=e.index;for(const t of e.removed){if(n>=this.ungroupedItems.length){this.groupedItems.remove(t)}else{this.ungroupedItems.remove(t)}}for(let t=n;tthis.ungroupedItems.length){this.groupedItems.add(o,t-this.ungroupedItems.length)}else{this.ungroupedItems.add(o,t)}}this._updateGrouping()}));t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!this.viewElement.offsetParent){this.shouldUpdateGroupingOnNextResize=true;return}const t=this.groupedItems.length;let e;while(this._areItemsOverflowing){this._groupLastItem();e=true}if(!e&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}if(this.groupedItems.length!==t){this.view.fire(\"groupedItemsUpdate\")}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new Ph(t.lastChild);const o=new Ph(t);if(!this.cachedPadding){const n=Lu.window.getComputedStyle(t);const o=e===\"ltr\"?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[o])}if(e===\"ltr\"){return n.right>o.right-this.cachedPadding}else{return n.left{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}}));this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",(()=>{this._updateGrouping()}))}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new ck);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=jk(t);n.class=\"ck-toolbar__grouped-dropdown\";n.panelPosition=t.uiLanguageDirection===\"ltr\"?\"sw\":\"se\";qk(n,[]);n.buttonView.set({label:e(\"Show more items\"),tooltip:true,icon:Hk});n.toolbarView.items.bindTo(this.groupedItems).using((t=>t));return n}_updateFocusCycleableItems(){this.viewFocusables.clear();this.ungroupedItems.map((t=>{this.viewFocusables.add(t)}));if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}var tw=n(41);class ew extends Zb{constructor(t,e,n={}){super(t);this.stickyPanel=new rk(t);this.toolbar=new Yk(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});this.editable=new ek(t,e)}render(){super.render();this.stickyPanel.content.add(this.toolbar);this.top.add(this.stickyPanel);this.main.add(this.editable)}}function nw(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}class ow extends zp{constructor(t,e){super(e);if(Hr(t)){this.sourceElement=t}this.data.processor=new Hp(this.data.viewDocument);this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\");const o=new ew(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new hb(this,o);Wp(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise((n=>{const o=new this(t,e);n(o.initPlugins().then((()=>o.ui.init(Hr(t)?t:null))).then((()=>{if(!Hr(t)&&e.initialData){throw new ss[\"b\"](\"editor-create-initial-data\",null)}const n=e.initialData||iw(t);return o.data.init(n)})).then((()=>o.fire(\"ready\"))).then((()=>o)))}))}}Cs(ow,qp);Cs(ow,Gp);function iw(t){return Hr(t)?nw(t):t}class rw{constructor(t){this.editor=t;this.set(\"isEnabled\",true);this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",sw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",sw);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}Cs(rw,Yc);function sw(t){t.return=false;t.stop()}class aw{constructor(t){this.editor=t;this.set(\"value\",undefined);this.set(\"isEnabled\",false);this._disableStack=new Set;this.decorate(\"execute\");this.listenTo(this.editor.model.document,\"change\",(()=>{this.refresh()}));this.on(\"execute\",(t=>{if(!this.isEnabled){t.stop()}}),{priority:\"high\"});this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{if(n){this.forceDisabled(\"readOnlyMode\")}else{this.clearForceDisabled(\"readOnlyMode\")}}))}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",cw,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",cw);this.refresh()}}execute(){}destroy(){this.stopListening()}}Cs(aw,Yc);function cw(t){t.return=false;t.stop()}function lw(t){const e=t.next();if(e.done){return null}return e.value}const uw=[\"left\",\"right\",\"center\",\"justify\"];function dw(t){return uw.includes(t)}function hw(t,e){if(e.contentLanguageDirection==\"rtl\"){return t===\"right\"}else{return t===\"left\"}}const fw=\"alignment\";class mw extends aw{refresh(){const t=this.editor;const e=t.locale;const n=lw(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n);if(this.isEnabled&&n.hasAttribute(\"alignment\")){this.value=n.getAttribute(\"alignment\")}else{this.value=e.contentLanguageDirection===\"rtl\"?\"right\":\"left\"}}execute(t={}){const e=this.editor;const n=e.locale;const o=e.model;const i=o.document;const r=t.value;o.change((t=>{const e=Array.from(i.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t)));const o=e[0].getAttribute(\"alignment\");const s=hw(r,n)||o===r||!r;if(s){gw(e,t)}else{pw(e,t,r)}}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,fw)}}function gw(t,e){for(const n of t){e.removeAttribute(fw,n)}}function pw(t,e,n){for(const o of t){e.setAttribute(fw,n,o)}}class bw extends rw{static get pluginName(){return\"AlignmentEditing\"}constructor(t){super(t);t.config.define(\"alignment\",{options:[...uw]})}init(){const t=this.editor;const e=t.locale;const n=t.model.schema;const o=t.config.get(\"alignment.options\").filter(dw);n.extend(\"$block\",{allowAttributes:\"alignment\"});t.model.schema.setAttributeProperties(\"alignment\",{isFormatting:true});const i=kw(o.filter((t=>!hw(t,e))));t.conversion.attributeToAttribute(i);t.commands.add(\"alignment\",new mw(t))}}function kw(t){const e={model:{key:\"alignment\",values:t.slice()},view:{}};for(const n of t){e.view[n]={key:\"style\",value:{\"text-align\":n}}}return e}var ww='';var _w='';var vw='';var Cw='';const Aw=new Map([[\"left\",ww],[\"right\",_w],[\"center\",vw],[\"justify\",Cw]]);class yw extends rw{get localizedOptionTitles(){const t=this.editor.t;return{left:t(\"Align left\"),right:t(\"Align right\"),center:t(\"Align center\"),justify:t(\"Justify\")}}static get pluginName(){return\"AlignmentUI\"}init(){const t=this.editor;const e=t.ui.componentFactory;const n=t.t;const o=t.config.get(\"alignment.options\");o.filter(dw).forEach((t=>this._addButton(t)));e.add(\"alignment\",(t=>{const i=jk(t);const r=o.map((t=>e.create(`alignment:${t}`)));qk(i,r);i.buttonView.set({label:n(\"Text alignment\"),tooltip:true});i.toolbarView.isVertical=true;i.toolbarView.ariaLabel=n(\"Text alignment toolbar\");i.extendTemplate({attributes:{class:\"ck-alignment-dropdown\"}});const s=t.contentLanguageDirection===\"rtl\"?_w:ww;i.buttonView.bind(\"icon\").toMany(r,\"isOn\",((...t)=>{const e=t.findIndex((t=>t));if(e<0){return s}return r[e].icon}));i.bind(\"isEnabled\").toMany(r,\"isEnabled\",((...t)=>t.some((t=>t))));return i}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const o=e.commands.get(\"alignment\");const i=new Tk(n);i.set({label:this.localizedOptionTitles[t],icon:Aw.get(t),tooltip:true,isToggleable:true});i.bind(\"isEnabled\").to(o);i.bind(\"isOn\").to(o,\"value\",(e=>e===t));this.listenTo(i,\"execute\",(()=>{e.execute(\"alignment\",{value:t});e.editing.view.focus()}));return i}))}}class xw extends rw{static get requires(){return[bw,yw]}static get pluginName(){return\"Alignment\"}}class Ew extends aw{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const o=n.selection;const i=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(o.isCollapsed){if(i){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const e of n){if(i){t.setAttribute(this.attributeKey,i,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const Pw=\"bold\";class Sw extends rw{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:Pw});t.model.schema.setAttributeProperties(Pw,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:Pw,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");if(!e){return null}if(e==\"bold\"||Number(e)>=600){return{name:true,styles:[\"font-weight\"]}}}]});t.commands.add(Pw,new Ew(t,Pw));t.keystrokes.set(\"CTRL+B\",Pw)}}var Tw='';const Dw=\"bold\";class Bw extends rw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(Dw,(n=>{const o=t.commands.get(Dw);const i=new Tk(n);i.set({label:e(\"Bold\"),icon:Tw,keystroke:\"CTRL+B\",tooltip:true,isToggleable:true});i.bind(\"isOn\",\"isEnabled\").to(o,\"value\",\"isEnabled\");this.listenTo(i,\"execute\",(()=>{t.execute(Dw);t.editing.view.focus()}));return i}))}}class Ow extends rw{static get requires(){return[Sw,Bw]}static get pluginName(){return\"Bold\"}}class Iw{constructor(t){this.files=Rw(t);this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}}function Rw(t){const e=t.files?Array.from(t.files):[];const n=t.items?Array.from(t.items):[];if(e.length){return e}return n.filter((t=>t.kind===\"file\")).map((t=>t.getAsFile()))}class Nw extends eh{constructor(t){super(t);const e=this.document;this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\"];this.listenTo(e,\"paste\",n,{priority:\"low\"});this.listenTo(e,\"drop\",n,{priority:\"low\"});function n(t,n){n.preventDefault();const o=n.dropRange?[n.dropRange]:Array.from(e.selection.getRanges());const i=new ts(e,\"clipboardInput\");e.fire(i,{dataTransfer:n.dataTransfer,targetRanges:o});if(i.stop.called){n.stopPropagation()}}}onDomEvent(t){const e={dataTransfer:new Iw(t.clipboardData?t.clipboardData:t.dataTransfer)};if(t.type==\"drop\"){e.dropRange=Fw(this.view,t)}this.fire(t.type,t,e)}}function Fw(t,e){const n=e.target.ownerDocument;const o=e.clientX;const i=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)){r=n.caretRangeFromPoint(o,i)}else if(e.rangeParent){r=n.createRange();r.setStart(e.rangeParent,e.rangeOffset);r.collapse(true)}if(r){return t.domConverter.domRangeToView(r)}else{return t.document.selection.getFirstRange()}}class Mw extends rw{static get pluginName(){return\"PastePlainText\"}init(){const t=this.editor.editing.view;const e=t.document;let n=false;t.addObserver(Nw);this.listenTo(e,\"keydown\",((t,e)=>{n=e.shiftKey}));this.listenTo(e,\"clipboardInput\",((t,e)=>{if(n){e.asPlainText=true}}),{priority:\"high\"})}}function Lw(t){t=t.replace(//g,\">\").replace(/\\r?\\n\\r?\\n/g,\"

\").replace(/\\r?\\n/g,\"
\").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\"  \");if(t.includes(\"

\")||t.includes(\"
\")){t=`

${t}

`}return t}function Vw(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>{if(e.length==1){return\" \"}return e}))}const zw=[\"figcaption\",\"li\"];function jw(t){let e=\"\";if(t.is(\"$text\")||t.is(\"$textProxy\")){e=t.data}else if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\")){e=t.getAttribute(\"alt\")}else if(t.is(\"element\",\"br\")){e=\"\\n\"}else{let n=null;for(const o of t.getChildren()){const t=jw(o);if(n&&(n.is(\"containerElement\")||o.is(\"containerElement\"))){if(zw.includes(n.name)||zw.includes(o.name)){e+=\"\\n\"}else{e+=\"\\n\\n\"}}e+=t;n=o}}return e}class qw extends rw{static get pluginName(){return\"Clipboard\"}static get requires(){return[Mw]}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const o=n.document;this._htmlDataProcessor=new Hp(o);n.addObserver(Nw);this.listenTo(o,\"clipboardInput\",(e=>{if(t.isReadOnly){e.stop()}}),{priority:\"highest\"});this.listenTo(o,\"clipboardInput\",((t,e)=>{const o=e.dataTransfer;let i=\"\";if(o.getData(\"text/html\")){i=Vw(o.getData(\"text/html\"))}else if(o.getData(\"text/plain\")){i=Lw(o.getData(\"text/plain\"))}i=this._htmlDataProcessor.toView(i);const r=new ts(this,\"inputTransformation\");this.fire(r,{content:i,dataTransfer:o,asPlainText:e.asPlainText});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:\"low\"});this.listenTo(this,\"inputTransformation\",((n,o)=>{if(!o.content.isEmpty){const i=this.editor.data;const r=this.editor.model;const s=i.toModel(o.content,\"$clipboardHolder\");if(s.childCount==0){return}if(o.asPlainText||Kw(s)){const n=new Map(Array.from(e.selection.getAttributes()).filter((e=>t.model.schema.getAttributeProperties(e[0]).isFormatting)));r.change((t=>{const e=t.createRangeIn(s);for(const o of e.getItems()){if(o.is(\"$text\")||o.is(\"$textProxy\")){t.setAttributes(n,o)}}}))}r.insertContent(s);n.stop()}}),{priority:\"low\"});function i(n,i){const r=i.dataTransfer;i.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));o.fire(\"clipboardOutput\",{dataTransfer:r,content:s,method:n.name})}this.listenTo(o,\"copy\",i,{priority:\"low\"});this.listenTo(o,\"cut\",((e,n)=>{if(t.isReadOnly){n.preventDefault()}else{i(e,n)}}),{priority:\"low\"});this.listenTo(o,\"clipboardOutput\",((n,o)=>{if(!o.content.isEmpty){o.dataTransfer.setData(\"text/html\",this._htmlDataProcessor.toData(o.content));o.dataTransfer.setData(\"text/plain\",jw(o.content))}if(o.method==\"cut\"){t.model.deleteContent(e.selection)}}),{priority:\"low\"})}}function Kw(t){if(t.childCount>1){return false}const e=t.getChild(0);return[...e.getAttributeKeys()].length==0}function*$w(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class Gw extends aw{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{Ww(this.editor.model,n,e.selection,t.schema);this.fire(\"afterExecute\",{writer:n})}))}}function Ww(t,e,n,o){const i=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(o.isLimit(s)||o.isLimit(a)){if(!i&&s==a){t.deleteContent(n)}return}if(i){const t=$w(e.model.schema,n.getAttributes());Uw(e,r.start);e.setSelectionAttribute(t)}else{const o=!(r.start.isAtStart&&r.end.isAtEnd);const i=s==a;t.deleteContent(n,{leaveUnmerged:o});if(o){if(i){Uw(e,n.focus)}else{e.setSelection(a,0)}}}}function Uw(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}class Hw extends Zu{constructor(t){super(t);const e=this.document;e.on(\"keydown\",((t,n)=>{if(this.isEnabled&&n.keyCode==Nl.enter){let o;e.once(\"enter\",(t=>o=t),{priority:\"highest\"});e.fire(\"enter\",new th(e,n.domEvent,{isSoft:n.shiftKey}));if(o&&o.stop.called){t.stop()}}}))}observe(){}}class Jw extends rw{static get pluginName(){return\"Enter\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(Hw);t.commands.add(\"enter\",new Gw(t));this.listenTo(n,\"enter\",((n,o)=>{o.preventDefault();if(o.isSoft){return}t.execute(\"enter\");e.scrollToTheSelection()}),{priority:\"low\"})}}class Yw extends aw{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{Xw(t,n,e.selection);this.fire(\"afterExecute\",{writer:n})}))}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=Qw(t.schema,e.selection)}}function Qw(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\")){return false}const o=e.getFirstRange();const i=o.start.parent;const r=o.end.parent;if((t_(i,t)||t_(r,t))&&i!==r){return false}return true}function Xw(t,e,n){const o=n.isCollapsed;const i=n.getFirstRange();const r=i.start.parent;const s=i.end.parent;const a=r==s;if(o){const o=$w(t.schema,n.getAttributes());Zw(t,e,i.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o});if(a){Zw(t,e,n.focus)}else{if(o){e.setSelection(s,0)}}}}function Zw(t,e,n){const o=e.createElement(\"softBreak\");t.insertContent(o,n);e.setSelection(o,\"after\")}function t_(t,e){if(t.is(\"rootElement\")){return false}return e.isLimit(t)||t_(t.parent,e)}class e_ extends rw{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const o=t.editing.view;const i=o.document;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:true});n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"});n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,{writer:e})=>e.createEmptyElement(\"br\")});o.addObserver(Hw);t.commands.add(\"shiftEnter\",new Yw(t));this.listenTo(i,\"enter\",((e,n)=>{n.preventDefault();if(!n.isSoft){return}t.execute(\"shiftEnter\");o.scrollToTheSelection()}),{priority:\"low\"})}}class n_ extends aw{execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!o_(t.schema,n)){do{n=n.parent;if(!n){return}}while(!o_(t.schema,n))}t.change((t=>{t.setSelection(n,\"in\")}))}}function o_(t,e){return t.isLimit(e)&&(t.checkChild(e,\"$text\")||t.checkChild(e,\"paragraph\"))}const i_=Ml(\"Ctrl+A\");class r_ extends rw{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add(\"selectAll\",new n_(t));this.listenTo(n,\"keydown\",((e,n)=>{if(Fl(n)===i_){t.execute(\"selectAll\");n.preventDefault()}}))}}var s_='';class a_ extends rw{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",(e=>{const n=t.commands.get(\"selectAll\");const o=new Tk(e);const i=e.t;o.set({label:i(\"Select all\"),icon:s_,keystroke:\"Ctrl+A\",tooltip:true});o.bind(\"isOn\",\"isEnabled\").to(n,\"value\",\"isEnabled\");this.listenTo(o,\"execute\",(()=>{t.execute(\"selectAll\");t.editing.view.focus()}));return o}))}}class c_ extends rw{static get requires(){return[r_,a_]}static get pluginName(){return\"SelectAll\"}}class l_{constructor(t,e=20){this.model=t;this.size=0;this.limit=e;this.isLocked=false;this._changeCallback=(t,e)=>{if(e.type!=\"transparent\"&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on(\"change\",this._changeCallback);this.model.document.selection.on(\"change:range\",this._selectionChangeCallback);this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch()}return this._batch}input(t){this.size+=t;if(this.size>=this.limit){this._reset(true)}}lock(){this.isLocked=true}unlock(){this.isLocked=false}destroy(){this.model.document.off(\"change\",this._changeCallback);this.model.document.selection.off(\"change:range\",this._selectionChangeCallback);this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t){if(!this.isLocked||t){this._batch=null;this.size=0}}}class u_ extends aw{constructor(t,e){super(t);this._buffer=new l_(t.model,e);this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const o=t.text||\"\";const i=o.length;const r=t.range?e.createSelection(t.range):n.selection;const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();this._batches.add(this._buffer.batch);e.deleteContent(r);if(o){e.insertContent(t.createText(o,n.selection.getAttributes()),r)}if(s){t.setSelection(s)}else if(!r.is(\"documentSelection\")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(i)}))}}function d_(t){let e=null;const n=t.model;const o=t.editing.view;const i=t.commands.get(\"input\");if(El.isAndroid){o.document.on(\"beforeinput\",((t,e)=>r(e)),{priority:\"lowest\"})}else{o.document.on(\"keydown\",((t,e)=>r(e)),{priority:\"lowest\"})}o.document.on(\"compositionstart\",s,{priority:\"lowest\"});o.document.on(\"compositionend\",(()=>{e=n.createSelection(n.document.selection)}),{priority:\"lowest\"});function r(t){const r=n.document;const s=o.document.isComposing;const c=e&&e.isEqual(r.selection);e=null;if(!i.isEnabled){return}if(f_(t)||r.selection.isCollapsed){return}if(s&&t.keyCode===229){return}if(!s&&t.keyCode===229&&c){return}a()}function s(){const t=n.document;const e=t.selection.rangeCount===1?t.selection.getFirstRange().isFlat:true;if(t.selection.isCollapsed||e){return}a()}function a(){const t=i.buffer;t.lock();const e=t.batch;i._batches.add(e);n.enqueueChange(e,(()=>{n.deleteContent(n.document.selection)}));t.unlock()}}const h_=[Fl(\"arrowUp\"),Fl(\"arrowRight\"),Fl(\"arrowDown\"),Fl(\"arrowLeft\"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let t=112;t<=135;t++){h_.push(t)}function f_(t){if(t.ctrlKey){return true}return h_.includes(t.keyCode)}function m_(t,e){const n=[];let o=0;let i;t.forEach((t=>{if(t==\"equal\"){r();o++}else if(t==\"insert\"){if(s(\"insert\")){i.values.push(e[o])}else{r();i={type:\"insert\",index:o,values:[e[o]]}}o++}else{if(s(\"delete\")){i.howMany++}else{r();i={type:\"delete\",index:o,howMany:1}}}}));r();return n;function r(){if(i){n.push(i);i=null}}function s(t){return i&&i.type==t}}function g_(t){if(t.length==0){return false}for(const e of t){if(e.type===\"children\"&&!p_(e)){return true}}return false}function p_(t){if(t.newChildren.length-t.oldChildren.length!=1){return}const e=Eu(t.oldChildren,t.newChildren,b_);const n=m_(e,t.newChildren);if(n.length>1){return}const o=n[0];if(!(!!o.values[0]&&o.values[0].is(\"$text\"))){return}return o}function b_(t,e){if(!!t&&t.is(\"$text\")&&!!e&&e.is(\"$text\")){return t.data===e.data}else{return t===e}}function k_(t){t.editing.view.document.on(\"mutations\",((e,n,o)=>{new w_(t).handle(n,o)}))}class w_{constructor(t){this.editor=t;this.editing=this.editor.editing}handle(t,e){if(g_(t)){this._handleContainerChildrenMutations(t,e)}else{for(const n of t){this._handleTextMutation(n,e);this._handleTextNodeInsertion(n)}}}_handleContainerChildrenMutations(t,e){const n=__(t);if(!n){return}const o=this.editor.editing.view.domConverter;const i=o.mapViewToDom(n);const r=new Ku(this.editor.editing.view.document);const s=this.editor.data.toModel(r.domToView(i)).getChild(0);const a=this.editor.editing.mapper.toModelElement(n);if(!a){return}const c=Array.from(s.getChildren());const l=Array.from(a.getChildren());const u=c[c.length-1];const d=l[l.length-1];const h=u&&u.is(\"element\",\"softBreak\");const f=d&&!d.is(\"element\",\"softBreak\");if(h&&f){c.pop()}const m=this.editor.model.schema;if(!v_(c,m)||!v_(l,m)){return}const g=c.map((t=>t.is(\"$text\")?t.data:\"@\")).join(\"\").replace(/\\u00A0/g,\" \");const p=l.map((t=>t.is(\"$text\")?t.data:\"@\")).join(\"\").replace(/\\u00A0/g,\" \");if(p===g){return}const b=Eu(p,g);const{firstChangeAt:k,insertions:w,deletions:_}=C_(b);let v=null;if(e){v=this.editing.mapper.toModelRange(e.getFirstRange())}const C=g.substr(k,w);const A=this.editor.model.createRange(this.editor.model.createPositionAt(a,k),this.editor.model.createPositionAt(a,k+_));this.editor.execute(\"input\",{text:C,range:A,resultRange:v})}_handleTextMutation(t,e){if(t.type!=\"text\"){return}const n=t.newText.replace(/\\u00A0/g,\" \");const o=t.oldText.replace(/\\u00A0/g,\" \");if(o===n){return}const i=Eu(o,n);const{firstChangeAt:r,insertions:s,deletions:a}=C_(i);let c=null;if(e){c=this.editing.mapper.toModelRange(e.getFirstRange())}const l=this.editing.view.createPositionAt(t.node,r);const u=this.editing.mapper.toModelPosition(l);const d=this.editor.model.createRange(u,u.getShiftedBy(a));const h=n.substr(r,s);this.editor.execute(\"input\",{text:h,range:d,resultRange:c})}_handleTextNodeInsertion(t){if(t.type!=\"children\"){return}const e=p_(t);const n=this.editing.view.createPositionAt(t.node,e.index);const o=this.editing.mapper.toModelPosition(n);const i=e.values[0].data;this.editor.execute(\"input\",{text:i.replace(/\\u00A0/g,\" \"),range:this.editor.model.createRange(o)})}}function __(t){const e=t.map((t=>t.node)).reduce(((t,e)=>t.getCommonAncestor(e,{includeSelf:true})));if(!e){return}return e.getAncestors({includeSelf:true,parentFirst:true}).find((t=>t.is(\"containerElement\")||t.is(\"rootElement\")))}function v_(t,e){return t.every((t=>e.isInline(t)))}function C_(t){let e=null;let n=null;for(let o=0;o{this._buffer.lock();const i=o.createSelection(t.selection||n.selection);const r=i.isCollapsed;if(i.isCollapsed){e.modifySelection(i,{direction:this.direction,unit:t.unit})}if(this._shouldEntireContentBeReplacedWithParagraph(t.sequence||1)){this._replaceEntireContentWithParagraph(o);return}if(i.isCollapsed){return}let s=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{s+=ml(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))}));e.deleteContent(i,{doNotResetEntireContent:r,direction:this.direction});this._buffer.input(s);o.setSelection(i);this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=o.isCollapsed&&o.containsEntireContent(i);if(!r){return false}if(!e.schema.checkChild(i,\"paragraph\")){return false}const s=i.getChild(0);if(s&&s.name===\"paragraph\"){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=t.createElement(\"paragraph\");t.remove(t.createRangeIn(i));t.insert(r,i);t.setSelection(r,0)}}class x_ extends Zu{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keyup\",((t,e)=>{if(e.keyCode==Nl.delete||e.keyCode==Nl.backspace){n=0}}));e.on(\"keydown\",((t,e)=>{const i={};if(e.keyCode==Nl.delete){i.direction=\"forward\";i.unit=\"character\"}else if(e.keyCode==Nl.backspace){i.direction=\"backward\";i.unit=\"codePoint\"}else{return}const r=El.isMac?e.altKey:e.ctrlKey;i.unit=r?\"word\":i.unit;i.sequence=++n;o(t,e.domEvent,i)}));if(El.isAndroid){e.on(\"beforeinput\",((e,n)=>{if(n.domEvent.inputType!=\"deleteContentBackward\"){return}const i={unit:\"codepoint\",direction:\"backward\",sequence:1};const r=n.domTarget.ownerDocument.defaultView.getSelection();if(r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset){i.selectionToRemove=t.domConverter.domSelectionToView(r)}o(e,n.domEvent,i)}))}function o(t,n,o){let i;e.once(\"delete\",(t=>i=t),{priority:Number.POSITIVE_INFINITY});e.fire(\"delete\",new th(e,n,o));if(i&&i.stop.called){t.stop()}}}observe(){}}class E_ extends rw{static get pluginName(){return\"Delete\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(x_);t.commands.add(\"forwardDelete\",new y_(t,\"forward\"));t.commands.add(\"delete\",new y_(t,\"backward\"));this.listenTo(n,\"delete\",((n,o)=>{const i={unit:o.unit,sequence:o.sequence};if(o.selectionToRemove){const e=t.model.createSelection();const n=[];for(const e of o.selectionToRemove.getRanges()){n.push(t.editing.mapper.toModelRange(e))}e.setTo(n);i.selection=e}t.execute(o.direction==\"forward\"?\"forwardDelete\":\"delete\",i);o.preventDefault();e.scrollToTheSelection()}));if(El.isAndroid){let t=null;this.listenTo(n,\"delete\",((e,n)=>{const o=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}}),{priority:\"lowest\"});this.listenTo(n,\"keyup\",((e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset);e.extend(t.focusNode,t.focusOffset);t=null}}))}}}class P_ extends rw{static get requires(){return[A_,E_]}static get pluginName(){return\"Typing\"}}const S_=new Map;function T_(t,e,n){let o=S_.get(t);if(!o){o=new Map;S_.set(t,o)}o.set(e,n)}function D_(t,e){const n=S_.get(t);if(n&&n.has(e)){return n.get(e)}return B_}function B_(t){return[t]}function O_(t,e,n={}){const o=D_(t.constructor,e.constructor);try{t=t.clone();return o(t,e,n)}catch(t){throw t}}function I_(t,e,n){t=t.slice();e=e.slice();const o=new R_(n.document,n.useRelations,n.forceWeakRemove);o.setOriginalOperations(t);o.setOriginalOperations(e);const i=o.originalOperations;if(t.length==0||e.length==0){return{operationsA:t,operationsB:e,originalOperations:i}}const r=new WeakMap;for(const e of t){r.set(e,0)}const s={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;while(a{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const o=t.range.getDifference(e.range).map((e=>new kg(e,t.key,t.oldValue,t.newValue,0)));const i=t.range.getIntersection(e.range);if(i){if(n.aIsStrong){o.push(new kg(i,e.key,e.newValue,t.newValue,0))}}if(o.length==0){return[new Jg(0)]}return o}else{return[t]}}));T_(kg,vg,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const o=n.map((e=>new kg(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const n=M_(e,t.key,t.oldValue);if(n){o.unshift(n)}}return o}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]}));function M_(t,e,n){const o=t.nodes;const i=o.getNode(0).getAttribute(e);if(i==n){return null}const r=new ef(t.position,t.position.getShiftedBy(t.howMany));return new kg(r,e,i,n,0)}T_(kg,xg,((t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(ef._createFromPositionAndShift(e.graveyardPosition,1))}}const o=t.range._getTransformedByMergeOperation(e);if(!o.isCollapsed){n.push(o)}return n.map((e=>new kg(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));T_(kg,_g,((t,e)=>{const n=L_(t.range,e);return n.map((e=>new kg(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));function L_(t,e){const n=ef._createFromPositionAndShift(e.sourcePosition,e.howMany);let o=null;let i=[];if(n.containsRange(t,true)){o=t}else if(t.start.hasSameParentAs(n.start)){i=t.getDifference(n);o=t.getIntersection(n)}else{i=[t]}const r=[];for(let t of i){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const o=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,o);r.push(...t)}if(o){r.push(o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return r}T_(kg,Eg,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new ef(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness=\"toPrevious\";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]}));T_(vg,kg,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const o=M_(t,e.key,e.newValue);if(o){n.push(o)}}return n}));T_(vg,vg,((t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]}));T_(vg,_g,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));T_(vg,Eg,((t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]}));T_(vg,xg,((t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]}));T_(Cg,vg,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]}));T_(Cg,Cg,((t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Jg(0)]}}return[t]}));T_(Cg,xg,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]}));T_(Cg,_g,((t,e,n)=>{if(t.oldRange){t.oldRange=ef._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const o=ef._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side==\"left\"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.start.path=n.abRelation.path;t.newRange.end=o.end;return[t]}else if(n.abRelation.side==\"right\"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=o.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=ef._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]}));T_(Cg,Eg,((t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const o=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=Qh._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=Qh._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=Qh._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=Qh._createAt(e.insertionPosition)}else{t.newRange.end=o.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]}));T_(xg,vg,((t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]}));T_(xg,xg,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Jg(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new Qh(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!=\"splitAtSource\"){const o=t.targetPosition.root.rootName==\"$graveyard\";const i=e.targetPosition.root.rootName==\"$graveyard\";const r=o&&!i;const s=i&&!o;const a=s||!r&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const o=t.targetPosition._getTransformedByMergeOperation(e);return[new _g(n,t.howMany,o,0)]}else{return[new Jg(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));T_(xg,_g,((t,e,n)=>{const o=ef._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition)){return[new Jg(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]}));T_(xg,Eg,((t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const o=e.howMany!=0;const i=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(o||i||n.abRelation==\"mergeTargetNotMoved\"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation==\"mergeSourceNotMoved\"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation==\"mergeSameElement\"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}));T_(_g,vg,((t,e)=>{const n=ef._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=o.start;t.howMany=o.end.offset-o.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]}));T_(_g,_g,((t,e,n)=>{const o=ef._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=ef._createFromPositionAndShift(e.sourcePosition,e.howMany);let r=n.aIsStrong;let s=!n.aIsStrong;if(n.abRelation==\"insertBefore\"||n.baRelation==\"insertAfter\"){s=true}else if(n.abRelation==\"insertAfter\"||n.baRelation==\"insertBefore\"){s=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&s){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(V_(t,e)&&V_(e,t)){return[e.getReversed()]}const c=o.containsPosition(e.targetPosition);if(c&&o.containsRange(i,true)){o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return z_([o],a)}const l=i.containsPosition(t.targetPosition);if(l&&i.containsRange(o,true)){o.start=o.start._getCombined(e.sourcePosition,e.getMovedRangeStart());o.end=o.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return z_([o],a)}const u=Ns(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(u==\"prefix\"||u==\"extension\"){o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return z_([o],a)}if(t.type==\"remove\"&&e.type!=\"remove\"&&!n.aWasUndone&&!n.forceWeakRemove){r=true}else if(t.type!=\"remove\"&&e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){r=false}const d=[];const h=o.getDifference(i);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Ns(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())==\"same\";const o=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);d.push(...o)}const f=o.getIntersection(i);if(f!==null&&r){f.start=f.start._getCombined(e.sourcePosition,e.getMovedRangeStart());f.end=f.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(d.length===0){d.push(f)}else if(d.length==1){if(i.start.isBefore(o.start)||i.start.isEqual(o.start)){d.unshift(f)}else{d.push(f)}}else{d.splice(1,0,f)}}if(d.length===0){return[new Jg(t.baseVersion)]}return z_(d,a)}));T_(_g,Eg,((t,e,n)=>{let o=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation==\"moveTargetAfter\"){o=t.targetPosition._getTransformedBySplitOperation(e)}const i=ef._createFromPositionAndShift(t.sourcePosition,t.howMany);if(i.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=o;return[t]}if(i.start.hasSameParentAs(e.splitPosition)&&i.containsPosition(e.splitPosition)){let t=new ef(e.splitPosition,i.end);t=t._getTransformedBySplitOperation(e);const n=[new ef(i.start,e.splitPosition),t];return z_(n,o)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation==\"insertAtSource\"){o=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation==\"insertBetween\"){o=t.targetPosition}const r=i._getTransformedBySplitOperation(e);const s=[r];if(e.graveyardPosition){const o=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);if(t.howMany>1&&o&&!n.aWasUndone){s.push(ef._createFromPositionAndShift(e.insertionPosition,1))}}return z_(s,o)}));T_(_g,xg,((t,e,n)=>{const o=ef._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition)){if(t.type==\"remove\"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let o=e.graveyardPosition.clone();let i=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new _g(t.sourcePosition,t.howMany-1,t.targetPosition,0));o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const s=new _g(o,1,r,0);const a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Qh(s.targetPosition.root,a);i=i._getTransformedByMove(o,r,1);const l=new _g(i,e.howMany,c,0);n.push(s);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Jg(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const i=ef._createFromPositionAndShift(t.sourcePosition,t.howMany);const r=i._getTransformedByMergeOperation(e);t.sourcePosition=r.start;t.howMany=r.end.offset-r.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}));T_(Ag,vg,((t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]}));T_(Ag,xg,((t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness=\"toNext\";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]}));T_(Ag,_g,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));T_(Ag,Ag,((t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Jg(0)]}}return[t]}));T_(Ag,Eg,((t,e)=>{const n=t.position.path;const o=e.splitPosition.getParentPath();if(Ns(n,o)==\"same\"&&!e.graveyardPosition){const e=new Ag(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]}));T_(yg,yg,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Jg(0)]}else{t.oldValue=e.newValue}}return[t]}));T_(Eg,vg,((t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const o=new Qh(e.graveyardPosition.root,n);const i=Eg.getInsertionPosition(new Qh(e.graveyardPosition.root,n));const r=new Eg(o,0,null,0);r.insertionPosition=i;t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=Eg.getInsertionPosition(t.splitPosition);t.graveyardPosition=r.insertionPosition.clone();t.graveyardPosition.stickiness=\"toNext\";return[r,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=Eg.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));T_(Eg,_g,((t,e,n)=>{const o=ef._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const i=o.start.isEqual(t.graveyardPosition)||o.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&i){const n=t.splitPosition._getTransformedByMoveOperation(e);const o=t.graveyardPosition._getTransformedByMoveOperation(e);const i=o.path.slice();i.push(0);const r=new Qh(o.root,i);const s=new _g(n,t.howMany,r,0);return[s]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Jg(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Jg(0)]}if(n.abRelation==\"splitBefore\"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const o=t.splitPosition.root.rootName==\"$graveyard\";const i=e.splitPosition.root.rootName==\"$graveyard\";const r=o&&!i;const s=i&&!o;const a=s||!r&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new _g(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new _g(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Jg(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation==\"splitBefore\"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation==\"splitBefore\"){const n=e.insertionPosition.path.slice();n.push(0);const o=new Qh(e.insertionPosition.root,n);const i=new _g(t.insertionPosition,1,o,0);return[t,i]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offsetthis.clearStack()))}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model;const i=o.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>!K_(t,a)));q_(e);const n=e.find((t=>t.root!=i.graveyard));if(n){r.push(n)}}if(r.length){o.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1;const r=Array.from(o.history.getOperations(i));const s=I_([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(const i of a){e.addOperation(i);n.applyOperation(i);o.history.setOperationAsUndone(t,i)}}}}function q_(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class $_ extends j_{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const o=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t);this.fire(\"revert\",n.batch,o)}));this.refresh()}}class G_ extends j_{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const o=n.baseVersion+1;const i=this.editor.model.document.history.getOperations(o);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i);this._undo(t.batch,e)}));this.refresh()}}class W_ extends rw{static get pluginName(){return\"UndoEditing\"}constructor(t){super(t);this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new $_(t);this._redoCommand=new G_(t);t.commands.add(\"undo\",this._undoCommand);t.commands.add(\"redo\",this._redoCommand);this.listenTo(t.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const o=n.batch;const i=this._redoCommand._createdBatches.has(o);const r=this._undoCommand._createdBatches.has(o);const s=this._batchRegistry.has(o);if(s||o.type==\"transparent\"&&!i&&!r){return}else{if(i){this._undoCommand.addBatch(o)}else if(!r){this._undoCommand.addBatch(o);this._redoCommand.clearStack()}}this._batchRegistry.add(o)}),{priority:\"highest\"});this.listenTo(this._undoCommand,\"revert\",((t,e,n)=>{this._redoCommand.addBatch(n)}));t.keystrokes.set(\"CTRL+Z\",\"undo\");t.keystrokes.set(\"CTRL+Y\",\"redo\");t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\")}}var U_='';var H_='';class J_ extends rw{init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection==\"ltr\"?U_:H_;const i=e.uiLanguageDirection==\"ltr\"?H_:U_;this._addButton(\"undo\",n(\"Undo\"),\"CTRL+Z\",o);this._addButton(\"redo\",n(\"Redo\"),\"CTRL+Y\",i)}_addButton(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(r=>{const s=i.commands.get(t);const a=new Tk(r);a.set({label:e,icon:o,keystroke:n,tooltip:true});a.bind(\"isEnabled\").to(s,\"isEnabled\");this.listenTo(a,\"execute\",(()=>{i.execute(t);i.editing.view.focus()}));return a}))}}class Y_ extends rw{static get requires(){return[W_,J_]}static get pluginName(){return\"Undo\"}}class Q_ extends rw{static get requires(){return[qw,Jw,c_,e_,P_,Y_]}static get pluginName(){return\"Essentials\"}}class X_ extends aw{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute(this.attributeKey);this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const o=n.selection;const i=t.value;e.change((t=>{if(o.isCollapsed){if(i){t.setSelectionAttribute(this.attributeKey,i)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const e of n){if(i){t.setAttribute(this.attributeKey,i,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}}var Z_='';class tv extends Tk{constructor(t){super(t);const e=this.bindTemplate;this.set(\"color\");this.set(\"hasBorder\");this.icon=Z_;this.extendTemplate({attributes:{style:{backgroundColor:e.to(\"color\")},class:[\"ck\",\"ck-color-grid__tile\",e.if(\"hasBorder\",\"ck-color-table__color-tile_bordered\")]}})}render(){super.render();this.iconView.fillColor=\"hsl(0, 0%, 100%)\"}}var ev=n(43);class nv extends Kb{constructor(t,e){super(t);const n=e&&e.colorDefinitions||[];const o={};if(e&&e.columns){o.gridTemplateColumns=`repeat( ${e.columns}, 1fr)`}this.set(\"selectedColor\");this.items=this.createCollection();this.focusTracker=new Qp;this.keystrokes=new Lp;this._focusCycler=new sk({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowleft\",focusNext:\"arrowright\"}});this.items.on(\"add\",((t,e)=>{e.isOn=e.color===this.selectedColor}));n.forEach((t=>{const e=new tv;e.set({color:t.color,label:t.label,tooltip:true,hasBorder:t.options.hasBorder});e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})}));this.items.add(e)}));this.setTemplate({tag:\"div\",children:this.items,attributes:{class:[\"ck\",\"ck-color-grid\"],style:o}});this.on(\"change:selectedColor\",((t,e,n)=>{for(const t of this.items){t.isOn=t.color===n}}))}focus(){if(this.items.length){this.items.first.focus()}}focusLast(){if(this.items.length){this.items.last.focus()}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element)}}class ov extends As{constructor(t){super(t);this.set(\"isEmpty\",true);this.on(\"change\",(()=>{this.set(\"isEmpty\",this.length===0)}))}add(t,e){if(this.find((e=>e.color===t.color))){return}super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}Cs(ov,Yc);var iv='';var rv=n(45);class sv extends Kb{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r}){super(t);this.items=this.createCollection();this.colorDefinitions=e;this.focusTracker=new Qp;this.keystrokes=new Lp;this.set(\"selectedColor\");this.removeButtonLabel=o;this.columns=n;this.documentColors=new ov;this.documentColorsCount=r;this._focusCycler=new sk({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}});this._documentColorsLabel=i;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-table\"]},children:this.items});this.items.add(this._removeColorButton())}updateDocumentColors(t,e){const n=t.document;const o=this.documentColorsCount;this.documentColors.clear();for(const i of n.getRootNames()){const r=n.getRoot(i);const s=t.createRangeIn(r);for(const t of s.getItems()){if(t.is(\"$textProxy\")&&t.hasAttribute(e)){this._addColorToDocumentColors(t.getAttribute(e));if(this.documentColors.length>=o){return}}}}}updateSelectedColors(){const t=this.documentColorsGrid;const e=this.staticColorsGrid;const n=this.selectedColor;e.selectedColor=n;if(t){t.selectedColor=n}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}appendGrids(){if(this.staticColorsGrid){return}this.staticColorsGrid=this._createStaticColorsGrid();this.items.add(this.staticColorsGrid);if(this.documentColorsCount){const t=pb.bind(this.documentColors,this.documentColors);const e=new Xb(this.locale);e.text=this._documentColorsLabel;e.extendTemplate({attributes:{class:[\"ck\",\"ck-color-grid__label\",t.if(\"isEmpty\",\"ck-hidden\")]}});this.items.add(e);this.documentColorsGrid=this._createDocumentColorsGrid();this.items.add(this.documentColorsGrid)}}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_removeColorButton(){const t=new Tk;t.set({withText:true,icon:iv,tooltip:true,label:this.removeButtonLabel});t.class=\"ck-color-table__remove-color\";t.on(\"execute\",(()=>{this.fire(\"execute\",{value:null})}));return t}_createStaticColorsGrid(){const t=new nv(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.delegate(\"execute\").to(this);return t}_createDocumentColorsGrid(){const t=pb.bind(this.documentColors,this.documentColors);const e=new nv(this.locale,{columns:this.columns});e.delegate(\"execute\").to(this);e.extendTemplate({attributes:{class:t.if(\"isEmpty\",\"ck-hidden\")}});e.items.bindTo(this.documentColors).using((t=>{const e=new tv;e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder});if(t.label){e.set({label:t.label,tooltip:true})}e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color})}));return e}));this.documentColors.on(\"change:isEmpty\",((t,n,o)=>{if(o){e.selectedColor=null}}));return e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));if(!e){this.documentColors.add({color:t,label:t,options:{hasBorder:false}})}else{this.documentColors.add(Object.assign({},e))}}}const av=\"fontSize\";const cv=\"fontFamily\";const lv=\"fontColor\";const uv=\"fontBackgroundColor\";function dv(t,e){const n={model:{key:t,values:[]},view:{},upcastAlso:{}};for(const t of e){n.model.values.push(t.model);n.view[t.model]=t.view;if(t.upcastAlso){n.upcastAlso[t.model]=t.upcastAlso}}return n}function hv(t){return e=>gv(e.getStyle(t))}function fv(t){return(e,{writer:n})=>n.createAttributeElement(\"span\",{style:`${t}:${e}`},{priority:7})}function mv({dropdownView:t,colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r}){const s=t.locale;const a=new sv(s,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r});t.colorTableView=a;t.panelView.children.add(a);a.delegate(\"execute\").to(t,\"execute\");return a}function gv(t){return t.replace(/\\s/g,\"\")}class pv extends X_{constructor(t){super(t,uv)}}const bv=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;const kv=/^rgb\\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\\)$/i;const wv=/^rgba\\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\\.?[0-9]+)\\)$/i;const _v=/^hsl\\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\\.?[0-9]+)?\\)$/i;const vv=/^hsla\\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\\.?[0-9]+)\\)$/i;const Cv=new Set([\"black\",\"silver\",\"gray\",\"white\",\"maroon\",\"red\",\"purple\",\"fuchsia\",\"green\",\"lime\",\"olive\",\"yellow\",\"navy\",\"blue\",\"teal\",\"aqua\",\"orange\",\"aliceblue\",\"antiquewhite\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"limegreen\",\"linen\",\"magenta\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"oldlace\",\"olivedrab\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"whitesmoke\",\"yellowgreen\",\"rebeccapurple\",\"currentcolor\",\"transparent\"]);function Av(t){if(t.startsWith(\"#\")){return bv.test(t)}if(t.startsWith(\"rgb\")){return kv.test(t)||wv.test(t)}if(t.startsWith(\"hsl\")){return _v.test(t)||vv.test(t)}return Cv.has(t.toLowerCase())}const yv=[\"none\",\"hidden\",\"dotted\",\"dashed\",\"solid\",\"double\",\"groove\",\"ridge\",\"inset\",\"outset\"];function xv(t){return yv.includes(t)}const Ev=/^([+-]?[0-9]*[.]?[0-9]+(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function Pv(t){return Ev.test(t)}const Sv=/^[+-]?[0-9]*[.]?[0-9]+%$/;function Tv(t){return Sv.test(t)}const Dv=[\"repeat-x\",\"repeat-y\",\"repeat\",\"space\",\"round\",\"no-repeat\"];function Bv(t){return Dv.includes(t)}const Ov=[\"center\",\"top\",\"bottom\",\"left\",\"right\"];function Iv(t){return Ov.includes(t)}const Rv=[\"fixed\",\"scroll\",\"local\"];function Nv(t){return Rv.includes(t)}const Fv=/^url\\(/;function Mv(t){return Fv.test(t)}function Lv(t=\"\"){if(t===\"\"){return{top:undefined,right:undefined,bottom:undefined,left:undefined}}const e=qv(t);const n=e[0];const o=e[2]||n;const i=e[1]||n;const r=e[3]||i;return{top:n,bottom:o,right:i,left:r}}function Vv(t){return e=>{const{top:n,right:o,bottom:i,left:r}=e;const s=[];if(![n,o,r,i].every((t=>!!t))){if(n){s.push([t+\"-top\",n])}if(o){s.push([t+\"-right\",o])}if(i){s.push([t+\"-bottom\",i])}if(r){s.push([t+\"-left\",r])}}else{s.push([t,zv(e)])}return s}}function zv({top:t,right:e,bottom:n,left:o}){const i=[];if(o!==e){i.push(t,e,n,o)}else if(n!==t){i.push(t,e,n)}else if(e!==t){i.push(t,e)}else{i.push(t)}return i.join(\" \")}function jv(t){return e=>({path:t,value:Lv(e)})}function qv(t){return t.replace(/, /g,\",\").split(\" \").map((t=>t.replace(/,/g,\", \")))}function Kv(t){t.setNormalizer(\"background\",$v);t.setNormalizer(\"background-color\",(t=>({path:\"background.color\",value:t})));t.setReducer(\"background\",(t=>{const e=[];e.push([\"background-color\",t.color]);return e}))}function $v(t){const e={};const n=qv(t);for(const t of n){if(Bv(t)){e.repeat=e.repeat||[];e.repeat.push(t)}else if(Iv(t)){e.position=e.position||[];e.position.push(t)}else if(Nv(t)){e.attachment=t}else if(Av(t)){e.color=t}else if(Mv(t)){e.image=t}}return{path:\"background\",value:e}}class Gv extends rw{static get pluginName(){return\"FontBackgroundColorEditing\"}constructor(t){super(t);t.config.define(uv,{colors:[{color:\"hsl(0, 0%, 0%)\",label:\"Black\"},{color:\"hsl(0, 0%, 30%)\",label:\"Dim grey\"},{color:\"hsl(0, 0%, 60%)\",label:\"Grey\"},{color:\"hsl(0, 0%, 90%)\",label:\"Light grey\"},{color:\"hsl(0, 0%, 100%)\",label:\"White\",hasBorder:true},{color:\"hsl(0, 75%, 60%)\",label:\"Red\"},{color:\"hsl(30, 75%, 60%)\",label:\"Orange\"},{color:\"hsl(60, 75%, 60%)\",label:\"Yellow\"},{color:\"hsl(90, 75%, 60%)\",label:\"Light green\"},{color:\"hsl(120, 75%, 60%)\",label:\"Green\"},{color:\"hsl(150, 75%, 60%)\",label:\"Aquamarine\"},{color:\"hsl(180, 75%, 60%)\",label:\"Turquoise\"},{color:\"hsl(210, 75%, 60%)\",label:\"Light blue\"},{color:\"hsl(240, 75%, 60%)\",label:\"Blue\"},{color:\"hsl(270, 75%, 60%)\",label:\"Purple\"}],columns:5});t.data.addStyleProcessorRules(Kv);t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"span\",styles:{\"background-color\":/[\\s\\S]+/}},model:{key:uv,value:hv(\"background-color\")}});t.conversion.for(\"downcast\").attributeToElement({model:uv,view:fv(\"background-color\")});t.commands.add(uv,new pv(t));t.model.schema.extend(\"$text\",{allowAttributes:uv});t.model.schema.setAttributeProperties(uv,{isFormatting:true,copyOnEnter:true})}}function Wv(t,e){const n=t.t;const o={Black:n(\"Black\"),\"Dim grey\":n(\"Dim grey\"),Grey:n(\"Grey\"),\"Light grey\":n(\"Light grey\"),White:n(\"White\"),Red:n(\"Red\"),Orange:n(\"Orange\"),Yellow:n(\"Yellow\"),\"Light green\":n(\"Light green\"),Green:n(\"Green\"),Aquamarine:n(\"Aquamarine\"),Turquoise:n(\"Turquoise\"),\"Light blue\":n(\"Light blue\"),Blue:n(\"Blue\"),Purple:n(\"Purple\")};return e.map((t=>{const e=o[t.label];if(e&&e!=t.label){t.label=e}return t}))}function Uv(t){return t.map(Hv).filter((t=>!!t))}function Hv(t){if(typeof t===\"string\"){return{model:t,label:t,hasBorder:false,view:{name:\"span\",styles:{color:t}}}}else{return{model:t.color,label:t.label||t.color,hasBorder:t.hasBorder===undefined?false:t.hasBorder,view:{name:\"span\",styles:{color:`${t.color}`}}}}}class Jv extends rw{constructor(t,{commandName:e,icon:n,componentName:o,dropdownLabel:i}){super(t);this.commandName=e;this.componentName=o;this.icon=n;this.dropdownLabel=i;this.columns=t.config.get(`${this.componentName}.columns`);this.colorTableView=undefined}init(){const t=this.editor;const e=t.locale;const n=e.t;const o=t.commands.get(this.commandName);const i=Uv(t.config.get(this.componentName).colors);const r=Wv(e,i);const s=t.config.get(`${this.componentName}.documentColors`);t.ui.componentFactory.add(this.componentName,(e=>{const i=jk(e);this.colorTableView=mv({dropdownView:i,colors:r.map((t=>({label:t.label,color:t.model,options:{hasBorder:t.hasBorder}}))),columns:this.columns,removeButtonLabel:n(\"Remove color\"),documentColorsLabel:s!==0?n(\"Document colors\"):undefined,documentColorsCount:s===undefined?this.columns:s});this.colorTableView.bind(\"selectedColor\").to(o,\"value\");i.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:true});i.extendTemplate({attributes:{class:\"ck-color-ui-dropdown\"}});i.bind(\"isEnabled\").to(o);i.on(\"execute\",((e,n)=>{t.execute(this.commandName,n);t.editing.view.focus()}));i.on(\"change:isOpen\",((e,n,o)=>{i.colorTableView.appendGrids();if(o){if(s!==0){this.colorTableView.updateDocumentColors(t.model,this.componentName)}this.colorTableView.updateSelectedColors()}}));return i}))}}var Yv='';class Qv extends Jv{constructor(t){const e=t.locale.t;super(t,{commandName:uv,componentName:uv,icon:Yv,dropdownLabel:e(\"Font Background Color\")})}static get pluginName(){return\"FontBackgroundColorUI\"}}class Xv extends rw{static get requires(){return[Gv,Qv]}static get pluginName(){return\"FontBackgroundColor\"}}class Zv extends X_{constructor(t){super(t,lv)}}class tC extends rw{static get pluginName(){return\"FontColorEditing\"}constructor(t){super(t);t.config.define(lv,{colors:[{color:\"hsl(0, 0%, 0%)\",label:\"Black\"},{color:\"hsl(0, 0%, 30%)\",label:\"Dim grey\"},{color:\"hsl(0, 0%, 60%)\",label:\"Grey\"},{color:\"hsl(0, 0%, 90%)\",label:\"Light grey\"},{color:\"hsl(0, 0%, 100%)\",label:\"White\",hasBorder:true},{color:\"hsl(0, 75%, 60%)\",label:\"Red\"},{color:\"hsl(30, 75%, 60%)\",label:\"Orange\"},{color:\"hsl(60, 75%, 60%)\",label:\"Yellow\"},{color:\"hsl(90, 75%, 60%)\",label:\"Light green\"},{color:\"hsl(120, 75%, 60%)\",label:\"Green\"},{color:\"hsl(150, 75%, 60%)\",label:\"Aquamarine\"},{color:\"hsl(180, 75%, 60%)\",label:\"Turquoise\"},{color:\"hsl(210, 75%, 60%)\",label:\"Light blue\"},{color:\"hsl(240, 75%, 60%)\",label:\"Blue\"},{color:\"hsl(270, 75%, 60%)\",label:\"Purple\"}],columns:5});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"span\",styles:{color:/[\\s\\S]+/}},model:{key:lv,value:hv(\"color\")}});t.conversion.for(\"downcast\").attributeToElement({model:lv,view:fv(\"color\")});t.commands.add(lv,new Zv(t));t.model.schema.extend(\"$text\",{allowAttributes:lv});t.model.schema.setAttributeProperties(lv,{isFormatting:true,copyOnEnter:true})}}var eC='';class nC extends Jv{constructor(t){const e=t.locale.t;super(t,{commandName:lv,componentName:lv,icon:eC,dropdownLabel:e(\"Font Color\")})}static get pluginName(){return\"FontColorUI\"}}class oC extends rw{static get requires(){return[tC,nC]}static get pluginName(){return\"FontColor\"}}class iC extends X_{constructor(t){super(t,av)}}function rC(t){return t.map((t=>aC(t))).filter((t=>!!t))}const sC={get tiny(){return{title:\"Tiny\",model:\"tiny\",view:{name:\"span\",classes:\"text-tiny\",priority:7}}},get small(){return{title:\"Small\",model:\"small\",view:{name:\"span\",classes:\"text-small\",priority:7}}},get big(){return{title:\"Big\",model:\"big\",view:{name:\"span\",classes:\"text-big\",priority:7}}},get huge(){return{title:\"Huge\",model:\"huge\",view:{name:\"span\",classes:\"text-huge\",priority:7}}}};function aC(t){if(dC(t)){return lC(t)}const e=uC(t);if(e){return lC(e)}if(t===\"default\"){return{model:undefined,title:\"Default\"}}if(hC(t)){return}return cC(t)}function cC(t){if(typeof t===\"number\"||typeof t===\"string\"){t={title:String(t),model:`${parseFloat(t)}px`}}t.view={name:\"span\",styles:{\"font-size\":t.model}};return lC(t)}function lC(t){if(!t.view.priority){t.view.priority=7}return t}function uC(t){return sC[t]||sC[t.model]}function dC(t){return typeof t===\"object\"&&t.title&&t.model&&t.view}function hC(t){let e;if(typeof t===\"object\"){if(!t.model){throw new ss[\"b\"](\"font-size-invalid-definition\",null,t)}else{e=parseFloat(t.model)}}else{e=parseFloat(t)}return isNaN(e)}class fC extends rw{static get pluginName(){return\"FontSizeEditing\"}constructor(t){super(t);t.config.define(av,{options:[\"tiny\",\"small\",\"default\",\"big\",\"huge\"],supportAllValues:false})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:av});t.model.schema.setAttributeProperties(av,{isFormatting:true,copyOnEnter:true});const e=t.config.get(\"fontSize.supportAllValues\");const n=rC(this.editor.config.get(\"fontSize.options\")).filter((t=>t.model));const o=dv(av,n);if(e){this._prepareAnyValueConverters(o)}else{t.conversion.attributeToElement(o)}t.commands.add(av,new iC(t))}_prepareAnyValueConverters(t){const e=this.editor;const n=t.model.values.filter((t=>!String(t).match(/[\\d.]+[\\w%]+/)));if(n.length){throw new ss[\"b\"](\"font-size-invalid-use-of-named-presets\",null,{presets:n})}e.conversion.for(\"downcast\").attributeToElement({model:av,view:(t,{writer:e})=>{if(!t){return}return e.createAttributeElement(\"span\",{style:\"font-size:\"+t},{priority:7})}});e.conversion.for(\"upcast\").attributeToAttribute({model:{key:av,value:t=>t.getStyle(\"font-size\")},view:{name:\"span\"}})}}class mC{constructor(t,e){if(e){Gc(this,e)}if(t){this.set(t)}}}Cs(mC,Yc);var gC='';var pC=n(47);class bC extends rw{init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const o=t.commands.get(av);t.ui.componentFactory.add(av,(i=>{const r=jk(i);Kk(r,kC(n,o));r.buttonView.set({label:e(\"Font Size\"),icon:gC,tooltip:true});r.extendTemplate({attributes:{class:[\"ck-font-size-dropdown\"]}});r.bind(\"isEnabled\").to(o);this.listenTo(r,\"execute\",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam});t.editing.view.focus()}));return r}))}_getLocalizedOptions(){const t=this.editor;const e=t.t;const n={Default:e(\"Default\"),Tiny:e(\"Tiny\"),Small:e(\"Small\"),Big:e(\"Big\"),Huge:e(\"Huge\")};const o=rC(t.config.get(av).options);return o.map((t=>{const e=n[t.title];if(e&&e!=t.title){t=Object.assign({},t,{title:e})}return t}))}}function kC(t,e){const n=new As;for(const o of t){const t={type:\"button\",model:new mC({commandName:av,commandParam:o.model,label:o.title,class:\"ck-fontsize-option\",withText:true})};if(o.view&&o.view.styles){t.model.set(\"labelStyle\",`font-size:${o.view.styles[\"font-size\"]}`)}if(o.view&&o.view.classes){t.model.set(\"class\",`${t.model.class} ${o.view.classes}`)}t.model.bind(\"isOn\").to(e,\"value\",(t=>t===o.model));n.add(t)}return n}class wC extends rw{static get requires(){return[fC,bC]}static get pluginName(){return\"FontSize\"}}const _C=\"italic\";class vC extends rw{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:_C});t.model.schema.setAttributeProperties(_C,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:_C,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]});t.commands.add(_C,new Ew(t,_C));t.keystrokes.set(\"CTRL+I\",_C)}}var CC='';const AC=\"italic\";class yC extends rw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(AC,(n=>{const o=t.commands.get(AC);const i=new Tk(n);i.set({label:e(\"Italic\"),icon:CC,keystroke:\"CTRL+I\",tooltip:true,isToggleable:true});i.bind(\"isOn\",\"isEnabled\").to(o,\"value\",\"isEnabled\");this.listenTo(i,\"execute\",(()=>{t.execute(AC);t.editing.view.focus()}));return i}))}}class xC extends rw{static get requires(){return[vC,yC]}static get pluginName(){return\"Italic\"}}class EC extends aw{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;const n=Array.from(e.selection.getSelectedBlocks()).filter((e=>SC(e,t.schema)));const o=this.value===true;t.change((t=>{if(o){let e=n[n.length-1].nextSibling;let o=Number.POSITIVE_INFINITY;let i=[];while(e&&e.name==\"listItem\"&&e.getAttribute(\"listIndent\")!==0){const t=e.getAttribute(\"listIndent\");if(t=n){if(r>i.getAttribute(\"listIndent\")){r=i.getAttribute(\"listIndent\")}if(i.getAttribute(\"listIndent\")==r){t[e?\"unshift\":\"push\"](i)}i=i[e?\"previousSibling\":\"nextSibling\"]}}}function SC(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class TC extends aw{constructor(t,e){super(t);this._indentBy=e==\"forward\"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;while(o&&o.name==\"listItem\"&&o.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\")){n.push(o);o=o.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;if(n<0){t.rename(e,\"paragraph\")}else{t.setAttribute(\"listIndent\",n,e)}}this.fire(\"_executeCleanup\",n)}))}_checkEnabled(){const t=lw(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"element\",\"listItem\")){return false}if(this._indentBy>0){const e=t.getAttribute(\"listIndent\");const n=t.getAttribute(\"listType\");let o=t.previousSibling;while(o&&o.is(\"element\",\"listItem\")&&o.getAttribute(\"listIndent\")>=e){if(o.getAttribute(\"listIndent\")==e){return o.getAttribute(\"listType\")==n}o=o.previousSibling}return false}return true}}class DC extends aw{refresh(){const t=this.editor.model;const e=t.document;const n=lw(e.selection.getSelectedBlocks());this.value=!!n&&n.is(\"element\",\"paragraph\");this.isEnabled=!!n&&BC(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;e.change((o=>{const i=(t.selection||n.selection).getSelectedBlocks();for(const t of i){if(!t.is(\"element\",\"paragraph\")&&BC(t,e.schema)){o.rename(t,\"paragraph\")}}}))}}function BC(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class OC extends aw{execute(t){const e=this.editor.model;let n=t.position;e.change((t=>{const o=t.createElement(\"paragraph\");if(!e.schema.checkChild(n.parent,o)){const i=e.schema.findAllowedParent(n,o);if(!i){return}n=t.split(n,i).position}e.insertContent(o,n);t.setSelection(o,\"in\")}))}}class IC extends rw{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor;const e=t.model;t.commands.add(\"paragraph\",new DC(t));t.commands.add(\"insertParagraph\",new OC(t));e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"});t.conversion.elementToElement({model:\"paragraph\",view:\"p\"});t.conversion.for(\"upcast\").elementToElement({model:(t,{writer:e})=>{if(!IC.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement(\"paragraph\")},view:/.+/,converterPriority:\"low\"})}}IC.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\",\"th\"]);function RC(t){const e=t.createContainerElement(\"li\");e.getFillerOffset=KC;return e}function NC(t,e){const n=e.mapper;const o=e.writer;const i=t.getAttribute(\"listType\")==\"numbered\"?\"ol\":\"ul\";const r=RC(o);const s=o.createContainerElement(i,null);o.insert(o.createPositionAt(s,0),r);n.bindElements(t,r);return r}function FC(t,e,n,o){const i=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=VC(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute(\"listIndent\")});const l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else{if(l&&l.name==\"listItem\"){a=r.toViewPosition(o.createPositionAt(l,\"end\"));const t=r.findMappedViewAncestor(a);const e=jC(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,\"end\")}}else{a=r.toViewPosition(o.createPositionBefore(t))}}a=LC(a);s.insert(a,i);if(l&&l.name==\"listItem\"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const o=n.getWalker({ignoreElementEnd:true});for(const t of o){if(t.item.is(\"element\",\"li\")){const n=s.breakContainer(s.createPositionBefore(t.item));const i=t.item.parent;const r=s.createPositionAt(e,\"end\");MC(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(i),r);o.position=n}}}else{const n=i.nextSibling;if(n&&(n.is(\"element\",\"ul\")||n.is(\"element\",\"ol\"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")){o=e}else{break}}if(o){s.breakContainer(s.createPositionAfter(o));s.move(s.createRangeOn(o.parent),s.createPositionAt(e,\"end\"))}}}MC(s,i,i.nextSibling);MC(s,i.previousSibling,i)}function MC(t,e,n){if(!e||!n||e.name!=\"ul\"&&e.name!=\"ol\"){return null}if(e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")){return null}return t.mergeContainers(t.createPositionAfter(e))}function LC(t){return t.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}function VC(t,e){const n=!!e.sameIndent;const o=!!e.smallerIndent;const i=e.listIndent;let r=t;while(r&&r.name==\"listItem\"){const t=r.getAttribute(\"listIndent\");if(n&&i==t||o&&i>t){return r}if(e.direction===\"forward\"){r=r.nextSibling}else{r=r.previousSibling}}return null}function zC(t,e,n,o){t.ui.componentFactory.add(e,(i=>{const r=t.commands.get(e);const s=new Tk(i);s.set({label:n,icon:o,tooltip:true,isToggleable:true});s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\");s.on(\"execute\",(()=>{t.execute(e);t.editing.view.focus()}));return s}))}function jC(t){for(const e of t.getChildren()){if(e.name==\"ul\"||e.name==\"ol\"){return e}}return null}function qC(t,e){const n=[];const o=t.parent;const i={ignoreElementEnd:true,startPosition:t,shallow:true,direction:e};const r=o.getAttribute(\"listIndent\");const s=[...new Jh(i)].filter((t=>t.item.is(\"element\"))).map((t=>t.item));for(const t of s){if(!t.is(\"element\",\"listItem\")){break}if(t.getAttribute(\"listIndent\")r){continue}if(t.getAttribute(\"listType\")!==o.getAttribute(\"listType\")){break}if(t.getAttribute(\"listStyle\")!==o.getAttribute(\"listStyle\")){break}if(e===\"backward\"){n.unshift(t)}else{n.push(t)}}return n}function KC(){const t=!this.isEmpty&&(this.getChild(0).name==\"ul\"||this.getChild(0).name==\"ol\");if(this.isEmpty||t){return 0}return Kc.call(this)}function $C(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,\"insert\")||!i.test(n.item,\"attribute:listType\")||!i.test(n.item,\"attribute:listIndent\")){return}i.consume(n.item,\"insert\");i.consume(n.item,\"attribute:listType\");i.consume(n.item,\"attribute:listIndent\");const r=n.item;const s=NC(r,o);FC(r,s,o,t)}}function GC(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position);const r=i.getLastMatchingPosition((t=>!t.item.is(\"element\",\"li\")));const s=r.nodeAfter;const a=o.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const u=a.createRangeOn(c);const d=a.remove(u);if(l&&l.nextSibling){MC(a,l,l.nextSibling)}const h=o.mapper.toModelElement(s);sA(h.getAttribute(\"listIndent\")+1,n.position,u.start,s,o,t);for(const t of a.createRangeIn(d).getItems()){o.mapper.unbindViewElement(t)}e.stop()}}function WC(t,e,n){if(!n.consumable.consume(e.item,\"attribute:listType\")){return}const o=n.mapper.toViewElement(e.item);const i=n.writer;i.breakContainer(i.createPositionBefore(o));i.breakContainer(i.createPositionAfter(o));const r=o.parent;const s=e.attributeNewValue==\"numbered\"?\"ol\":\"ul\";i.rename(s,r)}function UC(t,e,n){const o=n.mapper.toViewElement(e.item);const i=o.parent;const r=n.writer;MC(r,i,i.nextSibling);MC(r,i.previousSibling,i);for(const t of e.item.getChildren()){n.consumable.consume(t,\"insert\")}}function HC(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,\"attribute:listIndent\")){return}const i=o.mapper.toViewElement(n.item);const r=o.writer;r.breakContainer(r.createPositionBefore(i));r.breakContainer(r.createPositionAfter(i));const s=i.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){MC(r,a,a.nextSibling)}sA(n.attributeOldValue+1,n.range.start,c.start,i,o,t);FC(n.item,i,o,t);for(const t of n.item.getChildren()){o.consumable.consume(t,\"insert\")}}}function JC(t,e,n){if(e.item.name!=\"listItem\"){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer;const i=[];while(t.parent.name==\"ul\"||t.parent.name==\"ol\"){t=o.breakContainer(t);if(t.parent.name!=\"li\"){break}const e=t;const n=o.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=MC(o,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}MC(o,t.nodeBefore,t.nodeAfter)}}}function YC(t,e,n){const o=n.mapper.toViewPosition(e.position);const i=o.nodeBefore;const r=o.nodeAfter;MC(n.writer,i,r)}function QC(t,e,n){if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const o=t.createElement(\"listItem\");const i=cA(e.viewItem);t.setAttribute(\"listIndent\",i,o);const r=e.viewItem.parent&&e.viewItem.parent.name==\"ol\"?\"numbered\":\"bulleted\";t.setAttribute(\"listType\",r,o);if(!n.safeInsert(o,e.modelCursor)){return}const s=iA(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(o,e)}}function XC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is(\"element\",\"li\")||aA(e));if(t){e._remove()}}}}function ZC(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;let o=true;for(const e of t){if(n&&!aA(e)){e._remove()}if(e.is(\"$text\")){if(o){e._data=e.data.replace(/^\\s+/,\"\")}if(!e.nextSibling||aA(e.nextSibling)){e._data=e.data.replace(/\\s+$/,\"\")}}else if(aA(e)){n=true}o=false}}}function tA(t){return(e,n)=>{if(n.isPhantom){return}const o=n.modelPosition.nodeBefore;if(o&&o.is(\"element\",\"listItem\")){const e=n.mapper.toViewElement(o);const i=e.getAncestors().find(aA);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type==\"elementStart\"&&t.item.is(\"element\",\"li\")){n.viewPosition=t.previousPosition;break}else if(t.type==\"elementEnd\"&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}function eA(t){return(e,n)=>{const o=n.viewPosition;const i=o.parent;const r=n.mapper;if(i.name==\"ul\"||i.name==\"ol\"){if(!o.isAtEnd){const e=r.toModelElement(o.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(o.nodeBefore);const i=r.getModelLength(o.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(i)}e.stop()}else if(i.name==\"li\"&&o.nodeBefore&&(o.nodeBefore.name==\"ul\"||o.nodeBefore.name==\"ol\")){const s=r.toModelElement(i);let a=1;let c=o.nodeBefore;while(c&&aA(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function nA(t,e){const n=t.document.differ.getChanges();const o=new Map;let i=false;for(const o of n){if(o.type==\"insert\"&&o.name==\"listItem\"){r(o.position)}else if(o.type==\"insert\"&&o.name!=\"listItem\"){if(o.name!=\"$text\"){const n=o.position.nodeAfter;if(n.hasAttribute(\"listIndent\")){e.removeAttribute(\"listIndent\",n);i=true}if(n.hasAttribute(\"listType\")){e.removeAttribute(\"listType\",n);i=true}if(n.hasAttribute(\"listStyle\")){e.removeAttribute(\"listStyle\",n);i=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is(\"element\",\"listItem\")))){r(e.previousPosition)}}const n=o.position.getShiftedBy(o.length);r(n)}else if(o.type==\"remove\"&&o.name==\"listItem\"){r(o.position)}else if(o.type==\"attribute\"&&o.attributeKey==\"listIndent\"){r(o.range.start)}else if(o.type==\"attribute\"&&o.attributeKey==\"listType\"){r(o.range.start)}}for(const t of o.values()){s(t);a(t)}return i;function r(t){const e=t.nodeBefore;if(!e||!e.is(\"element\",\"listItem\")){const e=t.nodeAfter;if(e&&e.is(\"element\",\"listItem\")){o.set(e,e)}}else{let t=e;if(o.has(t)){return}for(let e=t.previousSibling;e&&e.is(\"element\",\"listItem\");e=t.previousSibling){t=e;if(o.has(t)){return}}o.set(e,t)}}function s(t){let n=0;let o=null;while(t&&t.is(\"element\",\"listItem\")){const r=t.getAttribute(\"listIndent\");if(r>n){let s;if(o===null){o=r-n;s=n}else{if(o>r){o=r}s=r-o}e.setAttribute(\"listIndent\",s,t);i=true}else{o=null;n=t.getAttribute(\"listIndent\")+1}t=t.nextSibling}}function a(t){let n=[];let o=null;while(t&&t.is(\"element\",\"listItem\")){const r=t.getAttribute(\"listIndent\");if(o&&o.getAttribute(\"listIndent\")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const o=n[r];if(t.getAttribute(\"listType\")!=o){e.setAttribute(\"listType\",o,t);i=true}}else{n[r]=t.getAttribute(\"listType\")}}o=t;t=t.nextSibling}}}function oA(t,[e,n]){let o=e.is(\"documentFragment\")?e.getChild(0):e;let i;if(!n){i=this.document.selection}else{i=this.createSelection(n)}if(o&&o.is(\"element\",\"listItem\")){const t=i.getFirstPosition();let e=null;if(t.parent.is(\"element\",\"listItem\")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is(\"element\",\"listItem\")){e=t.nodeBefore}if(e){const t=e.getAttribute(\"listIndent\");if(t>0){while(o&&o.is(\"element\",\"listItem\")){o._setAttribute(\"listIndent\",o.getAttribute(\"listIndent\")+t);o=o.nextSibling}}}}}function iA(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e){if(s.name==\"ul\"||s.name==\"ol\"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,o.createPositionAt(t,\"end\"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is(\"element\")&&!i.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is(\"element\",\"listItem\")){t=e.modelCursor.parent}else{t=rA(e.modelCursor)}r=o.createPositionAfter(t)}}}return r}function rA(t){const e=new Jh({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"element\",\"listItem\"));return n.value.item}function sA(t,e,n,o,i,r){const s=VC(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t,foo:\"b\"});const a=i.mapper;const c=i.writer;const l=s?s.getAttribute(\"listIndent\"):null;let u;if(!s){u=n}else if(l==t){const t=a.toViewElement(s).parent;u=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,\"end\");u=a.toViewPosition(t)}u=LC(u);for(const t of[...o.getChildren()]){if(aA(t)){u=c.move(c.createRangeOn(t),u).end;MC(c,t,t.nextSibling);MC(c,t.previousSibling,t)}}}function aA(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function cA(t){let e=0;let n=t.parent;while(n){if(n.is(\"element\",\"li\")){e++}else{const t=n.previousSibling;if(t&&t.is(\"element\",\"li\")){e++}}n=n.parent}return e}class lA extends rw{static get pluginName(){return\"ListEditing\"}static get requires(){return[IC]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>nA(t.model,e)));n.mapper.registerViewToModelLength(\"li\",uA);e.mapper.registerViewToModelLength(\"li\",uA);n.mapper.on(\"modelToViewPosition\",tA(n.view));n.mapper.on(\"viewToModelPosition\",eA(t.model));e.mapper.on(\"modelToViewPosition\",tA(n.view));t.conversion.for(\"editingDowncast\").add((e=>{e.on(\"insert\",JC,{priority:\"high\"});e.on(\"insert:listItem\",$C(t.model));e.on(\"attribute:listType:listItem\",WC,{priority:\"high\"});e.on(\"attribute:listType:listItem\",UC,{priority:\"low\"});e.on(\"attribute:listIndent:listItem\",HC(t.model));e.on(\"remove:listItem\",GC(t.model));e.on(\"remove\",YC,{priority:\"low\"})}));t.conversion.for(\"dataDowncast\").add((e=>{e.on(\"insert\",JC,{priority:\"high\"});e.on(\"insert:listItem\",$C(t.model))}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ul\",XC,{priority:\"high\"});t.on(\"element:ol\",XC,{priority:\"high\"});t.on(\"element:li\",ZC,{priority:\"high\"});t.on(\"element:li\",QC)}));t.model.on(\"insertContent\",oA,{priority:\"high\"});t.commands.add(\"numberedList\",new EC(t,\"numbered\"));t.commands.add(\"bulletedList\",new EC(t,\"bulleted\"));t.commands.add(\"indentList\",new TC(t,\"forward\"));t.commands.add(\"outdentList\",new TC(t,\"backward\"));const o=n.view.document;this.listenTo(o,\"enter\",((t,e)=>{const n=this.editor.model.document;const o=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&o.name==\"listItem\"&&o.isEmpty){this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}}));this.listenTo(o,\"delete\",((t,e)=>{if(e.direction!==\"backward\"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const o=n.getFirstPosition();if(!o.isAtStart){return}const i=o.parent;if(i.name!==\"listItem\"){return}const r=i.previousSibling&&i.previousSibling.name===\"listItem\";if(r){return}this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}),{priority:\"high\"});const i=t=>(e,n)=>{const o=this.editor.commands.get(t);if(o.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set(\"Tab\",i(\"indentList\"));t.keystrokes.set(\"Shift+Tab\",i(\"outdentList\"))}afterInit(){const t=this.editor.commands;const e=t.get(\"indent\");const n=t.get(\"outdent\");if(e){e.registerChildCommand(t.get(\"indentList\"))}if(n){n.registerChildCommand(t.get(\"outdentList\"))}}}function uA(t){let e=1;for(const n of t.getChildren()){if(n.name==\"ul\"||n.name==\"ol\"){for(const t of n.getChildren()){e+=uA(t)}}}return e}var dA='';var hA='';class fA extends rw{init(){const t=this.editor.t;zC(this.editor,\"numberedList\",t(\"Numbered List\"),dA);zC(this.editor,\"bulletedList\",t(\"Bulleted List\"),hA)}}class mA extends rw{static get requires(){return[lA,fA]}static get pluginName(){return\"List\"}}function gA(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"b\")&&n.getStyle(\"font-weight\")===\"normal\"){const o=t.getChildIndex(n);e.remove(n);e.insertChild(o,n.getChildren(),t)}}}class pA{constructor(t){this.document=t}createDocumentFragment(t){return new Yl(this.document,t)}createElement(t,e,n){return new Lc(this.document,t,e,n)}createText(t){return new zs(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const o=n.getChildIndex(t);this.removeChildren(o,1,n);this.insertChild(o,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Lc(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(R(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return dl._createAt(t,e)}createPositionAfter(t){return dl._createAfter(t)}createPositionBefore(t){return dl._createBefore(t)}createRange(t,e){return new hl(t,e)}createRangeOn(t){return hl._createOn(t)}createRangeIn(t){return hl._createIn(t)}createSelection(t,e,n){return new gl(t,e,n)}}function bA(t,e){if(!t.childCount){return}const n=new pA(t.document);const o=wA(t,n);if(!o.length){return}let i=null;let r=1;o.forEach(((t,s)=>{const a=xA(o[s-1],t);const c=a?null:o[s-1];const l=PA(c,t);if(a){i=null;r=1}if(!i||l!==0){const o=_A(t,e);if(!i){i=vA(o,t.element,n)}else if(t.indent>r){const t=i.getChild(i.childCount-1);const e=t.getChild(t.childCount-1);i=vA(o,e,n);r+=1}else if(t.indent[\\s]*?)[\\r\\n]+(\\s*<\\/span>)/g,\"$1$2\").replace(/<\\/span>/g,\"\").replace(/ <\\//g,\" <\\/o:p>/g,\" \").replace(/( |\\u00A0)<\\/o:p>/g,\"\").replace(/>(\\s*[\\r\\n]\\s*)<\")}function OA(t){t.querySelectorAll(\"span[style*=spacerun]\").forEach((t=>{const e=t.innerText.length||0;t.innerHTML=Array(e+1).join(\"  \").substr(0,e)}))}function IA(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>e.length===1?\" \":Array(e.length+1).join(\"  \").substr(0,e.length)))}function RA(t,e){const n=new DOMParser;t=t.replace(/