Files
2023-04-17 11:06:08 +09:00

6 lines
823 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*!
* @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
(function(t){const e=t["ko"]=t["ko"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"","Align cell text to the bottom":"","Align cell text to the center":"","Align cell text to the left":"","Align cell text to the middle":"","Align cell text to the right":"","Align cell text to the top":"","Align center":"가운데 맞춤","Align left":"왼쪽 맞춤","Align right":"오른쪽 맞춤","Align table to the left":"","Align table to the right":"",Alignment:"",Aquamarine:"연한 청록색",Background:"",Big:"큰",Black:"검정","Block quote":"인용 단락",Blue:"파랑",Bold:"굵게",Border:"","Bulleted List":"글머리기호",Cancel:"취소","Cannot upload file:":"파일 업로드 불가","Cell properties":"","Center table":"","Centered image":"가운데 정렬","Change image text alternative":"대체 텍스트 변경","Choose heading":"제목 선택",Code:"소스",Color:"","Color picker":"",Column:"",Dashed:"","Decrease indent":"내어쓰기",Default:"기본","Delete column":"","Delete row":"","Dim grey":"진한 회색",Dimensions:"","Document colors":"문서 색상들",Dotted:"",Double:"",Downloadable:"다운로드 가능","Dropdown toolbar":"드롭다운 툴바","Edit link":"링크 편집","Editor toolbar":"에디터 툴바","Enter image caption":"이미지 설명을 입력하세요","Font Color":"글자 색상","Font Family":"글꼴","Font Size":"글자 크기","Full size image":"문서 너비",Green:"초록",Grey:"회색",Groove:"","Header column":"","Header row":"",Heading:"제목","Heading 1":"제목1","Heading 2":"제목2","Heading 3":"제목3","Heading 4":"제목4","Heading 5":"제목5","Heading 6":"제목6",Height:"","Horizontal line":"수평선","Horizontal text alignment toolbar":"",Huge:"매우 큰","Image toolbar":"이미지 툴바","image widget":"이미지 위젯","Increase indent":"들여쓰기","Insert column left":"","Insert column right":"","Insert image":"이미지 삽입","Insert media":"미디어 삽입","Insert paragraph after block":"","Insert paragraph before block":"","Insert row above":"","Insert row below":"","Insert table":"테이블 삽입",Inset:"",Italic:"기울임꼴",Justify:"양쪽 맞춤","Justify cell text":"","Left aligned image":"왼쪽 정렬","Light blue":"연한 파랑","Light green":"밝은 초록","Light grey":"밝은 회색",Link:"링크","Link URL":"링크 주소","Media URL":"미디어 URL","media widget":"미디어 위젯","Merge cell down":"","Merge cell left":"","Merge cell right":"","Merge cell up":"","Merge cells":"",Next:"다음",None:"","Numbered List":"번호매기기","Open in a new tab":"새 탭에서 열기","Open link in new tab":"새 탭에서 링크 열기",Orange:"주황",Outset:"",Padding:"",Paragraph:"문단","Paste the media URL in the input.":"미디어 URL을 입력해주세요.",Previous:"이전",Purple:"보라",Red:"빨강",Redo:"다시 실행","Remove color":"색상 지우기","Remove Format":"서식 지우기","Rich Text Editor, %0":"",Ridge:"","Right aligned image":"오른쪽 정렬",Row:"",Save:"저장","Select all":"전체 선택","Select column":"","Select row":"","Show more items":"더보기","Side image":"내부 우측 정렬",Small:"작은",Solid:"","Split cell horizontally":"","Split cell vertically":"",Strikethrough:"취소선",Style:"","Table alignment toolbar":"","Table cell text alignment":"","Table properties":"","Table toolbar":"","Text alignment":"텍스트 정렬","Text alignment toolbar":"텍스트 정렬 툴바","Text alternative":"대체 텍스트",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':"","The URL must not be empty.":"URL이 비어있습니다.",'The value is invalid. Try "10px" or "2em" or simply "2".':"","This link has no URL":"이 링크에는 URL이 없습니다.","This media URL is not supported.":"이 URL은 지원되지 않습니다.",Tiny:"매우 작은","Tip: Paste the URL into the content to embed faster.":"Tip: URL을 복사 후 붙여넣기하면 더 빠릅니다.","To-do List":"할일 목록",Turquoise:"청록색",Underline:"밑줄",Undo:"실행 취소",Unlink:"링크 삭제","Upload failed":"업로드 실패","Upload in progress":"업로드 진행 중","Vertical text alignment toolbar":"",White:"흰색","Widget toolbar":"위젯 툴바",Width:"",Yellow:"노랑"});e.getPluralForm=function(t){return 0}})(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["DecoupledDocumentEditor"]=n();else e["DecoupledDocumentEditor"]=n()})(window,(function(){return function(t){var e={};function n(i){if(e[i]){return e[i].exports}var o=e[i]={i:i,l:false,exports:{}};t[i].call(o.exports,o,o.exports,n);o.l=true;return o.exports}n.m=t;n.c=e;n.d=function(t,e,i){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:i})}};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 i=Object.create(null);n.r(i);Object.defineProperty(i,"default",{enumerable:true,value:t});if(e&2&&typeof t!="string")for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i};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=134)}([function(t,e,n){"use strict";n.d(e,"b",(function(){return o}));n.d(e,"a",(function(){return r}));const i="https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html";class o extends Error{constructor(t,e,n){t=r(t);if(n){t+=" "+JSON.stringify(n)}super(t);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 o(t.message,e);n.stack=t.stack;throw n}}function r(t){const e=t.match(/^([^:]+):/);if(!e){return t}return t+` Read more: ${i}#error-${e[1]}\n`}},function(t,e,n){"use strict";var i=function t(){var e;return function t(){if(typeof e==="undefined"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var o=function t(){var e={};return function t(n){if(typeof e[n]==="undefined"){var i=document.querySelector(n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement){try{i=i.contentDocument.head}catch(t){i=null}}e[n]=i}return e[n]}}();var r=[];function s(t){var e=-1;for(var n=0;n<r.length;n++){if(r[n].identifier===t){e=n;break}}return e}function a(t,e){var n={};var i=[];for(var o=0;o<t.length;o++){var a=t[o];var c=e.base?a[0]+e.base:a[0];var l=n[c]||0;var d="".concat(c," ").concat(l);n[c]=l+1;var u=s(d);var h={css:a[1],media:a[2],sourceMap:a[3]};if(u!==-1){r[u].references++;r[u].updater(h)}else{r.push({identifier:d,updater:g(h,e),references:1})}i.push(d)}return i}function c(t){var e=document.createElement("style");var i=t.attributes||{};if(typeof i.nonce==="undefined"){var r=true?n.nc:undefined;if(r){i.nonce=r}}Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])}));if(typeof t.insert==="function"){t.insert(e)}else{var s=o(t.insert||"head");if(!s){throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.")}s.appendChild(e)}return e}function l(t){if(t.parentNode===null){return false}t.parentNode.removeChild(t)}var d=function t(){var e=[];return function t(n,i){e[n]=i;return e.filter(Boolean).join("\n")}}();function u(t,e,n,i){var o=n?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(t.styleSheet){t.styleSheet.cssText=d(e,o)}else{var r=document.createTextNode(o);var s=t.childNodes;if(s[e]){t.removeChild(s[e])}if(s.length){t.insertBefore(r,s[e])}else{t.appendChild(r)}}}function h(t,e,n){var i=n.css;var o=n.media;var r=n.sourceMap;if(o){t.setAttribute("media",o)}else{t.removeAttribute("media")}if(r&&btoa){i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")}if(t.styleSheet){t.styleSheet.cssText=i}else{while(t.firstChild){t.removeChild(t.firstChild)}t.appendChild(document.createTextNode(i))}}var f=null;var m=0;function g(t,e){var n;var i;var o;if(e.singleton){var r=m++;n=f||(f=c(e));i=u.bind(null,n,r,false);o=u.bind(null,n,r,true)}else{n=c(e);i=h.bind(null,n,e);o=function t(){l(n)}}i(t);return function e(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap){return}i(t=n)}else{o()}}}t.exports=function(t,e){e=e||{};if(!e.singleton&&typeof e.singleton!=="boolean"){e.singleton=i()}t=t||[];var n=a(t,e);return function t(i){i=i||[];if(Object.prototype.toString.call(i)!=="[object Array]"){return}for(var o=0;o<n.length;o++){var c=n[o];var l=s(c);r[l].references--}var d=a(i,e);for(var u=0;u<n.length;u++){var h=n[u];var f=s(h);if(r[f].references===0){r[f].updater();r.splice(f,1)}}n=d}}},,function(t,e,n){"use strict";var i=n(7);var o=typeof self=="object"&&self&&self.Object===Object&&self;var r=i["a"]||o||Function("return this")();e["a"]=r},function(t,e,n){"use strict";(function(t){var i=n(3);var o=n(15);var r=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var s=r&&typeof t=="object"&&t&&!t.nodeType&&t;var a=s&&s.exports===r;var c=a?i["a"].Buffer:undefined;var l=c?c.isBuffer:undefined;var d=l||o["a"];e["a"]=d}).call(this,n(9)(t))},function(t,e,n){"use strict";(function(t){var i=n(7);var o=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var r=o&&typeof t=="object"&&t&&!t.nodeType&&t;var s=r&&r.exports===o;var a=s&&i["a"].process;var c=function(){try{var t=r&&r.require&&r.require("util").types;if(t){return t}return a&&a.binding&&a.binding("util")}catch(t){}}();e["a"]=c}).call(this,n(9)(t))},function(t,e,n){"use strict";(function(t){var e=n(0);const i="19.1.1";const o=typeof window==="object"?window:t;if(o.CKEDITOR_VERSION){throw new e["b"]("ckeditor-duplicated-modules: Some CKEditor 5 modules are duplicated.",null)}else{o.CKEDITOR_VERSION=i}}).call(this,n(10))},function(t,e,n){"use strict";(function(t){var n=typeof t=="object"&&t&&t.Object===Object&&t;e["a"]=n}).call(this,n(10))},function(t,e,n){"use strict";(function(t){var i=n(3);var o=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var r=o&&typeof t=="object"&&t&&!t.nodeType&&t;var s=r&&r.exports===o;var a=s?i["a"].Buffer:undefined,c=a?a.allocUnsafe:undefined;function l(t,e){if(e){return t.slice()}var n=t.length,i=c?c(n):new t.constructor(n);t.copy(i);return i}e["a"]=l}).call(this,n(9)(t))},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);if(!e.children)e.children=[];Object.defineProperty(e,"loaded",{enumerable:true,get:function(){return e.l}});Object.defineProperty(e,"id",{enumerable:true,get:function(){return e.i}});Object.defineProperty(e,"exports",{enumerable:true});e.webpackPolyfill=1}return e}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){if(typeof window==="object")n=window}t.exports=n},function(t,e,n){var i=n(1);var o=n(46);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e,n){var i=n(1);var o=n(61);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e,n){var i=n(1);var o=n(126);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e,n){var i=n(1);var o=n(127);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e,n){"use strict";function i(){return false}e["a"]=i},function(t,e,n){var i=n(1);var o=n(17);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-placeholder:before,.ck .ck-placeholder:before{content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}"},function(t,e,n){var i=n(1);var o=n(19);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-hidden{display:none!important}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{box-sizing:border-box;width:auto;height:auto;position:static}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999);--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,0.3);--ck-color-focus-error-shadow:rgba(255,64,31,0.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,0.15);--ck-color-shadow-drop-active:rgba(0,0,0,0.2);--ck-color-shadow-inner:rgba(0,0,0,0.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,0.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#5c5c5c;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,177,255,0.1);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;vertical-align:middle;transition:none;word-wrap:break-word}.ck.ck-reset_all,.ck.ck-reset_all *{border-collapse:collapse;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);color:var(--ck-color-text);text-align:left;white-space:nowrap;cursor:auto;float:none}.ck.ck-reset_all .ck-rtl *{text-align:right}.ck.ck-reset_all iframe{vertical-align:inherit}.ck.ck-reset_all textarea{white-space:pre-wrap}.ck.ck-reset_all input[type=password],.ck.ck-reset_all input[type=text],.ck.ck-reset_all textarea{cursor:text}.ck.ck-reset_all input[type=password][disabled],.ck.ck-reset_all input[type=text][disabled],.ck.ck-reset_all textarea[disabled]{cursor:default}.ck.ck-reset_all fieldset{padding:10px;border:2px groove #dfdee3}.ck.ck-reset_all button::-moz-focus-inner{padding:0;border:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}"},function(t,e,n){var i=n(1);var o=n(21);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>: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)}"},function(t,e,n){var i=n(1);var o=n(23);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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}:root{--ck-dropdown-arrow-size:calc(0.5*var(--ck-icon-size))}.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}"},function(t,e,n){var i=n(1);var o=n(25);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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}"},function(t,e,n){var i=n(1);var o=n(27);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports='.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(-1*var(--ck-tooltip-arrow-size));transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after{top:calc(-1*var(--ck-tooltip-arrow-size));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(-1*var(--ck-tooltip-arrow-size));transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(-1*var(--ck-tooltip-arrow-size));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)}'},function(t,e,n){var i=n(1);var o=n(29);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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(-1*var(--ck-spacing-small));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(-1*var(--ck-spacing-small));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}"},function(t,e,n){var i=n(1);var o=n(31);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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(0.2*var(--ck-line-height-base)*var(--ck-font-size-base)) calc(0.4*var(--ck-line-height-base)*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(1.2*var(--ck-line-height-base)*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)}"},function(t,e,n){var i=n(1);var o=n(33);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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) - 2*var(--ck-switch-button-toggle-spacing))}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(2*var(--ck-spacing-large))}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(2*var(--ck-spacing-large))}.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(0.5*var(--ck-border-radius))}.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(-1*var(--ck-switch-button-translation)))}"},function(t,e,n){var i=n(1);var o=n(35);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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}"},function(t,e,n){var i=n(1);var o=n(37);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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}"},function(t,e,n){var i=n(1);var o=n(39);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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;margin-top:0;margin-bottom:0;background:var(--ck-color-toolbar-border)}.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)}"},function(t,e,n){var i=n(1);var o=n(41);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}"},function(t,e,n){var i=n(1);var o=n(43);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(-1*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));bottom:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(2*var(--ck-balloon-arrow-half-width));top:calc(-1*var(--ck-balloon-arrow-height))}'},function(t,e,n){var i=n(1);var o=n(45);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}"},function(t,e){t.exports=".ck-content code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}"},function(t,e,n){var i=n(1);var o=n(48);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-radius:0}.ck-rounded-corners [dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow,[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-left-color:var(--ck-color-split-button-hover-border)}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-right-color:var(--ck-color-split-button-hover-border)}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}"},function(t,e,n){var i=n(1);var o=n(50);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-content pre{padding:1em;color:#353535;background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;text-align:left;direction:ltr;tab-size:4;white-space:pre-wrap;font-style:normal;min-width:200px}.ck-content pre code{background:unset;padding:0;border-radius:0}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{top:-1px;right:10px;background:var(--ck-color-code-block-label-background);font-size:10px;font-family:var(--ck-font-face);line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);color:#fff;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-y:auto;overflow-x:hidden}"},function(t,e,n){var i=n(1);var o=n(52);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-toolbar-spinner-size:18px}.ck-exportpdf_status-pending{position:relative}.ck.ck-exportpdf__spinner-container{display:none}.ck.ck-exportpdf__spinner{top:50%;left:0;right:0;margin:0 auto;border-radius:50%;border:2px solid var(--ck-color-text);border-top:2px solid transparent;transform:translateY(-50%);z-index:1}.ck-exportpdf_status-pending .ck.ck-exportpdf__spinner-container,.ck.ck-exportpdf__spinner{position:absolute;width:var(--ck-toolbar-spinner-size);height:var(--ck-toolbar-spinner-size)}.ck-exportpdf_status-pending .ck.ck-exportpdf__spinner-container{display:block;animation:rotate 1.5s linear infinite}.ck-exportpdf_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}"},function(t,e,n){var i=n(1);var o=n(54);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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)}"},function(t,e,n){var i=n(1);var o=n(56);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}"},function(t,e,n){var i=n(1);var o=n(58);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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)}"},function(t,e,n){var i=n(1);var o=n(60);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".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}"},function(t,e){t.exports=".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}"},function(t,e,n){var i=n(1);var o=n(63);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-highlight-marker-yellow:#fdfd77;--ck-highlight-marker-green:#62f962;--ck-highlight-marker-pink:#fc7899;--ck-highlight-marker-blue:#72ccfd;--ck-highlight-pen-red:#e71313;--ck-highlight-pen-green:#128a00}.ck-content .marker-yellow{background-color:var(--ck-highlight-marker-yellow)}.ck-content .marker-green{background-color:var(--ck-highlight-marker-green)}.ck-content .marker-pink{background-color:var(--ck-highlight-marker-pink)}.ck-content .marker-blue{background-color:var(--ck-highlight-marker-blue)}.ck-content .pen-red{color:var(--ck-highlight-pen-red);background-color:transparent}.ck-content .pen-green{color:var(--ck-highlight-pen-green);background-color:transparent}"},function(t,e,n){var i=n(1);var o=n(65);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-editor__editable .ck-horizontal-line{display:flow-root}.ck-content hr{border:solid #5e5e5e;border-width:1px 0 0;margin:0}.ck-editor__editable .ck-horizontal-line{padding:5px 0}"},function(t,e,n){var i=n(1);var o=n(67);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(-0.5*var(--ck-widget-outline-thickness));left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(-0.5*var(--ck-widget-outline-thickness));right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget:not(.ck-widget_can-type-around_after)>.ck-widget__type-around>.ck-widget__type-around__button_after,.ck .ck-widget:not(.ck-widget_can-type-around_before)>.ck-widget__type-around>.ck-widget__type-around__button_before{display:none}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;pointer-events:none;opacity:0;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:auto;opacity:1}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{pointer-events:none;opacity:0}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}'},function(t,e,n){var i=n(1);var o=n(69);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-resizer-size:10px;--ck-resizer-border-width:1px;--ck-resizer-border-radius:2px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-tooltip-offset:10px;--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness))}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}"},function(t,e,n){var i=n(1);var o=n(71);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view>.ck.ck-label{width:100%;text-overflow:ellipsis;overflow:hidden}"},function(t,e,n){var i=n(1);var o=n(73);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{box-shadow:var(--ck-inner-shadow),0 0;background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .2s ease-in-out,border .2s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),var(--ck-inner-shadow)}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),var(--ck-inner-shadow)}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}"},function(t,e,n){var i=n(1);var o=n(75);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}.ck.ck-text-alternative-form{padding:var(--ck-spacing-standard)}.ck.ck-text-alternative-form:focus{outline:none}[dir=ltr] .ck.ck-text-alternative-form>:not(:first-child),[dir=rtl] .ck.ck-text-alternative-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-text-alternative-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-text-alternative-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-text-alternative-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-text-alternative-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-text-alternative-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-text-alternative-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-text-alternative-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}"},function(t,e,n){var i=n(1);var o=n(77);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}"},function(t,e,n){var i=n(1);var o=n(79);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}"},function(t,e,n){var i=n(1);var o=n(81);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-content .image{display:table;clear:both;text-align:center;margin:1em auto}.ck-content .image>img{display:block;margin:0 auto;max-width:100%;min-width:50px}"},function(t,e,n){var i=n(1);var o=n(83);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px}"},function(t,e,n){var i=n(1);var o=n(85);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-image-style-spacing:1.5em}.ck-content .image-style-align-center,.ck-content .image-style-align-left,.ck-content .image-style-align-right,.ck-content .image-style-side{max-width:50%}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}"},function(t,e,n){var i=n(1);var o=n(87);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-editor__editable .image{position:relative}.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}"},function(t,e,n){var i=n(1);var o=n(89);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports='.ck-image-upload-complete-icon{display:block;position:absolute;top:10px;right:10px;border-radius:50%}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20px;--ck-image-upload-icon-width:2px}.ck-image-upload-complete-icon{width:var(--ck-image-upload-icon-size);height:var(--ck-image-upload-icon-size);opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:var(--ck-image-upload-icon-size);animation-delay:0ms,3s}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}'},function(t,e,n){var i=n(1);var o=n(91);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports='.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}'},function(t,e,n){var i=n(1);var o=n(93);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form{padding:var(--ck-spacing-standard)}.ck.ck-link-form:focus{outline:none}[dir=ltr] .ck.ck-link-form>:not(:first-child),[dir=rtl] .ck.ck-link-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin-left:0}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}"},function(t,e,n){var i=n(1);var o=n(95);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions{padding:var(--ck-spacing-standard)}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}.ck.ck-link-actions:focus{outline:none}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):last-of-type{border-right:1px solid var(--ck-color-base-border)}}"},function(t,e,n){var i=n(1);var o=n(97);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports='.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(3*var(--ck-spacing-standard));background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}'},function(t,e,n){var i=n(1);var o=n(99);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}.ck.ck-media-form{padding:var(--ck-spacing-standard)}.ck.ck-media-form:focus{outline:none}[dir=ltr] .ck.ck-media-form>:not(:first-child),[dir=rtl] .ck.ck-media-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-media-form{padding:0;width:calc(0.8*var(--ck-input-text-width))}.ck.ck-media-form .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-media-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-media-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-media-form .ck-button{padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-standard);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-media-form .ck-button{margin-left:0}[dir=ltr] .ck.ck-media-form .ck-button:first-of-type{border-right:1px solid var(--ck-color-base-border)}[dir=rtl] .ck.ck-media-form .ck-button{margin-left:0}[dir=rtl] .ck.ck-media-form .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}}"},function(t,e,n){var i=n(1);var o=n(101);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-content .media{clear:both;margin:1em 0;display:block;min-width:15em}"},function(t,e,n){var i=n(1);var o=n(103);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-mention-list-max-height:300px}.ck.ck-mentions{max-height:var(--ck-mention-list-max-height);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.ck.ck-mentions>.ck-list__item{overflow:hidden;flex-shrink:0}"},function(t,e,n){var i=n(1);var o=n(105);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-color-mention-background:rgba(153,0,48,0.1);--ck-color-mention-text:#990030}.ck-content .mention{background:var(--ck-color-mention-background);color:var(--ck-color-mention-text)}"},function(t,e,n){var i=n(1);var o=n(107);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-form__header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{padding:var(--ck-spacing-small) var(--ck-spacing-large);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-form__header .ck-form__header__label{font-weight:700}"},function(t,e,n){var i=n(1);var o=n(109);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-character-grid .ck-character-grid__tiles{display:grid;grid-template-columns:repeat(10,1fr)}:root{--ck-character-grid-tile-size:24px}.ck.ck-character-grid{overflow-y:auto;overflow-x:hidden;width:350px;max-height:200px}.ck.ck-character-grid .ck-character-grid__tiles{margin:var(--ck-spacing-standard) var(--ck-spacing-large);grid-gap:var(--ck-spacing-standard)}.ck.ck-character-grid .ck-character-grid__tile{width:var(--ck-character-grid-tile-size);height:var(--ck-character-grid-tile-size);min-width:var(--ck-character-grid-tile-size);min-height:var(--ck-character-grid-tile-size);font-size:1.2em;padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-character-grid .ck-character-grid__tile:focus:not(.ck-disabled),.ck.ck-character-grid .ck-character-grid__tile:hover:not(.ck-disabled){border:0;box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-character-grid .ck-character-grid__tile .ck-button__label{line-height:var(--ck-character-grid-tile-size);width:100%;text-align:center}"},function(t,e,n){var i=n(1);var o=n(111);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-character-info{display:flex;justify-content:space-between;padding:var(--ck-spacing-small) var(--ck-spacing-large);border-top:1px solid var(--ck-color-base-border)}.ck.ck-character-info>*{text-transform:uppercase;font-size:var(--ck-font-size-small)}.ck.ck-character-info .ck-character-info__name{max-width:280px;text-overflow:ellipsis;overflow:hidden}.ck.ck-character-info .ck-character-info__code{opacity:.6}"},function(t,e,n){var i=n(1);var o=n(113);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-special-characters-navigation>.ck-label{max-width:160px;text-overflow:ellipsis;overflow:hidden}.ck.ck-special-characters-navigation>.ck-dropdown .ck-dropdown__panel{max-height:250px;overflow-y:auto;overflow-x:hidden}"},function(t,e,n){var i=n(1);var o=n(115);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}"},function(t,e,n){var i=n(1);var o=n(117);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}"},function(t,e,n){var i=n(1);var o=n(119);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:"";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}'},function(t,e,n){var i=n(1);var o=n(121);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck-content .table{margin:1em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}"},function(t,e,n){var i=n(1);var o=n(123);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-input-color{width:100%;display:flex}.ck.ck-input-color>input.ck.ck-input-text{min-width:auto;flex-grow:1}.ck.ck-input-color>input.ck.ck-input-text:active,.ck.ck-input-color>input.ck.ck-input-text:focus{z-index:var(--ck-z-default)}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{position:relative;overflow:hidden}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{position:absolute;display:block}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button>.ck.ck-input-color__button__preview{width:20px;height:20px;border:1px solid var(--ck-color-input-border)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{top:-30%;left:50%;height:150%;width:8%;background:red;border-radius:2px;transform:rotate(45deg);transform-origin:50%}.ck.ck-input-color .ck.ck-input-color__remove-color{width:100%;border-bottom:1px solid var(--ck-color-input-border);padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:0;margin-left:var(--ck-spacing-standard)}"},function(t,e,n){var i=n(1);var o=n(125);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{width:100%;min-width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}"},function(t,e){t.exports=".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}"},function(t,e){t.exports='.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view{display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{flex-grow:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{flex-wrap:wrap;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{display:flex;flex-direction:column-reverse;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{position:absolute;left:50%;bottom:calc(-1*var(--ck-table-properties-error-arrow-size));transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";position:absolute;top:calc(-1*var(--ck-table-properties-error-arrow-size));left:50%;transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style{width:80px;min-width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{width:50px;min-width:50px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view>.ck-label{font-size:10px;text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:start;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);padding:var(--ck-spacing-small) var(--ck-spacing-medium);min-width:var(--ck-table-properties-min-error-width);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-left:var(--ck-table-properties-error-arrow-size) solid transparent;border-bottom:var(--ck-table-properties-error-arrow-size) solid var(--ck-color-base-error);border-right:var(--ck-table-properties-error-arrow-size) solid transparent;border-top:0 solid transparent}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}'},function(t,e,n){var i=n(1);var o=n(129);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{flex-grow:0}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{padding:0;width:35%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none}"},function(t,e,n){var i=n(1);var o=n(131);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{flex-wrap:wrap;flex-basis:0;align-content:baseline}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}"},function(t,e,n){var i=n(1);var o=n(133);o=o.__esModule?o.default:o;if(typeof o==="string"){o=[[t.i,o,""]]}var r={injectType:"singletonStyleTag",attributes:{"data-cke":true}};r.insert="head";r.singleton=true;var s=i(o,r);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;display:inline-block;position:relative;width:var(--ck-todo-list-checkmark-size);height:var(--ck-todo-list-checkmark-size);vertical-align:middle;border:0;left:-25px;margin-right:-15px;right:0;margin-left:0}.ck-content .todo-list .todo-list__label>input:before{display:block;position:absolute;box-sizing:border-box;content:"";width:100%;height:100%;border:1px solid #333;border-radius:2px;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out}.ck-content .todo-list .todo-list__label>input:after{display:block;position:absolute;box-sizing:content-box;pointer-events:none;content:"";left:calc(var(--ck-todo-list-checkmark-size)/3);top:calc(var(--ck-todo-list-checkmark-size)/5.3);width:calc(var(--ck-todo-list-checkmark-size)/5.3);height:calc(var(--ck-todo-list-checkmark-size)/2.6);border-left:0 solid transparent;border-bottom:calc(var(--ck-todo-list-checkmark-size)/8) solid transparent;border-right:calc(var(--ck-todo-list-checkmark-size)/8) solid transparent;border-top:0 solid transparent;transform:rotate(45deg)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-right:0;right:-25px;margin-left:-15px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}'},function(t,e,n){"use strict";n.r(e);var i=n(3);var o=i["a"].Symbol;var r=o;var s=Object.prototype;var a=s.hasOwnProperty;var c=s.toString;var l=r?r.toStringTag:undefined;function d(t){var e=a.call(t,l),n=t[l];try{t[l]=undefined;var i=true}catch(t){}var o=c.call(t);if(i){if(e){t[l]=n}else{delete t[l]}}return o}var u=d;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 w=r?r.toStringTag:undefined;function k(t){if(t==null){return t===undefined?b:p}return w&&w in Object(t)?u(t):g(t)}var _=k;function v(t,e){return function(n){return t(e(n))}}var y=v;var x=y(Object.getPrototypeOf,Object);var C=x;function A(t){return t!=null&&typeof t=="object"}var T=A;var S="[object Object]";var P=Function.prototype,E=Object.prototype;var M=P.toString;var I=E.hasOwnProperty;var N=M.call(Object);function O(t){if(!T(t)||_(t)!=S){return false}var e=C(t);if(e===null){return true}var n=I.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&M.call(n)==N}var R=O;function L(){this.__data__=[];this.size=0}var V=L;function D(t,e){return t===e||t!==t&&e!==e}var z=D;function B(t,e){var n=t.length;while(n--){if(z(t[n][0],e)){return n}}return-1}var j=B;var F=Array.prototype;var H=F.splice;function U(t){var e=this.__data__,n=j(e,t);if(n<0){return false}var i=e.length-1;if(n==i){e.pop()}else{H.call(e,n,1)}--this.size;return true}var q=U;function W(t){var e=this.__data__,n=j(e,t);return n<0?undefined:e[n][1]}var $=W;function G(t){return j(this.__data__,t)>-1}var Y=G;function K(t,e){var n=this.__data__,i=j(n,t);if(i<0){++this.size;n.push([t,e])}else{n[i][1]=e}return this}var Q=K;function J(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}J.prototype.clear=V;J.prototype["delete"]=q;J.prototype.get=$;J.prototype.has=Y;J.prototype.set=Q;var Z=J;function X(){this.__data__=new Z;this.size=0}var tt=X;function et(t){var e=this.__data__,n=e["delete"](t);this.size=e.size;return n}var nt=et;function it(t){return this.__data__.get(t)}var ot=it;function rt(t){return this.__data__.has(t)}var st=rt;function at(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var ct=at;var lt="[object AsyncFunction]",dt="[object Function]",ut="[object GeneratorFunction]",ht="[object Proxy]";function ft(t){if(!ct(t)){return false}var e=_(t);return e==dt||e==ut||e==lt||e==ht}var mt=ft;var gt=i["a"]["__core-js_shared__"];var pt=gt;var bt=function(){var t=/[^.]+$/.exec(pt&&pt.keys&&pt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function wt(t){return!!bt&&bt in t}var kt=wt;var _t=Function.prototype;var vt=_t.toString;function yt(t){if(t!=null){try{return vt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var xt=yt;var Ct=/[\\^$.*+?()[\]{}|]/g;var At=/^\[object .+?Constructor\]$/;var Tt=Function.prototype,St=Object.prototype;var Pt=Tt.toString;var Et=St.hasOwnProperty;var Mt=RegExp("^"+Pt.call(Et).replace(Ct,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function It(t){if(!ct(t)||kt(t)){return false}var e=mt(t)?Mt:At;return e.test(xt(t))}var Nt=It;function Ot(t,e){return t==null?undefined:t[e]}var Rt=Ot;function Lt(t,e){var n=Rt(t,e);return Nt(n)?n:undefined}var Vt=Lt;var Dt=Vt(i["a"],"Map");var zt=Dt;var Bt=Vt(Object,"create");var jt=Bt;function Ft(){this.__data__=jt?jt(null):{};this.size=0}var Ht=Ft;function Ut(t){var e=this.has(t)&&delete this.__data__[t];this.size-=e?1:0;return e}var qt=Ut;var Wt="__lodash_hash_undefined__";var $t=Object.prototype;var Gt=$t.hasOwnProperty;function Yt(t){var e=this.__data__;if(jt){var n=e[t];return n===Wt?undefined:n}return Gt.call(e,t)?e[t]:undefined}var Kt=Yt;var Qt=Object.prototype;var Jt=Qt.hasOwnProperty;function Zt(t){var e=this.__data__;return jt?e[t]!==undefined:Jt.call(e,t)}var Xt=Zt;var te="__lodash_hash_undefined__";function ee(t,e){var n=this.__data__;this.size+=this.has(t)?0:1;n[t]=jt&&e===undefined?te:e;return this}var ne=ee;function ie(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}ie.prototype.clear=Ht;ie.prototype["delete"]=qt;ie.prototype.get=Kt;ie.prototype.has=Xt;ie.prototype.set=ne;var oe=ie;function re(){this.size=0;this.__data__={hash:new oe,map:new(zt||Z),string:new oe}}var se=re;function ae(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var ce=ae;function le(t,e){var n=t.__data__;return ce(e)?n[typeof e=="string"?"string":"hash"]:n.map}var de=le;function ue(t){var e=de(this,t)["delete"](t);this.size-=e?1:0;return e}var he=ue;function fe(t){return de(this,t).get(t)}var me=fe;function ge(t){return de(this,t).has(t)}var pe=ge;function be(t,e){var n=de(this,t),i=n.size;n.set(t,e);this.size+=n.size==i?0:1;return this}var we=be;function ke(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e<n){var i=t[e];this.set(i[0],i[1])}}ke.prototype.clear=se;ke.prototype["delete"]=he;ke.prototype.get=me;ke.prototype.has=pe;ke.prototype.set=we;var _e=ke;var ve=200;function ye(t,e){var n=this.__data__;if(n instanceof Z){var i=n.__data__;if(!zt||i.length<ve-1){i.push([t,e]);this.size=++n.size;return this}n=this.__data__=new _e(i)}n.set(t,e);this.size=n.size;return this}var xe=ye;function Ce(t){var e=this.__data__=new Z(t);this.size=e.size}Ce.prototype.clear=tt;Ce.prototype["delete"]=nt;Ce.prototype.get=ot;Ce.prototype.has=st;Ce.prototype.set=xe;var Ae=Ce;function Te(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)===false){break}}return t}var Se=Te;var Pe=function(){try{var t=Vt(Object,"defineProperty");t({},"",{});return t}catch(t){}}();var Ee=Pe;function Me(t,e,n){if(e=="__proto__"&&Ee){Ee(t,e,{configurable:true,enumerable:true,value:n,writable:true})}else{t[e]=n}}var Ie=Me;var Ne=Object.prototype;var Oe=Ne.hasOwnProperty;function Re(t,e,n){var i=t[e];if(!(Oe.call(t,e)&&z(i,n))||n===undefined&&!(e in t)){Ie(t,e,n)}}var Le=Re;function Ve(t,e,n,i){var o=!n;n||(n={});var r=-1,s=e.length;while(++r<s){var a=e[r];var c=i?i(n[a],t[a],a,n,t):undefined;if(c===undefined){c=t[a]}if(o){Ie(n,a,c)}else{Le(n,a,c)}}return n}var De=Ve;function ze(t,e){var n=-1,i=Array(t);while(++n<t){i[n]=e(n)}return i}var Be=ze;var je="[object Arguments]";function Fe(t){return T(t)&&_(t)==je}var He=Fe;var Ue=Object.prototype;var qe=Ue.hasOwnProperty;var We=Ue.propertyIsEnumerable;var $e=He(function(){return arguments}())?He:function(t){return T(t)&&qe.call(t,"callee")&&!We.call(t,"callee")};var Ge=$e;var Ye=Array.isArray;var Ke=Ye;var Qe=n(4);var Je=9007199254740991;var Ze=/^(?:0|[1-9]\d*)$/;function Xe(t,e){var n=typeof t;e=e==null?Je:e;return!!e&&(n=="number"||n!="symbol"&&Ze.test(t))&&(t>-1&&t%1==0&&t<e)}var tn=Xe;var en=9007199254740991;function nn(t){return typeof t=="number"&&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]",dn="[object Function]",un="[object Map]",hn="[object Number]",fn="[object Object]",mn="[object RegExp]",gn="[object Set]",pn="[object String]",bn="[object WeakMap]";var wn="[object ArrayBuffer]",kn="[object DataView]",_n="[object Float32Array]",vn="[object Float64Array]",yn="[object Int8Array]",xn="[object Int16Array]",Cn="[object Int32Array]",An="[object Uint8Array]",Tn="[object Uint8ClampedArray]",Sn="[object Uint16Array]",Pn="[object Uint32Array]";var En={};En[_n]=En[vn]=En[yn]=En[xn]=En[Cn]=En[An]=En[Tn]=En[Sn]=En[Pn]=true;En[rn]=En[sn]=En[wn]=En[an]=En[kn]=En[cn]=En[ln]=En[dn]=En[un]=En[hn]=En[fn]=En[mn]=En[gn]=En[pn]=En[bn]=false;function Mn(t){return T(t)&&on(t.length)&&!!En[_(t)]}var In=Mn;function Nn(t){return function(e){return t(e)}}var On=Nn;var Rn=n(5);var Ln=Rn["a"]&&Rn["a"].isTypedArray;var Vn=Ln?On(Ln):In;var Dn=Vn;var zn=Object.prototype;var Bn=zn.hasOwnProperty;function jn(t,e){var n=Ke(t),i=!n&&Ge(t),o=!n&&!i&&Object(Qe["a"])(t),r=!n&&!i&&!o&&Dn(t),s=n||i||o||r,a=s?Be(t.length,String):[],c=a.length;for(var l in t){if((e||Bn.call(t,l))&&!(s&&(l=="length"||o&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||tn(l,c)))){a.push(l)}}return a}var Fn=jn;var Hn=Object.prototype;function Un(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||Hn;return t===n}var qn=Un;var Wn=y(Object.keys,Object);var $n=Wn;var Gn=Object.prototype;var Yn=Gn.hasOwnProperty;function Kn(t){if(!qn(t)){return $n(t)}var e=[];for(var n in Object(t)){if(Yn.call(t,n)&&n!="constructor"){e.push(n)}}return e}var Qn=Kn;function Jn(t){return t!=null&&on(t.length)&&!mt(t)}var Zn=Jn;function Xn(t){return Zn(t)?Fn(t):Qn(t)}var ti=Xn;function ei(t,e){return t&&De(e,ti(e),t)}var ni=ei;function ii(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}var oi=ii;var ri=Object.prototype;var si=ri.hasOwnProperty;function ai(t){if(!ct(t)){return oi(t)}var e=qn(t),n=[];for(var i in t){if(!(i=="constructor"&&(e||!si.call(t,i)))){n.push(i)}}return n}var ci=ai;function li(t){return Zn(t)?Fn(t,true):ci(t)}var di=li;function ui(t,e){return t&&De(e,di(e),t)}var hi=ui;var fi=n(8);function mi(t,e){var n=-1,i=t.length;e||(e=Array(i));while(++n<i){e[n]=t[n]}return e}var gi=mi;function pi(t,e){var n=-1,i=t==null?0:t.length,o=0,r=[];while(++n<i){var s=t[n];if(e(s,n,t)){r[o++]=s}}return r}var bi=pi;function wi(){return[]}var ki=wi;var _i=Object.prototype;var vi=_i.propertyIsEnumerable;var yi=Object.getOwnPropertySymbols;var xi=!yi?ki:function(t){if(t==null){return[]}t=Object(t);return bi(yi(t),(function(e){return vi.call(t,e)}))};var Ci=xi;function Ai(t,e){return De(t,Ci(t),e)}var Ti=Ai;function Si(t,e){var n=-1,i=e.length,o=t.length;while(++n<i){t[o+n]=e[n]}return t}var Pi=Si;var Ei=Object.getOwnPropertySymbols;var Mi=!Ei?ki:function(t){var e=[];while(t){Pi(e,Ci(t));t=C(t)}return e};var Ii=Mi;function Ni(t,e){return De(t,Ii(t),e)}var Oi=Ni;function Ri(t,e,n){var i=e(t);return Ke(t)?i:Pi(i,n(t))}var Li=Ri;function Vi(t){return Li(t,ti,Ci)}var Di=Vi;function zi(t){return Li(t,di,Ii)}var Bi=zi;var ji=Vt(i["a"],"DataView");var Fi=ji;var Hi=Vt(i["a"],"Promise");var Ui=Hi;var qi=Vt(i["a"],"Set");var Wi=qi;var $i=Vt(i["a"],"WeakMap");var Gi=$i;var Yi="[object Map]",Ki="[object Object]",Qi="[object Promise]",Ji="[object Set]",Zi="[object WeakMap]";var Xi="[object DataView]";var to=xt(Fi),eo=xt(zt),no=xt(Ui),io=xt(Wi),oo=xt(Gi);var ro=_;if(Fi&&ro(new Fi(new ArrayBuffer(1)))!=Xi||zt&&ro(new zt)!=Yi||Ui&&ro(Ui.resolve())!=Qi||Wi&&ro(new Wi)!=Ji||Gi&&ro(new Gi)!=Zi){ro=function(t){var e=_(t),n=e==Ki?t.constructor:undefined,i=n?xt(n):"";if(i){switch(i){case to:return Xi;case eo:return Yi;case no:return Qi;case io:return Ji;case oo:return Zi}}return e}}var so=ro;var ao=Object.prototype;var co=ao.hasOwnProperty;function lo(t){var e=t.length,n=new t.constructor(e);if(e&&typeof t[0]=="string"&&co.call(t,"index")){n.index=t.index;n.input=t.input}return n}var uo=lo;var ho=i["a"].Uint8Array;var fo=ho;function mo(t){var e=new t.constructor(t.byteLength);new fo(e).set(new fo(t));return e}var go=mo;function po(t,e){var n=e?go(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}var bo=po;var wo=/\w*$/;function ko(t){var e=new t.constructor(t.source,wo.exec(t));e.lastIndex=t.lastIndex;return e}var _o=ko;var vo=r?r.prototype:undefined,yo=vo?vo.valueOf:undefined;function xo(t){return yo?Object(yo.call(t)):{}}var Co=xo;function Ao(t,e){var n=e?go(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var To=Ao;var So="[object Boolean]",Po="[object Date]",Eo="[object Map]",Mo="[object Number]",Io="[object RegExp]",No="[object Set]",Oo="[object String]",Ro="[object Symbol]";var Lo="[object ArrayBuffer]",Vo="[object DataView]",Do="[object Float32Array]",zo="[object Float64Array]",Bo="[object Int8Array]",jo="[object Int16Array]",Fo="[object Int32Array]",Ho="[object Uint8Array]",Uo="[object Uint8ClampedArray]",qo="[object Uint16Array]",Wo="[object Uint32Array]";function $o(t,e,n){var i=t.constructor;switch(e){case Lo:return go(t);case So:case Po:return new i(+t);case Vo:return bo(t,n);case Do:case zo:case Bo:case jo:case Fo:case Ho:case Uo:case qo:case Wo:return To(t,n);case Eo:return new i;case Mo:case Oo:return new i(t);case Io:return _o(t);case No:return new i;case Ro:return Co(t)}}var Go=$o;var Yo=Object.create;var Ko=function(){function t(){}return function(e){if(!ct(e)){return{}}if(Yo){return Yo(e)}t.prototype=e;var n=new t;t.prototype=undefined;return n}}();var Qo=Ko;function Jo(t){return typeof t.constructor=="function"&&!qn(t)?Qo(C(t)):{}}var Zo=Jo;var Xo="[object Map]";function tr(t){return T(t)&&so(t)==Xo}var er=tr;var nr=Rn["a"]&&Rn["a"].isMap;var ir=nr?On(nr):er;var or=ir;var rr="[object Set]";function sr(t){return T(t)&&so(t)==rr}var ar=sr;var cr=Rn["a"]&&Rn["a"].isSet;var lr=cr?On(cr):ar;var dr=lr;var ur=1,hr=2,fr=4;var mr="[object Arguments]",gr="[object Array]",pr="[object Boolean]",br="[object Date]",wr="[object Error]",kr="[object Function]",_r="[object GeneratorFunction]",vr="[object Map]",yr="[object Number]",xr="[object Object]",Cr="[object RegExp]",Ar="[object Set]",Tr="[object String]",Sr="[object Symbol]",Pr="[object WeakMap]";var Er="[object ArrayBuffer]",Mr="[object DataView]",Ir="[object Float32Array]",Nr="[object Float64Array]",Or="[object Int8Array]",Rr="[object Int16Array]",Lr="[object Int32Array]",Vr="[object Uint8Array]",Dr="[object Uint8ClampedArray]",zr="[object Uint16Array]",Br="[object Uint32Array]";var jr={};jr[mr]=jr[gr]=jr[Er]=jr[Mr]=jr[pr]=jr[br]=jr[Ir]=jr[Nr]=jr[Or]=jr[Rr]=jr[Lr]=jr[vr]=jr[yr]=jr[xr]=jr[Cr]=jr[Ar]=jr[Tr]=jr[Sr]=jr[Vr]=jr[Dr]=jr[zr]=jr[Br]=true;jr[wr]=jr[kr]=jr[Pr]=false;function Fr(t,e,n,i,o,r){var s,a=e&ur,c=e&hr,l=e&fr;if(n){s=o?n(t,i,o,r):n(t)}if(s!==undefined){return s}if(!ct(t)){return t}var d=Ke(t);if(d){s=uo(t);if(!a){return gi(t,s)}}else{var u=so(t),h=u==kr||u==_r;if(Object(Qe["a"])(t)){return Object(fi["a"])(t,a)}if(u==xr||u==mr||h&&!o){s=c||h?{}:Zo(t);if(!a){return c?Oi(t,hi(s,t)):Ti(t,ni(s,t))}}else{if(!jr[u]){return o?t:{}}s=Go(t,u,a)}}r||(r=new Ae);var f=r.get(t);if(f){return f}r.set(t,s);if(dr(t)){t.forEach((function(i){s.add(Fr(i,e,n,i,t,r))}))}else if(or(t)){t.forEach((function(i,o){s.set(o,Fr(i,e,n,o,t,r))}))}var m=l?c?Bi:Di:c?keysIn:ti;var g=d?undefined:m(t);Se(g||t,(function(i,o){if(g){o=i;i=t[o]}Le(s,o,Fr(i,e,n,o,t,r))}));return s}var Hr=Fr;var Ur=1,qr=4;function Wr(t,e){e=typeof e=="function"?e:undefined;return Hr(t,Ur|qr,e)}var $r=Wr;function Gr(t){return T(t)&&t.nodeType===1&&!R(t)}var Yr=Gr;class Kr{constructor(t,e){this._config={};if(e){this.define(Qr(e))}if(t){this._setObjectToTarget(this._config,t)}}set(t,e){this._setToTarget(this._config,t,e)}define(t,e){const n=true;this._setToTarget(this._config,t,e,n)}get(t){return this._getFromSource(this._config,t)}*names(){for(const t of Object.keys(this._config)){yield t}}_setToTarget(t,e,n,i=false){if(R(e)){this._setObjectToTarget(t,e,i);return}const o=e.split(".");e=o.pop();for(const e of o){if(!R(t[e])){t[e]={}}t=t[e]}if(R(n)){if(!R(t[e])){t[e]={}}t=t[e];this._setObjectToTarget(t,n,i);return}if(i&&typeof t[e]!="undefined"){return}t[e]=n}_getFromSource(t,e){const n=e.split(".");e=n.pop();for(const e of n){if(!R(t[e])){t=null;break}t=t[e]}return t?Qr(t[e]):undefined}_setObjectToTarget(t,e,n){Object.keys(e).forEach(i=>{this._setToTarget(t,i,e[i],n)})}}function Qr(t){return $r(t,Jr)}function Jr(t){return Yr(t)?t:undefined}function Zr(){return function t(){t.called=true}}var Xr=Zr;class ts{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=Xr();this.off=Xr()}}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 i=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[i>>0&255]+es[i>>8&255]+es[i>>16&255]+es[i>>24&255]}const is={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 os=is;var rs=n(6);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 i=false;const o=function(t,...n){if(!i){i=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,o,n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,i={}){let o,r;if(!this[as]){this[as]={}}const s=this[as];if(!fs(t)){hs(t)}const a=fs(t);if(!(o=s[a])){o=s[a]={emitter:t,callbacks:{}}}if(!(r=o.callbacks[e])){r=o.callbacks[e]=[]}r.push(n);ps(t,e);const c=bs(t,e);const l=os.get(i.priority);const d={callback:n,priority:l};for(const t of c){let e=false;for(let n=0;n<t.length;n++){if(t[n].priority<l){t.splice(n,0,d);e=true;break}}if(!e){t.push(d)}}},stopListening(t,e,n){const i=this[as];let o=t&&fs(t);const r=i&&o&&i[o];const s=r&&e&&r.callbacks[e];if(!i||t&&!r||e&&!s){return}if(n){_s(t,e,n)}else if(s){while(n=s.pop()){_s(t,e,n)}delete r.callbacks[e]}else if(r){for(e in r.callbacks){this.stopListening(t,e)}delete i[o]}else{for(o in i){this.stopListening(i[o].emitter)}delete this[as]}},fire(t,...e){try{const n=t instanceof ts?t:new ts(this,t);const i=n.name;let o=ws(this,i);n.path.push(this);if(o){const t=[n,...e];o=Array.from(o);for(let e=0;e<o.length;e++){o[e].callback.apply(this,t);if(n.off.called){delete n.off.called;_s(this,i,o[e].callback)}if(n.stop.called){break}}}if(this._delegations){const t=this._delegations.get(i);const o=this._delegations.get("*");if(t){ks(t,n,e)}if(o){ks(o,n,e)}}return n.return}catch(t){ss["b"].rethrowUnexpectedError(t,this)}},delegate(...t){return{to:(e,n)=>{if(!this._delegations){this._delegations=new Map}t.forEach(t=>{const i=this._delegations.get(t);if(!i){this._delegations.set(t,new Map([[e,n]]))}else{i.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 ds=ls;function us(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 i=e;let o=null;const r=[];while(i!==""){if(n[i]){break}n[i]=gs();r.push(n[i]);if(o){n[i].childEvents.push(o)}o=i;i=i.substr(0,i.lastIndexOf(":"))}if(i!==""){for(const t of r){t.callbacks=n[i].callbacks.slice()}n[i].childEvents.push(o)}}function bs(t,e){const n=ms(t)[e];if(!n){return[]}let i=[n.callbacks];for(let e=0;e<n.childEvents.length;e++){const o=bs(t,n.childEvents[e]);i=i.concat(o)}return i}function ws(t,e){let n;if(!t._events||!(n=t._events[e])||!n.callbacks.length){if(e.indexOf(":")>-1){return ws(t,e.substr(0,e.lastIndexOf(":")))}else{return null}}return n.callbacks}function ks(t,e,n){for(let[i,o]of t){if(!o){o=e.name}else if(typeof o=="function"){o=o(e.name)}const t=new ts(e.source,o);t.path=[...e.path];i.fire(t,...n)}}function _s(t,e,n){const i=bs(t,e);for(const t of i){for(let e=0;e<t.length;e++){if(t[e].callback==n){t.splice(e,1);e--}}}}function vs(t){return!!(t&&t[Symbol.iterator])}function ys(t,...e){e.forEach(e=>{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach(n=>{if(n in t.prototype){return}const i=Object.getOwnPropertyDescriptor(e,n);i.enumerable=false;Object.defineProperty(t.prototype,n,i)})})}class xs{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){const n=this._getItemIdBeforeAdding(t);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)}this._items.splice(e,0,t);this._itemMap.set(n,t);this.fire("add",t,e);return this}get(t){let e;if(typeof t=="string"){e=this._itemMap.get(t)}else if(typeof t=="number"){e=this._items[t]}else{throw new ss["b"]("collection-get-invalid-arg: Index or id must be given.",this)}return e||null}has(t){if(typeof t=="string"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return this._itemMap.has(n)}}getIndex(t){let e;if(typeof t=="string"){e=this._itemMap.get(t)}else{e=t}return this._items.indexOf(e)}remove(t){let e,n,i;let o=false;const r=this._idProperty;if(typeof t=="string"){n=t;i=this._itemMap.get(n);o=!i;if(i){e=this._items.indexOf(i)}}else if(typeof t=="number"){e=t;i=this._items[e];o=!i;if(i){n=i[r]}}else{i=t;n=i[r];e=this._items.indexOf(i);o=e==-1||!this._itemMap.get(n)}if(o){throw new ss["b"]("collection-remove-404: Item not found.",this)}this._items.splice(e,1);this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(i);this._bindToInternalToExternalMap.delete(i);this._bindToExternalToInternalMap.delete(s);this.fire("remove",i,e);return i}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}while(this.length){this.remove(0)}}bindTo(t){if(this._bindToCollection){throw new ss["b"]("collection-bind-to-rebind: The collection cannot be bound more than once.",this)}this._bindToCollection=t;return{as:t=>{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,i,o)=>{const r=e._bindToCollection==this;const s=e._bindToInternalToExternalMap.get(i);if(r&&s){this._bindToExternalToInternalMap.set(i,s);this._bindToInternalToExternalMap.set(s,i)}else{const n=t(i);if(!n){this._skippedIndexesFromExternal.push(o);return}let r=o;for(const t of this._skippedIndexesFromExternal){if(o>t){r--}}for(const t of e._skippedIndexesFromExternal){if(r>=t){r++}}this._bindToExternalToInternalMap.set(i,n);this._bindToInternalToExternalMap.set(n,i);this.add(n,r);for(let t=0;t<e._skippedIndexesFromExternal.length;t++){if(r<=e._skippedIndexesFromExternal[t]){e._skippedIndexesFromExternal[t]++}}}};for(const t of e){n(null,t,e.getIndex(t))}this.listenTo(e,"add",n);this.listenTo(e,"remove",(t,e,n)=>{const i=this._bindToExternalToInternalMap.get(e);if(i){this.remove(i)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((t,e)=>{if(n<e){t.push(e-1)}if(n>e){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}[Symbol.iterator](){return this._items[Symbol.iterator]()}}ys(xs,ds);class Cs{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){const e="plugincollection-plugin-not-loaded: The requested plugin is not loaded.";let n=t;if(typeof t=="function"){n=t.pluginName||t.name}throw new ss["b"](e,this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[]){const n=this;const i=this._context;const o=new Set;const r=[];const s=m(t);const a=m(e);const c=f(t);if(c){const t="plugincollection-plugin-not-found: Some plugins are not available and could not be loaded.";console.error(Object(ss["a"])(t),{plugins:c});return Promise.reject(new ss["b"](t,i,{plugins:c}))}return Promise.all(s.map(l)).then(()=>d(r,"init")).then(()=>d(r,"afterInit")).then(()=>r);function l(t){if(a.includes(t)){return}if(n._plugins.has(t)||o.has(t)){return}return u(t).catch(e=>{console.error(Object(ss["a"])("plugincollection-load: It was not possible to load the plugin."),{plugin:t});throw e})}function d(t,e){return t.reduce((t,i)=>{if(!i[e]){return t}if(n._contextPlugins.has(i)){return t}return t.then(i[e].bind(i))},Promise.resolve())}function u(t){return new Promise(s=>{o.add(t);if(t.requires){t.requires.forEach(n=>{const o=h(n);if(t.isContextPlugin&&!o.isContextPlugin){throw new ss["b"]("plugincollection-context-required: Context plugin can not require plugin which is not a context plugin",null,{plugin:o.name,requiredBy:t.name})}if(e.includes(o)){throw new ss["b"]("plugincollection-required: Cannot load a plugin because one of its dependencies is listed in"+"the `removePlugins` option.",i,{plugin:o.name,requiredBy:t.name})}l(o)})}const a=n._contextPlugins.get(t)||new t(i);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: Two plugins with the same name were loaded.",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}ys(Cs,ds);if(!window.CKEDITOR_TRANSLATIONS){window.CKEDITOR_TRANSLATIONS={}}function As(t,e,n){if(!window.CKEDITOR_TRANSLATIONS[t]){window.CKEDITOR_TRANSLATIONS[t]={}}const i=window.CKEDITOR_TRANSLATIONS[t];i.dictionary=i.dictionary||{};i.getPluralForm=n||i.getPluralForm;Object.assign(i.dictionary,e)}function Ts(t,e,n=1){if(typeof n!=="number"){throw new ss["b"]("translation-service-quantity-not-a-number: Expecting `quantity` to be a number.",null,{quantity:n})}const i=Es();if(i===1){t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]}const o=e.id||e.string;if(i===0||!Ps(t,o)){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[o]==="string"){return r[o]}const a=Number(s(n));return r[o][a]}function Ss(){window.CKEDITOR_TRANSLATIONS={}}function Ps(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function Es(){return Object.keys(window.CKEDITOR_TRANSLATIONS).length}const Ms=["ar","fa","he","ku","ug"];class Is{constructor(t={}){this.uiLanguage=t.uiLanguage||"en";this.contentLanguage=t.contentLanguage||this.uiLanguage;this.uiLanguageDirection=Os(this.uiLanguage);this.contentLanguageDirection=Os(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 i=n?e[0]:1;const o=Ts(this.uiLanguage,t,i);return Ns(o,e)}}function Ns(t,e){return t.replace(/%(\d+)/g,(t,n)=>n<e.length?e[n]:t)}function Os(t){return Ms.includes(t)?"rtl":"ltr"}class Rs{constructor(t){this.config=new Kr(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e);this.plugins=new Cs(this,e);const n=this.config.get("language")||{};this.locale=new Is({uiLanguage:typeof n==="string"?n:n.ui,contentLanguage:this.config.get("language.content")});this.t=this.locale.t;this.editors=new xs;this._contextOwner=null}initPlugins(){const t=this.config.get("plugins")||[];for(const e of t){if(typeof e!="function"){throw new ss["b"]("context-initplugins-constructor-only: Only a constructor function is allowed as a context plugin.",null,{Plugin:e})}if(e.isContextPlugin!==true){throw new ss["b"]("context-initplugins-invalid-plugin: Only a plugin marked as a context plugin is allowed to be used with a context.",null,{Plugin:e})}}return this.plugins.init(t)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner){throw new ss["b"]("context-addEditor-private-context: Cannot add multiple editors to the context which is created by the editor.")}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 Ls(t,e){const n=Math.min(t.length,e.length);for(let i=0;i<n;i++){if(t[i]!=e[i]){return i}}if(t.length==e.length){return"same"}else if(t.length<e.length){return"prefix"}else{return"extension"}}var Vs=4;function Ds(t){return Hr(t,Vs)}var zs=Ds;class Bs{constructor(t){this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new ss["b"]("view-node-not-found-in-parent: The node's parent does not contain this node.",this)}return t}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.index);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 i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Ls(e,n);switch(i){case"prefix":return true;case"extension":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}_remove(){this.parent._removeChildren(this.index)}_fireChange(t,e){this.fire("change:"+t,e);if(this.parent){this.parent._fireChange(t,e)}}toJSON(){const t=zs(this);delete t.parent;return t}is(t){return t==="node"||t==="view:node"}}ys(Bs,ds);class js extends Bs{constructor(t,e){super(t);this._textData=e}is(t){return t==="text"||t==="view:text"||t==="node"||t==="view:node"}get data(){return this._textData}get _data(){return this.data}set _data(t){this._fireChange("text",this);this._textData=t}isSimilar(t){if(!(t instanceof js)){return false}return this===t||this.data===t.data}_clone(){return new js(this.document,this.data)}}class Fs{constructor(t,e,n){this.textNode=t;if(e<0||e>t.data.length){throw new ss["b"]("view-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.",this)}if(n<0||e+n>t.data.length){throw new ss["b"]("view-textproxy-wrong-length: Given length value is incorrect.",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"}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 Hs(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function Us(t){if(vs(t)){return new Map(t)}else{return Hs(t)}}class qs{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=Ws(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 i=Ws(n,t);if(i){e.push({element:n,pattern:t,match:i})}}}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 Ws(t,e){if(typeof e=="function"){return e(t)}const n={};if(e.name){n.name=$s(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Gs(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Ys(e.classes,t);if(!n.classes){return false}}if(e.styles){n.styles=Ks(e.styles,t);if(!n.styles){return false}}return n}function $s(t,e){if(t instanceof RegExp){return t.test(e)}return t===e}function Gs(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasAttribute(i)){const t=e.getAttribute(i);if(o===true){n.push(i)}else if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}function Ys(t,e){const n=[];for(const i of t){if(i instanceof RegExp){const t=e.getClassNames();for(const e of t){if(i.test(e)){n.push(e)}}if(n.length===0){return null}}else if(e.hasClass(i)){n.push(i)}else{return null}}return n}function Ks(t,e){const n=[];for(const i in t){const o=t[i];if(e.hasStyle(i)){const t=e.getStyle(i);if(o instanceof RegExp){if(o.test(t)){n.push(i)}else{return null}}else if(t===o){n.push(i)}else{return null}}else{return null}}return n}var Qs="[object Symbol]";function Js(t){return typeof t=="symbol"||T(t)&&_(t)==Qs}var Zs=Js;var Xs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ta=/^\w*$/;function ea(t,e){if(Ke(t)){return false}var n=typeof t;if(n=="number"||n=="symbol"||n=="boolean"||t==null||Zs(t)){return true}return ta.test(t)||!Xs.test(t)||e!=null&&t in Object(e)}var na=ea;var ia="Expected a function";function oa(t,e){if(typeof t!="function"||e!=null&&typeof e!="function"){throw new TypeError(ia)}var n=function(){var i=arguments,o=e?e.apply(this,i):i[0],r=n.cache;if(r.has(o)){return r.get(o)}var s=t.apply(this,i);n.cache=r.set(o,s)||r;return s};n.cache=new(oa.Cache||_e);return n}oa.Cache=_e;var ra=oa;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 da=/\\(\\)?/g;var ua=ca((function(t){var e=[];if(t.charCodeAt(0)===46){e.push("")}t.replace(la,(function(t,n,i,o){e.push(i?o.replace(da,"$1"):n||t)}));return e}));var ha=ua;function fa(t,e){var n=-1,i=t==null?0:t.length,o=Array(i);while(++n<i){o[n]=e(t[n],n,t)}return o}var ma=fa;var ga=1/0;var pa=r?r.prototype:undefined,ba=pa?pa.toString:undefined;function wa(t){if(typeof t=="string"){return t}if(Ke(t)){return ma(t,wa)+""}if(Zs(t)){return ba?ba.call(t):""}var e=t+"";return e=="0"&&1/t==-ga?"-0":e}var ka=wa;function _a(t){return t==null?"":ka(t)}var va=_a;function ya(t,e){if(Ke(t)){return t}return na(t,e)?[t]:ha(va(t))}var xa=ya;function Ca(t){var e=t==null?0:t.length;return e?t[e-1]:undefined}var Aa=Ca;var Ta=1/0;function Sa(t){if(typeof t=="string"||Zs(t)){return t}var e=t+"";return e=="0"&&1/t==-Ta?"-0":e}var Pa=Sa;function Ea(t,e){e=xa(e,t);var n=0,i=e.length;while(t!=null&&n<i){t=t[Pa(e[n++])]}return n&&n==i?t:undefined}var Ma=Ea;function Ia(t,e,n){var i=-1,o=t.length;if(e<0){e=-e>o?0:o+e}n=n>o?o:n;if(n<0){n+=o}o=e>n?0:n-e>>>0;e>>>=0;var r=Array(o);while(++i<o){r[i]=t[i+e]}return r}var Na=Ia;function Oa(t,e){return e.length<2?t:Ma(t,Na(e,0,-1))}var Ra=Oa;function La(t,e){e=xa(e,t);t=Ra(t,e);return t==null||delete t[Pa(Aa(e))]}var Va=La;function Da(t,e){return t==null?true:Va(t,e)}var za=Da;function Ba(t,e,n){var i=t==null?undefined:Ma(t,e);return i===undefined?n:i}var ja=Ba;function Fa(t,e,n){if(n!==undefined&&!z(t[e],n)||n===undefined&&!(e in t)){Ie(t,e,n)}}var Ha=Fa;function Ua(t){return function(e,n,i){var o=-1,r=Object(e),s=i(e),a=s.length;while(a--){var c=s[t?a:++o];if(n(r[c],c,r)===false){break}}return e}}var qa=Ua;var Wa=qa();var $a=Wa;function Ga(t){return T(t)&&Zn(t)}var Ya=Ga;function Ka(t,e){if(e==="constructor"&&typeof t[e]==="function"){return}if(e=="__proto__"){return}return t[e]}var Qa=Ka;function Ja(t){return De(t,di(t))}var Za=Ja;function Xa(t,e,n,i,o,r,s){var a=Qa(t,n),c=Qa(e,n),l=s.get(c);if(l){Ha(t,n,l);return}var d=r?r(a,c,n+"",t,e,s):undefined;var u=d===undefined;if(u){var h=Ke(c),f=!h&&Object(Qe["a"])(c),m=!h&&!f&&Dn(c);d=c;if(h||f||m){if(Ke(a)){d=a}else if(Ya(a)){d=gi(a)}else if(f){u=false;d=Object(fi["a"])(c,true)}else if(m){u=false;d=To(c,true)}else{d=[]}}else if(R(c)||Ge(c)){d=a;if(Ge(a)){d=Za(a)}else if(!ct(a)||mt(a)){d=Zo(c)}}else{u=false}}if(u){s.set(c,d);o(d,c,i,r,s);s["delete"](c)}Ha(t,n,d)}var tc=Xa;function ec(t,e,n,i,o){if(t===e){return}$a(e,(function(r,s){o||(o=new Ae);if(ct(r)){tc(t,e,s,n,ec,i,o)}else{var a=i?i(Qa(t,s),r,s+"",t,e,o):undefined;if(a===undefined){a=r}Ha(t,s,a)}}),di)}var nc=ec;function ic(t){return t}var oc=ic;function rc(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var sc=rc;var ac=Math.max;function cc(t,e,n){e=ac(e===undefined?t.length-1:e,0);return function(){var i=arguments,o=-1,r=ac(i.length-e,0),s=Array(r);while(++o<r){s[o]=i[e+o]}o=-1;var a=Array(e+1);while(++o<e){a[o]=i[o]}a[e]=n(s);return sc(t,this,a)}}var lc=cc;function dc(t){return function(){return t}}var uc=dc;var hc=!Ee?oc:function(t,e){return Ee(t,"toString",{configurable:true,enumerable:false,value:uc(e),writable:true})};var fc=hc;var mc=800,gc=16;var pc=Date.now;function bc(t){var e=0,n=0;return function(){var i=pc(),o=gc-(i-n);n=i;if(o>0){if(++e>=mc){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}var wc=bc;var kc=wc(fc);var _c=kc;function vc(t,e){return _c(lc(t,e,oc),t+"")}var yc=vc;function xc(t,e,n){if(!ct(n)){return false}var i=typeof e;if(i=="number"?Zn(n)&&tn(e,n.length):i=="string"&&e in n){return z(n[e],t)}return false}var Cc=xc;function Ac(t){return yc((function(e,n){var i=-1,o=n.length,r=o>1?n[o-1]:undefined,s=o>2?n[2]:undefined;r=t.length>3&&typeof r=="function"?(o--,r):undefined;if(s&&Cc(n[0],n[1],s)){r=o<3?undefined:r;o=1}e=Object(e);while(++i<o){var a=n[i];if(a){t(e,a,i,r)}}return e}))}var Tc=Ac;var Sc=Tc((function(t,e,n){nc(t,e,n)}));var Pc=Sc;function Ec(t,e,n,i){if(!ct(t)){return t}e=xa(e,t);var o=-1,r=e.length,s=r-1,a=t;while(a!=null&&++o<r){var c=Pa(e[o]),l=n;if(o!=s){var d=a[c];l=i?i(d,c,a):undefined;if(l===undefined){l=ct(d)?d:tn(e[o+1])?[]:{}}}Le(a,c,l);a=a[c]}return t}var Mc=Ec;function Ic(t,e,n){return t==null?t:Mc(t,e,n)}var Nc=Ic;class Oc{constructor(t){this._styles={};this._styleProcessor=t}get isEmpty(){const t=Object.entries(this._styles);const e=Array.from(t);return!e.length}get size(){if(this.isEmpty){return 0}return this.getStyleNames().length}setTo(t){this.clear();const e=Array.from(Lc(t).entries());for(const[t,n]of e){this._styleProcessor.toNormalizedForm(t,n,this._styles)}}has(t){if(this.isEmpty){return false}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find(([e])=>e===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=Vc(t);za(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 i=e.splice(0,e.length-1).join(".");const o=ja(this._styles,i);if(!o){return}const r=!Array.from(Object.keys(o)).length;if(r){this.remove(i)}}}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)){Dc(n,Vc(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t);const{path:o,value:r}=i(e);Dc(n,o,r)}else{Dc(n,t,e)}}getNormalized(t,e){if(!t){return Pc({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n==="string"){return ja(e,n)}const i=n(t,e);if(i){return i}}return ja(e,Vc(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 Lc(t){let e=null;let n=0;let i=0;let o=null;const r=new Map;if(t===""){return r}if(t.charAt(t.length-1)!=";"){t=t+";"}for(let s=0;s<t.length;s++){const a=t.charAt(s);if(e===null){switch(a){case":":if(!o){o=t.substr(n,s-n);i=s+1}break;case'"':case"'":e=a;break;case";":{const e=t.substr(i,s-i);if(o){r.set(o.trim(),e.trim())}o=null;n=s+1;break}}}else if(a===e){e=null}}return r}function Vc(t){return t.replace("-",".")}function Dc(t,e,n){let i=n;if(ct(n)){i=Pc({},ja(t,e),n)}Nc(t,e,i)}class zc extends Bs{constructor(t,e,n,i){super(t);this.name=e;this._attrs=Bc(n);this._children=[];if(i){this._insertChild(0,i)}this._classes=new Set;if(this._attrs.has("class")){const t=this._attrs.get("class");jc(this._classes,t);this._attrs.delete("class")}this._styles=new Oc(this.document.stylesProcessor);if(this._attrs.has("style")){this._styles.setTo(this._attrs.get("style"));this._attrs.delete("style")}this._customProperties=new Map}get childCount(){return this._children.length}get isEmpty(){return this._children.length===0}is(t,e=null){if(!e){return t===this.name||t==="view:"+this.name||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="element"||t==="view:element")}}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){if(this._classes.size>0){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 zc)){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 qs(...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 i=Fc(this.document,e);for(const e of i){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;n<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_setAttribute(t,e){e=String(e);this._fireChange("attributes",this);if(t=="class"){jc(this._classes,e)}else if(t=="style"){this._styles.setTo(e)}else{this._attrs.set(t,e)}}_removeAttribute(t){this._fireChange("attributes",this);if(t=="class"){if(this._classes.size>0){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 Bc(t){t=Us(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 jc(t,e){const n=e.split(/\s+/);t.clear();n.forEach(e=>t.add(e))}function Fc(t,e){if(typeof e=="string"){return[new js(t,e)]}if(!vs(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e=="string"){return new js(t,e)}if(e instanceof Fs){return new js(t,e.data)}return e})}class Hc extends zc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Uc}is(t,e=null){if(!e){return t==="containerElement"||t==="view:containerElement"||t===this.name||t==="view:"+this.name||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 Uc(){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 qc=Tc((function(t,e){De(e,di(e),t)}));var Wc=qc;const $c=Symbol("observableProperties");const Gc=Symbol("boundObservables");const Yc=Symbol("boundProperties");const Kc={set(t,e){if(ct(t)){Object.keys(t).forEach(e=>{this.set(e,t[e])},this);return}Jc(this);const n=this[$c];if(t in this&&!n.has(t)){throw new ss["b"]("observable-set-cannot-override: Cannot override an existing property.",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const i=n.get(t);let o=this.fire("set:"+t,t,e,i);if(o===undefined){o=e}if(i!==o||!n.has(t)){n.set(t,o);this.fire("change:"+t,t,o,i)}}});this[t]=e},bind(...t){if(!t.length||!el(t)){throw new ss["b"]("observable-bind-wrong-properties: All properties must be strings.",this)}if(new Set(t).size!==t.length){throw new ss["b"]("observable-bind-duplicate-properties: Properties must be unique.",this)}Jc(this);const e=this[Yc];t.forEach(t=>{if(e.has(t)){throw new ss["b"]("observable-bind-rebind: Cannot bind the same property more than once.",this)}});const n=new Map;t.forEach(t=>{const i={property:t,to:[]};e.set(t,i);n.set(t,i)});return{to:Zc,toMany:Xc,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[$c]){return}const e=this[Yc];const n=this[Gc];if(t.length){if(!el(t)){throw new ss["b"]("observable-unbind-wrong-properties: Properties must be strings.",this)}t.forEach(t=>{const i=e.get(t);if(!i){return}let o,r,s,a;i.to.forEach(t=>{o=t[0];r=t[1];s=n.get(o);a=s[r];a.delete(i);if(!a.size){delete s[r]}if(!Object.keys(s).length){n.delete(o);this.stopListening(o,"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: Cannot decorate an undefined method.",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)}}};Wc(Kc,ds);var Qc=Kc;function Jc(t){if(t[$c]){return}Object.defineProperty(t,$c,{value:new Map});Object.defineProperty(t,Gc,{value:new Map});Object.defineProperty(t,Yc,{value:new Map})}function Zc(...t){const e=nl(...t);const n=Array.from(this._bindings.keys());const i=n.length;if(!e.callback&&e.to.length>1){throw new ss["b"]("observable-bind-to-no-callback: Binding multiple observables only possible with callback.",this)}if(i>1&&e.callback){throw new ss["b"]("observable-bind-to-extra-callback: Cannot bind multiple properties and use a callback in one binding.",this)}e.to.forEach(t=>{if(t.properties.length&&t.properties.length!==i){throw new ss["b"]("observable-bind-to-properties-length: The number of properties must match.",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);ol(this);this._bindProperties.forEach(t=>{rl(this._observable,t)})}function Xc(t,e,n){if(this._bindings.size>1){throw new ss["b"]("observable-bind-to-many-not-one-binding: Cannot bind multiple properties with toMany().",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: Invalid argument syntax in `to()`.",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: Invalid argument syntax in `to()`.",null)}});return e}function il(t,e,n,i){const o=t[Gc];const r=o.get(n);const s=r||{};if(!s[i]){s[i]=new Set}s[i].add(e);if(!r){o.set(n,s)}}function ol(t){let e;t._bindings.forEach((n,i)=>{t._to.forEach(o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)];n.to.push([o.observable,e]);il(t._observable,n,o.observable,e)})})}function rl(t,e){const n=t[Yc];const i=n.get(e);let o;if(i.callback){o=i.callback.apply(t,i.to.map(t=>t[0][t[1]]))}else{o=i.to[0];o=o[0][o[1]]}if(t.hasOwnProperty(e)){t[e]=o}else{t.set(e,o)}}function sl(t,e){e.forEach(e=>{const n=t[Gc];let i;if(!n.get(e.observable)){t.listenTo(e.observable,"change",(o,r)=>{i=n.get(e.observable)[r];if(i){i.forEach(e=>{rl(t,e.property)})}})}})}class al extends Hc{constructor(t,e,n,i){super(t,e,n,i);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===this.name||t==="view:"+this.name||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()}}ys(al,Qc);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===this.name||t==="view:"+this.name||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 dl{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new ss["b"]("view-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.",null)}if(t.direction&&t.direction!="forward"&&t.direction!="backward"){throw new ss["b"]("view-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this.position=ul._createAt(t.startPosition)}else{this.position=ul._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,i;do{i=this.position;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i}}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 i;if(n instanceof js){if(t.isAtEnd){this.position=ul._createAfter(n);return this._next()}i=n.data[t.offset]}else{i=n.getChild(t.offset)}if(i instanceof zc){if(!this.shallow){t=new ul(i,0)}else{t.offset++}this.position=t;return this._formatReturnValue("elementStart",i,e,t,1)}else if(i instanceof js){if(this.singleCharacters){t=new ul(i,0);this.position=t;return this._next()}else{let n=i.data.length;let o;if(i==this._boundaryEndParent){n=this.boundaries.end.offset;o=new Fs(i,0,n);t=ul._createAfter(o)}else{o=new Fs(i,0,i.data.length);t.offset++}this.position=t;return this._formatReturnValue("text",o,e,t,n)}}else if(typeof i=="string"){let i;if(this.singleCharacters){i=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;i=e-t.offset}const o=new Fs(n,t.offset,i);t.offset+=i;this.position=t;return this._formatReturnValue("text",o,e,t,i)}else{t=ul._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 i;if(n instanceof js){if(t.isAtStart){this.position=ul._createBefore(n);return this._previous()}i=n.data[t.offset-1]}else{i=n.getChild(t.offset-1)}if(i instanceof zc){if(!this.shallow){t=new ul(i,i.childCount);this.position=t;if(this.ignoreElementEnd){return this._previous()}else{return this._formatReturnValue("elementEnd",i,e,t)}}else{t.offset--;this.position=t;return this._formatReturnValue("elementStart",i,e,t,1)}}else if(i instanceof js){if(this.singleCharacters){t=new ul(i,i.data.length);this.position=t;return this._previous()}else{let n=i.data.length;let o;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;o=new Fs(i,e,i.data.length-e);n=o.data.length;t=ul._createBefore(o)}else{o=new Fs(i,0,i.data.length);t.offset--}this.position=t;return this._formatReturnValue("text",o,e,t,n)}}else if(typeof i=="string"){let i;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}else{i=1}t.offset-=i;const o=new Fs(n,t.offset,i);this.position=t;return this._formatReturnValue("text",o,e,t,i)}else{t=ul._createBefore(n);this.position=t;return this._formatReturnValue("elementStart",n,e,t,1)}}_formatReturnValue(t,e,n,i,o){if(e instanceof Fs){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction=="forward"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){i=ul._createAfter(e.textNode);this.position=i}else{n=ul._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction=="backward"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){i=ul._createBefore(e.textNode);this.position=i}else{n=ul._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class ul{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=ul._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new dl(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 i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-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 i=Ls(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]<n[i]?"before":"after"}}getWalker(t={}){t.startPosition=this;return new dl(t)}clone(){return new ul(this.parent,this.offset)}static _createAt(t,e){if(t instanceof ul){return new this(t.parent,t.offset)}else{const n=t;if(e=="end"){e=n.is("text")?n.data.length:n.childCount}else if(e=="before"){return this._createBefore(n)}else if(e=="after"){return this._createAfter(n)}else if(e!==0&&!e){throw new ss["b"]("view-createPositionAt-offset-required: "+"View#createPositionAt() requires the offset when the first parameter is a view item.",n)}return new ul(n,e)}}static _createAfter(t){if(t.is("textProxy")){return new ul(t.textNode,t.offsetInText+t.data.length)}if(!t.parent){throw new ss["b"]("view-position-after-root: You can not make position after root.",t,{root:t})}return new ul(t.parent,t.index+1)}static _createBefore(t){if(t.is("textProxy")){return new ul(t.textNode,t.offsetInText)}if(!t.parent){throw new ss["b"]("view-position-before-root: You can not make position before root.",t,{root:t})}return new ul(t.parent,t.index)}}class hl{constructor(t,e=null){this.start=t.clone();this.end=e?e.clone():t.clone()}*[Symbol.iterator](){yield*new dl({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let t=this.start.getLastMatchingPosition(fl,{direction:"backward"});let e=this.end.getLastMatchingPosition(fl);if(t.parent.is("text")&&t.isAtStart){t=ul._createBefore(t.parent)}if(e.parent.is("text")&&e.isAtEnd){e=ul._createAfter(e.parent)}return new hl(t,e)}getTrimmed(){let t=this.start.getLastMatchingPosition(fl);if(t.isAfter(this.end)||t.isEqual(this.end)){return new hl(t,t)}let e=this.end.getLastMatchingPosition(fl,{direction:"backward"});const n=t.nodeAfter;const i=e.nodeBefore;if(n&&n.is("text")){t=new ul(n,0)}if(i&&i.is("text")){e=new ul(i,i.data.length)}return new hl(t,e)}isEqual(t){return this==t||this.start.isEqual(t.start)&&this.end.isEqual(t.end)}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new hl(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new hl(t.end,this.end))}}else{e.push(this.clone())}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new hl(e,n)}return null}getWalker(t={}){t.boundaries=this;return new dl(t)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}let t=this.start.nodeAfter;let e=this.end.nodeBefore;if(this.start.parent.is("text")&&this.start.isAtEnd&&this.start.parent.nextSibling){t=this.start.parent.nextSibling}if(this.end.parent.is("text")&&this.end.isAtStart&&this.end.parent.previousSibling){e=this.end.parent.previousSibling}if(t&&t.is("element")&&t===e){return t}return null}clone(){return new hl(this.start,this.end)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new dl(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new dl(t);yield e.position;for(const t of e){yield t.nextPosition}}is(t){return t==="range"||t==="view:range"}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}static _createFromParentsAndOffsets(t,e,n,i){return new this(new ul(t,e),new ul(n,i))}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,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(ul._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 i of t._ranges){if(e.isEqual(i)){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 i of t.getRanges()){i=i.getTrimmed();if(e.start.isEqual(i.start)&&e.end.isEqual(i.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 ul){this._setRanges([new hl(t)]);this._setFakeOptions(e)}else if(t instanceof Bs){const i=!!n&&!!n.backward;let o;if(e===undefined){throw new ss["b"]("view-selection-setTo-required-second-parameter: "+"selection.setTo requires the second parameter when the first parameter is a node.",this)}else if(e=="in"){o=hl._createIn(t)}else if(e=="on"){o=hl._createOn(t)}else{o=new hl(ul._createAt(t,e))}this._setRanges([o],i);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: Cannot set selection to given place.",this)}this.fire("change")}setFocus(t,e){if(this.anchor===null){throw new ss["b"]("view-selection-setFocus-no-ranges: Cannot set selection focus if there are no ranges in selection.",this)}const n=ul._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const i=this.anchor;this._ranges.pop();if(n.compareWith(i)=="before"){this._addRange(new hl(n,i),true)}else{this._addRange(new hl(i,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: "+"Selection range set to an object that is not an instance of view.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: Trying to add a range that intersects with another range from selection.",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new hl(t.start,t.end))}}ys(gl,ds);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)}}ys(pl,ds);class bl{constructor(t){this.selection=new pl;this.roots=new xs({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)}}ys(bl,Qc);const wl=10;class kl extends zc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=_l;this._priority=wl;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: "+"Cannot get elements with the same id for an attribute element without id.",this)}return new Set(this._clonesGroup)}is(t,e=null){if(!e){return t==="attributeElement"||t==="view:attributeElement"||t===this.name||t==="view:"+this.name||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}}kl.DEFAULT_PRIORITY=wl;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 yl extends zc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=xl}is(t,e=null){if(!e){return t==="emptyElement"||t==="view:emptyElement"||t===this.name||t==="view:"+this.name||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 Bs||Array.from(e).length>0)){throw new ss["b"]("view-emptyelement-cannot-add: Cannot add child nodes to EmptyElement instance.",[this,e])}}}function xl(){return null}const Cl=navigator.userAgent.toLowerCase();const Al={isMac:Sl(Cl),isGecko:Pl(Cl),isSafari:El(Cl),isAndroid:Ml(Cl),features:{isRegExpUnicodePropertySupported:Il()}};var Tl=Al;function Sl(t){return t.indexOf("macintosh")>-1}function Pl(t){return!!t.match(/gecko\/\d+/)}function El(t){return t.indexOf(" applewebkit/")>-1&&t.indexOf("chrome")===-1}function Ml(t){return t.indexOf("android")>-1}function Il(){let t=false;try{t="ć".search(new RegExp("[\\p{L}]","u"))===0}catch(t){}return t}const Nl={"⌘":"ctrl","⇧":"shift","⌥":"alt"};const Ol={ctrl:"⌘",shift:"⇧",alt:"⌥"};const Rl=zl();function Ll(t){let e;if(typeof t=="string"){e=Rl[t.toLowerCase()];if(!e){throw new ss["b"]("keyboard-unknown-key: Unknown key name.",null,{key:t})}}else{e=t.keyCode+(t.altKey?Rl.alt:0)+(t.ctrlKey?Rl.ctrl:0)+(t.shiftKey?Rl.shift:0)}return e}function Vl(t){if(typeof t=="string"){t=Bl(t)}return t.map(t=>typeof t=="string"?Ll(t):t).reduce((t,e)=>e+t,0)}function Dl(t){if(!Tl.isMac){return t}return Bl(t).map(t=>Ol[t.toLowerCase()]||t).reduce((t,e)=>{if(t.slice(-1)in Nl){return t+e}else{return t+"+"+e}})}function zl(){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 Bl(t){return t.split(/\s*\+\s*/)}class jl extends zc{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Hl}is(t,e=null){if(!e){return t==="uiElement"||t==="view:uiElement"||t===this.name||t==="view:"+this.name||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 Bs||Array.from(e).length>0)){throw new ss["b"]("view-uielement-cannot-add: Cannot add child nodes to UIElement instance.",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 Fl(t){t.document.on("keydown",(e,n)=>Ul(e,n,t.domConverter))}function Hl(){return null}function Ul(t,e,n){if(e.keyCode==Rl.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const i=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode;const o=t.focusOffset;const r=n.domPositionToView(e,o);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(i){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class ql{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 i=Wl(this.document,e);for(const e of i){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<t+e;n++){this._children[n].parent=null}return this._children.splice(t,e)}_fireChange(t,e){this.fire("change:"+t,e)}}ys(ql,ds);function Wl(t,e){if(typeof e=="string"){return[new js(t,e)]}if(!vs(e)){e=[e]}return Array.from(e).map(e=>{if(typeof e=="string"){return new js(t,e)}if(e instanceof Fs){return new js(t,e.data)}return e})}class $l{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 js(this.document,t)}createAttributeElement(t,e,n={}){const i=new kl(this.document,t,e);if(n.priority){i._priority=n.priority}if(n.id){i._id=n.id}return i}createContainerElement(t,e){return new Hc(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 yl(this.document,t,e)}createUIElement(t,e,n){const i=new jl(this.document,t,e);if(n){i.render=n}return i}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 ul){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: Trying to break an element which is not a container element.",this.document)}if(!e.parent){throw new ss["b"]("view-writer-break-root: Trying to break root element.",this.document)}if(t.isAtStart){return ul._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(ul._createAfter(e),n);const i=new hl(t,ul._createAt(e,"end"));const o=new ul(n,0);this.move(i,o)}return ul._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 ul(t,e))}const i=n.getChild(e-1);const o=n.getChild(e);if(!i||!o){return t}if(i.is("text")&&o.is("text")){return Zl(i,o)}else if(i.is("attributeElement")&&o.is("attributeElement")&&i.isSimilar(o)){const t=i.childCount;i._appendChild(o.getChildren());o._remove();this._removeFromClonedElementsGroup(o);return this.mergeAttributes(new ul(i,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: "+"Element before and after given position cannot be merged.",this.document)}const i=e.getChild(e.childCount-1);const o=i instanceof js?ul._createAt(i,"end"):ul._createAt(e,"end");this.move(hl._createIn(n),ul._createAt(e,"end"));this.remove(hl._createOn(n));return o}insert(t,e){e=vs(e)?[...e]:[e];Xl(e,this.document);const n=Yl(t);if(!n){throw new ss["b"]("view-writer-invalid-position-container",this.document)}const i=this._breakAttributes(t,true);const o=n._insertChild(i.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const r=i.getShiftedBy(o);const s=this.mergeAttributes(i);if(o===0){return new hl(s,s)}else{if(!s.isEqual(i)){r.offset--}const t=this.mergeAttributes(r);return new hl(s,t)}}remove(t){const e=t instanceof hl?t:hl._createOn(t);nd(e,this.document);if(e.isCollapsed){return new ql(this.document)}const{start:n,end:i}=this._breakAttributesRange(e,true);const o=n.parent;const r=i.offset-n.offset;const s=o._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 ql(this.document,s)}clear(t,e){nd(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:true});for(const i of n){const n=i.item;let o;if(n.is("element")&&e.isSimilar(n)){o=hl._createOn(n)}else if(!i.nextPosition.isAfter(t.start)&&n.is("textProxy")){const t=n.getAncestors().find(t=>t.is("element")&&e.isSimilar(t));if(t){o=hl._createIn(t)}}if(o){if(o.end.isAfter(t.end)){o.end=t.end}if(o.start.isBefore(t.start)){o.start=t.start}this.remove(o)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const i=e.parent;const o=i.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=i.childCount-o}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof kl)){throw new ss["b"]("view-writer-wrap-invalid-attribute",this.document)}nd(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is("element")&&!Gl(n.parent)){n=n.getLastMatchingPosition(t=>t.item.is("uiElement"))}n=this._wrapPosition(n,e);const i=this.document.selection;if(i.isCollapsed&&i.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new hl(n)}}unwrap(t,e){if(!(e instanceof kl)){throw new ss["b"]("view-writer-unwrap-invalid-attribute",this.document)}nd(t,this.document);if(t.isCollapsed){return t}const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const r=this._unwrapChildren(o,n.offset,i.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 Hc(this.document,t,e.getAttributes());this.insert(ul._createAfter(e),n);this.move(hl._createIn(e),ul._createAt(n,0));this.remove(hl._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._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,i){let o=e;const r=[];while(o<n){const e=t.getChild(o);const n=e.is("text");const s=e.is("attributeElement");const a=e.is("emptyElement");const c=e.is("uiElement");if(s&&this._wrapAttributeElement(i,e)){r.push(new ul(t,o))}else if(n||a||c||s&&Kl(i,e)){const n=i._clone();e._remove();n._appendChild(e);t._insertChild(o,n);this._addToClonedElementsGroup(n);r.push(new ul(t,o))}else if(s){this._wrapChildren(e,0,e.childCount,i)}o++}let s=0;for(const t of r){t.offset-=s;if(t.offset==e){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){s++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_unwrapChildren(t,e,n,i){let o=e;const r=[];while(o<n){const e=t.getChild(o);if(!e.is("attributeElement")){o++;continue}if(e.isSimilar(i)){const i=e.getChildren();const s=e.childCount;e._remove();t._insertChild(o,i);this._removeFromClonedElementsGroup(e);r.push(new ul(t,o),new ul(t,o+s));o+=s;n+=s-1;continue}if(this._unwrapAttributeElement(i,e)){r.push(new ul(t,o),new ul(t,o+1));o++;continue}this._unwrapChildren(e,0,e.childCount,i);o++}let s=0;for(const t of r){t.offset-=s;if(t.offset==e||t.offset==n){continue}const i=this.mergeAttributes(t);if(!i.isEqual(t)){s++;n--}}return hl._createFromParentsAndOffsets(t,e,t,n)}_wrapRange(t,e){const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const r=this._wrapChildren(o,n.offset,i.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)}_wrapPosition(t,e){if(e.isSimilar(t.parent)){return Ql(t.clone())}if(t.parent.is("text")){t=Jl(t)}const n=this.createAttributeElement();n._priority=Number.POSITIVE_INFINITY;n.isSimilar=()=>false;t.parent._insertChild(t.offset,n);const i=new hl(t,t.getShiftedBy(1));this.wrap(i,e);const o=new ul(n.parent,n.index);n._remove();const r=o.nodeBefore;const s=o.nodeAfter;if(r instanceof js&&s instanceof js){return Zl(r,s)}return Ql(o)}_wrapAttributeElement(t,e){if(!id(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(!id(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 i=t.end;nd(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new hl(n,n)}const o=this._breakAttributes(i,e);const r=o.parent.childCount;const s=this._breakAttributes(n,e);o.offset+=o.parent.childCount-r;return new hl(s,o)}_breakAttributes(t,e=false){const n=t.offset;const i=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(!e&&i.is("text")&&ed(i.parent)){return t.clone()}if(ed(i)){return t.clone()}if(i.is("text")){return this._breakAttributes(Jl(t),e)}const o=i.childCount;if(n==o){const t=new ul(i.parent,i.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new ul(i.parent,i.index);return this._breakAttributes(t,e)}else{const t=i.index+1;const o=i._clone();i.parent._insertChild(t,o);this._addToClonedElementsGroup(o);const r=i.childCount-n;const s=i._removeChildren(n,r);o._appendChild(s);const a=new ul(i.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 Gl(t){return Array.from(t.getChildren()).some(t=>!t.is("uiElement"))}function Yl(t){let e=t.parent;while(!ed(e)){if(!e){return undefined}e=e.parent}return e}function Kl(t,e){if(t.priority<e.priority){return true}else if(t.priority>e.priority){return false}return t.getIdentity()<e.getIdentity()}function Ql(t){const e=t.nodeBefore;if(e&&e.is("text")){return new ul(e,e.data.length)}const n=t.nodeAfter;if(n&&n.is("text")){return new ul(n,0)}return t}function Jl(t){if(t.offset==t.parent.data.length){return new ul(t.parent.parent,t.parent.index+1)}if(t.offset===0){return new ul(t.parent.parent,t.parent.index)}const e=t.parent.data.slice(t.offset);t.parent._data=t.parent.data.slice(0,t.offset);t.parent.parent._insertChild(t.parent.index+1,new js(t.root.document,e));return new ul(t.parent.parent,t.parent.index+1)}function Zl(t,e){const n=t.data.length;t._data+=e.data;e._remove();return new ul(t,n)}function Xl(t,e){for(const n of t){if(!td.some(t=>n instanceof t)){throw new ss["b"]("view-writer-insert-invalid-node",e)}if(!n.is("text")){Xl(n.getChildren(),e)}}}const td=[js,kl,Hc,yl,jl];function ed(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function nd(t,e){const n=Yl(t.start);const i=Yl(t.end);if(!n||!i||n!==i){throw new ss["b"]("view-writer-invalid-range-container",e)}}function id(t,e){return t.id===null&&e.id===null}function od(t){return Object.prototype.toString.call(t)=="[object Text]"}const rd=t=>t.createTextNode(" ");const sd=t=>{const e=t.createElement("br");e.dataset.ckeFiller=true;return e};const ad=7;const cd=(()=>{let t="";for(let e=0;e<ad;e++){t+=""}return t})();function ld(t){return od(t)&&t.data.substr(0,ad)===cd}function dd(t){return t.data.length==ad&&ld(t)}function ud(t){if(ld(t)){return t.data.slice(ad)}else{return t.data}}function hd(t){t.document.on("keydown",fd)}function fd(t,e){if(e.keyCode==Rl.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(ld(e)&&n<=ad){t.collapse(e,0)}}}}function md(t,e,n,i=false){n=n||function(t,e){return t===e};if(!Array.isArray(t)){t=Array.prototype.slice.call(t)}if(!Array.isArray(e)){e=Array.prototype.slice.call(e)}const o=gd(t,e,n);return i?kd(o,e.length):wd(e,o)}function gd(t,e,n){const i=pd(t,e,n);if(i===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const o=bd(t,i);const r=bd(e,i);const s=pd(o,r,n);const a=t.length-s;const c=e.length-s;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}function pd(t,e,n){for(let i=0;i<Math.max(t.length,e.length);i++){if(t[i]===undefined||e[i]===undefined||!n(t[i],e[i])){return i}}return-1}function bd(t,e){return t.slice(e).reverse()}function wd(t,e){const n=[];const{firstIndex:i,lastIndexOld:o,lastIndexNew:r}=e;if(r-i>0){n.push({index:i,type:"insert",values:t.slice(i,r)})}if(o-i>0){n.push({index:i+(r-i),type:"delete",howMany:o-i})}return n}function kd(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(n===-1){return Array(e).fill("equal")}let r=[];if(n>0){r=r.concat(Array(n).fill("equal"))}if(o-n>0){r=r.concat(Array(o-n).fill("insert"))}if(i-n>0){r=r.concat(Array(i-n).fill("delete"))}if(o<e){r=r.concat(Array(e-o).fill("equal"))}return r}function _d(t,e,n){n=n||function(t,e){return t===e};const i=t.length;const o=e.length;if(i>200||o>200||i+o>300){return _d.fastDiff(t,e,n,true)}let r,s;if(o<i){const n=t;t=e;e=n;r="delete";s="insert"}else{r="insert";s="delete"}const a=t.length;const c=e.length;const l=c-a;const d={};const u={};function h(i){const o=(u[i-1]!==undefined?u[i-1]:-1)+1;const l=u[i+1]!==undefined?u[i+1]:-1;const h=o>l?-1:1;if(d[i+h]){d[i]=d[i+h].slice(0)}if(!d[i]){d[i]=[]}d[i].push(o>l?r:s);let f=Math.max(o,l);let m=f-i;while(m<a&&f<c&&n(t[m],e[f])){m++;f++;d[i].push("equal")}return f}let f=0;let m;do{for(m=-f;m<l;m++){u[m]=h(m)}for(m=l+f;m>l;m--){u[m]=h(m)}u[l]=h(l);f++}while(u[l]!==c);return d[l].slice(1)}_d.fastDiff=md;function vd(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function yd(t){const e=t.parentNode;if(e){e.removeChild(t)}}function xd(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 Cd{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: Unknown type passed to Renderer.markToSync.",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(!ld(e.parent)){this._inlineFiller=Td(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 i=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:false}));const o=this._diffNodeLists(n,i);const r=this._findReplaceActions(o,n,i);if(r.indexOf("replace")!==-1){const e={equal:0,insert:0,delete:0};for(const o of r){if(o==="replace"){const o=e.equal+e.insert;const r=e.equal+e.delete;const s=t.getChild(o);if(s&&!s.is("uiElement")){this._updateElementMappings(s,n[r])}yd(i[o]);e.equal++}else{e[o]++}}}}_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 ul._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&&od(e.parent)&&ld(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!ld(t)){throw new ss["b"]("view-renderer-filler-was-lost: The inline filler node was lost.",this)}if(dd(t)){t.parentNode.removeChild(t)}else{t.data=t.data.substr(ad)}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(!Ad(e)){return false}if(n===e.getFillerOffset()){return false}const i=t.nodeBefore;const o=t.nodeAfter;if(i instanceof js||o instanceof js){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const i=this.domConverter.viewToDom(t,n.ownerDocument);const o=n.data;let r=i.data;const s=e.inlineFillerPosition;if(s&&s.parent==t.parent&&s.offset==t.index){r=cd+r}if(o!=r){const t=md(o,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 i=t.getAttributeKeys();for(const n of i){e.setAttribute(n,t.getAttribute(n))}for(const i of n){if(!t.hasAttribute(i)){e.removeAttribute(i)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}const i=e.inlineFillerPosition;const o=this.domConverter.mapViewToDom(t).childNodes;const r=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:true,inlineFillerPosition:i}));if(i&&i.parent===t){Td(n.ownerDocument,r,i.offset)}const s=this._diffNodeLists(o,r);let a=0;const c=new Set;for(const t of s){if(t==="delete"){c.add(o[a]);yd(o[a])}else if(t==="equal"){a++}}a=0;for(const t of s){if(t==="insert"){vd(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=Md(t,this._fakeSelectionContainer);return _d(t,e,Pd.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(t.indexOf("insert")===-1||t.indexOf("delete")===-1){return t}let i=[];let o=[];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"){o.push(e[s.equal+s.delete])}else{i=i.concat(_d(o,r,Sd).map(t=>t==="equal"?"replace":t));i.push("equal");o=[];r=[]}s[a]++}return i.concat(_d(o,r,Sd).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=Id(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 i=e.getSelection();const o=e.createRange();i.removeAllRanges();o.selectNodeContents(n);i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const i=this.domConverter.viewPositionToDom(this.selection.focus);t.focus();e.collapse(n.parent,n.offset);e.extend(i.parent,i.offset);if(Tl.isGecko){Ed(i,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)}}}}ys(Cd,Qc);function Ad(t){if(t.getAttribute("contenteditable")=="false"){return false}const e=t.findAncestor(t=>t.hasAttribute("contenteditable"));return!e||e.getAttribute("contenteditable")=="true"}function Td(t,e,n){const i=e instanceof Array?e:e.childNodes;const o=i[n];if(od(o)){o.data=cd+o.data;return o}else{const o=t.createTextNode(cd);if(Array.isArray(e)){i.splice(n,0,o)}else{vd(e,n,o)}return o}}function Sd(t,e){return xd(t)&&xd(e)&&!od(t)&&!od(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Pd(t,e,n){if(e===n){return true}else if(od(e)&&od(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Ed(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const i=n.childNodes[t.offset];if(i&&i.tagName=="BR"){e.addRange(e.getRangeAt(0))}}function Md(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const i=n[n.length-1];if(i==e){n.pop()}return n}function Id(t){const e=t.createElement("div");Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"});e.textContent=" ";return e}var Nd={window:window,document:document};function Od(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function Rd(t){const e=[];while(t&&t.nodeType!=Node.DOCUMENT_NODE){e.unshift(t);t=t.parentNode}return e}function Ld(t,e){const n=Rd(t);const i=Rd(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}const Vd=sd(document);class Dd{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"];this._blockFiller=this.blockFillerMode=="br"?sd:rd;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 i;if(t.is("documentFragment")){i=e.createDocumentFragment();if(n.bind){this.bindDocumentFragments(i,t)}}else if(t.is("uiElement")){i=t.render(e);if(n.bind){this.bindElements(i,t)}return i}else{if(t.hasAttribute("xmlns")){i=e.createElementNS(t.getAttribute("xmlns"),t.name)}else{i=e.createElement(t.name)}if(n.bind){this.bindElements(i,t)}for(const e of t.getAttributeKeys()){i.setAttribute(e,t.getAttribute(e))}}if(n.withChildren||n.withChildren===undefined){for(const o of this.viewChildrenToDom(t,e,n)){i.appendChild(o)}}return i}}*viewChildrenToDom(t,e,n={}){const i=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const r of t.getChildren()){if(i===o){yield this._blockFiller(e)}yield this.viewToDom(r,e,n);o++}if(i===o){yield this._blockFiller(e)}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const i=document.createRange();i.setStart(e.parent,e.offset);i.setEnd(n.parent,n.offset);return i}viewPositionToDom(t){const e=t.parent;if(e.is("text")){const n=this.findCorrespondingDomText(e);if(!n){return null}let i=t.offset;if(ld(n)){i+=ad}return{parent:n,offset:i}}else{let n,i,o;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}o=n.childNodes[0]}else{const e=t.nodeBefore;i=e.is("text")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore);if(!i){return null}n=i.parentNode;o=i.nextSibling}if(od(o)&&ld(o)){return{parent:o,offset:ad}}const r=i?Od(i)+1:0;return{parent:n,offset:r}}}domToView(t,e={}){if(this.isBlockFiller(t,this.blockFillerMode)){return null}const n=this.getParentUIElement(t,this._domToViewMapping);if(n){return n}if(od(t)){if(dd(t)){return null}else{const e=this._processDataFromDomText(t);return e===""?null:new js(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 ql(this.document);if(e.bind){this.bindDocumentFragments(t,n)}}else{const i=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new zc(this.document,i);if(e.bind){this.bindElements(t,n)}const o=t.attributes;for(let t=o.length-1;t>=0;t--){n._setAttribute(o[t].name,o[t].value)}}if(e.withChildren||e.withChildren===undefined){for(const i of this.domChildrenToView(t,e)){n._appendChild(i)}}return n}}*domChildrenToView(t,e={}){for(let n=0;n<t.childNodes.length;n++){const i=t.childNodes[n];const o=this.domToView(i,e);if(o!==null){yield o}}}domSelectionToView(t){if(t.rangeCount===1){let e=t.getRangeAt(0).startContainer;if(od(e)){e=e.parentNode}const n=this.fakeSelectionToView(e);if(n){return n}}const e=this.isDomSelectionBackward(t);const n=[];for(let e=0;e<t.rangeCount;e++){const i=t.getRangeAt(e);const o=this.domRangeToView(i);if(o){n.push(o)}}return new gl(n,{backward:e})}domRangeToView(t){const e=this.domPositionToView(t.startContainer,t.startOffset);const n=this.domPositionToView(t.endContainer,t.endOffset);if(e&&n){return new hl(e,n)}return null}domPositionToView(t,e){if(this.isBlockFiller(t,this.blockFillerMode)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.mapDomToView(t);if(n&&n.is("uiElement")){return ul._createBefore(n)}if(od(t)){if(dd(t)){return this.domPositionToView(t.parentNode,Od(t))}const n=this.findCorrespondingViewText(t);let i=e;if(!n){return null}if(ld(t)){i-=ad;i=i<0?0:i}return new ul(n,i)}else{if(e===0){const e=this.mapDomToView(t);if(e){return new ul(e,0)}}else{const n=t.childNodes[e-1];const i=od(n)?this.findCorrespondingViewText(n):this.mapDomToView(n);if(i&&i.parent){return new ul(i.parent,i.index+1)}}return null}}mapDomToView(t){return this.getParentUIElement(t)||this._domToViewMapping.get(t)}findCorrespondingViewText(t){if(dd(t)){return null}const e=this.getParentUIElement(t);if(e){return e}const n=t.previousSibling;if(n){if(!this.isElement(n)){return null}const t=this.mapDomToView(n);if(t){const e=t.nextSibling;if(e instanceof js){return t.nextSibling}else{return null}}}else{const e=this.mapDomToView(t.parentNode);if(e){const t=e.getChild(0);if(t instanceof js){return t}else{return null}}}return null}mapViewToDom(t){return this._viewToDomMapping.get(t)}findCorrespondingDomText(t){const e=t.previousSibling;if(e&&this.mapViewToDom(e)){return this.mapViewToDom(e).nextSibling}if(!e&&t.parent&&this.mapViewToDom(t.parent)){return this.mapViewToDom(t.parent).childNodes[0]}return null}focus(t){const e=this.mapViewToDom(t);if(e&&e.ownerDocument.activeElement!==e){const{scrollX:t,scrollY:n}=Nd.window;const i=[];Bd(e,t=>{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])});e.focus();Bd(e,t=>{const[e,n]=i.shift();t.scrollLeft=e;t.scrollTop=n});Nd.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(Vd)}if(t.tagName==="BR"&&Fd(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return jd(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}getParentUIElement(t){const e=Rd(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&n.is("uiElement")){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}_isDomSelectionPositionCorrect(t,e){if(od(t)&&ld(t)&&e<ad){return false}if(this.isElement(t)&&ld(t.childNodes[e])){return false}const n=this.mapDomToView(t);if(n&&n.is("uiElement")){return false}return true}_processDataFromViewText(t){let e=t.data;if(t.getAncestors().some(t=>this.preElements.includes(t.name))){return e}if(e.charAt(0)==" "){const n=this._getTouchingViewTextNode(t,false);const i=n&&this._nodeEndsWithSpace(n);if(i||!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(zd(t,this.preElements)){return ud(t)}e=e.replace(/[ \n\t\r]{1,}/g," ");const n=this._getTouchingInlineDomNode(t,false);const i=this._getTouchingInlineDomNode(t,true);const o=this._checkShouldLeftTrimDomText(n);const r=this._checkShouldRightTrimDomText(t,i);if(o){e=e.replace(/^ /,"")}if(r){e=e.replace(/ $/,"")}e=ud(new Text(e));e=e.replace(/ \u00A0/g," ");if(/( |\u00A0)\u00A0$/.test(e)||!i||i.data&&i.data.charAt(0)==" "){e=e.replace(/\u00A0$/," ")}if(o){e=e.replace(/^\u00A0/," ")}return e}_checkShouldLeftTrimDomText(t){if(!t){return true}if(Yr(t)){return true}return/[^\S\u00A0]/.test(t.data.charAt(t.data.length-1))}_checkShouldRightTrimDomText(t,e){if(e){return false}return!ld(t)}_getTouchingViewTextNode(t,e){const n=new dl({startPosition:e?ul._createAfter(t):ul._createBefore(t),direction:e?"forward":"backward"});for(const t of n){if(t.item.is("containerElement")){return null}else if(t.item.is("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 i=t.ownerDocument;const o=Rd(t)[0];const r=i.createTreeWalker(o,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode(t){if(od(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=Ld(t,s);if(e&&!zd(t,this.blockElements,e)&&!zd(s,this.blockElements,e)){return s}}return null}}function zd(t,e,n){let i=Rd(t);if(n){i=i.slice(i.indexOf(n)+1)}return i.some(t=>t.tagName&&e.includes(t.tagName.toLowerCase()))}function Bd(t,e){while(t&&t!=Nd.document){e(t);t=t.parentNode}}function jd(t,e){const n=od(t)&&t.data==" ";return n&&Fd(t,e)&&t.parentNode.childNodes.length===1}function Fd(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function Hd(t){const e=Object.prototype.toString.apply(t);if(e=="[object Window]"){return true}if(e=="[object global]"){return true}return false}const Ud=Wc({},ds,{listenTo(t,...e){if(xd(t)||Hd(t)){const n=this._getProxyEmitter(t)||new Wd(t);n.attach(...e);t=n}ds.listenTo.call(this,t,...e)},stopListening(t,e,n){if(xd(t)||Hd(t)){const e=this._getProxyEmitter(t);if(!e){return}t=e}ds.stopListening.call(this,t,e,n);if(t instanceof Wd){t.detach(e)}},_getProxyEmitter(t){return us(this,$d(t))}});var qd=Ud;class Wd{constructor(t){hs(this,$d(t));this._domNode=t}}Wc(Wd.prototype,ds,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t]){return}const i=this._createDomListener(t,!!n.useCapture);this._domNode.addEventListener(t,i,!!n.useCapture);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 $d(t){return t["data-ck-expando"]||(t["data-ck-expando"]=ns())}class Gd{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()}}ys(Gd,qd);var Yd="__lodash_hash_undefined__";function Kd(t){this.__data__.set(t,Yd);return this}var Qd=Kd;function Jd(t){return this.__data__.has(t)}var Zd=Jd;function Xd(t){var e=-1,n=t==null?0:t.length;this.__data__=new _e;while(++e<n){this.add(t[e])}}Xd.prototype.add=Xd.prototype.push=Qd;Xd.prototype.has=Zd;var tu=Xd;function eu(t,e){var n=-1,i=t==null?0:t.length;while(++n<i){if(e(t[n],n,t)){return true}}return false}var nu=eu;function iu(t,e){return t.has(e)}var ou=iu;var ru=1,su=2;function au(t,e,n,i,o,r){var s=n&ru,a=t.length,c=e.length;if(a!=c&&!(s&&c>a)){return false}var l=r.get(t);if(l&&r.get(e)){return l==e}var d=-1,u=true,h=n&su?new tu:undefined;r.set(t,e);r.set(e,t);while(++d<a){var f=t[d],m=e[d];if(i){var g=s?i(m,f,d,e,t,r):i(f,m,d,t,e,r)}if(g!==undefined){if(g){continue}u=false;break}if(h){if(!nu(e,(function(t,e){if(!ou(h,e)&&(f===t||o(f,t,n,i,r))){return h.push(e)}}))){u=false;break}}else if(!(f===m||o(f,m,n,i,r))){u=false;break}}r["delete"](t);r["delete"](e);return u}var cu=au;function lu(t){var e=-1,n=Array(t.size);t.forEach((function(t,i){n[++e]=[i,t]}));return n}var du=lu;function uu(t){var e=-1,n=Array(t.size);t.forEach((function(t){n[++e]=t}));return n}var hu=uu;var fu=1,mu=2;var gu="[object Boolean]",pu="[object Date]",bu="[object Error]",wu="[object Map]",ku="[object Number]",_u="[object RegExp]",vu="[object Set]",yu="[object String]",xu="[object Symbol]";var Cu="[object ArrayBuffer]",Au="[object DataView]";var Tu=r?r.prototype:undefined,Su=Tu?Tu.valueOf:undefined;function Pu(t,e,n,i,o,r,s){switch(n){case Au:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset){return false}t=t.buffer;e=e.buffer;case Cu:if(t.byteLength!=e.byteLength||!r(new fo(t),new fo(e))){return false}return true;case gu:case pu:case ku:return z(+t,+e);case bu:return t.name==e.name&&t.message==e.message;case _u:case yu:return t==e+"";case wu:var a=du;case vu:var c=i&fu;a||(a=hu);if(t.size!=e.size&&!c){return false}var l=s.get(t);if(l){return l==e}i|=mu;s.set(t,e);var d=cu(a(t),a(e),i,o,r,s);s["delete"](t);return d;case xu:if(Su){return Su.call(t)==Su.call(e)}}return false}var Eu=Pu;var Mu=1;var Iu=Object.prototype;var Nu=Iu.hasOwnProperty;function Ou(t,e,n,i,o,r){var s=n&Mu,a=Di(t),c=a.length,l=Di(e),d=l.length;if(c!=d&&!s){return false}var u=c;while(u--){var h=a[u];if(!(s?h in e:Nu.call(e,h))){return false}}var f=r.get(t);if(f&&r.get(e)){return f==e}var m=true;r.set(t,e);r.set(e,t);var g=s;while(++u<c){h=a[u];var p=t[h],b=e[h];if(i){var w=s?i(b,p,h,e,t,r):i(p,b,h,t,e,r)}if(!(w===undefined?p===b||o(p,b,n,i,r):w)){m=false;break}g||(g=h=="constructor")}if(m&&!g){var k=t.constructor,_=e.constructor;if(k!=_&&("constructor"in t&&"constructor"in e)&&!(typeof k=="function"&&k instanceof k&&typeof _=="function"&&_ instanceof _)){m=false}}r["delete"](t);r["delete"](e);return m}var Ru=Ou;var Lu=1;var Vu="[object Arguments]",Du="[object Array]",zu="[object Object]";var Bu=Object.prototype;var ju=Bu.hasOwnProperty;function Fu(t,e,n,i,o,r){var s=Ke(t),a=Ke(e),c=s?Du:so(t),l=a?Du:so(e);c=c==Vu?zu:c;l=l==Vu?zu:l;var d=c==zu,u=l==zu,h=c==l;if(h&&Object(Qe["a"])(t)){if(!Object(Qe["a"])(e)){return false}s=true;d=false}if(h&&!d){r||(r=new Ae);return s||Dn(t)?cu(t,e,n,i,o,r):Eu(t,e,c,n,i,o,r)}if(!(n&Lu)){var f=d&&ju.call(t,"__wrapped__"),m=u&&ju.call(e,"__wrapped__");if(f||m){var g=f?t.value():t,p=m?e.value():e;r||(r=new Ae);return o(g,p,n,i,r)}}if(!h){return false}r||(r=new Ae);return Ru(t,e,n,i,o,r)}var Hu=Fu;function Uu(t,e,n,i,o){if(t===e){return true}if(t==null||e==null||!T(t)&&!T(e)){return t!==t&&e!==e}return Hu(t,e,n,i,Uu,o)}var qu=Uu;function Wu(t,e,n){n=typeof n=="function"?n:undefined;var i=n?n(t,e):undefined;return i===undefined?qu(t,e,undefined,n):!!i}var $u=Wu;class Gu extends Gd{constructor(t){super(t);this._config={childList:true,characterData:true,characterDataOldValue:true,subtree:true};this.domConverter=t.domConverter;this.renderer=t._renderer;this._domElements=[];this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(t){this._domElements.push(t);if(this.isEnabled){this._mutationObserver.observe(t,this._config)}}enable(){super.enable();for(const t of this._domElements){this._mutationObserver.observe(t,this._config)}}disable(){super.disable();this._mutationObserver.disconnect()}destroy(){super.destroy();this._mutationObserver.disconnect()}_onMutations(t){if(t.length===0){return}const e=this.domConverter;const n=new Map;const i=new Set;for(const n of t){if(n.type==="childList"){const t=e.mapDomToView(n.target);if(t&&t.is("uiElement")){continue}if(t&&!this._isBogusBrMutation(n)){i.add(t)}}}for(const o of t){const t=e.mapDomToView(o.target);if(t&&t.is("uiElement")){continue}if(o.type==="characterData"){const t=e.findCorrespondingViewText(o.target);if(t&&!i.has(t.parent)){n.set(t,{type:"text",oldText:t.data,newText:ud(o.target),node:t})}else if(!t&&ld(o.target)){i.add(e.mapDomToView(o.target.parentNode))}}}const o=[];for(const t of n.values()){this.renderer.markToSync("text",t.node);o.push(t)}for(const t of i){const n=e.mapViewToDom(t);const i=Array.from(t.getChildren());const r=Array.from(e.domChildrenToView(n,{withChildren:false}));if(!$u(i,r,a)){this.renderer.markToSync("children",t);o.push({type:"children",oldChildren:i,newChildren:r,node:t})}}const r=t[0].target.ownerDocument.getSelection();let s=null;if(r&&r.anchorNode){const t=e.domPositionToView(r.anchorNode,r.anchorOffset);const n=e.domPositionToView(r.focusNode,r.focusOffset);if(t&&n){s=new gl(t);s.setFocus(n)}}if(o.length){this.document.fire("mutations",o,s);this.view.forceRender()}function a(t,e){if(Array.isArray(t)){return}if(t===e){return true}else if(t.is("text")&&e.is("text")){return t.data===e.data}return false}}_isBogusBrMutation(t){let e=null;if(t.nextSibling===null&&t.removedNodes.length===0&&t.addedNodes.length==1){e=this.domConverter.domToView(t.addedNodes[0],{withChildren:false})}return e&&e.is("element","br")}}class Yu{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;Wc(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Ku extends Gd{constructor(t){super(t);this.useCapture=false}observe(t){const e=typeof this.domEventType=="string"?[this.domEventType]:this.domEventType;e.forEach(e=>{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 Yu(this.view,e,n))}}}class Qu extends Ku{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 Ll(this)}})}}var Ju=function(){return i["a"].Date.now()};var Zu=Ju;var Xu=0/0;var th=/^\s+|\s+$/g;var eh=/^[-+]0x[0-9a-f]+$/i;var nh=/^0b[01]+$/i;var ih=/^0o[0-7]+$/i;var oh=parseInt;function rh(t){if(typeof t=="number"){return t}if(Zs(t)){return Xu}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(th,"");var n=nh.test(t);return n||ih.test(t)?oh(t.slice(2),n?2:8):eh.test(t)?Xu:+t}var sh=rh;var ah="Expected a function";var ch=Math.max,lh=Math.min;function dh(t,e,n){var i,o,r,s,a,c,l=0,d=false,u=false,h=true;if(typeof t!="function"){throw new TypeError(ah)}e=sh(e)||0;if(ct(n)){d=!!n.leading;u="maxWait"in n;r=u?ch(sh(n.maxWait)||0,e):r;h="trailing"in n?!!n.trailing:h}function f(e){var n=i,r=o;i=o=undefined;l=e;s=t.apply(r,n);return s}function m(t){l=t;a=setTimeout(b,e);return d?f(t):s}function g(t){var n=t-c,i=t-l,o=e-n;return u?lh(o,r-i):o}function p(t){var n=t-c,i=t-l;return c===undefined||n>=e||n<0||u&&i>=r}function b(){var t=Zu();if(p(t)){return w(t)}a=setTimeout(b,g(t))}function w(t){a=undefined;if(h&&i){return f(t)}i=o=undefined;return s}function k(){if(a!==undefined){clearTimeout(a)}l=0;i=c=o=a=undefined}function _(){return a===undefined?s:w(Zu())}function v(){var t=Zu(),n=p(t);i=arguments;o=this;c=t;if(n){if(a===undefined){return m(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return f(c)}}if(a===undefined){a=setTimeout(b,e)}return s}v.cancel=k;v.flush=_;return v}var uh=dh;class hh extends Gd{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=uh(t=>this.document.fire("selectionChangeDone",t),200)}observe(){const t=this.document;t.on("keydown",(e,n)=>{const i=t.selection;if(i.isFake&&fh(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==Rl.arrowleft||t==Rl.arrowup){n.setTo(n.getFirstPosition())}if(t==Rl.arrowright||t==Rl.arrowdown){n.setTo(n.getLastPosition())}const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i);this._fireSelectionChangeDoneDebounced(i)}}function fh(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}class mh extends Gd{constructor(t){super(t);this.mutationObserver=t.getObserver(Gu);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=uh(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 gh extends Ku{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,i)=>{const o=e.selection.editableElement;if(o===null||o===i.target){e.isFocused=false;t.forceRender()}})}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class ph extends Ku{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 bh extends Ku{constructor(t){super(t);this.domEventType=["beforeinput"]}onDomEvent(t){this.fire(t.type,t)}}function wh(t){return Object.prototype.toString.apply(t)=="[object Range]"}function kh(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 _h=["top","right","bottom","left","width","height"];class vh{constructor(t){const e=wh(t);Object.defineProperty(this,"_source",{value:t._source||t,writable:true,enumerable:false});if(Yr(t)||e){if(e){yh(this,vh.getDomRangeRects(t)[0])}else{yh(this,t.getBoundingClientRect())}}else if(Hd(t)){const{innerWidth:e,innerHeight:n}=t;yh(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{yh(this,t)}}clone(){return new vh(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 vh(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(!xh(t)){let n=t.parentNode||t.commonAncestorContainer;while(n&&!xh(n)){const t=new vh(n);const i=e.getIntersection(t);if(i){if(i.getArea()<e.getArea()){e=i}}else{return null}n=n.parentNode}}return e}isEqual(t){for(const e of _h){if(this[e]!==t[e]){return false}}return true}contains(t){const e=this.getIntersection(t);return!!(e&&e.isEqual(t))}excludeScrollbarsAndBorders(){const t=this._source;let e,n,i;if(Hd(t)){e=t.innerWidth-t.document.documentElement.clientWidth;n=t.innerHeight-t.document.documentElement.clientHeight;i=t.getComputedStyle(t.document.documentElement).direction}else{const o=kh(this._source);e=t.offsetWidth-t.clientWidth-o.left-o.right;n=t.offsetHeight-t.clientHeight-o.top-o.bottom;i=t.ownerDocument.defaultView.getComputedStyle(t).direction;this.left+=o.left;this.top+=o.top;this.right-=o.right;this.bottom-=o.bottom;this.width=this.right-this.left;this.height=this.bottom-this.top}this.width-=e;if(i==="ltr"){this.right-=e}else{this.left+=e}this.height-=n;this.bottom-=n;return this}static getDomRangeRects(t){const e=[];const n=Array.from(t.getClientRects());if(n.length){for(const t of n){e.push(new vh(t))}}else{let n=t.startContainer;if(od(n)){n=n.parentNode}const i=new vh(n.getBoundingClientRect());i.right=i.left;i.width=0;e.push(i)}return e}}function yh(t,e){for(const n of _h){t[n]=e[n]}}function xh(t){if(!Yr(t)){return false}return t===t.ownerDocument.body}const Ch={};function Ah({target:t,viewportOffset:e=0}){const n=Oh(t);let i=n;let o=null;while(i){let r;if(i==n){r=Rh(t)}else{r=Rh(o)}Ph(r,()=>Lh(t,i));const s=Lh(t,i);Sh(i,s,e);if(i.parent!=i){o=i.frameElement;i=i.parent;if(!o){return}}else{i=null}}}function Th(t){const e=Rh(t);Ph(e,()=>new vh(t))}Object.assign(Ch,{scrollViewportToShowTarget:Ah,scrollAncestorsToShowTarget:Th});function Sh(t,e,n){const i=e.clone().moveBy(0,n);const o=e.clone().moveBy(0,-n);const r=new vh(t).excludeScrollbarsAndBorders();const s=[o,i];if(!s.every(t=>r.contains(t))){let{scrollX:s,scrollY:a}=t;if(Mh(o,r)){a-=r.top-e.top+n}else if(Eh(i,r)){a+=e.bottom-r.bottom+n}if(Ih(e,r)){s-=r.left-e.left+n}else if(Nh(e,r)){s+=e.right-r.right+n}t.scrollTo(s,a)}}function Ph(t,e){const n=Oh(t);let i,o;while(t!=n.document.body){o=e();i=new vh(t).excludeScrollbarsAndBorders();if(!i.contains(o)){if(Mh(o,i)){t.scrollTop-=i.top-o.top}else if(Eh(o,i)){t.scrollTop+=o.bottom-i.bottom}if(Ih(o,i)){t.scrollLeft-=i.left-o.left}else if(Nh(o,i)){t.scrollLeft+=o.right-i.right}}t=t.parentNode}}function Eh(t,e){return t.bottom>e.bottom}function Mh(t,e){return t.top<e.top}function Ih(t,e){return t.left<e.left}function Nh(t,e){return t.right>e.right}function Oh(t){if(wh(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Rh(t){if(wh(t)){let e=t.commonAncestorContainer;if(od(e)){e=e.parentNode}return e}else{return t.parentNode}}function Lh(t,e){const n=Oh(t);const i=new vh(t);if(n===e){return i}else{let t=n;while(t!=e){const e=t.frameElement;const n=new vh(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top);t=t.parent}}return i}class Vh{constructor(t){this.document=new bl(t);this.domConverter=new Dd(this.document);this.domRoots=new Map;this.set("isRenderingInProgress",false);this.set("hasDomSelection",false);this._renderer=new Cd(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 $l(this.document);this.addObserver(Gu);this.addObserver(mh);this.addObserver(gh);this.addObserver(Qu);this.addObserver(hh);this.addObserver(ph);if(Tl.isAndroid){this.addObserver(bh)}hd(this);Fl(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 i={};for(const{name:e,value:o}of Array.from(t.attributes)){i[e]=o;if(e==="class"){this._writer.addClass(o.split(" "),n)}else{this._writer.setAttribute(e,o,n)}}this._initialDomRootAttributes.set(t,i);const o=()=>{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)}};o();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(o));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){Ah({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: "+"Attempting to make changes to the view when it is in an incorrect state: rendering or post-fixers are in progress. "+"This may cause some unexpected behavior and inconsistency between the DOM and the view.",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 ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._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}}ys(Vh,Qc);class Dh{constructor(t){this.parent=null;this._attrs=Us(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: The node's parent does not contain this node.",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: The node's parent does not contain this node.",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 i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Ls(e,n);switch(i){case"prefix":return true;case"extension":return false;default:return e[i]<n[i]}}isAfter(t){if(this==t){return false}if(this.root!==t.root){return false}return!this.isBefore(t)}hasAttribute(t){return this._attrs.has(t)}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}toJSON(){const t={};if(this._attrs.size){t.attributes=Array.from(this._attrs).reduce((t,e)=>{t[e[0]]=e[1];return t},{})}return t}is(t){return t==="node"||t==="model:node"}_clone(){return new Dh(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Us(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class zh extends Dh{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==="node"||t==="model:node"}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new zh(this.data,this.getAttributes())}static fromJSON(t){return new zh(t.data,t.attributes)}}class Bh{constructor(t,e,n){this.textNode=t;if(e<0||e>t.offsetSize){throw new ss["b"]("model-textproxy-wrong-offsetintext: Given offsetInText value is incorrect.",this)}if(n<0||e+n>t.offsetSize){throw new ss["b"]("model-textproxy-wrong-length: Given length value is incorrect.",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"}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 jh{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: Given index cannot be found in the node list.",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t<e+n.offsetSize){return this.getNodeIndex(n)}e+=n.offsetSize}if(e!=t){throw new ss["b"]("model-nodelist-offset-out-of-bounds: Given offset cannot be found in the node list.",this,{offset:t,nodeList:this})}return this.length}_insertNodes(t,e){for(const t of e){if(!(t instanceof Dh)){throw new ss["b"]("model-nodelist-insertNodes-not-node: Trying to insert an object which is not a Node instance.",this)}}this._nodes.splice(t,0,...e)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map(t=>t.toJSON())}}class Fh extends Dh{constructor(t,e,n){super(e);this.name=t;this._children=new jh;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===this.name||t==="model:"+this.name||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}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 Fh(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(Fh.fromJSON(n))}else{e.push(zh.fromJSON(n))}}}return new Fh(t.name,t.attributes,e)}}function Hh(t){if(typeof t=="string"){return[new zh(t)]}if(!vs(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t=="string"){return new zh(t)}if(t instanceof Bh){return new zh(t.data,t.getAttributes())}return t})}class Uh{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new ss["b"]("model-tree-walker-no-start-position: Neither boundaries nor starting position have been defined.",null)}const e=t.direction||"forward";if(e!="forward"&&e!="backward"){throw new ss["b"]("model-tree-walker-unknown-direction: Only `backward` and `forward` direction allowed.",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this.position=t.startPosition.clone()}else{this.position=Wh._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,i,o;do{i=this.position;o=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=i;this._visitedParent=o}}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 i=e.parent;const o=$h(e,i);const r=o?o:Gh(e,i,o);if(r instanceof Fh){if(!this.shallow){e.path.push(0);this._visitedParent=r}else{e.offset++}this.position=e;return qh("elementStart",r,t,e,1)}else if(r instanceof zh){let i;if(this.singleCharacters){i=1}else{let t=r.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offset<t){t=this.boundaries.end.offset}i=t-e.offset}const o=e.offset-r.startOffset;const s=new Bh(r,o,i);e.offset+=i;this.position=e;return qh("text",s,t,e,i)}else{e.path.pop();e.offset++;this.position=e;this._visitedParent=n.parent;if(this.ignoreElementEnd){return this._next()}else{return qh("elementEnd",n,t,e)}}}_previous(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===0){return{done:true}}if(n==this._boundaryStartParent&&e.offset==this.boundaries.start.offset){return{done:true}}const i=e.parent;const o=$h(e,i);const r=o?o:Yh(e,i,o);if(r instanceof Fh){e.offset--;if(!this.shallow){e.path.push(r.maxOffset);this.position=e;this._visitedParent=r;if(this.ignoreElementEnd){return this._previous()}else{return qh("elementEnd",r,t,e)}}else{this.position=e;return qh("elementStart",r,t,e,1)}}else if(r instanceof zh){let i;if(this.singleCharacters){i=1}else{let t=r.startOffset;if(this._boundaryStartParent==n&&this.boundaries.start.offset>t){t=this.boundaries.start.offset}i=e.offset-t}const o=e.offset-r.startOffset;const s=new Bh(r,o-i,i);e.offset-=i;this.position=e;return qh("text",s,t,e,i)}else{e.path.pop();this.position=e;this._visitedParent=n.parent;return qh("elementStart",n,t,e,1)}}}function qh(t,e,n,i,o){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class Wh{constructor(t,e,n="toNone"){if(!t.is("element")&&!t.is("documentFragment")){throw new ss["b"]("model-position-root-invalid: Position root invalid.",t)}if(!(e instanceof Array)||e.length===0){throw new ss["b"]("model-position-path-incorrect-format: Position path must be an array with at least one item.",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;e<this.path.length-1;e++){t=t.getChild(t.offsetToIndex(this.path[e]));if(!t){throw new ss["b"]("model-position-path-incorrect: The position's path is incorrect.",this,{position:this})}}if(t.is("text")){throw new ss["b"]("model-position-path-incorrect: The position's path is incorrect.",this,{position:this})}return t}get index(){return this.parent.offsetToIndex(this.offset)}get textNode(){return $h(this,this.parent)}get nodeAfter(){const t=this.parent;return Gh(this,t,$h(this,t))}get nodeBefore(){const t=this.parent;return Yh(this,t,$h(this,t))}get isAtStart(){return this.offset===0}get isAtEnd(){return this.offset==this.parent.maxOffset}compareWith(t){if(this.root!=t.root){return"different"}const e=Ls(this.path,t.path);switch(e){case"same":return"same";case"prefix":return"before";case"extension":return"after";default:return this.path[e]<t.path[e]?"before":"after"}}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Uh(e);n.skip(t);return n.position}getParentPath(){return this.path.slice(0,-1)}getAncestors(){const t=this.parent;if(t.is("documentFragment")){return[t]}else{return t.getAncestors({includeSelf:true})}}getCommonPath(t){if(this.root!=t.root){return[]}const e=Ls(this.path,t.path);const n=typeof e=="string"?Math.min(this.path.length,t.path.length):e;return this.path.slice(0,n)}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}getShiftedBy(t){const e=this.clone();const n=e.offset+t;e.offset=n<0?0:n;return e}isAfter(t){return this.compareWith(t)=="after"}isBefore(t){return this.compareWith(t)=="before"}isEqual(t){return this.compareWith(t)=="same"}isTouching(t){let e=null;let n=null;const i=this.compareWith(t);switch(i){case"same":return true;case"before":e=Wh._createAt(this);n=Wh._createAt(t);break;case"after":e=Wh._createAt(t);n=Wh._createAt(this);break;default:return false}let o=e.parent;while(e.path.length+n.path.length){if(e.isEqual(n)){return true}if(e.path.length>n.path.length){if(e.offset!==o.maxOffset){return false}e.path=e.path.slice(0,-1);o=o.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 Ls(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=Wh._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 i;if(n){i=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){i=i._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){i=Wh._createAt(t.deletionPosition)}else{i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return i}_getTransformedByDeletion(t,e){const n=Wh._createAt(this);if(this.root!=t.root){return n}if(Ls(t.getParentPath(),this.getParentPath())=="same"){if(t.offset<this.offset){if(t.offset+e>this.offset){return null}else{n.offset-=e}}}else if(Ls(t.getParentPath(),this.getParentPath())=="prefix"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i]){return null}else{n.path[i]-=e}}}return n}_getTransformedByInsertion(t,e){const n=Wh._createAt(this);if(this.root!=t.root){return n}if(Ls(t.getParentPath(),this.getParentPath())=="same"){if(t.offset<this.offset||t.offset==this.offset&&this.stickiness!="toPrevious"){n.offset+=e}}else if(Ls(t.getParentPath(),this.getParentPath())=="prefix"){const i=t.path.length-1;if(t.offset<=this.path[i]){n.path[i]+=e}}return n}_getTransformedByMove(t,e,n){e=e._getTransformedByDeletion(t,n);if(t.isEqual(e)){return Wh._createAt(this)}const i=this._getTransformedByDeletion(t,n);const o=i===null||t.isEqual(this)&&this.stickiness=="toNext"||t.getShiftedBy(n).isEqual(this)&&this.stickiness=="toPrevious";if(o){return this._getCombined(t,e)}else{return i._getTransformedByInsertion(e,n)}}_getCombined(t,e){const n=t.path.length-1;const i=Wh._createAt(e);i.stickiness=this.stickiness;i.offset=i.offset+this.path[n]-t.offset;i.path=[...i.path,...this.path.slice(n+1)];return i}toJSON(){return{root:this.root.toJSON(),path:Array.from(this.path),stickiness:this.stickiness}}clone(){return new this.constructor(this.root,this.path,this.stickiness)}static _createAt(t,e,n="toNone"){if(t instanceof Wh){return new Wh(t.root,t.path,t.stickiness)}else{const i=t;if(e=="end"){e=i.maxOffset}else if(e=="before"){return this._createBefore(i,n)}else if(e=="after"){return this._createAfter(i,n)}else if(e!==0&&!e){throw new ss["b"]("model-createPositionAt-offset-required: "+"Model#createPositionAt() requires the offset when the first parameter is a model item.",[this,t])}if(!i.is("element")&&!i.is("documentFragment")){throw new ss["b"]("model-position-parent-incorrect: Position parent have to be a element or document fragment.",[this,t])}const o=i.getPath();o.push(e);return new this(i.root,o,n)}}static _createAfter(t,e){if(!t.parent){throw new ss["b"]("model-position-after-root: You cannot make a position after root.",[this,t],{root:t})}return this._createAt(t.parent,t.endOffset,e)}static _createBefore(t,e){if(!t.parent){throw new ss["b"]("model-position-before-root: You cannot make a position before root.",t,{root:t})}return this._createAt(t.parent,t.startOffset,e)}static fromJSON(t,e){if(t.root==="$graveyard"){const n=new Wh(e.graveyard,t.path);n.stickiness=t.stickiness;return n}if(!e.getRoot(t.root)){throw new ss["b"]("model-position-fromjson-no-root: Cannot create position for document. Root with specified name does not exist.",e,{rootName:t.root})}return new Wh(e.getRoot(t.root),t.path,t.stickiness)}}function $h(t,e){const n=e.getChild(e.offsetToIndex(t.offset));if(n&&n.is("text")&&n.startOffset<t.offset){return n}return null}function Gh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset))}function Yh(t,e,n){if(n!==null){return null}return e.getChild(e.offsetToIndex(t.offset)-1)}class Kh{constructor(t,e=null){this.start=Wh._createAt(t);this.end=e?Wh._createAt(e):Wh._createAt(t);this.start.stickiness=this.isCollapsed?"toNone":"toNext";this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new Uh({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Ls(t,e)=="same"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=Wh._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}is(t){return t==="range"||t==="model:range"}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new Kh(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new Kh(t.end,this.end))}}else{e.push(new Kh(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new Kh(e,n)}return null}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=Wh._createAt(this.start);let i=n.parent;while(n.path.length>e+1){const e=i.maxOffset-n.offset;if(e!==0){t.push(new Kh(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;i=i.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const i=e-n.offset;if(i!==0){t.push(new Kh(n,n.getShiftedBy(i)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Uh(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Uh(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Uh(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 Kh(this.start,this.end)]}getTransformedByOperations(t){const e=[new Kh(this.start,this.end)];for(const n of t){for(let t=0;t<e.length;t++){const i=e[t].getTransformedByOperation(n);e.splice(t,1,...i);t+=i.length-1}}for(let t=0;t<e.length;t++){const n=e[t];for(let i=t+1;i<e.length;i++){const t=e[i];if(n.containsRange(t)||t.containsRange(n)||n.isEqual(t)){e.splice(i,1)}}}return e}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed){return null}const t=this.start.nodeAfter;const e=this.end.nodeBefore;if(t&&t.is("element")&&t===e){return t}return null}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}clone(){return new this.constructor(this.start,this.end)}_getTransformedByInsertOperation(t,e=false){return this._getTransformedByInsertion(t.position,t.howMany,e)}_getTransformedByMoveOperation(t,e=false){const n=t.sourcePosition;const i=t.howMany;const o=t.targetPosition;return this._getTransformedByMove(n,o,i,e)}_getTransformedBySplitOperation(t){const e=this.start._getTransformedBySplitOperation(t);let n=this.end._getTransformedBySplitOperation(t);if(this.end.isEqual(t.insertionPosition)){n=this.end.getShiftedBy(1)}if(e.root!=n.root){n=this.end.getShiftedBy(-1)}return new Kh(e,n)}_getTransformedByMergeOperation(t){if(this.start.isEqual(t.targetPosition)&&this.end.isEqual(t.deletionPosition)){return new Kh(this.start)}let e=this.start._getTransformedByMergeOperation(t);let n=this.end._getTransformedByMergeOperation(t);if(e.root!=n.root){n=this.end.getShiftedBy(-1)}if(e.isAfter(n)){if(t.sourcePosition.isBefore(t.targetPosition)){e=Wh._createAt(n);e.offset=0}else{if(!t.deletionPosition.isEqual(e)){n=t.deletionPosition}e=t.targetPosition}return new Kh(e,n)}return new Kh(e,n)}_getTransformedByInsertion(t,e,n=false){if(n&&this.containsPosition(t)){return[new Kh(this.start,t),new Kh(t.getShiftedBy(e),this.end._getTransformedByInsertion(t,e))]}else{const n=new Kh(this.start,this.end);n.start=n.start._getTransformedByInsertion(t,e);n.end=n.end._getTransformedByInsertion(t,e);return[n]}}_getTransformedByMove(t,e,n,i=false){if(this.isCollapsed){const i=this.start._getTransformedByMove(t,e,n);return[new Kh(i)]}const o=Kh._createFromPositionAndShift(t,n);const r=e._getTransformedByDeletion(t,n);if(this.containsPosition(e)&&!i){if(o.containsPosition(this.start)||o.containsPosition(this.end)){const i=this.start._getTransformedByMove(t,e,n);const o=this.end._getTransformedByMove(t,e,n);return[new Kh(i,o)]}}let s;const a=this.getDifference(o);let c=null;const l=this.getIntersection(o);if(a.length==1){c=new Kh(a[0].start._getTransformedByDeletion(t,n),a[0].end._getTransformedByDeletion(t,n))}else if(a.length==2){c=new Kh(this.start,this.end._getTransformedByDeletion(t,n))}if(c){s=c._getTransformedByInsertion(r,n,l!==null||i)}else{s=[]}if(l){const t=new Kh(l.start._getCombined(o.start,r),l.end._getCombined(o.start,r));if(s.length==2){s.splice(1,0,t)}else{s.push(t)}}return s}_getTransformedByDeletion(t,e){let n=this.start._getTransformedByDeletion(t,e);let i=this.end._getTransformedByDeletion(t,e);if(n==null&&i==null){return null}if(n==null){n=t}if(i==null){i=t}return new Kh(n,i)}static _createFromPositionAndShift(t,e){const n=t;const i=t.getShiftedBy(e);return e>0?new this(n,i):new this(i,n)}static _createIn(t){return new this(Wh._createAt(t,0),Wh._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Wh._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new ss["b"]("range-create-from-ranges-empty-array: At least one range has to be passed.",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 i=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(i.start)){i.start=Wh._createAt(t[e].start)}else{break}}}for(let e=n+1;e<t.length;e++){if(t[e].start.isEqual(i.end)){i.end=Wh._createAt(t[e].end)}else{break}}return i}static fromJSON(t,e){return new this(Wh.fromJSON(t.start,e),Wh.fromJSON(t.end,e))}}class Qh{constructor(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._viewToModelLengthCallbacks=new Map;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set;this.on("modelToViewPosition",(t,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 i=this._viewToModelMapping.get(n);const o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Wh._createAt(i,o)},{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 i=this._elementToMarkerNames.get(t)||new Set;i.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const i=this._elementToMarkerNames.get(t);if(i){i.delete(e);if(i.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 Kh(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 i=this._toModelOffset(t.parent,t.index,n);const o=this._toModelOffset(t,e,t);return i+o}if(t.is("text")){return e}let i=0;for(let n=0;n<e;n++){i+=this.getModelLength(t.getChild(n))}return i}getModelLength(t){if(this._viewToModelLengthCallbacks.get(t.name)){const e=this._viewToModelLengthCallbacks.get(t.name);return e(t)}else if(this._viewToModelMapping.has(t)){return 1}else if(t.is("text")){return t.data.length}else if(t.is("uiElement")){return 0}else{let e=0;for(const n of t.getChildren()){e+=this.getModelLength(n)}return e}}_findPositionIn(t,e){let n;let i=0;let o=0;let r=0;if(t.is("text")){return new ul(t,e)}while(o<e){n=t.getChild(r);i=this.getModelLength(n);o+=i;r++}if(o==e){return this._moveViewPositionToTextNode(new ul(t,r))}else{return this._findPositionIn(n,e-(o-i))}}_moveViewPositionToTextNode(t){const e=t.nodeBefore;const n=t.nodeAfter;if(e instanceof js){return new ul(e,e.data.length)}else if(n instanceof js){return new ul(n,0)}return t}}ys(Qh,ds);class Jh{constructor(){this._consumable=new Map;this._textProxyRegistry=new Map}add(t,e){e=Zh(e);if(t instanceof Bh){t=this._getSymbolForTextProxy(t)}if(!this._consumable.has(t)){this._consumable.set(t,new Map)}this._consumable.get(t).set(e,true)}consume(t,e){e=Zh(e);if(t instanceof Bh){t=this._getSymbolForTextProxy(t)}if(this.test(t,e)){this._consumable.get(t).set(e,false);return true}else{return false}}test(t,e){e=Zh(e);if(t instanceof Bh){t=this._getSymbolForTextProxy(t)}const n=this._consumable.get(t);if(n===undefined){return null}const i=n.get(e);if(i===undefined){return null}return i}revert(t,e){e=Zh(e);if(t instanceof Bh){t=this._getSymbolForTextProxy(t)}const n=this.test(t,e);if(n===false){this._consumable.get(t).set(e,true);return true}else if(n===true){return false}return null}_getSymbolForTextProxy(t){let e=null;const n=this._textProxyRegistry.get(t.startOffset);if(n){const i=n.get(t.endOffset);if(i){e=i.get(t.parent)}}if(!e){e=this._addSymbolForTextProxy(t.startOffset,t.endOffset,t.parent)}return e}_addSymbolForTextProxy(t,e,n){const i=Symbol("textProxySymbol");let o,r;o=this._textProxyRegistry.get(t);if(!o){o=new Map;this._textProxyRegistry.set(t,o)}r=o.get(e);if(!r){r=new Map;o.set(e,r)}r.set(n,i);return i}}function Zh(t){const e=t.split(":");return e.length>1?e[0]+":"+e[1]:e[0]}class Xh{constructor(t){this.conversionApi=Wc({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(Kh._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 i=e.get(t).getRange();this.convertMarkerRemove(t,i,n);this.convertMarkerAdd(t,i,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=Kh._createFromPositionAndShift(e.previousPosition,e.length);const i={item:t,range:n};this._testAndFire("insert",i);for(const e of t.getAttributeKeys()){i.attributeKey=e;i.attributeOldValue=null;i.attributeNewValue=t.getAttribute(e);this._testAndFire(`attribute:${e}`,i)}}this._clearConversionApi()}convertRemove(t,e,n,i){this.conversionApi.writer=i;this.fire("remove:"+n,{position:t,length:e},this.conversionApi);this._clearConversionApi()}convertAttribute(t,e,n,i,o){this.conversionApi.writer=o;this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const o of t){const t=o.item;const r=Kh._createFromPositionAndShift(o.previousPosition,o.length);const s={item:t,range:r,attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,s)}this._clearConversionApi()}convertSelection(t,e,n){const i=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this.conversionApi.writer=n;this.conversionApi.consumable=this._createSelectionConsumable(t,i);this.fire("selection",{selection:t},this.conversionApi);if(!t.isCollapsed){return}for(const e of i){const n=e.getRange();if(!tf(t.getFirstPosition(),e,this.conversionApi.mapper)){continue}const i={item:t,markerName:e.name,markerRange:n};if(this.conversionApi.consumable.test(t,"addMarker:"+e.name)){this.fire("addMarker:"+e.name,i,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 i="addMarker:"+t;const o=new Jh;o.add(e,i);this.conversionApi.consumable=o;this.fire(i,{markerName:t,markerRange:e},this.conversionApi);if(!o.test(e,i)){return}this.conversionApi.consumable=this._createConsumableForRange(e,i);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,i)){continue}const o={item:n,range:Kh._createOn(n),markerName:t,markerRange:e};this.fire(i,o,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 Jh;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 Jh;for(const i of t.getItems()){n.add(i,e)}return n}_createSelectionConsumable(t,e){const n=new Jh;n.add(t,"selection");for(const i of e){n.add(t,"addMarker:"+i.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}}ys(Xh,ds);function tf(t,e,n){const i=e.getRange();const o=Array.from(t.getAncestors());o.shift();o.reverse();const r=o.some(t=>{if(i.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty("addHighlight")}});return!r}class ef{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 i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Kh(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 Kh(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 Kh(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 ef){this._setRanges(t.getRanges(),t.isBackward)}else if(t&&typeof t.getRanges=="function"){this._setRanges(t.getRanges(),t.isBackward)}else if(t instanceof Kh){this._setRanges([t],!!e&&!!e.backward)}else if(t instanceof Wh){this._setRanges([new Kh(t)])}else if(t instanceof Dh){const i=!!n&&!!n.backward;let o;if(e=="in"){o=Kh._createIn(t)}else if(e=="on"){o=Kh._createOn(t)}else if(e!==undefined){o=new Kh(Wh._createAt(t,e))}else{throw new ss["b"]("model-selection-setTo-required-second-parameter: "+"selection.setTo requires the second parameter when the first parameter is a node.",[this,t])}this._setRanges([o],i)}else if(vs(t)){this._setRanges(t,e&&!!e.backward)}else{throw new ss["b"]("model-selection-setTo-not-selectable: Cannot set the selection to the given place.",[this,t])}}_setRanges(t,e=false){t=Array.from(t);const n=t.some(e=>{if(!(e instanceof Kh)){throw new ss["b"]("model-selection-set-ranges-not-range: "+"Selection range set to an object that is not an instance of model.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: Cannot set selection focus if there are no ranges in selection.",[this,t])}const n=Wh._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const i=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(i)=="before"){this._pushRange(new Kh(n,i));this._lastRangeBackward=true}else{this._pushRange(new Kh(i,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=rf(e.start,t);if(n&&sf(n,e)){yield n}for(const n of e.getWalker()){const i=n.item;if(n.type=="elementEnd"&&of(i,t,e)){yield i}}const i=rf(e.end,t);if(i&&!e.end.isTouching(Wh._createAt(i,0))&&sf(i,e)){yield i}}}containsEntireContent(t=this.anchor.root){const e=Wh._createAt(t,0);const n=Wh._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Kh(t.start,t.end))}_checkRange(t){for(let e=0;e<this._ranges.length;e++){if(t.isIntersecting(this._ranges[e])){throw new ss["b"]("model-selection-range-intersects: Trying to add a range that intersects with another range in the selection.",[this,t],{addedRange:t,intersectingRange:this._ranges[e]})}}}_removeAllRanges(){while(this._ranges.length>0){this._popRange()}}_popRange(){this._ranges.pop()}}ys(ef,ds);function nf(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&t.parent}function of(t,e,n){return nf(t,e)&&sf(t,n)}function rf(t,e){const n=t.parent;const i=n.root.document.model.schema;const o=t.parent.getAncestors({parentFirst:true,includeSelf:true});let r=false;const s=o.find(t=>{if(r){return false}r=i.isLimit(t);return!r&&nf(t,e)});o.forEach(t=>e.add(t));return s}function sf(t,e){const n=af(t);if(!n){return true}const i=e.containsRange(Kh._createOn(n),true);return!i}function af(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class cf extends Kh{constructor(t,e){super(t,e);lf.call(this)}detach(){this.stopListening()}is(t){return t==="liveRange"||t==="model:liveRange"||t=="range"||t==="model:range"}toRange(){return new Kh(this.start,this.end)}static fromRange(t){return new cf(t.start,t.end)}}function lf(){this.listenTo(this.root.document.model,"applyOperation",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}df.call(this,n)},{priority:"low"})}function df(t){const e=this.getTransformedByOperation(t);const n=Kh._createFromRanges(e);const i=!n.isEqual(this);const o=uf(this,t);let r=null;if(i){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(o){this.fire("change:content",this.toRange(),{deletionPosition:r})}}function uf(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}ys(cf,ds);const hf="selection:";class ff{constructor(t){this._selection=new mf(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 hf+t}static _isStoreAttributeKey(t){return t.startsWith(hf)}}ys(ff,ds);class mf extends ef{constructor(t){super();this.markers=new xs({idProperty:"name"});this._model=t.model;this._document=t;this._attributePriority=new Map;this._fixGraveyardRangesData=[];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}while(this._fixGraveyardRangesData.length){const{liveRange:t,sourcePosition:e}=this._fixGraveyardRangesData.shift();this._fixGraveyardSelection(t,e)}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: Range from document selection starts or ends at incorrect position.",this,{range:t})}}});this.listenTo(this._model.markers,"update",()=>this._updateMarkers());this.listenTo(this._document,"change",(t,e)=>{pf(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._ranges.length;t++){this._ranges[t].detach()}this.stopListening()}*getRanges(){if(this._ranges.length){yield*super.getRanges()}else{yield this._document._getDefaultRange()}}getFirstRange(){return super.getFirstRange()||this._document._getDefaultRange()}getLastRange(){return super.getLastRange()||this._document._getDefaultRange()}setTo(t,e,n){super.setTo(t,e,n);this._updateAttributes(true);this._updateMarkers()}setFocus(t,e){super.setFocus(t,e);this._updateAttributes(true);this._updateMarkers()}setAttribute(t,e){if(this._setAttribute(t,e)){const e=[t];this.fire("change:attribute",{attributeKeys:e,directChange:true})}}removeAttribute(t){if(this._removeAttribute(t)){const e=[t];this.fire("change:attribute",{attributeKeys:e,directChange:true})}}overrideGravity(){const t=ns();this._overriddenGravityRegister.add(t);if(this._overriddenGravityRegister.size===1){this._updateAttributes(true)}return t}restoreGravity(t){if(!this._overriddenGravityRegister.has(t)){throw new ss["b"]("document-selection-gravity-wrong-restore: Attempting to restore the selection gravity for an unknown UID.",this,{uid:t})}this._overriddenGravityRegister.delete(t);if(!this.isGravityOverridden){this._updateAttributes(true)}}_popRange(){this._ranges.pop().detach()}_pushRange(t){const e=this._prepareRange(t);if(e){this._ranges.push(e)}}_prepareRange(t){this._checkRange(t);if(t.root==this._document.graveyard){return}const e=cf.fromRange(t);e.on("change:range",(t,n,i)=>{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._fixGraveyardRangesData.push({liveRange:e,sourcePosition:i.deletionPosition})}});return e}_updateMarkers(){const t=[];let e=false;for(const e of this._model.markers){const n=e.getRange();for(const i of this.getRanges()){if(n.containsRange(i,!i.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=Us(this._getSurroundingAttributes());const n=Us(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 i=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){i.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){i.push(t)}}if(i.length>0){this.fire("change:attribute",{attributeKeys:i,directChange:false})}}_setAttribute(t,e,n=true){const i=n?"normal":"low";if(i=="low"&&this._attributePriority.get(t)=="normal"){return false}const o=super.getAttribute(t);if(o===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,i);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,i]of t){const t=this._setAttribute(n,i,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(hf)){const n=e.substr(hf.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 i of t){if(i.item.is("element")&&e.isObject(i.item)){break}if(i.type=="text"){n=i.item.getAttributes();break}}}else{const e=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=gf(e)}if(!n){n=gf(i)}if(!this.isGravityOverridden&&!n){let t=e;while(t&&!n){t=t.previousSibling;n=gf(t)}}if(!n){let t=i;while(t&&!n){t=t.nextSibling;n=gf(t)}}if(!n){n=this._getStoredAttributes()}}return n}_fixGraveyardSelection(t,e){const n=e.clone();const i=this._model.schema.getNearestSelectionRange(n);const o=this._ranges.indexOf(t);this._ranges.splice(o,1);t.detach();if(i&&!bf(i,this)){const t=this._prepareRange(i);this._ranges.splice(o,0,t)}}}function gf(t){if(t instanceof Bh||t instanceof zh){return t.getAttributes()}return null}function pf(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(i.type!="insert"){continue}const n=i.position.parent;const o=i.length===n.maxOffset;if(o){t.enqueueChange(e,t=>{const e=Array.from(n.getAttributeKeys()).filter(t=>t.startsWith(hf));for(const i of e){t.removeAttribute(i,n)}})}}}function bf(t,e){return!e._ranges.every(e=>!t.isEqual(e))}class wf{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}var kf=1,_f=4;function vf(t){return Hr(t,kf|_f)}var yf=vf;class xf extends wf{elementToElement(t){return this.add(zf(t))}attributeToElement(t){return this.add(Bf(t))}attributeToAttribute(t){return this.add(jf(t))}markerToElement(t){return this.add(Ff(t))}markerToHighlight(t){return this.add(Hf(t))}}function Cf(){return(t,e,n)=>{if(!n.consumable.consume(e.item,"insert")){return}const i=n.writer;const o=n.mapper.toViewPosition(e.range.start);const r=i.createText(e.item.data);i.insert(o,r)}}function Af(){return(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=e.position.getShiftedBy(e.length);const r=n.mapper.toViewPosition(o,{isPhantom:true});const s=n.writer.createRange(i,r);const a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t)}}}function Tf(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 Sf(){return(t,e,n)=>{const i=e.selection;if(i.isCollapsed){return}if(!n.consumable.consume(i,"selection")){return}const o=[];for(const t of i.getRanges()){const e=n.mapper.toViewRange(t);o.push(e)}n.writer.setSelection(o,{backward:i.isBackward})}}function Pf(){return(t,e,n)=>{const i=e.selection;if(!i.isCollapsed){return}if(!n.consumable.consume(i,"selection")){return}const o=n.writer;const r=i.getFirstPosition();const s=n.mapper.toViewPosition(r);const a=o.breakAttributes(s);o.setSelection(a)}}function Ef(){return(t,e,n)=>{const i=n.writer;const o=i.document.selection;for(const t of o.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}i.setSelection(null)}}function Mf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,i.writer);const r=t(n.attributeNewValue,i.writer);if(!o&&!r){return}if(!i.consumable.consume(n.item,e.name)){return}const s=i.writer;const a=s.document.selection;if(n.item instanceof ef||n.item instanceof ff){s.wrap(a.getFirstRange(),r)}else{let t=i.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&o){t=s.unwrap(t,o)}if(n.attributeNewValue!==null&&r){s.wrap(t,r)}}}}function If(t){return(e,n,i)=>{const o=t(n.item,i.writer);if(!o){return}if(!i.consumable.consume(n.item,"insert")){return}const r=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,o);i.writer.insert(r,o)}}function Nf(t){return(e,n,i)=>{n.isOpening=true;const o=t(n,i.writer);n.isOpening=false;const r=t(n,i.writer);if(!o||!r){return}const s=n.markerRange;if(s.isCollapsed&&!i.consumable.consume(s,e.name)){return}for(const t of s){if(!i.consumable.consume(t.item,e.name)){return}}const a=i.mapper;const c=i.writer;c.insert(a.toViewPosition(s.start),o);i.mapper.bindElementToMarker(o,n.markerName);if(!s.isCollapsed){c.insert(a.toViewPosition(s.end),r);i.mapper.bindElementToMarker(r,n.markerName)}e.stop()}}function Of(){return(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(!i){return}for(const t of i){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Rf(t){return(e,n,i)=>{const o=t(n.attributeOldValue,n);const r=t(n.attributeNewValue,n);if(!o&&!r){return}if(!i.consumable.consume(n.item,e.name)){return}const s=i.mapper.toViewElement(n.item);const a=i.writer;if(!s){throw new ss["b"]("conversion-attribute-to-attribute-on-text: "+"Trying to convert text node's attribute with attribute-to-attribute converter.",[n,i])}if(n.attributeOldValue!==null&&o){if(o.key=="class"){const t=Array.isArray(o.value)?o.value:[o.value];for(const e of t){a.removeClass(e,s)}}else if(o.key=="style"){const t=Object.keys(o.value);for(const e of t){a.removeStyle(e,s)}}else{a.removeAttribute(o.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 Lf(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof ef||n.item instanceof ff)&&!n.item.is("textProxy")){return}const o=Gf(t,n,i);if(!o){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.writer;const s=Tf(r,o);const a=r.document.selection;if(n.item instanceof ef||n.item instanceof ff){r.wrap(a.getFirstRange(),s,a)}else{const t=i.mapper.toViewRange(n.range);const e=r.wrap(t,s);for(const t of e.getItems()){if(t.is("attributeElement")&&t.isSimilar(s)){i.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Vf(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof Fh)){return}const o=Gf(t,n,i);if(!o){return}if(!i.consumable.test(n.item,e.name)){return}const r=i.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){i.consumable.consume(n.item,e.name);for(const t of Kh._createIn(n.item)){i.consumable.consume(t.item,e.name)}r.getCustomProperty("addHighlight")(r,o,i.writer);i.mapper.bindElementToMarker(r,n.markerName)}}}function Df(t){return(e,n,i)=>{if(n.markerRange.isCollapsed){return}const o=Gf(t,n,i);if(!o){return}const r=Tf(i.writer,o);const s=i.mapper.markerNameToElements(n.markerName);if(!s){return}for(const t of s){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("attributeElement")){i.writer.unwrap(i.writer.createRangeOn(t),r)}else{t.getCustomProperty("removeHighlight")(t,o.id,i.writer)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function zf(t){t=yf(t);t.view=Uf(t.view,"container");return e=>{e.on("insert:"+t.model,If(t.view),{priority:t.converterPriority||"normal"})}}function Bf(t){t=yf(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]=Uf(t.view[e],"attribute")}}else{t.view=Uf(t.view,"attribute")}const i=Wf(t);return e=>{e.on(n,Mf(i),{priority:t.converterPriority||"normal"})}}function jf(t){t=yf(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]=$f(t.view[e])}}else{t.view=$f(t.view)}const i=Wf(t);return e=>{e.on(n,Rf(i),{priority:t.converterPriority||"normal"})}}function Ff(t){t=yf(t);t.view=Uf(t.view,"ui");return e=>{e.on("addMarker:"+t.model,Nf(t.view),{priority:t.converterPriority||"normal"});e.on("removeMarker:"+t.model,Of(t.view),{priority:t.converterPriority||"normal"})}}function Hf(t){return e=>{e.on("addMarker:"+t.model,Lf(t.view),{priority:t.converterPriority||"normal"});e.on("addMarker:"+t.model,Vf(t.view),{priority:t.converterPriority||"normal"});e.on("removeMarker:"+t.model,Df(t.view),{priority:t.converterPriority||"normal"})}}function Uf(t,e){if(typeof t=="function"){return t}return(n,i)=>qf(t,i,e)}function qf(t,e,n){if(typeof t=="string"){t={name:t}}let i;const o=Object.assign({},t.attributes);if(n=="container"){i=e.createContainerElement(t.name,o)}else if(n=="attribute"){const n={priority:t.priority||kl.DEFAULT_PRIORITY};i=e.createAttributeElement(t.name,o,n)}else{i=e.createUIElement(t.name,o)}if(t.styles){const n=Object.keys(t.styles);for(const o of n){e.setStyle(o,t.styles[o],i)}}if(t.classes){const n=t.classes;if(typeof n=="string"){e.addClass(n,i)}else{for(const t of n){e.addClass(t,i)}}}return i}function Wf(t){if(t.model.values){return(e,n)=>{const i=t.view[e];if(i){return i(e,n)}return null}}else{return t.view}}function $f(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 Gf(t,e,n){const i=typeof t=="function"?t(e,n):t;if(!i){return null}if(!i.priority){i.priority=10}if(!i.id){i.id=e.markerName}return i}class Yf extends wf{elementToElement(t){return this.add(Zf(t))}elementToAttribute(t){return this.add(Xf(t))}attributeToAttribute(t){return this.add(tm(t))}elementToMarker(t){return this.add(em(t))}}function Kf(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=i}}}function Qf(){return(t,e,n)=>{if(n.schema.checkChild(e.modelCursor,"$text")){if(n.consumable.consume(e.viewItem)){const t=n.writer.createText(e.viewItem.data);n.writer.insert(t,e.modelCursor);e.modelRange=Kh._createFromPositionAndShift(e.modelCursor,t.offsetSize);e.modelCursor=e.modelRange.end}}}}function Jf(t,e){return(n,i)=>{const o=i.newSelection;const r=new ef;const s=[];for(const t of o.getRanges()){s.push(e.toModelRange(t))}r.setTo(s,{backward:o.isBackward});if(!r.isEqual(t.document.selection)){t.change(t=>{t.setSelection(r)})}}}function Zf(t){t=yf(t);const e=im(t);const n=nm(t.view);const i=n?"element:"+n:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"normal"})}}function Xf(t){t=yf(t);sm(t);const e=am(t,false);const n=nm(t.view);const i=n?"element:"+n:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"low"})}}function tm(t){t=yf(t);let e=null;if(typeof t.view=="string"||t.view.key){e=rm(t)}sm(t,e);const n=am(t,true);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}function em(t){t=yf(t);dm(t);return Zf(t)}function nm(t){if(typeof t=="string"){return t}if(typeof t=="object"&&typeof t.name=="string"){return t.name}return null}function im(t){const e=t.view?new qs(t.view):null;return(n,i,o)=>{let r={};if(e){const t=e.match(i.viewItem);if(!t){return}r=t.match}r.name=true;const s=om(t.model,i.viewItem,o.writer);if(!s){return}if(!o.consumable.test(i.viewItem,r)){return}const a=o.splitToAllowedParent(s,i.modelCursor);if(!a){return}o.writer.insert(s,a.position);o.convertChildren(i.viewItem,o.writer.createPositionAt(s,0));o.consumable.consume(i.viewItem,r);const c=o.getSplitParts(s);i.modelRange=new Kh(o.writer.createPositionBefore(s),o.writer.createPositionAfter(c[c.length-1]));if(a.cursorParent){i.modelCursor=o.writer.createPositionAt(a.cursorParent,0)}else{i.modelCursor=i.modelRange.end}}}function om(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.createElement(t)}}function rm(t){if(typeof t.view=="string"){t.view={key:t.view}}const e=t.view.key;let n;if(e=="class"||e=="style"){const i=e=="class"?"classes":"styles";n={[i]:t.view.value}}else{const i=typeof t.view.value=="undefined"?/[\s\S]*/:t.view.value;n={attributes:{[e]:i}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function sm(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const i=typeof t.model!="object"?t.model:t.model.key;const o=typeof t.model!="object"||typeof t.model.value=="undefined"?n:t.model.value;t.model={key:i,value:o}}function am(t,e){const n=new qs(t.view);return(i,o,r)=>{const s=n.match(o.viewItem);if(!s){return}const a=t.model.key;const c=typeof t.model.value=="function"?t.model.value(o.viewItem):t.model.value;if(c===null){return}if(cm(t.view,o.viewItem)){s.match.name=true}else{delete s.match.name}if(!r.consumable.test(o.viewItem,s.match)){return}if(!o.modelRange){o=Object.assign(o,r.convertChildren(o.viewItem,o.modelCursor))}const l=lm(o.modelRange,{key:a,value:c},e,r);if(l){r.consumable.consume(o.viewItem,s.match)}}}function cm(t,e){const n=typeof t=="function"?t(e):t;if(typeof n=="object"&&!nm(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function lm(t,e,n,i){let o=false;for(const r of Array.from(t.getItems({shallow:n}))){if(i.schema.checkAttribute(r,e.key)){i.writer.setAttribute(e.key,e.value,r);o=true}}return o}function dm(t){const e=t.model;t.model=(t,n)=>{const i=typeof e=="string"?e:e(t);return n.createElement("$marker",{"data-name":i})}}class um{constructor(t,e){this.model=t;this.view=new Vh(e);this.mapper=new Qh;this.downcastDispatcher=new Xh({mapper:this.mapper});const n=this.model.document;const i=n.selection;const o=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,o,t);this.downcastDispatcher.convertSelection(i,o,t)})},{priority:"low"});this.listenTo(this.view.document,"selectionChange",Jf(this.model,this.mapper));this.downcastDispatcher.on("insert:$text",Cf(),{priority:"lowest"});this.downcastDispatcher.on("remove",Af(),{priority:"low"});this.downcastDispatcher.on("selection",Ef(),{priority:"low"});this.downcastDispatcher.on("selection",Sf(),{priority:"low"});this.downcastDispatcher.on("selection",Pf(),{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()}}ys(um,Qc);class hm{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: Command does not exist.",this,{commandName:t})}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 fm{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 mm(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 i=t.getClassNames();for(const t of i){e.classes.push(t)}const o=t.getStyleNames();for(const t of o){e.styles.push(t)}return e}static createFrom(t,e){if(!e){e=new fm(t)}if(t.is("text")){e.add(t);return e}if(t.is("element")){e.add(t,fm.consumablesFromElement(t))}if(t.is("documentFragment")){e.add(t)}for(const n of t.getChildren()){e=fm.createFrom(n,e)}return e}}class mm{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=Ke(e)?e:[e];const i=this._consumables[t];for(const e of n){if(t==="attributes"&&(e==="class"||e==="style")){throw new ss["b"]("viewconsumable-invalid-attribute: Classes and styles should be handled separately.",this)}i.set(e,true);if(t==="styles"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,true)}}}}_test(t,e){const n=Ke(e)?e:[e];const i=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=i.get(e);if(t===undefined){return null}if(!t){return false}}}return true}_consume(t,e){const n=Ke(e)?e:[e];const i=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{i.set(e,false);if(t=="styles"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){i.set(t,false)}}}}}_revert(t,e){const n=Ke(e)?e:[e];const i=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=i.get(e);if(t===false){i.set(e,true)}}}}}class gm{constructor(){this._sourceDefinitions={};this._attributeProperties={};this.decorate("checkChild");this.decorate("checkAttribute");this.on("checkAttribute",(t,e)=>{e[0]=new pm(e[0])},{priority:"highest"});this.on("checkChild",(t,e)=>{e[0]=new pm(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: A single item cannot be registered twice in the schema.",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: Cannot extend an item which was not registered yet.",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);return!!(e&&e.isObject)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}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 Wh){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Fh)){throw new ss["b"]("schema-check-merge-no-element-before: The node before the merge position must be an element.",this)}if(!(n instanceof Fh)){throw new ss["b"]("schema-check-merge-no-element-after: The node after the merge position must be an element.",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,i])=>{if(!i){return}const o=t(n,i);if(typeof o=="boolean"){e.stop();e.return=o}},{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",(e,[n,i])=>{const o=t(n,i);if(typeof o=="boolean"){e.stop();e.return=o}},{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 Wh){e=t.parent}else{const n=t instanceof Kh?[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 i=[...n.getAncestors(),new zh("",t.getAttributes())];return this.checkAttribute(i,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=Im(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e="both"){if(this.checkChild(t,"$text")){return new Kh(t)}let n,i;const o=t.getAncestors().reverse().find(t=>this.isLimit(t))||t.root;if(e=="both"||e=="backward"){n=new Uh({boundaries:Kh._createIn(o),startPosition:t,direction:"backward"})}if(e=="both"||e=="forward"){i=new Uh({boundaries:Kh._createIn(o),startPosition:t})}for(const t of Mm(n,i)){const e=t.walker==n?"elementEnd":"elementStart";const i=t.value;if(i.type==e&&this.isObject(i.item)){return Kh._createOn(i.item)}if(this.checkChild(i.nextPosition,"$text")){return new Kh(i.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")){Nm(this,n,e)}else{const t=Kh._createIn(n);const i=t.getPositions();for(const t of i){const n=t.nodeBefore||t.parent;Nm(this,n,e)}}}}createContext(t){return new pm(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const i of n){t[i]=bm(e[i],i)}for(const e of n){wm(t,e)}for(const e of n){km(t,e)}for(const e of n){_m(t,e);vm(t,e)}for(const e of n){ym(t,e);xm(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0){return true}else{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let i=t.start;for(const o of t.getItems({shallow:true})){if(o.is("element")){yield*this._getValidRangesForRange(Kh._createIn(o),e)}if(!this.checkAttribute(o,e)){if(!n.isEqual(i)){yield new Kh(n,i)}n=Wh._createAfter(o)}i=Wh._createAfter(o)}if(!n.isEqual(i)){yield new Kh(n,i)}}}ys(gm,Qc);class pm{constructor(t){if(t instanceof pm){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(Em)}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 pm([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 bm(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],inheritTypesFrom:[]};Cm(t,n);Am(t,n,"allowIn");Am(t,n,"allowContentOf");Am(t,n,"allowWhere");Am(t,n,"allowAttributes");Am(t,n,"allowAttributesOf");Am(t,n,"inheritTypesFrom");Tm(t,n);return n}function wm(t,e){for(const n of t[e].allowContentOf){if(t[n]){const i=Sm(t,n);i.forEach(t=>{t.allowIn.push(e)})}}delete t[e].allowContentOf}function km(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function _m(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function vm(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter(t=>t.startsWith("is"));for(const e of t){if(!(e in n)){n[e]=i[e]}}}}delete n.inheritTypesFrom}function ym(t,e){const n=t[e];const i=n.allowIn.filter(e=>t[e]);n.allowIn=Array.from(new Set(i))}function xm(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function Cm(t,e){for(const n of t){const t=Object.keys(n).filter(t=>t.startsWith("is"));for(const i of t){e[i]=n[i]}}}function Am(t,e,n){for(const i of t){if(typeof i[n]=="string"){e[n].push(i[n])}else if(Array.isArray(i[n])){e[n].push(...i[n])}}}function Tm(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 Sm(t,e){const n=t[e];return Pm(t).filter(t=>t.allowIn.includes(n.name))}function Pm(t){return Object.keys(t).map(e=>t[e])}function Em(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*Mm(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*Im(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function Nm(t,e,n){for(const i of e.getAttributeKeys()){if(!t.checkAttribute(e,i)){n.removeAttribute(i,e)}}}class Om{constructor(t={}){this._splitParts=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.splitToAllowedParent=this._splitToAllowedParent.bind(this);this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=["$root"]){this.fire("viewCleanup",t);this._modelCursor=Lm(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=fm.createFrom(t);this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor);const o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,o)}o.markers=Rm(o,e)}this._modelCursor=null;this._splitParts.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return o}_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 Kh)){throw new ss["b"]("view-conversion-dispatcher-incorrect-result: Incorrect conversion result was dropped.",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){const n=new Kh(e);let i=e;for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,i);if(t.modelRange instanceof Kh){n.end=t.modelRange.end;i=t.modelCursor}}return{modelRange:n,modelCursor:i}}_splitToAllowedParent(t,e){const n=this.conversionApi.schema.findAllowedParent(e,t);if(!n){return null}if(n===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(n)){return null}const i=this.conversionApi.writer.split(e,n);const o=[];for(const t of i.range.getWalker()){if(t.type=="elementEnd"){o.push(t.item)}else{const e=o.pop();const n=t.item;this._registerSplitPair(e,n)}}return{position:i.position,cursorParent:i.range.end.parent}}_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()}}}ys(Om,ds);function Rm(t,e){const n=new Set;const i=new Map;const o=Kh._createIn(t).getItems();for(const t of o){if(t.name=="$marker"){n.add(t)}}for(const t of n){const n=t.getAttribute("data-name");const o=e.createPositionBefore(t);if(!i.has(n)){i.set(n,new Kh(o.clone()))}else{i.get(n).end=o.clone()}e.remove(t)}return i}function Lm(t,e){let n;for(const i of new pm(t)){const t={};for(const e of i.getAttributeKeys()){t[e]=i.getAttribute(e)}const o=e.createElement(i.name,t);if(n){e.append(o,n)}n=Wh._createAt(o,0)}return n}class Vm{constructor(t,e){this.model=t;this.stylesProcessor=e;this.processor;this.mapper=new Qh;this.downcastDispatcher=new Xh({mapper:this.mapper});this.downcastDispatcher.on("insert:$text",Cf(),{priority:"lowest"});this.upcastDispatcher=new Om({schema:t.schema});this.viewDocument=new bl(e);this._viewWriter=new $l(this.viewDocument);this.upcastDispatcher.on("text",Qf(),{priority:"lowest"});this.upcastDispatcher.on("element",Kf(),{priority:"lowest"});this.upcastDispatcher.on("documentFragment",Kf(),{priority:"lowest"});this.decorate("init");this.on("init",()=>{this.fire("ready")},{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: Attempting to get data from a non-existing root.",this)}const i=this.model.document.getRoot(e);if(n==="empty"&&!this.model.hasContent(i,{ignoreWhitespaces:true})){return""}return this.stringify(i)}stringify(t){const e=this.toView(t);return this.processor.toData(e)}toView(t){const e=this.viewDocument;const n=this._viewWriter;this.mapper.clearBindings();const i=Kh._createIn(t);const o=new ql(e);this.mapper.bindElements(t,o);this.downcastDispatcher.convertInsert(i,n);if(!t.is("documentFragment")){const e=Dm(t);for(const[t,i]of e){this.downcastDispatcher.convertMarkerAdd(t,i,n)}}return o}init(t){if(this.model.document.version){throw new ss["b"]("datacontroller-init-document-not-empty: Trying to set initial data to not empty document.",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: Attempting to init data on a non-existing root.",this)}this.model.enqueueChange("transparent",t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,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: Attempting to set data on a non-existing 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 i=this.model.document.getRoot(n);t.remove(t.createRangeIn(i));t.insert(this.parse(e[n],i),i,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}}ys(Vm,Qc);function Dm(t){const e=[];const n=t.root.document;if(!n){return[]}const i=Kh._createIn(t);for(const t of n.model.markers){const n=i.getIntersection(t.getRange());if(n){e.push([t.name,n])}}return e}class zm{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 i=this._upcast.includes(e);if(!i&&!n){throw new ss["b"]("conversion-add-alias-dispatcher-not-registered: "+"Trying to register and alias for a dispatcher that nas not been 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: Trying to add a converter to an unknown dispatchers group.",this)}return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of Bm(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 Bm(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 Bm(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: Trying to register a group name that has already been registered.",this)}const i=n?new xf(e):new Yf(e);this._helpers.set(t,i)}}function*Bm(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const i=t.view[e];const o=t.upcastAlso?t.upcastAlso[e]:undefined;yield*jm(n,i,o)}}else{yield*jm(t.model,t.view,t.upcastAlso)}}function*jm(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 Fm{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 Hm{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 Um{constructor(t){this.markers=new Map;this._children=new jh;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(Fh.fromJSON(n))}else{e.push(zh.fromJSON(n))}}return new Um(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=qm(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 qm(t){if(typeof t=="string"){return[new zh(t)]}if(!vs(t)){t=[t]}return Array.from(t).map(t=>{if(typeof t=="string"){return new zh(t)}if(t instanceof Bh){return new zh(t.data,t.getAttributes())}return t})}function Wm(t,e){e=Km(e);const n=e.reduce((t,e)=>t+e.offsetSize,0);const i=t.parent;Jm(t);const o=t.index;i._insertChild(o,e);Qm(i,o+e.length);Qm(i,o);return new Kh(t,t.getShiftedBy(n))}function $m(t){if(!t.isFlat){throw new ss["b"]("operation-utils-remove-range-not-flat: "+"Trying to remove a range which starts and ends in different element.",this)}const e=t.start.parent;Jm(t.start);Jm(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);Qm(e,t.start.index);return n}function Gm(t,e){if(!t.isFlat){throw new ss["b"]("operation-utils-move-range-not-flat: "+"Trying to move a range which starts and ends in different element.",this)}const n=$m(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return Wm(e,n)}function Ym(t,e,n){Jm(t.start);Jm(t.end);for(const i of t.getItems({shallow:true})){const t=i.is("textProxy")?i.textNode:i;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}Qm(t.parent,t.index)}Qm(t.end.parent,t.end.index)}function Km(t){const e=[];if(!(t instanceof Array)){t=[t]}for(let n=0;n<t.length;n++){if(typeof t[n]=="string"){e.push(new zh(t[n]))}else if(t[n]instanceof Bh){e.push(new zh(t[n].data,t[n].getAttributes()))}else if(t[n]instanceof Um||t[n]instanceof jh){for(const i of t[n]){e.push(i)}}else if(t[n]instanceof Dh){e.push(t[n])}}for(let t=1;t<e.length;t++){const n=e[t];const i=e[t-1];if(n instanceof zh&&i instanceof zh&&Zm(n,i)){e.splice(t-1,2,new zh(i.data+n.data,i.getAttributes()));t--}}return e}function Qm(t,e){const n=t.getChild(e-1);const i=t.getChild(e);if(n&&i&&n.is("text")&&i.is("text")&&Zm(n,i)){const o=new zh(n.data+i.data,n.getAttributes());t._removeChildren(e-1,2);t._insertChild(e-1,o)}}function Jm(t){const e=t.textNode;const n=t.parent;if(e){const i=t.offset-e.startOffset;const o=e.index;n._removeChildren(o,1);const r=new zh(e.data.substr(0,i),e.getAttributes());const s=new zh(e.data.substr(i),e.getAttributes());n._insertChild(o,[r,s])}}function Zm(t,e){const n=t.getAttributes();const i=e.getAttributes();for(const t of n){if(t[1]!==e.getAttribute(t[0])){return false}i.next()}return i.next().done}function Xm(t,e){return qu(t,e)}var tg=Xm;class eg extends Hm{constructor(t,e,n,i,o){super(o);this.range=t.clone();this.key=e;this.oldValue=n===undefined?null:n;this.newValue=i===undefined?null:i}get type(){if(this.oldValue===null){return"addAttribute"}else if(this.newValue===null){return"removeAttribute"}else{return"changeAttribute"}}clone(){return new eg(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new eg(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const t=super.toJSON();t.range=this.range.toJSON();return t}_validate(){if(!this.range.isFlat){throw new ss["b"]("attribute-operation-range-not-flat: The range to change is not flat.",this)}for(const t of this.range.getItems({shallow:true})){if(this.oldValue!==null&&!tg(t.getAttribute(this.key),this.oldValue)){throw new ss["b"]("attribute-operation-wrong-old-value: Changed node has different attribute value than operation's "+"old attribute value.",this,{item:t,key:this.key,value:this.oldValue})}if(this.oldValue===null&&this.newValue!==null&&t.hasAttribute(this.key)){throw new ss["b"]("attribute-operation-attribute-exists: The attribute with given key already exists.",this,{node:t,key:this.key})}}}_execute(){if(!tg(this.oldValue,this.newValue)){Ym(this.range,this.key,this.newValue)}}static get className(){return"AttributeOperation"}static fromJSON(t,e){return new eg(Kh.fromJSON(t.range,e),t.key,t.oldValue,t.newValue,t.baseVersion)}}class ng extends Hm{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return"detach"}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new ss["b"]("detach-operation-on-document-node: Cannot detach document node.",this)}}_execute(){$m(Kh._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class ig extends Hm{constructor(t,e,n,i){super(i);this.sourcePosition=t.clone();this.sourcePosition.stickiness="toNext";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness="toNone"}get type(){if(this.targetPosition.root.rootName=="$graveyard"){return"remove"}else if(this.sourcePosition.root.rootName=="$graveyard"){return"reinsert"}return"move"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const t=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,t,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;const n=this.sourcePosition.offset;const i=this.targetPosition.offset;if(n+this.howMany>t.maxOffset){throw new ss["b"]("move-operation-nodes-do-not-exist: The nodes which should be moved do not exist.",this)}else if(t===e&&n<i&&i<n+this.howMany){throw new ss["b"]("move-operation-range-into-itself: Trying to move a range of nodes to the inside of that range.",this)}else if(this.sourcePosition.root==this.targetPosition.root){if(Ls(this.sourcePosition.getParentPath(),this.targetPosition.getParentPath())=="prefix"){const t=this.sourcePosition.path.length-1;if(this.targetPosition.path[t]>=n&&this.targetPosition.path[t]<n+this.howMany){throw new ss["b"]("move-operation-node-into-itself: Trying to move a range of nodes into one of nodes from that range.",this)}}}}_execute(){Gm(Kh._createFromPositionAndShift(this.sourcePosition,this.howMany),this.targetPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();t.targetPosition=this.targetPosition.toJSON();return t}static get className(){return"MoveOperation"}static fromJSON(t,e){const n=Wh.fromJSON(t.sourcePosition,e);const i=Wh.fromJSON(t.targetPosition,e);return new this(n,t.howMany,i,t.baseVersion)}}class og extends Hm{constructor(t,e,n){super(n);this.position=t.clone();this.position.stickiness="toNone";this.nodes=new jh(Km(e));this.shouldReceiveAttributes=false}get type(){return"insert"}get howMany(){return this.nodes.maxOffset}clone(){const t=new jh([...this.nodes].map(t=>t._clone(true)));const e=new og(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new Wh(t,[0]);return new ig(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffset<this.position.offset){throw new ss["b"]("insert-operation-position-invalid: Insertion position is invalid.",this)}}_execute(){const t=this.nodes;this.nodes=new jh([...t].map(t=>t._clone(true)));Wm(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(Fh.fromJSON(e))}else{n.push(zh.fromJSON(e))}}const i=new og(Wh.fromJSON(t.position,e),n,t.baseVersion);i.shouldReceiveAttributes=t.shouldReceiveAttributes;return i}}class rg extends Hm{constructor(t,e,n,i,o,r){super(r);this.name=t;this.oldRange=e?e.clone():null;this.newRange=n?n.clone():null;this.affectsData=o;this._markers=i}get type(){return"marker"}clone(){return new rg(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new rg(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 rg(t.name,t.oldRange?Kh.fromJSON(t.oldRange,e):null,t.newRange?Kh.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class sg extends Hm{constructor(t,e,n,i){super(i);this.position=t;this.position.stickiness="toNext";this.oldName=e;this.newName=n}get type(){return"rename"}clone(){return new sg(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new sg(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Fh)){throw new ss["b"]("rename-operation-wrong-position: Given position is invalid or node after it is not an instance of Element.",this)}else if(t.name!==this.oldName){throw new ss["b"]("rename-operation-wrong-name: Element to change has different name than operation's old 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 sg(Wh.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class ag extends Hm{constructor(t,e,n,i,o){super(o);this.root=t;this.key=e;this.oldValue=n;this.newValue=i}get type(){if(this.oldValue===null){return"addRootAttribute"}else if(this.newValue===null){return"removeRootAttribute"}else{return"changeRootAttribute"}}clone(){return new ag(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new ag(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: The element to change is not a root element.",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: Changed node has different attribute value than operation's "+"old attribute 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: The attribute with given key already 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: Cannot create RootAttributeOperation. Root with specified name does not exist.",this,{rootName:t.root})}return new ag(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class cg extends Hm{constructor(t,e,n,i,o){super(o);this.sourcePosition=t.clone();this.sourcePosition.stickiness="toPrevious";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness="toNext";this.graveyardPosition=i.clone()}get type(){return"merge"}get deletionPosition(){return new Wh(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Kh(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 Wh(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);const i=new lg(t,this.howMany,this.graveyardPosition,this.baseVersion+1);i.insertionPosition=n;return i}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;if(!t.parent){throw new ss["b"]("merge-operation-source-position-invalid: Merge source position is invalid.",this)}else if(!e.parent){throw new ss["b"]("merge-operation-target-position-invalid: Merge target position is invalid.",this)}else if(this.howMany!=t.maxOffset){throw new ss["b"]("merge-operation-how-many-invalid: Merge operation specifies wrong number of nodes to move.",this)}}_execute(){const t=this.sourcePosition.parent;const e=Kh._createIn(t);Gm(e,this.targetPosition);Gm(Kh._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=Wh.fromJSON(t.sourcePosition,e);const i=Wh.fromJSON(t.targetPosition,e);const o=Wh.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,i,o,t.baseVersion)}}class lg extends Hm{constructor(t,e,n,i){super(i);this.splitPosition=t.clone();this.splitPosition.stickiness="toNext";this.howMany=e;this.insertionPosition=lg.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 Wh(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Kh(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 Wh(t,[0]);return new cg(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<e){throw new ss["b"]("split-operation-position-invalid: Split position is invalid.",this)}else if(!t.parent){throw new ss["b"]("split-operation-split-in-root: Cannot split root element.",this)}else if(this.howMany!=t.maxOffset-this.splitPosition.offset){throw new ss["b"]("split-operation-how-many-invalid: Split operation specifies wrong number of nodes to move.",this)}else if(this.graveyardPosition&&!this.graveyardPosition.nodeAfter){throw new ss["b"]("split-operation-graveyard-position-invalid: Graveyard position invalid.",this)}}_execute(){const t=this.splitPosition.parent;if(this.graveyardPosition){Gm(Kh._createFromPositionAndShift(this.graveyardPosition,1),this.insertionPosition)}else{const e=t._clone();Wm(this.insertionPosition,e)}const e=new Kh(Wh._createAt(t,this.splitPosition.offset),Wh._createAt(t,t.maxOffset));Gm(e,this.moveTargetPosition)}toJSON(){const t=super.toJSON();t.splitPosition=this.splitPosition.toJSON();t.insertionPosition=this.insertionPosition.toJSON();if(this.graveyardPosition){t.graveyardPosition=this.graveyardPosition.toJSON()}return t}static get className(){return"SplitOperation"}static getInsertionPosition(t){const e=t.path.slice(0,-1);e[e.length-1]++;return new Wh(t.root,e)}static fromJSON(t,e){const n=Wh.fromJSON(t.splitPosition,e);const i=Wh.fromJSON(t.insertionPosition,e);const o=t.graveyardPosition?Wh.fromJSON(t.graveyardPosition,e):null;const r=new this(n,t.howMany,o,t.baseVersion);r.insertionPosition=i;return r}}class dg extends Fh{constructor(t,e,n="main"){super(e);this._document=t;this.rootName=n}get document(){return this._document}is(t,e){if(!e){return t==="rootElement"||t==="model:rootElement"||t==="element"||t==="model:element"||t===this.name||t==="model:"+this.name||t==="node"||t==="model:node"}return e===this.name&&(t==="rootElement"||t==="model:rootElement"||t==="element"||t==="model:element")}toJSON(){return this.rootName}}class ug{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new zh(t,e)}createElement(t,e){return new Fh(t,e)}createDocumentFragment(){return new Um}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof zh&&t.data==""){return}const i=Wh._createAt(e,n);if(t.parent){if(pg(t.root,i.root)){this.move(Kh._createOn(t),i);return}else{if(t.root.document){throw new ss["b"]("model-writer-insert-forbidden-move: "+"Cannot move a node from a document to a different tree. "+"It is forbidden to move a node that was already in a document outside of it.",this)}else{this.remove(t)}}}const o=i.root.document?i.root.document.version:null;const r=new og(i,t,o);if(t instanceof zh){r.shouldReceiveAttributes=true}this.batch.addOperation(r);this.model.applyOperation(r);if(t instanceof Um){for(const[e,n]of t.markers){const t=Wh._createAt(n.root,0);const o=new Kh(n.start._getCombined(t,i),n.end._getCombined(t,i));const r={range:o,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,r)}else{this.addMarker(e,r)}}}}insertText(t,e,n,i){if(e instanceof Um||e instanceof Fh||e instanceof Wh){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,i)}}insertElement(t,e,n,i){if(e instanceof Um||e instanceof Fh||e instanceof Wh){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,i)}}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){if(e instanceof Um||e instanceof Fh){this.insert(this.createText(t),e,"end")}else{this.insert(this.createText(t,e),n,"end")}}appendElement(t,e,n){if(e instanceof Um||e instanceof Fh){this.insert(this.createElement(t),e,"end")}else{this.insert(this.createElement(t,e),n,"end")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof Kh){const i=n.getMinimalFlatRanges();for(const n of i){hg(this,t,e,n)}}else{fg(this,t,e,n)}}setAttributes(t,e){for(const[n,i]of Us(t)){this.setAttribute(n,i,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof Kh){const n=e.getMinimalFlatRanges();for(const e of n){hg(this,t,null,e)}}else{fg(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Kh)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Kh)){throw new ss["b"]("writer-move-invalid-range: Invalid range to move.",this)}if(!t.isFlat){throw new ss["b"]("writer-move-range-not-flat: Range to move is not flat.",this)}const i=Wh._createAt(e,n);if(i.isEqual(t.start)){return}this._addOperationForAffectedMarkers("move",t);if(!pg(t.root,i.root)){throw new ss["b"]("writer-move-different-document: Range is going to be moved between different documents.",this)}const o=t.root.document?t.root.document.version:null;const r=new ig(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(r);this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Kh?t:Kh._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers("move",t);gg(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 Fh)){throw new ss["b"]("writer-merge-no-element-before: Node before merge position must be an element.",this)}if(!(n instanceof Fh)){throw new ss["b"]("writer-merge-no-element-after: Node after merge position must be an element.",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(Kh._createIn(n),Wh._createAt(e,"end"));this.remove(n)}_merge(t){const e=Wh._createAt(t.nodeBefore,"end");const n=Wh._createAt(t.nodeAfter,0);const i=t.root.document.graveyard;const o=new Wh(i,[0]);const r=t.root.document.version;const s=new cg(n,t.nodeAfter.maxOffset,e,o,r);this.batch.addOperation(s);this.model.applyOperation(s)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Fh)){throw new ss["b"]("writer-rename-not-element-instance: Trying to rename an object which is not an instance of Element.",this)}const n=t.root.document?t.root.document.version:null;const i=new sg(Wh._createBefore(t),t.name,e,n);this.batch.addOperation(i);this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new ss["b"]("writer-split-element-no-parent: Element with no parent can not be split.",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new ss["b"]("writer-split-invalid-limit-element: Limit element is not a position ancestor.",this)}let i,o;do{const e=n.root.document?n.root.document.version:null;const r=n.maxOffset-t.offset;const s=new lg(t,r,null,e);this.batch.addOperation(s);this.model.applyOperation(s);if(!i&&!o){i=n;o=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Kh(Wh._createAt(i,"end"),Wh._createAt(o,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new ss["b"]("writer-wrap-range-not-flat: Range to wrap is not flat.",this)}const n=e instanceof Fh?e:new Fh(e);if(n.childCount>0){throw new ss["b"]("writer-wrap-element-not-empty: Element to wrap with is not empty.",this)}if(n.parent!==null){throw new ss["b"]("writer-wrap-element-attached: Element to wrap with is already attached to tree model.",this)}this.insert(n,t.start);const i=new Kh(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,Wh._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new ss["b"]("writer-unwrap-element-no-parent: Trying to unwrap an element which has no parent.",this)}this.move(Kh._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: The options.usingOperation parameter is required when adding a new marker.",this)}const n=e.usingOperation;const i=e.range;const o=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new ss["b"]("writer-addMarker-marker-exists: Marker with provided name already exists.",this)}if(!i){throw new ss["b"]("writer-addMarker-no-range: Range parameter is required when adding a new marker.",this)}if(!n){return this.model.markers._set(t,i,n,o)}mg(this,t,null,i,o);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t=="string"?t:t.name;const i=this.model.markers.get(n);if(!i){throw new ss["b"]("writer-updateMarker-marker-not-exists: Marker with provided name does not exists.",this)}if(!e){this.model.markers._refresh(i);return}const o=typeof e.usingOperation=="boolean";const r=typeof e.affectsData=="boolean";const s=r?e.affectsData:i.affectsData;if(!o&&!e.range&&!r){throw new ss["b"]("writer-updateMarker-wrong-options: One of the options is required - provide range, usingOperations or affectsData.",this)}const a=i.getRange();const c=e.range?e.range:a;if(o&&e.usingOperation!==i.managedUsingOperations){if(e.usingOperation){mg(this,n,null,c,s)}else{mg(this,n,a,null,s);this.model.markers._set(n,c,undefined,s)}return}if(i.managedUsingOperations){mg(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: Trying to remove marker which does not exist.",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();mg(this,e,i,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 Us(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 i=ff._getStoreAttributeKey(t);this.setAttribute(i,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=ff._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new ss["b"]("writer-incorrect-use: Trying to use a writer outside the change() block.",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const i=n.getRange();let o=false;if(t==="move"){o=e.containsPosition(i.start)||e.start.isEqual(i.start)||e.containsPosition(i.end)||e.end.isEqual(i.end)}else{const t=e.nodeBefore;const n=e.nodeAfter;const r=i.start.parent==t&&i.start.isAtEnd;const s=i.end.parent==n&&i.end.offset==0;const a=i.end.nodeAfter==n;const c=i.start.nodeAfter==n;o=r||s||a||c}if(o){this.updateMarker(n.name,{range:i})}}}}function hg(t,e,n,i){const o=t.model;const r=o.document;let s=i.start;let a;let c;let l;for(const t of i.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}s=a}a=t.nextPosition;c=l}if(a instanceof Wh&&a!=s&&c!=n){d()}function d(){const i=new Kh(s,a);const l=i.root.document?r.version:null;const d=new eg(i,e,c,n,l);t.batch.addOperation(d);o.applyOperation(d)}}function fg(t,e,n,i){const o=t.model;const r=o.document;const s=i.getAttribute(e);let a,c;if(s!=n){const l=i.root===i;if(l){const t=i.document?r.version:null;c=new ag(i,e,s,n,t)}else{a=new Kh(Wh._createBefore(i),t.createPositionAfter(i));const o=a.root.document?r.version:null;c=new eg(a,e,s,n,o)}t.batch.addOperation(c);o.applyOperation(c)}}function mg(t,e,n,i,o){const r=t.model;const s=r.document;const a=new rg(e,n,i,r.markers,o,s.version);t.batch.addOperation(a);r.applyOperation(a)}function gg(t,e,n,i){let o;if(t.root.document){const n=i.document;const r=new Wh(n.graveyard,[0]);o=new ig(t,e,r,n.version)}else{o=new ng(t,e)}n.addOperation(o);i.applyOperation(o)}function pg(t,e){if(t===e){return true}if(t instanceof dg&&e instanceof dg){return true}return false}class bg{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=Kh._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=Kh._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 i=t.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,t.targetPosition.offset,e.maxOffset)}break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,i){const o=this._changedMarkers.get(t);if(!o){this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:i})}else{o.newRange=n;o.affectsData=i;if(o.oldRange==null&&o.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<e.offset?-1:1});const i=this._elementSnapshots.get(t);const o=wg(t.getChildren());const r=kg(i.length,n);let s=0;let a=0;for(const n of r){if(n==="i"){e.push(this._getInsertDiff(t,s,o[s].name));s++}else if(n==="r"){e.push(this._getRemoveDiff(t,s,i[a].name));a++}else if(n==="a"){const n=o[s].attributes;const r=i[a].attributes;let c;if(o[s].name=="$text"){c=new Kh(Wh._createAt(t,s),Wh._createAt(t,s+1))}else{const e=t.offsetToIndex(s);c=new Kh(Wh._createAt(t,s),Wh._createAt(t.getChild(e),0))}e.push(...this._getAttributesDiff(c,r,n));s++;a++}else{s++;a++}}}e.sort((t,e)=>{if(t.position.root!=e.position.root){return t.position.root.rootName<e.position.root.rootName?-1:1}if(t.position.isEqual(e.position)){return t.changeCount-e.changeCount}return t.position.isBefore(e.position)?-1:1});for(let t=1;t<e.length;t++){const n=e[t-1];const i=e[t];const o=n.type=="remove"&&i.type=="remove"&&n.name=="$text"&&i.name=="$text"&&n.position.isEqual(i.position);const r=n.type=="insert"&&i.type=="insert"&&n.name=="$text"&&i.name=="$text"&&n.position.parent==i.position.parent&&n.position.offset+n.length==i.position.offset;const s=n.type=="attribute"&&i.type=="attribute"&&n.position.parent==i.position.parent&&n.range.isFlat&&i.range.isFlat&&n.position.offset+n.length==i.position.offset&&n.attributeKey==i.attributeKey&&n.attributeOldValue==i.attributeOldValue&&n.attributeNewValue==i.attributeNewValue;if(o||r||s){e[t-1].length++;if(s){e[t-1].range.end=e[t-1].range.end.getShiftedBy(1)}e.splice(t,1);t--}}for(const t of e){delete t.changeCount;if(t.type=="attribute"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e.slice();this._cachedChanges=e.slice().filter(_g);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard}else{return this._cachedChanges}}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._cachedChanges=null}_markInsert(t,e,n){const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;t<n.length;t++){if(n[t].howMany<1){n.splice(t,1);t--}}}_getChangesForElement(t){let e;if(this._changesInElement.has(t)){e=this._changesInElement.get(t)}else{e=[];this._changesInElement.set(t,e)}return e}_makeSnapshot(t){if(!this._elementSnapshots.has(t)){this._elementSnapshots.set(t,wg(t.getChildren()))}}_handleChange(t,e){t.nodesToHandle=t.howMany;for(const n of e){const i=t.offset+t.howMany;const o=n.offset+n.howMany;if(t.type=="insert"){if(n.type=="insert"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){n.howMany+=t.nodesToHandle;t.nodesToHandle=0}}if(n.type=="remove"){if(t.offset<n.offset){n.offset+=t.howMany}}if(n.type=="attribute"){if(t.offset<=n.offset){n.offset+=t.howMany}else if(t.offset<o){const o=n.howMany;n.howMany=t.offset-n.offset;e.unshift({type:"attribute",offset:i,howMany:o-n.howMany,count:this._changeCount++})}}}if(t.type=="remove"){if(n.type=="insert"){if(i<=n.offset){n.offset-=t.howMany}else if(i<=o){if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e;t.nodesToHandle-=e}else{n.howMany-=t.nodesToHandle;t.nodesToHandle=0}}else{if(t.offset<=n.offset){t.nodesToHandle-=n.howMany;n.howMany=0}else if(t.offset<o){const e=o-t.offset;n.howMany-=e;t.nodesToHandle-=e}}}if(n.type=="remove"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){t.nodesToHandle+=n.howMany;n.howMany=0}}if(n.type=="attribute"){if(i<=n.offset){n.offset-=t.howMany}else if(t.offset<n.offset){const e=i-n.offset;n.offset=t.offset;n.howMany-=e}else if(t.offset<o){if(i<=o){const i=n.howMany;n.howMany=t.offset-n.offset;const o=i-n.howMany-t.nodesToHandle;e.unshift({type:"attribute",offset:t.offset,howMany:o,count:this._changeCount++})}else{n.howMany-=o-t.offset}}}}if(t.type=="attribute"){if(n.type=="insert"){if(t.offset<n.offset&&i>n.offset){if(i>o){const t={type:"attribute",offset:o,howMany:i-o,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.offset<o){if(i>o){t.nodesToHandle=i-o;t.offset=o}else{t.nodesToHandle=0}}}if(n.type=="remove"){if(t.offset<n.offset&&i>n.offset){const o={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e);e.push(o);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type=="attribute"){if(t.offset>=n.offset&&i<=o){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&i>=o){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:Wh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:Wh._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,r]of e){const e=n.has(o)?n.get(o):null;if(e!==r){i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(o)}for(const[e,o]of n){i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++})}return i}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const i=t.startOffset;if(n){for(const t of n){if(t.type=="insert"&&i>=t.offset&&i<t.offset+t.howMany){return true}}}return this._isInInsertedElement(e)}_removeAllNestedChanges(t,e,n){const i=new Kh(Wh._createAt(t,e),Wh._createAt(t,e+n));for(const t of i.getItems({shallow:true})){if(t.is("element")){this._elementSnapshots.delete(t);this._changesInElement.delete(t);this._removeAllNestedChanges(t,0,t.maxOffset)}}}}function wg(t){const e=[];for(const n of t){if(n.is("text")){for(let t=0;t<n.data.length;t++){e.push({name:"$text",attributes:new Map(n.getAttributes())})}}else{e.push({name:n.name,attributes:new Map(n.getAttributes())})}}return e}function kg(t,e){const n=[];let i=0;let o=0;for(const t of e){if(t.offset>i){for(let e=0;e<t.offset-i;e++){n.push("e")}o+=t.offset-i}if(t.type=="insert"){for(let e=0;e<t.howMany;e++){n.push("i")}i=t.offset+t.howMany}else if(t.type=="remove"){for(let e=0;e<t.howMany;e++){n.push("r")}i=t.offset;o+=t.howMany}else{n.push(..."a".repeat(t.howMany).split(""));i=t.offset+t.howMany;o+=t.howMany}}if(o<t){for(let e=0;e<t-o-i;e++){n.push("e")}}return n}function _g(t){const e=t.position&&t.position.root.rootName=="$graveyard";const n=t.range&&t.range.root.rootName=="$graveyard";return!e&&!n}class vg{constructor(){this._operations=[];this._undoPairs=new Map;this._undoneOperations=new Set}addOperation(t){if(this._operations.includes(t)){return}this._operations.push(t)}getOperations(t=0,e=Number.POSITIVE_INFINITY){if(t<0){return[]}return this._operations.slice(t,e)}getOperation(t){return this._operations[t]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}}function yg(t){return!!t&&t.length==1&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(t)}function xg(t){return!!t&&t.length==1&&/[\ud800-\udbff]/.test(t)}function Cg(t){return!!t&&t.length==1&&/[\udc00-\udfff]/.test(t)}function Ag(t,e){return xg(t.charAt(e-1))&&Cg(t.charAt(e))}function Tg(t,e){return yg(t.charAt(e))}const Sg="$graveyard";class Pg{constructor(t){this.model=t;this.version=0;this.history=new vg(this);this.selection=new ff(this);this.roots=new xs({idProperty:"rootName"});this.differ=new bg(t.markers);this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot("$root",Sg);this.listenTo(t,"applyOperation",(t,e)=>{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version){throw new ss["b"]("model-document-applyOperation-wrong-version: Only operations with matching versions can be applied.",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,i)=>{this.differ.bufferMarkerChange(e.name,n,i,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(Sg)}createRoot(t="$root",e="main"){if(this.roots.get(e)){throw new ss["b"]("model-document-createRoot-name-exists: Root with specified name already exists.",this,{name:e})}const n=new dg(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!=Sg)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=zs(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 i=e.createPositionFromPath(t,[0]);const o=n.getNearestSelectionRange(i);return o||e.createRange(i)}_validateSelectionRange(t){return Eg(t.start)&&Eg(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)}}ys(Pg,ds);function Eg(t){const e=t.textNode;if(e){const n=e.data;const i=t.offset-e.startOffset;return!Ag(n,i)&&!Tg(n,i)}return true}class Mg{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,i=false){const o=t instanceof Ig?t.name:t;const r=this._markers.get(o);if(r){const t=r.getRange();let s=false;if(!t.isEqual(e)){r._attachLiveRange(cf.fromRange(e));s=true}if(n!=r.managedUsingOperations){r._managedUsingOperations=n;s=true}if(typeof i==="boolean"&&i!=r.affectsData){r._affectsData=i;s=true}if(s){this.fire("update:"+o,r,t,e)}return r}const s=cf.fromRange(e);const a=new Ig(o,s,n,i);this._markers.set(o,a);this.fire("update:"+o,a,null,e);return a}_remove(t){const e=t instanceof Ig?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 Ig?t.name:t;const n=this._markers.get(e);if(!n){throw new ss["b"]("markercollection-refresh-marker-not-exists: Marker with provided name does not exists.",this)}const i=n.getRange();this.fire("update:"+e,n,i,i,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()}}ys(Mg,ds);class Ig{constructor(t,e,n,i){this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=i}get managedUsingOperations(){if(!this._liveRange){throw new ss["b"]("marker-destroyed: Cannot use a destroyed marker instance.",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new ss["b"]("marker-destroyed: Cannot use a destroyed marker instance.",this)}return this._affectsData}getStart(){if(!this._liveRange){throw new ss["b"]("marker-destroyed: Cannot use a destroyed marker instance.",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new ss["b"]("marker-destroyed: Cannot use a destroyed marker instance.",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new ss["b"]("marker-destroyed: Cannot use a destroyed marker instance.",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}}ys(Ig,ds);class Ng extends Hm{get type(){return"noop"}clone(){return new Ng(this.baseVersion)}getReversed(){return new Ng(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}const Og={};Og[eg.className]=eg;Og[og.className]=og;Og[rg.className]=rg;Og[ig.className]=ig;Og[Ng.className]=Ng;Og[Hm.className]=Hm;Og[sg.className]=sg;Og[ag.className]=ag;Og[lg.className]=lg;Og[cg.className]=cg;class Rg{static fromJSON(t,e){return Og[t.__className].fromJSON(t,e)}}class Lg extends Wh{constructor(t,e,n="toNone"){super(t,e,n);if(!this.root.is("rootElement")){throw new ss["b"]("model-liveposition-root-not-rootelement: LivePosition's root has to be an instance of RootElement.",t)}Vg.call(this)}detach(){this.stopListening()}is(t){return t==="livePosition"||t==="model:livePosition"||t=="position"||t==="model:position"}toPosition(){return new Wh(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e?e:t.stickiness)}}function Vg(){this.listenTo(this.root.document.model,"applyOperation",(t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}Dg.call(this,n)},{priority:"low"})}function Dg(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)}}ys(Lg,ds);function zg(t,e,n,i){return t.change(o=>{let r;if(!n){r=t.document.selection}else if(n instanceof ef||n instanceof ff){r=n}else{r=o.createSelection(n,i)}if(!r.isCollapsed){t.deleteContent(r,{doNotAutoparagraph:true})}const s=new Bg(t,o,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 ff){o.setSelection(c)}else{r.setTo(c)}}else{}const l=s.getAffectedRange()||t.createRange(r.anchor);s.destroy();return l})}class Bg{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<t.length;n++){const i=t[n];this._handleNode(i,{isFirst:n===0&&e.isFirst,isLast:n===t.length-1&&e.isLast})}this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}getSelectionRange(){if(this.nodeToSelect){return Kh._createOn(this.nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Kh(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t,e){if(this.schema.isObject(t)){this._handleObject(t,e);return}const n=this._checkAndSplitToAllowedPosition(t,e);if(!n){this._handleDisallowedNode(t,e);return}this._insert(t);this._mergeSiblingsOf(t,e)}_handleObject(t,e){if(this._checkAndSplitToAllowedPosition(t)){this._insert(t)}else{this._tryAutoparagraphing(t,e)}}_handleDisallowedNode(t,e){if(t.is("element")){this.handleNodes(t.getChildren(),e)}else{this._tryAutoparagraphing(t,e)}}_insert(t){if(!this.schema.checkChild(this.position,t)){throw new ss["b"]("insertcontent-wrong-position: Given node cannot be inserted on the given position.",this,{node:t,position:this.position})}const e=Lg.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position);this.writer.insert(t,this.position);this.position=e.toPosition();e.detach();if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")){this.nodeToSelect=t}else{this.nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=Lg.fromPosition(t,"toPrevious")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=Lg.fromPosition(t,"toNext")}}_mergeSiblingsOf(t,e){if(!(t instanceof Fh)){return}const n=this._canMergeLeft(t,e);const i=this._canMergeRight(t,e);const o=Lg._createBefore(t);o.stickiness="toNext";const r=Lg._createAfter(t);r.stickiness="toNext";if(n){const t=Lg.fromPosition(this.position);t.stickiness="toNext";if(this._affectedStart.isEqual(o)){this._affectedStart.detach();this._affectedStart=Lg._createAt(o.nodeBefore,"end","toPrevious")}this.writer.merge(o);if(o.isEqual(this._affectedEnd)&&e.isLast){this._affectedEnd.detach();this._affectedEnd=Lg._createAt(o.nodeBefore,"end","toNext")}this.position=t.toPosition();t.detach()}if(i){if(!this.position.isEqual(r)){throw new ss["b"]("insertcontent-invalid-insertion-position",this)}this.position=Wh._createAt(r.nodeBefore,"end");const t=Lg.fromPosition(this.position,"toPrevious");if(this._affectedEnd.isEqual(r)){this._affectedEnd.detach();this._affectedEnd=Lg._createAt(r.nodeBefore,"end","toNext")}this.writer.merge(r);if(r.getShiftedBy(-1).isEqual(this._affectedStart)&&e.isFirst){this._affectedStart.detach();this._affectedStart=Lg._createAt(r.nodeBefore,0,"toPrevious")}this.position=t.toPosition();t.detach()}if(n||i){this._filterAttributesOf.push(this.position.parent)}o.detach();r.detach()}_canMergeLeft(t,e){const n=t.previousSibling;return e.isFirst&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(n,t)}_canMergeRight(t,e){const n=t.nextSibling;return e.isLast&&n instanceof Fh&&this.canMergeWith.has(n)&&this.model.schema.checkMerge(t,n)}_tryAutoparagraphing(t,e){const n=this.writer.createElement("paragraph");if(this._getAllowedIn(n,this.position.parent)&&this.schema.checkChild(n,t)){n._appendChild(t);this._handleNode(n,e)}}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(t,this.position.parent);if(!e){return false}while(e!=this.position.parent){if(this.schema.isLimit(this.position.parent)){return false}if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(e,t)){return e}if(e.parent){return this._getAllowedIn(t,e.parent)}return null}}function jg(t,e,n={}){if(e.isCollapsed){return}const i=e.getFirstRange();if(i.root.rootName=="$graveyard"){return}const o=t.schema;t.change(t=>{if(!n.doNotResetEntireContent&&$g(o,e)){Wg(t,e,o);return}const r=i.start;const s=Lg.fromPosition(i.end,"toNext");if(!i.start.isTouching(i.end)){t.remove(i)}if(!n.leaveUnmerged){Fg(t,r,s);o.removeDisallowedAttributes(r.parent.getChildren(),t)}Gg(t,e,r);if(!n.doNotAutoparagraph&&Hg(o,r)){qg(t,r,e)}s.detach()})}function Fg(t,e,n){const i=e.parent;const o=n.parent;if(i==o){return}if(t.model.schema.isLimit(i)||t.model.schema.isLimit(o)){return}if(!Ug(e,n,t.model.schema)){return}e=t.createPositionAfter(i);n=t.createPositionBefore(o);if(!n.isEqual(e)){t.insert(o,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}Fg(t,e,n)}function Hg(t,e){const n=t.checkChild(e,"$text");const i=t.checkChild(e,"paragraph");return!n&&i}function Ug(t,e,n){const i=new Kh(t,e);for(const t of i.getWalker()){if(n.isLimit(t.item)){return false}}return true}function qg(t,e,n){const i=t.createElement("paragraph");t.insert(i,e);Gg(t,n,t.createPositionAt(i,0))}function Wg(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));qg(t,t.createPositionAt(n,0),e)}function $g(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const i=e.getFirstRange();if(i.start.parent==i.end.parent){return false}return t.checkChild(n,"paragraph")}function Gg(t,e,n){if(e instanceof ff){t.setSelection(n)}else{e.setTo(n)}}const Yg=' ,.?!:;"-()';function Kg(t,e,n={}){const i=t.schema;const o=n.direction!="backward";const r=n.unit?n.unit:"character";const s=e.focus;const a=new Uh({boundaries:Xg(s,o),singleCharacters:true,direction:o?"forward":"backward"});const c={walker:a,schema:i,isForward:o,unit:r};let l;while(l=a.next()){if(l.done){return}const n=Qg(c,l.value);if(n){if(e instanceof ff){t.change(t=>{t.setSelectionFocus(n)})}else{e.setFocus(n)}return}}}function Qg(t,e){if(e.type=="text"){if(t.unit==="word"){return Zg(t.walker,t.isForward)}return Jg(t.walker,t.unit,t.isForward)}if(e.type==(t.isForward?"elementStart":"elementEnd")){if(t.schema.isObject(e.item)){return Wh._createAt(e.item,t.isForward?"after":"before")}if(t.schema.checkChild(e.nextPosition,"$text")){return e.nextPosition}}else{if(t.schema.isLimit(e.item)){t.walker.skip(()=>true);return}if(t.schema.checkChild(e.nextPosition,"$text")){return e.nextPosition}}}function Jg(t,e){const n=t.position.textNode;if(n){const i=n.data;let o=t.position.offset-n.startOffset;while(Ag(i,o)||e=="character"&&Tg(i,o)){t.next();o=t.position.offset-n.startOffset}}return t.position}function Zg(t,e){let n=t.position.textNode;if(n){let i=t.position.offset-n.startOffset;while(!tp(n.data,i,e)&&!ep(n,i,e)){t.next();const o=e?t.position.nodeAfter:t.position.nodeBefore;if(o&&o.is("text")){const i=o.data.charAt(e?0:o.data.length-1);if(!Yg.includes(i)){t.next();n=t.position.textNode}}i=t.position.offset-n.startOffset}}return t.position}function Xg(t,e){const n=t.root;const i=Wh._createAt(n,e?"end":0);if(e){return new Kh(t,i)}else{return new Kh(i,t)}}function tp(t,e,n){const i=e+(n?0:-1);return Yg.includes(t.charAt(i))}function ep(t,e,n){return e===(n?t.endOffset:0)}function np(t,e){return t.change(t=>{const n=t.createDocumentFragment();const i=e.getFirstRange();if(!i||i.isCollapsed){return n}const o=i.start.root;const r=i.start.getCommonPath(i.end);const s=o.getNodeByPath(r);let a;if(i.start.parent==i.end.parent){a=i}else{a=t.createRange(t.createPositionAt(s,i.start.path[r.length]),t.createPositionAt(s,i.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(e._clone(true),n)}}if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const o=t.createRange(t.createPositionAt(n,0),e.start);const r=t.createRange(e.end,t.createPositionAt(n,"end"));ip(r,t);ip(o,t)}return n})}function ip(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 op(t){t.document.registerPostFixer(e=>rp(e,t))}function rp(t,e){const n=e.document.selection;const i=e.schema;const o=[];let r=false;for(const t of n.getRanges()){const e=sp(t,i);if(e){o.push(e);r=true}else{o.push(t)}}if(r){t.setSelection(up(o),{backward:n.isBackward})}}function sp(t,e){if(t.isCollapsed){return ap(t,e)}return cp(t,e)}function ap(t,e){const n=t.start;const i=e.getNearestSelectionRange(n);if(!i){return null}if(!i.isCollapsed){return i}const o=i.start;if(n.isEqual(o)){return null}return new Kh(o)}function cp(t,e){const n=t.start;const i=t.end;const o=e.checkChild(n,"$text");const r=e.checkChild(i,"$text");const s=e.getLimitElement(n);const a=e.getLimitElement(i);if(s===a){if(o&&r){return null}if(dp(n,i,e)){const t=n.nodeAfter&&e.isObject(n.nodeAfter);const o=t?null:e.getNearestSelectionRange(n,"forward");const r=i.nodeBefore&&e.isObject(i.nodeBefore);const s=r?null:e.getNearestSelectionRange(i,"backward");const a=o?o.start:n;const c=s?s.start:i;return new Kh(a,c)}}const c=s&&!s.is("rootElement");const l=a&&!a.is("rootElement");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent;const o=c&&(!t||!hp(n.nodeAfter,e));const r=l&&(!t||!hp(i.nodeBefore,e));let d=n;let u=i;if(o){d=Wh._createBefore(lp(s,e))}if(r){u=Wh._createAfter(lp(a,e))}return new Kh(d,u)}return null}function lp(t,e){let n=t;let i=n;while(e.isLimit(i)&&i.parent){n=i;i=i.parent}return n}function dp(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text");const o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return i||o}function up(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isIntersecting(t)){const i=t.start.isAfter(n.start)?n.start:t.start;const o=t.end.isAfter(n.end)?t.end:n.end;const r=new Kh(i,o);e.push(r)}else{e.push(t);e.push(n)}}return e}function hp(t,e){return t&&e.isObject(t)}class fp{constructor(){this.markers=new Mg;this.document=new Pg(this);this.schema=new gm;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});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}});op(this)}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new Fm,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 Fm(t)}else if(typeof t=="function"){e=t;t=new Fm}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 zg(this,t,e,n)}deleteContent(t,e){jg(this,t,e)}modifySelection(t,e){Kg(this,t,e)}getSelectedContent(t){return np(this,t)}hasContent(t,e){const n=t instanceof Fh?Kh._createIn(t):t;if(n.isCollapsed){return false}for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}const{ignoreWhitespaces:i=false}=e||{};for(const t of n.getItems()){if(t.is("textProxy")){if(!i){return true}else if(t.data.search(/\S/)!==-1){return true}}else if(this.schema.isObject(t)){return true}}return false}createPositionFromPath(t,e,n){return new Wh(t,e,n)}createPositionAt(t,e){return Wh._createAt(t,e)}createPositionAfter(t){return Wh._createAfter(t)}createPositionBefore(t){return Wh._createBefore(t)}createRange(t,e){return new Kh(t,e)}createRangeIn(t){return Kh._createIn(t)}createRangeOn(t){return Kh._createOn(t)}createSelection(t,e,n){return new ef(t,e,n)}createBatch(t){return new Fm(t)}createOperationFromJSON(t){return Rg.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 ug(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}}ys(fp,Qc);class mp{constructor(){this._listener=Object.create(qd)}listenTo(t){this._listener.listenTo(t,"keydown",(t,e)=>{this._listener.fire("_keydown:"+Ll(e),e)})}set(t,e,n={}){const i=Vl(t);const o=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,(t,n)=>{e(n,()=>{n.preventDefault();n.stopPropagation();t.stop()});t.return=true},{priority:o})}press(t){return!!this._listener.fire("_keydown:"+Ll(t),t)}destroy(){this._listener.stopListening()}}class gp extends mp{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 pp{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 Kr(t,this.constructor.defaultConfig);this.config.define("plugins",e);this.config.define(this._context._getEditorConfig());this.plugins=new Cs(this,e,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this.commands=new hm;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 fp;const n=new Rc;this.data=new Vm(this.model,n);this.editing=new um(this.model,n);this.editing.view.document.bind("isReadOnly").to(this);this.conversion=new zm([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 gp(this);this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config;const e=t.get("plugins");const n=t.get("removePlugins")||[];const i=t.get("extraPlugins")||[];return this.plugins.init(e.concat(i),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{this.commands.execute(...t)}catch(t){ss["b"].rethrowUnexpectedError(t,this)}}}ys(pp,Qc);const bp={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};var wp=bp;class kp{getHtml(t){const e=document.implementation.createHTMLDocument("");const n=e.createElement("div");n.appendChild(t);return n.innerHTML}}class _p{constructor(t){this._domParser=new DOMParser;this._domConverter=new Dd(t,{blockFillerMode:"nbsp"});this._htmlWriter=new kp}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 i=e.body.childNodes;while(i.length>0){n.appendChild(i[0])}return n}}class vp{constructor(t){this.editor=t;this._components=new Map}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){if(this.has(t)){throw new ss["b"]("componentfactory-item-exists: The item already exists in the component factory.",this,{name:t})}this._components.set(yp(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new ss["b"]("componentfactory-item-missing: The required component is not registered in the factory.",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 xp{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)}}ys(xp,qd);ys(xp,Qc);class Cp{constructor(t){this.editor=t;this.componentFactory=new vp(t);this.focusTracker=new xp;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}}ys(Cp,ds);function Ap({origin:t,originKeystrokeHandler:e,originFocusTracker:n,toolbar:i,beforeFocus:o,afterBlur:r}){n.add(i.element);e.set("Alt+F10",(t,e)=>{if(n.isFocused&&!i.focusTracker.isFocused){if(o){o()}i.focus();e()}});i.keystrokes.set("Esc",(e,n)=>{if(i.focusTracker.isFocused){t.focus();if(r){r()}n()}})}function Tp(t){if(Array.isArray(t)){return{items:t}}if(!t){return{items:[]}}return Object.assign({items:[]},t)}var Sp=n(16);const Pp=new WeakMap;function Ep(t){const{view:e,element:n,text:i,isDirectHost:o=true}=t;const r=e.document;if(!Pp.has(r)){Pp.set(r,new Map);r.registerPostFixer(t=>Rp(r,t))}Pp.get(r).set(n,{text:i,isDirectHost:o});e.change(t=>Rp(r,t))}function Mp(t,e){const n=e.document;t.change(t=>{if(!Pp.has(n)){return}const i=Pp.get(n);const o=i.get(e);t.removeAttribute("data-placeholder",o.hostElement);Np(t,o.hostElement);i.delete(e)})}function Ip(t,e){if(!e.hasClass("ck-placeholder")){t.addClass("ck-placeholder",e);return true}return false}function Np(t,e){if(e.hasClass("ck-placeholder")){t.removeClass("ck-placeholder",e);return true}return false}function Op(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 i=n.selection;const o=i.anchor;if(e&&o&&o.parent!==t){return true}return false}function Rp(t,e){const n=Pp.get(t);let i=false;for(const[t,o]of n){if(Lp(e,t,o)){i=true}}return i}function Lp(t,e,n){const{text:i,isDirectHost:o}=n;const r=o?e:Vp(e);let s=false;if(!r){return false}n.hostElement=r;if(r.getAttribute("data-placeholder")!==i){t.setAttribute("data-placeholder",i,r);s=true}if(Op(r)){if(Ip(t,r)){s=true}}else if(Np(t,r)){s=true}return s}function Vp(t){if(t.childCount===1){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")){return e}}return null}class Dp extends Cp{constructor(t,e){super(t);this.view=e;this._toolbarConfig=Tp(t.config.get("toolbar"))}init(){const t=this.editor;const e=this.view;const n=t.editing.view;const i=e.editable;const o=n.document.getRoot();e.editable.name=o.rootName;e.render();const r=i.element;this.setEditableElement(i.name,r);this.focusTracker.add(r);e.editable.bind("isFocused").to(this.focusTracker);n.attachDomRoot(r);this._initPlaceholder();this._initToolbar();this.fire("ready")}destroy(){const t=this.view;const e=this.editor.editing.view;e.detachDomRoot(t.editable.name);t.destroy();super.destroy()}_initToolbar(){const t=this.editor;const e=this.view;const n=e.toolbar;n.fillFromConfig(this._toolbarConfig.items,this.componentFactory);Ap({origin:t.editing.view,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:n})}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const i=t.sourceElement;const o=t.config.get("placeholder")||i&&i.tagName.toLowerCase()==="textarea"&&i.getAttribute("placeholder");if(o){Ep({view:e,element:n,text:o,isDirectHost:false})}}}class zp extends xs{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||!Bp(t)){throw new ss["b"]("ui-viewcollection-delegate-wrong-events: All event names must be strings.",this)}return{to:e=>{for(const n of this){for(const i of t){n.delegate(i).to(e)}}this.on("add",(n,i)=>{for(const n of t){i.delegate(n).to(e)}});this.on("remove",(n,i)=>{for(const n of t){i.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 Bp(t){return t.every(t=>typeof t=="string")}const jp="http://www.w3.org/1999/xhtml";class Fp{constructor(t){Object.assign(this,Zp(Jp(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=ub();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: Attempting to revert a template which has not been applied yet.",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(cb(n)){yield n}else if(lb(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,i){return new Up({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,o){return new qp({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}}static extend(t,e){if(t._isRendered){throw new ss["b"]("template-extend-render: Attempting to extend a template which has already been rendered.",[this,t])}sb(t,Zp(Jp(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: Node definition must have either "tag" or "text" when rendering a new Node.',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||jp,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(Wp(this.text)){this._bindToObservable({schema:this.text,updater:Yp(e),data:t})}else{e.textContent=this.text.join("")}return e}_renderAttributes(t){let e,n,i,o;if(!this.attributes){return}const r=t.node;const s=t.revertData;for(e in this.attributes){i=r.getAttribute(e);n=this.attributes[e];if(s){s.attributes[e]=i}o=ct(n[0])&&n[0].ns?n[0].ns:null;if(Wp(n)){const a=o?n[0].value:n;if(s&&hb(e)){a.unshift(i)}this._bindToObservable({schema:a,updater:Kp(r,e,o),data:t})}else if(e=="style"&&typeof n[0]!=="string"){this._renderStyleAttribute(n[0],t)}else{if(s&&i&&hb(e)){n.unshift(i)}n=n.map(t=>t?t.value||t:t).reduce((t,e)=>t.concat(e),[]).reduce(ob,"");if(!ab(n)){r.setAttributeNS(o,e,n)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];if(Wp(o)){this._bindToObservable({schema:[o],updater:Qp(n,i),data:e})}else{n.style[i]=o}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const i=t.isApplying;let o=0;for(const r of this.children){if(db(r)){if(!i){r.setParent(e);for(const t of r){n.appendChild(t.element)}}}else if(cb(r)){if(!i){if(!r.isRendered){r.render()}n.appendChild(r.element)}}else if(xd(r)){n.appendChild(r)}else{if(i){const e=t.revertData;const i=ub();e.children.push(i);r._renderNode({node:n.childNodes[o++],isApplying:true,revertData:i})}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[i,o]=e.split("@");return n.activateDomEventListener(i,o,t)});if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;Gp(t,e,n);const o=t.filter(t=>!ab(t)).filter(t=>t.observable).map(i=>i.activateAttributeListener(t,e,n));if(i){i.bindings.push(o)}}_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 i=e.attributes[n];if(i===null){t.removeAttribute(n)}else{t.setAttribute(n,i)}}for(let n=0;n<e.children.length;++n){this._revertTemplateFromNode(t.childNodes[n],e.children[n])}}}ys(Fp,ds);class Hp{constructor(t){Object.assign(this,t)}getValue(t){const e=this.observable[this.attribute];return this.callback?this.callback(e,t):e}activateAttributeListener(t,e,n){const i=()=>Gp(t,e,n);this.emitter.listenTo(this.observable,"change:"+this.attribute,i);return()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,i)}}}class Up extends Hp{activateDomEventListener(t,e,n){const i=(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,i);return()=>{this.emitter.stopListening(n.node,t,i)}}}class qp extends Hp{getValue(t){const e=super.getValue(t);return ab(e)?false:this.valueIfTrue||true}}function Wp(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(Wp)}else if(t instanceof Hp){return true}return false}function $p(t,e){return t.map(t=>{if(t instanceof Hp){return t.getValue(e)}return t})}function Gp(t,e,{node:n}){let i=$p(t,n);if(t.length==1&&t[0]instanceof qp){i=i[0]}else{i=i.reduce(ob,"")}if(ab(i)){e.remove()}else{e.set(i)}}function Yp(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function Kp(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function Qp(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Jp(t){const e=$r(t,t=>{if(t&&(t instanceof Hp||lb(t)||cb(t)||db(t))){return t}});return e}function Zp(t){if(typeof t=="string"){t=eb(t)}else if(t.text){nb(t)}if(t.on){t.eventListeners=tb(t.on);delete t.on}if(!t.text){if(t.attributes){Xp(t.attributes)}const e=[];if(t.children){if(db(t.children)){e.push(t.children)}else{for(const n of t.children){if(lb(n)||cb(n)||xd(n)){e.push(n)}else{e.push(new Fp(n))}}}}t.children=e}return t}function Xp(t){for(const e in t){if(t[e].value){t[e].value=[].concat(t[e].value)}ib(t,e)}}function tb(t){for(const e in t){ib(t,e)}return t}function eb(t){return{text:[t]}}function nb(t){if(!Array.isArray(t.text)){t.text=[t.text]}}function ib(t,e){if(!Array.isArray(t[e])){t[e]=[t[e]]}}function ob(t,e){if(ab(e)){return t}else if(ab(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 sb(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: The number of children in extended definition does not match.",t)}let n=0;for(const i of e.children){sb(t.children[n++],i)}}}function ab(t){return!t&&t!==0}function cb(t){return t instanceof mb}function lb(t){return t instanceof Fp}function db(t){return t instanceof zp}function ub(){return{children:[],bindings:[],attributes:{}}}function hb(t){return t=="class"||t=="style"}var fb=n(18);class mb{constructor(t){this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new xs;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=Fp.bind(this,this)}createCollection(t){const e=new zp(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 Fp(t)}extendTemplate(t){Fp.extend(this.template,t)}render(){if(this.isRendered){throw new ss["b"]("ui-view-render-already-rendered: This View has already been 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)}}}ys(mb,qd);ys(mb,Qc);var gb="[object String]";function pb(t){return typeof t=="string"||!Ke(t)&&T(t)&&_(t)==gb}var bb=pb;function wb(t,e,n={},i=[]){const o=n&&n.xmlns;const r=o?t.createElementNS(o,e):t.createElement(e);for(const t in n){r.setAttribute(t,n[t])}if(bb(i)||!vs(i)){i=[i]}for(let e of i){if(bb(e)){e=t.createTextNode(e)}r.appendChild(e)}return r}class kb extends zp{constructor(t,e=[]){super(e);this.locale=t}attachToDom(){this._bodyCollectionContainer=new Fp({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=wb(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 _b=n(20);class vb extends mb{constructor(t){super(t);this.body=new kb(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}class yb extends mb{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 i=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",i);n.removeClass(e.isFocused?"ck-blurred":"ck-focused",i)})}function n(i){t.once("change:isRenderingInProgress",(t,o,r)=>{if(!r){e(i)}else{n(i)}})}}}class xb extends yb{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 i=t.document.getRoot(this.name);n.setAttribute("aria-label",e("Rich Text Editor, %0",[this.name]),i)})}}class Cb{constructor(t){Object.assign(this,t);if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n=="string"){n=[n]}for(const i of n){t.keystrokeHandler.set(i,(t,n)=>{this[e]();n()})}}}}get first(){return this.focusables.find(Ab)||null}get last(){return this.focusables.filter(Ab).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 i=e.element===this.focusTracker.focusedElement;if(i){t=n}return i});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 i=(e+n+t)%n;do{const e=this.focusables.get(i);if(Ab(e)){return e}i=(i+n+t)%n}while(i!==e);return null}}function Ab(t){return!!(t.focus&&Nd.window.getComputedStyle(t.element).display!="none")}class Tb extends mb{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}const Sb=100;class Pb{constructor(t,e){if(!Pb._observerInstance){Pb._createObserver()}this._element=t;this._callback=e;Pb._addElementCallback(t,e);Pb._observerInstance.observe(t)}destroy(){Pb._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){if(!Pb._elementCallbacks){Pb._elementCallbacks=new Map}let n=Pb._elementCallbacks.get(t);if(!n){n=new Set;Pb._elementCallbacks.set(t,n)}n.add(e)}static _deleteElementCallback(t,e){const n=Pb._getElementCallbacks(t);if(n){n.delete(e);if(!n.size){Pb._elementCallbacks.delete(t);Pb._observerInstance.unobserve(t)}}if(Pb._elementCallbacks&&!Pb._elementCallbacks.size){Pb._observerInstance=null;Pb._elementCallbacks=null}}static _getElementCallbacks(t){if(!Pb._elementCallbacks){return null}return Pb._elementCallbacks.get(t)}static _createObserver(){let t;if(typeof Nd.window.ResizeObserver==="function"){t=Nd.window.ResizeObserver}else{t=Eb}Pb._observerInstance=new t(t=>{for(const e of t){if(!e.target.offsetParent){continue}const t=Pb._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}})}}Pb._observerInstance=null;Pb._elementCallbacks=null;class Eb{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,Sb)};this.listenTo(Nd.window,"resize",()=>{this._checkElementRectsAndExecuteCallback()});this._periodicCheckTimeout=setTimeout(t,Sb)}_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 vh(t);const n=this._previousRects.get(t);const i=!n||!n.isEqual(e);this._previousRects.set(t,e);return i}}ys(Eb,qd);function Mb(t){return t.bindTemplate.to(e=>{if(e.target===t.element){e.preventDefault()}})}class Ib extends mb{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 Nb=n(22);function Ob(t){if(!t||!t.parentNode){return null}if(t.offsetParent===Nd.document.body){return null}return t.offsetParent}function Rb({element:t,target:e,positions:n,limiter:i,fitInViewport:o}){if(mt(e)){e=e()}if(mt(i)){i=i()}const r=Ob(t);const s=new vh(t);const a=new vh(e);let c;let l;if(!i&&!o){[l,c]=Lb(n[0],a,s)}else{const t=i&&new vh(i).getVisible();const e=o&&new vh(Nd.window);const r=Vb(n,{targetRect:a,elementRect:s,limiterRect:t,viewportRect:e});[l,c]=r||Lb(n[0],a,s)}let d=jb(c);if(r){d=Bb(d,r)}return{left:d.left,top:d.top,name:l}}function Lb(t,e,n){const i=t(e,n);if(!i){return null}const{left:o,top:r,name:s}=i;return[s,n.clone().moveTo(o,r)]}function Vb(t,e){const{elementRect:n,viewportRect:i}=e;const o=n.getArea();const r=Db(t,e);if(i){const t=r.filter(({viewportIntersectArea:t})=>t===o);const e=zb(t,o);if(e){return e}}return zb(r,o)}function Db(t,{targetRect:e,elementRect:n,limiterRect:i,viewportRect:o}){const r=[];const s=n.getArea();for(const a of t){const t=Lb(a,e,n);if(!t){continue}const[c,l]=t;let d=0;let u=0;if(i){if(o){const t=i.getIntersection(o);if(t){d=t.getIntersectionArea(l)}}else{d=i.getIntersectionArea(l)}}if(o){u=o.getIntersectionArea(l)}const h={positionName:c,positionRect:l,limiterIntersectArea:d,viewportIntersectArea:u};if(d===s){return[h]}r.push(h)}return r}function zb(t,e){let n=0;let i;let o;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;i=s;o=r}}return i?[o,i]:null}function Bb({left:t,top:e},n){const i=jb(new vh(n));const o=kh(n);t-=i.left;e-=i.top;t+=n.scrollLeft;e+=n.scrollTop;t-=o.left;e-=o.top;return{left:t,top:e}}function jb({left:t,top:e}){const{scrollX:n,scrollY:i}=Nd.window;return{left:t+n,top:e+i}}class Fb extends mb{constructor(t,e,n){super(t);const i=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 mp;this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",t=>!t)],id:i.to("id"),"aria-describedby":i.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=Fb._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:i}=Fb.defaultPanelPositions;if(this.locale.uiLanguageDirection==="ltr"){return[t,e,n,i]}else{return[e,t,i,n]}}}Fb.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"})};Fb._getOptimalPosition=Rb;var Hb=n(24);class Ub extends mb{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 qb=n(26);class Wb extends mb{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 $b=n(28);class Gb extends mb{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 Ub;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 Wb;t.bind("text").to(this,"_tooltipString");t.bind("position").to(this,"tooltipPosition");return t}_createLabelView(t){const e=new mb;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 mb;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",t=>Dl(t))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t=="string"){return t}else{if(n){n=Dl(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:""}`}}}return""}}var Yb='<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/></svg>';class Kb extends Gb{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 Ub;t.content=Yb;t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}});return t}}var Qb=n(30);class Jb extends mb{constructor(){super();this.items=this.createCollection();this.focusTracker=new xp;this.keystrokes=new mp;this._focusCycler=new Cb({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 Zb extends mb{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 Xb extends mb{constructor(t){super(t);this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var tw=n(32);class ew extends Gb{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 mb;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]});return t}}function nw({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,"mousedown",(t,{target:o})=>{if(!e()){return}for(const t of i){if(t.contains(o)){return}}n()})}var iw=n(34);var ow=n(36);function rw(t,e=Kb){const n=new e(t);const i=new Ib(t);const o=new Fb(t,n,i);n.bind("isEnabled").to(o);if(n instanceof Kb){n.bind("isOn").to(o,"isOpen")}else{n.arrowView.bind("isOn").to(o,"isOpen")}cw(o);return o}function sw(t,e){const n=t.locale;const i=n.t;const o=t.toolbarView=new mw(n);o.set("ariaLabel",i("Dropdown toolbar"));t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}});e.map(t=>o.items.add(t));t.panelView.children.add(o);o.items.delegate("execute").to(t)}function aw(t,e){const n=t.locale;const i=t.listView=new Jb(n);i.items.bindTo(e).using(({type:t,model:e})=>{if(t==="separator"){return new Xb(n)}else if(t==="button"||t==="switchbutton"){const i=new Zb(n);let o;if(t==="button"){o=new Gb(n)}else{o=new ew(n)}o.bind(...Object.keys(e)).to(e);o.delegate("execute").to(i);i.children.add(o);return i}});t.panelView.children.add(i);i.items.delegate("execute").to(t)}function cw(t){lw(t);dw(t);uw(t)}function lw(t){t.on("render",()=>{nw({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=false},contextElements:[t.element]})})}function dw(t){t.on("execute",e=>{if(e.source instanceof ew){return}t.isOpen=false})}function uw(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 hw='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><circle cx="9.5" cy="4.5" r="1.5"/><circle cx="9.5" cy="10.5" r="1.5"/><circle cx="9.5" cy="16.5" r="1.5"/></svg>';var fw=n(38);class mw extends mb{constructor(t,e){super(t);const n=this.bindTemplate;const i=this.t;this.options=e||{};this.set("ariaLabel",i("Editor toolbar"));this.set("maxWidth","auto");this.items=this.createCollection();this.focusTracker=new xp;this.keystrokes=new mp;this.set("class");this.set("isCompact",false);this.itemsView=new gw(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();this._focusCycler=new Cb({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:Mb(this)}});this._behavior=this.options.shouldGroupWhenFull?new bw(this):new pw(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){t.map(t=>{if(t=="|"){this.items.add(new Tb)}else if(e.has(t)){this.items.add(e.create(t))}else{console.warn(Object(ss["a"])("toolbarview-item-unavailable: The requested toolbar item is unavailable."),{name:t})}})}}class gw extends mb{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class pw{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 bw{constructor(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("add",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.add(e,n-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,n)}this._updateGrouping()});t.items.on("remove",(t,e,n)=>{if(n>this.ungroupedItems.length){this.groupedItems.remove(e)}else{this.ungroupedItems.remove(e)}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}let t;while(this._areItemsOverflowing){this._groupLastItem();t=true}if(!t&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new vh(t.lastChild);const i=new vh(t);if(!this.cachedPadding){const n=Nd.window.getComputedStyle(t);const i=e==="ltr"?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[i])}if(e==="ltr"){return n.right>i.right-this.cachedPadding}else{return n.left<i.left+this.cachedPadding}}_enableGroupingOnResize(){let t;this.resizeObserver=new Pb(this.viewElement,e=>{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 Tb);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=rw(t);n.class="ck-toolbar__grouped-dropdown";n.panelPosition=t.uiLanguageDirection==="ltr"?"sw":"se";sw(n,[]);n.buttonView.set({label:e("Show more items"),tooltip:true,icon:hw});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)}}}class ww extends vb{constructor(t,e,n={}){super(t);this.toolbar=new mw(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});this.editable=new xb(t,e,n.editableElement);this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render();this.registerChild([this.toolbar,this.editable])}}function kw(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}function _w(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}function vw(t){const e=t.sourceElement;if(!e){return}if(e.ckeditorInstance){throw new ss["b"]("editor-source-element-already-used: "+"The DOM element cannot be used to create multiple editor instances.",t)}e.ckeditorInstance=t;t.once("destroy",()=>{delete e.ckeditorInstance})}class yw extends pp{constructor(t,e){super(e);if(Yr(t)){this.sourceElement=t;vw(this)}this.data.processor=new _p(this.data.viewDocument);this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull");const i=new ww(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:n});this.ui=new Dp(this,i)}destroy(){const t=this.getData();this.ui.destroy();return super.destroy().then(()=>{if(this.sourceElement){_w(this.sourceElement,t)}})}static create(t,e={}){return new Promise(n=>{const i=Yr(t);if(i&&t.tagName==="TEXTAREA"){throw new ss["b"]("editor-wrong-element: This type of editor cannot be initialized inside <textarea> element.",null)}const o=new this(t,e);n(o.initPlugins().then(()=>{o.ui.init()}).then(()=>{if(!i&&e.initialData){throw new ss["b"]("editor-create-initial-data: "+"The config.initialData option cannot be used together with initial data passed in Editor.create().",null)}const n=e.initialData||xw(t);return o.data.init(n)}).then(()=>o.fire("ready")).then(()=>o))})}}ys(yw,wp);function xw(t){return Yr(t)?kw(t):t}class Cw{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",Aw,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",Aw);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}ys(Cw,Qc);function Aw(t){t.return=false;t.stop()}class Tw{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",Sw,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",Sw);this.refresh()}}execute(){}destroy(){this.stopListening()}}ys(Tw,Qc);function Sw(t){t.return=false;t.stop()}function Pw(t){const e=t.next();if(e.done){return null}return e.value}const Ew=["left","right","center","justify"];function Mw(t){return Ew.includes(t)}function Iw(t,e){if(e.contentLanguageDirection=="rtl"){return t==="right"}else{return t==="left"}}const Nw="alignment";class Ow extends Tw{refresh(){const t=this.editor;const e=t.locale;const n=Pw(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 i=e.model;const o=i.document;const r=t.value;i.change(t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter(t=>this._canBeAligned(t));const i=e[0].getAttribute("alignment");const s=Iw(r,n)||i===r||!r;if(s){Rw(e,t)}else{Lw(e,t,r)}})}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,Nw)}}function Rw(t,e){for(const n of t){e.removeAttribute(Nw,n)}}function Lw(t,e,n){for(const i of t){e.setAttribute(Nw,n,i)}}class Vw extends Cw{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t);t.config.define("alignment",{options:[...Ew]})}init(){const t=this.editor;const e=t.locale;const n=t.model.schema;const i=t.config.get("alignment.options").filter(Mw);n.extend("$block",{allowAttributes:"alignment"});t.model.schema.setAttributeProperties("alignment",{isFormatting:true});const o=Dw(i.filter(t=>!Iw(t,e)));t.conversion.attributeToAttribute(o);t.commands.add("alignment",new Ow(t))}}function Dw(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 zw='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z"/></svg>';var Bw='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M18 3.75a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 8a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 4a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75zm0-8a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75z"/></svg>';var jw='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm2.286 4c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75z"/></svg>';var Fw='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z"/></svg>';const Hw=new Map([["left",zw],["right",Bw],["center",jw],["justify",Fw]]);class Uw extends Cw{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 i=t.config.get("alignment.options");i.filter(Mw).forEach(t=>this._addButton(t));e.add("alignment",t=>{const o=rw(t);const r=i.map(t=>e.create(`alignment:${t}`));sw(o,r);o.buttonView.set({label:n("Text alignment"),tooltip:true});o.toolbarView.isVertical=true;o.toolbarView.ariaLabel=n("Text alignment toolbar");o.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const s=t.contentLanguageDirection==="rtl"?Bw:zw;o.buttonView.bind("icon").toMany(r,"isOn",(...t)=>{const e=t.findIndex(t=>t);if(e<0){return s}return r[e].icon});o.bind("isEnabled").toMany(r,"isEnabled",(...t)=>t.some(t=>t));return o})}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,n=>{const i=e.commands.get("alignment");const o=new Gb(n);o.set({label:this.localizedOptionTitles[t],icon:Hw.get(t),tooltip:true,isToggleable:true});o.bind("isEnabled").to(i);o.bind("isOn").to(i,"value",e=>e===t);this.listenTo(o,"execute",()=>{e.execute("alignment",{value:t});e.editing.view.focus()});return o})}}class qw extends Cw{static get requires(){return[Vw,Uw]}static get pluginName(){return"Alignment"}}class Ww{static get pluginName(){return"BlockAutoformatEditing"}constructor(t,e,n){let i;let o=null;if(typeof n=="function"){i=n}else{o=t.commands.get(n);i=()=>{t.execute(n)}}t.model.document.on("change",(n,r)=>{if(o&&!o.isEnabled){return}if(r.type=="transparent"){return}const s=Array.from(t.model.document.differ.getChanges());const a=s[0];if(s.length!=1||a.type!=="insert"||a.name!="$text"||a.length!=1){return}const c=a.position.parent;if(!c.is("paragraph")||c.childCount!==1){return}const l=e.exec(c.getChild(0).data);if(!l){return}t.model.enqueueChange(t=>{const e=t.createPositionAt(c,0);const n=t.createPositionAt(c,l[0].length);const o=new cf(e,n);const r=i({match:l});if(r!==false){t.remove(o)}o.detach()})})}}function $w(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce((t,i)=>{if(!(i.is("text")||i.is("textProxy"))){n=e.createPositionAfter(i);return""}return t+i.data},"");return{text:i,range:e.createRange(n,t.end)}}class Gw{static get pluginName(){return"InlineAutoformatEditing"}constructor(t,e,n){let i;let o;let r;let s;if(e instanceof RegExp){i=e}else{r=e}if(typeof n=="string"){o=n}else{s=n}r=r||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:r,3:s}=e;const a=i+r+s;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+r.length,t+i.length+r.length+s.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+r.length])}return{remove:n,format:o}});s=s||((e,n)=>{const i=t.model.schema.getValidRanges(n,o);for(const t of i){e.setAttribute(o,true,t)}e.removeSelectionAttribute(o)});t.model.document.on("change",(e,n)=>{if(n.type=="transparent"){return}const i=t.model;const o=i.document.selection;if(!o.isCollapsed){return}const a=Array.from(i.document.differ.getChanges());const c=a[0];if(a.length!=1||c.type!=="insert"||c.name!="$text"||c.length!=1){return}const l=o.focus;const d=l.parent;const{text:u,range:h}=$w(i.createRange(i.createPositionAt(d,0),l),i);const f=r(u);const m=Yw(h.start,f.format,i);const g=Yw(h.start,f.remove,i);if(!(m.length&&g.length)){return}i.enqueueChange(t=>{const e=s(t,m);if(e===false){return}for(const e of g.reverse()){t.remove(e)}})})}}function Yw(t,e,n){return e.filter(t=>t[0]!==undefined&&t[1]!==undefined).map(e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1])))}class Kw extends Cw{static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get("bulletedList")){new Ww(this.editor,/^[*-]\s$/,"bulletedList")}if(t.get("numberedList")){new Ww(this.editor,/^1[.|)]\s$/,"numberedList")}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const t=Qw(this.editor,"bold");new Gw(this.editor,/(\*\*)([^*]+)(\*\*)$/g,t);new Gw(this.editor,/(__)([^_]+)(__)$/g,t)}if(t.get("italic")){const t=Qw(this.editor,"italic");new Gw(this.editor,/(?:^|[^*])(\*)([^*_]+)(\*)$/g,t);new Gw(this.editor,/(?:^|[^_])(_)([^_]+)(_)$/g,t)}if(t.get("code")){const t=Qw(this.editor,"code");new Gw(this.editor,/(`)([^`]+)(`)$/g,t)}if(t.get("strikethrough")){const t=Qw(this.editor,"strikethrough");new Gw(this.editor,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");if(t){t.modelElements.filter(t=>t.match(/^heading[1-6]$/)).forEach(e=>{const n=e[7];const i=new RegExp(`^(#{${n}})\\s$`);new Ww(this.editor,i,()=>{if(!t.isEnabled){return false}this.editor.execute("heading",{value:e})})})}}_addBlockQuoteAutoformats(){if(this.editor.commands.get("blockQuote")){new Ww(this.editor,/^>\s$/,"blockQuote")}}_addCodeBlockAutoformats(){if(this.editor.commands.get("codeBlock")){new Ww(this.editor,/^```$/,"codeBlock")}}}function Qw(t,e){return(n,i)=>{const o=t.commands.get(e);if(!o.isEnabled){return false}const r=t.model.schema.getValidRanges(i,e);for(const t of r){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class Jw extends Tw{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());const r=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(!r){this._removeQuote(t,o.filter(Zw))}else{const e=o.filter(t=>Zw(t)||tk(n,t));this._applyQuote(t,e)}})}_getValue(){const t=this.editor.model.document.selection;const e=Pw(t.getSelectedBlocks());return!!(e&&Zw(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=Pw(t.getSelectedBlocks());if(!n){return false}return tk(e,n)}_removeQuote(t,e){Xw(t,e).reverse().forEach(e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)})}_applyQuote(t,e){const n=[];Xw(t,e).reverse().forEach(e=>{let i=Zw(e.start);if(!i){i=t.createElement("blockQuote");t.wrap(e,i)}n.push(i)});n.reverse().reduce((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n})}}function Zw(t){return t.parent.name=="blockQuote"?t.parent:null}function Xw(t,e){let n;let i=0;const o=[];while(i<e.length){const r=e[i];const s=e[i+1];if(!n){n=t.createPositionBefore(r)}if(!s||r.nextSibling!=s){o.push(t.createRange(n,t.createPositionAfter(r)));n=null}i++}return o}function tk(t,e){const n=t.checkChild(e.parent,"blockQuote");const i=t.checkChild(["$root","blockQuote"],e);return n&&i}class ek extends Cw{static get pluginName(){return"BlockQuoteEditing"}init(){const t=this.editor;const e=t.model.schema;t.commands.add("blockQuote",new Jw(t));e.register("blockQuote",{allowWhere:"$block",allowContentOf:"$root"});e.addChildCheck((t,e)=>{if(t.endsWith("blockQuote")&&e.name=="blockQuote"){return false}});t.conversion.elementToElement({model:"blockQuote",view:"blockquote"});t.model.document.registerPostFixer(n=>{const i=t.model.document.differ.getChanges();for(const t of i){if(t.type=="insert"){const i=t.position.nodeAfter;if(!i){continue}if(i.is("blockQuote")&&i.isEmpty){n.remove(i);return true}else if(i.is("blockQuote")&&!e.checkChild(t.position,i)){n.unwrap(i);return true}else if(i.is("element")){const t=n.createRangeIn(i);for(const i of t.getItems()){if(i.is("blockQuote")&&!e.checkChild(n.createPositionBefore(i),i)){n.unwrap(i);return true}}}}else if(t.type=="remove"){const e=t.position.parent;if(e.is("blockQuote")&&e.isEmpty){n.remove(e);return true}}}return false})}afterInit(){const t=this.editor;const e=t.commands.get("blockQuote");this.listenTo(this.editor.editing.view.document,"enter",(t,n)=>{const i=this.editor.model.document;const o=i.selection.getLastPosition().parent;if(i.selection.isCollapsed&&o.isEmpty&&e.value){this.editor.execute("blockQuote");this.editor.editing.view.scrollToTheSelection();n.preventDefault();t.stop()}})}}var nk='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 10.423a6.5 6.5 0 0 1 6.056-6.408l.038.67C6.448 5.423 5.354 7.663 5.22 10H9c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574zm8 0a6.5 6.5 0 0 1 6.056-6.408l.038.67c-2.646.739-3.74 2.979-3.873 5.315H17c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574z"/></svg>';var ik=n(40);class ok extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("blockQuote",n=>{const i=t.commands.get("blockQuote");const o=new Gb(n);o.set({label:e("Block quote"),icon:nk,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute("blockQuote");t.editing.view.focus()});return o})}}class rk extends Cw{static get requires(){return[ek,ok]}static get pluginName(){return"BlockQuote"}}class sk extends Tw{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 i=n.selection;const o=t.forceValue===undefined?!this.value:t.forceValue;e.change(t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,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 ak="bold";class ck extends Cw{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:ak});t.model.schema.setAttributeProperties(ak,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:ak,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(ak,new sk(t,ak));t.keystrokes.set("CTRL+B",ak)}}var lk='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.187 17H5.773c-.637 0-1.092-.138-1.364-.415-.273-.277-.409-.718-.409-1.323V4.738c0-.617.14-1.062.419-1.332.279-.27.73-.406 1.354-.406h4.68c.69 0 1.288.041 1.793.124.506.083.96.242 1.36.478.341.197.644.447.906.75a3.262 3.262 0 0 1 .808 2.162c0 1.401-.722 2.426-2.167 3.075C15.05 10.175 16 11.315 16 13.01a3.756 3.756 0 0 1-2.296 3.504 6.1 6.1 0 0 1-1.517.377c-.571.073-1.238.11-2 .11zm-.217-6.217H7v4.087h3.069c1.977 0 2.965-.69 2.965-2.072 0-.707-.256-1.22-.768-1.537-.512-.319-1.277-.478-2.296-.478zM7 5.13v3.619h2.606c.729 0 1.292-.067 1.69-.2a1.6 1.6 0 0 0 .91-.765c.165-.267.247-.566.247-.897 0-.707-.26-1.176-.778-1.409-.519-.232-1.31-.348-2.375-.348H7z"/></svg>';const dk="bold";class uk extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(dk,n=>{const i=t.commands.get(dk);const o=new Gb(n);o.set({label:e("Bold"),icon:lk,keystroke:"CTRL+B",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute(dk);t.editing.view.focus()});return o})}}class hk extends Cw{static get requires(){return[ck,uk]}static get pluginName(){return"Bold"}}var fk='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.627 16.5zm5.873-.196zm0-7.001V8h-13v8.5h4.341c.191.54.457 1.044.785 1.5H2a1.5 1.5 0 0 1-1.5-1.5v-13A1.5 1.5 0 0 1 2 2h4.5a1.5 1.5 0 0 1 1.06.44L9.122 4H16a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 19 8v2.531a6.027 6.027 0 0 0-1.5-1.228zM16 6.5v-1H8.5l-2-2H2v13h1V8a1.5 1.5 0 0 1 1.5-1.5H16z"/><path d="M14.5 19.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10zM15 14v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z"/></svg>';class mk extends Cw{static get pluginName(){return"CKFinderUI"}init(){const t=this.editor;const e=t.ui.componentFactory;const n=t.t;e.add("ckfinder",e=>{const i=t.commands.get("ckfinder");const o=new Gb(e);o.set({label:n("Insert image or file"),icon:fk,tooltip:true});o.bind("isEnabled").to(i);o.on("execute",()=>{t.execute("ckfinder");t.editing.view.focus()});return o})}}class gk extends Gd{observe(t){this.listenTo(t,"load",(t,e)=>{const n=e.target;if(n.tagName=="IMG"){this._fireEvents(e)}},{useCapture:true})}_fireEvents(t){if(this.isEnabled){this.document.fire("layoutChanged");this.document.fire("imageLoaded",t)}}}class pk{constructor(){this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!bk(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!bk(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t.id);if(bk(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&wk(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex(e=>e.id===t);if(n>-1){e.splice(n,1)}}}ys(pk,ds);function bk(t,e){return t&&e&&t.priority==e.priority&&kk(t.classes)==kk(e.classes)}function wk(t,e){if(t.priority>e.priority){return true}else if(t.priority<e.priority){return false}return kk(t.classes)>kk(e.classes)}function kk(t){return Array.isArray(t)?t.sort().join(","):t}function _k(t){return e=>e+t}var vk=n(42);const yk=_k("px");const xk=Nd.document.body;class Ck extends mb{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("position","arrow_nw");this.set("isVisible",false);this.set("withArrow",true);this.set("class");this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",t=>`ck-balloon-panel_${t}`),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",yk),left:e.to("left",yk)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=Ck.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast],limiter:xk,fitInViewport:true},t);const i=Ck._getOptimalPosition(n);const o=parseInt(i.left);const r=parseInt(i.top);const s=i.name;Object.assign(this,{top:r,left:o,position:s})}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=Ak(t.target);const n=t.limiter?Ak(t.limiter):xk;this.listenTo(Nd.document,"scroll",(i,o)=>{const r=o.target;const s=e&&r.contains(e);const a=n&&r.contains(n);if(s||a||!e||!n){this.attachTo(t)}},{useCapture:true});this.listenTo(Nd.window,"resize",()=>{this.attachTo(t)})}_stopPinning(){this.stopListening(Nd.document,"scroll");this.stopListening(Nd.window,"resize")}}function Ak(t){if(Yr(t)){return t}if(wh(t)){return t.commonAncestorContainer}if(typeof t=="function"){return Ak(t())}return null}Ck.arrowHorizontalOffset=25;Ck.arrowVerticalOffset=10;Ck._getOptimalPosition=Rb;Ck.defaultPositions={northWestArrowSouthWest:(t,e)=>({top:Tk(t,e),left:t.left-Ck.arrowHorizontalOffset,name:"arrow_sw"}),northWestArrowSouthMiddleWest:(t,e)=>({top:Tk(t,e),left:t.left-e.width*.25-Ck.arrowHorizontalOffset,name:"arrow_smw"}),northWestArrowSouth:(t,e)=>({top:Tk(t,e),left:t.left-e.width/2,name:"arrow_s"}),northWestArrowSouthMiddleEast:(t,e)=>({top:Tk(t,e),left:t.left-e.width*.75+Ck.arrowHorizontalOffset,name:"arrow_sme"}),northWestArrowSouthEast:(t,e)=>({top:Tk(t,e),left:t.left-e.width+Ck.arrowHorizontalOffset,name:"arrow_se"}),northArrowSouthWest:(t,e)=>({top:Tk(t,e),left:t.left+t.width/2-Ck.arrowHorizontalOffset,name:"arrow_sw"}),northArrowSouthMiddleWest:(t,e)=>({top:Tk(t,e),left:t.left+t.width/2-e.width*.25-Ck.arrowHorizontalOffset,name:"arrow_smw"}),northArrowSouth:(t,e)=>({top:Tk(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s"}),northArrowSouthMiddleEast:(t,e)=>({top:Tk(t,e),left:t.left+t.width/2-e.width*.75+Ck.arrowHorizontalOffset,name:"arrow_sme"}),northArrowSouthEast:(t,e)=>({top:Tk(t,e),left:t.left+t.width/2-e.width+Ck.arrowHorizontalOffset,name:"arrow_se"}),northEastArrowSouthWest:(t,e)=>({top:Tk(t,e),left:t.right-Ck.arrowHorizontalOffset,name:"arrow_sw"}),northEastArrowSouthMiddleWest:(t,e)=>({top:Tk(t,e),left:t.right-e.width*.25-Ck.arrowHorizontalOffset,name:"arrow_smw"}),northEastArrowSouth:(t,e)=>({top:Tk(t,e),left:t.right-e.width/2,name:"arrow_s"}),northEastArrowSouthMiddleEast:(t,e)=>({top:Tk(t,e),left:t.right-e.width*.75+Ck.arrowHorizontalOffset,name:"arrow_sme"}),northEastArrowSouthEast:(t,e)=>({top:Tk(t,e),left:t.right-e.width+Ck.arrowHorizontalOffset,name:"arrow_se"}),southWestArrowNorthWest:(t,e)=>({top:Sk(t,e),left:t.left-Ck.arrowHorizontalOffset,name:"arrow_nw"}),southWestArrowNorthMiddleWest:(t,e)=>({top:Sk(t,e),left:t.left-e.width*.25-Ck.arrowHorizontalOffset,name:"arrow_nmw"}),southWestArrowNorth:(t,e)=>({top:Sk(t,e),left:t.left-e.width/2,name:"arrow_n"}),southWestArrowNorthMiddleEast:(t,e)=>({top:Sk(t,e),left:t.left-e.width*.75+Ck.arrowHorizontalOffset,name:"arrow_nme"}),southWestArrowNorthEast:(t,e)=>({top:Sk(t,e),left:t.left-e.width+Ck.arrowHorizontalOffset,name:"arrow_ne"}),southArrowNorthWest:(t,e)=>({top:Sk(t,e),left:t.left+t.width/2-Ck.arrowHorizontalOffset,name:"arrow_nw"}),southArrowNorthMiddleWest:(t,e)=>({top:Sk(t,e),left:t.left+t.width/2-e.width*.25-Ck.arrowHorizontalOffset,name:"arrow_nmw"}),southArrowNorth:(t,e)=>({top:Sk(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_n"}),southArrowNorthMiddleEast:(t,e)=>({top:Sk(t,e),left:t.left+t.width/2-e.width*.75+Ck.arrowHorizontalOffset,name:"arrow_nme"}),southArrowNorthEast:(t,e)=>({top:Sk(t,e),left:t.left+t.width/2-e.width+Ck.arrowHorizontalOffset,name:"arrow_ne"}),southEastArrowNorthWest:(t,e)=>({top:Sk(t,e),left:t.right-Ck.arrowHorizontalOffset,name:"arrow_nw"}),southEastArrowNorthMiddleWest:(t,e)=>({top:Sk(t,e),left:t.right-e.width*.25-Ck.arrowHorizontalOffset,name:"arrow_nmw"}),southEastArrowNorth:(t,e)=>({top:Sk(t,e),left:t.right-e.width/2,name:"arrow_n"}),southEastArrowNorthMiddleEast:(t,e)=>({top:Sk(t,e),left:t.right-e.width*.75+Ck.arrowHorizontalOffset,name:"arrow_nme"}),southEastArrowNorthEast:(t,e)=>({top:Sk(t,e),left:t.right-e.width+Ck.arrowHorizontalOffset,name:"arrow_ne"})};function Tk(t,e){return t.top-e.height-Ck.arrowVerticalOffset}function Sk(t){return t.bottom+Ck.arrowVerticalOffset}var Pk='<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M4 0v1H1v3H0V.5A.5.5 0 0 1 .5 0H4zm8 0h3.5a.5.5 0 0 1 .5.5V4h-1V1h-3V0zM4 16H.5a.5.5 0 0 1-.5-.5V12h1v3h3v1zm8 0v-1h3v-3h1v3.5a.5.5 0 0 1-.5.5H12z"/><path fill-opacity=".256" d="M1 1h14v14H1z"/><g class="ck-icon__selected-indicator"><path d="M7 0h2v1H7V0zM0 7h1v2H0V7zm15 0h1v2h-1V7zm-8 8h2v1H7v-1z"/><path fill-opacity=".254" d="M1 1h14v14H1z"/></g></svg>';const Ek="ck-widget";const Mk="ck-widget_selected";function Ik(t){if(!t.is("element")){return false}return!!t.getCustomProperty("widget")}function Nk(t,e,n={}){e.setAttribute("contenteditable","false",t);e.addClass(Ek,t);e.setCustomProperty("widget",true,t);t.getFillerOffset=jk;if(n.label){Rk(t,n.label,e)}if(n.hasSelectionHandle){Fk(t,e)}Ok(t,e,(t,e,n)=>n.addClass(i(e.classes),t),(t,e,n)=>n.removeClass(i(e.classes),t));return t;function i(t){return Array.isArray(t)?t:[t]}}function Ok(t,e,n,i){const o=new pk;o.on("change:top",(e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}});e.setCustomProperty("addHighlight",(t,e,n)=>o.add(e,n),t);e.setCustomProperty("removeHighlight",(t,e,n)=>o.remove(e,n),t)}function Rk(t,e,n){n.setCustomProperty("widgetLabel",e,t)}function Lk(t){const e=t.getCustomProperty("widgetLabel");if(!e){return""}return typeof e=="function"?e():e}function Vk(t,e){e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t);e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t);t.on("change:isReadOnly",(n,i,o)=>{e.setAttribute("contenteditable",o?"false":"true",t)});t.on("change:isFocused",(n,i,o)=>{if(o){e.addClass("ck-editor__nested-editable_focused",t)}else{e.removeClass("ck-editor__nested-editable_focused",t)}});return t}function Dk(t,e){const n=t.getSelectedElement();if(n&&e.schema.isBlock(n)){return e.createPositionAfter(n)}const i=t.getSelectedBlocks().next().value;if(i){if(i.isEmpty){return e.createPositionAt(i,0)}const n=e.createPositionAfter(i);if(t.focus.isTouching(n)){return n}return e.createPositionBefore(i)}return t.focus}function zk(t,e){return(n,i)=>{const{mapper:o,viewPosition:r}=i;const s=o.findMappedViewAncestor(r);if(!e(s)){return}const a=o.toModelElement(s);i.modelPosition=t.createPositionAt(a,r.isAtStart?"before":"after")}}function Bk(t,e){const n=new vh(Nd.window);const i=n.getIntersection(t);const o=e.height+Ck.arrowVerticalOffset;if(t.top-o>n.top||t.bottom+o<n.bottom){return null}const r=i||t;const s=r.left+r.width/2-e.width/2;return{top:Math.max(t.top,0)+Ck.arrowVerticalOffset,left:s,name:"arrow_n"}}function jk(){return null}function Fk(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t);const n=new Ub;n.set("content",Pk);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass(["ck-widget_with-selection-handle"],t)}function Hk(t,e,n){e.setCustomProperty("image",true,t);return Nk(t,e,{label:i});function i(){const e=Yk(t);const i=e.getAttribute("alt");return i?`${i} ${n}`:n}}function Uk(t){return!!t.getCustomProperty("image")&&Ik(t)}function qk(t){const e=t.getSelectedElement();if(e&&Uk(e)){return e}return null}function Wk(t){return!!t&&t.is("image")}function $k(t,e,n={}){const i=t.createElement("image",n);const o=Dk(e.document.selection,e);e.insertContent(i,o);if(i.parent){t.setSelection(i,"on")}}function Gk(t){const e=t.schema;const n=t.document.selection;return Kk(n,e,t)&&!Qk(n,e)&&Jk(n)}function Yk(t){return Array.from(t.getChildren()).find(t=>t.is("img"))}function Kk(t,e,n){const i=Zk(t,n);return e.checkChild(i,"image")}function Qk(t,e){const n=t.getSelectedElement();return n&&e.isObject(n)}function Jk(t){return[...t.focus.getAncestors()].every(t=>!t.is("image"))}function Zk(t,e){const n=Dk(t,e);const i=n.parent;if(i.isEmpty&&!i.is("$root")){return i.parent}return i}function Xk(){return e=>{e.on("element:figure",t)};function t(t,e,n){if(!n.consumable.test(e.viewItem,{name:true,classes:"image"})){return}const i=Yk(e.viewItem);if(!i||!i.hasAttribute("src")||!n.consumable.test(i,{name:true})){return}const o=n.convertItem(i,e.modelCursor);const r=Pw(o.modelRange.getItems());if(!r){return}n.convertChildren(e.viewItem,n.writer.createPositionAt(r,0));e.modelRange=o.modelRange;e.modelCursor=o.modelCursor}}function t_(){return e=>{e.on("attribute:srcset:image",t)};function t(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const r=Yk(o);if(e.attributeNewValue===null){const t=e.attributeOldValue;if(t.data){i.removeAttribute("srcset",r);i.removeAttribute("sizes",r);if(t.width){i.removeAttribute("width",r)}}}else{const t=e.attributeNewValue;if(t.data){i.setAttribute("srcset",t.data,r);i.setAttribute("sizes","100vw",r);if(t.width){i.setAttribute("width",t.width,r)}}}}}function e_(t){return n=>{n.on(`attribute:${t}:image`,e)};function e(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);const r=Yk(o);if(e.attributeNewValue!==null){i.setAttribute(e.attributeKey,e.attributeNewValue,r)}else{i.removeAttribute(e.attributeKey,r)}}}class n_ extends Tw{refresh(){this.isEnabled=Gk(this.editor.model)}execute(t){const e=this.editor.model;e.change(n=>{const i=Array.isArray(t.source)?t.source:[t.source];for(const t of i){$k(n,e,{src:t})}})}}class i_ extends Cw{static get pluginName(){return"ImageEditing"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;t.editing.view.addObserver(gk);e.register("image",{isObject:true,isBlock:true,allowWhere:"$block",allowAttributes:["alt","src","srcset"]});i.for("dataDowncast").elementToElement({model:"image",view:(t,e)=>o_(e)});i.for("editingDowncast").elementToElement({model:"image",view:(t,e)=>Hk(o_(e),e,n("image widget"))});i.for("downcast").add(e_("src")).add(e_("alt")).add(t_());i.for("upcast").elementToElement({view:{name:"img",attributes:{src:true}},model:(t,e)=>e.createElement("image",{src:t.getAttribute("src")})}).attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:t=>{const e={data:t.getAttribute("srcset")};if(t.hasAttribute("width")){e.width=t.getAttribute("width")}return e}}}).add(Xk());t.commands.add("imageInsert",new n_(t))}}function o_(t){const e=t.createEmptyElement("img");const n=t.createContainerElement("figure",{class:"image"});t.insert(t.createPositionAt(n,0),e);return n}function r_(t,e,n){return n.createRange(s_(t,e,true,n),s_(t,e,false,n))}function s_(t,e,n,i){let o=t.textNode||(n?t.nodeBefore:t.nodeAfter);let r=null;while(o&&o.getAttribute("linkHref")==e){r=o;o=n?o.previousSibling:o.nextSibling}return r?i.createPositionAt(r,n?"before":"after"):t}class a_ extends Tw{constructor(t){super(t);this.manualDecorators=new xs}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute("linkHref");for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}this.isEnabled=t.schema.checkAttributeInSelection(e.selection,"linkHref")}execute(t,e={}){const n=this.editor.model;const i=n.document.selection;const o=[];const r=[];for(const t in e){if(e[t]){o.push(t)}else{r.push(t)}}n.change(e=>{if(i.isCollapsed){const s=i.getFirstPosition();if(i.hasAttribute("linkHref")){const a=r_(s,i.getAttribute("linkHref"),n);e.setAttribute("linkHref",t,a);o.forEach(t=>{e.setAttribute(t,true,a)});r.forEach(t=>{e.removeAttribute(t,a)});e.setSelection(a)}else if(t!==""){const r=Us(i.getAttributes());r.set("linkHref",t);o.forEach(t=>{r.set(t,true)});const a=e.createText(t,r);n.insertContent(a,s);e.setSelection(e.createRangeOn(a))}}else{const s=n.schema.getValidRanges(i.getRanges(),"linkHref");for(const n of s){e.setAttribute("linkHref",t,n);o.forEach(t=>{e.setAttribute(t,true,n)});r.forEach(t=>{e.removeAttribute(t,n)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model.document;return e.selection.getAttribute(t)}}class c_ extends Tw{refresh(){this.isEnabled=this.editor.model.document.selection.hasAttribute("linkHref")}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get("link");e.change(t=>{const o=n.isCollapsed?[r_(n.getFirstPosition(),n.getAttribute("linkHref"),e)]:n.getRanges();for(const e of o){t.removeAttribute("linkHref",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}})}}function l_(t,e,n){var i=t.length;n=n===undefined?i:n;return!e&&n>=i?t:Na(t,e,n)}var d_=l_;var u_="\\ud800-\\udfff",h_="\\u0300-\\u036f",f_="\\ufe20-\\ufe2f",m_="\\u20d0-\\u20ff",g_=h_+f_+m_,p_="\\ufe0e\\ufe0f";var b_="\\u200d";var w_=RegExp("["+b_+u_+g_+p_+"]");function k_(t){return w_.test(t)}var __=k_;function v_(t){return t.split("")}var y_=v_;var x_="\\ud800-\\udfff",C_="\\u0300-\\u036f",A_="\\ufe20-\\ufe2f",T_="\\u20d0-\\u20ff",S_=C_+A_+T_,P_="\\ufe0e\\ufe0f";var E_="["+x_+"]",M_="["+S_+"]",I_="\\ud83c[\\udffb-\\udfff]",N_="(?:"+M_+"|"+I_+")",O_="[^"+x_+"]",R_="(?:\\ud83c[\\udde6-\\uddff]){2}",L_="[\\ud800-\\udbff][\\udc00-\\udfff]",V_="\\u200d";var D_=N_+"?",z_="["+P_+"]?",B_="(?:"+V_+"(?:"+[O_,R_,L_].join("|")+")"+z_+D_+")*",j_=z_+D_+B_,F_="(?:"+[O_+M_+"?",M_,R_,L_,E_].join("|")+")";var H_=RegExp(I_+"(?="+I_+")|"+F_+j_,"g");function U_(t){return t.match(H_)||[]}var q_=U_;function W_(t){return __(t)?q_(t):y_(t)}var $_=W_;function G_(t){return function(e){e=va(e);var n=__(e)?$_(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?d_(n,1).join(""):e.slice(1);return i[t]()+o}}var Y_=G_;var K_=Y_("toUpperCase");var Q_=K_;const J_=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const Z_=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;function X_(t){return t.is("attributeElement")&&!!t.getCustomProperty("link")}function tv(t,e){const n=e.createAttributeElement("a",{href:t},{priority:5});e.setCustomProperty("link",true,n);return n}function ev(t){t=String(t);return nv(t)?t:"#"}function nv(t){const e=t.replace(J_,"");return e.match(Z_)}function iv(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};e.forEach(t=>{if(t.label&&n[t.label]){t.label=n[t.label]}return t});return e}function ov(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${Q_(n)}`});e.push(t)}}return e}class rv{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach(t=>this._definitions.add(t))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on("attribute:linkHref",(t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref")){return}const i=n.writer;const o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement("a",t.attributes,{priority:5});i.setCustomProperty("link",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is("selection")){i.wrap(o.getFirstRange(),r)}else{i.wrap(n.mapper.toViewRange(e.range),r)}}else{i.unwrap(n.mapper.toViewRange(e.range),r)}}},{priority:"high"})}}}class sv{constructor({id:t,label:e,attributes:n,defaultValue:i}){this.id=t;this.set("value");this.defaultValue=i;this.label=e;this.attributes=n}}ys(sv,Qc);function av({view:t,model:e,emitter:n,attribute:i,locale:o}){const r=new cv(e,n,i);const s=e.document.selection;n.listenTo(t.document,"keydown",(t,e)=>{if(!s.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Rl.arrowright;const i=e.keyCode==Rl.arrowleft;if(!n&&!i){return}const a=s.getFirstPosition();const c=o.contentLanguageDirection;let l;if(c==="ltr"&&n||c==="rtl"&&i){l=r.handleForwardMovement(a,e)}else{l=r.handleBackwardMovement(a,e)}if(l){t.stop()}},{priority:os.get("high")+1})}class cv{constructor(t,e,n){this.model=t;this.attribute=n;this._modelSelection=t.document.selection;this._overrideUid=null;this._isNextGravityRestorationSkipped=false;e.listenTo(this._modelSelection,"change:range",(t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&lv(this._modelSelection.getFirstPosition(),n)){return}this._restoreGravity()})}handleForwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){return}if(t.isAtStart&&this._hasSelectionAttribute){return}if(hv(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._removeSelectionAttribute();return true}if(dv(t,n)){this._preventCaretMovement(e);this._overrideGravity();return true}if(uv(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._overrideGravity();return true}}handleBackwardMovement(t,e){const n=this.attribute;if(this._isGravityOverridden){if(hv(t,n)&&this._hasSelectionAttribute){this._preventCaretMovement(e);this._restoreGravity();this._removeSelectionAttribute();return true}else{this._preventCaretMovement(e);this._restoreGravity();if(t.isAtStart){this._removeSelectionAttribute()}return true}}else{if(hv(t,n)&&!this._hasSelectionAttribute){this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}if(t.isAtEnd&&uv(t,n)){if(this._hasSelectionAttribute){if(fv(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}return}else{this._preventCaretMovement(e);this._setSelectionAttributeFromTheNodeBefore(t);return true}}if(t.isAtStart){if(this._hasSelectionAttribute){this._removeSelectionAttribute();this._preventCaretMovement(e);return true}return}if(fv(t,n)){this._skipNextAutomaticGravityRestoration();this._overrideGravity()}}}get _isGravityOverridden(){return!!this._overrideUid}get _hasSelectionAttribute(){return this._modelSelection.hasAttribute(this.attribute)}_overrideGravity(){this._overrideUid=this.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.model.change(t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null})}_preventCaretMovement(t){t.preventDefault()}_removeSelectionAttribute(){this.model.change(t=>{t.removeSelectionAttribute(this.attribute)})}_setSelectionAttributeFromTheNodeBefore(t){const e=this.attribute;this.model.change(n=>{n.setSelectionAttribute(this.attribute,t.nodeBefore.getAttribute(e))})}_skipNextAutomaticGravityRestoration(){this._isNextGravityRestorationSkipped=true}}function lv(t,e){return dv(t,e)||uv(t,e)}function dv(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const r=i?i.hasAttribute(e):false;return r&&(!o||n.getAttribute(e)!==i.getAttribute(e))}function uv(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const r=i?i.hasAttribute(e):false;return o&&(!r||n.getAttribute(e)!==i.getAttribute(e))}function hv(t,e){const{nodeBefore:n,nodeAfter:i}=t;const o=n?n.hasAttribute(e):false;const r=i?i.hasAttribute(e):false;if(!r||!o){return}return i.getAttribute(e)!==n.getAttribute(e)}function fv(t,e){return lv(t.getShiftedBy(-1),e)}var mv=n(44);const gv="ck-link_selected";const pv="automatic";const bv="manual";const wv=/^(https?:)?\/\//;class kv extends Cw{static get pluginName(){return"LinkEditing"}constructor(t){super(t);t.config.define("link",{addTargetToExternalLinks:false})}init(){const t=this.editor;const e=t.locale;t.model.schema.extend("$text",{allowAttributes:"linkHref"});t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:tv});t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>tv(ev(t),e)});t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:true}},model:{key:"linkHref",value:t=>t.getAttribute("href")}});t.commands.add("link",new a_(t));t.commands.add("unlink",new c_(t));const n=iv(t.t,ov(t.config.get("link.decorators")));this._enableAutomaticDecorators(n.filter(t=>t.mode===pv));this._enableManualDecorators(n.filter(t=>t.mode===bv));av({view:t.editing.view,model:t.model,emitter:this,attribute:"linkHref",locale:e});this._setupLinkHighlight();this._enableInsertContentSelectionAttributesFixer()}_enableAutomaticDecorators(t){const e=this.editor;const n=new rv;if(e.config.get("link.addTargetToExternalLinks")){n.add({id:"linkIsExternal",mode:pv,callback:t=>wv.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}})}n.add(t);if(n.length){e.conversion.for("downcast").add(n.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get("link");const i=n.manualDecorators;t.forEach(t=>{e.model.schema.extend("$text",{allowAttributes:t.id});i.add(new sv(t));e.conversion.for("downcast").attributeToElement({model:t.id,view:(e,n)=>{if(e){const e=i.get(t.id).attributes;const o=n.createAttributeElement("a",e,{priority:5});n.setCustomProperty("link",true,o);return o}}});e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:i.get(t.id).attributes},model:{key:t.id}})})}_setupLinkHighlight(){const t=this.editor;const e=t.editing.view;const n=new Set;e.document.registerPostFixer(e=>{const i=t.model.document.selection;let o=false;if(i.hasAttribute("linkHref")){const r=r_(i.getFirstPosition(),i.getAttribute("linkHref"),t.model);const s=t.editing.mapper.toViewRange(r);for(const t of s.getItems()){if(t.is("a")&&!t.hasClass(gv)){e.addClass(gv,t);n.add(t);o=true}}}return o});t.conversion.for("editingDowncast").add(t=>{t.on("insert",i,{priority:"highest"});t.on("remove",i,{priority:"highest"});t.on("attribute",i,{priority:"highest"});t.on("selection",i,{priority:"highest"});function i(){e.change(t=>{for(const e of n.values()){t.removeClass(gv,e);n.delete(e)}})}})}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;e.on("insertContent",()=>{const t=n.anchor.nodeBefore;const i=n.anchor.nodeAfter;if(!n.hasAttribute("linkHref")){return}if(!t){return}if(!t.hasAttribute("linkHref")){return}if(i&&i.hasAttribute("linkHref")){return}e.change(t=>{[...e.document.selection.getAttributeKeys()].filter(t=>t.startsWith("link")).forEach(e=>t.removeSelectionAttribute(e))})},{priority:"low"})}}class _v{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}ys(_v,Qc);class vv extends _v{static get pluginName(){return"Notification"}init(){this.on("show:warning",(t,e)=>{window.alert(e.message)},{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:"");this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class yv extends Tw{constructor(t){super(t);this.stopListening(this.editor.model.document,"change");this.listenTo(this.editor.model.document,"change",()=>this.refresh(),{priority:"low"})}refresh(){const t=this.editor.commands.get("imageInsert");const e=this.editor.commands.get("link");this.isEnabled=t.isEnabled||e.isEnabled}execute(){const t=this.editor;const e=this.editor.config.get("ckfinder.openerMethod")||"modal";if(e!="popup"&&e!="modal"){throw new ss["b"]('ckfinder-unknown-openerMethod: The openerMethod config option must by "popup" or "modal".',t)}const n=this.editor.config.get("ckfinder.options")||{};n.chooseFiles=true;const i=n.onInit;if(!n.language){n.language=t.locale.uiLanguage}n.onInit=e=>{if(i){i(e)}e.on("files:choose",n=>{const i=n.data.files.toArray();const o=i.filter(t=>!t.isImage());const r=i.filter(t=>t.isImage());for(const e of o){t.execute("link",e.getUrl())}const s=[];for(const t of r){const n=t.getUrl();s.push(n?n:e.request("file:getProxyUrl",{file:t}))}if(s.length){xv(t,s)}});e.on("file:choose:resizedImage",e=>{const n=e.data.resizedUrl;if(!n){const e=t.plugins.get("Notification");const n=t.locale.t;e.showWarning(n("Could not obtain resized image URL."),{title:n("Selecting resized image failed"),namespace:"ckfinder"});return}xv(t,[n])})};window.CKFinder[e](n)}}function xv(t,e){const n=t.commands.get("imageInsert");if(!n.isEnabled){const e=t.plugins.get("Notification");const n=t.locale.t;e.showWarning(n("Could not insert image at the current position."),{title:n("Inserting image failed"),namespace:"ckfinder"});return}t.execute("imageInsert",{source:e})}class Cv extends Cw{static get pluginName(){return"CKFinderEditing"}static get requires(){return[vv,i_,kv]}init(){const t=this.editor;t.commands.add("ckfinder",new yv(t))}}class Av extends _v{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",false);this._actions=new xs({idProperty:"_id"});this._actions.delegate("add","remove").to(this)}add(t){if(typeof t!=="string"){throw new ss["b"]("pendingactions-add-invalid-message: The message must be a string.",this)}const e=Object.create(Qc);e.set("message",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}class Tv{constructor(){const t=new window.FileReader;this._reader=t;this._data=undefined;this.set("loaded",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i("error")};e.onabort=()=>{i("aborted")};this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}ys(Tv,Qc);class Sv extends Cw{static get pluginName(){return"FileRepository"}static get requires(){return[Av]}init(){this.loaders=new xs;this.loaders.on("add",()=>this._updatePendingAction());this.loaders.on("remove",()=>this._updatePendingAction());this._loadersMap=new Map;this._pendingAction=null;this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){console.warn(Object(ss["a"])("filerepository-no-upload-adapter: Upload adapter is not defined."));return null}const e=new Pv(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then(t=>{this._loadersMap.set(t,e)}).catch(()=>{})}e.on("change:uploaded",()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t});e.on("change:uploadTotal",()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t});return e}destroyLoader(t){const e=t instanceof Pv?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach((t,n)=>{if(t===e){this._loadersMap.delete(n)}})}_updatePendingAction(){const t=this.editor.plugins.get(Av);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}ys(Sv,Qc);class Pv{constructor(t,e){this.id=ns();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new Tv;this.set("status","idle");this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0);this.set("uploadResponse",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null)}}get data(){return this._reader.data}read(){if(this.status!="idle"){throw new ss["b"]("filerepository-read-wrong-status: You cannot call read if the status is different than idle.",this)}this.status="reading";return this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading"){throw this.status}this.status="idle";return t}).catch(t=>{if(t==="aborted"){this.status="aborted";throw"aborted"}this.status="error";throw this._reader.error?this._reader.error:t})}upload(){if(this.status!="idle"){throw new ss["b"]("filerepository-upload-wrong-status: You cannot call upload if the status is different than idle.",this)}this.status="uploading";return this.file.then(()=>this._adapter.upload()).then(t=>{this.uploadResponse=t;this.status="idle";return t}).catch(t=>{if(this.status==="aborted"){throw"aborted"}this.status="error";throw t})}abort(){const t=this.status;this.status="aborted";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch(()=>{});this._filePromiseWrapper.rejecter("aborted")}else if(t=="reading"){this._reader.abort()}else if(t=="uploading"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then(t=>{e.isFulfilled=true;n(t)}).catch(t=>{e.isFulfilled=true;i(t)})});return e}}ys(Pv,Qc);const Ev="ckCsrfToken";const Mv=40;const Iv="abcdefghijklmnopqrstuvwxyz0123456789";function Nv(){let t=Ov(Ev);if(!t||t.length!=Mv){t=Lv(Mv);Rv(Ev,t)}return t}function Ov(t){t=t.toLowerCase();const e=document.cookie.split(";");for(const n of e){const e=n.split("=");const i=decodeURIComponent(e[0].trim().toLowerCase());if(i===t){return decodeURIComponent(e[1])}}return null}function Rv(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)+";path=/"}function Lv(t){let e="";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t<n.length;t++){const i=Iv.charAt(n[t]%Iv.length);e+=Math.random()>.5?i.toUpperCase():i}return e}class Vv extends Cw{static get requires(){return[Sv]}static get pluginName(){return"CKFinderUploadAdapter"}init(){const t=this.editor.config.get("ckfinder.uploadUrl");if(!t){return}this.editor.plugins.get(Sv).createUploadAdapter=e=>new Dv(e,t,this.editor.t)}}class Dv{constructor(t,e,n){this.loader=t;this.url=e;this.t=n}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.url,true);t.responseType="json"}_initListeners(t,e,n){const i=this.xhr;const o=this.loader;const r=this.t;const s=r("Cannot upload file:")+` ${n.name}.`;i.addEventListener("error",()=>e(s));i.addEventListener("abort",()=>e());i.addEventListener("load",()=>{const n=i.response;if(!n||!n.uploaded){return e(n&&n.error&&n.error.message?n.error.message:s)}t({default:n.url})});if(i.upload){i.upload.addEventListener("progress",t=>{if(t.lengthComputable){o.uploadTotal=t.total;o.uploaded=t.loaded}})}}_sendRequest(t){const e=new FormData;e.append("upload",t);e.append("ckCsrfToken",Nv());this.xhr.send(e)}}class zv extends Cw{static get pluginName(){return"CKFinder"}static get requires(){return[Cv,mk,Vv]}}const Bv="code";class jv extends Cw{static get pluginName(){return"CodeEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Bv});t.model.schema.setAttributeProperties(Bv,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:Bv,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}});t.commands.add(Bv,new sk(t,Bv))}}var Fv='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.5 5.7l5.2 3.9v1.3l-5.6 4c-.1.2-.3.2-.5.2-.3-.1-.6-.7-.6-1l.3-.4 4.7-3.5L11.5 7l-.2-.2c-.1-.3-.1-.6 0-.8.2-.2.5-.4.8-.4a.8.8 0 0 1 .4.1zm-5.2 0L2 9.6v1.3l5.6 4c.1.2.3.2.5.2.3-.1.7-.7.6-1 0-.1 0-.3-.2-.4l-5-3.5L8.2 7l.2-.2c.1-.3.1-.6 0-.8-.2-.2-.5-.4-.8-.4a.8.8 0 0 0-.3.1z"/></svg>';var Hv=n(11);const Uv="code";class qv extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(Uv,n=>{const i=t.commands.get(Uv);const o=new Gb(n);o.set({label:e("Code"),icon:Fv,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute(Uv);t.editing.view.focus()});return o})}}class Wv extends Cw{static get requires(){return[jv,qv]}static get pluginName(){return"Code"}}function*$v(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class Gv extends Tw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{Kv(t,n,e.selection);this.fire("afterExecute",{writer:n})})}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=Yv(t.schema,e.selection)}}function Yv(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,"softBreak")){return false}const i=e.getFirstRange();const o=i.start.parent;const r=i.end.parent;if((Jv(o,t)||Jv(r,t))&&o!==r){return false}return true}function Kv(t,e,n){const i=n.isCollapsed;const o=n.getFirstRange();const r=o.start.parent;const s=o.end.parent;const a=r==s;if(i){const i=$v(t.schema,n.getAttributes());Qv(t,e,o.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i});if(a){Qv(t,e,n.focus)}else{if(i){e.setSelection(s,0)}}}}function Qv(t,e,n){const i=e.createElement("softBreak");t.insertContent(i,n);e.setSelection(i,"after")}function Jv(t,e){if(t.is("rootElement")){return false}return e.isLimit(t)||Jv(t.parent,e)}class Zv extends Gd{constructor(t){super(t);const e=this.document;e.on("keydown",(t,n)=>{if(this.isEnabled&&n.keyCode==Rl.enter){let i;e.once("enter",t=>i=t,{priority:"highest"});e.fire("enter",new Yu(e,n.domEvent,{isSoft:n.shiftKey}));if(i&&i.stop.called){t.stop()}}})}observe(){}}class Xv extends Cw{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.editing.view;const o=i.document;e.register("softBreak",{allowWhere:"$text",isInline:true});n.for("upcast").elementToElement({model:"softBreak",view:"br"});n.for("downcast").elementToElement({model:"softBreak",view:(t,e)=>e.createEmptyElement("br")});i.addObserver(Zv);t.commands.add("shiftEnter",new Gv(t));this.listenTo(o,"enter",(e,n)=>{n.preventDefault();if(!n.isSoft){return}t.execute("shiftEnter");i.scrollToTheSelection()},{priority:"low"})}}function ty(t){const e=t.t;const n=t.config.get("codeBlock.languages");for(const t of n){if(t.label==="Plain text"){t.label=e("Plain text")}if(t.class===undefined){t.class=`language-${t.language}`}}return n}function ey(t,e,n){const i={};for(const o of t){if(e==="class"){i[o[e].split(" ").shift()]=o[n]}else{i[o[e]]=o[n]}}return i}function ny(t){return t.data.match(/^(\s*)/)[0]}function iy(t,e){const n=t.createDocumentFragment();const i=e.split("\n").map(e=>t.createText(e));const o=i[i.length-1];for(const e of i){t.append(e,n);if(e!==o){t.appendElement("softBreak",n)}}return n}function oy(t){const e=t.document.selection;const n=[];if(e.isCollapsed){n.push(e.anchor)}else{const i=e.getFirstRange().getWalker({ignoreElementEnd:true,direction:"backward"});for(const{item:e}of i){if(e.is("textProxy")&&e.parent.is("codeBlock")){const i=ny(e.textNode);const{parent:o,startOffset:r}=e.textNode;const s=t.createPositionAt(o,r+i.length);n.push(s)}}}return n}function ry(t){const e=Pw(t.getSelectedBlocks());return e&&e.is("codeBlock")}class sy extends Tw{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor;const n=e.model;const i=n.document.selection;const o=ty(e);const r=o[0];const s=Array.from(i.getSelectedBlocks());const a=t.forceValue===undefined?!this.value:t.forceValue;const c=t.language||r.language;n.change(t=>{if(a){this._applyCodeBlock(t,s,c)}else{this._removeCodeBlock(t,s)}})}_getValue(){const t=this.editor.model.document.selection;const e=Pw(t.getSelectedBlocks());const n=!!(e&&e.is("codeBlock"));return n?e.getAttribute("language"):false}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=Pw(t.getSelectedBlocks());if(!n){return false}return ay(e,n)}_applyCodeBlock(t,e,n){const i=this.editor.model.schema;const o=e.filter(t=>ay(i,t));for(const e of o){t.rename(e,"codeBlock");t.setAttribute("language",n,e);i.removeDisallowedAttributes([e],t)}o.reverse().forEach((e,n)=>{const i=o[n+1];if(e.previousSibling===i){t.appendElement("softBreak",i);t.merge(t.createPositionBefore(e))}})}_removeCodeBlock(t,e){const n=e.filter(t=>t.is("codeBlock"));for(const e of n){const n=t.createRangeOn(e);for(const e of Array.from(n.getItems()).reverse()){if(e.is("softBreak")&&e.parent.is("codeBlock")){const{position:n}=t.split(t.createPositionBefore(e));t.rename(n.nodeAfter,"paragraph");t.removeAttribute("language",n.nodeAfter);t.remove(e)}}t.rename(e,"paragraph");t.removeAttribute("language",e)}}}function ay(t,e){if(e.is("rootElement")||t.isLimit(e)){return false}return t.checkChild(e.parent,"codeBlock")}class cy extends Tw{constructor(t){super(t);this._indentSequence=t.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change(t=>{const n=oy(e);for(const e of n){t.insertText(this._indentSequence,e)}})}_checkEnabled(){if(!this._indentSequence){return false}return ry(this.editor.model.document.selection)}}class ly extends Tw{constructor(t){super(t);this._indentSequence=t.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change(t=>{const n=oy(e);for(const e of n){const n=dy(this.editor.model,e,this._indentSequence);if(n){t.remove(n)}}})}_checkEnabled(){if(!this._indentSequence){return false}const t=this.editor.model;if(!ry(t.document.selection)){return false}return oy(t).some(e=>dy(t,e,this._indentSequence))}}function dy(t,e,n){const i=uy(e);if(!i){return null}const o=ny(i);const r=o.lastIndexOf(n);if(r+n.length!==o.length){return null}if(r===-1){return null}const{parent:s,startOffset:a}=i;return t.createRange(t.createPositionAt(s,a+r),t.createPositionAt(s,a+r+n.length))}function uy(t){let e=t.parent.getChild(t.index);if(!e||e.is("softBreak")){e=t.nodeBefore}if(!e||e.is("softBreak")){return null}return e}function hy(t,e,n=false){const i=ey(e,"language","class");const o=ey(e,"language","label");return(e,r,s)=>{const{writer:a,mapper:c,consumable:l}=s;if(!l.consume(r.item,"insert")){return}const d=r.item.getAttribute("language");const u=c.toViewPosition(t.createPositionBefore(r.item));const h={};if(n){h["data-language"]=o[d];h.spellcheck="false"}const f=a.createContainerElement("pre",h);const m=a.createContainerElement("code",{class:i[d]||null});a.insert(a.createPositionAt(f,0),m);a.insert(u,f);c.bindElements(r.item,m)}}function fy(t){return(e,n,i)=>{if(n.item.parent.name!=="codeBlock"){return}const{writer:o,mapper:r,consumable:s}=i;if(!s.consume(n.item,"insert")){return}const a=r.toViewPosition(t.createPositionBefore(n.item));o.insert(a,o.createText("\n"))}}function my(t,e){const n=ey(e,"class","language");const i=e[0].language;return(e,o,r)=>{const s=o.viewItem;const a=s.getChild(0);if(!a||!a.is("code")){return}const{consumable:c,writer:l}=r;if(!c.test(s,{name:true})||!c.test(a,{name:true})){return}const d=l.createElement("codeBlock");const u=[...a.getClassNames()];if(!u.length){u.push("")}for(const t of u){const e=n[t];if(e){l.setAttribute("language",e,d);break}}if(!d.hasAttribute("language")){l.setAttribute("language",i,d)}const h=[...t.createRangeIn(a)].filter(t=>t.type==="text").map(({item:t})=>t.data).join("");const f=iy(l,h);l.append(f,d);const m=r.splitToAllowedParent(d,o.modelCursor);if(!m){return}l.insert(d,m.position);c.consume(s,{name:true});c.consume(a,{name:true});const g=r.getSplitParts(d);o.modelRange=l.createRange(r.writer.createPositionBefore(d),r.writer.createPositionAfter(g[g.length-1]));if(m.cursorParent){o.modelCursor=l.createPositionAt(m.cursorParent,0)}else{o.modelCursor=o.modelRange.end}}}const gy="paragraph";class py extends Cw{static get pluginName(){return"CodeBlockEditing"}static get requires(){return[Xv]}constructor(t){super(t);t.config.define("codeBlock",{languages:[{language:"plaintext",label:"Plain text"},{language:"c",label:"C"},{language:"cs",label:"C#"},{language:"cpp",label:"C++"},{language:"css",label:"CSS"},{language:"diff",label:"Diff"},{language:"html",label:"HTML"},{language:"java",label:"Java"},{language:"javascript",label:"JavaScript"},{language:"php",label:"PHP"},{language:"python",label:"Python"},{language:"ruby",label:"Ruby"},{language:"typescript",label:"TypeScript"},{language:"xml",label:"XML"}],indentSequence:"\t"})}init(){const t=this.editor;const e=t.model.schema;const n=t.model;const i=ty(t);t.commands.add("codeBlock",new sy(t));t.commands.add("indentCodeBlock",new cy(t));t.commands.add("outdentCodeBlock",new ly(t));const o=t=>(e,n)=>{const i=this.editor.commands.get(t);if(i.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set("Tab",o("indentCodeBlock"));t.keystrokes.set("Shift+Tab",o("outdentCodeBlock"));e.register("codeBlock",{allowWhere:"$block",isBlock:true,allowAttributes:["language"]});e.extend("$text",{allowIn:"codeBlock"});e.addAttributeCheck(t=>{if(t.endsWith("codeBlock $text")){return false}});t.editing.downcastDispatcher.on("insert:codeBlock",hy(n,i,true));t.data.downcastDispatcher.on("insert:codeBlock",hy(n,i));t.data.downcastDispatcher.on("insert:softBreak",fy(n),{priority:"high"});t.data.upcastDispatcher.on("element:pre",my(t.editing.view,i));this.listenTo(t.editing.view.document,"clipboardInput",(t,e)=>{const i=n.document.selection;if(!i.anchor.parent.is("codeBlock")){return}const o=e.dataTransfer.getData("text/plain");n.change(e=>{n.insertContent(iy(e,o),i);t.stop()})});this.listenTo(n,"getSelectedContent",(t,[i])=>{const o=i.anchor;if(i.isCollapsed||!o.parent.is("codeBlock")||!o.hasSameParentAs(i.focus)){return}n.change(n=>{const r=t.return;if(r.childCount>1||i.containsEntireContent(o.parent)){const e=n.createElement("codeBlock",o.parent.getAttributes());n.append(r,e);const i=n.createDocumentFragment();n.append(e,i);t.return=i}else{const t=r.getChild(0);if(e.checkAttribute(t,"code")){n.setAttribute("code",true,t)}}})})}afterInit(){const t=this.editor;const e=t.commands;const n=e.get("indent");const i=e.get("outdent");if(n){n.registerChildCommand(e.get("indentCodeBlock"))}if(i){i.registerChildCommand(e.get("outdentCodeBlock"))}this.listenTo(t.editing.view.document,"enter",(e,n)=>{const i=t.model.document.selection.getLastPosition().parent;if(!i.is("codeBlock")){return}wy(t,n.isSoft)||ky(t,n.isSoft)||by(t);n.preventDefault();e.stop()})}}function by(t){const e=t.model;const n=e.document;const i=n.selection.getLastPosition();const o=i.nodeBefore||i.textNode;let r;if(o&&o.is("text")){r=ny(o)}t.model.change(e=>{t.execute("shiftEnter");if(r){e.insertText(r,n.selection.anchor)}})}function wy(t,e){const n=t.model;const i=n.document;const o=t.editing.view;const r=i.selection.getLastPosition();const s=r.nodeAfter;if(e||!i.selection.isCollapsed||!r.isAtStart){return false}if(!s||!s.is("softBreak")){return false}t.model.change(e=>{t.execute("enter");const n=i.selection.anchor.parent.previousSibling;e.rename(n,gy);e.setSelection(n,"in");t.model.schema.removeDisallowedAttributes([n],e);e.remove(s)});o.scrollToTheSelection();return true}function ky(t,e){const n=t.model;const i=n.document;const o=t.editing.view;const r=i.selection.getLastPosition();const s=r.nodeBefore;let a;if(e||!i.selection.isCollapsed||!r.isAtEnd||!s){return false}if(s.is("softBreak")){a=n.createRangeOn(s)}else if(s.is("text")&&!s.data.match(/\S/)&&s.previousSibling&&s.previousSibling.is("softBreak")){a=n.createRange(n.createPositionBefore(s.previousSibling),n.createPositionAfter(s))}else{return false}t.model.change(e=>{e.remove(a);t.execute("enter");const n=i.selection.anchor.parent;e.rename(n,gy);t.model.schema.removeDisallowedAttributes([n],e)});o.scrollToTheSelection();return true}class _y{constructor(t,e){if(e){Wc(this,e)}if(t){this.set(t)}}}ys(_y,Qc);var vy=n(47);class yy extends mb{constructor(t){super(t);const e=this.bindTemplate;this.set("icon");this.set("isEnabled",true);this.set("isOn",false);this.set("isToggleable",false);this.set("isVisible",true);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.children=this.createCollection();this.actionView=this._createActionView();this.arrowView=this._createArrowView();this.keystrokes=new mp;this.focusTracker=new xp;this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",e.if("isVisible","ck-hidden",t=>!t),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set("arrowright",(t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}});this.keystrokes.set("arrowleft",(t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}})}focus(){this.actionView.focus()}_createActionView(){const t=new Gb;t.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this);t.extendTemplate({attributes:{class:"ck-splitbutton__action"}});t.delegate("execute").to(this);return t}_createArrowView(){const t=new Gb;const e=t.bindTemplate;t.icon=Yb;t.extendTemplate({attributes:{class:"ck-splitbutton__arrow","aria-haspopup":true,"aria-expanded":e.to("isOn",t=>String(t))}});t.bind("isEnabled").to(this);t.delegate("execute").to(this,"open");return t}}var xy='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.87 12.61a.75.75 0 0 1-.089.976l-.085.07-3.154 2.254 3.412 2.414a.75.75 0 0 1 .237.95l-.057.095a.75.75 0 0 1-.95.237l-.096-.058-4.272-3.022-.003-1.223 4.01-2.867a.75.75 0 0 1 1.047.174zm2.795-.231l.095.057 4.011 2.867-.003 1.223-4.272 3.022-.095.058a.75.75 0 0 1-.88-.151l-.07-.086-.058-.095a.75.75 0 0 1 .15-.88l.087-.07 3.412-2.414-3.154-2.253-.085-.071a.75.75 0 0 1 .862-1.207zM16 0a2 2 0 0 1 2 2v9.354l-.663-.492-.837-.001V2a.5.5 0 0 0-.5-.5H2a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h3.118L7.156 19H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h14zM5.009 15l.003 1H3v-1h2.009zm2.188-2l-1.471 1H5v-1h2.197zM10 11v.095L8.668 12H7v-1h3zm4-2v1H7V9h7zm0-2v1H7V7h7zm-4-2v1H5V5h5zM6 3v1H3V3h3z"/></svg>';var Cy=n(49);class Ay extends Cw{init(){const t=this.editor;const e=t.t;const n=t.ui.componentFactory;const i=ty(t);const o=i[0];n.add("codeBlock",n=>{const r=t.commands.get("codeBlock");const s=rw(n,yy);const a=s.buttonView;a.set({label:e("Insert code block"),tooltip:true,icon:xy,isToggleable:true});a.bind("isOn").to(r,"value",t=>!!t);a.on("execute",()=>{t.execute("codeBlock",{language:o.language});t.editing.view.focus()});s.on("execute",e=>{t.execute("codeBlock",{language:e.source._codeBlockLanguage,forceValue:true});t.editing.view.focus()});s.class="ck-code-block-dropdown";s.bind("isEnabled").to(r);aw(s,this._getLanguageListItemDefinitions(i));return s})}_getLanguageListItemDefinitions(t){const e=this.editor;const n=e.commands.get("codeBlock");const i=new xs;for(const e of t){const t={type:"button",model:new _y({_codeBlockLanguage:e.language,label:e.label,withText:true})};t.model.bind("isOn").to(n,"value",e=>e===t.model._codeBlockLanguage);i.add(t)}return i}}class Ty extends Cw{static get requires(){return[py,Ay]}static get pluginName(){return"CodeBlock"}}class Sy{constructor(t){this.files=Py(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 Py(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 Ey extends Ku{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 i=n.dropRange?[n.dropRange]:Array.from(e.selection.getRanges());const o=new ts(e,"clipboardInput");e.fire(o,{dataTransfer:n.dataTransfer,targetRanges:i});if(o.stop.called){n.stopPropagation()}}}onDomEvent(t){const e={dataTransfer:new Sy(t.clipboardData?t.clipboardData:t.dataTransfer)};if(t.type=="drop"){e.dropRange=My(this.view,t)}this.fire(t.type,t,e)}}function My(t,e){const n=e.target.ownerDocument;const i=e.clientX;const o=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)){r=n.caretRangeFromPoint(i,o)}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()}}function Iy(t){t=t.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"</p><p>").replace(/^\s/,"&nbsp;").replace(/\s$/,"&nbsp;").replace(/\s\s/g," &nbsp;");if(t.indexOf("</p><p>")>-1){t=`<p>${t}</p>`}return t}function Ny(t){return t.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,(t,e)=>{if(e.length==1){return" "}return e})}const Oy=["figcaption","li"];function Ry(t){let e="";if(t.is("text")||t.is("textProxy")){e=t.data}else if(t.is("img")&&t.hasAttribute("alt")){e=t.getAttribute("alt")}else{let n=null;for(const i of t.getChildren()){const t=Ry(i);if(n&&(n.is("containerElement")||i.is("containerElement"))){if(Oy.includes(n.name)||Oy.includes(i.name)){e+="\n"}else{e+="\n\n"}}e+=t;n=i}}return e}class Ly extends Cw{static get pluginName(){return"Clipboard"}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;this._htmlDataProcessor=new _p(i);n.addObserver(Ey);this.listenTo(i,"clipboardInput",e=>{if(t.isReadOnly){e.stop()}},{priority:"highest"});this.listenTo(i,"clipboardInput",(t,e)=>{const i=e.dataTransfer;let o="";if(i.getData("text/html")){o=Ny(i.getData("text/html"))}else if(i.getData("text/plain")){o=Iy(i.getData("text/plain"))}o=this._htmlDataProcessor.toView(o);const r=new ts(this,"inputTransformation");this.fire(r,{content:o,dataTransfer:i});if(r.stop.called){t.stop()}n.scrollToTheSelection()},{priority:"low"});this.listenTo(this,"inputTransformation",(t,e)=>{if(!e.content.isEmpty){const n=this.editor.data;const i=this.editor.model;const o=n.toModel(e.content,"$clipboardHolder");if(o.childCount==0){return}i.insertContent(o);t.stop()}},{priority:"low"});function o(n,o){const r=o.dataTransfer;o.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));i.fire("clipboardOutput",{dataTransfer:r,content:s,method:n.name})}this.listenTo(i,"copy",o,{priority:"low"});this.listenTo(i,"cut",(e,n)=>{if(t.isReadOnly){n.preventDefault()}else{o(e,n)}},{priority:"low"});this.listenTo(i,"clipboardOutput",(n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData("text/html",this._htmlDataProcessor.toData(i.content));i.dataTransfer.setData("text/plain",Ry(i.content))}if(i.method=="cut"){t.model.deleteContent(e.selection)}},{priority:"low"})}}class Vy extends Tw{execute(){const t=this.editor.model;const e=t.document;t.change(n=>{Dy(this.editor.model,n,e.selection,t.schema);this.fire("afterExecute",{writer:n})})}}function Dy(t,e,n,i){const o=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(i.isLimit(s)||i.isLimit(a)){if(!o&&s==a){t.deleteContent(n)}return}if(o){const t=$v(e.model.schema,n.getAttributes());zy(e,r.start);e.setSelectionAttribute(t)}else{const i=!(r.start.isAtStart&&r.end.isAtEnd);const o=s==a;t.deleteContent(n,{leaveUnmerged:i});if(i){if(o){zy(e,n.focus)}else{e.setSelection(a,0)}}}}function zy(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}class By extends Cw{static get pluginName(){return"Enter"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(Zv);t.commands.add("enter",new Vy(t));this.listenTo(n,"enter",(n,i)=>{i.preventDefault();if(i.isSoft){return}t.execute("enter");e.scrollToTheSelection()},{priority:"low"})}}class jy extends Tw{execute(){const t=this.editor.model;const e=t.schema.getLimitElement(t.document.selection);t.change(t=>{t.setSelection(e,"in")})}}const Fy=Vl("Ctrl+A");class Hy extends Cw{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add("selectAll",new jy(t));this.listenTo(n,"keydown",(e,n)=>{if(Ll(n)===Fy){t.execute("selectAll");n.preventDefault()}})}}var Uy='<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z"/></svg>';class qy extends Cw{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll");const i=new Gb(e);const o=e.t;i.set({label:o("Select all"),icon:Uy,keystroke:"Ctrl+A",tooltip:true});i.bind("isOn","isEnabled").to(n,"value","isEnabled");this.listenTo(i,"execute",()=>{t.execute("selectAll");t.editing.view.focus()});return i})}}class Wy extends Cw{static get requires(){return[Hy,qy]}static get pluginName(){return"SelectAll"}}class $y{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 Gy extends Tw{constructor(t,e){super(t);this._buffer=new $y(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 i=t.text||"";const o=i.length;const r=t.range?e.createSelection(t.range):n.selection;const s=t.resultRange;e.enqueueChange(this._buffer.batch,t=>{this._buffer.lock();e.deleteContent(r);if(i){e.insertContent(t.createText(i,n.selection.getAttributes()),r)}if(s){t.setSelection(s)}else if(!r.is("documentSelection")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(o);this._batches.add(this._buffer.batch)})}}function Yy(t){let e=null;const n=t.model;const i=t.editing.view;const o=t.commands.get("input");if(Tl.isAndroid){i.document.on("beforeinput",(t,e)=>r(e),{priority:"lowest"})}else{i.document.on("keydown",(t,e)=>r(e),{priority:"lowest"})}i.document.on("compositionstart",s,{priority:"lowest"});i.document.on("compositionend",()=>{e=n.createSelection(n.document.selection)},{priority:"lowest"});function r(t){const r=n.document;const s=i.document.isComposing;const c=e&&e.isEqual(r.selection);e=null;if(!o.isEnabled){return}if(Qy(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=o.buffer;t.lock();n.enqueueChange(t.batch,()=>{n.deleteContent(n.document.selection)});t.unlock()}}const Ky=[Ll("arrowUp"),Ll("arrowRight"),Ll("arrowDown"),Ll("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++){Ky.push(t)}function Qy(t){if(t.ctrlKey){return true}return Ky.includes(t.keyCode)}function Jy(t,e){const n=[];let i=0;let o;t.forEach(t=>{if(t=="equal"){r();i++}else if(t=="insert"){if(s("insert")){o.values.push(e[i])}else{r();o={type:"insert",index:i,values:[e[i]]}}i++}else{if(s("delete")){o.howMany++}else{r();o={type:"delete",index:i,howMany:1}}}});r();return n;function r(){if(o){n.push(o);o=null}}function s(t){return o&&o.type==t}}function Zy(t){if(t.length==0){return false}for(const e of t){if(e.type==="children"&&!Xy(e)){return true}}return false}function Xy(t){if(t.newChildren.length-t.oldChildren.length!=1){return}const e=_d(t.oldChildren,t.newChildren,tx);const n=Jy(e,t.newChildren);if(n.length>1){return}const i=n[0];if(!(!!i.values[0]&&i.values[0].is("text"))){return}return i}function tx(t,e){if(!!t&&t.is("text")&&!!e&&e.is("text")){return t.data===e.data}else{return t===e}}function ex(t){t.editing.view.document.on("mutations",(e,n,i)=>{new nx(t).handle(n,i)})}class nx{constructor(t){this.editor=t;this.editing=this.editor.editing}handle(t,e){if(Zy(t)){this._handleContainerChildrenMutations(t,e)}else{for(const n of t){this._handleTextMutation(n,e);this._handleTextNodeInsertion(n)}}}_handleContainerChildrenMutations(t,e){const n=ix(t);if(!n){return}const i=this.editor.editing.view.domConverter;const o=i.mapViewToDom(n);const r=new Dd(this.editor.editing.view.document);const s=this.editor.data.toModel(r.domToView(o)).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 d=c[c.length-1];const u=l[l.length-1];if(d&&d.is("softBreak")&&u&&!u.is("softBreak")){c.pop()}const h=this.editor.model.schema;if(!ox(c,h)||!ox(l,h)){return}const f=c.map(t=>t.is("text")?t.data:"@").join("").replace(/\u00A0/g," ");const m=l.map(t=>t.is("text")?t.data:"@").join("").replace(/\u00A0/g," ");if(m===f){return}const g=_d(m,f);const{firstChangeAt:p,insertions:b,deletions:w}=rx(g);let k=null;if(e){k=this.editing.mapper.toModelRange(e.getFirstRange())}const _=f.substr(p,b);const v=this.editor.model.createRange(this.editor.model.createPositionAt(a,p),this.editor.model.createPositionAt(a,p+w));this.editor.execute("input",{text:_,range:v,resultRange:k})}_handleTextMutation(t,e){if(t.type!="text"){return}const n=t.newText.replace(/\u00A0/g," ");const i=t.oldText.replace(/\u00A0/g," ");if(i===n){return}const o=_d(i,n);const{firstChangeAt:r,insertions:s,deletions:a}=rx(o);let c=null;if(e){c=this.editing.mapper.toModelRange(e.getFirstRange())}const l=this.editing.view.createPositionAt(t.node,r);const d=this.editing.mapper.toModelPosition(l);const u=this.editor.model.createRange(d,d.getShiftedBy(a));const h=n.substr(r,s);this.editor.execute("input",{text:h,range:u,resultRange:c})}_handleTextNodeInsertion(t){if(t.type!="children"){return}const e=Xy(t);const n=this.editing.view.createPositionAt(t.node,e.index);const i=this.editing.mapper.toModelPosition(n);const o=e.values[0].data;this.editor.execute("input",{text:o.replace(/\u00A0/g," "),range:this.editor.model.createRange(i)})}}function ix(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 ox(t,e){return t.every(t=>e.isInline(t))}function rx(t){let e=null;let n=null;for(let i=0;i<t.length;i++){const o=t[i];if(o!="equal"){e=e===null?i:e;n=i}}let i=0;let o=0;for(let r=e;r<=n;r++){if(t[r]!="insert"){i++}if(t[r]!="delete"){o++}}return{insertions:o,deletions:i,firstChangeAt:e}}class sx extends Cw{static get pluginName(){return"Input"}init(){const t=this.editor;const e=new Gy(t,t.config.get("typing.undoStep")||20);t.commands.add("input",e);Yy(t);ex(t)}isInput(t){const e=this.editor.commands.get("input");return e._batches.has(t)}}class ax extends Tw{constructor(t,e){super(t);this.direction=e;this._buffer=new $y(t.model,t.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);const r=o.isCollapsed;if(o.isCollapsed){e.modifySelection(o,{direction:this.direction,unit:t.unit})}if(this._shouldEntireContentBeReplacedWithParagraph(t.sequence||1)){this._replaceEntireContentWithParagraph(i);return}if(o.isCollapsed){return}let s=0;o.getFirstRange().getMinimalFlatRanges().forEach(t=>{s+=ml(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))});e.deleteContent(o,{doNotResetEntireContent:r,direction:this.direction});this._buffer.input(s);i.setSelection(o);this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const r=i.isCollapsed&&i.containsEntireContent(o);if(!r){return false}if(!e.schema.checkChild(o,"paragraph")){return false}const s=o.getChild(0);if(s&&s.name==="paragraph"){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const r=t.createElement("paragraph");t.remove(t.createRangeIn(o));t.insert(r,o);t.setSelection(r,0)}}class cx extends Gd{constructor(t){super(t);const e=t.document;let n=0;e.on("keyup",(t,e)=>{if(e.keyCode==Rl.delete||e.keyCode==Rl.backspace){n=0}});e.on("keydown",(t,e)=>{const o={};if(e.keyCode==Rl.delete){o.direction="forward";o.unit="character"}else if(e.keyCode==Rl.backspace){o.direction="backward";o.unit="codePoint"}else{return}const r=Tl.isMac?e.altKey:e.ctrlKey;o.unit=r?"word":o.unit;o.sequence=++n;i(t,e.domEvent,o)});if(Tl.isAndroid){e.on("beforeinput",(e,n)=>{if(n.domEvent.inputType!="deleteContentBackward"){return}const o={unit:"codepoint",direction:"backward",sequence:1};const r=n.domTarget.ownerDocument.defaultView.getSelection();if(r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset){o.selectionToRemove=t.domConverter.domSelectionToView(r)}i(e,n.domEvent,o)})}function i(t,n,i){let o;e.once("delete",t=>o=t,{priority:Number.POSITIVE_INFINITY});e.fire("delete",new Yu(e,n,i));if(o&&o.stop.called){t.stop()}}}observe(){}}class lx extends Cw{static get pluginName(){return"Delete"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(cx);t.commands.add("forwardDelete",new ax(t,"forward"));t.commands.add("delete",new ax(t,"backward"));this.listenTo(n,"delete",(n,i)=>{const o={unit:i.unit,sequence:i.sequence};if(i.selectionToRemove){const e=t.model.createSelection();const n=[];for(const e of i.selectionToRemove.getRanges()){n.push(t.editing.mapper.toModelRange(e))}e.setTo(n);o.selection=e}t.execute(i.direction=="forward"?"forwardDelete":"delete",o);i.preventDefault();e.scrollToTheSelection()});if(Tl.isAndroid){let t=null;this.listenTo(n,"delete",(e,n)=>{const i=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.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 dx extends Cw{static get requires(){return[sx,lx]}static get pluginName(){return"Typing"}}const ux=new Map;function hx(t,e,n){let i=ux.get(t);if(!i){i=new Map;ux.set(t,i)}i.set(e,n)}function fx(t,e){const n=ux.get(t);if(n&&n.has(e)){return n.get(e)}return mx}function mx(t){return[t]}function gx(t,e,n={}){const i=fx(t.constructor,e.constructor);try{t=t.clone();return i(t,e,n)}catch(t){throw t}}function px(t,e,n){t=t.slice();e=e.slice();const i=new bx(n.document,n.useRelations,n.forceWeakRemove);i.setOriginalOperations(t);i.setOriginalOperations(e);const o=i.originalOperations;if(t.length==0||e.length==0){return{operationsA:t,operationsB:e,originalOperations:o}}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<t.length){const n=t[a];const o=r.get(n);if(o==e.length){a++;continue}const s=e[o];const c=gx(n,s,i.getContext(n,s,true));const l=gx(s,n,i.getContext(s,n,false));i.updateRelation(n,s);i.setOriginalOperations(c,n);i.setOriginalOperations(l,s);for(const t of c){r.set(t,o+l.length)}t.splice(a,1,...c);e.splice(o,1,...l)}if(n.padWithNoOps){const n=t.length-s.originalOperationsACount;const i=e.length-s.originalOperationsBCount;kx(t,i-n);kx(e,n-i)}wx(t,s.nextBaseVersionB);wx(e,s.nextBaseVersionA);return{operationsA:t,operationsB:e,originalOperations:o}}class bx{constructor(t,e,n=false){this.originalOperations=new Map;this._history=t.history;this._useRelations=e;this._forceWeakRemove=!!n;this._relations=new Map}setOriginalOperations(t,e=null){const n=e?this.originalOperations.get(e):null;for(const e of t){this.originalOperations.set(e,n||e)}}updateRelation(t,e){switch(t.constructor){case ig:{switch(e.constructor){case cg:{if(t.targetPosition.isEqual(e.sourcePosition)||e.movedRange.containsPosition(t.targetPosition)){this._setRelation(t,e,"insertAtSource")}else if(t.targetPosition.isEqual(e.deletionPosition)){this._setRelation(t,e,"insertBetween")}else if(t.targetPosition.isAfter(e.sourcePosition)){this._setRelation(t,e,"moveTargetAfter")}break}case ig:{if(t.targetPosition.isEqual(e.sourcePosition)||t.targetPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,"insertBefore")}else{this._setRelation(t,e,"insertAfter")}break}}break}case lg:{switch(e.constructor){case cg:{if(t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,"splitBefore")}break}case ig:{if(t.splitPosition.isEqual(e.sourcePosition)||t.splitPosition.isBefore(e.sourcePosition)){this._setRelation(t,e,"splitBefore")}break}}break}case cg:{switch(e.constructor){case cg:{if(!t.targetPosition.isEqual(e.sourcePosition)){this._setRelation(t,e,"mergeTargetNotMoved")}if(t.sourcePosition.isEqual(e.targetPosition)){this._setRelation(t,e,"mergeSourceNotMoved")}if(t.sourcePosition.isEqual(e.sourcePosition)){this._setRelation(t,e,"mergeSameElement")}break}case lg:{if(t.sourcePosition.isEqual(e.splitPosition)){this._setRelation(t,e,"splitAtSource")}}}break}case rg:{const n=t.newRange;if(!n){return}switch(e.constructor){case ig:{const i=Kh._createFromPositionAndShift(e.sourcePosition,e.howMany);const o=i.containsPosition(n.start)||i.start.isEqual(n.start);const r=i.containsPosition(n.end)||i.end.isEqual(n.end);if((o||r)&&!i.containsRange(n)){this._setRelation(t,e,{side:o?"left":"right",path:o?n.start.path.slice():n.end.path.slice()})}break}case cg:{const i=n.start.isEqual(e.targetPosition);const o=n.start.isEqual(e.deletionPosition);const r=n.end.isEqual(e.deletionPosition);const s=n.end.isEqual(e.sourcePosition);if(i||o||r||s){this._setRelation(t,e,{wasInLeftElement:i,wasStartBeforeMergedElement:o,wasEndBeforeMergedElement:r,wasInRightElement:s})}break}}break}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e);const i=this._history.getUndoneOperation(n);if(!i){return null}const o=this.originalOperations.get(t);const r=this._relations.get(o);if(r){return r.get(i)||null}return null}_setRelation(t,e,n){const i=this.originalOperations.get(t);const o=this.originalOperations.get(e);let r=this._relations.get(i);if(!r){r=new Map;this._relations.set(i,r)}r.set(o,n)}}function wx(t,e){for(const n of t){n.baseVersion=e++}}function kx(t,e){for(let n=0;n<e;n++){t.push(new Ng(0))}}hx(eg,eg,(t,e,n)=>{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map(e=>new eg(e,t.key,t.oldValue,t.newValue,0));const o=t.range.getIntersection(e.range);if(o){if(n.aIsStrong){i.push(new eg(o,e.key,e.newValue,t.newValue,0))}}if(i.length==0){return[new Ng(0)]}return i}else{return[t]}});hx(eg,og,(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 i=n.map(e=>new eg(e,t.key,t.oldValue,t.newValue,t.baseVersion));if(e.shouldReceiveAttributes){const n=_x(e,t.key,t.oldValue);if(n){i.unshift(n)}}return i}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]});function _x(t,e,n){const i=t.nodes;const o=i.getNode(0).getAttribute(e);if(o==n){return null}const r=new Kh(t.position,t.position.getShiftedBy(t.howMany));return new eg(r,e,o,n,0)}hx(eg,cg,(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(Kh._createFromPositionAndShift(e.graveyardPosition,1))}}const i=t.range._getTransformedByMergeOperation(e);if(!i.isCollapsed){n.push(i)}return n.map(e=>new eg(e,t.key,t.oldValue,t.newValue,t.baseVersion))});hx(eg,ig,(t,e)=>{const n=vx(t.range,e);return n.map(e=>new eg(e,t.key,t.oldValue,t.newValue,t.baseVersion))});function vx(t,e){const n=Kh._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null;let o=[];if(n.containsRange(t,true)){i=t}else if(t.start.hasSameParentAs(n.start)){o=t.getDifference(n);i=t.getIntersection(n)}else{o=[t]}const r=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const i=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,i);r.push(...t)}if(i){r.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return r}hx(eg,lg,(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 Kh(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]});hx(og,eg,(t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=_x(t,e.key,e.newValue);if(i){n.push(i)}}return n});hx(og,og,(t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]});hx(og,ig,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});hx(og,lg,(t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]});hx(og,cg,(t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]});hx(rg,og,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]});hx(rg,rg,(t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Ng(0)]}}return[t]});hx(rg,cg,(t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]});hx(rg,ig,(t,e,n)=>{if(t.oldRange){t.oldRange=Kh._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const i=Kh._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=i.end;return[t]}else if(n.abRelation.side=="right"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=i.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Kh._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]});hx(rg,lg,(t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=Wh._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=Wh._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=Wh._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=Wh._createAt(e.insertionPosition)}else{t.newRange.end=i.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]});hx(cg,og,(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]});hx(cg,cg,(t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Ng(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new Wh(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 i=t.targetPosition.root.rootName=="$graveyard";const o=e.targetPosition.root.rootName=="$graveyard";const r=i&&!o;const s=o&&!i;const a=s||!r&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const i=t.targetPosition._getTransformedByMergeOperation(e);return[new ig(n,t.howMany,i,0)]}else{return[new Ng(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]});hx(cg,ig,(t,e,n)=>{const i=Kh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)){return[new Ng(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]});hx(cg,lg,(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 i=e.howMany!=0;const o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||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]});hx(ig,og,(t,e)=>{const n=Kh._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=i.start;t.howMany=i.end.offset-i.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]});hx(ig,ig,(t,e,n)=>{const i=Kh._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=Kh._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(yx(t,e)&&yx(e,t)){return[e.getReversed()]}const c=i.containsPosition(e.targetPosition);if(c&&i.containsRange(o,true)){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return xx([i],a)}const l=o.containsPosition(t.targetPosition);if(l&&o.containsRange(i,true)){i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart());i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return xx([i],a)}const d=Ls(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d=="prefix"||d=="extension"){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return xx([i],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 u=[];const h=i.getDifference(o);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=Ls(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())=="same";const i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...i)}const f=i.getIntersection(o);if(f!==null&&r){f.start=f.start._getCombined(e.sourcePosition,e.getMovedRangeStart());f.end=f.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(f)}else if(u.length==1){if(o.start.isBefore(i.start)||o.start.isEqual(i.start)){u.unshift(f)}else{u.push(f)}}else{u.splice(1,0,f)}}if(u.length===0){return[new Ng(t.baseVersion)]}return xx(u,a)});hx(ig,lg,(t,e,n)=>{let i=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation=="moveTargetAfter"){i=t.targetPosition._getTransformedBySplitOperation(e)}const o=Kh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=i;return[t]}if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new Kh(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);const n=[new Kh(o.start,e.splitPosition),t];return xx(n,i)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation=="insertAtSource"){i=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation=="insertBetween"){i=t.targetPosition}const r=o._getTransformedBySplitOperation(e);const s=[r];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(t.howMany>1&&i&&!n.aWasUndone){s.push(Kh._createFromPositionAndShift(e.insertionPosition,1))}}return xx(s,i)});hx(ig,cg,(t,e,n)=>{const i=Kh._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)){if(t.type=="remove"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone();let o=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new ig(t.sourcePosition,t.howMany-1,t.targetPosition,0));i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const s=new ig(i,1,r,0);const a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Wh(s.targetPosition.root,a);o=o._getTransformedByMove(i,r,1);const l=new ig(o,e.howMany,c,0);n.push(s);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Ng(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const o=Kh._createFromPositionAndShift(t.sourcePosition,t.howMany);const r=o._getTransformedByMergeOperation(e);t.sourcePosition=r.start;t.howMany=r.end.offset-r.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]});hx(sg,og,(t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]});hx(sg,cg,(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]});hx(sg,ig,(t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]});hx(sg,sg,(t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Ng(0)]}}return[t]});hx(sg,lg,(t,e)=>{const n=t.position.path;const i=e.splitPosition.getParentPath();if(Ls(n,i)=="same"&&!e.graveyardPosition){const e=new sg(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]});hx(ag,ag,(t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Ng(0)]}else{t.oldValue=e.newValue}}return[t]});hx(lg,og,(t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset<e.position.offset){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByInsertOperation(e);t.insertionPosition=lg.getInsertionPosition(t.splitPosition);return[t]});hx(lg,cg,(t,e,n)=>{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new Wh(e.graveyardPosition.root,n);const o=lg.getInsertionPosition(new Wh(e.graveyardPosition.root,n));const r=new lg(i,0,null,0);r.insertionPosition=o;t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=lg.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=lg.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]});hx(lg,ig,(t,e,n)=>{const i=Kh._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e);const i=t.graveyardPosition._getTransformedByMoveOperation(e);const o=i.path.slice();o.push(0);const r=new Wh(i.root,o);const s=new ig(n,t.howMany,r,0);return[s]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.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<e.targetPosition.offset){t.howMany+=e.howMany}t.splitPosition=e.sourcePosition.clone();t.insertionPosition=lg.getInsertionPosition(t.splitPosition);return[t]}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(n.baRelation=="insertAtSource"||n.abRelation=="splitBefore")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=lg.getInsertionPosition(t.splitPosition);return[t]}if(!e.sourcePosition.isEqual(e.targetPosition)){if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&t.splitPosition.offset<=e.sourcePosition.offset){t.howMany-=e.howMany}if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset<e.targetPosition.offset){t.howMany+=e.howMany}}t.splitPosition.stickiness="toNone";t.splitPosition=t.splitPosition._getTransformedByMoveOperation(e);t.splitPosition.stickiness="toNext";if(t.graveyardPosition){t.insertionPosition=t.insertionPosition._getTransformedByMoveOperation(e)}else{t.insertionPosition=lg.getInsertionPosition(t.splitPosition)}return[t]});hx(lg,lg,(t,e,n)=>{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Ng(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Ng(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 i=t.splitPosition.root.rootName=="$graveyard";const o=e.splitPosition.root.rootName=="$graveyard";const r=i&&!o;const s=o&&!i;const a=s||!r&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new ig(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new ig(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Ng(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 i=new Wh(e.insertionPosition.root,n);const o=new ig(t.insertionPosition,1,i,0);return[t,o]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset<e.splitPosition.offset){t.howMany-=e.howMany}t.splitPosition=t.splitPosition._getTransformedBySplitOperation(e);t.insertionPosition=lg.getInsertionPosition(t.splitPosition);return[t]});function yx(t,e){return t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)===null}function xx(t,e){const n=[];for(let i=0;i<t.length;i++){const o=t[i];const r=new ig(o.start,o.end.offset-o.start.offset,e,0);n.push(r);for(let e=i+1;e<t.length;e++){t[e]=t[e]._getTransformedByMove(r.sourcePosition,r.targetPosition,r.howMany)[0]}e=e._getTransformedByMove(r.sourcePosition,r.targetPosition,r.howMany)}return n}class Cx extends Tw{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh()}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 i=this.editor.model;const o=i.document;const r=[];for(const e of t){const t=Ax(e,n);const i=t.find(t=>t.start.root!=o.graveyard);if(i){r.push(i)}}if(r.length){i.change(t=>{t.setSelection(r,{backward:e})})}}_undo(t,e){const n=this.editor.model;const i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter(t=>t.isDocumentOperation);o.reverse();for(const t of o){const o=t.baseVersion+1;const r=Array.from(i.history.getOperations(o));const s=px([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(const o of a){e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function Ax(t,e){const n=t.getTransformedByOperations(e);n.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;t<n.length;t++){const e=n[t-1];const i=n[t];if(e.end.isTouching(i.start)){e.end=i.end;n.splice(t,1);t--}}return n}class Tx extends Cx{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 i=this.editor.model.createBatch("transparent");this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);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,i)});this.refresh()}}class Sx extends Cx{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 i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)});this.refresh()}}class Px extends Cw{static get pluginName(){return"UndoEditing"}constructor(t){super(t);this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new Tx(t);this._redoCommand=new Sx(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 i=n.batch;const o=this._redoCommand._createdBatches.has(i);const r=this._undoCommand._createdBatches.has(i);const s=this._batchRegistry.has(i);if(s||i.type=="transparent"&&!o&&!r){return}else{if(o){this._undoCommand.addBatch(i)}else if(!r){this._undoCommand.addBatch(i);this._redoCommand.clearStack()}}this._batchRegistry.add(i)},{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 Ex='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5.042 9.367l2.189 1.837a.75.75 0 0 1-.965 1.149l-3.788-3.18a.747.747 0 0 1-.21-.284.75.75 0 0 1 .17-.945L6.23 4.762a.75.75 0 1 1 .964 1.15L4.863 7.866h8.917A.75.75 0 0 1 14 7.9a4 4 0 1 1-1.477 7.718l.344-1.489a2.5 2.5 0 1 0 1.094-4.73l.008-.032H5.042z"/></svg>';var Mx='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M14.958 9.367l-2.189 1.837a.75.75 0 0 0 .965 1.149l3.788-3.18a.747.747 0 0 0 .21-.284.75.75 0 0 0-.17-.945L13.77 4.762a.75.75 0 1 0-.964 1.15l2.331 1.955H6.22A.75.75 0 0 0 6 7.9a4 4 0 1 0 1.477 7.718l-.344-1.489A2.5 2.5 0 1 1 6.039 9.4l-.008-.032h8.927z"/></svg>';class Ix extends Cw{init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?Ex:Mx;const o=e.uiLanguageDirection=="ltr"?Mx:Ex;this._addButton("undo",n("Undo"),"CTRL+Z",i);this._addButton("redo",n("Redo"),"CTRL+Y",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,r=>{const s=o.commands.get(t);const a=new Gb(r);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind("isEnabled").to(s,"isEnabled");this.listenTo(a,"execute",()=>{o.execute(t);o.editing.view.focus()});return a})}}class Nx extends Cw{static get requires(){return[Px,Ix]}static get pluginName(){return"Undo"}}class Ox extends Cw{static get requires(){return[Ly,By,Wy,Xv,dx,Nx]}static get pluginName(){return"Essentials"}}const Rx=[":root","cssRules","text","join","trim","cssText","indexOf","then","push",".ck-content","all","The editor stylesheet could not be found in the document. Check your webpack config style-loader should use data-cke=true attribute for the editor stylesheet.","hasAttribute","data-cke","length"];(function(t,e){const n=function(e){while(--e){t["push"](t["shift"]())}};n(++e)})(Rx,244);const Lx=function(t,e){t=t-0;let n=Rx[t];return n};function Vx(t){if(!t)return new Promise(t=>t(""));const e=[];for(const n of t)"EDITOR_STYLES"!==n?e[Lx("0x4")](window["fetch"](n)[Lx("0x3")](t=>t[Lx("0xd")]())):e[Lx("0x4")](Dx());return Promise[Lx("0x6")](e)["then"](t=>t["join"](" ")[Lx("0x0")]())}function Dx(){const t=[],e=[];for(const n of document["styleSheets"])if(n["ownerNode"][Lx("0x8")](Lx("0x9")))for(const i of n[Lx("0xc")])-1!==i["cssText"]["indexOf"](Lx("0x5"))?t[Lx("0x4")](i["cssText"]):-1!==i[Lx("0x1")][Lx("0x2")](Lx("0xb"))&&e["push"](i[Lx("0x1")]);return t[Lx("0xa")]||console["warn"](Lx("0x7")),[...e,...t][Lx("0xe")](" ")["trim"]()}class zx extends Tw{constructor(t){super(t),this["set"]("isBusy",!1)}["refresh"](){this["isEnabled"]=!this["isBusy"],this["value"]=this["isBusy"]?"pending":void 0}["execute"](t={}){const e=this["editor"],n=e["t"],i=t["converterUrl"]||"https://pdf-converter.cke-cs.com/v1/convert/";return this["isBusy"]=!0,this["refresh"](),Vx(t["stylesheets"]||["EDITOR_STYLES"])["then"](n=>{const o={html:'<html>\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<meta charset="utf-8">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t\t\t<div class="ck-content" dir="'+e["locale"]["contentLanguageDirection"]+'">\n\t\t\t\t\t\t\t\t'+e["getData"]()+"\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t</html>",css:n,options:t["converterOptions"]},r={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/pdf","x-cs-app-id":t["appID"]||"cke5"},body:JSON["stringify"](o)};return window["fetch"](i,r)["then"](t=>{if(200!==t["status"])throw t;return t["blob"]()})["then"](e=>{this["o"](e,t["fileName"]||"document.pdf")})})["catch"](t=>{throw e["plugins"]["get"]("Notification")["showWarning"](n("An error occurred while generating the PDF.")),t})["finally"](()=>{this["isBusy"]=!1,this["refresh"]()})}["o"](t,e){const n=document["createElement"]("a");n["href"]=window["URL"]["createObjectURL"](t),n["download"]=e,n["click"](),n["remove"]()}}var Bx='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M14 0l5 4.5V20H3v-3h1.5v1.5h13v-12h-5v-5h-8v5H3V0h11zm3.3 5L14 2v3h3.3z"/><path d="M2.63 14.24V12.3h.88c.66 0 1.14-.15 1.46-.45.32-.3.48-.71.48-1.24 0-.52-.15-.91-.44-1.2C4.7 9.15 4.28 9 3.69 9H1v5.24h1.63zm.4-3h-.4v-1.17h.46c.3 0 .5.05.62.17.1.11.16.25.16.42 0 .16-.06.3-.19.41-.13.11-.34.16-.66.16zm5.7 3c.28 0 .6-.05.96-.14.26-.07.5-.21.73-.42.22-.2.4-.47.53-.77.12-.31.19-.75.19-1.3 0-.37-.04-.7-.13-1.02a2.3 2.3 0 00-.42-.84c-.19-.24-.43-.43-.72-.56C9.57 9.06 9.2 9 8.72 9h-2.4v5.24h2.4zm-.4-1.19h-.4v-2.86h.4c.43 0 .73.1.91.3.18.2.27.59.27 1.14 0 .42-.04.73-.12.91a.76.76 0 01-.34.4c-.14.07-.38.11-.72.11zm5.3 1.2V12.1h2.02v-1.06h-2.03v-.91H16V9h-4v5.24h1.62z"/></svg>\n';var jx=n(51);class Fx extends Cw{static get["pluginName"](){return"ExportPdf"}static get["requires"](){return[vv]}["init"](){const t=this["editor"],e=t["t"],n=t["config"]["get"]("exportPdf")||{};t["commands"]["add"]("exportPdf",new zx(t)),t["ui"]["componentFactory"]["add"]("exportPdf",i=>{const o=t["commands"]["get"]("exportPdf"),r=new Gb(i);r["set"]({label:e("Export to PDF"),icon:Bx,tooltip:!0}),r["bind"]("isOn","isEnabled")["to"](o,"isBusy","isEnabled"),r["extendTemplate"]({attributes:{class:[r["bindTemplate"]["if"]("isOn","ck-exportpdf_status-pending")]}});const s=new mb;return s["setTemplate"]({tag:"span",attributes:{class:["ck","ck-exportpdf__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-exportpdf__spinner"]}}]}),r["children"]["add"](s),this["listenTo"](r,"execute",()=>{t["execute"]("exportPdf",n),t["editing"]["view"]["focus"]()}),r})}}class Hx extends Tw{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 i=n.selection;const o=t.value;e.change(t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,o)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}})}}var Ux='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path class="ck-icon__fill" d="M16.935 5.328a2 2 0 0 1 0 2.829l-7.778 7.778a2 2 0 0 1-2.829 0L3.5 13.107a1.999 1.999 0 1 1 2.828-2.829l.707.707a1 1 0 0 0 1.414 0l5.658-5.657a2 2 0 0 1 2.828 0z"/><path d="M14.814 6.035L8.448 12.4a1 1 0 0 1-1.414 0l-1.413-1.415A1 1 0 1 0 4.207 12.4l2.829 2.829a1 1 0 0 0 1.414 0l7.778-7.778a1 1 0 1 0-1.414-1.415z"/></svg>';class qx extends Gb{constructor(t){super(t);const e=this.bindTemplate;this.set("color");this.set("hasBorder");this.icon=Ux;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 Wx=n(53);class $x extends mb{constructor(t,e){super(t);const n=e&&e.colorDefinitions||[];const i={};if(e&&e.columns){i.gridTemplateColumns=`repeat( ${e.columns}, 1fr)`}this.set("selectedColor");this.items=this.createCollection();this.focusTracker=new xp;this.keystrokes=new mp;this._focusCycler=new Cb({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 qx;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:i}});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)}}var Gx=n(55);class Yx extends mb{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 Kx extends xs{constructor(t){super(t);this.set("isEmpty",true)}add(t,e){if(this.find(e=>e.color===t.color)){return}super.add(t,e);this.set("isEmpty",false)}remove(t){const e=super.remove(t);if(this.length===0){this.set("isEmpty",true)}return e}hasColor(t){return!!this.find(e=>e.color===t)}}ys(Kx,Qc);var Qx='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.636 9.531l-2.758 3.94a.5.5 0 0 0 .122.696l3.224 2.284h1.314l2.636-3.736L8.636 9.53zm.288 8.451L5.14 15.396a2 2 0 0 1-.491-2.786l6.673-9.53a2 2 0 0 1 2.785-.49l3.742 2.62a2 2 0 0 1 .491 2.785l-7.269 10.053-2.147-.066z"/><path d="M4 18h5.523v-1H4zm-2 0h1v-1H2z"/></svg>';var Jx=n(57);class Zx extends mb{constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r}){super(t);this.items=this.createCollection();this.colorDefinitions=e;this.focusTracker=new xp;this.keystrokes=new mp;this.set("selectedColor");this.removeButtonLabel=i;this.columns=n;this.documentColors=new Kx;this.documentColorsCount=r;this._focusCycler=new Cb({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}});this._documentColorsLabel=o;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 i=this.documentColorsCount;this.documentColors.clear();for(const o of n.getRootNames()){const r=n.getRoot(o);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>=i){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=Fp.bind(this.documentColors,this.documentColors);const e=new Yx(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 Gb;t.set({withText:true,icon:Qx,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 $x(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.delegate("execute").to(this);return t}_createDocumentColorsGrid(){const t=Fp.bind(this.documentColors,this.documentColors);const e=new $x(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 qx;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,i)=>{if(i){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 Xx="fontSize";const tC="fontFamily";const eC="fontColor";const nC="fontBackgroundColor";function iC(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 oC(t){return e=>aC(e.getStyle(t))}function rC(t){return(e,n)=>n.createAttributeElement("span",{style:`${t}:${e}`},{priority:7})}function sC({dropdownView:t,colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r}){const s=t.locale;const a=new Zx(s,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r});t.colorTableView=a;t.panelView.children.add(a);a.delegate("execute").to(t,"execute");return a}function aC(t){return t.replace(/\s/g,"")}class cC extends Hx{constructor(t){super(t,eC)}}class lC extends Cw{static get pluginName(){return"FontColorEditing"}constructor(t){super(t);t.config.define(eC,{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:eC,value:oC("color")}});t.conversion.for("downcast").attributeToElement({model:eC,view:rC("color")});t.commands.add(eC,new cC(t));t.model.schema.extend("$text",{allowAttributes:eC});t.model.schema.setAttributeProperties(eC,{isFormatting:true,copyOnEnter:true})}}function dC(t,e){const n=t.t;const i={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=i[t.label];if(e&&e!=t.label){t.label=e}return t})}function uC(t){return t.map(hC).filter(t=>!!t)}function hC(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 fC extends Cw{constructor(t,{commandName:e,icon:n,componentName:i,dropdownLabel:o}){super(t);this.commandName=e;this.componentName=i;this.icon=n;this.dropdownLabel=o;this.columns=t.config.get(`${this.componentName}.columns`);this.colorTableView}init(){const t=this.editor;const e=t.locale;const n=e.t;const i=t.commands.get(this.commandName);const o=uC(t.config.get(this.componentName).colors);const r=dC(e,o);const s=t.config.get(`${this.componentName}.documentColors`);t.ui.componentFactory.add(this.componentName,e=>{const o=rw(e);this.colorTableView=sC({dropdownView:o,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(i,"value");o.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:true});o.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}});o.bind("isEnabled").to(i);o.on("execute",(e,n)=>{t.execute(this.commandName,n);t.editing.view.focus()});o.on("change:isOpen",(e,n,i)=>{o.colorTableView.appendGrids();if(i){if(s!==0){this.colorTableView.updateDocumentColors(t.model,this.componentName)}this.colorTableView.updateSelectedColors()}});return o})}}var mC='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.4 10.3L10 4.5l-2.4 5.8h4.8zm.5 1.2H7.1L5.7 15H4.2l5-12h1.6l5 12h-1.5L13 11.5zm3.1 7H4a1 1 0 0 1 0-2h12a1 1 0 0 1 0 2z"/></svg>';class gC extends fC{constructor(t){const e=t.locale.t;super(t,{commandName:eC,componentName:eC,icon:mC,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class pC extends Cw{static get requires(){return[lC,gC]}static get pluginName(){return"FontColor"}}class bC extends Hx{constructor(t){super(t,tC)}}function wC(t){return t.map(kC).filter(t=>!!t)}function kC(t){if(typeof t==="object"){return t}if(t==="default"){return{title:"Default",model:undefined}}if(typeof t!=="string"){return}return _C(t)}function _C(t){const e=t.replace(/"|'/g,"").split(",");const n=e[0];const i=e.map(vC).join(", ");return{title:n,model:n,view:{name:"span",styles:{"font-family":i},priority:7}}}function vC(t){t=t.trim();if(t.indexOf(" ")>0){t=`'${t}'`}return t}class yC extends Cw{static get pluginName(){return"FontFamilyEditing"}constructor(t){super(t);t.config.define(tC,{options:["default","Arial, Helvetica, sans-serif","Courier New, Courier, monospace","Georgia, serif","Lucida Sans Unicode, Lucida Grande, sans-serif","Tahoma, Geneva, sans-serif","Times New Roman, Times, serif","Trebuchet MS, Helvetica, sans-serif","Verdana, Geneva, sans-serif"],supportAllValues:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:tC});t.model.schema.setAttributeProperties(tC,{isFormatting:true,copyOnEnter:true});const e=wC(t.config.get("fontFamily.options")).filter(t=>t.model);const n=iC(tC,e);if(t.config.get("fontFamily.supportAllValues")){this._prepareAnyValueConverters()}else{t.conversion.attributeToElement(n)}t.commands.add(tC,new bC(t))}_prepareAnyValueConverters(){const t=this.editor;t.conversion.for("downcast").attributeToElement({model:tC,view:(t,e)=>e.createAttributeElement("span",{style:"font-family:"+t},{priority:7})});t.conversion.for("upcast").attributeToAttribute({model:{key:tC,value:t=>t.getStyle("font-family")},view:{name:"span",styles:{"font-family":/.*/}}})}}var xC='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.03 3h6.149a.75.75 0 1 1 0 1.5h-5.514L11.03 3zm1.27 3h4.879a.75.75 0 1 1 0 1.5h-4.244L12.3 6zm1.27 3h3.609a.75.75 0 1 1 0 1.5h-2.973L13.57 9zm-2.754 2.5L8.038 4.785 5.261 11.5h5.555zm.62 1.5H4.641l-1.666 4.028H1.312l5.789-14h1.875l5.789 14h-1.663L11.436 13z"/></svg>';class CC extends Cw{init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const i=t.commands.get(tC);t.ui.componentFactory.add(tC,o=>{const r=rw(o);aw(r,AC(n,i));r.buttonView.set({label:e("Font Family"),icon:xC,tooltip:true});r.extendTemplate({attributes:{class:"ck-font-family-dropdown"}});r.bind("isEnabled").to(i);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=wC(t.config.get(tC).options);return n.map(t=>{if(t.title==="Default"){t.title=e("Default")}return t})}}function AC(t,e){const n=new xs;for(const i of t){const t={type:"button",model:new _y({commandName:tC,commandParam:i.model,label:i.title,withText:true})};t.model.bind("isOn").to(e,"value",t=>{if(t===i.model){return true}if(!t||!i.model){return false}return t.split(",")[0].replace(/'/g,"").toLowerCase()===i.model.toLowerCase()});if(i.view&&i.view.styles){t.model.set("labelStyle",`font-family: ${i.view.styles["font-family"]}`)}n.add(t)}return n}class TC extends Cw{static get requires(){return[yC,CC]}static get pluginName(){return"FontFamily"}}class SC extends Hx{constructor(t){super(t,Xx)}}function PC(t){return t.map(t=>MC(t)).filter(t=>!!t)}const EC={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 MC(t){if(RC(t)){return NC(t)}const e=OC(t);if(e){return NC(e)}if(t==="default"){return{model:undefined,title:"Default"}}if(LC(t)){return}return IC(t)}function IC(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 NC(t)}function NC(t){if(!t.view.priority){t.view.priority=7}return t}function OC(t){return EC[t]||EC[t.model]}function RC(t){return typeof t==="object"&&t.title&&t.model&&t.view}function LC(t){let e;if(typeof t==="object"){if(!t.model){throw new ss["b"]("font-size-invalid-definition: Provided font size definition is invalid.",null,t)}else{e=parseFloat(t.model)}}else{e=parseFloat(t)}return isNaN(e)}class VC extends Cw{static get pluginName(){return"FontSizeEditing"}constructor(t){super(t);t.config.define(Xx,{options:["tiny","small","default","big","huge"],supportAllValues:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Xx});t.model.schema.setAttributeProperties(Xx,{isFormatting:true,copyOnEnter:true});const e=t.config.get("fontSize.supportAllValues");const n=PC(this.editor.config.get("fontSize.options")).filter(t=>t.model);const i=iC(Xx,n);if(e){this._prepareAnyValueConverters(i)}else{t.conversion.attributeToElement(i)}t.commands.add(Xx,new SC(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: "+"If config.fontSize.supportAllValues is set to true, you need to use numerical values as font size options.",null,{presets:n})}e.conversion.for("downcast").attributeToElement({model:Xx,view:(t,e)=>{if(!t){return}return e.createAttributeElement("span",{style:"font-size:"+t},{priority:7})}});e.conversion.for("upcast").attributeToAttribute({model:{key:Xx,value:t=>t.getStyle("font-size")},view:{name:"span"}})}}var DC='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.816 11.5L7.038 4.785 4.261 11.5h5.555zm.62 1.5H3.641l-1.666 4.028H.312l5.789-14h1.875l5.789 14h-1.663L10.436 13zm7.55 2.279l.779-.779.707.707-2.265 2.265-2.193-2.265.707-.707.765.765V4.825c0-.042 0-.083.002-.123l-.77.77-.707-.707L17.207 2.5l2.265 2.265-.707.707-.782-.782c.002.043.003.089.003.135v10.454z"/></svg>';var zC=n(59);class BC extends Cw{init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const i=t.commands.get(Xx);t.ui.componentFactory.add(Xx,o=>{const r=rw(o);aw(r,jC(n,i));r.buttonView.set({label:e("Font Size"),icon:DC,tooltip:true});r.extendTemplate({attributes:{class:["ck-font-size-dropdown"]}});r.bind("isEnabled").to(i);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 i=PC(t.config.get(Xx).options);return i.map(t=>{const e=n[t.title];if(e&&e!=t.title){t=Object.assign({},t,{title:e})}return t})}}function jC(t,e){const n=new xs;for(const i of t){const t={type:"button",model:new _y({commandName:Xx,commandParam:i.model,label:i.title,class:"ck-fontsize-option",withText:true})};if(i.view&&i.view.styles){t.model.set("labelStyle",`font-size:${i.view.styles["font-size"]}`)}if(i.view&&i.view.classes){t.model.set("class",`${t.model.class} ${i.view.classes}`)}t.model.bind("isOn").to(e,"value",t=>t===i.model);n.add(t)}return n}class FC extends Cw{static get requires(){return[VC,BC]}static get pluginName(){return"FontSize"}}class HC extends Tw{refresh(){const t=this.editor.model;const e=t.document;const n=Pw(e.selection.getSelectedBlocks());this.value=!!n&&n.is("paragraph");this.isEnabled=!!n&&UC(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;e.change(i=>{const o=(t.selection||n.selection).getSelectedBlocks();for(const t of o){if(!t.is("paragraph")&&UC(t,e.schema)){i.rename(t,"paragraph")}}})}}function UC(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class qC extends Tw{execute(t){const e=this.editor.model;if(!e.schema.checkChild(t.position,"paragraph")){return}e.change(n=>{const i=n.createElement("paragraph");e.insertContent(i,t.position);n.setSelection(i,"in")})}}class WC extends Cw{static get pluginName(){return"Paragraph"}init(){const t=this.editor;const e=t.model;const n=t.data;t.commands.add("paragraph",new HC(t));t.commands.add("insertParagraph",new qC(t));e.schema.register("paragraph",{inheritAllFrom:"$block"});t.conversion.elementToElement({model:"paragraph",view:"p"});t.conversion.for("upcast").elementToElement({model:(t,e)=>{if(!WC.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement("paragraph")},converterPriority:"low"});n.upcastDispatcher.on("element",(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:e.viewItem.name})){return}if(GC(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,$C(e.viewItem,e.modelCursor,n))}},{priority:"low"});n.upcastDispatcher.on("text",(t,e,n)=>{if(e.modelRange){return}if(GC(e.viewItem,e.modelCursor,n.schema)){Object.assign(e,$C(e.viewItem,e.modelCursor,n))}},{priority:"lowest"});e.document.registerPostFixer(t=>this._autoparagraphEmptyRoots(t));t.data.on("ready",()=>{e.enqueueChange("transparent",t=>this._autoparagraphEmptyRoots(t))},{priority:"lowest"})}_autoparagraphEmptyRoots(t){const e=this.editor.model;for(const n of e.document.getRootNames()){const i=e.document.getRoot(n);if(i.isEmpty&&i.rootName!="$graveyard"){if(e.schema.checkChild(i,"paragraph")){t.insertElement("paragraph",i);return true}}}}}WC.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td"]);function $C(t,e,n){const i=n.writer.createElement("paragraph");n.writer.insert(i,e);return n.convertItem(t,n.writer.createPositionAt(i,0))}function GC(t,e,n){const i=n.createContext(e);if(!n.checkChild(i,"paragraph")){return false}if(!n.checkChild(i.push("paragraph"),t)){return false}return true}class YC extends Tw{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=Pw(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some(e=>KC(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change(t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter(t=>KC(t,i,e.schema));for(const e of o){if(!e.is(i)){t.rename(e,i)}}})}}function KC(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const QC="paragraph";class JC extends Cw{static get pluginName(){return"HeadingEditing"}constructor(t){super(t);t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[WC]}init(){const t=this.editor;const e=t.config.get("heading.options");const n=[];for(const i of e){if(i.model!==QC){t.model.schema.register(i.model,{inheritAllFrom:"$block"});t.conversion.elementToElement(i);n.push(i.model)}}this._addDefaultH1Conversion(t);t.commands.add("heading",new YC(t,n))}afterInit(){const t=this.editor;const e=t.commands.get("enter");const n=t.config.get("heading.options");if(e){this.listenTo(e,"afterExecute",(e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const r=n.some(t=>o.is(t.model));if(r&&!o.is(QC)&&o.childCount===0){i.writer.rename(o,QC)}})}}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:os.get("low")+1})}}function ZC(t){const e=t.t;const n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map(t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t})}var XC=n(12);class tA extends Cw{init(){const t=this.editor;const e=t.t;const n=ZC(t);const i=e("Choose heading");const o=e("Heading");t.ui.componentFactory.add("heading",e=>{const r={};const s=new xs;const a=t.commands.get("heading");const c=t.commands.get("paragraph");const l=[a];for(const t of n){const e={type:"button",model:new _y({label:t.title,class:t.class,withText:true})};if(t.model==="paragraph"){e.model.bind("isOn").to(c,"value");e.model.set("commandName","paragraph");l.push(c)}else{e.model.bind("isOn").to(a,"value",e=>e===t.model);e.model.set({commandName:"heading",commandValue:t.model})}s.add(e);r[t.model]=t.title}const d=rw(e);aw(d,s);d.buttonView.set({isOn:false,withText:true,tooltip:o});d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}});d.bind("isEnabled").toMany(l,"isEnabled",(...t)=>t.some(t=>t));d.buttonView.bind("label").to(a,"value",c,"value",(t,e)=>{const n=t||e&&"paragraph";return r[n]?r[n]:i});this.listenTo(d,"execute",e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:undefined);t.editing.view.focus()});return d})}}class eA extends Cw{static get requires(){return[JC,tA]}static get pluginName(){return"Heading"}}class nA extends Tw{refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute("highlight");this.isEnabled=t.schema.checkAttributeInSelection(e.selection,"highlight")}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.value;e.change(t=>{const n=e.schema.getValidRanges(i.getRanges(),"highlight");if(i.isCollapsed){const e=i.getFirstPosition();if(i.hasAttribute("highlight")){const n=t=>t.item.hasAttribute("highlight")&&t.item.getAttribute("highlight")===this.value;const i=e.getLastMatchingPosition(n,{direction:"backward"});const r=e.getLastMatchingPosition(n);const s=t.createRange(i,r);if(!o||this.value===o){t.removeAttribute("highlight",s);t.removeSelectionAttribute("highlight")}else{t.setAttribute("highlight",o,s);t.setSelectionAttribute("highlight",o)}}else if(o){t.setSelectionAttribute("highlight",o)}}else{for(const e of n){if(o){t.setAttribute("highlight",o,e)}else{t.removeAttribute("highlight",e)}}}})}}class iA extends Cw{static get pluginName(){return"HighlightEditing"}constructor(t){super(t);t.config.define("highlight",{options:[{model:"yellowMarker",class:"marker-yellow",title:"Yellow marker",color:"var(--ck-highlight-marker-yellow)",type:"marker"},{model:"greenMarker",class:"marker-green",title:"Green marker",color:"var(--ck-highlight-marker-green)",type:"marker"},{model:"pinkMarker",class:"marker-pink",title:"Pink marker",color:"var(--ck-highlight-marker-pink)",type:"marker"},{model:"blueMarker",class:"marker-blue",title:"Blue marker",color:"var(--ck-highlight-marker-blue)",type:"marker"},{model:"redPen",class:"pen-red",title:"Red pen",color:"var(--ck-highlight-pen-red)",type:"pen"},{model:"greenPen",class:"pen-green",title:"Green pen",color:"var(--ck-highlight-pen-green)",type:"pen"}]})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"highlight"});const e=t.config.get("highlight.options");t.conversion.attributeToElement(oA(e));t.commands.add("highlight",new nA(t))}}function oA(t){const e={model:{key:"highlight",values:[]},view:{}};for(const n of t){e.model.values.push(n.model);e.view[n.model]={name:"mark",classes:n.class}}return e}var rA='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path class="ck-icon__fill" d="M10.798 1.59L3.002 12.875l1.895 1.852 2.521 1.402 6.997-12.194z"/><path d="M2.556 16.727l.234-.348c-.297-.151-.462-.293-.498-.426-.036-.137.002-.416.115-.837.094-.25.15-.449.169-.595a4.495 4.495 0 0 0 0-.725c-.209-.621-.303-1.041-.284-1.26.02-.218.178-.506.475-.862l6.77-9.414c.539-.91 1.605-.85 3.199.18 1.594 1.032 2.188 1.928 1.784 2.686l-5.877 10.36c-.158.412-.333.673-.526.782-.193.108-.604.179-1.232.21-.362.131-.608.237-.738.318-.13.081-.305.238-.526.47-.293.265-.504.397-.632.397-.096 0-.27-.075-.524-.226l-.31.41-1.6-1.12zm-.279.415l1.575 1.103-.392.515H1.19l1.087-1.618zm8.1-13.656l-4.953 6.9L8.75 12.57l4.247-7.574c.175-.25-.188-.647-1.092-1.192-.903-.546-1.412-.652-1.528-.32zM8.244 18.5L9.59 17h9.406v1.5H8.245z"/></svg>';var sA='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path class="ck-icon__fill" d="M10.126 2.268L2.002 13.874l1.895 1.852 2.521 1.402L14.47 5.481l-1.543-2.568-2.801-.645z"/><path d="M4.5 18.088l-2.645-1.852-.04-2.95-.006-.005.006-.008v-.025l.011.008L8.73 2.97c.165-.233.356-.417.567-.557l-1.212.308L4.604 7.9l-.83-.558 3.694-5.495 2.708-.69 1.65 1.145.046.018.85-1.216 2.16 1.512-.856 1.222c.828.967 1.144 2.141.432 3.158L7.55 17.286l.006.005-3.055.797H4.5zm-.634.166l-1.976.516-.026-1.918 2.002 1.402zM9.968 3.817l-.006-.004-6.123 9.184 3.277 2.294 6.108-9.162.005.003c.317-.452-.16-1.332-1.064-1.966-.891-.624-1.865-.776-2.197-.349zM8.245 18.5L9.59 17h9.406v1.5H8.245z"/></svg>';var aA=n(62);class cA extends Cw{get localizedOptionTitles(){const t=this.editor.t;return{"Yellow marker":t("Yellow marker"),"Green marker":t("Green marker"),"Pink marker":t("Pink marker"),"Blue marker":t("Blue marker"),"Red pen":t("Red pen"),"Green pen":t("Green pen")}}static get pluginName(){return"HighlightUI"}init(){const t=this.editor.config.get("highlight.options");for(const e of t){this._addHighlighterButton(e)}this._addRemoveHighlightButton();this._addDropdown(t)}_addRemoveHighlightButton(){const t=this.editor.t;this._addButton("removeHighlight",t("Remove highlight"),Qx)}_addHighlighterButton(t){const e=this.editor.commands.get("highlight");this._addButton("highlight:"+t.model,t.title,dA(t.type),t.model,n);function n(n){n.bind("isEnabled").to(e,"isEnabled");n.bind("isOn").to(e,"value",e=>e===t.model);n.iconView.fillColor=t.color;n.isToggleable=true}}_addButton(t,e,n,i,o=(()=>{})){const r=this.editor;r.ui.componentFactory.add(t,t=>{const s=new Gb(t);const a=this.localizedOptionTitles[e]?this.localizedOptionTitles[e]:e;s.set({label:a,icon:n,tooltip:true});s.on("execute",()=>{r.execute("highlight",{value:i});r.editing.view.focus()});o(s);return s})}_addDropdown(t){const e=this.editor;const n=e.t;const i=e.ui.componentFactory;const o=t[0];const r=t.reduce((t,e)=>{t[e.model]=e;return t},{});i.add("highlight",s=>{const a=e.commands.get("highlight");const c=rw(s,yy);const l=c.buttonView;l.set({tooltip:n("Highlight"),lastExecuted:o.model,commandValue:o.model,isToggleable:true});l.bind("icon").to(a,"value",t=>dA(u(t,"type")));l.bind("color").to(a,"value",t=>u(t,"color"));l.bind("commandValue").to(a,"value",t=>u(t,"model"));l.bind("isOn").to(a,"value",t=>!!t);l.delegate("execute").to(c);const d=t.map(t=>{const e=i.create("highlight:"+t.model);this.listenTo(e,"execute",()=>c.buttonView.set({lastExecuted:t.model}));return e});c.bind("isEnabled").toMany(d,"isEnabled",(...t)=>t.some(t=>t));d.push(new Tb);d.push(i.create("removeHighlight"));sw(c,d);lA(c);c.toolbarView.ariaLabel=n("Text highlight toolbar");l.on("execute",()=>{e.execute("highlight",{value:l.commandValue});e.editing.view.focus()});function u(t,e){const n=!t||t===l.lastExecuted?l.lastExecuted:t;return r[n][e]}return c})}}function lA(t){const e=t.buttonView.actionView;e.iconView.bind("fillColor").to(t.buttonView,"color")}function dA(t){return t==="marker"?rA:sA}class uA extends Cw{static get requires(){return[iA,cA]}static get pluginName(){return"Highlight"}}class hA extends Tw{refresh(){this.isEnabled=fA(this.editor.model)}execute(){const t=this.editor.model;t.change(e=>{const n=e.createElement("horizontalLine");t.insertContent(n);let i=n.nextSibling;const o=i&&t.schema.checkChild(i,"$text");if(!o&&t.schema.checkChild(n.parent,"paragraph")){i=e.createElement("paragraph");t.insertContent(i,e.createPositionAfter(n))}if(i){e.setSelection(i,0)}})}}function fA(t){const e=t.schema;const n=t.document.selection;return mA(n,e,t)&&!gA(n,e)}function mA(t,e,n){const i=pA(t,n);return e.checkChild(i,"horizontalLine")}function gA(t,e){const n=t.getSelectedElement();return n&&e.isObject(n)}function pA(t,e){const n=Dk(t,e);const i=n.parent;if(i.isEmpty&&!i.is("$root")){return i.parent}return i}var bA=n(64);class wA extends Cw{static get pluginName(){return"HorizontalLineEditing"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;e.register("horizontalLine",{isObject:true,allowWhere:"$block"});i.for("dataDowncast").elementToElement({model:"horizontalLine",view:(t,e)=>e.createEmptyElement("hr")});i.for("editingDowncast").elementToElement({model:"horizontalLine",view:(t,e)=>{const i=n("Horizontal line");const o=e.createContainerElement("div");const r=e.createEmptyElement("hr");e.addClass("ck-horizontal-line",o);e.setCustomProperty("hr",true,o);e.insert(e.createPositionAt(o,0),r);return kA(o,e,i)}});i.for("upcast").elementToElement({view:"hr",model:"horizontalLine"});t.commands.add("horizontalLine",new hA(t))}}function kA(t,e,n){e.setCustomProperty("horizontalLine",true,t);return Nk(t,e,{label:n})}var _A='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 9h16v2H2z"/></svg>';class vA extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("horizontalLine",n=>{const i=t.commands.get("horizontalLine");const o=new Gb(n);o.set({label:e("Horizontal line"),icon:_A,tooltip:true});o.bind("isEnabled").to(i,"isEnabled");this.listenTo(o,"execute",()=>{t.execute("horizontalLine");t.editing.view.focus()});return o})}}class yA extends Cw{static get requires(){return[wA,vA]}static get pluginName(){return"HorizontalLine"}}class xA extends Ku{constructor(t){super(t);this.domEventType="mousedown"}onDomEvent(t){this.fire(t.type,t)}}function CA(t,e,n){return t&&Ik(t)&&!n.isInline(e)}function AA(t){return t.closest(".ck-widget__type-around__button")}function TA(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function SA(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}function PA(t){const e=[];if(EA(t)||IA(t)){e.push("before")}if(MA(t)||NA(t)){e.push("after")}return e}function EA(t){return!t.previousSibling}function MA(t){return!t.nextSibling}function IA(t){return t.previousSibling&&Ik(t.previousSibling)}function NA(t){return t.nextSibling&&Ik(t.nextSibling)}var OA='<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><polyline points="8.05541992 0.263427734 8.05541992 4.23461914 1.28417969 4.23461914" transform="translate(1,0)"></polyline><line x1="0" y1="4.21581031" x2="2" y2="2.17810059" transform="translate(1, 0)"></line><line x1="0" y1="6.21581031" x2="2" y2="4.17810059" transform="translate(2, 5.196955) scale(1, -1) translate(-1, -5.196955)"></line></svg>\n';var RA=n(66);const LA=["before","after"];const VA=(new DOMParser).parseFromString(OA,"image/svg+xml").firstChild;class DA extends Cw{static get requires(){return[WC]}static get pluginName(){return"WidgetTypeAround"}constructor(t){super(t);this._widgetsWithTypeAroundUI=new Set}destroy(){this._widgetsWithTypeAroundUI.clear()}init(){this._enableTypeAroundUIInjection();this._enableDetectionOfTypeAroundWidgets();this._enableInsertingParagraphsOnButtonClick()}_insertParagraph(t,e){const n=this.editor;const i=n.editing.view;const o=n.editing.mapper.toModelElement(t);let r;if(e==="before"){r=n.model.createPositionBefore(o)}else{r=n.model.createPositionAfter(o)}n.execute("insertParagraph",{position:r});i.focus();i.scrollToTheSelection()}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(t,n,o)=>{const r=o.mapper.toViewElement(n.item);if(CA(r,n.item,e)){zA(o.writer,i,r);this._widgetsWithTypeAroundUI.add(r)}},{priority:"low"})}_enableDetectionOfTypeAroundWidgets(){const t=this.editor;const e=t.editing.view;function n(t){return`ck-widget_can-type-around_${t}`}e.document.registerPostFixer(t=>{for(const e of this._widgetsWithTypeAroundUI){if(!e.isAttached()){this._widgetsWithTypeAroundUI.delete(e)}else{const i=PA(e);t.removeClass(LA.map(n),e);t.addClass(i.map(n),e)}}})}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;e.document.on("mousedown",(t,n)=>{const i=AA(n.domTarget);if(!i){return}const o=TA(i);const r=SA(i,e.domConverter);this._insertParagraph(r,o);n.preventDefault();t.stop()})}}function zA(t,e,n){const i=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);BA(n,e);return n}));t.insert(t.createPositionAt(n,"end"),i)}function BA(t,e){for(const n of LA){const i=new Fp({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(VA,true)]});t.appendChild(i.render())}}var jA=n(68);class FA extends Cw{static get pluginName(){return"Widget"}static get requires(){return[DA]}init(){const t=this.editor.editing.view;const e=t.document;this._previouslySelected=new Set;this.editor.editing.downcastDispatcher.on("selection",(t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;const r=o.getSelectedElement();let s=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(Ik(t)&&!qA(t,s)){i.addClass(Mk,t);this._previouslySelected.add(t);s=t;if(t==r){i.setSelection(o.getRanges(),{fake:true,label:Lk(r)})}}}}},{priority:"low"});t.addObserver(xA);this.listenTo(e,"mousedown",(...t)=>this._onMousedown(...t));this.listenTo(e,"keydown",(...t)=>this._onKeydown(...t),{priority:"high"});this.listenTo(e,"delete",(t,e)=>{if(this._handleDelete(e.direction=="forward")){e.preventDefault();t.stop()}},{priority:"high"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let r=e.target;if(UA(r)){if(Tl.isSafari&&e.domEvent.detail>=3){const t=n.editing.mapper;const i=t.toModelElement(r);this.editor.model.change(t=>{e.preventDefault();t.setSelection(i,"in")})}return}if(!Ik(r)){r=r.findAncestor(Ik);if(!r){return}}e.preventDefault();if(!o.isFocused){i.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_onKeydown(t,e){const n=e.keyCode;const i=this.editor.locale.contentLanguageDirection==="ltr";const o=n==Rl.arrowdown||n==Rl[i?"arrowright":"arrowleft"];let r=false;if(HA(n)){r=this._handleArrowKeys(o)}else if(n===Rl.enter){r=this._handleEnterKey(e.shiftKey)}if(r){e.preventDefault();t.stop()}}_handleDelete(t){if(this.editor.isReadOnly){return}const e=this.editor.model.document;const n=e.selection;if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change(t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)});return true}}_handleArrowKeys(t){const e=this.editor.model;const n=e.schema;const i=e.document;const o=i.selection;const r=o.getSelectedElement();if(r&&n.isObject(r)){const i=t?o.getLastPosition():o.getFirstPosition();const r=n.getNearestSelectionRange(i,t?"forward":"backward");if(r){e.change(t=>{t.setSelection(r)})}return true}if(!o.isCollapsed){return}const s=this._getObjectElementNextToSelection(t);if(!!s&&n.isObject(s)){this._setSelectionOverElement(s);return true}}_handleEnterKey(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(WA(i,e.schema)){e.change(n=>{let o=n.createPositionAt(i,t?"before":"after");const r=n.createElement("paragraph");if(e.schema.isBlock(i.parent)){const t=e.schema.findAllowedParent(o,r);o=n.split(o,t).position}n.insert(r,o);n.setSelection(r,"in")});return true}}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?"forward":"backward"});const r=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(Mk,e)}this._previouslySelected.clear()}}function HA(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function UA(t){while(t){if(t.is("editableElement")&&!t.is("rootElement")){return true}if(Ik(t)){return false}t=t.parent}return false}function qA(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function WA(t,e){return t&&e.isObject(t)&&!e.isInline(t)}class $A extends Tw{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Wk(t);if(Wk(t)&&t.hasAttribute("alt")){this.value=t.getAttribute("alt")}else{this.value=false}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change(e=>{e.setAttribute("alt",t.newValue,n)})}}class GA extends Cw{static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new $A(this.editor))}}var YA=n(70);class KA extends mb{constructor(t,e){super(t);const n=`ck-labeled-field-view-${ns()}`;const i=`ck-labeled-field-view-status-${ns()}`;this.fieldView=e(this,n,i);this.set("label");this.set("isEnabled",true);this.set("errorText",null);this.set("infoText",null);this.set("class");this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(i);this.bind("_statusText").to(this,"errorText",this,"infoText",(t,e)=>t||e);const o=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",o.to("class"),o.if("isEnabled","ck-disabled",t=>!t)]},children:[this.labelView,this.fieldView,this.statusView]})}_createLabelView(t){const e=new Yx(this.locale);e.for=t;e.bind("text").to(this,"label");return e}_createStatusView(t){const e=new mb(this.locale);const n=this.bindTemplate;e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",t=>!t)],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]});return e}focus(){this.fieldView.focus()}}var QA=n(72);class JA extends mb{constructor(t){super(t);this.set("value");this.set("id");this.set("placeholder");this.set("isReadOnly",false);this.set("hasError",false);this.set("ariaDescribedById");const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{type:"text",class:["ck","ck-input","ck-input-text",e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",true),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to("input")}})}render(){super.render();const t=t=>{this.element.value=!t&&t!==0?"":t};t(this.value);this.on("change:value",(e,n,i)=>{t(i)})}select(){this.element.select()}focus(){this.element.focus()}}function ZA(t,e,n){const i=new JA(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isReadOnly").to(t,"isEnabled",t=>!t);i.bind("hasError").to(t,"errorText",t=>!!t);i.on("input",()=>{t.errorText=null});return i}function XA(t,e,n){const i=rw(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isEnabled").to(t);return i}function tT({view:t}){t.listenTo(t.element,"submit",(e,n)=>{n.preventDefault();t.fire("submit")},{useCapture:true})}var eT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.972 16.615a.997.997 0 0 1-.744-.292l-4.596-4.596a1 1 0 1 1 1.414-1.414l3.926 3.926 9.937-9.937a1 1 0 0 1 1.414 1.415L7.717 16.323a.997.997 0 0 1-.745.292z"/></svg>';var nT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.591 10.177l4.243 4.242a1 1 0 0 1-1.415 1.415l-4.242-4.243-4.243 4.243a1 1 0 0 1-1.414-1.415l4.243-4.242L4.52 5.934A1 1 0 0 1 5.934 4.52l4.243 4.243 4.242-4.243a1 1 0 1 1 1.415 1.414l-4.243 4.243z"/></svg>';var iT=n(74);class oT extends mb{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new xp;this.keystrokes=new mp;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e("Save"),eT,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(e("Cancel"),nT,"ck-button-cancel","cancel");this._focusables=new zp;this._focusCycler=new Cb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render();this.keystrokes.listenTo(this.element);tT({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)})}_createButton(t,e,n,i){const o=new Gb(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new KA(this.locale,ZA);e.label=t("Text alternative");e.fieldView.placeholder=t("Text alternative");return e}}var rT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z"/></svg>';var sT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.537 14.813a.888.888 0 1 1-1.254-1.255L10.84 10 7.283 6.442a.888.888 0 1 1 1.254-1.255L12.74 9.39a.888.888 0 0 1-.16 1.382l-4.043 4.042z"/></svg>';var aT=n(76);var cT=n(78);const lT=_k("px");class dT extends Cw{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t);this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set("visibleView",null);this.view=new Ck(t.locale);t.ui.view.body.add(this.view);t.ui.focusTracker.add(this.view.element);this._viewToStack=new Map;this._idToStack=new Map;this.set("_numberOfStacks",0);this.set("_singleViewMode",false);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view)){throw new ss["b"]("contextualballoon-add-view-exist: Cannot add configuration of the same view twice.",[this,t])}const e=t.stackId||"main";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new ss["b"]("contextualballoon-remove-view-not-exist: Cannot remove the configuration of a non-existent view.",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new ss["b"]("contextualballoon-showstack-stack-not-exist: Cannot show a stack that does not exist.",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find(e=>e[1]===t);return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new uT(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",(t,e)=>!e&&t>1);t.on("change:isNavigationVisible",()=>this.updatePosition(),{priority:"low"});t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",(t,n)=>{if(n<2){return""}const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[i,n])});t.buttonNextView.on("execute",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()});t.buttonPrevView.on("execute",()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()});return t}_createFakePanelsView(){const t=new hT(this.editor.locale,this.view);t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",(t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0});t.listenTo(this.view,"change:top",()=>t.updatePosition());t.listenTo(this.view,"change:left",()=>t.updatePosition());this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e="",withArrow:n=true,singleViewMode:i=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(i){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t&&!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}return t}}class uT extends mb{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set("isNavigationVisible",true);this.focusTracker=new xp;this.buttonPrevView=this._createButtonView(e("Previous"),rT);this.buttonNextView=this._createButtonView(e("Next"),sT);this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",t=>t?"":"ck-hidden")]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new Gb(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class hT extends mb{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("height",0);this.set("width",0);this.set("numberOfPanels",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",t=>t?"":"ck-hidden")],style:{top:n.to("top",lT),left:n.to("left",lT),width:n.to("width",lT),height:n.to("height",lT)}},children:this.content});this.on("change:numberOfPanels",(t,e,n,i)=>{if(n>i){this._addPanels(n-i)}else{this._removePanels(i-n)}this.updatePosition()})}_addPanels(t){while(t--){const t=new mb;t.setTemplate({tag:"div"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:i}=new vh(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var fT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5.085 6.22L2.943 4.078a.75.75 0 1 1 1.06-1.06l2.592 2.59A11.094 11.094 0 0 1 10 5.068c4.738 0 8.578 3.101 8.578 5.083 0 1.197-1.401 2.803-3.555 3.887l1.714 1.713a.75.75 0 0 1-.09 1.138.488.488 0 0 1-.15.084.75.75 0 0 1-.821-.16L6.17 7.304c-.258.11-.51.233-.757.365l6.239 6.24-.006.005.78.78c-.388.094-.78.166-1.174.215l-1.11-1.11h.011L4.55 8.197a7.2 7.2 0 0 0-.665.514l-.112.098 4.897 4.897-.005.006 1.276 1.276a10.164 10.164 0 0 1-1.477-.117l-.479-.479-.009.009-4.863-4.863-.022.031a2.563 2.563 0 0 0-.124.2c-.043.077-.08.158-.108.241a.534.534 0 0 0-.028.133.29.29 0 0 0 .008.072.927.927 0 0 0 .082.226c.067.133.145.26.234.379l3.242 3.365.025.01.59.623c-3.265-.918-5.59-3.155-5.59-4.668 0-1.194 1.448-2.838 3.663-3.93zm7.07.531a4.632 4.632 0 0 1 1.108 5.992l.345.344.046-.018a9.313 9.313 0 0 0 2-1.112c.256-.187.5-.392.727-.613.137-.134.27-.277.392-.431.072-.091.141-.185.203-.286.057-.093.107-.19.148-.292a.72.72 0 0 0 .036-.12.29.29 0 0 0 .008-.072.492.492 0 0 0-.028-.133.999.999 0 0 0-.036-.096 2.165 2.165 0 0 0-.071-.145 2.917 2.917 0 0 0-.125-.2 3.592 3.592 0 0 0-.263-.335 5.444 5.444 0 0 0-.53-.523 7.955 7.955 0 0 0-1.054-.768 9.766 9.766 0 0 0-1.879-.891c-.337-.118-.68-.219-1.027-.301zm-2.85.21l-.069.002a.508.508 0 0 0-.254.097.496.496 0 0 0-.104.679.498.498 0 0 0 .326.199l.045.005c.091.003.181.003.272.012a2.45 2.45 0 0 1 2.017 1.513c.024.061.043.125.069.185a.494.494 0 0 0 .45.287h.008a.496.496 0 0 0 .35-.158.482.482 0 0 0 .13-.335.638.638 0 0 0-.048-.219 3.379 3.379 0 0 0-.36-.723 3.438 3.438 0 0 0-2.791-1.543l-.028-.001h-.013z"/></svg>';function mT(t){const e=t.plugins.get("ContextualBalloon");if(qk(t.editing.view.document.selection)){const n=gT(t);e.updatePosition(n)}}function gT(t){const e=t.editing.view;const n=Ck.defaultPositions;return{target:e.domConverter.viewToDom(e.document.selection.getSelectedElement()),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast]}}class pT extends Cw{static get requires(){return[dT]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton();this._createForm()}destroy(){super.destroy();this._form.destroy()}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative");const o=new Gb(n);o.set({label:e("Change image text alternative"),icon:fT,tooltip:true});o.bind("isEnabled").to(i,"isEnabled");this.listenTo(o,"execute",()=>{this._showForm()});return o})}_createForm(){const t=this.editor;const e=t.editing.view;const n=e.document;this._balloon=this.editor.plugins.get("ContextualBalloon");this._form=new oT(t.locale);this._form.render();this.listenTo(this._form,"submit",()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)});this.listenTo(this._form,"cancel",()=>{this._hideForm(true)});this._form.keystrokes.set("Esc",(t,e)=>{this._hideForm(true);e()});this.listenTo(t.ui,"update",()=>{if(!qk(n.selection)){this._hideForm(true)}else if(this._isVisible){mT(t)}});nw({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}const t=this.editor;const e=t.commands.get("imageTextAlternative");const n=this._form.labeledInput;if(!this._isInBalloon){this._balloon.add({view:this._form,position:gT(t)})}n.fieldView.value=n.fieldView.element.value=e.value||"";this._form.labeledInput.fieldView.select()}_hideForm(t){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class bT extends Cw{static get requires(){return[GA,pT]}static get pluginName(){return"ImageTextAlternative"}}var wT=n(80);class kT extends Cw{static get requires(){return[i_,FA,bT]}static get pluginName(){return"Image"}}function _T(t,e){return n=>{const i=n.createEditableElement("figcaption");n.setCustomProperty("imageCaption",true,i);Ep({view:t,element:i,text:e});return Vk(i,n)}}function vT(t){return!!t.getCustomProperty("imageCaption")}function yT(t){for(const e of t.getChildren()){if(!!e&&e.is("caption")){return e}}return null}function xT(t){const e=t.parent;if(t.name=="figcaption"&&e&&e.name=="figure"&&e.hasClass("image")){return{name:true}}return null}class CT extends Cw{static get pluginName(){return"ImageCaptionEditing"}init(){const t=this.editor;const e=t.editing.view;const n=t.model.schema;const i=t.data;const o=t.editing;const r=t.t;n.register("caption",{allowIn:"image",allowContentOf:"$block",isLimit:true});t.model.document.registerPostFixer(t=>this._insertMissingModelCaptionElement(t));t.conversion.for("upcast").elementToElement({view:xT,model:"caption"});const s=t=>t.createContainerElement("figcaption");i.downcastDispatcher.on("insert:caption",AT(s,false));const a=_T(e,r("Enter image caption"));o.downcastDispatcher.on("insert:caption",AT(a));o.downcastDispatcher.on("insert",this._fixCaptionVisibility(t=>t.item),{priority:"high"});o.downcastDispatcher.on("remove",this._fixCaptionVisibility(t=>t.position.parent),{priority:"high"});e.document.registerPostFixer(t=>this._updateCaptionVisibility(t))}_updateCaptionVisibility(t){const e=this.editor.editing.mapper;const n=this._lastSelectedCaption;let i;const o=this.editor.model.document.selection;const r=o.getSelectedElement();if(r&&r.is("image")){const t=yT(r);i=e.toViewElement(t)}const s=o.getFirstPosition();const a=ST(s.parent);if(a){i=e.toViewElement(a)}if(i){if(n){if(n===i){return ET(i,t)}else{PT(n,t);this._lastSelectedCaption=i;return ET(i,t)}}else{this._lastSelectedCaption=i;return ET(i,t)}}else{if(n){const e=PT(n,t);this._lastSelectedCaption=null;return e}else{return false}}}_fixCaptionVisibility(t){return(e,n,i)=>{const o=t(n);const r=ST(o);const s=this.editor.editing.mapper;const a=i.writer;if(r){const t=s.toViewElement(r);if(t){if(r.childCount){a.removeClass("ck-hidden",t)}else{a.addClass("ck-hidden",t)}}}}}_insertMissingModelCaptionElement(t){const e=this.editor.model;const n=e.document.differ.getChanges();const i=[];for(const t of n){if(t.type=="insert"&&t.name!="$text"){const n=t.position.nodeAfter;if(n.is("image")&&!yT(n)){i.push(n)}if(!n.is("image")&&n.childCount){for(const t of e.createRangeIn(n).getItems()){if(t.is("image")&&!yT(t)){i.push(t)}}}}}for(const e of i){t.appendElement("caption",e)}return!!i.length}}function AT(t,e=true){return(n,i,o)=>{const r=i.item;if(!r.childCount&&!e){return}if(Wk(r.parent)){if(!o.consumable.consume(i.item,"insert")){return}const e=o.mapper.toViewElement(i.range.start.parent);const n=t(o.writer);const s=o.writer;if(!r.childCount){s.addClass("ck-hidden",n)}TT(n,i.item,e,o)}}}function TT(t,e,n,i){const o=i.writer.createPositionAt(n,"end");i.writer.insert(o,t);i.mapper.bindElements(e,t)}function ST(t){const e=t.getAncestors({includeSelf:true});const n=e.find(t=>t.name=="caption");if(n&&n.parent&&n.parent.name=="image"){return n}return null}function PT(t,e){if(!t.childCount&&!t.hasClass("ck-hidden")){e.addClass("ck-hidden",t);return true}return false}function ET(t,e){if(t.hasClass("ck-hidden")){e.removeClass("ck-hidden",t);return true}return false}var MT=n(82);class IT extends Cw{static get requires(){return[CT]}static get pluginName(){return"ImageCaption"}}class NT extends Tw{constructor(t,e){super(t);this.defaultStyle=false;this.styles=e.reduce((t,e)=>{t[e.name]=e;if(e.isDefault){this.defaultStyle=e.name}return t},{})}refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=Wk(t);if(!t){this.value=false}else if(t.hasAttribute("imageStyle")){const e=t.getAttribute("imageStyle");this.value=this.styles[e]?e:false}else{this.value=this.defaultStyle}}execute(t){const e=t.value;const n=this.editor.model;const i=n.document.selection.getSelectedElement();n.change(t=>{if(this.styles[e].isDefault){t.removeAttribute("imageStyle",i)}else{t.setAttribute("imageStyle",e,i)}})}}function OT(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=LT(n.attributeNewValue,t);const r=LT(n.attributeOldValue,t);const s=i.mapper.toViewElement(n.item);const a=i.writer;if(r){a.removeClass(r.className,s)}if(o){a.addClass(o.className,s)}}}function RT(t){const e=t.filter(t=>!t.isDefault);return(t,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const r=Pw(n.modelRange.getItems());if(!i.schema.checkAttribute(r,"imageStyle")){return}for(const t of e){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute("imageStyle",t.name,r)}}}}function LT(t,e){for(const n of e){if(n.name===t){return n}}}var VT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 4.5V3h16v1.5zm2.5 3V12h11V7.5h-11zM4.061 6H15.94c.586 0 1.061.407 1.061.91v5.68c0 .503-.475.91-1.061.91H4.06c-.585 0-1.06-.407-1.06-.91V6.91C3 6.406 3.475 6 4.061 6zM2 16.5V15h16v1.5z"/></svg>';var DT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M18 4.5V3H2v1.5h16zm0 3V6h-5.674v1.5H18zm0 3V9h-5.674v1.5H18zm0 3V12h-5.674v1.5H18zm-8.5-6V12h-6V7.5h6zm.818-1.5H2.682C2.305 6 2 6.407 2 6.91v5.68c0 .503.305.91.682.91h7.636c.377 0 .682-.407.682-.91V6.91c0-.503-.305-.91-.682-.91zM18 16.5V15H2v1.5h16z"/></svg>';var zT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 4.5V3h16v1.5zm4.5 3V12h7V7.5h-7zM5.758 6h8.484c.419 0 .758.407.758.91v5.681c0 .502-.34.909-.758.909H5.758c-.419 0-.758-.407-.758-.91V6.91c0-.503.34-.91.758-.91zM2 16.5V15h16v1.5z"/></svg>';var BT='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 4.5V3h16v1.5zm0 3V6h5.674v1.5zm0 3V9h5.674v1.5zm0 3V12h5.674v1.5zm8.5-6V12h6V7.5h-6zM9.682 6h7.636c.377 0 .682.407.682.91v5.68c0 .503-.305.91-.682.91H9.682c-.377 0-.682-.407-.682-.91V6.91c0-.503.305-.91.682-.91zM2 16.5V15h16v1.5z"/></svg>';const jT={full:{name:"full",title:"Full size image",icon:VT,isDefault:true},side:{name:"side",title:"Side image",icon:BT,className:"image-style-side"},alignLeft:{name:"alignLeft",title:"Left aligned image",icon:DT,className:"image-style-align-left"},alignCenter:{name:"alignCenter",title:"Centered image",icon:zT,className:"image-style-align-center"},alignRight:{name:"alignRight",title:"Right aligned image",icon:BT,className:"image-style-align-right"}};const FT={full:VT,left:DT,right:BT,center:zT};function HT(t=[]){return t.map(UT)}function UT(t){if(typeof t=="string"){const e=t;if(jT[e]){t=Object.assign({},jT[e])}else{console.warn(Object(ss["a"])("image-style-not-found: There is no such image style of given name."),{name:e});t={name:e}}}else if(jT[t.name]){const e=jT[t.name];const n=Object.assign({},t);for(const i in e){if(!t.hasOwnProperty(i)){n[i]=e[i]}}t=n}if(typeof t.icon=="string"&&FT[t.icon]){t.icon=FT[t.icon]}return t}class qT extends Cw{static get pluginName(){return"ImageStyleEditing"}init(){const t=this.editor;const e=t.model.schema;const n=t.data;const i=t.editing;t.config.define("image.styles",["full","side"]);const o=HT(t.config.get("image.styles"));e.extend("image",{allowAttributes:"imageStyle"});const r=OT(o);i.downcastDispatcher.on("attribute:imageStyle:image",r);n.downcastDispatcher.on("attribute:imageStyle:image",r);n.upcastDispatcher.on("element:figure",RT(o),{priority:"low"});t.commands.add("imageStyle",new NT(t,o))}}var WT=n(84);class $T extends Cw{static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor;const e=t.config.get("image.styles");const n=GT(HT(e),this.localizedDefaultStylesTitles);for(const t of n){this._createButton(t)}}_createButton(t){const e=this.editor;const n=`imageStyle:${t.name}`;e.ui.componentFactory.add(n,n=>{const i=e.commands.get("imageStyle");const o=new Gb(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",e=>e===t.name);this.listenTo(o,"execute",()=>{e.execute("imageStyle",{value:t.name});e.editing.view.focus()});return o})}}function GT(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}class YT extends Cw{static get requires(){return[qT,$T]}static get pluginName(){return"ImageStyle"}}class KT extends Cw{static get requires(){return[dT]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",e=>{if(ZT(t.editing.view.document.selection)){e.stop()}},{priority:"high"})}this._toolbarDefinitions=new Map;this._balloon=this.editor.plugins.get("ContextualBalloon");this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()});this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o="ck-toolbar-container"}){const r=this.editor;const s=r.t;const a=new mw(r.locale);a.ariaLabel=e||s("Widget toolbar");if(this._toolbarDefinitions.has(t)){throw new ss["b"]("widget-toolbar-duplicated: Toolbar with the given id was already added.",this,{toolbarId:t})}a.fillFromConfig(n,r.ui.componentFactory);this._toolbarDefinitions.set(t,{view:a,getRelatedElement:i,balloonClassName:o})}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!o){if(this._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const r=o.getAncestors().length;if(r>t){t=r;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){if(this._isToolbarVisible(t)){QT(this.editor,e)}else if(!this._isToolbarInBalloon(t)){this._balloon.add({view:t.view,position:JT(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,"change:visibleView",()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);QT(this.editor,e)}}})}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function QT(t,e){const n=t.plugins.get("ContextualBalloon");const i=JT(t,e);n.updatePosition(i)}function JT(t,e){const n=t.editing.view;const i=Ck.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,Bk]}}function ZT(t){const e=t.getSelectedElement();return!!(e&&Ik(e))}class XT extends Cw{static get requires(){return[KT]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(KT);n.register("image",{ariaLabel:e("Image toolbar"),items:t.config.get("image.toolbar")||[],getRelatedElement:qk})}}class tS extends mb{constructor(t){super(t);this.buttonView=new Gb(t);this._fileInputView=new eS(t);this._fileInputView.bind("acceptedType").to(this);this._fileInputView.bind("allowMultipleFiles").to(this);this._fileInputView.delegate("done").to(this);this.setTemplate({tag:"span",attributes:{class:"ck-file-dialog-button"},children:[this.buttonView,this._fileInputView]});this.buttonView.on("execute",()=>{this._fileInputView.open()})}focus(){this.buttonView.focus()}}class eS extends mb{constructor(t){super(t);this.set("acceptedType");this.set("allowMultipleFiles",false);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire("done",this.element.files)}this.element.value=""})}})}open(){this.element.click()}}var nS='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.91 10.54c.26-.23.64-.21.88.03l3.36 3.14 2.23-2.06a.64.64 0 0 1 .87 0l2.52 2.97V4.5H3.2v10.12l3.71-4.08zm10.27-7.51c.6 0 1.09.47 1.09 1.05v11.84c0 .59-.49 1.06-1.09 1.06H2.79c-.6 0-1.09-.47-1.09-1.06V4.08c0-.58.49-1.05 1.1-1.05h14.38zm-5.22 5.56a1.96 1.96 0 1 1 3.4-1.96 1.96 1.96 0 0 1-3.4 1.96z"/></svg>';function iS(t){const e=t.map(t=>t.replace("+","\\+"));return new RegExp(`^image\\/(${e.join("|")})$`)}function oS(t){return new Promise((e,n)=>{const i=t.getAttribute("src");fetch(i).then(t=>t.blob()).then(t=>{const n=sS(t,i);const o=n.replace("image/","");const r=`image.${o}`;const s=new File([t],r,{type:n});e(s)}).catch(n)})}function rS(t){if(!t.is("element","img")||!t.getAttribute("src")){return false}return t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||t.getAttribute("src").match(/^blob:/g)}function sS(t,e){if(t.type){return t.type}else if(e.match(/data:(image\/\w+);base64/)){return e.match(/data:(image\/\w+);base64/)[1].toLowerCase()}else{return"image/jpeg"}}class aS extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("imageUpload",n=>{const i=new tS(n);const o=t.commands.get("imageUpload");const r=t.config.get("image.upload.types");const s=iS(r);i.set({acceptedType:r.map(t=>`image/${t}`).join(","),allowMultipleFiles:true});i.buttonView.set({label:e("Insert image"),icon:nS,tooltip:true});i.buttonView.bind("isEnabled").to(o);i.on("done",(e,n)=>{const i=Array.from(n).filter(t=>s.test(t.type));if(i.length){t.execute("imageUpload",{file:i})}});return i})}}var cS='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 250"><rect rx="4"/></svg>';var lS=n(86);var dS=n(88);var uS=n(90);class hS extends Cw{constructor(t){super(t);this.placeholder="data:image/svg+xml;utf8,"+encodeURIComponent(cS)}init(){const t=this.editor;t.editing.downcastDispatcher.on("attribute:uploadStatus:image",(...t)=>this.uploadStatusChange(...t))}uploadStatusChange(t,e,n){const i=this.editor;const o=e.item;const r=o.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name)){return}const s=i.plugins.get(Sv);const a=r?e.attributeNewValue:null;const c=this.placeholder;const l=i.editing.mapper.toViewElement(o);const d=n.writer;if(a=="reading"){fS(l,d);gS(c,l,d);return}if(a=="uploading"){const t=s.loaders.get(r);fS(l,d);if(!t){gS(c,l,d)}else{pS(l,d);bS(l,d,t,i.editing.view);CS(l,d,t)}return}if(a=="complete"&&s.loaders.get(r)){kS(l,d,i.editing.view)}wS(l,d);pS(l,d);mS(l,d)}}function fS(t,e){if(!t.hasClass("ck-appear")){e.addClass("ck-appear",t)}}function mS(t,e){e.removeClass("ck-appear",t)}function gS(t,e,n){if(!e.hasClass("ck-image-upload-placeholder")){n.addClass("ck-image-upload-placeholder",e)}const i=Yk(e);if(i.getAttribute("src")!==t){n.setAttribute("src",t,i)}if(!yS(e,"placeholder")){n.insert(n.createPositionAfter(i),vS(n))}}function pS(t,e){if(t.hasClass("ck-image-upload-placeholder")){e.removeClass("ck-image-upload-placeholder",t)}xS(t,e,"placeholder")}function bS(t,e,n,i){const o=_S(e);e.insert(e.createPositionAt(t,"end"),o);n.on("change:uploadedPercent",(t,e,n)=>{i.change(t=>{t.setStyle("width",n+"%",o)})})}function wS(t,e){xS(t,e,"progressBar")}function kS(t,e,n){const i=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),i);setTimeout(()=>{n.change(t=>t.remove(t.createRangeOn(i)))},3e3)}function _S(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});t.setCustomProperty("progressBar",true,e);return e}function vS(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});t.setCustomProperty("placeholder",true,e);return e}function yS(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function xS(t,e,n){const i=yS(t,n);if(i){e.remove(e.createRangeOn(i))}}function CS(t,e,n){if(n.data){const i=Yk(t);e.setAttribute("src",n.data,i)}}class AS{constructor(t){this.document=t}createDocumentFragment(t){return new ql(this.document,t)}createElement(t,e,n){return new zc(this.document,t,e,n)}createText(t){return new js(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 i=n.getChildIndex(t);this.removeChildren(i,1,n);this.insertChild(i,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 zc(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 ul._createAt(t,e)}createPositionAfter(t){return ul._createAfter(t)}createPositionBefore(t){return ul._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)}}class TS extends Tw{refresh(){this.isEnabled=Gk(this.editor.model)}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get(Sv);n.change(e=>{const o=Array.isArray(t.file)?t.file:[t.file];for(const t of o){SS(e,n,i,t)}})}}function SS(t,e,n,i){const o=n.createLoader(i);if(!o){return}$k(t,e,{uploadId:o.id})}class PS extends Cw{static get requires(){return[Sv,vv,Ly]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t);t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}})}init(){const t=this.editor;const e=t.model.document;const n=t.model.schema;const i=t.conversion;const o=t.plugins.get(Sv);const r=iS(t.config.get("image.upload.types"));n.extend("image",{allowAttributes:["uploadId","uploadStatus"]});t.commands.add("imageUpload",new TS(t));i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"});this.listenTo(t.editing.view.document,"clipboardInput",(e,n)=>{if(ES(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter(t=>{if(!t){return false}return r.test(t.type)});const o=n.targetRanges.map(e=>t.editing.mapper.toModelRange(e));t.model.change(n=>{n.setSelection(o);if(i.length){e.stop();t.model.enqueueChange("default",()=>{t.execute("imageUpload",{file:i})})}})});this.listenTo(t.plugins.get(Ly),"inputTransformation",(e,n)=>{const i=Array.from(t.editing.view.createRangeIn(n.content)).filter(t=>rS(t.item)&&!t.item.getAttribute("uploadProcessed")).map(t=>({promise:oS(t.item),imageElement:t.item}));if(!i.length){return}const r=new AS(t.editing.view.document);for(const t of i){r.setAttribute("uploadProcessed",true,t.imageElement);const e=o.createLoader(t.promise);if(e){r.setAttribute("src","",t.imageElement);r.setAttribute("uploadId",e.id,t.imageElement)}}});t.editing.view.document.on("dragover",(t,e)=>{e.preventDefault()});e.on("change",()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true});for(const e of n){if(e.type=="insert"&&e.name!="$text"){const n=e.position.nodeAfter;const i=e.position.root.rootName=="$graveyard";for(const e of MS(t,n)){const t=e.getAttribute("uploadId");if(!t){continue}const n=o.loaders.get(t);if(!n){continue}if(i){n.abort()}else if(n.status=="idle"){this._readAndUpload(n,e)}}}}})}_readAndUpload(t,e){const n=this.editor;const i=n.model;const o=n.locale.t;const r=n.plugins.get(Sv);const s=n.plugins.get(vv);i.enqueueChange("transparent",t=>{t.setAttribute("uploadStatus","reading",e)});return t.read().then(()=>{const o=t.upload();if(Tl.isSafari){const t=n.editing.mapper.toViewElement(e);const i=Yk(t);n.editing.view.once("render",()=>{if(!i.parent){return}const t=n.editing.view.domConverter.mapViewToDom(i.parent);if(!t){return}const e=t.style.display;t.style.display="none";t._ckHack=t.offsetHeight;t.style.display=e})}i.enqueueChange("transparent",t=>{t.setAttribute("uploadStatus","uploading",e)});return o}).then(t=>{i.enqueueChange("transparent",n=>{n.setAttributes({uploadStatus:"complete",src:t.default},e);this._parseAndSetSrcsetAttributeOnImage(t,e,n)});a()}).catch(n=>{if(t.status!=="error"&&t.status!=="aborted"){throw n}if(t.status=="error"&&n){s.showWarning(n,{title:o("Upload failed"),namespace:"upload"})}a();i.enqueueChange("transparent",t=>{t.remove(e)})});function a(){i.enqueueChange("transparent",t=>{t.removeAttribute("uploadId",e);t.removeAttribute("uploadStatus",e)});r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter(t=>{const e=parseInt(t,10);if(!isNaN(e)){i=Math.max(i,e);return true}}).map(e=>`${t[e]} ${e}w`).join(", ");if(o!=""){n.setAttribute("srcset",{data:o,width:i},e)}}}function ES(t){return Array.from(t.types).includes("text/html")&&t.getData("text/html")!==""}function MS(t,e){return Array.from(t.model.createRangeOn(e)).filter(t=>t.item.is("image")).map(t=>t.item)}class IS extends Cw{static get pluginName(){return"ImageUpload"}static get requires(){return[PS,aS,hS]}}class NS extends Tw{constructor(t){super(t);this._childCommands=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();e.execute(t)}registerChildCommand(t){this._childCommands.push(t);t.on("change:isEnabled",()=>this._checkEnabled());this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find(t=>t.isEnabled)}}class OS extends Cw{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new NS(t));t.commands.add("outdent",new NS(t))}}var RS='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95L5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z"/></svg>';var LS='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z"/></svg>';class VS extends Cw{static get pluginName(){return"IndentUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?RS:LS;const o=e.uiLanguageDirection=="ltr"?LS:RS;this._defineButton("indent",n("Increase indent"),i);this._defineButton("outdent",n("Decrease indent"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,o=>{const r=i.commands.get(t);const s=new Gb(o);s.set({label:e,icon:n,tooltip:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");this.listenTo(s,"execute",()=>{i.execute(t);i.editing.view.focus()});return s})}}class DS extends Cw{static get pluginName(){return"Indent"}static get requires(){return[OS,VS]}}class zS extends Tw{constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=Pw(e.document.selection.getSelectedBlocks());if(!n||!e.schema.checkAttribute(n,"blockIndent")){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute("blockIndent"))}execute(){const t=this.editor.model;const e=BS(t);t.change(t=>{for(const n of e){const e=n.getAttribute("blockIndent");const i=this._indentBehavior.getNextIndent(e);if(i){t.setAttribute("blockIndent",i,n)}else{t.removeAttribute("blockIndent",n)}}})}}function BS(t){const e=t.document.selection;const n=t.schema;const i=Array.from(e.getSelectedBlocks());return i.filter(t=>n.checkAttribute(t,"blockIndent"))}class jS{constructor(t){this.isForward=t.direction==="forward";this.offset=t.offset;this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);const n=!t||t.endsWith(this.unit);if(!n){return this.isForward?this.offset+this.unit:undefined}const i=this.isForward?this.offset:-this.offset;const o=e+i;return o>0?o+this.unit:undefined}}class FS{constructor(t){this.isForward=t.direction==="forward";this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);if(this.isForward){return e<this.classes.length-1}else{return e>=0}}getNextIndent(t){const e=this.classes.indexOf(t);const n=this.isForward?1:-1;return this.classes[e+n]}}const HS=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;const US=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i;const qS=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i;const WS=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i;const $S=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i;const GS=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 YS(t){if(t.startsWith("#")){return HS.test(t)}if(t.startsWith("rgb")){return US.test(t)||qS.test(t)}if(t.startsWith("hsl")){return WS.test(t)||$S.test(t)}return GS.has(t.toLowerCase())}const KS=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function QS(t){return KS.includes(t)}const JS=/^([+-]?[0-9]*[.]?[0-9]+(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function ZS(t){return JS.test(t)}const XS=/^[+-]?[0-9]*[.]?[0-9]+%$/;function tP(t){return XS.test(t)}const eP=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function nP(t){return eP.includes(t)}const iP=["center","top","bottom","left","right"];function oP(t){return iP.includes(t)}const rP=["fixed","scroll","local"];function sP(t){return rP.includes(t)}const aP=/^url\(/;function cP(t){return aP.test(t)}function lP(t=""){if(t===""){return{top:undefined,right:undefined,bottom:undefined,left:undefined}}const e=fP(t);const n=e[0];const i=e[2]||n;const o=e[1]||n;const r=e[3]||o;return{top:n,bottom:i,right:o,left:r}}function dP(t){return e=>{const{top:n,right:i,bottom:o,left:r}=e;const s=[];if(![n,i,r,o].every(t=>!!t)){if(n){s.push([t+"-top",n])}if(i){s.push([t+"-right",i])}if(o){s.push([t+"-bottom",o])}if(r){s.push([t+"-left",r])}}else{s.push([t,uP(e)])}return s}}function uP({top:t,right:e,bottom:n,left:i}){const o=[];if(i!==e){o.push(t,e,n,i)}else if(n!==t){o.push(t,e,n)}else if(e!==t){o.push(t,e)}else{o.push(t)}return o.join(" ")}function hP(t){return e=>({path:t,value:lP(e)})}function fP(t){return t.replace(/, /g,",").split(" ").map(t=>t.replace(/,/g,", "))}function mP(t){t.setNormalizer("margin",hP("margin"));t.setNormalizer("margin-top",t=>({path:"margin.top",value:t}));t.setNormalizer("margin-right",t=>({path:"margin.right",value:t}));t.setNormalizer("margin-bottom",t=>({path:"margin.bottom",value:t}));t.setNormalizer("margin-left",t=>({path:"margin.left",value:t}));t.setReducer("margin",dP("margin"));t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}class gP extends Cw{constructor(t){super(t);t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor;const e=t.config.get("indentBlock");const n=!e.classes||!e.classes.length;const i=Object.assign({direction:"forward"},e);const o=Object.assign({direction:"backward"},e);if(n){t.data.addStyleProcessorRules(mP);this._setupConversionUsingOffset(t.conversion);t.commands.add("indentBlock",new zS(t,new jS(i)));t.commands.add("outdentBlock",new zS(t,new jS(o)))}else{this._setupConversionUsingClasses(e.classes);t.commands.add("indentBlock",new zS(t,new FS(i)));t.commands.add("outdentBlock",new zS(t,new FS(o)))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get("indent");const i=t.commands.get("outdent");const o=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];o.forEach(t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:"blockIndent"})}});n.registerChildCommand(t.commands.get("indentBlock"));i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection==="rtl"?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[n]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(n)}});t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[n]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t){e.model.values.push(n);e.view[n]={key:"class",value:[n]}}this.editor.conversion.attributeToAttribute(e)}}const pP="italic";class bP extends Cw{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:pP});t.model.schema.setAttributeProperties(pP,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:pP,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]});t.commands.add(pP,new sk(t,pP));t.keystrokes.set("CTRL+I",pP)}}var wP='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.586 14.633l.021.004c-.036.335.095.655.393.962.082.083.173.15.274.201h1.474a.6.6 0 1 1 0 1.2H5.304a.6.6 0 0 1 0-1.2h1.15c.474-.07.809-.182 1.005-.334.157-.122.291-.32.404-.597l2.416-9.55a1.053 1.053 0 0 0-.281-.823 1.12 1.12 0 0 0-.442-.296H8.15a.6.6 0 0 1 0-1.2h6.443a.6.6 0 1 1 0 1.2h-1.195c-.376.056-.65.155-.823.296-.215.175-.423.439-.623.79l-2.366 9.347z"/></svg>';const kP="italic";class _P extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(kP,n=>{const i=t.commands.get(kP);const o=new Gb(n);o.set({label:e("Italic"),icon:wP,keystroke:"CTRL+I",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute(kP);t.editing.view.focus()});return o})}}class vP extends Cw{static get requires(){return[bP,_P]}static get pluginName(){return"Italic"}}class yP extends Ku{constructor(t){super(t);this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}var xP=n(92);class CP extends mb{constructor(t,e){super(t);const n=t.t;this.focusTracker=new xp;this.keystrokes=new mp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),eT,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(n("Cancel"),nT,"ck-button-cancel","cancel");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusables=new zp;this._focusCycler=new Cb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form"];if(e.manualDecorators.length){i.push("ck-link-form_layout-vertical")}this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>{t[e.name]=e.isOn;return t},{})}render(){super.render();tT({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new KA(this.locale,ZA);e.label=t("Link URL");e.fieldView.placeholder="https://example.com";return e}_createButton(t,e,n,i){const o=new Gb(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new ew(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind("isOn").toMany([n,t],"value",(t,e)=>e===undefined&&t===undefined?n.defaultValue:t);i.on("execute",()=>{n.set("value",!i.isOn)});e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new mb;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var AP='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184zm4.919 10.562l-1.414 1.414a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.061-1.06l1.414 1.414 1.414-1.415a.75.75 0 0 1 1.061 1.061l-1.414 1.414 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414z"/></svg>';var TP='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7.3 17.37l-.061.088a1.518 1.518 0 0 1-.934.535l-4.178.663-.806-4.153a1.495 1.495 0 0 1 .187-1.058l.056-.086L8.77 2.639c.958-1.351 2.803-1.076 4.296-.03 1.497 1.047 2.387 2.693 1.433 4.055L7.3 17.37zM9.14 4.728l-5.545 8.346 3.277 2.294 5.544-8.346L9.14 4.728zM6.07 16.512l-3.276-2.295.53 2.73 2.746-.435zM9.994 3.506L13.271 5.8c.316-.452-.16-1.333-1.065-1.966-.905-.634-1.895-.78-2.212-.328zM8 18.5L9.375 17H19v1.5H8z"/></svg>';var SP=n(94);class PP extends mb{constructor(t){super(t);const e=t.t;this.focusTracker=new xp;this.keystrokes=new mp;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e("Unlink"),AP,"unlink");this.editButtonView=this._createButton(e("Edit link"),TP,"edit");this.set("href");this._focusables=new zp;this._focusCycler=new Cb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new Gb(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate("execute").to(this,n);return i}_createPreviewButton(){const t=new Gb(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n("Open link in new tab")});t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",t=>t&&ev(t)),target:"_blank",rel:"noopener noreferrer"}});t.bind("label").to(this,"href",t=>t||n("This link has no URL"));t.bind("isEnabled").to(this,"href",t=>!!t);t.template.tag="a";t.template.eventListeners={};return t}}var EP='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.077 15l.991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>';const MP="Ctrl+K";class IP extends Cw{static get requires(){return[dT]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(yP);this.actionsView=this._createActionsView();this.formView=this._createFormView();this._balloon=t.plugins.get(dT);this._createToolbarLinkButton();this._enableUserBalloonInteractions()}destroy(){super.destroy();this.formView.destroy()}_createActionsView(){const t=this.editor;const e=new PP(t.locale);const n=t.commands.get("link");const i=t.commands.get("unlink");e.bind("href").to(n,"value");e.editButtonView.bind("isEnabled").to(n);e.unlinkButtonView.bind("isEnabled").to(i);this.listenTo(e,"edit",()=>{this._addFormView()});this.listenTo(e,"unlink",()=>{t.execute("unlink");this._hideUI()});e.keystrokes.set("Esc",(t,e)=>{this._hideUI();e()});e.keystrokes.set(MP,(t,e)=>{this._addFormView();e()});return e}_createFormView(){const t=this.editor;const e=t.commands.get("link");const n=new CP(t.locale,e);n.urlInputView.fieldView.bind("value").to(e,"value");n.urlInputView.bind("isReadOnly").to(e,"isEnabled",t=>!t);n.saveButtonView.bind("isEnabled").to(e);this.listenTo(n,"submit",()=>{t.execute("link",n.urlInputView.fieldView.element.value,n.getDecoratorSwitchesState());this._closeFormView()});this.listenTo(n,"cancel",()=>{this._closeFormView()});n.keystrokes.set("Esc",(t,e)=>{this._closeFormView();e()});return n}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get("link");const n=t.t;t.keystrokes.set(MP,(t,e)=>{e();this._showUI(true)});t.ui.componentFactory.add("link",t=>{const i=new Gb(t);i.isEnabled=true;i.label=n("Link");i.icon=EP;i.keystroke=MP;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(e,"isEnabled");i.bind("isOn").to(e,"value",t=>!!t);this.listenTo(i,"execute",()=>this._showUI(true));return i})}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,"click",()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}});this.editor.keystrokes.set("Tab",(t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}},{priority:"high"});this.editor.keystrokes.set("Esc",(t,e)=>{if(this._isUIVisible){this._hideUI();e()}});nw({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get("link");this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this._balloon.remove(this.formView);this.editor.editing.view.focus()}}_showUI(t=false){if(!this._getSelectedLinkElement()){this._addActionsView();if(t){this._balloon.showStack("main")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack("main")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,"update");this.stopListening(this._balloon,"change:visibleView");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView)}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=r();const o=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==i){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;i=e};function r(){return e.selection.focus.getAncestors().reverse().find(t=>t.is("element"))}this.listenTo(t.ui,"update",o);this.listenTo(this._balloon,"change:visibleView",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=t.document;const n=this._getSelectedLinkElement();const i=n?t.domConverter.mapViewToDom(n):t.domConverter.viewRangeToDom(e.selection.getFirstRange());return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;if(e.isCollapsed){return NP(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=NP(n.start);const o=NP(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}}function NP(t){return t.getAncestors().find(t=>X_(t))}class OP extends Cw{static get requires(){return[kv,IP]}static get pluginName(){return"Link"}}class RP extends Tw{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=>VP(e,t.schema));const i=this.value===true;t.change(t=>{if(i){let e=n[n.length-1].nextSibling;let i=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name=="listItem"&&e.getAttribute("listIndent")!==0){const t=e.getAttribute("listIndent");if(t<i){i=t}const n=t-i;o.push({element:e,listIndent:n});e=e.nextSibling}o=o.reverse();for(const e of o){t.setAttribute("listIndent",e.listIndent,e.element)}}if(!i){let t=Number.POSITIVE_INFINITY;for(const e of n){if(e.is("listItem")&&e.getAttribute("listIndent")<t){t=e.getAttribute("listIndent")}}t=t===0?1:t;LP(n,true,t);LP(n,false,t)}for(const e of n.reverse()){if(i&&e.name=="listItem"){t.rename(e,"paragraph")}else if(!i&&e.name!="listItem"){t.setAttributes({listType:this.type,listIndent:0},e);t.rename(e,"listItem")}else if(!i&&e.name=="listItem"&&e.getAttribute("listType")!=this.type){t.setAttribute("listType",this.type,e)}}})}_getValue(){const t=Pw(this.editor.model.document.selection.getSelectedBlocks());return!!t&&t.is("listItem")&&t.getAttribute("listType")==this.type}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=Pw(t.getSelectedBlocks());if(!n){return false}return VP(n,e)}}function LP(t,e,n){const i=e?t[0]:t[t.length-1];if(i.is("listItem")){let o=i[e?"previousSibling":"nextSibling"];let r=i.getAttribute("listIndent");while(o&&o.is("listItem")&&o.getAttribute("listIndent")>=n){if(r>o.getAttribute("listIndent")){r=o.getAttribute("listIndent")}if(o.getAttribute("listIndent")==r){t[e?"unshift":"push"](o)}o=o[e?"previousSibling":"nextSibling"]}}}function VP(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class DP extends Tw{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 i=e.nextSibling;while(i&&i.name=="listItem"&&i.getAttribute("listIndent")>e.getAttribute("listIndent")){n.push(i);i=i.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)}}})}_checkEnabled(){const t=Pw(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("listItem")){return false}if(this._indentBy>0){const e=t.getAttribute("listIndent");const n=t.getAttribute("listType");let i=t.previousSibling;while(i&&i.is("listItem")&&i.getAttribute("listIndent")>=e){if(i.getAttribute("listIndent")==e){return i.getAttribute("listType")==n}i=i.previousSibling}return false}return true}}function zP(t){const e=t.createContainerElement("li");e.getFillerOffset=WP;return e}function BP(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute("listType")=="numbered"?"ol":"ul";const r=zP(i);const s=i.createContainerElement(o,null);i.insert(i.createPositionAt(s,0),r);n.bindElements(t,r);return r}function jP(t,e,n,i){const o=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(i.createPositionBefore(t));const c=UP(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(i.createPositionAt(l,"end"))}else{a=r.toViewPosition(i.createPositionBefore(t))}}a=HP(a);s.insert(a,o);if(l&&l.name=="listItem"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is("li")){const n=s.breakContainer(s.createPositionBefore(t.item));const o=t.item.parent;const r=s.createPositionAt(e,"end");FP(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(o),r);i.position=n}}}else{const n=o.nextSibling;if(n&&(n.is("ul")||n.is("ol"))){let i=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute("listIndent")>t.getAttribute("listIndent")){i=e}else{break}}if(i){s.breakContainer(s.createPositionAfter(i));s.move(s.createRangeOn(i.parent),s.createPositionAt(e,"end"))}}}FP(s,o,o.nextSibling);FP(s,o.previousSibling,o)}function FP(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 HP(t){return t.getLastMatchingPosition(t=>t.item.is("uiElement"))}function UP(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let r=t;while(r&&r.name=="listItem"){const t=r.getAttribute("listIndent");if(n&&o==t||i&&o>t){return r}r=r.previousSibling}return null}function qP(t,e,n,i){t.ui.componentFactory.add(e,o=>{const r=t.commands.get(e);const s=new Gb(o);s.set({label:n,icon:i,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 WP(){const t=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");if(this.isEmpty||t){return 0}return Uc.call(this)}function $P(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,"insert")||!o.test(n.item,"attribute:listType")||!o.test(n.item,"attribute:listIndent")){return}o.consume(n.item,"insert");o.consume(n.item,"attribute:listType");o.consume(n.item,"attribute:listIndent");const r=n.item;const s=BP(r,i);jP(r,s,i,t)}}function GP(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position).getLastMatchingPosition(t=>!t.item.is("li"));const r=o.nodeAfter;const s=i.writer;s.breakContainer(s.createPositionBefore(r));s.breakContainer(s.createPositionAfter(r));const a=r.parent;const c=a.previousSibling;const l=s.createRangeOn(a);const d=s.remove(l);if(c&&c.nextSibling){FP(s,c,c.nextSibling)}const u=i.mapper.toModelElement(r);cE(u.getAttribute("listIndent")+1,n.position,l.start,r,i,t);for(const t of s.createRangeIn(d).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}function YP(t,e,n){if(!n.consumable.consume(e.item,"attribute:listType")){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const r=i.parent;const s=e.attributeNewValue=="numbered"?"ol":"ul";o.rename(s,r)}function KP(t,e,n){const i=n.mapper.toViewElement(e.item);const o=i.parent;const r=n.writer;FP(r,o,o.nextSibling);FP(r,o.previousSibling,o);for(const t of e.item.getChildren()){n.consumable.consume(t,"insert")}}function QP(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,"attribute:listIndent")){return}const o=i.mapper.toViewElement(n.item);const r=i.writer;r.breakContainer(r.createPositionBefore(o));r.breakContainer(r.createPositionAfter(o));const s=o.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){FP(r,a,a.nextSibling)}cE(n.attributeOldValue+1,n.range.start,c.start,o,i,t);jP(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,"insert")}}}function JP(t,e,n){if(e.item.name!="listItem"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name=="ul"||t.parent.name=="ol"){t=i.breakContainer(t);if(t.parent.name!="li"){break}const e=t;const n=i.createPositionAt(t.parent,"end");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e<o.length;e++){const n=t.nodeBefore;const r=i.insert(t,o[e]);t=r.end;if(e>0){const e=FP(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}FP(i,t.nodeBefore,t.nodeAfter)}}}function ZP(t,e,n){const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const r=i.nodeAfter;FP(n.writer,o,r)}function XP(t,e,n){if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement("listItem");const o=dE(e.viewItem);t.setAttribute("listIndent",o,i);const r=e.viewItem.parent&&e.viewItem.parent.name=="ol"?"numbered":"bulleted";t.setAttribute("listType",r,i);const s=n.splitToAllowedParent(i,e.modelCursor);if(!s){return}t.insert(i,s.position);const a=sE(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,a);if(s.cursorParent){e.modelCursor=t.createPositionAt(s.cursorParent,0)}else{e.modelCursor=e.modelRange.end}}}function tE(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("li")||lE(e));if(t){e._remove()}}}}function eE(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 i=true;for(const e of t){if(n&&!lE(e)){e._remove()}if(e.is("text")){if(i){e._data=e.data.replace(/^\s+/,"")}if(!e.nextSibling||lE(e.nextSibling)){e._data=e.data.replace(/\s+$/,"")}}else if(lE(e)){n=true}i=false}}}function nE(t){return(e,n)=>{if(n.isPhantom){return}const i=n.modelPosition.nodeBefore;if(i&&i.is("listItem")){const e=n.mapper.toViewElement(i);const o=e.getAncestors().find(lE);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type=="elementStart"&&t.item.is("li")){n.viewPosition=t.previousPosition;break}else if(t.type=="elementEnd"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function iE(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const r=n.mapper;if(o.name=="ul"||o.name=="ol"){if(!i.isAtEnd){const e=r.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(i.nodeBefore);const o=r.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name=="li"&&i.nodeBefore&&(i.nodeBefore.name=="ul"||i.nodeBefore.name=="ol")){const s=r.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&lE(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function oE(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type=="insert"&&i.name=="listItem"){r(i.position)}else if(i.type=="insert"&&i.name!="listItem"){if(i.name!="$text"){const n=i.position.nodeAfter;if(n.hasAttribute("listIndent")){e.removeAttribute("listIndent",n);o=true}if(n.hasAttribute("listType")){e.removeAttribute("listType",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter(t=>t.item.is("listItem"))){r(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);r(n)}else if(i.type=="remove"&&i.name=="listItem"){r(i.position)}else if(i.type=="attribute"&&i.attributeKey=="listIndent"){r(i.range.start)}else if(i.type=="attribute"&&i.attributeKey=="listType"){r(i.range.start)}}for(const t of i.values()){s(t);a(t)}return o;function r(t){const e=t.nodeBefore;if(!e||!e.is("listItem")){const e=t.nodeAfter;if(e&&e.is("listItem")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is("listItem");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function s(t){let n=0;let i=null;while(t&&t.is("listItem")){const r=t.getAttribute("listIndent");if(r>n){let s;if(i===null){i=r-n;s=n}else{if(i>r){i=r}s=r-i}e.setAttribute("listIndent",s,t);o=true}else{i=null;n=t.getAttribute("listIndent")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is("listItem")){const r=t.getAttribute("listIndent");if(i&&i.getAttribute("listIndent")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const i=n[r];if(t.getAttribute("listType")!=i){e.setAttribute("listType",i,t);o=true}}else{n[r]=t.getAttribute("listType")}}i=t;t=t.nextSibling}}}function rE(t,[e,n]){let i=e.is("documentFragment")?e.getChild(0):e;let o;if(!n){o=this.document.selection}else{o=this.createSelection(n)}if(i&&i.is("listItem")){const t=o.getFirstPosition();let e=null;if(t.parent.is("listItem")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is("listItem")){e=t.nodeBefore}if(e){const t=e.getAttribute("listIndent");if(t>0){while(i&&i.is("listItem")){i._setAttribute("listIndent",i.getAttribute("listIndent")+t);i=i.nextSibling}}}}}function sE(t,e,n){const{writer:i,schema:o}=n;let r=i.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,i.createPositionAt(t,"end"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is("element")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is("listItem")){t=e.modelCursor.parent}else{t=aE(e.modelCursor)}r=i.createPositionAfter(t)}}}return r}function aE(t){const e=new Uh({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("listItem"));return n.value.item}function cE(t,e,n,i,o,r){const s=UP(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t,foo:"b"});const a=o.mapper;const c=o.writer;const l=s?s.getAttribute("listIndent"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}d=HP(d);for(const t of[...i.getChildren()]){if(lE(t)){d=c.move(c.createRangeOn(t),d).end;FP(c,t,t.nextSibling);FP(c,t.previousSibling,t)}}}function lE(t){return t.is("ol")||t.is("ul")}function dE(t){let e=0;let n=t.parent;while(n){if(n.is("li")){e++}else{const t=n.previousSibling;if(t&&t.is("li")){e++}}n=n.parent}return e}class uE extends Cw{static get pluginName(){return"ListEditing"}static get requires(){return[WC]}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=>oE(t.model,e));n.mapper.registerViewToModelLength("li",hE);e.mapper.registerViewToModelLength("li",hE);n.mapper.on("modelToViewPosition",nE(n.view));n.mapper.on("viewToModelPosition",iE(t.model));e.mapper.on("modelToViewPosition",nE(n.view));t.conversion.for("editingDowncast").add(e=>{e.on("insert",JP,{priority:"high"});e.on("insert:listItem",$P(t.model));e.on("attribute:listType:listItem",YP,{priority:"high"});e.on("attribute:listType:listItem",KP,{priority:"low"});e.on("attribute:listIndent:listItem",QP(t.model));e.on("remove:listItem",GP(t.model));e.on("remove",ZP,{priority:"low"})});t.conversion.for("dataDowncast").add(e=>{e.on("insert",JP,{priority:"high"});e.on("insert:listItem",$P(t.model))});t.conversion.for("upcast").add(t=>{t.on("element:ul",tE,{priority:"high"});t.on("element:ol",tE,{priority:"high"});t.on("element:li",eE,{priority:"high"});t.on("element:li",XP)});t.model.on("insertContent",rE,{priority:"high"});t.commands.add("numberedList",new RP(t,"numbered"));t.commands.add("bulletedList",new RP(t,"bulleted"));t.commands.add("indentList",new DP(t,"forward"));t.commands.add("outdentList",new DP(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",(t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name=="listItem"&&i.isEmpty){this.editor.execute("outdentList");e.preventDefault();t.stop()}});this.listenTo(i,"delete",(t,e)=>{if(e.direction!=="backward"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const i=n.getFirstPosition();if(!i.isAtStart){return}const o=i.parent;if(o.name!=="listItem"){return}const r=o.previousSibling&&o.previousSibling.name==="listItem";if(r){return}this.editor.execute("outdentList");e.preventDefault();t.stop()},{priority:"high"});const o=t=>(e,n)=>{const i=this.editor.commands.get(t);if(i.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set("Tab",o("indentList"));t.keystrokes.set("Shift+Tab",o("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 hE(t){let e=1;for(const n of t.getChildren()){if(n.name=="ul"||n.name=="ol"){for(const t of n.getChildren()){e+=hE(t)}}}return e}var fE='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM3.5 3v5H2V3.7H1v-1h2.5V3zM.343 17.857l2.59-3.257H2.92a.6.6 0 1 0-1.04 0H.302a2 2 0 1 1 3.995 0h-.001c-.048.405-.16.734-.333.988-.175.254-.59.692-1.244 1.312H4.3v1h-4l.043-.043zM7 14.75a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z"/></svg>';var mE='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0C1 4.784 1.777 4 2.75 4c.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75C1.784 7.5 1 6.723 1 5.75zm6 9c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0c0-.966.777-1.75 1.75-1.75.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75-.966 0-1.75-.777-1.75-1.75z"/></svg>';class gE extends Cw{init(){const t=this.editor.t;qP(this.editor,"numberedList",t("Numbered List"),fE);qP(this.editor,"bulletedList",t("Bulleted List"),mE)}}class pE extends Cw{static get requires(){return[uE,gE]}static get pluginName(){return"List"}}function bE(t,e){return t=>{t.on("attribute:url:media",n)};function n(n,i,o){if(!o.consumable.consume(i.item,n.name)){return}const r=i.attributeNewValue;const s=o.writer;const a=o.mapper.toViewElement(i.item);const c=[...a.getChildren()].find(t=>t.getCustomProperty("media-content"));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)}}function wE(t,e,n){e.setCustomProperty("media",true,t);return Nk(t,e,{label:n})}function kE(t){const e=t.getSelectedElement();if(e&&_E(e)){return e}return null}function _E(t){return!!t.getCustomProperty("media")&&Ik(t)}function vE(t,e,n,i){const o=t.createContainerElement("figure",{class:"media"});o.getFillerOffset=CE;t.insert(t.createPositionAt(o,0),e.getMediaViewElement(t,n,i));return o}function yE(t){const e=t.getSelectedElement();if(e&&e.is("media")){return e}return null}function xE(t,e,n){t.change(i=>{const o=i.createElement("media",{url:e});t.insertContent(o,n);i.setSelection(o,"on")})}function CE(){return null}class AE extends Tw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=e.getFirstPosition();const o=yE(e);let r=i.parent;if(r!=r.root){r=r.parent}this.value=o?o.getAttribute("url"):null;this.isEnabled=n.checkChild(r,"media")}execute(t){const e=this.editor.model;const n=e.document.selection;const i=yE(n);if(i){e.change(e=>{e.setAttribute("url",t,i)})}else{const i=Dk(n,e);xE(e,t,i)}}}var TE='<svg viewBox="0 0 64 42" xmlns="http://www.w3.org/2000/svg"><path d="M47.426 17V3.713L63.102 0v19.389h-.001l.001.272c0 1.595-2.032 3.43-4.538 4.098-2.506.668-4.538-.083-4.538-1.678 0-1.594 2.032-3.43 4.538-4.098.914-.244 2.032-.565 2.888-.603V4.516L49.076 7.447v9.556A1.014 1.014 0 0 0 49 17h-1.574zM29.5 17h-8.343a7.073 7.073 0 1 0-4.657 4.06v3.781H3.3a2.803 2.803 0 0 1-2.8-2.804V8.63a2.803 2.803 0 0 1 2.8-2.805h4.082L8.58 2.768A1.994 1.994 0 0 1 10.435 1.5h8.985c.773 0 1.477.448 1.805 1.149l1.488 3.177H26.7c1.546 0 2.8 1.256 2.8 2.805V17zm-11.637 0H17.5a1 1 0 0 0-1 1v.05A4.244 4.244 0 1 1 17.863 17zm29.684 2c.97 0 .953-.048.953.889v20.743c0 .953.016.905-.953.905H19.453c-.97 0-.953.048-.953-.905V19.89c0-.937-.016-.889.97-.889h28.077zm-4.701 19.338V22.183H24.154v16.155h18.692zM20.6 21.375v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616v-1.616H20.6zm0 3.231v1.616h1.616V37.53H20.6zm24.233-16.155v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615v-1.616h-1.615zm0 3.231v1.616h1.615V37.53h-1.615zM29.485 25.283a.4.4 0 0 1 .593-.35l9.05 4.977a.4.4 0 0 1 0 .701l-9.05 4.978a.4.4 0 0 1-.593-.35v-9.956z"/></svg>';const SE="0 0 64 42";class PE{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const r=n.concat(i).filter(t=>{const e=t.name;if(!e){console.warn(Object(ss["a"])("media-embed-no-provider-name: The configured media provider has no name and cannot be used."),{provider:t});return false}return!o.has(e)});this.locale=t;this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new EE(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;let i=e.url;if(!Array.isArray(i)){i=[i]}for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new EE(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\/\//,"");n=i.match(e);if(n){return n}i=i.replace(/^www\./,"");n=i.match(e);if(n){return n}return null}}class EE{constructor(t,e,n,i){this.url=this._getValidUrl(e);this._t=t.t;this._match=n;this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n["data-oembed-url"]=this.url}if(e.renderForEditingView){n.class="ck-media__wrapper"}const o=this._getPreviewHtml(e);i=t.createUIElement("div",n,(function(t){const e=this.toDomElement(t);e.innerHTML=o;return e}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement("oembed",n)}t.setCustomProperty("media-content",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return""}}_getPlaceholderHtml(){const t=new Wb;const e=new Ub;t.text=this._t("Open media in new tab");e.content=TE;e.viewBox=SE;const n=new Fp({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[e]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]},t]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return"https://"+t}}var ME=n(96);class IE extends Cw{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t);t.config.define("mediaEmbed",{providers:[{name:"dailymotion",url:/^dailymotion\.com\/video\/(\w+)/,html:t=>{const e=t[1];return'<div style="position: relative; padding-bottom: 100%; height: 0; ">'+`<iframe src="https://www.dailymotion.com/embed/video/${e}" `+'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" '+'frameborder="0" width="480" height="270" allowfullscreen allow="autoplay">'+"</iframe>"+"</div>"}},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>{const e=t[1];return'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 126%;">'+`<iframe src="https://open.spotify.com/embed/${e}" `+'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" '+'frameborder="0" allowtransparency="true" allow="encrypted-media">'+"</iframe>"+"</div>"}},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)/,/^youtube\.com\/embed\/([\w-]+)/,/^youtu\.be\/([\w-]+)/],html:t=>{const e=t[1];return'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;">'+`<iframe src="https://www.youtube.com/embed/${e}" `+'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" '+'frameborder="0" allow="autoplay; encrypted-media" allowfullscreen>'+"</iframe>"+"</div>"}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>{const e=t[1];return'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;">'+`<iframe src="https://player.vimeo.com/video/${e}" `+'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" '+'frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen>'+"</iframe>"+"</div>"}},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:/^google\.com\/maps/},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]});this.registry=new PE(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get("mediaEmbed.previewsInData");const r=this.registry;t.commands.add("mediaEmbed",new AE(t));e.register("media",{isObject:true,isBlock:true,allowWhere:"$block",allowAttributes:["url"]});i.for("dataDowncast").elementToElement({model:"media",view:(t,e)=>{const n=t.getAttribute("url");return vE(e,r,n,{renderMediaPreview:n&&o})}});i.for("dataDowncast").add(bE(r,{renderMediaPreview:o}));i.for("editingDowncast").elementToElement({model:"media",view:(t,e)=>{const i=t.getAttribute("url");const o=vE(e,r,i,{renderForEditingView:true});return wE(o,e,n("media widget"))}});i.for("editingDowncast").add(bE(r,{renderForEditingView:true}));i.for("upcast").elementToElement({view:{name:"oembed",attributes:{url:true}},model:(t,e)=>{const n=t.getAttribute("url");if(r.hasMedia(n)){return e.createElement("media",{url:n})}}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":true}},model:(t,e)=>{const n=t.getAttribute("data-oembed-url");if(r.hasMedia(n)){return e.createElement("media",{url:n})}}})}}const NE=/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w.-]+)+[\w\-._~:/?#[\]@!$&'()*+,;=]+$/;class OE extends Cw{static get requires(){return[Ly,Nx]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;this.listenTo(t.plugins.get(Ly),"inputTransformation",()=>{const t=e.selection.getFirstRange();const n=Lg.fromPosition(t.start);n.stickiness="toPrevious";const i=Lg.fromPosition(t.end);i.stickiness="toNext";e.once("change:data",()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()},{priority:"high"})});t.commands.get("undo").on("execute",()=>{if(this._timeoutId){Nd.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get(IE).registry;const o=new cf(t,e);const r=o.getWalker({ignoreElementEnd:true});let s="";for(const t of r){if(t.item.is("textProxy")){s+=t.item.data}}s=s.trim();if(!s.match(NE)){o.detach();return}if(!i.hasMedia(s)){o.detach();return}const a=n.commands.get("mediaEmbed");if(!a.isEnabled){o.detach();return}this._positionToInsert=Lg.fromPosition(t);this._timeoutId=Nd.window.setTimeout(()=>{n.model.change(t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert}xE(n.model,s,e);this._positionToInsert.detach();this._positionToInsert=null})},100)}}var RE=n(98);class LE extends mb{constructor(t,e){super(e);const n=e.t;this.focusTracker=new xp;this.keystrokes=new mp;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),eT,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(n("Cancel"),nT,"ck-button-cancel","cancel");this._focusables=new zp;this._focusCycler=new Cb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this._validators=t;this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();tT({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set("arrowright",e);this.keystrokes.set("arrowleft",e);this.keystrokes.set("arrowup",e);this.keystrokes.set("arrowdown",e);this.listenTo(this.urlInputView.element,"selectstart",(t,e)=>{e.stopPropagation()},{priority:"high"})}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new KA(this.locale,ZA);const n=e.fieldView;this._urlInputViewInfoDefault=t("Paste the media URL in the input.");this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster.");e.label=t("Media URL");e.infoText=this._urlInputViewInfoDefault;n.placeholder="https://example.com";n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault});return e}_createButton(t,e,n,i){const o=new Gb(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}}var VE='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M18.68 3.03c.6 0 .59-.03.59.55v12.84c0 .59.01.56-.59.56H1.29c-.6 0-.59.03-.59-.56V3.58c0-.58-.01-.55.6-.55h17.38zM15.77 15V5H4.2v10h11.57zM2 4v1h1V4H2zm0 2v1h1V6H2zm0 2v1h1V8H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zm0 2v1h1v-1H2zM17 4v1h1V4h-1zm0 2v1h1V6h-1zm0 2v1h1V8h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zm0 2v1h1v-1h-1zM7.5 7.177a.4.4 0 01.593-.351l5.133 2.824a.4.4 0 010 .7l-5.133 2.824a.4.4 0 01-.593-.35V7.176v.001z"/></svg>\n';class DE extends Cw{static get requires(){return[IE]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor;const e=t.commands.get("mediaEmbed");const n=t.plugins.get(IE).registry;t.ui.componentFactory.add("mediaEmbed",i=>{const o=rw(i);const r=new LE(zE(t.t,n),t.locale);this._setUpDropdown(o,r,e,t);this._setUpForm(o,r,e);return o})}_setUpDropdown(t,e,n){const i=this.editor;const o=i.t;const r=t.buttonView;t.bind("isEnabled").to(n);t.panelView.children.add(e);r.set({label:o("Insert media"),icon:VE,tooltip:true});r.on("open",()=>{e.url=n.value||"";e.urlInputView.fieldView.select();e.focus()},{priority:"low"});t.on("submit",()=>{if(e.isValid()){i.execute("mediaEmbed",e.url);s()}});t.on("change:isOpen",()=>e.resetFormStatus());t.on("cancel",()=>s());function s(){i.editing.view.focus();t.isOpen=false}}_setUpForm(t,e,n){e.delegate("submit","cancel").to(t);e.urlInputView.bind("value").to(n,"value");e.urlInputView.bind("isReadOnly").to(n,"isEnabled",t=>!t);e.saveButtonView.bind("isEnabled").to(n)}}function zE(t,e){return[e=>{if(!e.url.length){return t("The URL must not be empty.")}},n=>{if(!e.hasMedia(n.url)){return t("This media URL is not supported.")}}]}var BE=n(100);class jE extends Cw{static get requires(){return[IE,DE,OE,FA]}static get pluginName(){return"MediaEmbed"}}class FE extends Tw{refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=t.schema.checkAttributeInSelection(e.selection,"mention")}execute(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=typeof t.mention=="string"?{id:t.mention}:t.mention;const r=o.id;const s=t.range||i.getFirstRange();const a=t.text||r;const c=UE({_text:a,id:r},o);if(t.marker.length!=1){throw new ss["b"]("mentioncommand-incorrect-marker: The marker must be a single character.",this)}if(r.charAt(0)!=t.marker){throw new ss["b"]("mentioncommand-incorrect-id: The item id must start with the marker character.",this)}e.change(t=>{const n=Us(i.getAttributes());const o=new Map(n.entries());o.set("mention",c);e.insertContent(t.createText(a,o),s);e.insertContent(t.createText(" ",n),s.start.getShiftedBy(a.length))})}}class HE extends Cw{static get pluginName(){return"MentionEditing"}init(){const t=this.editor;const e=t.model;const n=e.document;e.schema.extend("$text",{allowAttributes:"mention"});t.conversion.for("upcast").elementToAttribute({view:{name:"span",key:"data-mention",classes:"mention"},model:{key:"mention",value:qE}});t.conversion.for("downcast").attributeToElement({model:"mention",view:$E});t.conversion.for("downcast").add(WE);n.registerPostFixer(t=>KE(t,n,e.schema));n.registerPostFixer(t=>QE(t,n));n.registerPostFixer(t=>GE(t,n));t.commands.add("mention",new FE(t))}}function UE(t,e){return Object.assign({uid:ns()},t,e||{})}function qE(t,e){const n=t.getAttribute("data-mention");const i=t.getChild(0);if(!i){return}const o={id:n,_text:i.data};return UE(o,e)}function WE(t){t.on("attribute:mention",(t,e,n)=>{const i=e.attributeNewValue;if(!e.item.is("textProxy")||!i){return}const o=e.range.start;const r=o.textNode||o.nodeAfter;if(r.data!=i._text){n.consumable.consume(e.item,t.name)}},{priority:"highest"})}function $E(t,e){if(!t){return}const n={class:"mention","data-mention":t.id};const i={id:t.uid,priority:20};return e.createAttributeElement("span",n,i)}function GE(t,e){const n=e.selection;const i=n.focus;if(n.isCollapsed&&n.hasAttribute("mention")&&YE(i)){t.removeSelectionAttribute("mention");return true}}function YE(t){const e=t.isAtStart;const n=t.nodeBefore&&t.nodeBefore.is("text");return n||e}function KE(t,e,n){const i=e.differ.getChanges();let o=false;for(const e of i){const i=e.position;if(e.name=="$text"){const e=i.textNode&&i.textNode.nextSibling;o=ZE(i.textNode,t)||o;o=ZE(e,t)||o;o=ZE(i.nodeBefore,t)||o;o=ZE(i.nodeAfter,t)||o}if(e.name!="$text"&&e.type=="insert"){const e=i.nodeAfter;for(const n of t.createRangeIn(e).getItems()){o=ZE(n,t)||o}}if(e.type=="insert"&&n.isInline(e.name)){const e=i.nodeAfter&&i.nodeAfter.nextSibling;o=ZE(i.nodeBefore,t)||o;o=ZE(e,t)||o}}return o}function QE(t,e){const n=e.differ.getChanges();let i=false;for(const e of n){if(e.type==="attribute"&&e.attributeKey!="mention"){const n=e.range.start.nodeBefore;const o=e.range.end.nodeAfter;for(const r of[n,o]){if(JE(r)&&r.getAttribute(e.attributeKey)!=e.attributeNewValue){t.setAttribute(e.attributeKey,e.attributeNewValue,r);i=true}}}}return i}function JE(t){if(!t||!(t.is("text")||t.is("textProxy"))||!t.hasAttribute("mention")){return false}const e=t.data;const n=t.getAttribute("mention");const i=n._text;return e!=i}function ZE(t,e){if(JE(t)){e.removeAttribute("mention",t);return true}return false}class XE{constructor(t,e){this.model=t;this.testCallback=e;this.hasMatch=false;this.set("isEnabled",true);this.on("change:isEnabled",()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}});this._startListening()}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,"change:range",(t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire("unmatched");this.hasMatch=false}return}this._evaluateTextBeforeSelection("selection")});this.listenTo(e,"change:data",(t,e)=>{if(e.type=="transparent"){return}this._evaluateTextBeforeSelection("data",{batch:e})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const i=n.document;const o=i.selection;const r=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus);const{text:s,range:a}=$w(r,n);const c=this.testCallback(s);if(!c&&this.hasMatch){this.fire("unmatched")}this.hasMatch=!!c;if(c){const n=Object.assign(e,{text:s,range:a});if(typeof c=="object"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}ys(XE,Qc);var tM=n(102);class eM extends Jb{constructor(t){super(t);this.extendTemplate({attributes:{class:["ck-mentions"],tabindex:"-1"}})}selectFirst(){this.select(0)}selectNext(){const t=this.selected;const e=this.items.getIndex(t);this.select(e+1)}selectPrevious(){const t=this.selected;const e=this.items.getIndex(t);this.select(e-1)}select(t){let e=0;if(t>0&&t<this.items.length){e=t}else if(t<0){e=this.items.length-1}const n=this.items.get(e);if(this.selected===n){return}if(this.selected){this.selected.removeHighlight()}n.highlight();this.selected=n;if(!this._isItemVisibleInScrolledArea(n)){this.element.scrollTop=n.element.offsetTop}}executeSelected(){this.selected.fire("execute")}_isItemVisibleInScrolledArea(t){return new vh(this.element).contains(new vh(t.element))}}class nM extends mb{constructor(t,e){super(t);this.template=false;this.domElement=e;this.domElement.classList.add("ck-button");this.set("isOn",false);this.on("change:isOn",(t,e,n)=>{if(n){this.domElement.classList.add("ck-on");this.domElement.classList.remove("ck-off")}else{this.domElement.classList.add("ck-off");this.domElement.classList.remove("ck-on")}});this.listenTo(this.domElement,"click",()=>{this.fire("execute")})}render(){super.render();this.element=this.domElement}}class iM extends Zb{highlight(){const t=this.children.first;t.isOn=true}removeHighlight(){const t=this.children.first;t.isOn=false}}const oM=3;const rM=[Rl.arrowup,Rl.arrowdown,Rl.enter,Rl.tab,Rl.space,Rl.esc];class sM extends Cw{static get pluginName(){return"MentionUI"}static get requires(){return[dT]}constructor(t){super(t);this._mentionsView=this._createMentionView();this._mentionsConfigurations=new Map;this._requestFeedDebounced=uh(this._requestFeed,100);t.config.define("mention",{feeds:[]})}init(){const t=this.editor;this._balloon=t.plugins.get(dT);t.editing.view.document.on("keydown",(t,e)=>{if(hM(e.keyCode)&&this._isUIVisible){e.preventDefault();t.stop();if(e.keyCode==Rl.arrowdown){this._mentionsView.selectNext()}if(e.keyCode==Rl.arrowup){this._mentionsView.selectPrevious()}if(e.keyCode==Rl.enter||e.keyCode==Rl.tab||e.keyCode==Rl.space){this._mentionsView.executeSelected()}if(e.keyCode==Rl.esc){this._hideUIAndRemoveMarker()}}},{priority:"highest"});nw({emitter:this._mentionsView,activator:()=>this._isUIVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideUIAndRemoveMarker()});const e=t.config.get("mention.feeds");for(const t of e){const e=t.feed;const n=t.marker;if(!mM(n)){throw new ss["b"]("mentionconfig-incorrect-marker: The marker must be provided and it must be a single character.",null)}const i=t.minimumCharacters||0;const o=typeof e=="function"?e.bind(this.editor):uM(e);const r=this._setupTextWatcherForFeed(n,i);const s=t.itemRenderer;const a={watcher:r,marker:n,feedCallback:o,itemRenderer:s};this._mentionsConfigurations.set(n,a)}this.on("requestFeed:response",(t,e)=>this._handleFeedResponse(e));this.on("requestFeed:error",()=>this._hideUIAndRemoveMarker())}destroy(){super.destroy();this._mentionsView.destroy()}get _isUIVisible(){return this._balloon.visibleView===this._mentionsView}_createMentionView(){const t=this.editor.locale;const e=new eM(t);this._items=new xs;e.items.bindTo(this._items).using(n=>{const{item:i,marker:o}=n;const r=new iM(t);const s=this._renderItem(i,o);s.delegate("execute").to(r);r.children.add(s);r.item=i;r.marker=o;r.on("execute",()=>{e.fire("execute",{item:i,marker:o})});return r});e.on("execute",(t,e)=>{const n=this.editor;const i=n.model;const o=e.item;const r=e.marker;const s=n.model.markers.get("mention");const a=i.createPositionAt(i.document.selection.focus);const c=i.createPositionAt(s.getStart());const l=i.createRange(c,a);this._hideUIAndRemoveMarker();n.execute("mention",{mention:o,text:o.text,marker:r,range:l});n.editing.view.focus()});return e}_getItemRenderer(t){const{itemRenderer:e}=this._mentionsConfigurations.get(t);return e}_requestFeed(t,e){this._lastRequested=e;const{feedCallback:n}=this._mentionsConfigurations.get(t);const i=n(e);const o=i instanceof Promise;if(!o){this.fire("requestFeed:response",{feed:i,marker:t,feedText:e});return}i.then(n=>{if(this._lastRequested==e){this.fire("requestFeed:response",{feed:n,marker:t,feedText:e})}else{this.fire("requestFeed:discarded",{feed:n,marker:t,feedText:e})}}).catch(t=>{this.fire("requestFeed:error",{error:t});console.warn(Object(ss["a"])("mention-feed-callback-error: Could not obtain mention autocomplete feed."))})}_setupTextWatcherForFeed(t,e){const n=this.editor;const i=new XE(n.model,lM(t,e));i.on("matched",(e,i)=>{const o=n.model.document.selection;const r=o.focus;if(fM(r)){this._hideUIAndRemoveMarker();return}const s=dM(t,i.text);const a=t.length+s.length;const c=r.getShiftedBy(-a);const l=r.getShiftedBy(-s.length);const d=n.model.createRange(c,l);if(gM(n)){const t=n.model.markers.get("mention");n.model.change(e=>{e.updateMarker(t,{range:d})})}else{n.model.change(t=>{t.addMarker("mention",{range:d,usingOperation:false,affectsData:false})})}this._requestFeedDebounced(t,s)});i.on("unmatched",()=>{this._hideUIAndRemoveMarker()});const o=n.commands.get("mention");i.bind("isEnabled").to(o);return i}_handleFeedResponse(t){const{feed:e,marker:n}=t;if(!gM(this.editor)){return}this._items.clear();for(const t of e){const e=typeof t!="object"?{id:t,text:t}:t;this._items.add({item:e,marker:n})}const i=this.editor.model.markers.get("mention");if(this._items.length){this._showOrUpdateUI(i)}else{this._hideUIAndRemoveMarker()}}_showOrUpdateUI(t){if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPanelPositionData(t,this._mentionsView.position))}else{this._balloon.add({view:this._mentionsView,position:this._getBalloonPanelPositionData(t,this._mentionsView.position),withArrow:false,singleViewMode:true})}this._mentionsView.position=this._balloon.view.position;this._mentionsView.selectFirst()}_hideUIAndRemoveMarker(){if(this._balloon.hasView(this._mentionsView)){this._balloon.remove(this._mentionsView)}if(gM(this.editor)){this.editor.model.change(t=>t.removeMarker("mention"))}this._mentionsView.position=undefined}_renderItem(t,e){const n=this.editor;let i;let o=t.id;const r=this._getItemRenderer(e);if(r){const e=r(t);if(typeof e!="string"){i=new nM(n.locale,e)}else{o=e}}if(!i){const t=new Gb(n.locale);t.label=o;t.withText=true;i=t}return i}_getBalloonPanelPositionData(t,e){const n=this.editor;const i=n.editing;const o=i.view.domConverter;const r=i.mapper;return{target:()=>{let e=t.getRange();if(e.start.root.rootName=="$graveyard"){e=n.model.document.selection.getFirstRange()}const i=r.toViewRange(e);const s=vh.getDomRangeRects(o.viewRangeToDom(i));return s.pop()},limiter:()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null},positions:aM(e)}}}function aM(t){const e={caret_se:t=>({top:t.bottom+oM,left:t.right,name:"caret_se"}),caret_ne:(t,e)=>({top:t.top-e.height-oM,left:t.right,name:"caret_ne"}),caret_sw:(t,e)=>({top:t.bottom+oM,left:t.right-e.width,name:"caret_sw"}),caret_nw:(t,e)=>({top:t.top-e.height-oM,left:t.right-e.width,name:"caret_nw"})};if(e.hasOwnProperty(t)){return[e[t]]}return[e.caret_se,e.caret_sw,e.caret_ne,e.caret_nw]}function cM(t,e){const n=e==0?"*":`{${e},}`;const i=Tl.features.isRegExpUnicodePropertySupported?"\\p{Ps}\\p{Pi}\"'":"\\(\\[{\"'";const o="\\S";const r=`(?:^|[ ${i}])([${t}])([${o}]${n})$`;return new RegExp(r,"u")}function lM(t,e){const n=cM(t,e);return t=>n.test(t)}function dM(t,e){const n=cM(t,0);const i=e.match(n);return i[2]}function uM(t){return e=>{const n=t.filter(t=>{const n=typeof t=="string"?t:String(t.id);return n.toLowerCase().includes(e.toLowerCase())}).slice(0,10);return n}}function hM(t){return rM.includes(t)}function fM(t){const e=t.textNode&&t.textNode.hasAttribute("mention");const n=t.nodeBefore;return e||n&&n.is("text")&&n.hasAttribute("mention")}function mM(t){return t&&t.length==1}function gM(t){return t.model.markers.has("mention")}var pM=n(104);class bM extends Cw{toMentionAttribute(t,e){return qE(t,e)}static get pluginName(){return"Mention"}static get requires(){return[HE,sM]}}function wM(t,e){for(const n of t.getChildren()){if(n.is("b")&&n.getStyle("font-weight")==="normal"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function kM(t,e){if(!t.childCount){return}const n=new AS(t.document);const i=vM(t,n);if(!i.length){return}let o=null;let r=1;i.forEach((t,s)=>{const a=SM(i[s-1],t);const c=a?null:i[s-1];const l=EM(c,t);if(a){o=null;r=1}if(!o||l!==0){const i=yM(t,e);if(!o){o=xM(i,t.element,n)}else if(t.indent>r){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=xM(i,e,n);r+=1}else if(t.indent<r){const e=r-t.indent;o=MM(o,e);r=parseInt(t.indent)}if(t.indent<=r){if(!o.is(i.type)){o=n.rename(i.type,o)}}}const d=CM(t.element,n);n.appendChild(d,o)})}function _M(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("li")){const n=t.getChild(0);if(n.is("p")){e.unwrapElement(n)}}}}function vM(t,e){const n=e.createRangeIn(t);const i=new qs({name:/^p|h\d+$/,styles:{"mso-list":/.*/}});const o=[];for(const t of n){if(t.type==="elementStart"&&i.match(t.item)){const e=AM(t.item);o.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}}return o}function yM(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi");const i=/mso-level-number-format:([^;]*);/gi;const o=n.exec(e);let r="decimal";if(o&&o[1]){const t=i.exec(o[1]);if(t&&t[1]){r=t[1].trim()}}return{type:r!=="bullet"&&r!=="image"?"ol":"ul",style:r}}function xM(t,e,n){const i=e.parent;const o=n.createElement(t.type);const r=i.getChildIndex(e)+1;n.insertChild(r,o,i);return o}function CM(t,e){TM(t,e);return e.rename("li",t)}function AM(t){const e={};const n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s+)l(\d+)/i);const i=n.match(/\s*lfo(\d+)/i);const o=n.match(/\s*level(\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=o[1]}}return e}function TM(t,e){const n=new qs({name:"span",styles:{"mso-list":"Ignore"}});const i=e.createRangeIn(t);for(const t of i){if(t.type==="elementStart"&&n.match(t.item)){e.remove(t.item)}}}function SM(t,e){if(!t){return true}if(t.id!==e.id){return true}const n=e.element.previousSibling;if(!n){return true}return!PM(n)}function PM(t){return t.is("ol")||t.is("ul")}function EM(t,e){return t?e.indent-t.indent:e.indent-1}function MM(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.name==="ul"||t.name==="ol"){o++}if(o===e){i=t;break}}return i}const IM=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class NM{constructor(t){this.document=t}isActive(t){return IM.test(t)}execute(t){const e=new AS(this.document);wM(t.content,e);_M(t.content,e)}}function OM(t){return LM(LM(t)).replace(/(<span\s+style=['"]mso-spacerun:yes['"]>[\s]*?)[\r\n]+(\s*<\/span>)/g,"$1$2").replace(/<span\s+style=['"]mso-spacerun:yes['"]><\/span>/g,"").replace(/ <\//g," </").replace(/ <o:p><\/o:p>/g," <o:p></o:p>").replace(/<o:p>(&nbsp;|\u00A0)<\/o:p>/g,"").replace(/>(\s*[\r\n]\s*)</g,"><")}function RM(t){t.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t.innerText.length||0;t.innerHTML=Array(e+1).join("  ").substr(0,e)})}function LM(t){return t.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function VM(t,e){const n=new DOMParser;t=t.replace(/<!--\[if gte vml 1]>/g,"");const i=OM(BM(t));const o=n.parseFromString(i,"text/html");RM(o);const r=o.body.innerHTML;const s=DM(o,e);const a=zM(o);return{body:s,bodyString:r,styles:a.styles,stylesString:a.stylesString}}function DM(t,e){const n=new bl(e);const i=new Dd(n,{blockFillerMode:"nbsp"});const o=t.createDocumentFragment();const r=t.body.childNodes;while(r.length>0){o.appendChild(r[0])}return i.domToView(o)}function zM(t){const e=[];const n=[];const i=Array.from(t.getElementsByTagName("style"));for(const t of i){if(t.sheet&&t.sheet.cssRules&&t.sheet.cssRules.length){e.push(t.sheet);n.push(t.innerHTML)}}return{styles:e,stylesString:n.join(" ")}}function BM(t){const e=/<\/body>(.*?)(<\/html>|$)/;const n=t.match(e);if(n&&n[1]){t=t.slice(0,n.index)+t.slice(n.index).replace(n[1],"")}return t}function jM(t,e){if(!t.childCount){return}const n=new AS;const i=HM(t,n);UM(i,t,n);qM(t,n);const o=WM(t,n);if(o.length){GM(o,$M(e),n)}}function FM(t){return btoa(t.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function HM(t,e){const n=e.createRangeIn(t);const i=new qs({name:/v:(.+)/});const o=[];for(const t of n){const e=t.item;const n=e.previousSibling&&e.previousSibling.name||null;if(i.match(e)&&e.getAttribute("o:gfxdata")&&n!=="v:shapetype"){o.push(t.item.getAttribute("id"))}}return o}function UM(t,e,n){const i=n.createRangeIn(e);const o=new qs({name:"img"});const r=[];for(const e of i){if(o.match(e.item)){const n=e.item;const i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];if(i.length&&i.every(e=>t.indexOf(e)>-1)){r.push(n)}else if(!n.getAttribute("src")){r.push(n)}}}for(const t of r){n.remove(t)}}function qM(t,e){const n=e.createRangeIn(t);const i=new qs({name:/v:(.+)/});const o=[];for(const t of n){if(i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function WM(t,e){const n=e.createRangeIn(t);const i=new qs({name:"img"});const o=[];for(const t of n){if(i.match(t.item)){if(t.item.getAttribute("src").startsWith("file://")){o.push(t.item)}}}return o}function $M(t){if(!t){return[]}const e=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/;const n=new RegExp("(?:("+e.source+"))([\\da-fA-F\\s]+)\\}","g");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes("\\pngblip")){n="image/png"}else if(t.includes("\\jpegblip")){n="image/jpeg"}if(n){o.push({hex:t.replace(e,"").replace(/[^\da-fA-F]/g,""),type:n})}}}return o}function GM(t,e,n){if(t.length===e.length){for(let i=0;i<t.length;i++){const o=`data:${e[i].type};base64,${FM(e[i].hex)}`;n.setAttribute("src",o,t[i])}}}const YM=/<meta\s*name="?generator"?\s*content="?microsoft\s*word\s*\d+"?\/?>/i;const KM=/xmlns:o="urn:schemas-microsoft-com/i;class QM{constructor(t){this.document=t}isActive(t){return YM.test(t)||KM.test(t)}execute(t){const{body:e,stylesString:n}=VM(t.dataTransfer.getData("text/html"),this.document.stylesProcessor);kM(e,n);jM(e,t.dataTransfer.getData("text/rtf"));t.content=e}}class JM extends Cw{static get pluginName(){return"PasteFromOffice"}static get requires(){return[Ly]}init(){const t=this.editor;const e=t.editing.view.document;const n=[];n.push(new QM(e));n.push(new NM(e));t.plugins.get("Clipboard").on("inputTransformation",(t,e)=>{if(e.isTransformedWithPasteFromOffice){return}const i=e.dataTransfer.getData("text/html");const o=n.find(t=>t.isActive(i));if(o){o.execute(e);e.isTransformedWithPasteFromOffice=true}},{priority:"high"})}}var ZM='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.69 14.915c.053.052.173.083.36.093a.366.366 0 0 1 .345.485l-.003.01a.738.738 0 0 1-.697.497h-2.67a.374.374 0 0 1-.353-.496l.013-.038a.681.681 0 0 1 .644-.458c.197-.012.325-.043.386-.093a.28.28 0 0 0 .072-.11L9.592 4.5H6.269c-.359-.017-.609.013-.75.09-.142.078-.289.265-.442.563-.192.29-.516.464-.864.464H4.17a.43.43 0 0 1-.407-.569L4.46 3h13.08l-.62 2.043a.81.81 0 0 1-.775.574h-.114a.486.486 0 0 1-.486-.486c.001-.284-.054-.464-.167-.54-.112-.076-.367-.106-.766-.091h-3.28l-2.68 10.257c-.006.074.007.127.038.158zM3 17h8a.5.5 0 1 1 0 1H3a.5.5 0 1 1 0-1zm11.299 1.17a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.06-1.06l1.415 1.414 1.414-1.415a.75.75 0 1 1 1.06 1.06l-1.413 1.415 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414-1.414 1.414z"/></svg>';const XM="removeFormat";class tI extends Cw{static get pluginName(){return"RemoveFormatUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(XM,n=>{const i=t.commands.get(XM);const o=new Gb(n);o.set({label:e("Remove Format"),icon:ZM,tooltip:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute(XM);t.editing.view.focus()});return o})}}class eI extends Tw{refresh(){const t=this.editor.model;this.isEnabled=!!Pw(this._getFormattingItems(t.document.selection,t.schema))}execute(){const t=this.editor.model;const e=t.schema;t.change(n=>{for(const i of this._getFormattingItems(t.document.selection,e)){if(i.is("selection")){for(const t of this._getFormattingAttributes(i,e)){n.removeSelectionAttribute(t)}}else{const t=n.createRangeOn(i);for(const o of this._getFormattingAttributes(i,e)){n.removeAttribute(o,t)}}}})}*_getFormattingItems(t,e){const n=t=>!!Pw(this._getFormattingAttributes(t,e));for(const e of t.getRanges()){for(const t of e.getItems()){if(n(t)){yield t}}}if(n(t)){yield t}}*_getFormattingAttributes(t,e){for(const[n]of t.getAttributes()){const t=e.getAttributeProperties(n);if(t&&t.isFormatting){yield n}}}}class nI extends Cw{static get pluginName(){return"RemoveFormatEditing"}init(){const t=this.editor;t.commands.add("removeFormat",new eI(t))}}class iI extends Cw{static get requires(){return[nI,tI]}static get pluginName(){return"RemoveFormat"}}var oI=n(106);class rI extends mb{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||"");this.set("class",e.class||null);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children});const i=new mb(t);i.setTemplate({tag:"span",attributes:{class:["ck","ck-form__header__label"]},children:[{text:n.to("label")}]});this.children.add(i)}}class sI extends rI{constructor(t,e){super(t);const n=t.t;this.set("class","ck-special-characters-navigation");this.groupDropdownView=this._createGroupDropdown(e);this.groupDropdownView.panelPosition=t.uiLanguageDirection==="rtl"?"se":"sw";this.label=n("Special characters");this.children.add(this.groupDropdownView)}get currentGroupName(){return this.groupDropdownView.value}_createGroupDropdown(t){const e=this.locale;const n=e.t;const i=rw(e);const o=this._getCharacterGroupListItemDefinitions(i,t);i.set("value",o.first.model.label);i.buttonView.bind("label").to(i,"value");i.buttonView.set({isOn:false,withText:true,tooltip:n("Character categories"),class:["ck-dropdown__button_label-width_auto"]});i.on("execute",t=>{i.value=t.source.label});i.delegate("execute").to(this);aw(i,o);return i}_getCharacterGroupListItemDefinitions(t,e){const n=new xs;for(const i of e){const e={type:"button",model:new _y({label:i,withText:true})};e.model.bind("isOn").to(t,"value",t=>t===e.model.label);n.add(e)}return n}}var aI=n(108);class cI extends mb{constructor(t){super(t);this.tiles=this.createCollection();this.setTemplate({tag:"div",children:[{tag:"div",attributes:{class:["ck","ck-character-grid__tiles"]},children:this.tiles}],attributes:{class:["ck","ck-character-grid"]}})}createTile(t,e){const n=new Gb(this.locale);n.set({label:t,withText:true,class:"ck-character-grid__tile"});n.extendTemplate({attributes:{title:e},on:{mouseover:n.bindTemplate.to("mouseover")}});n.on("mouseover",()=>{this.fire("tileHover",{name:e,character:t})});n.on("execute",()=>{this.fire("execute",{name:e,character:t})});return n}}var lI=n(110);class dI extends mb{constructor(t){super(t);const e=this.bindTemplate;this.set("character",null);this.set("name",null);this.bind("code").to(this,"character",uI);this.setTemplate({tag:"div",children:[{tag:"span",attributes:{class:["ck-character-info__name"]},children:[{text:e.to("name",t=>t?t:"")}]},{tag:"span",attributes:{class:["ck-character-info__code"]},children:[{text:e.to("code")}]}],attributes:{class:["ck","ck-character-info"]}})}}function uI(t){if(t===null){return""}const e=t.codePointAt(0).toString(16);return"U+"+("0000"+e).slice(-4)}var hI='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10 2.5a7.47 7.47 0 0 1 4.231 1.31 7.268 7.268 0 0 1 2.703 3.454 7.128 7.128 0 0 1 .199 4.353c-.39 1.436-1.475 2.72-2.633 3.677h2.013c0-.226.092-.443.254-.603a.876.876 0 0 1 1.229 0c.163.16.254.377.254.603v.853c0 .209-.078.41-.22.567a.873.873 0 0 1-.547.28l-.101.006h-4.695a.517.517 0 0 1-.516-.518v-1.265c0-.21.128-.398.317-.489a5.601 5.601 0 0 0 2.492-2.371 5.459 5.459 0 0 0 .552-3.693 5.53 5.53 0 0 0-1.955-3.2A5.71 5.71 0 0 0 10 4.206 5.708 5.708 0 0 0 6.419 5.46 5.527 5.527 0 0 0 4.46 8.663a5.457 5.457 0 0 0 .554 3.695 5.6 5.6 0 0 0 2.497 2.37.55.55 0 0 1 .317.49v1.264c0 .286-.23.518-.516.518H2.618a.877.877 0 0 1-.614-.25.845.845 0 0 1-.254-.603v-.853c0-.226.091-.443.254-.603a.876.876 0 0 1 1.228 0c.163.16.255.377.255.603h1.925c-1.158-.958-2.155-2.241-2.545-3.678a7.128 7.128 0 0 1 .199-4.352 7.268 7.268 0 0 1 2.703-3.455A7.475 7.475 0 0 1 10 2.5z"/></svg>';var fI=n(112);const mI="All";class gI extends Cw{static get requires(){return[dx]}static get pluginName(){return"SpecialCharacters"}constructor(t){super(t);this._characters=new Map;this._groups=new Map}init(){const t=this.editor;const e=t.t;const n=t.commands.get("input");t.ui.componentFactory.add("specialCharacters",i=>{const o=rw(i);let r;o.buttonView.set({label:e("Special characters"),icon:hI,tooltip:true});o.bind("isEnabled").to(n);o.on("execute",(e,n)=>{t.execute("input",{text:n.character});t.editing.view.focus()});o.on("change:isOpen",()=>{if(!r){r=this._createDropdownPanelContent(i,o);o.panelView.children.add(r.navigationView);o.panelView.children.add(r.gridView);o.panelView.children.add(r.infoView)}r.infoView.set({character:null,name:null})});return o})}addItems(t,e){if(t===mI){throw new ss["b"](`special-character-invalid-group-name: The name "${mI}" is reserved and cannot be used.`)}const n=this._getGroup(t);for(const t of e){n.add(t.title);this._characters.set(t.title,t.character)}}getGroups(){return this._groups.keys()}getCharactersForGroup(t){if(t===mI){return new Set(this._characters.keys())}return this._groups.get(t)}getCharacter(t){return this._characters.get(t)}_getGroup(t){if(!this._groups.has(t)){this._groups.set(t,new Set)}return this._groups.get(t)}_updateGrid(t,e){e.tiles.clear();const n=this.getCharactersForGroup(t);for(const t of n){const n=this.getCharacter(t);e.tiles.add(e.createTile(n,t))}}_createDropdownPanelContent(t,e){const n=[...this.getGroups()];n.unshift(mI);const i=new sI(t,n);const o=new cI(t);const r=new dI(t);o.delegate("execute").to(e);o.on("tileHover",(t,e)=>{r.set(e)});i.on("execute",()=>{this._updateGrid(i.currentGroupName,o)});this._updateGrid(i.currentGroupName,o);return{navigationView:i,gridView:o,infoView:r}}}class pI extends Cw{init(){const t=this.editor;const e=t.t;t.plugins.get("SpecialCharacters").addItems("Currency",[{character:"$",title:e("Dollar sign")},{character:"€",title:e("Euro sign")},{character:"¥",title:e("Yen sign")},{character:"£",title:e("Pound sign")},{character:"¢",title:e("Cent sign")},{character:"₠",title:e("Euro-currency sign")},{character:"₡",title:e("Colon sign")},{character:"₢",title:e("Cruzeiro sign")},{character:"₣",title:e("French franc sign")},{character:"₤",title:e("Lira sign")},{character:"¤",title:e("Currency sign")},{character:"₿",title:e("Bitcoin sign")},{character:"₥",title:e("Mill sign")},{character:"₦",title:e("Naira sign")},{character:"₧",title:e("Peseta sign")},{character:"₨",title:e("Rupee sign")},{character:"₩",title:e("Won sign")},{character:"₪",title:e("New sheqel sign")},{character:"₫",title:e("Dong sign")},{character:"₭",title:e("Kip sign")},{character:"₮",title:e("Tugrik sign")},{character:"₯",title:e("Drachma sign")},{character:"₰",title:e("German penny sign")},{character:"₱",title:e("Peso sign")},{character:"₲",title:e("Guarani sign")},{character:"₳",title:e("Austral sign")},{character:"₴",title:e("Hryvnia sign")},{character:"₵",title:e("Cedi sign")},{character:"₶",title:e("Livre tournois sign")},{character:"₷",title:e("Spesmilo sign")},{character:"₸",title:e("Tenge sign")},{character:"₹",title:e("Indian rupee sign")},{character:"₺",title:e("Turkish lira sign")},{character:"₻",title:e("Nordic mark sign")},{character:"₼",title:e("Manat sign")},{character:"₽",title:e("Ruble sign")}])}}class bI extends Cw{init(){const t=this.editor;const e=t.t;t.plugins.get("SpecialCharacters").addItems("Mathematical",[{character:"<",title:e("Less-than sign")},{character:">",title:e("Greater-than sign")},{character:"≤",title:e("Less-than or equal to")},{character:"≥",title:e("Greater-than or equal to")},{character:"",title:e("En dash")},{character:"—",title:e("Em dash")},{character:"¯",title:e("Macron")},{character:"‾",title:e("Overline")},{character:"°",title:e("Degree sign")},{character:"",title:e("Minus sign")},{character:"±",title:e("Plus-minus sign")},{character:"÷",title:e("Division sign")},{character:"",title:e("Fraction slash")},{character:"×",title:e("Multiplication sign")},{character:"ƒ",title:e("Latin small letter f with hook")},{character:"∫",title:e("Integral")},{character:"∑",title:e("N-ary summation")},{character:"∞",title:e("Infinity")},{character:"√",title:e("Square root")},{character:"",title:e("Tilde operator")},{character:"≅",title:e("Approximately equal to")},{character:"≈",title:e("Almost equal to")},{character:"≠",title:e("Not equal to")},{character:"≡",title:e("Identical to")},{character:"∈",title:e("Element of")},{character:"∉",title:e("Not an element of")},{character:"∋",title:e("Contains as member")},{character:"∏",title:e("N-ary product")},{character:"∧",title:e("Logical and")},{character:"",title:e("Logical or")},{character:"¬",title:e("Not sign")},{character:"∩",title:e("Intersection")},{character:"",title:e("Union")},{character:"∂",title:e("Partial differential")},{character:"∀",title:e("For all")},{character:"∃",title:e("There exists")},{character:"∅",title:e("Empty set")},{character:"∇",title:e("Nabla")},{character:"",title:e("Asterisk operator")},{character:"∝",title:e("Proportional to")},{character:"∠",title:e("Angle")},{character:"¼",title:e("Vulgar fraction one quarter")},{character:"½",title:e("Vulgar fraction one half")},{character:"¾",title:e("Vulgar fraction three quarters")}])}}class wI extends Cw{init(){const t=this.editor;const e=t.t;t.plugins.get("SpecialCharacters").addItems("Arrows",[{title:e("leftwards double arrow"),character:"⇐"},{title:e("rightwards double arrow"),character:"⇒"},{title:e("upwards double arrow"),character:"⇑"},{title:e("downwards double arrow"),character:"⇓"},{title:e("leftwards dashed arrow"),character:"⇠"},{title:e("rightwards dashed arrow"),character:"⇢"},{title:e("upwards dashed arrow"),character:"⇡"},{title:e("downwards dashed arrow"),character:"⇣"},{title:e("leftwards arrow to bar"),character:"⇤"},{title:e("rightwards arrow to bar"),character:"⇥"},{title:e("upwards arrow to bar"),character:"⤒"},{title:e("downwards arrow to bar"),character:"⤓"},{title:e("up down arrow with base"),character:"↨"},{title:e("back with leftwards arrow above"),character:"🔙"},{title:e("end with leftwards arrow above"),character:"🔚"},{title:e("on with exclamation mark with left right arrow above"),character:"🔛"},{title:e("soon with rightwards arrow above"),character:"🔜"},{title:e("top with upwards arrow above"),character:"🔝"}])}}class kI extends Cw{init(){const t=this.editor;const e=t.t;t.plugins.get("SpecialCharacters").addItems("Latin",[{character:"Ā",title:e("Latin capital letter a with macron")},{character:"ā",title:e("Latin small letter a with macron")},{character:"Ă",title:e("Latin capital letter a with breve")},{character:"ă",title:e("Latin small letter a with breve")},{character:"Ą",title:e("Latin capital letter a with ogonek")},{character:"ą",title:e("Latin small letter a with ogonek")},{character:"Ć",title:e("Latin capital letter c with acute")},{character:"ć",title:e("Latin small letter c with acute")},{character:"Ĉ",title:e("Latin capital letter c with circumflex")},{character:"ĉ",title:e("Latin small letter c with circumflex")},{character:"Ċ",title:e("Latin capital letter c with dot above")},{character:"ċ",title:e("Latin small letter c with dot above")},{character:"Č",title:e("Latin capital letter c with caron")},{character:"č",title:e("Latin small letter c with caron")},{character:"Ď",title:e("Latin capital letter d with caron")},{character:"ď",title:e("Latin small letter d with caron")},{character:"Đ",title:e("Latin capital letter d with stroke")},{character:"đ",title:e("Latin small letter d with stroke")},{character:"Ē",title:e("Latin capital letter e with macron")},{character:"ē",title:e("Latin small letter e with macron")},{character:"Ĕ",title:e("Latin capital letter e with breve")},{character:"ĕ",title:e("Latin small letter e with breve")},{character:"Ė",title:e("Latin capital letter e with dot above")},{character:"ė",title:e("Latin small letter e with dot above")},{character:"Ę",title:e("Latin capital letter e with ogonek")},{character:"ę",title:e("Latin small letter e with ogonek")},{character:"Ě",title:e("Latin capital letter e with caron")},{character:"ě",title:e("Latin small letter e with caron")},{character:"Ĝ",title:e("Latin capital letter g with circumflex")},{character:"ĝ",title:e("Latin small letter g with circumflex")},{character:"Ğ",title:e("Latin capital letter g with breve")},{character:"ğ",title:e("Latin small letter g with breve")},{character:"Ġ",title:e("Latin capital letter g with dot above")},{character:"ġ",title:e("Latin small letter g with dot above")},{character:"Ģ",title:e("Latin capital letter g with cedilla")},{character:"ģ",title:e("Latin small letter g with cedilla")},{character:"Ĥ",title:e("Latin capital letter h with circumflex")},{character:"ĥ",title:e("Latin small letter h with circumflex")},{character:"Ħ",title:e("Latin capital letter h with stroke")},{character:"ħ",title:e("Latin small letter h with stroke")},{character:"Ĩ",title:e("Latin capital letter i with tilde")},{character:"ĩ",title:e("Latin small letter i with tilde")},{character:"Ī",title:e("Latin capital letter i with macron")},{character:"ī",title:e("Latin small letter i with macron")},{character:"Ĭ",title:e("Latin capital letter i with breve")},{character:"ĭ",title:e("Latin small letter i with breve")},{character:"Į",title:e("Latin capital letter i with ogonek")},{character:"į",title:e("Latin small letter i with ogonek")},{character:"İ",title:e("Latin capital letter i with dot above")},{character:"ı",title:e("Latin small letter dotless i")},{character:"IJ",title:e("Latin capital ligature ij")},{character:"ij",title:e("Latin small ligature ij")},{character:"Ĵ",title:e("Latin capital letter j with circumflex")},{character:"ĵ",title:e("Latin small letter j with circumflex")},{character:"Ķ",title:e("Latin capital letter k with cedilla")},{character:"ķ",title:e("Latin small letter k with cedilla")},{character:"ĸ",title:e("Latin small letter kra")},{character:"Ĺ",title:e("Latin capital letter l with acute")},{character:"ĺ",title:e("Latin small letter l with acute")},{character:"Ļ",title:e("Latin capital letter l with cedilla")},{character:"ļ",title:e("Latin small letter l with cedilla")},{character:"Ľ",title:e("Latin capital letter l with caron")},{character:"ľ",title:e("Latin small letter l with caron")},{character:"Ŀ",title:e("Latin capital letter l with middle dot")},{character:"ŀ",title:e("Latin small letter l with middle dot")},{character:"Ł",title:e("Latin capital letter l with stroke")},{character:"ł",title:e("Latin small letter l with stroke")},{character:"Ń",title:e("Latin capital letter n with acute")},{character:"ń",title:e("Latin small letter n with acute")},{character:"Ņ",title:e("Latin capital letter n with cedilla")},{character:"ņ",title:e("Latin small letter n with cedilla")},{character:"Ň",title:e("Latin capital letter n with caron")},{character:"ň",title:e("Latin small letter n with caron")},{character:"ʼn",title:e("Latin small letter n preceded by apostrophe")},{character:"Ŋ",title:e("Latin capital letter eng")},{character:"ŋ",title:e("Latin small letter eng")},{character:"Ō",title:e("Latin capital letter o with macron")},{character:"ō",title:e("Latin small letter o with macron")},{character:"Ŏ",title:e("Latin capital letter o with breve")},{character:"ŏ",title:e("Latin small letter o with breve")},{character:"Ő",title:e("Latin capital letter o with double acute")},{character:"ő",title:e("Latin small letter o with double acute")},{character:"Œ",title:e("Latin capital ligature oe")},{character:"œ",title:e("Latin small ligature oe")},{character:"Ŕ",title:e("Latin capital letter r with acute")},{character:"ŕ",title:e("Latin small letter r with acute")},{character:"Ŗ",title:e("Latin capital letter r with cedilla")},{character:"ŗ",title:e("Latin small letter r with cedilla")},{character:"Ř",title:e("Latin capital letter r with caron")},{character:"ř",title:e("Latin small letter r with caron")},{character:"Ś",title:e("Latin capital letter s with acute")},{character:"ś",title:e("Latin small letter s with acute")},{character:"Ŝ",title:e("Latin capital letter s with circumflex")},{character:"ŝ",title:e("Latin small letter s with circumflex")},{character:"Ş",title:e("Latin capital letter s with cedilla")},{character:"ş",title:e("Latin small letter s with cedilla")},{character:"Š",title:e("Latin capital letter s with caron")},{character:"š",title:e("Latin small letter s with caron")},{character:"Ţ",title:e("Latin capital letter t with cedilla")},{character:"ţ",title:e("Latin small letter t with cedilla")},{character:"Ť",title:e("Latin capital letter t with caron")},{character:"ť",title:e("Latin small letter t with caron")},{character:"Ŧ",title:e("Latin capital letter t with stroke")},{character:"ŧ",title:e("Latin small letter t with stroke")},{character:"Ũ",title:e("Latin capital letter u with tilde")},{character:"ũ",title:e("Latin small letter u with tilde")},{character:"Ū",title:e("Latin capital letter u with macron")},{character:"ū",title:e("Latin small letter u with macron")},{character:"Ŭ",title:e("Latin capital letter u with breve")},{character:"ŭ",title:e("Latin small letter u with breve")},{character:"Ů",title:e("Latin capital letter u with ring above")},{character:"ů",title:e("Latin small letter u with ring above")},{character:"Ű",title:e("Latin capital letter u with double acute")},{character:"ű",title:e("Latin small letter u with double acute")},{character:"Ų",title:e("Latin capital letter u with ogonek")},{character:"ų",title:e("Latin small letter u with ogonek")},{character:"Ŵ",title:e("Latin capital letter w with circumflex")},{character:"ŵ",title:e("Latin small letter w with circumflex")},{character:"Ŷ",title:e("Latin capital letter y with circumflex")},{character:"ŷ",title:e("Latin small letter y with circumflex")},{character:"Ÿ",title:e("Latin capital letter y with diaeresis")},{character:"Ź",title:e("Latin capital letter z with acute")},{character:"ź",title:e("Latin small letter z with acute")},{character:"Ż",title:e("Latin capital letter z with dot above")},{character:"ż",title:e("Latin small letter z with dot above")},{character:"Ž",title:e("Latin capital letter z with caron")},{character:"ž",title:e("Latin small letter z with caron")},{character:"ſ",title:e("Latin small letter long s")}])}}class _I extends Cw{init(){const t=this.editor;const e=t.t;t.plugins.get("SpecialCharacters").addItems("Text",[{character:"",title:e("Single left-pointing angle quotation mark")},{character:"",title:e("Single right-pointing angle quotation mark")},{character:"«",title:e("Left-pointing double angle quotation mark")},{character:"»",title:e("Right-pointing double angle quotation mark")},{character:"",title:e("Left single quotation mark")},{character:"",title:e("Right single quotation mark")},{character:"“",title:e("Left double quotation mark")},{character:"”",title:e("Right double quotation mark")},{character:"",title:e("Single low-9 quotation mark")},{character:"„",title:e("Double low-9 quotation mark")},{character:"¡",title:e("Inverted exclamation mark")},{character:"¿",title:e("Inverted question mark")},{character:"‥",title:e("Two dot leader")},{character:"…",title:e("Horizontal ellipsis")},{character:"‡",title:e("Double dagger")},{character:"‰",title:e("Per mille sign")},{character:"‱",title:e("Per ten thousand sign")},{character:"‼",title:e("Double exclamation mark")},{character:"⁈",title:e("Question exclamation mark")},{character:"⁉",title:e("Exclamation question mark")},{character:"⁇",title:e("Double question mark")},{character:"©",title:e("Copyright sign")},{character:"®",title:e("Registered sign")},{character:"™",title:e("Trade mark sign")},{character:"§",title:e("Section sign")},{character:"¶",title:e("Paragraph sign")},{character:"⁋",title:e("Reversed paragraph sign")}])}}class vI extends Cw{static get requires(){return[pI,_I,bI,wI,kI]}}const yI="strikethrough";class xI extends Cw{static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:yI});t.model.schema.setAttributeProperties(yI,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:yI,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]});t.commands.add(yI,new sk(t,yI));t.keystrokes.set("CTRL+SHIFT+X","strikethrough")}}var CI='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 16.4c-.8-.4-1.5-.9-2.2-1.5a.6.6 0 0 1-.2-.5l.3-.6h1c1 1.2 2.1 1.7 3.7 1.7 1 0 1.8-.3 2.3-.6.6-.4.6-1.2.6-1.3.2-1.2-.9-2.1-.9-2.1h2.1c.3.7.4 1.2.4 1.7v.8l-.6 1.2c-.6.8-1.1 1-1.6 1.2a6 6 0 0 1-2.4.6c-1 0-1.8-.3-2.5-.6zM6.8 9L6 8.3c-.4-.5-.5-.8-.5-1.6 0-.7.1-1.3.5-1.8.4-.6 1-1 1.6-1.3a6.3 6.3 0 0 1 4.7 0 4 4 0 0 1 1.7 1l.3.7c0 .1.2.4-.2.7-.4.2-.9.1-1 0a3 3 0 0 0-1.2-1c-.4-.2-1-.3-2-.4-.7 0-1.4.2-2 .6-.8.6-1 .8-1 1.5 0 .8.5 1 1.2 1.5.6.4 1.1.7 1.9 1H6.8z"/><path d="M3 10.5V9h14v1.5z"/></svg>';const AI="strikethrough";class TI extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(AI,n=>{const i=t.commands.get(AI);const o=new Gb(n);o.set({label:e("Strikethrough"),icon:CI,keystroke:"CTRL+SHIFT+X",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute(AI);t.editing.view.focus()});return o})}}class SI extends Cw{static get requires(){return[xI,TI]}static get pluginName(){return"Strikethrough"}}function PI(t,e){let n=e.parent;while(n){if(n.name===t){return n}n=n.parent}}function EI(t,e,n,i,o=1){if(e>o){i.setAttribute(t,e,n)}else{i.removeAttribute(t,n)}}function MI(t,e,n={}){const i=t.createElement("tableCell",n);t.insertElement("paragraph",i);t.insert(i,e)}function II(t){if(!t||!ct(t)){return t}const{top:e,right:n,bottom:i,left:o}=t;if(e==n&&n==i&&i==o){return e}}function NI(t,e){const n=parseFloat(t);if(Number.isNaN(n)){return t}if(String(n)!==String(t)){return t}return`${n}${e}`}function OI(t,e){const n=e.parent.parent;const i=parseInt(n.getAttribute("headingColumns")||0);const{column:o}=t.getCellLocation(e);return!!i&&o<i}function RI(){return t=>{t.on("element:table",(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const{rows:o,headingRows:r,headingColumns:s}=DI(i);const a={};if(s){a.headingColumns=s}if(r){a.headingRows=r}const c=n.writer.createElement("table",a);const l=n.splitToAllowedParent(c,e.modelCursor);if(!l){return}n.writer.insert(c,l.position);n.consumable.consume(i,{name:true});o.forEach(t=>n.convertItem(t,n.writer.createPositionAt(c,"end")));if(c.isEmpty){const t=n.writer.createElement("tableRow");n.writer.insert(t,n.writer.createPositionAt(c,"end"));MI(n.writer,n.writer.createPositionAt(t,"end"))}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(c),n.writer.createPositionAfter(c));if(l.cursorParent){e.modelCursor=n.writer.createPositionAt(l.cursorParent,0)}else{e.modelCursor=e.modelRange.end}})}}function LI(){return t=>{t.on("element:tr",(t,e)=>{if(e.viewItem.isEmpty){t.stop()}},{priority:"high"})}}function VI(t){return e=>{e.on(`element:${t}`,(t,e,n)=>{const i=e.viewItem;if(!n.consumable.test(i,{name:true})){return}const o=n.writer.createElement("tableCell");const r=n.splitToAllowedParent(o,e.modelCursor);if(!r){return}n.writer.insert(o,r.position);n.consumable.consume(i,{name:true});const s=n.writer.createPositionAt(o,0);n.convertChildren(i,s);if(!o.childCount){n.writer.insertElement("paragraph",s)}e.modelRange=n.writer.createRange(n.writer.createPositionBefore(o),n.writer.createPositionAfter(o));e.modelCursor=e.modelRange.end})}}function DI(t){const e={headingRows:0,headingColumns:0};const n=[];const i=[];let o;for(const r of Array.from(t.getChildren())){if(r.name==="tbody"||r.name==="thead"||r.name==="tfoot"){if(r.name==="thead"&&!o){o=r}const t=Array.from(r.getChildren()).filter(t=>t.is("element","tr"));for(const r of t){if(r.parent.name==="thead"&&r.parent===o){e.headingRows++;n.push(r)}else{i.push(r);const t=zI(r,e,o);if(t>e.headingColumns){e.headingColumns=t}}}}}e.rows=[...n,...i];return e}function zI(t){let e=0;let n=0;const i=Array.from(t.getChildren()).filter(t=>t.name==="th"||t.name==="td");while(n<i.length&&i[n].name==="th"){const t=i[n];const o=parseInt(t.getAttribute("colspan")||1);e=e+o;n++}return e}class BI{constructor(t,e={}){this.table=t;this.startRow=e.startRow||0;this.endRow=typeof e.endRow=="number"?e.endRow:undefined;this.includeSpanned=!!e.includeSpanned;this.column=typeof e.column=="number"?e.column:undefined;this._skipRows=new Set;this._row=0;this._column=0;this._cellIndex=0;this._spannedCells=new Map;this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){const t=this.table.getChild(this._row);if(!t||this._isOverEndRow()){return{done:true}}let e,n,i;if(this._isSpanned(this._row,this._column)){e=this._getSpanned(this._row,this._column);n=!this.includeSpanned||this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,true)}else{e=t.getChild(this._cellIndex);if(!e){this._row++;this._column=0;this._cellIndex=0;this._nextCellAtColumn=-1;return this.next()}const o=parseInt(e.getAttribute("colspan")||1);const r=parseInt(e.getAttribute("rowspan")||1);if(o>1||r>1){this._recordSpans(this._row,this._column,r,o,e)}this._nextCellAtColumn=this._column+o;n=this._shouldSkipRow()||this._shouldSkipColumn();i=this._formatOutValue(e,this._column,false,r,o)}this._column++;if(this._column==this._nextCellAtColumn){this._cellIndex++}return n?this.next():i}skipRow(t){this._skipRows.add(t)}_isOverEndRow(){return this.endRow!==undefined&&this._row>this.endRow}_formatOutValue(t,e,n,i=1,o=1){return{done:false,value:{cell:t,row:this._row,column:e,isSpanned:n,rowspan:i,colspan:o,cellIndex:this._cellIndex}}}_shouldSkipRow(){const t=this._row<this.startRow;const e=this._skipRows.has(this._row);return t||e}_shouldSkipColumn(){if(this.column===undefined){return false}return this.column!=this._column}_isSpanned(t,e){if(!this._spannedCells.has(t)){return false}const n=this._spannedCells.get(t);return n.has(e)}_getSpanned(t,e){return this._spannedCells.get(t).get(e)}_recordSpans(t,e,n,i,o){for(let n=e+1;n<=e+i-1;n++){this._markSpannedCell(t,n,o)}for(let r=t+1;r<t+n;r++){for(let t=e;t<=e+i-1;t++){this._markSpannedCell(r,t,o)}}}_markSpannedCell(t,e,n){if(!this._spannedCells.has(t)){this._spannedCells.set(t,new Map)}const i=this._spannedCells.get(t);i.set(e,n)}}function jI(t,e){e.setCustomProperty("table",true,t);return Nk(t,e,{hasSelectionHandle:true})}function FI(t){return!!t.getCustomProperty("table")&&Ik(t)}function HI(t){const e=t.getSelectedElement();if(e&&FI(e)){return e}return null}function UI(t){const e=PI("table",t.getFirstPosition());if(e&&FI(e.parent)){return e.parent}return null}function qI(t){const e=[];for(const n of eN(t.getRanges())){const t=n.getContainedElement();if(t&&t.is("tableCell")){e.push(t)}}return e}function WI(t){const e=[];for(const n of t.getRanges()){const t=PI("tableCell",n.start);if(t){e.push(t)}}return e}function $I(t){const e=qI(t);if(e.length){return e}return WI(t)}function GI(t){const e=t.map(t=>t.parent.index);return tN(e)}function YI(t){const e=PI("table",t[0]);const n=[...new BI(e)];const i=n.filter(e=>t.includes(e.cell)).map(t=>t.column);return tN(i)}function KI(t,e){if(t.length<2||!oN(t)){return false}const n=new Set;const i=new Set;let o=0;for(const r of t){const{row:t,column:s}=e.getCellLocation(r);const a=parseInt(r.getAttribute("rowspan")||1);const c=parseInt(r.getAttribute("colspan")||1);n.add(t);i.add(s);if(a>1){n.add(t+a-1)}if(c>1){i.add(s+c-1)}o+=a*c}const r=iN(n,i);return r==o}function QI(t,e,n=0){const i=[];const o=new BI(t,{startRow:n,endRow:e-1});for(const t of o){const{row:n,rowspan:o}=t;const r=n+o-1;if(n<e&&e<=r){i.push(t)}}return i}function JI(t,e,n){const i=t.parent;const o=i.parent;const r=i.index;const s=parseInt(t.getAttribute("rowspan"));const a=e-r;const c={};const l=s-a;if(l>1){c.rowspan=l}const d=parseInt(t.getAttribute("colspan")||1);if(d>1){c.colspan=d}const u=r;const h=u+a;const f=[...new BI(o,{startRow:u,endRow:h,includeSpanned:true})];let m;for(const{row:e,column:i,cell:r,cellIndex:s}of f){if(r===t&&m===undefined){m=i}if(m!==undefined&&m===i&&e===h){const t=o.getChild(e);const i=n.createPositionAt(t,s);MI(n,i,c)}}EI("rowspan",a,t,n)}function ZI(t,e){const n=[];const i=new BI(t);for(const t of i){const{column:i,colspan:o}=t;const r=i+o-1;if(i<e&&e<=r){n.push(t)}}return n}function XI(t,e,n,i){const o=parseInt(t.getAttribute("colspan"));const r=n-e;const s={};const a=o-r;if(a>1){s.colspan=a}const c=parseInt(t.getAttribute("rowspan")||1);if(c>1){s.rowspan=c}MI(i,i.createPositionAfter(t),s);EI("colspan",r,t,i)}function tN(t){const e=t.sort((t,e)=>t-e);const n=e[0];const i=e[e.length-1];return{first:n,last:i}}function eN(t){return Array.from(t).sort(nN)}function nN(t,e){const n=t.start;const i=e.start;return n.isBefore(i)?-1:1}function iN(t,e){const n=Array.from(t.values());const i=Array.from(e.values());const o=Math.max(...n);const r=Math.min(...n);const s=Math.max(...i);const a=Math.min(...i);return(o-r+1)*(s-a+1)}function oN(t){const e=PI("table",t[0]);const n=GI(t);const i=parseInt(e.getAttribute("headingRows")||0);if(!rN(n,i)){return false}const o=parseInt(e.getAttribute("headingColumns")||0);const r=YI(t);return rN(r,o)}function rN({first:t,last:e},n){const i=t<n;const o=e<n;return i===o}function sN(t={}){return e=>e.on("insert:table",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,"insert")){return}i.consumable.consume(o,"attribute:headingRows:table");i.consumable.consume(o,"attribute:headingColumns:table");const r=t&&t.asWidget;const s=i.writer.createContainerElement("figure",{class:"table"});const a=i.writer.createContainerElement("table");i.writer.insert(i.writer.createPositionAt(s,0),a);let c;if(r){c=jI(s,i.writer)}const l=new BI(o);const d={headingRows:o.getAttribute("headingRows")||0,headingColumns:o.getAttribute("headingColumns")||0};const u=new Map;for(const e of l){const{row:n,cell:r}=e;const s=wN(bN(n,d),a,i);const c=o.getChild(n);const l=u.get(n)||gN(c,n,s,i);u.set(n,l);i.consumable.consume(r,"insert");const h=i.writer.createPositionAt(l,"end");mN(e,d,h,i,t)}const h=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(o,r?c:s);i.writer.insert(h,r?c:s)})}function aN(t={}){return e=>e.on("insert:tableRow",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,"insert")){return}const r=o.parent;const s=i.mapper.toViewElement(r);const a=xN(s);const c=r.getChildIndex(o);const l=new BI(r,{startRow:c,endRow:c});const d={headingRows:r.getAttribute("headingRows")||0,headingColumns:r.getAttribute("headingColumns")||0};const u=new Map;for(const e of l){const n=wN(bN(c,d),a,i);const r=u.get(c)||gN(o,c,n,i);u.set(c,r);i.consumable.consume(e.cell,"insert");const s=i.writer.createPositionAt(r,"end");mN(e,d,s,i,t)}})}function cN(t={}){return e=>e.on("insert:tableCell",(e,n,i)=>{const o=n.item;if(!i.consumable.consume(o,"insert")){return}const r=o.parent;const s=r.parent;const a=s.getChildIndex(r);const c=new BI(s,{startRow:a,endRow:a});const l={headingRows:s.getAttribute("headingRows")||0,headingColumns:s.getAttribute("headingColumns")||0};for(const e of c){if(e.cell===o){const n=i.mapper.toViewElement(r);const s=i.writer.createPositionAt(n,r.getChildIndex(o));mN(e,l,s,i,t);return}}})}function lN(t={}){const e=!!t.asWidget;return t=>t.on("attribute:headingRows:table",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const r=i.mapper.toViewElement(o);const s=xN(r);const a=n.attributeOldValue;const c=n.attributeNewValue;if(c>a){const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,a-1,c));const n=wN("thead",s,i);yN(t,n,i,"end");for(const n of t){for(const t of n.getChildren()){hN(t,"th",i,e)}}}else{const t=Array.from(o.getChildren()).filter(({index:t})=>l(t,c-1,a)).reverse();const n=wN("tbody",s,i);yN(t,n,i,0);const r=new BI(o,{startRow:c?c-1:c,endRow:a-1});const d={headingRows:o.getAttribute("headingRows")||0,headingColumns:o.getAttribute("headingColumns")||0};for(const t of r){fN(t,d,i,e)}}vN("thead",s,i);vN("tbody",s,i);function l(t,e,n){return t>e&&t<n}})}function dN(t={}){const e=!!t.asWidget;return t=>t.on("attribute:headingColumns:table",(t,n,i)=>{const o=n.item;if(!i.consumable.consume(n.item,t.name)){return}const r={headingRows:o.getAttribute("headingRows")||0,headingColumns:o.getAttribute("headingColumns")||0};const s=n.attributeOldValue;const a=n.attributeNewValue;const c=(s>a?s:a)-1;for(const t of new BI(o)){if(t.column>c){continue}fN(t,r,i,e)}})}function uN(){return t=>t.on("remove:tableRow",(t,e,n)=>{t.stop();const i=n.writer;const o=n.mapper;const r=o.toViewPosition(e.position).getLastMatchingPosition(t=>!t.item.is("tr"));const s=r.nodeAfter;const a=s.parent;const c=a.parent;const l=i.createRangeOn(s);const d=i.remove(l);for(const t of i.createRangeIn(d).getItems()){o.unbindViewElement(t)}vN("thead",c,n);vN("tbody",c,n)},{priority:"higher"})}function hN(t,e,n,i){const o=n.writer;const r=n.mapper.toViewElement(t);if(!r){return}let s;if(i){const t=o.createEditableElement(e,r.getAttributes());s=Vk(t,o);o.insert(o.createPositionAfter(r),s);o.move(o.createRangeIn(r),o.createPositionAt(s,0));o.remove(o.createRangeOn(r))}else{s=o.rename(e,r)}n.mapper.unbindViewElement(r);n.mapper.bindElements(t,s)}function fN(t,e,n,i){const{cell:o}=t;const r=pN(t,e);const s=n.mapper.toViewElement(o);if(s&&s.name!==r){hN(o,r,n,i)}}function mN(t,e,n,i,o){const r=o&&o.asWidget;const s=pN(t,e);const a=r?Vk(i.writer.createEditableElement(s),i.writer):i.writer.createContainerElement(s);const c=t.cell;const l=c.getChild(0);const d=c.childCount===1&&l.name==="paragraph";i.writer.insert(n,a);if(d&&!CN(l)){const t=c.getChild(0);const e=i.writer.createPositionAt(a,"end");i.consumable.consume(t,"insert");if(o.asWidget){const n=i.writer.createContainerElement("span",{style:"display:inline-block"});i.mapper.bindElements(t,n);i.writer.insert(e,n);i.mapper.bindElements(c,a)}else{i.mapper.bindElements(c,a);i.mapper.bindElements(t,a)}}else{i.mapper.bindElements(c,a)}}function gN(t,e,n,i){i.consumable.consume(t,"insert");const o=i.writer.createContainerElement("tr");i.mapper.bindElements(t,o);const r=t.parent.getAttribute("headingRows")||0;const s=r>0&&e>=r?e-r:e;const a=i.writer.createPositionAt(n,s);i.writer.insert(a,o);return o}function pN(t,e){const{row:n,column:i}=t;const{headingColumns:o,headingRows:r}=e;const s=r&&r>n;if(s){return"th"}const a=o&&o>i;return a?"th":"td"}function bN(t,e){return t<e.headingRows?"thead":"tbody"}function wN(t,e,n){const i=kN(t,e);return i?i:_N(t,e,n)}function kN(t,e){for(const n of e.getChildren()){if(n.name==t){return n}}}function _N(t,e,n){const i=n.writer.createContainerElement(t);const o=n.writer.createPositionAt(e,t=="tbody"?"end":0);n.writer.insert(o,i);return i}function vN(t,e,n){const i=kN(t,e);if(i&&i.childCount===0){n.writer.remove(n.writer.createRangeOn(i))}}function yN(t,e,n,i){for(const o of t){const t=n.mapper.toViewElement(o);if(t){n.writer.move(n.writer.createRangeOn(t),n.writer.createPositionAt(e,i))}}}function xN(t){for(const e of t.getChildren()){if(e.name==="table"){return e}}}function CN(t){return!![...t.getAttributeKeys()].length}class AN extends Tw{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const i=TN(e.getFirstPosition());this.isEnabled=n.checkChild(i,"table")}execute(t={}){const e=this.editor.model;const n=e.document.selection;const i=this.editor.plugins.get("TableUtils");const o=parseInt(t.rows)||2;const r=parseInt(t.columns)||2;const s=Dk(n,e);e.change(t=>{const n=i.createTable(t,o,r);e.insertContent(n,s);t.setSelection(t.createPositionAt(n.getNodeByPath([0,0,0]),0))})}}function TN(t){const e=t.parent;return e===e.root?e:e.parent}class SN extends Tw{constructor(t,e={}){super(t);this.order=e.order||"below"}refresh(){const t=this.editor.model.document.selection;const e=PI("table",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get("TableUtils");const i=this.order==="above";const o=$I(e);const r=GI(o);const s=i?r.first:r.last;const a=PI("table",o[0]);n.insertRows(a,{at:i?s:s+1,copyStructureFromAbove:!i})}}class PN extends Tw{constructor(t,e={}){super(t);this.order=e.order||"right"}refresh(){const t=this.editor.model.document.selection;const e=PI("table",t.getFirstPosition());this.isEnabled=!!e}execute(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get("TableUtils");const i=this.order==="left";const o=$I(e);const r=YI(o);const s=i?r.first:r.last;const a=PI("table",o[0]);n.insertColumns(a,{columns:1,at:i?s:s+1})}}class EN extends Tw{constructor(t,e={}){super(t);this.direction=e.direction||"horizontally"}refresh(){const t=$I(this.editor.model.document.selection);this.isEnabled=t.length===1}execute(){const t=$I(this.editor.model.document.selection)[0];const e=this.direction==="horizontally";const n=this.editor.plugins.get("TableUtils");if(e){n.splitCellHorizontally(t,2)}else{n.splitCellVertically(t,2)}}}class MN extends Tw{constructor(t,e){super(t);this.direction=e.direction;this.isHorizontal=this.direction=="right"||this.direction=="left"}refresh(){const t=this._getMergeableCell();this.value=t;this.isEnabled=!!t}execute(){const t=this.editor.model;const e=t.document;const n=WI(e.selection)[0];const i=this.value;const o=this.direction;t.change(t=>{const e=o=="right"||o=="down";const r=e?n:i;const s=e?i:n;const a=s.parent;ON(s,r,t);const c=this.isHorizontal?"colspan":"rowspan";const l=parseInt(n.getAttribute(c)||1);const d=parseInt(i.getAttribute(c)||1);t.setAttribute(c,l+d,r);t.setSelection(t.createRangeIn(r));if(!a.childCount){const e=this.editor.plugins.get("TableUtils");const n=PI("table",a);e.removeRows(n,{at:a.index,batch:t.batch})}})}_getMergeableCell(){const t=this.editor.model;const e=t.document;const n=WI(e.selection)[0];if(!n){return}const i=this.editor.plugins.get("TableUtils");const o=this.isHorizontal?IN(n,this.direction,i):NN(n,this.direction);if(!o){return}const r=this.isHorizontal?"rowspan":"colspan";const s=parseInt(n.getAttribute(r)||1);const a=parseInt(o.getAttribute(r)||1);if(a===s){return o}}}function IN(t,e,n){const i=t.parent;const o=i.parent;const r=e=="right"?t.nextSibling:t.previousSibling;const s=(o.getAttribute("headingColumns")||0)>0;if(!r){return}const a=e=="right"?t:r;const c=e=="right"?r:t;const{column:l}=n.getCellLocation(a);const{column:d}=n.getCellLocation(c);const u=parseInt(a.getAttribute("colspan")||1);const h=OI(n,a,o);const f=OI(n,c,o);if(s&&h!=f){return}const m=l+u===d;return m?r:undefined}function NN(t,e){const n=t.parent;const i=n.parent;const o=i.getChildIndex(n);if(e=="down"&&o===i.childCount-1||e=="up"&&o===0){return}const r=parseInt(t.getAttribute("rowspan")||1);const s=i.getAttribute("headingRows")||0;const a=e=="down"&&o+r===s;const c=e=="up"&&o===s;if(s&&(a||c)){return}const l=parseInt(t.getAttribute("rowspan")||1);const d=e=="down"?o+l:o;const u=[...new BI(i,{endRow:d})];const h=u.find(e=>e.cell===t);const f=h.column;const m=u.find(({row:t,rowspan:n,column:i})=>{if(i!==f){return false}if(e=="down"){return t===d}else{return d===t+n}});return m&&m.cell}function ON(t,e,n){if(!RN(t)){if(RN(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,"end"))}n.remove(t)}function RN(t){return t.childCount==1&&t.getChild(0).is("paragraph")&&t.getChild(0).isEmpty}class LN extends Tw{refresh(){const t=$I(this.editor.model.document.selection);const e=t[0];if(e){const n=PI("table",e);const i=this.editor.plugins.get("TableUtils").getRows(n);const o=i-1;const r=GI(t);const s=r.first===0&&r.last===o;this.isEnabled=!s}else{this.isEnabled=false}}execute(){const t=this.editor.model;const e=$I(t.document.selection);const n=GI(e);const i=e[0];const o=PI("table",i);const r=this.editor.plugins.get("TableUtils").getCellLocation(i).column;const s=t.createBatch();t.enqueueChange(s,t=>{t.setSelection(t.createSelection(o,"on"));const e=n.last-n.first+1;this.editor.plugins.get("TableUtils").removeRows(o,{at:n.first,rows:e,batch:s})});t.enqueueChange(s,t=>{const e=VN(o,n.first,r);t.setSelection(t.createPositionAt(e,0))})}}function VN(t,e,n){const i=t.getChild(e)||t.getChild(t.childCount-1);let o=i.getChild(0);let r=0;for(const t of i.getChildren()){if(r>n){return o}o=t;r+=parseInt(t.getAttribute("colspan")||1)}return o}class DN extends Tw{refresh(){const t=$I(this.editor.model.document.selection);const e=t[0];if(e){const n=PI("table",e);const i=this.editor.plugins.get("TableUtils").getColumns(n);const{first:o,last:r}=YI(t);this.isEnabled=r-o<i-1}else{this.isEnabled=false}}execute(){const[t,e]=BN(this.editor.model.document.selection);const n=t.parent.parent;const i=[...new BI(n)];const o={first:i.find(e=>e.cell===t).column,last:i.find(t=>t.cell===e).column};const r=zN(i,t,e,o);this.editor.model.change(t=>{const e=o.last-o.first+1;this.editor.plugins.get("TableUtils").removeColumns(n,{at:o.first,columns:e});t.setSelection(t.createPositionAt(r,0))})}}function zN(t,e,n,i){const o=parseInt(n.getAttribute("colspan")||1);if(o>1){return n}else if(e.previousSibling||n.nextSibling){return n.nextSibling||e.previousSibling}else{if(i.first){return t.reverse().find(({column:t})=>t<i.first).cell}else{return t.reverse().find(({column:t})=>t>i.last).cell}}}function BN(t){const e=$I(t);const n=e[0];const i=e.pop();const o=[n,i];return n.isBefore(i)?o:o.reverse()}class jN extends Tw{refresh(){const t=this.editor.model;const e=$I(t.document.selection);const n=e.length>0;this.isEnabled=n;this.value=n&&e.every(t=>this._isInHeading(t,t.parent.parent))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=$I(e.document.selection);const i=PI("table",n[0]);const{first:o,last:r}=GI(n);const s=this.value?o:r+1;const a=i.getAttribute("headingRows")||0;e.change(t=>{if(s){const e=s>a?a:0;const n=QI(i,s,e);for(const{cell:e}of n){JI(e,s,t)}}EI("headingRows",s,i,t,0)})}_isInHeading(t,e){const n=parseInt(e.getAttribute("headingRows")||0);return!!n&&t.parent.index<n}}class FN extends Tw{refresh(){const t=this.editor.model;const e=$I(t.document.selection);const n=this.editor.plugins.get("TableUtils");const i=e.length>0;this.isEnabled=i;this.value=i&&e.every(t=>OI(n,t))}execute(t={}){if(t.forceValue===this.value){return}const e=this.editor.model;const n=$I(e.document.selection);const i=PI("table",n[0]);const{first:o,last:r}=YI(n);const s=this.value?o:r+1;e.change(t=>{if(s){const e=ZI(i,s);for(const{cell:n,column:i}of e){XI(n,i,s,t)}}EI("headingColumns",s,i,t,0)})}}class HN extends Cw{static get pluginName(){return"TableUtils"}getCellLocation(t){const e=t.parent;const n=e.parent;const i=n.getChildIndex(e);const o=new BI(n,{startRow:i,endRow:i});for(const{cell:e,row:n,column:i}of o){if(e===t){return{row:n,column:i}}}}createTable(t,e,n){const i=t.createElement("table");UN(t,i,0,e,n);return i}insertRows(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.rows||1;const r=e.copyStructureFromAbove!==undefined;const s=e.copyStructureFromAbove?i-1:i;const a=this.getRows(t);const c=this.getColumns(t);n.change(e=>{const n=t.getAttribute("headingRows")||0;if(n>i){e.setAttribute("headingRows",n+o,t)}if(!r&&(i===0||i===a)){UN(e,t,i,o,c);return}const l=r?Math.max(i,s):i;const d=new BI(t,{endRow:l});const u=new Array(c).fill(1);for(const{row:t,column:n,rowspan:a,colspan:c,cell:l}of d){const d=t+a-1;const h=t<i&&i<=d;const f=t<=s&&s<=d;if(h){e.setAttribute("rowspan",a+o,l);u[n]=-c}else if(r&&f){u[n]=c}}for(let n=0;n<o;n++){const n=e.createElement("tableRow");e.insert(n,t,i);for(let t=0;t<u.length;t++){const i=u[t];const o=e.createPositionAt(n,"end");if(i>0){MI(e,o,i>1?{colspan:i}:null)}t+=Math.abs(i)-1}}})}insertColumns(t,e={}){const n=this.editor.model;const i=e.at||0;const o=e.columns||1;n.change(e=>{const n=t.getAttribute("headingColumns");if(i<n){e.setAttribute("headingColumns",n+o,t)}const r=this.getColumns(t);if(i===0||r===i){for(const n of t.getChildren()){qN(o,e,e.createPositionAt(n,i?"end":0))}return}const s=new BI(t,{column:i,includeSpanned:true});for(const{row:n,cell:r,cellIndex:a}of s){const c=parseInt(r.getAttribute("rowspan")||1);const l=parseInt(r.getAttribute("colspan")||1);if(a!==i&&l>1){e.setAttribute("colspan",l+o,r);s.skipRow(n);if(c>1){for(let t=n+1;t<n+c;t++){s.skipRow(t)}}}else{const i=e.createPositionAt(t.getChild(n),a);qN(o,e,i)}}})}removeRows(t,e){const n=this.editor.model;const i=e.rows||1;const o=e.at;const r=o+i-1;const s=e.batch||"default";n.enqueueChange(s,e=>{const{cellsToMove:i,cellsToTrim:a}=YN(t,o,r);if(i.size){const n=r+1;KN(t,n,i,e)}for(let n=r;n>=o;n--){e.remove(t.getChild(n))}for(const{rowspan:t,cell:n}of a){EI("rowspan",t,n,e)}GN(t,o,r,n,s)})}removeColumns(t,e){const n=this.editor.model;const i=e.at;const o=e.columns||1;const r=e.at+o-1;n.change(e=>{$N(t,{first:i,last:r},e);const n=[];for(let o=r;o>=i;o--){for(const{cell:i,column:r,colspan:s}of[...new BI(t)]){if(r<=o&&s>1&&r+s>o){EI("colspan",s-1,i,e)}else if(r===o){const t=i.parent;e.remove(i);if(!t.childCount){n.push(t.index)}}}}n.reverse().forEach(n=>this.removeRows(t,{at:n,batch:e.batch}))})}splitCellVertically(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const r=parseInt(t.getAttribute("rowspan")||1);const s=parseInt(t.getAttribute("colspan")||1);n.change(n=>{if(s>1){const{newCellsSpan:i,updatedSpan:o}=WN(s,e);EI("colspan",o,t,n);const a={};if(i>1){a.colspan=i}if(r>1){a.rowspan=r}const c=s>e?e-1:s-1;qN(c,n,n.createPositionAfter(t),a)}if(s<e){const i=e-s;const a=[...new BI(o)];const{column:c}=a.find(({cell:e})=>e===t);const l=a.filter(({cell:e,colspan:n,column:i})=>{const o=e!==t&&i===c;const r=i<c&&i+n>c;return o||r});for(const{cell:t,colspan:e}of l){n.setAttribute("colspan",e+i,t)}const d={};if(r>1){d.rowspan=r}qN(i,n,n.createPositionAfter(t),d);const u=o.getAttribute("headingColumns")||0;if(u>c){EI("headingColumns",u+i,o,n)}}})}splitCellHorizontally(t,e=2){const n=this.editor.model;const i=t.parent;const o=i.parent;const r=o.getChildIndex(i);const s=parseInt(t.getAttribute("rowspan")||1);const a=parseInt(t.getAttribute("colspan")||1);n.change(n=>{if(s>1){const i=[...new BI(o,{startRow:r,endRow:r+s-1,includeSpanned:true})];const{newCellsSpan:c,updatedSpan:l}=WN(s,e);EI("rowspan",l,t,n);const{column:d}=i.find(({cell:e})=>e===t);const u={};if(c>1){u.rowspan=c}if(a>1){u.colspan=a}for(const{column:t,row:e,cellIndex:s}of i){const i=e>=r+l;const a=t===d;const h=(e+r+l)%c===0;if(i&&a&&h){const t=n.createPositionAt(o.getChild(e),s);qN(1,n,t,u)}}}if(s<e){const i=e-s;const c=[...new BI(o,{startRow:0,endRow:r})];for(const{cell:e,rowspan:o,row:s}of c){if(e!==t&&s+o>r){const t=o+i;n.setAttribute("rowspan",t,e)}}const l={};if(a>1){l.colspan=a}UN(n,o,r+1,i,1,l);const d=o.getAttribute("headingRows")||0;if(d>r){EI("headingRows",d+i,o,n)}}})}getColumns(t){const e=t.getChild(0);return[...e.getChildren()].reduce((t,e)=>{const n=parseInt(e.getAttribute("colspan")||1);return t+n},0)}getRows(t){return t.childCount}}function UN(t,e,n,i,o,r={}){for(let s=0;s<i;s++){const i=t.createElement("tableRow");t.insert(i,e,n);qN(o,t,t.createPositionAt(i,"end"),r)}}function qN(t,e,n,i={}){for(let o=0;o<t;o++){MI(e,n,i)}}function WN(t,e){if(t<e){return{newCellsSpan:1,updatedSpan:1}}const n=Math.floor(t/e);const i=t-n*e+n;return{newCellsSpan:n,updatedSpan:i}}function $N(t,e,n){const i=t.getAttribute("headingColumns")||0;if(i&&e.first<i){const o=Math.min(i-1,e.last)-e.first+1;n.setAttribute("headingColumns",i-o,t)}}function GN(t,e,n,i,o){i.enqueueChange(o,i=>{const o=t.getAttribute("headingRows")||0;if(e<o){const r=n<o?o-(n-e+1):e;EI("headingRows",r,t,i,0)}})}function YN(t,e,n){const i=new Map;const o=[];for(const{row:r,column:s,rowspan:a,cell:c}of new BI(t,{endRow:n})){const t=r+a-1;const l=r>=e&&r<=n&&t>n;if(l){const t=n-r+1;const e=a-t;i.set(s,{cell:c,rowspan:e})}const d=r<e&&t>=e;if(d){let i;if(t>=n){i=n-e+1}else{i=t-e+1}o.push({cell:c,rowspan:a-i})}}return{cellsToMove:i,cellsToTrim:o}}function KN(t,e,n,i){const o=new BI(t,{includeSpanned:true,startRow:e,endRow:e});const r=[...o];const s=t.getChild(e);let a;for(const{column:t,cell:e,isSpanned:o}of r){if(n.has(t)){const{cell:e,rowspan:o}=n.get(t);const r=a?i.createPositionAfter(a):i.createPositionAt(s,0);i.move(i.createRangeOn(e),r);EI("rowspan",o,e,i);a=e}else if(!o){a=e}}}class QN extends Tw{refresh(){const t=qI(this.editor.model.document.selection);this.isEnabled=KI(t,this.editor.plugins.get(HN))}execute(){const t=this.editor.model;const e=this.editor.plugins.get(HN);t.change(n=>{const i=qI(t.document.selection);const o=i.shift();n.setSelection(o,0);const{mergeWidth:r,mergeHeight:s}=XN(o,i,e);EI("colspan",r,o,n);EI("rowspan",s,o,n);const a=[];for(const t of i){const e=t.parent;JN(t,o,n);if(!e.childCount){a.push(e.index)}}if(a.length){const t=PI("table",o);a.reverse().forEach(i=>e.removeRows(t,{at:i,batch:n.batch}))}n.setSelection(o,"in")})}}function JN(t,e,n){if(!ZN(t)){if(ZN(e)){n.remove(n.createRangeIn(e))}n.move(n.createRangeIn(t),n.createPositionAt(e,"end"))}n.remove(t)}function ZN(t){return t.childCount==1&&t.getChild(0).is("paragraph")&&t.getChild(0).isEmpty}function XN(t,e,n){let i=0;let o=0;for(const t of e){const{row:e,column:r}=n.getCellLocation(t);i=tO(t,r,i,"colspan");o=tO(t,e,o,"rowspan")}const{row:r,column:s}=n.getCellLocation(t);const a=i-s;const c=o-r;return{mergeWidth:a,mergeHeight:c}}function tO(t,e,n,i){const o=parseInt(t.getAttribute(i)||1);return Math.max(n,e+o)}class eO extends Tw{refresh(){const t=$I(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=$I(t.document.selection);const n=GI(e);const i=PI("table",e[0]);const o=[];for(let e=n.first;e<=n.last;e++){for(const n of i.getChild(e).getChildren()){o.push(t.createRangeOn(n))}}t.change(t=>{t.setSelection(o)})}}class nO extends Tw{refresh(){const t=$I(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model;const e=$I(t.document.selection);const n=e[0];const i=e.pop();const o=this.editor.plugins.get("TableUtils");const r=o.getCellLocation(n);const s=o.getCellLocation(i);const a=Math.min(r.column,s.column);const c=Math.max(r.column,s.column);const l=[];for(const e of new BI(PI("table",n))){if(e.column>=a&&e.column<=c){l.push(t.createRangeOn(e.cell))}}t.change(t=>{t.setSelection(l)})}}function iO(t){t.document.registerPostFixer(e=>oO(e,t))}function oO(t,e){const n=e.document.differ.getChanges();let i=false;const o=new Set;for(const e of n){let n;if(e.name=="table"&&e.type=="insert"){n=e.position.nodeAfter}if(e.name=="tableRow"||e.name=="tableCell"){n=PI("table",e.position)}if(lO(e)){n=PI("table",e.range.start)}if(n&&!o.has(n)){i=rO(n,t)||i;i=sO(n,t)||i;o.add(n)}}return i}function rO(t,e){let n=false;const i=aO(t);if(i.length){n=true;for(const t of i){EI("rowspan",t.rowspan,t.cell,e,1)}}return n}function sO(t,e){let n=false;const i=cO(t);const o=[];for(const[t,e]of i.entries()){if(!e){o.push(t)}}if(o.length){n=true;for(const n of o.reverse()){e.remove(t.getChild(n));i.splice(n,1)}}const r=i[0];const s=i.every(t=>t===r);if(!s){const o=i.reduce((t,e)=>e>t?e:t,0);for(const[r,s]of i.entries()){const i=o-s;if(i){for(let n=0;n<i;n++){MI(e,e.createPositionAt(t.getChild(r),"end"))}n=true}}}return n}function aO(t){const e=parseInt(t.getAttribute("headingRows")||0);const n=t.childCount;const i=[];for(const{row:o,rowspan:r,cell:s}of new BI(t)){if(r<2){continue}const t=o<e;const a=t?e:n;if(o+r>a){const t=a-o;i.push({cell:s,rowspan:t})}}return i}function cO(t){const e=new Array(t.childCount).fill(0);for(const{row:n}of new BI(t,{includeSpanned:true})){e[n]++}return e}function lO(t){const e=t.type==="attribute";const n=t.attributeKey;return e&&(n==="headingRows"||n==="colspan"||n==="rowspan")}function dO(t){t.document.registerPostFixer(e=>uO(e,t))}function uO(t,e){const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type=="insert"&&e.name=="table"){i=hO(e.position.nodeAfter,t)||i}if(e.type=="insert"&&e.name=="tableRow"){i=fO(e.position.nodeAfter,t)||i}if(e.type=="insert"&&e.name=="tableCell"){i=mO(e.position.nodeAfter,t)||i}if(gO(e)){i=mO(e.position.parent,t)||i}}return i}function hO(t,e){let n=false;for(const i of t.getChildren()){n=fO(i,e)||n}return n}function fO(t,e){let n=false;for(const i of t.getChildren()){n=mO(i,e)||n}return n}function mO(t,e){if(t.childCount==0){e.insertElement("paragraph",t);return true}const n=Array.from(t.getChildren()).filter(t=>t.is("text"));for(const t of n){e.wrap(e.createRangeOn(t),"paragraph")}return!!n.length}function gO(t){if(!t.position||!t.position.parent.is("tableCell")){return false}return t.type=="insert"&&t.name=="$text"||t.type=="remove"}function pO(t){t.document.registerPostFixer(()=>bO(t))}function bO(t){const e=t.document.differ;const n=new Set;let i=0;for(const t of e.getChanges()){const e=t.type=="insert"||t.type=="remove"?t.position.parent:t.range.start.parent;if(!e.is("tableCell")){continue}if(t.type=="insert"){i++}if(wO(e,t.type,i)){n.add(e)}}if(n.size){for(const t of n.values()){e.refreshItem(t)}return true}return false}function wO(t,e,n){const i=Array.from(t.getChildren()).some(t=>t.is("paragraph"));if(!i){return false}if(e=="attribute"){const e=Array.from(t.getChild(0).getAttributeKeys()).length;return t.childCount===1&&e<2}return t.childCount<=(e=="insert"?n+1:1)}var kO=n(114);class _O extends Cw{static get pluginName(){return"TableEditing"}init(){const t=this.editor;const e=t.model;const n=e.schema;const i=t.conversion;n.register("table",{allowWhere:"$block",allowAttributes:["headingRows","headingColumns"],isLimit:true,isObject:true,isBlock:true});n.register("tableRow",{allowIn:"table",isLimit:true});n.register("tableCell",{allowIn:"tableRow",allowAttributes:["colspan","rowspan"],isObject:true});n.extend("$block",{allowIn:"tableCell"});n.addChildCheck((t,e)=>{if(e.name=="table"&&Array.from(t.getNames()).includes("table")){return false}});i.for("upcast").add(RI());i.for("editingDowncast").add(sN({asWidget:true}));i.for("dataDowncast").add(sN());i.for("upcast").elementToElement({model:"tableRow",view:"tr"});i.for("upcast").add(LI());i.for("editingDowncast").add(aN({asWidget:true}));i.for("dataDowncast").add(aN());i.for("downcast").add(uN());i.for("upcast").add(VI("td"));i.for("upcast").add(VI("th"));i.for("editingDowncast").add(cN({asWidget:true}));i.for("dataDowncast").add(cN());i.attributeToAttribute({model:"colspan",view:"colspan"});i.attributeToAttribute({model:"rowspan",view:"rowspan"});i.for("editingDowncast").add(dN({asWidget:true}));i.for("dataDowncast").add(dN());i.for("editingDowncast").add(lN({asWidget:true}));i.for("dataDowncast").add(lN());t.commands.add("insertTable",new AN(t));t.commands.add("insertTableRowAbove",new SN(t,{order:"above"}));t.commands.add("insertTableRowBelow",new SN(t,{order:"below"}));t.commands.add("insertTableColumnLeft",new PN(t,{order:"left"}));t.commands.add("insertTableColumnRight",new PN(t,{order:"right"}));t.commands.add("removeTableRow",new LN(t));t.commands.add("removeTableColumn",new DN(t));t.commands.add("splitTableCellVertically",new EN(t,{direction:"vertically"}));t.commands.add("splitTableCellHorizontally",new EN(t,{direction:"horizontally"}));t.commands.add("mergeTableCells",new QN(t));t.commands.add("mergeTableCellRight",new MN(t,{direction:"right"}));t.commands.add("mergeTableCellLeft",new MN(t,{direction:"left"}));t.commands.add("mergeTableCellDown",new MN(t,{direction:"down"}));t.commands.add("mergeTableCellUp",new MN(t,{direction:"up"}));t.commands.add("setTableColumnHeader",new FN(t));t.commands.add("setTableRowHeader",new jN(t));t.commands.add("selectTableRow",new eO(t));t.commands.add("selectTableColumn",new nO(t));iO(e);pO(e);dO(e)}static get requires(){return[HN]}}var vO=n(116);class yO extends mb{constructor(t){super(t);const e=this.bindTemplate;this.items=this._createGridCollection();this.set("rows",0);this.set("columns",0);this.bind("label").to(this,"columns",this,"rows",(t,e)=>`${e} × ${t}`);this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"mouseover@.ck-insert-table-dropdown-grid-box":e.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck-insert-table-dropdown__label"]},children:[{text:e.to("label")}]}],on:{mousedown:e.to(t=>{t.preventDefault()}),click:e.to(()=>{this.fire("execute")})}});this.on("boxover",(t,e)=>{const{row:n,column:i}=e.target.dataset;this.set({rows:parseInt(n),columns:parseInt(i)})});this.on("change:columns",()=>{this._highlightGridBoxes()});this.on("change:rows",()=>{this._highlightGridBoxes()})}focus(){}focusLast(){}_highlightGridBoxes(){const t=this.rows;const e=this.columns;this.items.map((n,i)=>{const o=Math.floor(i/10);const r=i%10;const s=o<t&&r<e;n.set("isOn",s)})}_createGridCollection(){const t=[];for(let e=0;e<100;e++){const n=Math.floor(e/10);const i=e%10;t.push(new xO(this.locale,n+1,i+1))}return this.createCollection(t)}}class xO extends mb{constructor(t,e,n){super(t);const i=this.bindTemplate;this.set("isOn",false);this.setTemplate({tag:"div",attributes:{class:["ck-insert-table-dropdown-grid-box",i.if("isOn","ck-on")],"data-row":e,"data-column":n}})}}var CO='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 6v3h4V6H3zm0 4v3h4v-3H3zm0 4v3h4v-3H3zm5 3h4v-3H8v3zm5 0h4v-3h-4v3zm4-4v-3h-4v3h4zm0-4V6h-4v3h4zm1.5 8a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 17V4c.222-.863 1.068-1.5 2-1.5h13c.932 0 1.778.637 2 1.5v13zM12 13v-3H8v3h4zm0-4V6H8v3h4z"/></svg>';var AO='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M18 7v1H2V7h16zm0 5v1H2v-1h16z" opacity=".6"/><path d="M14 1v18a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm-2 1H8v4h4V2zm0 6H8v4h4V8zm0 6H8v4h4v-4z"/></svg>';var TO='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M7 2h1v16H7V2zm5 0h1v16h-1V2z" opacity=".6"/><path d="M1 6h18a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1 2v4h4V8H2zm6 0v4h4V8H8zm6 0v4h4V8h-4z"/></svg>';var SO='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M7 2h1v16H7V2zm5 0h1v7h-1V2zm6 5v1H2V7h16zM8 12v1H2v-1h6z" opacity=".6"/><path d="M7 7h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm1 2v9h10V9H8z"/></svg>';class PO extends Cw{init(){const t=this.editor;const e=this.editor.t;const n=t.locale.contentLanguageDirection;const i=n==="ltr";t.ui.componentFactory.add("insertTable",n=>{const i=t.commands.get("insertTable");const o=rw(n);o.bind("isEnabled").to(i);o.buttonView.set({icon:CO,label:e("Insert table"),tooltip:true});let r;o.on("change:isOpen",()=>{if(r){return}r=new yO(n);o.panelView.children.add(r);r.delegate("execute").to(o);o.buttonView.on("open",()=>{r.rows=0;r.columns=0});o.on("execute",()=>{t.execute("insertTable",{rows:r.rows,columns:r.columns});t.editing.view.focus()})});return o});t.ui.componentFactory.add("tableColumn",t=>{const n=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:e("Header column"),bindIsOn:true}},{type:"separator"},{type:"button",model:{commandName:i?"insertTableColumnLeft":"insertTableColumnRight",label:e("Insert column left")}},{type:"button",model:{commandName:i?"insertTableColumnRight":"insertTableColumnLeft",label:e("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:e("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:e("Select column")}}];return this._prepareDropdown(e("Column"),AO,n,t)});t.ui.componentFactory.add("tableRow",t=>{const n=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:e("Header row"),bindIsOn:true}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:e("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:e("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:e("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:e("Select row")}}];return this._prepareDropdown(e("Row"),TO,n,t)});t.ui.componentFactory.add("mergeTableCells",t=>{const n=[{type:"button",model:{commandName:"mergeTableCellUp",label:e("Merge cell up")}},{type:"button",model:{commandName:i?"mergeTableCellRight":"mergeTableCellLeft",label:e("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:e("Merge cell down")}},{type:"button",model:{commandName:i?"mergeTableCellLeft":"mergeTableCellRight",label:e("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:e("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:e("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(e("Merge cells"),SO,n,t)})}_prepareDropdown(t,e,n,i){const o=this.editor;const r=rw(i);const s=this._fillDropdownWithListOptions(r,n);r.buttonView.set({label:t,icon:e,tooltip:true});r.bind("isEnabled").toMany(s,"isEnabled",(...t)=>t.some(t=>t));this.listenTo(r,"execute",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return r}_prepareMergeSplitButtonDropdown(t,e,n,i){const o=this.editor;const r=rw(i,yy);const s="mergeTableCells";this._fillDropdownWithListOptions(r,n);r.buttonView.set({label:t,icon:e,tooltip:true,isEnabled:true});this.listenTo(r.buttonView,"execute",()=>{o.execute(s);o.editing.view.focus()});this.listenTo(r,"execute",t=>{o.execute(t.source.commandName);o.editing.view.focus()});return r}_fillDropdownWithListOptions(t,e){const n=this.editor;const i=[];const o=new xs;for(const t of e){EO(t,n,i,o)}aw(t,o,n.ui.componentFactory);return i}}function EO(t,e,n,i){const o=t.model=new _y(t.model);const{commandName:r,bindIsOn:s}=t.model;if(t.type==="button"||t.type==="switchbutton"){const t=e.commands.get(r);n.push(t);o.set({commandName:r});o.bind("isEnabled").to(t);if(s){o.bind("isOn").to(t,"value")}}o.set({withText:true});i.add(t)}class MO extends Ku{constructor(t){super(t);this.domEventType=["mousemove","mouseup","mouseleave"]}onDomEvent(t){this.fire(t.type,t)}}function IO(t,e,n,i){const{startRow:o,startColumn:r,endRow:s,endColumn:a}=e;const c=n.createElement("table");const l=s-o+1;for(let t=0;t<l;t++){n.insertElement("tableRow",c,"end")}const d=[...new BI(t,{startRow:o,endRow:s,includeSpanned:true})];for(const{row:t,column:e,cell:l,isSpanned:u}of d){if(e<r||e>a){continue}const d=t-o;const h=c.getChild(d);if(u){const{row:t,column:e}=i.getCellLocation(l);if(t<o||e<r){MI(n,n.createPositionAt(h,"end"))}}else{const i=l._clone(true);n.append(i,h);NO(i,t,e,s,a,n)}}OO(c,t,o,r,n);return c}function NO(t,e,n,i,o,r){const s=parseInt(t.getAttribute("colspan")||1);const a=parseInt(t.getAttribute("rowspan")||1);const c=n+s-1;if(c>o){const e=o-n+1;EI("colspan",e,t,r,1)}const l=e+a-1;if(l>i){const n=i-e+1;EI("rowspan",n,t,r,1)}}function OO(t,e,n,i,o){const r=parseInt(e.getAttribute("headingRows")||0);if(r>0){const e=r-n;EI("headingRows",e,t,o,0)}const s=parseInt(e.getAttribute("headingColumns")||0);if(s>0){const e=s-i;EI("headingColumns",e,t,o,0)}}var RO=n(118);class LO extends Cw{static get pluginName(){return"TableSelection"}static get requires(){return[HN]}init(){const t=this.editor;const e=t.model;this.listenTo(e,"deleteContent",(t,e)=>this._handleDeleteContent(t,e),{priority:"high"});t.editing.view.addObserver(MO);this._defineSelectionConverter();this._enableShiftClickSelection();this._enableMouseDragSelection();this._enablePluginDisabling()}getSelectedTableCells(){const t=this.editor.model.document.selection;const e=qI(t);if(e.length==0){return null}return e}getSelectionAsFragment(){const t=this.getSelectedTableCells();if(!t){return null}return this.editor.model.change(e=>{const n=e.createDocumentFragment();const{first:i,last:o}=YI(t);const{first:r,last:s}=GI(t);const a=PI("table",t[0]);const c={startRow:r,startColumn:i,endRow:s,endColumn:o};const l=IO(a,c,e,this.editor.plugins.get("TableUtils"));e.insert(l,n,0);return n})}setCellSelection(t,e){const n=this._getCellsToSelect(t,e);this.editor.model.change(t=>{t.setSelection(n.cells.map(e=>t.createRangeOn(e)),{backward:n.backward})})}getFocusCell(){const t=this.editor.model.document.selection;const e=[...t.getRanges()].pop();const n=e.getContainedElement();if(n&&n.is("tableCell")){return n}return null}getAnchorCell(){const t=this.editor.model.document.selection;const e=Pw(t.getRanges());const n=e.getContainedElement();if(n&&n.is("tableCell")){return n}return null}_defineSelectionConverter(){const t=this.editor;const e=new Set;t.conversion.for("editingDowncast").add(t=>t.on("selection",(t,i,o)=>{const r=o.writer;n(r);const s=this.getSelectedTableCells();if(!s){return}for(const t of s){const n=o.mapper.toViewElement(t);r.addClass("ck-editor__editable_selected",n);e.add(n)}const a=o.mapper.toViewElement(s[s.length-1]);r.setSelection(a,0)},{priority:"lowest"}));function n(t){for(const n of e){t.removeClass("ck-editor__editable_selected",n)}e.clear()}}_enableShiftClickSelection(){const t=this.editor;let e=false;this.listenTo(t.editing.view.document,"mousedown",(n,i)=>{if(!this.isEnabled){return}if(!i.domEvent.shiftKey){return}const o=this.getAnchorCell()||WI(t.model.document.selection)[0];if(!o){return}const r=this._getModelTableCellFromDomEvent(i);if(r&&VO(o,r)){e=true;this.setCellSelection(o,r);i.preventDefault()}});this.listenTo(t.editing.view.document,"mouseup",()=>{e=false});this.listenTo(t.editing.view.document,"selectionChange",t=>{if(e){t.stop()}},{priority:"highest"})}_enableMouseDragSelection(){const t=this.editor;let e,n;let i=false;let o=false;this.listenTo(t.editing.view.document,"mousedown",(t,n)=>{if(!this.isEnabled){return}if(n.domEvent.shiftKey||n.domEvent.ctrlKey||n.domEvent.altKey){return}e=this._getModelTableCellFromDomEvent(n)});this.listenTo(t.editing.view.document,"mousemove",(t,r)=>{if(!r.domEvent.buttons){return}if(!e){return}const s=this._getModelTableCellFromDomEvent(r);if(s&&VO(e,s)){n=s;if(!i&&n!=e){i=true}}if(!i){return}o=true;this.setCellSelection(e,n);r.preventDefault()});this.listenTo(t.editing.view.document,"mouseup",()=>{i=false;o=false;e=null;n=null});this.listenTo(t.editing.view.document,"selectionChange",t=>{if(o){t.stop()}},{priority:"highest"})}_enablePluginDisabling(){const t=this.editor;this.on("change:isEnabled",()=>{if(!this.isEnabled){const e=this.getSelectedTableCells();if(!e){return}t.model.change(n=>{const i=n.createPositionAt(e[0],0);const o=t.model.schema.getNearestSelectionRange(i);n.setSelection(o)})}})}_handleDeleteContent(t,e){const[n,i]=e;const o=this.editor.model;const r=!i||i.direction=="backward";const s=qI(n);if(!s.length){return}t.stop();o.change(t=>{const e=s[r?s.length-1:0];o.change(t=>{for(const e of s){o.deleteContent(t.createSelection(e,"in"))}});const i=o.schema.getNearestSelectionRange(t.createPositionAt(e,0));if(n.is("documentSelection")){t.setSelection(i)}else{n.setTo(i)}})}_getModelTableCellFromDomEvent(t){const e=t.target;const n=this.editor.editing.view.createPositionAt(e,0);const i=this.editor.editing.mapper.toModelPosition(n);const o=i.parent;if(o.is("tableCell")){return o}return PI("tableCell",o)}_getCellsToSelect(t,e){const n=this.editor.plugins.get("TableUtils");const i=n.getCellLocation(t);const o=n.getCellLocation(e);const r=Math.min(i.row,o.row);const s=Math.max(i.row,o.row);const a=Math.min(i.column,o.column);const c=Math.max(i.column,o.column);const l=new Array(s-r+1).fill(null).map(()=>[]);for(const e of new BI(PI("table",t),{startRow:r,endRow:s})){if(e.column>=a&&e.column<=c){l[e.row-r].push(e.cell)}}const d=o.row<i.row;const u=o.column<i.column;if(d){l.reverse()}if(u){l.forEach(t=>t.reverse())}return{cells:l.flat(),backward:d||u}}}function VO(t,e){return t.parent.parent==e.parent.parent}class DO extends Cw{static get pluginName(){return"TableClipboard"}static get requires(){return[LO,HN]}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"copy",(t,e)=>this._onCopyCut(t,e));this.listenTo(e,"cut",(t,e)=>this._onCopyCut(t,e));this.listenTo(t.model,"insertContent",(t,e)=>this._onInsertContent(t,...e),{priority:"high"})}_onCopyCut(t,e){const n=this.editor.plugins.get(LO);if(!n.getSelectedTableCells()){return}if(t.name=="cut"&&this.editor.isReadOnly){return}e.preventDefault();t.stop();const i=this.editor.data;const o=this.editor.editing.view.document;const r=i.toView(n.getSelectionAsFragment());o.fire("clipboardOutput",{dataTransfer:e.dataTransfer,content:r,method:t.name})}_onInsertContent(t,e,n){if(n&&!n.is("documentSelection")){return}const i=this.editor.model;const o=this.editor.plugins.get(HN);const r=$I(i.document.selection);if(!r.length){return}let s=jO(e);if(!s){return}t.stop();i.change(t=>{const e=YI(r);const n=GI(r);let{first:i,last:a}=e;let{first:c,last:l}=n;const d=o.getRows(s);const u=o.getColumns(s);const h=PI("table",r[0]);const f=r.length===1;if(f){l+=d-1;a+=u-1;BO(h,l+1,a+1,t,o)}if(f||!KI(r,o)){const e={firstRow:c,lastRow:l,firstColumn:i,lastColumn:a};HO(h,e,t)}else{l=$O(h,n,e);a=GO(h,n,e)}const m=l-c+1;const g=a-i+1;const p={startRow:0,startColumn:0,endRow:Math.min(m-1,d-1),endColumn:Math.min(g-1,u-1)};s=IO(s,p,t,o);const b={width:u,height:d};const w={firstColumnOfSelection:i,firstRowOfSelection:c,lastColumnOfSelection:a,lastRowOfSelection:l};zO(s,b,h,w,t)})}}function zO(t,e,n,i,o){const{firstColumnOfSelection:r,lastColumnOfSelection:s,firstRowOfSelection:a,lastRowOfSelection:c}=i;const{width:l,height:d}=e;const u=FO(t,l,d);const h=[...new BI(n,{startRow:a,endRow:c,includeSpanned:true})];const f=[];let m;for(const{row:t,column:e,cell:i,isSpanned:g}of h){if(e===0){m=null}if(e<r||e>s){if(!g){m=i}continue}if(!g){o.remove(i)}const h=t-a;const p=e-r;const b=u[h%d][p%l];if(!b){continue}const w=b._clone(true);NO(w,t,e,c,s,o);let k;if(!m){k=o.createPositionAt(n.getChild(t),0)}else{k=o.createPositionAfter(m)}o.insert(w,k);f.push(w);m=w}o.setSelection(f.map(t=>o.createRangeOn(t)))}function BO(t,e,n,i,o){const r=o.getColumns(t);const s=o.getRows(t);if(n>r){o.insertColumns(t,{batch:i.batch,at:r,columns:n-r})}if(e>s){o.insertRows(t,{batch:i.batch,at:s,rows:e-s})}}function jO(t){if(t.is("table")){return t}if(t.childCount!=1||!t.getChild(0).is("table")){return null}return t.getChild(0)}function FO(t,e,n){const i=new Array(n).fill(null).map(()=>new Array(e).fill(null));for(const{column:e,row:n,cell:o}of new BI(t)){i[n][e]=o}return i}function HO(t,e,n){const{firstRow:i,lastRow:o,firstColumn:r,lastColumn:s}=e;const a={first:i,last:o};const c={first:r,last:s};qO(t,r,a,n);qO(t,s+1,a,n);UO(t,i,c,n);UO(t,o+1,c,n,i)}function UO(t,e,n,i,o=0){if(e<1){return}const r=QI(t,e,o);const s=r.filter(({column:t,colspan:e})=>WO(t,e,n));for(const{cell:t}of s){JI(t,e,i)}}function qO(t,e,n,i){if(e<1){return}const o=ZI(t,e);const r=o.filter(({row:t,rowspan:e})=>WO(t,e,n));for(const{cell:t,column:n}of r){XI(t,n,e,i)}}function WO(t,e,n){const i=t+e-1;const{first:o,last:r}=n;const s=t>=o&&t<=r;const a=t<o&&i>=o;return s||a}function $O(t,e,n){const i=new BI(t,{startRow:e.last,endRow:e.last});const o=Array.from(i).filter(({column:t})=>n.first<=t&&t<=n.last);const r=o.every(({rowspan:t})=>t===1);if(r){return e.last}const s=o[0].rowspan-1;return e.last+s}function GO(t,e,n){const i=Array.from(new BI(t,{startRow:e.first,endRow:e.last,column:n.last}));const o=i.every(({colspan:t})=>t===1);if(o){return n.last}const r=i[0].colspan-1;return n.last+r}class YO extends Cw{static get pluginName(){return"TableNavigation"}static get requires(){return[LO]}init(){const t=this.editor.editing.view;const e=t.document;this.editor.keystrokes.set("Tab",(...t)=>this._handleTabOnSelectedTable(...t),{priority:"low"});this.editor.keystrokes.set("Tab",this._getTabHandler(true),{priority:"low"});this.editor.keystrokes.set("Shift+Tab",this._getTabHandler(false),{priority:"low"});this.listenTo(e,"keydown",(...t)=>this._onKeydown(...t),{priority:os.get("high")+1})}_handleTabOnSelectedTable(t,e){const n=this.editor;const i=n.model.document.selection;if(!i.isCollapsed&&i.rangeCount===1&&i.getFirstRange().isFlat){const t=i.getSelectedElement();if(!t||!t.is("table")){return}e();n.model.change(e=>{e.setSelection(e.createRangeIn(t.getChild(0).getChild(0)))})}}_getTabHandler(t){const e=this.editor;return(n,i)=>{const o=e.model.document.selection;const r=WI(o)[0];if(!r){return}i();const s=r.parent;const a=s.parent;const c=a.getChildIndex(s);const l=s.getChildIndex(r);const d=l===0;if(!t&&d&&c===0){return}const u=l===s.childCount-1;const h=c===a.childCount-1;if(t&&h&&u){e.execute("insertTableRowBelow");if(c===a.childCount-1){return}}let f;if(t&&u){const t=a.getChild(c+1);f=t.getChild(0)}else if(!t&&d){const t=a.getChild(c-1);f=t.getChild(t.childCount-1)}else{f=s.getChild(l+(t?1:-1))}e.model.change(t=>{t.setSelection(t.createRangeIn(f))})}}_onKeydown(t,e){const n=e.keyCode;if(!KO(n)){return}const i=QO(n,this.editor.locale.contentLanguageDirection);const o=this._handleArrowKeys(i,e.shiftKey);if(o){e.preventDefault();e.stopPropagation();t.stop()}}_handleArrowKeys(t,e){const n=this.editor.model;const i=n.document.selection;const o=["right","down"].includes(t);const r=qI(i);if(r.length){let n;if(e){n=this.editor.plugins.get("TableSelection").getFocusCell()}else{n=o?r[r.length-1]:r[0]}this._navigateFromCellInDirection(n,t,e);return true}const s=PI("tableCell",i.focus);if(!s){return false}const a=n.createRangeIn(s);if(this._isSelectionAtCellEdge(i,o)){this._navigateFromCellInDirection(s,t,e);return true}const c=i.getSelectedElement();if(c&&n.schema.isObject(c)){return false}if(this._isObjectElementNextToSelection(i,o)){return false}const l=this._findTextRangeFromSelection(a,i,o);if(!l){this._navigateFromCellInDirection(s,t,e);return true}if(["left","right"].includes(t)){return false}if(this._isSingleLineRange(l,o)){n.change(t=>{const r=o?a.end:a.start;if(e){const e=n.createSelection(i.anchor);e.setFocus(r);t.setSelection(e)}else{t.setSelection(r)}});return true}}_isSelectionAtCellEdge(t,e){const n=this.editor.model;const i=this.editor.model.schema;const o=e?t.getLastPosition():t.getFirstPosition();if(!i.getLimitElement(o).is("tableCell")){return false}const r=n.createSelection(o);n.modifySelection(r,{direction:e?"forward":"backward"});return o.isEqual(r.focus)}_isObjectElementNextToSelection(t,e){const n=this.editor.model;const i=n.schema;const o=n.createSelection(t);n.modifySelection(o,{direction:e?"forward":"backward"});const r=e?o.focus.nodeBefore:o.focus.nodeAfter;return r&&i.isObject(r)}_findTextRangeFromSelection(t,e,n){const i=this.editor.model;if(n){const n=e.getLastPosition();const o=this._getNearestVisibleTextPosition(t,"backward");if(o&&n.isBefore(o)){return i.createRange(n,o)}return null}else{const n=e.getFirstPosition();const o=this._getNearestVisibleTextPosition(t,"forward");if(o&&n.isAfter(o)){return i.createRange(o,n)}return null}}_getNearestVisibleTextPosition(t,e){const n=this.editor.model.schema;const i=this.editor.editing.mapper;for(const{nextPosition:o,item:r}of t.getWalker({direction:e})){if(n.checkChild(o,"$text")){const t=i.toViewElement(r);if(t&&!t.hasClass("ck-hidden")){return o}}}}_isSingleLineRange(t,e){const n=this.editor.model;const i=this.editor.editing;const o=i.view.domConverter;if(e){const e=n.createSelection(t.start);n.modifySelection(e);if(!e.focus.isAtEnd&&!t.start.isEqual(e.focus)){t=n.createRange(e.focus,t.end)}}const r=i.mapper.toViewRange(t);const s=o.viewRangeToDom(r);const a=vh.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}_navigateFromCellInDirection(t,e,n=false){const i=this.editor.model;const o=PI("table",t);const r=[...new BI(o,{includeSpanned:true})];const{row:s,column:a}=r[r.length-1];const c=r.find(({cell:e})=>e==t);let{row:l,column:d}=c;switch(e){case"left":d--;break;case"up":l--;break;case"right":d+=c.colspan;break;case"down":l+=c.rowspan;break}const u=l<0||l>s;const h=d<0&&l<=0;const f=d>a&&l>=s;if(u||h||f){i.change(t=>{t.setSelection(t.createRangeOn(o))});return}if(d<0){d=n?0:a;l--}else if(d>a){d=n?a:0;l++}const m=r.find(t=>t.row==l&&t.column==d).cell;const g=["right","down"].includes(e);if(n){const e=this.editor.plugins.get("TableSelection");const n=e.getAnchorCell()||t;e.setCellSelection(n,m)}else{const t=i.createPositionAt(m,g?0:"end");i.change(e=>{e.setSelection(t)})}}}function KO(t){return t==Rl.arrowright||t==Rl.arrowleft||t==Rl.arrowup||t==Rl.arrowdown}function QO(t,e){const n=e==="ltr";switch(t){case Rl.arrowleft:return n?"left":"right";case Rl.arrowright:return n?"right":"left";case Rl.arrowup:return"up";case Rl.arrowdown:return"down"}}var JO=n(120);class ZO extends Cw{static get requires(){return[_O,PO,LO,DO,YO,FA]}static get pluginName(){return"Table"}}var XO=n(122);class tR extends mb{constructor(t,e){super(t);const n=this.bindTemplate;this.set("value","");this.set("id");this.set("isReadOnly",false);this.set("hasError",false);this.set("ariaDescribedById");this.options=e;this._dropdownView=this._createDropdownView(t);this._inputView=this._createInputTextView(t);this._stillTyping=false;this.setTemplate({tag:"div",attributes:{class:["ck","ck-input-color",n.if("hasError","ck-error")],id:n.to("id"),"aria-invalid":n.if("hasError",true),"aria-describedby":n.to("ariaDescribedById")},children:[this._inputView,this._dropdownView]});this.on("change:value",(t,e,n)=>this._setInputValue(n))}focus(){this._inputView.focus()}_createDropdownView(){const t=this.locale;const e=t.t;const n=this.bindTemplate;const i=this._createColorGrid(t);const o=rw(t);const r=new mb;const s=this._createRemoveColorButton(t);r.setTemplate({tag:"span",attributes:{class:["ck","ck-input-color__button__preview"],style:{backgroundColor:n.to("value")}},children:[{tag:"span",attributes:{class:["ck","ck-input-color__button__preview__no-color-indicator",n.if("value","ck-hidden",t=>t!="")]}}]});o.buttonView.extendTemplate({attributes:{class:"ck-input-color__button"}});o.buttonView.children.add(r);o.buttonView.tooltip=e("Color picker");o.panelPosition=t.uiLanguageDirection==="rtl"?"se":"sw";o.panelView.children.add(s);o.panelView.children.add(i);o.bind("isEnabled").to(this,"isReadOnly",t=>!t);return o}_createInputTextView(){const t=this.locale;const e=new JA(t);e.extendTemplate({on:{blur:e.bindTemplate.to("blur")}});e.value=this.value;e.bind("isReadOnly").to(this);e.bind("hasError").to(this);e.on("input",()=>{const t=e.element.value;const n=this.options.colorDefinitions.find(e=>t===e.label);this._stillTyping=true;this.value=n&&n.color||t});e.on("blur",()=>{this._stillTyping=false;this._setInputValue(e.element.value)});e.delegate("input").to(this);return e}_createRemoveColorButton(){const t=this.locale;const e=t.t;const n=new Gb(t);n.class="ck-input-color__remove-color";n.withText=true;n.icon=Qx;n.label=e("Remove color");n.on("execute",()=>{this.value="";this._dropdownView.isOpen=false;this.fire("input")});return n}_createColorGrid(t){const e=new $x(t,{colorDefinitions:this.options.colorDefinitions,columns:this.options.columns});e.on("execute",(t,e)=>{this.value=e.value;this._dropdownView.isOpen=false;this.fire("input")});e.bind("selectedColor").to(this,"value");return e}_setInputValue(t){if(!this._stillTyping){const e=eR(t);const n=this.options.colorDefinitions.find(t=>e===eR(t.color));if(n){this._inputView.value=n.label}else{this._inputView.value=t||""}}}}function eR(t){return t.replace(/([(,])\s+/g,"$1").replace(/^\s+|\s+(?=[),\s]|$)/g,"").replace(/,|\s/g," ")}const nR=Ck.defaultPositions;const iR=[nR.northArrowSouth,nR.northArrowSouthWest,nR.northArrowSouthEast,nR.southArrowNorth,nR.southArrowNorthWest,nR.southArrowNorthEast];const oR=[...iR,Bk];const rR=t=>t==="";function sR(t,e){const n=t.plugins.get("ContextualBalloon");if(UI(t.editing.view.document.selection)){let i;if(e==="cell"){i=cR(t)}else{i=aR(t)}n.updatePosition(i)}}function aR(t){const e=t.model.document.selection.getFirstPosition();const n=PI("table",e);const i=t.editing.mapper.toViewElement(n);return{target:t.editing.view.domConverter.viewToDom(i),positions:oR}}function cR(t){const e=t.editing.mapper;const n=t.editing.view.domConverter;const i=t.model.document.selection;if(i.rangeCount>1){return{target:()=>yR(i.getRanges(),t=>{const i=vR(t.start);const o=e.toViewElement(i);return new vh(n.viewToDom(o))}),positions:iR}}const o=vR(i.getFirstPosition());const r=e.toViewElement(o);return{target:n.viewToDom(r),positions:iR}}function lR(t){return{none:t("None"),solid:t("Solid"),dotted:t("Dotted"),dashed:t("Dashed"),double:t("Double"),groove:t("Groove"),ridge:t("Ridge"),inset:t("Inset"),outset:t("Outset")}}function dR(t){return t('The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".')}function uR(t){return t('The value is invalid. Try "10px" or "2em" or simply "2".')}function hR(t){t=t.trim();return rR(t)||YS(t)}function fR(t){t=t.trim();return rR(t)||kR(t)||ZS(t)||tP(t)}function mR(t){t=t.trim();return rR(t)||kR(t)||ZS(t)}function gR(t){const e=new xs;const n=lR(t.t);for(const i in n){const o={type:"button",model:new _y({_borderStyleValue:i==="none"?"":i,label:n[i],withText:true})};if(i==="none"){o.model.bind("isOn").to(t,"borderStyle",t=>!t)}else{o.model.bind("isOn").to(t,"borderStyle",t=>t===i)}e.add(o)}return e}function pR({view:t,icons:e,toolbar:n,labels:i,propertyName:o,nameToValue:r}){for(const s in i){const a=new Gb(t.locale);a.set({label:i[s],icon:e[s],tooltip:i[s]});a.bind("isOn").to(t,o,t=>t===r(s));a.on("execute",()=>{t[o]=r(s)});n.items.add(a)}}const bR=[{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"}];function wR(t){return(e,n,i)=>{const o=new tR(e.locale,{colorDefinitions:_R(t.colorConfig),columns:t.columns});o.set({id:n,ariaDescribedById:i});o.bind("isReadOnly").to(e,"isEnabled",t=>!t);o.bind("errorText").to(e);o.on("input",()=>{e.errorText=null});return o}}function kR(t){const e=parseFloat(t);return!Number.isNaN(e)&&t===String(e)}function _R(t){return t.map(t=>({color:t.model,label:t.label,options:{hasBorder:t.hasBorder}}))}function vR(t){const e=t.nodeAfter&&t.nodeAfter.is("tableCell");return e?t.nodeAfter:PI("tableCell",t)}function yR(t,e){const n={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY};for(const i of t){const t=e(i);n.left=Math.min(n.left,t.left);n.top=Math.min(n.top,t.top);n.right=Math.max(n.right,t.right);n.bottom=Math.max(n.bottom,t.bottom)}n.width=n.right-n.left;n.height=n.bottom-n.top;return new vh(n)}var xR=n(124);class CR extends mb{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("class",e.class||null);this.children=this.createCollection();if(e.children){e.children.forEach(t=>this.children.add(t))}this.set("_role",null);this.set("_ariaLabelledBy",null);if(e.labelView){this.set({_role:"group",_ariaLabelledBy:e.labelView.id})}this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",n.to("class")],role:n.to("_role"),"aria-labelledby":n.to("_ariaLabelledBy")},children:this.children})}}var AR='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.261 7.062l2.88 1.663a.75.75 0 0 1-.75 1.3L10.5 8.933v7.317a.75.75 0 1 1-1.5 0V8.932l-1.89 1.093a.75.75 0 0 1-.75-1.3l2.879-1.663a.752.752 0 0 1 .511-.187.752.752 0 0 1 .511.187zM15.25 4a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1 0-1.5h10.5z"/></svg>';var TR='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.75 11.875a.752.752 0 0 1 .508.184l2.883 1.666a.75.75 0 0 1-.659 1.344l-.091-.044-1.892-1.093.001 4.318a.75.75 0 1 1-1.5 0v-4.317l-1.89 1.092a.75.75 0 0 1-.75-1.3l2.879-1.663a.752.752 0 0 1 .51-.187zM15.25 9a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM9.75.375a.75.75 0 0 1 .75.75v4.318l1.89-1.093.092-.045a.75.75 0 0 1 .659 1.344l-2.883 1.667a.752.752 0 0 1-.508.184.752.752 0 0 1-.511-.187L6.359 5.65a.75.75 0 0 1 .75-1.299L9 5.442V1.125a.75.75 0 0 1 .75-.75z"/></svg>';var SR='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.239 13.938l-2.88-1.663a.75.75 0 0 1 .75-1.3L9 12.067V4.75a.75.75 0 1 1 1.5 0v7.318l1.89-1.093a.75.75 0 0 1 .75 1.3l-2.879 1.663a.752.752 0 0 1-.511.187.752.752 0 0 1-.511-.187zM4.25 17a.75.75 0 1 1 0-1.5h10.5a.75.75 0 0 1 0 1.5H4.25z"/></svg>';var PR=n(13);var ER=n(14);var MR=n(128);const IR={left:zw,center:jw,right:Bw,justify:Fw,top:AR,middle:TR,bottom:SR};class NR extends mb{constructor(t,e){super(t);this.set({borderStyle:"",borderWidth:"",borderColor:"",padding:"",backgroundColor:"",width:"",height:"",horizontalAlignment:"",verticalAlignment:""});this.options=e;const{borderStyleDropdown:n,borderWidthInput:i,borderColorInput:o,borderRowLabel:r}=this._createBorderFields();const{widthInput:s,operatorLabel:a,heightInput:c,dimensionsLabel:l}=this._createDimensionFields();const{horizontalAlignmentToolbar:d,verticalAlignmentToolbar:u,alignmentLabel:h}=this._createAlignmentFields();this.focusTracker=new xp;this.keystrokes=new mp;this.children=this.createCollection();this.borderStyleDropdown=n;this.borderWidthInput=i;this.borderColorInput=o;this.backgroundInput=this._createBackgroundField();this.paddingInput=this._createPaddingField();this.widthInput=s;this.heightInput=c;this.horizontalAlignmentToolbar=d;this.verticalAlignmentToolbar=u;const{saveButtonView:f,cancelButtonView:m}=this._createActionButtons();this.saveButtonView=f;this.cancelButtonView=m;this._focusables=new zp;this._focusCycler=new Cb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.children.add(new rI(t,{label:this.t("Cell properties")}));this.children.add(new CR(t,{labelView:r,children:[r,n,o,i],class:"ck-table-form__border-row"}));this.children.add(new CR(t,{children:[this.backgroundInput]}));this.children.add(new CR(t,{children:[new CR(t,{labelView:l,children:[l,s,a,c],class:"ck-table-form__dimensions-row"}),new CR(t,{children:[this.paddingInput],class:"ck-table-cell-properties-form__padding-row"})]}));this.children.add(new CR(t,{labelView:h,children:[h,d,u],class:"ck-table-cell-properties-form__alignment-row"}));this.children.add(new CR(t,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-cell-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render();tT({view:this});[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.paddingInput,this.horizontalAlignmentToolbar,this.verticalAlignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const t=wR({colorConfig:this.options.borderColors,columns:5});const e=this.locale;const n=this.t;const i=new Yx(e);i.text=n("Border");const o=lR(n);const r=new KA(e,XA);r.set({label:n("Style"),class:"ck-table-form__border-style"});r.fieldView.buttonView.set({isOn:false,withText:true,tooltip:n("Style")});r.fieldView.buttonView.bind("label").to(this,"borderStyle",t=>o[t?t:"none"]);r.fieldView.on("execute",t=>{this.borderStyle=t.source._borderStyleValue});aw(r.fieldView,gR(this));const s=new KA(e,ZA);s.set({label:n("Width"),class:"ck-table-form__border-width"});s.fieldView.bind("value").to(this,"borderWidth");s.bind("isEnabled").to(this,"borderStyle",OR);s.fieldView.on("input",()=>{this.borderWidth=s.fieldView.element.value});const a=new KA(e,t);a.set({label:n("Color"),class:"ck-table-form__border-color"});a.fieldView.bind("value").to(this,"borderColor");a.bind("isEnabled").to(this,"borderStyle",OR);a.fieldView.on("input",()=>{this.borderColor=a.fieldView.value});this.on("change:borderStyle",(t,e,n)=>{if(!OR(n)){this.borderColor="";this.borderWidth=""}});return{borderRowLabel:i,borderStyleDropdown:r,borderColorInput:a,borderWidthInput:s}}_createBackgroundField(){const t=this.locale;const e=this.t;const n=wR({colorConfig:this.options.backgroundColors,columns:5});const i=new KA(t,n);i.set({label:e("Background"),class:"ck-table-cell-properties-form__background"});i.fieldView.bind("value").to(this,"backgroundColor");i.fieldView.on("input",()=>{this.backgroundColor=i.fieldView.value});return i}_createDimensionFields(){const t=this.locale;const e=this.t;const n=new Yx(t);n.text=e("Dimensions");const i=new KA(t,ZA);i.set({label:e("Width"),class:"ck-table-form__dimensions-row__width"});i.fieldView.bind("value").to(this,"width");i.fieldView.on("input",()=>{this.width=i.fieldView.element.value});const o=new mb(t);o.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const r=new KA(t,ZA);r.set({label:e("Height"),class:"ck-table-form__dimensions-row__height"});r.fieldView.bind("value").to(this,"height");r.fieldView.on("input",()=>{this.height=r.fieldView.element.value});return{dimensionsLabel:n,widthInput:i,operatorLabel:o,heightInput:r}}_createPaddingField(){const t=this.locale;const e=this.t;const n=new KA(t,ZA);n.set({label:e("Padding"),class:"ck-table-cell-properties-form__padding"});n.fieldView.bind("value").to(this,"padding");n.fieldView.on("input",()=>{this.padding=n.fieldView.element.value});return n}_createAlignmentFields(){const t=this.locale;const e=this.t;const n=new Yx(t);n.text=e("Table cell text alignment");const i=new mw(t);const o=this.locale.contentLanguageDirection==="rtl";i.set({isCompact:true,ariaLabel:e("Horizontal text alignment toolbar")});pR({view:this,icons:IR,toolbar:i,labels:this._horizontalAlignmentLabels,propertyName:"horizontalAlignment",nameToValue:t=>t===(o?"right":"left")?"":t});const r=new mw(t);r.set({isCompact:true,ariaLabel:e("Vertical text alignment toolbar")});pR({view:this,icons:IR,toolbar:r,labels:this._verticalAlignmentLabels,propertyName:"verticalAlignment",nameToValue:t=>t==="middle"?"":t});return{horizontalAlignmentToolbar:i,verticalAlignmentToolbar:r,alignmentLabel:n}}_createActionButtons(){const t=this.locale;const e=this.t;const n=new Gb(t);const i=new Gb(t);const o=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.paddingInput];n.set({label:e("Save"),icon:eT,class:"ck-button-save",type:"submit",withText:true});n.bind("isEnabled").toMany(o,"errorText",(...t)=>t.every(t=>!t));i.set({label:e("Cancel"),icon:nT,class:"ck-button-cancel",type:"cancel",withText:true});i.delegate("execute").to(this,"cancel");return{saveButtonView:n,cancelButtonView:i}}get _horizontalAlignmentLabels(){const t=this.locale;const e=this.t;const n=e("Align cell text to the left");const i=e("Align cell text to the center");const o=e("Align cell text to the right");const r=e("Justify cell text");if(t.uiLanguageDirection==="rtl"){return{right:o,center:i,left:n,justify:r}}else{return{left:n,center:i,right:o,justify:r}}}get _verticalAlignmentLabels(){const t=this.t;return{top:t("Align cell text to the top"),middle:t("Align cell text to the middle"),bottom:t("Align cell text to the bottom")}}}function OR(t){return!!t}var RR='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.105 18l-.17 1H2.5A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1h15A1.5 1.5 0 0 1 19 2.5v9.975l-.85-.124-.15-.302V8h-5v4h.021l-.172.351-1.916.28-.151.027c-.287.063-.54.182-.755.341L8 13v5h3.105zM2 12h5V8H2v4zm10-4H8v4h4V8zM2 2v5h5V2H2zm0 16h5v-5H2v5zM13 7h5V2h-5v5zM8 2v5h4V2H8z" opacity=".6"/><path d="M15.5 11.5l1.323 2.68 2.957.43-2.14 2.085.505 2.946L15.5 18.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L15.5 11.5zM13 6a1 1 0 0 1 1 1v3.172a2.047 2.047 0 0 0-.293.443l-.858 1.736-1.916.28-.151.027A1.976 1.976 0 0 0 9.315 14H7a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6zm-1 2H8v4h4V8z"/></svg>';const LR=500;const VR={borderStyle:"tableCellBorderStyle",borderColor:"tableCellBorderColor",borderWidth:"tableCellBorderWidth",width:"tableCellWidth",height:"tableCellHeight",padding:"tableCellPadding",backgroundColor:"tableCellBackgroundColor",horizontalAlignment:"tableCellHorizontalAlignment",verticalAlignment:"tableCellVerticalAlignment"};class DR extends Cw{static get requires(){return[dT]}static get pluginName(){return"TableCellPropertiesUI"}constructor(t){super(t);t.config.define("table.tableCellProperties",{borderColors:bR,backgroundColors:bR})}init(){const t=this.editor;const e=t.t;this._balloon=t.plugins.get(dT);this.view=this._createPropertiesView();this._undoStepBatch=null;t.ui.componentFactory.add("tableCellProperties",n=>{const i=new Gb(n);i.set({label:e("Cell properties"),icon:RR,tooltip:true});this.listenTo(i,"execute",()=>this._showView());const o=Object.values(VR).map(e=>t.commands.get(e));i.bind("isEnabled").toMany(o,"isEnabled",(...t)=>t.some(t=>t));return i})}destroy(){super.destroy();this.view.destroy()}_createPropertiesView(){const t=this.editor;const e=t.editing.view.document;const n=t.config.get("table.tableCellProperties");const i=uC(n.borderColors);const o=dC(t.locale,i);const r=uC(n.backgroundColors);const s=dC(t.locale,r);const a=new NR(t.locale,{borderColors:o,backgroundColors:s});const c=t.t;a.render();this.listenTo(a,"submit",()=>{this._hideView()});this.listenTo(a,"cancel",()=>{if(this._undoStepBatch.operations.length){t.execute("undo",this._undoStepBatch)}this._hideView()});a.keystrokes.set("Esc",(t,e)=>{this._hideView();e()});this.listenTo(t.ui,"update",()=>{if(!UI(e.selection)){this._hideView()}else if(this._isViewVisible){sR(t,"cell")}});nw({emitter:a,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const l=dR(c);const d=uR(c);a.on("change:borderStyle",this._getPropertyChangeCallback("tableCellBorderStyle"));a.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:a.borderColorInput,commandName:"tableCellBorderColor",errorText:l,validator:hR}));a.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:a.borderWidthInput,commandName:"tableCellBorderWidth",errorText:d,validator:mR}));a.on("change:padding",this._getValidatedPropertyChangeCallback({viewField:a.paddingInput,commandName:"tableCellPadding",errorText:d,validator:fR}));a.on("change:width",this._getValidatedPropertyChangeCallback({viewField:a.widthInput,commandName:"tableCellWidth",errorText:d,validator:fR}));a.on("change:height",this._getValidatedPropertyChangeCallback({viewField:a.heightInput,commandName:"tableCellHeight",errorText:d,validator:fR}));a.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:a.backgroundInput,commandName:"tableCellBackgroundColor",errorText:l,validator:hR}));a.on("change:horizontalAlignment",this._getPropertyChangeCallback("tableCellHorizontalAlignment"));a.on("change:verticalAlignment",this._getPropertyChangeCallback("tableCellVerticalAlignment"));return a}_fillViewFormFromCommandValues(){const t=this.editor.commands;Object.entries(VR).map(([e,n])=>[e,t.get(n).value||""]).forEach(([t,e])=>this.view.set(t,e))}_showView(){const t=this.editor;this._balloon.add({view:this.view,position:cR(t)});this._undoStepBatch=t.model.createBatch();this._fillViewFormFromCommandValues();this.view.focus()}_hideView(){if(!this._isViewInBalloon){return}const t=this.editor;this.stopListening(t.ui,"update");this.view.saveButtonView.focus();this._balloon.remove(this.view);this.editor.editing.view.focus()}get _isViewVisible(){return this._balloon.visibleView===this.view}get _isViewInBalloon(){return this._balloon.hasView(this.view)}_getPropertyChangeCallback(t){return(e,n,i)=>{this.editor.execute(t,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback({commandName:t,viewField:e,validator:n,errorText:i}){const o=uh(()=>{e.errorText=i},LR);return(i,r,s)=>{o.cancel();if(n(s)){this.editor.execute(t,{value:s,batch:this._undoStepBatch});e.errorText=null}else{o()}}}}function zR(t){t.setNormalizer("border",BR);t.setNormalizer("border-top",jR("top"));t.setNormalizer("border-right",jR("right"));t.setNormalizer("border-bottom",jR("bottom"));t.setNormalizer("border-left",jR("left"));t.setNormalizer("border-color",FR("color"));t.setNormalizer("border-width",FR("width"));t.setNormalizer("border-style",FR("style"));t.setNormalizer("border-top-color",UR("color","top"));t.setNormalizer("border-top-style",UR("style","top"));t.setNormalizer("border-top-width",UR("width","top"));t.setNormalizer("border-right-color",UR("color","right"));t.setNormalizer("border-right-style",UR("style","right"));t.setNormalizer("border-right-width",UR("width","right"));t.setNormalizer("border-bottom-color",UR("color","bottom"));t.setNormalizer("border-bottom-style",UR("style","bottom"));t.setNormalizer("border-bottom-width",UR("width","bottom"));t.setNormalizer("border-left-color",UR("color","left"));t.setNormalizer("border-left-style",UR("style","left"));t.setNormalizer("border-left-width",UR("width","left"));t.setExtractor("border-top",qR("top"));t.setExtractor("border-right",qR("right"));t.setExtractor("border-bottom",qR("bottom"));t.setExtractor("border-left",qR("left"));t.setExtractor("border-top-color","border.color.top");t.setExtractor("border-right-color","border.color.right");t.setExtractor("border-bottom-color","border.color.bottom");t.setExtractor("border-left-color","border.color.left");t.setExtractor("border-top-width","border.width.top");t.setExtractor("border-right-width","border.width.right");t.setExtractor("border-bottom-width","border.width.bottom");t.setExtractor("border-left-width","border.width.left");t.setExtractor("border-top-style","border.style.top");t.setExtractor("border-right-style","border.style.right");t.setExtractor("border-bottom-style","border.style.bottom");t.setExtractor("border-left-style","border.style.left");t.setReducer("border-color",dP("border-color"));t.setReducer("border-style",dP("border-style"));t.setReducer("border-width",dP("border-width"));t.setReducer("border-top",YR("top"));t.setReducer("border-right",YR("right"));t.setReducer("border-bottom",YR("bottom"));t.setReducer("border-left",YR("left"));t.setReducer("border",GR);t.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]);t.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]);t.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]);t.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]);t.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]);t.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function BR(t){const{color:e,style:n,width:i}=$R(t);return{path:"border",value:{color:lP(e),style:lP(n),width:lP(i)}}}function jR(t){return e=>{const{color:n,style:i,width:o}=$R(e);const r={};if(n!==undefined){r.color={[t]:n}}if(i!==undefined){r.style={[t]:i}}if(o!==undefined){r.width={[t]:o}}return{path:"border",value:r}}}function FR(t){return e=>({path:"border",value:HR(e,t)})}function HR(t,e){return{[e]:lP(t)}}function UR(t,e){return n=>({path:"border",value:{[t]:{[e]:n}}})}function qR(t){return(e,n)=>{if(n.border){return WR(n.border,t)}}}function WR(t,e){const n={};if(t.width&&t.width[e]){n.width=t.width[e]}if(t.style&&t.style[e]){n.style=t.style[e]}if(t.color&&t.color[e]){n.color=t.color[e]}return n}function $R(t){const e={};const n=fP(t);for(const t of n){if(ZS(t)||/thin|medium|thick/.test(t)){e.width=t}else if(QS(t)){e.style=t}else{e.color=t}}return e}function GR(t){const e=[];e.push(...KR(WR(t,"top"),"top"));e.push(...KR(WR(t,"right"),"right"));e.push(...KR(WR(t,"bottom"),"bottom"));e.push(...KR(WR(t,"left"),"left"));return e}function YR(t){return e=>KR(e,t)}function KR(t,e){const n=[];if(t&&t.width!==undefined){n.push(t.width)}if(t&&t.style!==undefined){n.push(t.style)}if(t&&t.color!==undefined){n.push(t.color)}if(n.length){return[[`border-${e}`,n.join(" ")]]}return[]}function QR(t){t.setNormalizer("padding",hP("padding"));t.setNormalizer("padding-top",t=>({path:"padding.top",value:t}));t.setNormalizer("padding-right",t=>({path:"padding.right",value:t}));t.setNormalizer("padding-bottom",t=>({path:"padding.bottom",value:t}));t.setNormalizer("padding-left",t=>({path:"padding.left",value:t}));t.setReducer("padding",dP("padding"));t.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}function JR(t){t.setNormalizer("background",ZR);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 ZR(t){const e={};const n=fP(t);for(const t of n){if(nP(t)){e.repeat=e.repeat||[];e.repeat.push(t)}else if(oP(t)){e.position=e.position||[];e.position.push(t)}else if(sP(t)){e.attachment=t}else if(YS(t)){e.color=t}else if(cP(t)){e.image=t}}return{path:"background",value:e}}function XR(t,e,n,i){t.for("upcast").attributeToAttribute({view:{styles:{[i]:/[\s\S]+/}},model:{name:e,key:n,value:t=>t.getNormalizedStyle(i)}})}function tL(t,e){t.for("upcast").add(t=>t.on("element:"+e,(t,e,n)=>{const i=["border-top","border-right","border-bottom","border-left"].filter(t=>e.viewItem.hasStyle(t));if(!i.length){return}const o={styles:i};if(!n.consumable.test(e.viewItem,o)){return}if(!e.modelRange){e=Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor))}const r=[...e.modelRange.getItems({shallow:true})].pop();n.consumable.consume(e.viewItem,o);n.writer.setAttribute("borderStyle",e.viewItem.getNormalizedStyle("border-style"),r);n.writer.setAttribute("borderColor",e.viewItem.getNormalizedStyle("border-color"),r);n.writer.setAttribute("borderWidth",e.viewItem.getNormalizedStyle("border-width"),r)}))}function eL(t,e,n,i){t.for("downcast").attributeToAttribute({model:{name:e,key:n},view:t=>({key:"style",value:{[i]:t}})})}function nL(t,e,n){t.for("downcast").add(t=>t.on(`attribute:${e}:table`,(t,e,i)=>{const{item:o,attributeNewValue:r}=e;const{mapper:s,writer:a}=i;if(!i.consumable.consume(e.item,t.name)){return}const c=[...s.toViewElement(o).getChildren()].find(t=>t.is("table"));if(r){a.setStyle(n,r,c)}else{a.removeStyle(n,c)}}))}class iL extends Tw{constructor(t,e){super(t);this.attributeName=e}refresh(){const t=this.editor;const e=$I(t.model.document.selection);this.isEnabled=!!e.length;this.value=this._getSingleValue(e)}execute(t={}){const{value:e,batch:n}=t;const i=this.editor.model;const o=$I(i.document.selection);const r=this._getValueToSet(e);i.enqueueChange(n||"default",t=>{if(r){o.forEach(e=>t.setAttribute(this.attributeName,r,e))}else{o.forEach(e=>t.removeAttribute(this.attributeName,e))}})}_getAttribute(t){if(!t){return}return t.getAttribute(this.attributeName)}_getValueToSet(t){return t}_getSingleValue(t){const e=this._getAttribute(t[0]);const n=t.every(t=>this._getAttribute(t)===e);return n?e:undefined}}class oL extends iL{constructor(t){super(t,"padding")}_getAttribute(t){if(!t){return}return II(t.getAttribute(this.attributeName))}_getValueToSet(t){return NI(t,"px")}}class rL extends iL{constructor(t){super(t,"width")}_getValueToSet(t){return NI(t,"px")}}class sL extends iL{constructor(t){super(t,"height")}_getValueToSet(t){return NI(t,"px")}}class aL extends iL{constructor(t){super(t,"backgroundColor")}}class cL extends iL{constructor(t){super(t,"verticalAlignment")}}class lL extends iL{constructor(t){super(t,"horizontalAlignment")}}class dL extends iL{constructor(t){super(t,"borderStyle")}_getAttribute(t){if(!t){return}return II(t.getAttribute(this.attributeName))}}class uL extends iL{constructor(t){super(t,"borderColor")}_getAttribute(t){if(!t){return}return II(t.getAttribute(this.attributeName))}}class hL extends iL{constructor(t){super(t,"borderWidth")}_getAttribute(t){if(!t){return}return II(t.getAttribute(this.attributeName))}_getValueToSet(t){return NI(t,"px")}}const fL=/^(top|bottom)$/;class mL extends Cw{static get pluginName(){return"TableCellPropertiesEditing"}static get requires(){return[_O]}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.locale;t.data.addStyleProcessorRules(zR);gL(e,n);t.commands.add("tableCellBorderStyle",new dL(t));t.commands.add("tableCellBorderColor",new uL(t));t.commands.add("tableCellBorderWidth",new hL(t));pL(e,n,i);t.commands.add("tableCellHorizontalAlignment",new lL(t));wL(e,n,"width","width");t.commands.add("tableCellWidth",new rL(t));wL(e,n,"height","height");t.commands.add("tableCellHeight",new sL(t));t.data.addStyleProcessorRules(QR);wL(e,n,"padding","padding");t.commands.add("tableCellPadding",new oL(t));t.data.addStyleProcessorRules(JR);wL(e,n,"backgroundColor","background-color");t.commands.add("tableCellBackgroundColor",new aL(t));bL(e,n);t.commands.add("tableCellVerticalAlignment",new cL(t))}}function gL(t,e){t.extend("tableCell",{allowAttributes:["borderWidth","borderColor","borderStyle"]});tL(e,"td");tL(e,"th");eL(e,"tableCell","borderStyle","border-style");eL(e,"tableCell","borderColor","border-color");eL(e,"tableCell","borderWidth","border-width")}function pL(t,e,n){t.extend("tableCell",{allowAttributes:["horizontalAlignment"]});const i=[n.contentLanguageDirection=="rtl"?"left":"right","center","justify"];e.attributeToAttribute({model:{name:"tableCell",key:"horizontalAlignment",values:i},view:i.reduce((t,e)=>({...t,[e]:{key:"style",value:{"text-align":e}}}),{})})}function bL(t,e){t.extend("tableCell",{allowAttributes:["verticalAlignment"]});e.attributeToAttribute({model:{name:"tableCell",key:"verticalAlignment",values:["top","bottom"]},view:{top:{key:"style",value:{"vertical-align":"top"}},bottom:{key:"style",value:{"vertical-align":"bottom"}}}});e.for("upcast").attributeToAttribute({view:{attributes:{valign:fL}},model:{name:"tableCell",key:"verticalAlignment",value:t=>t.getAttribute("valign")}})}function wL(t,e,n,i){t.extend("tableCell",{allowAttributes:[n]});XR(e,"tableCell",n,i);eL(e,"tableCell",n,i)}class kL extends Cw{static get pluginName(){return"TableCellProperties"}static get requires(){return[mL,DR]}}class _L extends Tw{constructor(t,e){super(t);this.attributeName=e}refresh(){const t=this.editor;const e=t.model.document.selection;const n=PI("table",e.getFirstPosition());this.isEnabled=!!n;this.value=this._getValue(n)}execute(t={}){const e=this.editor.model;const n=e.document.selection;const{value:i,batch:o}=t;const r=PI("table",n.getFirstPosition());const s=this._getValueToSet(i);e.enqueueChange(o||"default",t=>{if(s){t.setAttribute(this.attributeName,s,r)}else{t.removeAttribute(this.attributeName,r)}})}_getValue(t){if(!t){return}return t.getAttribute(this.attributeName)}_getValueToSet(t){return t}}class vL extends _L{constructor(t){super(t,"backgroundColor")}}class yL extends _L{constructor(t){super(t,"borderColor")}_getValue(t){if(!t){return}return II(t.getAttribute(this.attributeName))}}class xL extends _L{constructor(t){super(t,"borderStyle")}_getValue(t){if(!t){return}return II(t.getAttribute(this.attributeName))}}class CL extends _L{constructor(t){super(t,"borderWidth")}_getValue(t){if(!t){return}return II(t.getAttribute(this.attributeName))}_getValueToSet(t){return NI(t,"px")}}class AL extends _L{constructor(t){super(t,"width")}_getValueToSet(t){return NI(t,"px")}}class TL extends _L{constructor(t){super(t,"height")}_getValueToSet(t){return NI(t,"px")}}class SL extends _L{constructor(t){super(t,"alignment")}}const PL=/^(left|right)$/;class EL extends Cw{static get pluginName(){return"TablePropertiesEditing"}static get requires(){return[_O]}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;t.data.addStyleProcessorRules(zR);ML(e,n);t.commands.add("tableBorderColor",new yL(t));t.commands.add("tableBorderStyle",new xL(t));t.commands.add("tableBorderWidth",new CL(t));IL(e,n);t.commands.add("tableAlignment",new SL(t));OL(e,n,"width","width");t.commands.add("tableWidth",new AL(t));OL(e,n,"height","height");t.commands.add("tableHeight",new TL(t));t.data.addStyleProcessorRules(JR);NL(e,n,"backgroundColor","background-color");t.commands.add("tableBackgroundColor",new vL(t))}}function ML(t,e){t.extend("table",{allowAttributes:["borderWidth","borderColor","borderStyle"]});tL(e,"table");nL(e,"borderColor","border-color");nL(e,"borderStyle","border-style");nL(e,"borderWidth","border-width")}function IL(t,e){t.extend("table",{allowAttributes:["alignment"]});e.attributeToAttribute({model:{name:"table",key:"alignment",values:["left","right"]},view:{left:{key:"style",value:{float:"left"}},right:{key:"style",value:{float:"right"}}},converterPriority:"high"});e.for("upcast").attributeToAttribute({view:{attributes:{align:PL}},model:{name:"table",key:"alignment",value:t=>t.getAttribute("align")}})}function NL(t,e,n,i){t.extend("table",{allowAttributes:[n]});XR(e,"table",n,i);nL(e,n,i)}function OL(t,e,n,i){t.extend("table",{allowAttributes:[n]});XR(e,"table",n,i);eL(e,"table",n,i)}var RL=n(130);const LL={left:DT,center:zT,right:BT};class VL extends mb{constructor(t,e){super(t);this.set({borderStyle:"",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",alignment:""});this.options=e;const{borderStyleDropdown:n,borderWidthInput:i,borderColorInput:o,borderRowLabel:r}=this._createBorderFields();const{widthInput:s,operatorLabel:a,heightInput:c,dimensionsLabel:l}=this._createDimensionFields();const{alignmentToolbar:d,alignmentLabel:u}=this._createAlignmentFields();this.focusTracker=new xp;this.keystrokes=new mp;this.children=this.createCollection();this.borderStyleDropdown=n;this.borderWidthInput=i;this.borderColorInput=o;this.backgroundInput=this._createBackgroundField();this.widthInput=s;this.heightInput=c;this.alignmentToolbar=d;const{saveButtonView:h,cancelButtonView:f}=this._createActionButtons();this.saveButtonView=h;this.cancelButtonView=f;this._focusables=new zp;this._focusCycler=new Cb({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.children.add(new rI(t,{label:this.t("Table properties")}));this.children.add(new CR(t,{labelView:r,children:[r,n,o,i],class:"ck-table-form__border-row"}));this.children.add(new CR(t,{children:[this.backgroundInput]}));this.children.add(new CR(t,{children:[new CR(t,{labelView:l,children:[l,s,a,c],class:"ck-table-form__dimensions-row"}),new CR(t,{labelView:u,children:[u,d],class:"ck-table-properties-form__alignment-row"})]}));this.children.add(new CR(t,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render();tT({view:this});[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.alignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t);this.focusTracker.add(t.element)});this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const t=wR({colorConfig:this.options.borderColors,columns:5});const e=this.locale;const n=this.t;const i=new Yx(e);i.text=n("Border");const o=lR(this.t);const r=new KA(e,XA);r.set({label:n("Style"),class:"ck-table-form__border-style"});r.fieldView.buttonView.set({isOn:false,withText:true,tooltip:n("Style")});r.fieldView.buttonView.bind("label").to(this,"borderStyle",t=>o[t?t:"none"]);r.fieldView.on("execute",t=>{this.borderStyle=t.source._borderStyleValue});aw(r.fieldView,gR(this));const s=new KA(e,ZA);s.set({label:n("Width"),class:"ck-table-form__border-width"});s.fieldView.bind("value").to(this,"borderWidth");s.bind("isEnabled").to(this,"borderStyle",DL);s.fieldView.on("input",()=>{this.borderWidth=s.fieldView.element.value});const a=new KA(e,t);a.set({label:n("Color"),class:"ck-table-form__border-color"});a.fieldView.bind("value").to(this,"borderColor");a.bind("isEnabled").to(this,"borderStyle",DL);a.fieldView.on("input",()=>{this.borderColor=a.fieldView.value});this.on("change:borderStyle",(t,e,n)=>{if(!DL(n)){this.borderColor="";this.borderWidth=""}});return{borderRowLabel:i,borderStyleDropdown:r,borderColorInput:a,borderWidthInput:s}}_createBackgroundField(){const t=wR({colorConfig:this.options.backgroundColors,columns:5});const e=this.locale;const n=this.t;const i=new KA(e,t);i.set({label:n("Background"),class:"ck-table-properties-form__background"});i.fieldView.bind("value").to(this,"backgroundColor");i.fieldView.on("input",()=>{this.backgroundColor=i.fieldView.value});return i}_createDimensionFields(){const t=this.locale;const e=this.t;const n=new Yx(t);n.text=e("Dimensions");const i=new KA(t,ZA);i.set({label:e("Width"),class:"ck-table-form__dimensions-row__width"});i.fieldView.bind("value").to(this,"width");i.fieldView.on("input",()=>{this.width=i.fieldView.element.value});const o=new mb(t);o.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const r=new KA(t,ZA);r.set({label:e("Height"),class:"ck-table-form__dimensions-row__height"});r.fieldView.bind("value").to(this,"height");r.fieldView.on("input",()=>{this.height=r.fieldView.element.value});return{dimensionsLabel:n,widthInput:i,operatorLabel:o,heightInput:r}}_createAlignmentFields(){const t=this.locale;const e=this.t;const n=new Yx(t);n.text=e("Alignment");const i=new mw(t);i.set({isCompact:true,ariaLabel:e("Table alignment toolbar")});pR({view:this,icons:LL,toolbar:i,labels:this._alignmentLabels,propertyName:"alignment",nameToValue:t=>t==="center"?"":t});return{alignmentLabel:n,alignmentToolbar:i}}_createActionButtons(){const t=this.locale;const e=this.t;const n=new Gb(t);const i=new Gb(t);const o=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.widthInput,this.heightInput];n.set({label:e("Save"),icon:eT,class:"ck-button-save",type:"submit",withText:true});n.bind("isEnabled").toMany(o,"errorText",(...t)=>t.every(t=>!t));i.set({label:e("Cancel"),icon:nT,class:"ck-button-cancel",type:"cancel",withText:true});i.delegate("execute").to(this,"cancel");return{saveButtonView:n,cancelButtonView:i}}get _alignmentLabels(){const t=this.locale;const e=this.t;const n=e("Align table to the left");const i=e("Center table");const o=e("Align table to the right");if(t.uiLanguageDirection==="rtl"){return{right:o,center:i,left:n}}else{return{left:n,center:i,right:o}}}}function DL(t){return!!t}var zL='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8 2v5h4V2h1v5h5v1h-5v4h.021l-.172.351-1.916.28-.151.027c-.287.063-.54.182-.755.341L8 13v5H7v-5H2v-1h5V8H2V7h5V2h1zm4 6H8v4h4V8z" opacity=".6"/><path d="M15.5 11.5l1.323 2.68 2.957.43-2.14 2.085.505 2.946L15.5 18.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L15.5 11.5zM17 1a2 2 0 0 1 2 2v9.475l-.85-.124-.857-1.736a2.048 2.048 0 0 0-.292-.44L17 3H3v14h7.808l.402.392L10.935 19H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h14z"/></svg>';const BL=500;const jL={borderStyle:"tableBorderStyle",borderColor:"tableBorderColor",borderWidth:"tableBorderWidth",backgroundColor:"tableBackgroundColor",width:"tableWidth",height:"tableHeight",alignment:"tableAlignment"};class FL extends Cw{static get requires(){return[dT]}static get pluginName(){return"TablePropertiesUI"}constructor(t){super(t);t.config.define("table.tableProperties",{borderColors:bR,backgroundColors:bR})}init(){const t=this.editor;const e=t.t;this._balloon=t.plugins.get(dT);this.view=this._createPropertiesView();this._undoStepBatch=null;t.ui.componentFactory.add("tableProperties",n=>{const i=new Gb(n);i.set({label:e("Table properties"),icon:zL,tooltip:true});this.listenTo(i,"execute",()=>this._showView());const o=Object.values(jL).map(e=>t.commands.get(e));i.bind("isEnabled").toMany(o,"isEnabled",(...t)=>t.some(t=>t));return i})}destroy(){super.destroy();this.view.destroy()}_createPropertiesView(){const t=this.editor;const e=t.editing.view.document;const n=t.config.get("table.tableProperties");const i=uC(n.borderColors);const o=dC(t.locale,i);const r=uC(n.backgroundColors);const s=dC(t.locale,r);const a=new VL(t.locale,{borderColors:o,backgroundColors:s});const c=t.t;a.render();this.listenTo(a,"submit",()=>{this._hideView()});this.listenTo(a,"cancel",()=>{if(this._undoStepBatch.operations.length){t.execute("undo",this._undoStepBatch)}this._hideView()});a.keystrokes.set("Esc",(t,e)=>{this._hideView();e()});this.listenTo(t.ui,"update",()=>{if(!UI(e.selection)){this._hideView()}else if(this._isViewVisible){sR(t,"table")}});nw({emitter:a,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const l=dR(c);const d=uR(c);a.on("change:borderStyle",this._getPropertyChangeCallback("tableBorderStyle"));a.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:a.borderColorInput,commandName:"tableBorderColor",errorText:l,validator:hR}));a.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:a.borderWidthInput,commandName:"tableBorderWidth",errorText:d,validator:mR}));a.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:a.backgroundInput,commandName:"tableBackgroundColor",errorText:l,validator:hR}));a.on("change:width",this._getValidatedPropertyChangeCallback({viewField:a.widthInput,commandName:"tableWidth",errorText:d,validator:fR}));a.on("change:height",this._getValidatedPropertyChangeCallback({viewField:a.heightInput,commandName:"tableHeight",errorText:d,validator:fR}));a.on("change:alignment",this._getPropertyChangeCallback("tableAlignment"));return a}_fillViewFormFromCommandValues(){const t=this.editor.commands;Object.entries(jL).map(([e,n])=>[e,t.get(n).value||""]).forEach(([t,e])=>this.view.set(t,e))}_showView(){const t=this.editor;this._balloon.add({view:this.view,position:aR(t)});this._undoStepBatch=t.model.createBatch();this._fillViewFormFromCommandValues();this.view.focus()}_hideView(){if(!this._isViewInBalloon){return}const t=this.editor;this.stopListening(t.ui,"update");this.view.saveButtonView.focus();this._balloon.remove(this.view);this.editor.editing.view.focus()}get _isViewVisible(){return this._balloon.visibleView===this.view}get _isViewInBalloon(){return this._balloon.hasView(this.view)}_getPropertyChangeCallback(t){return(e,n,i)=>{this.editor.execute(t,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback({commandName:t,viewField:e,validator:n,errorText:i}){const o=uh(()=>{e.errorText=i},BL);return(i,r,s)=>{o.cancel();if(n(s)){this.editor.execute(t,{value:s,batch:this._undoStepBatch});e.errorText=null}else{o()}}}}class HL extends Cw{static get pluginName(){return"TableProperties"}static get requires(){return[EL,FL]}}class UL extends Cw{static get requires(){return[KT]}static get pluginName(){return"TableToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(KT);const i=t.config.get("table.contentToolbar");const o=t.config.get("table.tableToolbar");if(i){n.register("tableContent",{ariaLabel:e("Table toolbar"),items:i,getRelatedElement:UI})}if(o){n.register("table",{ariaLabel:e("Table toolbar"),items:o,getRelatedElement:HI})}}}var qL=/[\\^$.*+?()[\]{}|]/g,WL=RegExp(qL.source);function $L(t){t=va(t);return t&&WL.test(t)?t.replace(qL,"\\$&"):t}var GL=$L;const YL={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:"1/2",to:"½"},oneThird:{from:"1/3",to:"⅓"},twoThirds:{from:"2/3",to:"⅔"},oneForth:{from:"1/4",to:"¼"},threeQuarters:{from:"3/4",to:"¾"},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:eV('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:eV("'"),to:[null,"",null,""]},quotesPrimaryEnGb:{from:eV("'"),to:[null,"",null,""]},quotesSecondaryEnGb:{from:eV('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:eV('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:eV("'"),to:[null,"",null,""]}};const KL={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]};const QL=["symbols","mathematical","typography","quotes"];class JL extends Cw{static get pluginName(){return"TextTransformation"}constructor(t){super(t);t.config.define("typing",{transformations:{include:QL}})}init(){const t=this.editor.model;const e=t.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("codeBlock")});this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get("Input");const i=nV(t.config.get("typing.transformations"));const o=t=>{for(const e of i){const n=e.from;const i=n.test(t);if(i){return{normalizedTransformation:e}}}};const r=(t,i)=>{if(!n.isInput(i.batch)){return}const{from:o,to:r}=i.normalizedTransformation;const s=o.exec(i.text);const a=r(s.slice(1));const c=i.range;let l=s.index;e.enqueueChange(t=>{for(let n=1;n<s.length;n++){const i=s[n];const o=a[n-1];if(o==null){l+=i.length;continue}const r=c.start.getShiftedBy(l);const d=e.createRange(r,r.getShiftedBy(i.length));const u=tV(r);e.insertContent(t.createText(o,u),d);l+=o.length}})};const s=new XE(t.model,o);s.on("matched:data",r);s.bind("isEnabled").to(this)}}function ZL(t){if(typeof t=="string"){return new RegExp(`(${GL(t)})$`)}return t}function XL(t){if(typeof t=="string"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function tV(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function eV(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function nV(t){const e=t.extra||[];const n=t.remove||[];const i=t=>!n.includes(t);const o=t.include.concat(e).filter(i);return iV(o).filter(i).map(t=>YL[t]||t).map(t=>({from:ZL(t.from),to:XL(t.to)}))}function iV(t){const e=new Set;for(const n of t){if(KL[n]){for(const t of KL[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}const oV="todoListChecked";class rV extends Tw{constructor(t){super(t);this._selectedElements=[];this.on("execute",()=>{this.refresh()},{priority:"highest"})}refresh(){this._selectedElements=this._getSelectedItems();this.value=this._selectedElements.every(t=>!!t.getAttribute("todoListChecked"));this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,oV)){o.push(i)}for(const t of n.getItems()){if(e.checkAttribute(t,oV)&&!o.includes(t)){o.push(t)}}return o}execute(t={}){this.editor.model.change(e=>{for(const n of this._selectedElements){const i=t.forceValue===undefined?!this.value:t.forceValue;if(i){e.setAttribute(oV,true,n)}else{e.removeAttribute(oV,n)}}})}}function sV(t,e){return(n,i,o)=>{const r=o.consumable;if(!r.test(i.item,"insert")||!r.test(i.item,"attribute:listType")||!r.test(i.item,"attribute:listIndent")){return}if(i.item.getAttribute("listType")!="todo"){return}const s=i.item;r.consume(s,"insert");r.consume(s,"attribute:listType");r.consume(s,"attribute:listIndent");r.consume(s,"attribute:todoListChecked");const a=o.writer;const c=BP(s,o);const l=!!s.getAttribute("todoListChecked");const d=fV(s,a,l,e);a.addClass("todo-list",c.parent);a.insert(a.createPositionAt(c,0),d);jP(s,c,o,t)}}function aV(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,"insert")||!o.test(n.item,"attribute:listType")||!o.test(n.item,"attribute:listIndent")){return}if(n.item.getAttribute("listType")!="todo"){return}o.consume(n.item,"insert");o.consume(n.item,"attribute:listType");o.consume(n.item,"attribute:listIndent");const r=i.writer;const s=n.item;const a=BP(s,i);r.addClass("todo-list",a.parent);const c=r.createAttributeElement("label",{class:"todo-list__label"});const l=r.createEmptyElement("input",{type:"checkbox",disabled:"disabled"});if(n.item.getAttribute("todoListChecked")){r.setAttribute("checked","checked",l);r.addClass("todo-list__label",c)}r.insert(r.createPositionAt(a,0),l);r.wrap(r.createRangeOn(l),c);jP(s,a,i,t)}}function cV(t,e,n){const i=e.range.start.parent;if(i.name!="listItem"||i.getAttribute("listType")!="todo"){return}if(!n.consumable.consume(e.item,"insert")){return}const o=n.writer;const r=n.mapper.toViewPosition(e.range.start);const s=o.createText(e.item.data);const a=o.createAttributeElement("span",{class:"todo-list__label__description"});const c=r.parent.getChild(0);o.insert(o.createPositionAt(r.parent,"end"),s);o.wrap(o.createRangeOn(s),a);o.wrap(o.createRangeOn(s.parent),c)}function lV(t,e,n){const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(r.getAttribute("type")!="checkbox"||o.name!="listItem"||!i.isAtStart){return}if(!n.consumable.consume(r,{name:true})){return}const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)}function dV(t,e){return(n,i,o)=>{const r=o.mapper.toViewElement(i.item);const s=o.writer;if(i.attributeNewValue=="todo"){const e=!!i.item.getAttribute("todoListChecked");const n=fV(i.item,s,e,t);s.addClass("todo-list",r.parent);s.insert(s.createPositionAt(r,0),n)}else if(i.attributeOldValue=="todo"){s.removeClass("todo-list",r.parent);s.remove(mV(r,e))}}}function uV(t){return(e,n,i)=>{if(n.item.getAttribute("listType")!="todo"){return}if(!i.consumable.consume(n.item,"attribute:todoListChecked")){return}const{mapper:o,writer:r}=i;const s=!!n.item.getAttribute("todoListChecked");const a=o.toViewElement(n.item);const c=a.getChild(0);const l=fV(n.item,r,s,t);r.insert(r.createPositionAfter(c),l);r.remove(c)}}function hV(t,e){return(n,i)=>{const o=i.modelPosition;const r=o.parent;if(!r.is("listItem")||r.getAttribute("listType")!="todo"||o.offset!==0){return}const s=e.toViewElement(r);const a=mV(s,t);if(!a){return}if(a.nextSibling&&!a.nextSibling.is("uiElement")){i.viewPosition=t.createPositionAt(a.nextSibling,0)}else{i.viewPosition=t.createPositionAfter(a)}}}function fV(t,e,n,i){const o=e.createUIElement("label",{class:"todo-list__label",contenteditable:false},(function(e){const o=wb(document,"input",{type:"checkbox"});if(n){o.setAttribute("checked","checked")}o.addEventListener("change",()=>i(t));const r=this.toDomElement(e);r.appendChild(o);return r}));return o}function mV(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is("uiElement","label")){return t.item}}}class gV extends Cw{static get pluginName(){return"TodoListEditing"}static get requires(){return[uE]}init(){const t=this.editor;const{editing:e,data:n,model:i}=t;i.schema.extend("listItem",{allowAttributes:["todoListChecked"]});i.schema.addAttributeCheck((t,e)=>{const n=t.last;if(e=="todoListChecked"&&n.name=="listItem"&&n.getAttribute("listType")!="todo"){return false}});t.commands.add("todoList",new RP(t,"todo"));t.commands.add("todoListCheck",new rV(t));n.downcastDispatcher.on("insert:listItem",aV(i),{priority:"high"});n.downcastDispatcher.on("insert:$text",cV,{priority:"high"});e.downcastDispatcher.on("insert:listItem",sV(i,t=>this._handleCheckmarkChange(t)),{priority:"high"});e.downcastDispatcher.on("attribute:listType:listItem",dV(t=>this._handleCheckmarkChange(t),e.view));e.downcastDispatcher.on("attribute:todoListChecked:listItem",uV(t=>this._handleCheckmarkChange(t)));e.mapper.on("modelToViewPosition",hV(e.view,e.mapper));n.upcastDispatcher.on("element:input",lV,{priority:"high"});const o=t.locale.contentLanguageDirection==="ltr"?"arrowleft":"arrowright";t.keystrokes.set(o,(t,e)=>pV(e,i));t.keystrokes.set("Ctrl+space",()=>t.execute("todoListCheck"));const r=new Set;this.listenTo(i,"applyOperation",(t,e)=>{const n=e[0];if(n.type=="rename"&&n.oldName=="listItem"){const t=n.position.nodeAfter;if(t.hasAttribute("todoListChecked")){r.add(t)}}else if(n.type=="changeAttribute"&&n.key=="listType"&&n.oldValue==="todo"){for(const t of n.range.getItems()){if(t.hasAttribute("todoListChecked")&&t.getAttribute("listType")!=="todo"){r.add(t)}}}});i.document.registerPostFixer(t=>{let e=false;for(const n of r){t.removeAttribute("todoListChecked",n);e=true}r.clear();return e})}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change(n=>{n.setSelection(t,"end");e.execute("todoListCheck");n.setSelection(i)})}}function pV(t,e){const n=e.schema;const i=e.document.selection;if(!i.isCollapsed){return}const o=i.getFirstPosition();const r=o.parent;if(r.name==="listItem"&&r.getAttribute("listType")=="todo"&&o.isAtStart){const i=n.getNearestSelectionRange(e.createPositionBefore(r),"backward");if(i){t();e.change(t=>t.setSelection(i))}}}var bV='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.315 14.705l2.224-2.24a.689.689 0 0 1 .963 0 .664.664 0 0 1 0 .949L2.865 16.07a.682.682 0 0 1-.112.089.647.647 0 0 1-.852-.051L.688 14.886a.635.635 0 0 1 0-.903.647.647 0 0 1 .91 0l.717.722zm5.185.045a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75zM2.329 5.745l2.21-2.226a.689.689 0 0 1 .963 0 .664.664 0 0 1 0 .95L2.865 7.125a.685.685 0 0 1-.496.196.644.644 0 0 1-.468-.187L.688 5.912a.635.635 0 0 1 0-.903.647.647 0 0 1 .91 0l.73.736zM7.5 5.75A.75.75 0 0 1 8.25 5h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z"/></svg>';class wV extends Cw{init(){const t=this.editor.t;qP(this.editor,"todoList",t("To-do List"),bV)}}var kV=n(132);class _V extends Cw{static get requires(){return[gV,wV]}static get pluginName(){return"TodoList"}}const vV="underline";class yV extends Cw{static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:vV});t.model.schema.setAttributeProperties(vV,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:vV,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}});t.commands.add(vV,new sk(t,vV));t.keystrokes.set("CTRL+U","underline")}}var xV='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 18v-1.5h14V18zm2.2-8V3.6c0-.4.4-.6.8-.6.3 0 .7.2.7.6v6.2c0 2 1.3 2.8 3.2 2.8 1.9 0 3.4-.9 3.4-2.9V3.6c0-.3.4-.5.8-.5.3 0 .7.2.7.5V10c0 2.7-2.2 4-4.9 4-2.6 0-4.7-1.2-4.7-4z"/></svg>';const CV="underline";class AV extends Cw{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(CV,n=>{const i=t.commands.get(CV);const o=new Gb(n);o.set({label:e("Underline"),icon:xV,keystroke:"CTRL+U",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",()=>{t.execute(CV);t.editing.view.focus()});return o})}}class TV extends Cw{static get requires(){return[yV,AV]}static get pluginName(){return"Underline"}}class SV extends yw{}SV.builtinPlugins=[qw,Kw,rk,hk,zv,Vv,Wv,Ty,Ox,Fx,pC,TC,FC,eA,uA,yA,kT,IT,YT,XT,IS,DS,gP,vP,OP,pE,jE,bM,WC,JM,iI,gI,vI,SI,ZO,kL,HL,UL,JL,_V,TV];var PV=e["default"]=SV}])["default"]}));
//# sourceMappingURL=ckeditor.js.map