From 57129b3861dc5baee135efc2e654584bfccc6d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=9C=B2=E5=B0=A7?= Date: Wed, 11 Jan 2023 15:25:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8B=E8=BD=BD=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=85=AC=E4=BC=97=E5=8F=B7=E6=96=87=E7=AB=A0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ManageController.cs | 3 + .../Controllers/VoteController.cs | 1 + .../Controllers/WXController.cs | 32 + .../Ewide.Web.Entry/Ewide.Web.Entry.csproj | 540 ++++ .../Views/Shared/_Layout.cshtml | 2 +- .../Views/WX/Index - 复制.cshtml | 86 + .../Ewide.Web.Entry/Views/WX/Index.cshtml | 36 + .../Ewide.Web.Entry/Views/WX/Result.cshtml | 60 + .../wwwroot/Contents/b_ckeditor/CHANGES.md | 1118 +++++++ .../wwwroot/Contents/b_ckeditor/LICENSE.md | 1420 +++++++++ .../wwwroot/Contents/b_ckeditor/README.md | 39 + .../Contents/b_ckeditor/adapters/jquery.js | 10 + .../Contents/b_ckeditor/build-config.js | 182 ++ .../wwwroot/Contents/b_ckeditor/ckeditor.js | 1091 +++++++ .../b_ckeditor/config/ContentConfig.js | 65 + .../b_ckeditor/config/SimpleContentConfig.js | 63 + .../wwwroot/Contents/b_ckeditor/contents.css | 135 + .../wwwroot/Contents/b_ckeditor/lang/af.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ar.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/bg.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/bn.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/bs.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ca.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/cs.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/cy.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/da.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/de-ch.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/de.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/el.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/en-au.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/en-ca.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/en-gb.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/en.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/eo.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/es.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/et.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/eu.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/fa.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/fi.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/fo.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/fr-ca.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/fr.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/gl.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/gu.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/he.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/hi.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/hr.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/hu.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/id.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/is.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/it.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ja.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ka.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/km.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ko.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ku.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/lt.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/lv.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/mk.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/mn.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ms.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/nb.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/nl.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/no.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/pl.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/pt-br.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/pt.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ro.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ru.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/si.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/sk.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/sl.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/sq.js | 5 + .../Contents/b_ckeditor/lang/sr-latn.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/sr.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/sv.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/th.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/tr.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/tt.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/ug.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/uk.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/vi.js | 5 + .../wwwroot/Contents/b_ckeditor/lang/zh-cn.js | 673 ++++ .../wwwroot/Contents/b_ckeditor/lang/zh.js | 5 + .../plugins/ImportWord/dialogs/ImportWord.js | 85 + .../ImportWord/dialogs/TransferWord.ashx | 129 + .../b_ckeditor/plugins/ImportWord/plugin.js | 15 + .../plugins/a11yhelp/dialogs/a11yhelp.js | 10 + .../dialogs/lang/_translationstatus.txt | 25 + .../plugins/a11yhelp/dialogs/lang/af.js | 11 + .../plugins/a11yhelp/dialogs/lang/ar.js | 11 + .../plugins/a11yhelp/dialogs/lang/bg.js | 11 + .../plugins/a11yhelp/dialogs/lang/ca.js | 12 + .../plugins/a11yhelp/dialogs/lang/cs.js | 12 + .../plugins/a11yhelp/dialogs/lang/cy.js | 11 + .../plugins/a11yhelp/dialogs/lang/da.js | 11 + .../plugins/a11yhelp/dialogs/lang/de-ch.js | 12 + .../plugins/a11yhelp/dialogs/lang/de.js | 12 + .../plugins/a11yhelp/dialogs/lang/el.js | 12 + .../plugins/a11yhelp/dialogs/lang/en-gb.js | 11 + .../plugins/a11yhelp/dialogs/lang/en.js | 11 + .../plugins/a11yhelp/dialogs/lang/eo.js | 13 + .../plugins/a11yhelp/dialogs/lang/es.js | 13 + .../plugins/a11yhelp/dialogs/lang/et.js | 11 + .../plugins/a11yhelp/dialogs/lang/eu.js | 12 + .../plugins/a11yhelp/dialogs/lang/fa.js | 11 + .../plugins/a11yhelp/dialogs/lang/fi.js | 11 + .../plugins/a11yhelp/dialogs/lang/fo.js | 11 + .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 11 + .../plugins/a11yhelp/dialogs/lang/fr.js | 13 + .../plugins/a11yhelp/dialogs/lang/gl.js | 12 + .../plugins/a11yhelp/dialogs/lang/gu.js | 11 + .../plugins/a11yhelp/dialogs/lang/he.js | 11 + .../plugins/a11yhelp/dialogs/lang/hi.js | 11 + .../plugins/a11yhelp/dialogs/lang/hr.js | 11 + .../plugins/a11yhelp/dialogs/lang/hu.js | 12 + .../plugins/a11yhelp/dialogs/lang/id.js | 11 + .../plugins/a11yhelp/dialogs/lang/it.js | 13 + .../plugins/a11yhelp/dialogs/lang/ja.js | 9 + .../plugins/a11yhelp/dialogs/lang/km.js | 11 + .../plugins/a11yhelp/dialogs/lang/ko.js | 10 + .../plugins/a11yhelp/dialogs/lang/ku.js | 11 + .../plugins/a11yhelp/dialogs/lang/lt.js | 11 + .../plugins/a11yhelp/dialogs/lang/lv.js | 12 + .../plugins/a11yhelp/dialogs/lang/mk.js | 11 + .../plugins/a11yhelp/dialogs/lang/mn.js | 11 + .../plugins/a11yhelp/dialogs/lang/nb.js | 12 + .../plugins/a11yhelp/dialogs/lang/nl.js | 11 + .../plugins/a11yhelp/dialogs/lang/no.js | 11 + .../plugins/a11yhelp/dialogs/lang/pl.js | 13 + .../plugins/a11yhelp/dialogs/lang/pt-br.js | 13 + .../plugins/a11yhelp/dialogs/lang/pt.js | 12 + .../plugins/a11yhelp/dialogs/lang/ro.js | 11 + .../plugins/a11yhelp/dialogs/lang/ru.js | 11 + .../plugins/a11yhelp/dialogs/lang/si.js | 10 + .../plugins/a11yhelp/dialogs/lang/sk.js | 11 + .../plugins/a11yhelp/dialogs/lang/sl.js | 11 + .../plugins/a11yhelp/dialogs/lang/sq.js | 11 + .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 11 + .../plugins/a11yhelp/dialogs/lang/sr.js | 11 + .../plugins/a11yhelp/dialogs/lang/sv.js | 11 + .../plugins/a11yhelp/dialogs/lang/th.js | 11 + .../plugins/a11yhelp/dialogs/lang/tr.js | 12 + .../plugins/a11yhelp/dialogs/lang/tt.js | 11 + .../plugins/a11yhelp/dialogs/lang/ug.js | 12 + .../plugins/a11yhelp/dialogs/lang/uk.js | 12 + .../plugins/a11yhelp/dialogs/lang/vi.js | 11 + .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 9 + .../plugins/a11yhelp/dialogs/lang/zh.js | 9 + .../b_ckeditor/plugins/about/dialogs/about.js | 8 + .../about/dialogs/hidpi/logo_ckeditor.png | Bin 0 -> 13339 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 0 -> 6757 bytes .../plugins/autoformat/images/autoformat.gif | Bin 0 -> 1036 bytes .../b_ckeditor/plugins/autoformat/plugin.js | 301 ++ .../plugins/clipboard/dev/console.js | 49 + .../plugins/clipboard/dialogs/paste.js | 254 ++ .../b_ckeditor/plugins/clipboard/lang/af.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ar.js | 15 + .../b_ckeditor/plugins/clipboard/lang/bg.js | 15 + .../b_ckeditor/plugins/clipboard/lang/bn.js | 15 + .../b_ckeditor/plugins/clipboard/lang/bs.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ca.js | 15 + .../b_ckeditor/plugins/clipboard/lang/cs.js | 15 + .../b_ckeditor/plugins/clipboard/lang/cy.js | 15 + .../b_ckeditor/plugins/clipboard/lang/da.js | 15 + .../plugins/clipboard/lang/de-ch.js | 15 + .../b_ckeditor/plugins/clipboard/lang/de.js | 15 + .../b_ckeditor/plugins/clipboard/lang/el.js | 15 + .../plugins/clipboard/lang/en-au.js | 15 + .../plugins/clipboard/lang/en-ca.js | 15 + .../plugins/clipboard/lang/en-gb.js | 15 + .../b_ckeditor/plugins/clipboard/lang/en.js | 15 + .../b_ckeditor/plugins/clipboard/lang/eo.js | 15 + .../b_ckeditor/plugins/clipboard/lang/es.js | 15 + .../b_ckeditor/plugins/clipboard/lang/et.js | 15 + .../b_ckeditor/plugins/clipboard/lang/eu.js | 15 + .../b_ckeditor/plugins/clipboard/lang/fa.js | 15 + .../b_ckeditor/plugins/clipboard/lang/fi.js | 15 + .../b_ckeditor/plugins/clipboard/lang/fo.js | 15 + .../plugins/clipboard/lang/fr-ca.js | 15 + .../b_ckeditor/plugins/clipboard/lang/fr.js | 15 + .../b_ckeditor/plugins/clipboard/lang/gl.js | 15 + .../b_ckeditor/plugins/clipboard/lang/gu.js | 15 + .../b_ckeditor/plugins/clipboard/lang/he.js | 15 + .../b_ckeditor/plugins/clipboard/lang/hi.js | 15 + .../b_ckeditor/plugins/clipboard/lang/hr.js | 15 + .../b_ckeditor/plugins/clipboard/lang/hu.js | 15 + .../b_ckeditor/plugins/clipboard/lang/id.js | 15 + .../b_ckeditor/plugins/clipboard/lang/is.js | 15 + .../b_ckeditor/plugins/clipboard/lang/it.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ja.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ka.js | 15 + .../b_ckeditor/plugins/clipboard/lang/km.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ko.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ku.js | 15 + .../b_ckeditor/plugins/clipboard/lang/lt.js | 15 + .../b_ckeditor/plugins/clipboard/lang/lv.js | 15 + .../b_ckeditor/plugins/clipboard/lang/mk.js | 15 + .../b_ckeditor/plugins/clipboard/lang/mn.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ms.js | 15 + .../b_ckeditor/plugins/clipboard/lang/nb.js | 15 + .../b_ckeditor/plugins/clipboard/lang/nl.js | 15 + .../b_ckeditor/plugins/clipboard/lang/no.js | 15 + .../b_ckeditor/plugins/clipboard/lang/oc.js | 15 + .../b_ckeditor/plugins/clipboard/lang/pl.js | 15 + .../plugins/clipboard/lang/pt-br.js | 15 + .../b_ckeditor/plugins/clipboard/lang/pt.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ro.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ru.js | 15 + .../b_ckeditor/plugins/clipboard/lang/si.js | 15 + .../b_ckeditor/plugins/clipboard/lang/sk.js | 15 + .../b_ckeditor/plugins/clipboard/lang/sl.js | 15 + .../b_ckeditor/plugins/clipboard/lang/sq.js | 15 + .../plugins/clipboard/lang/sr-latn.js | 15 + .../b_ckeditor/plugins/clipboard/lang/sr.js | 15 + .../b_ckeditor/plugins/clipboard/lang/sv.js | 15 + .../b_ckeditor/plugins/clipboard/lang/th.js | 15 + .../b_ckeditor/plugins/clipboard/lang/tr.js | 15 + .../b_ckeditor/plugins/clipboard/lang/tt.js | 15 + .../b_ckeditor/plugins/clipboard/lang/ug.js | 15 + .../b_ckeditor/plugins/clipboard/lang/uk.js | 15 + .../b_ckeditor/plugins/clipboard/lang/vi.js | 15 + .../plugins/clipboard/lang/zh-cn.js | 15 + .../b_ckeditor/plugins/clipboard/lang/zh.js | 15 + .../b_ckeditor/plugins/clipboard/plugin.js | 2728 +++++++++++++++++ .../colordialog/dialogs/colordialog.css | 20 + .../colordialog/dialogs/colordialog.js | 14 + .../plugins/dialog/dialogDefinition.js | 4 + .../b_ckeditor/plugins/div/dialogs/div.js | 9 + .../plugins/exportword/FileSaver.js | 241 ++ .../plugins/exportword/export-word.min.js | 1 + .../b_ckeditor/plugins/exportword/html-doc.js | 1 + .../plugins/exportword/images/export_word.png | Bin 0 -> 505 bytes .../b_ckeditor/plugins/exportword/plugin.js | 135 + .../b_ckeditor/plugins/exportword/sample.js | 83 + .../b_ckeditor/plugins/find/dialogs/find.js | 25 + .../b_ckeditor/plugins/flash/dialogs/flash.js | 566 ++++ .../plugins/flash/images/placeholder.png | Bin 0 -> 256 bytes .../plugins/flvPlayer/dialogs/flvPlayer.js | 80 + .../b_ckeditor/plugins/flvPlayer/plugin.js | 15 + .../b_ckeditor/plugins/format/lang/af.js | 18 + .../b_ckeditor/plugins/format/lang/ar.js | 18 + .../b_ckeditor/plugins/format/lang/bg.js | 18 + .../b_ckeditor/plugins/format/lang/bn.js | 18 + .../b_ckeditor/plugins/format/lang/bs.js | 18 + .../b_ckeditor/plugins/format/lang/ca.js | 18 + .../b_ckeditor/plugins/format/lang/cs.js | 18 + .../b_ckeditor/plugins/format/lang/cy.js | 18 + .../b_ckeditor/plugins/format/lang/da.js | 18 + .../b_ckeditor/plugins/format/lang/de-ch.js | 18 + .../b_ckeditor/plugins/format/lang/de.js | 18 + .../b_ckeditor/plugins/format/lang/el.js | 18 + .../b_ckeditor/plugins/format/lang/en-au.js | 18 + .../b_ckeditor/plugins/format/lang/en-ca.js | 18 + .../b_ckeditor/plugins/format/lang/en-gb.js | 18 + .../b_ckeditor/plugins/format/lang/en.js | 18 + .../b_ckeditor/plugins/format/lang/eo.js | 18 + .../b_ckeditor/plugins/format/lang/es.js | 18 + .../b_ckeditor/plugins/format/lang/et.js | 18 + .../b_ckeditor/plugins/format/lang/eu.js | 18 + .../b_ckeditor/plugins/format/lang/fa.js | 18 + .../b_ckeditor/plugins/format/lang/fi.js | 18 + .../b_ckeditor/plugins/format/lang/fo.js | 18 + .../b_ckeditor/plugins/format/lang/fr-ca.js | 18 + .../b_ckeditor/plugins/format/lang/fr.js | 18 + .../b_ckeditor/plugins/format/lang/gl.js | 18 + .../b_ckeditor/plugins/format/lang/gu.js | 18 + .../b_ckeditor/plugins/format/lang/he.js | 18 + .../b_ckeditor/plugins/format/lang/hi.js | 18 + .../b_ckeditor/plugins/format/lang/hr.js | 18 + .../b_ckeditor/plugins/format/lang/hu.js | 18 + .../b_ckeditor/plugins/format/lang/id.js | 18 + .../b_ckeditor/plugins/format/lang/is.js | 18 + .../b_ckeditor/plugins/format/lang/it.js | 18 + .../b_ckeditor/plugins/format/lang/ja.js | 18 + .../b_ckeditor/plugins/format/lang/ka.js | 18 + .../b_ckeditor/plugins/format/lang/km.js | 18 + .../b_ckeditor/plugins/format/lang/ko.js | 18 + .../b_ckeditor/plugins/format/lang/ku.js | 18 + .../b_ckeditor/plugins/format/lang/lt.js | 18 + .../b_ckeditor/plugins/format/lang/lv.js | 18 + .../b_ckeditor/plugins/format/lang/mk.js | 18 + .../b_ckeditor/plugins/format/lang/mn.js | 18 + .../b_ckeditor/plugins/format/lang/ms.js | 18 + .../b_ckeditor/plugins/format/lang/nb.js | 18 + .../b_ckeditor/plugins/format/lang/nl.js | 18 + .../b_ckeditor/plugins/format/lang/no.js | 18 + .../b_ckeditor/plugins/format/lang/pl.js | 18 + .../b_ckeditor/plugins/format/lang/pt-br.js | 18 + .../b_ckeditor/plugins/format/lang/pt.js | 18 + .../b_ckeditor/plugins/format/lang/ro.js | 18 + .../b_ckeditor/plugins/format/lang/ru.js | 18 + .../b_ckeditor/plugins/format/lang/si.js | 18 + .../b_ckeditor/plugins/format/lang/sk.js | 18 + .../b_ckeditor/plugins/format/lang/sl.js | 18 + .../b_ckeditor/plugins/format/lang/sq.js | 18 + .../b_ckeditor/plugins/format/lang/sr-latn.js | 18 + .../b_ckeditor/plugins/format/lang/sr.js | 18 + .../b_ckeditor/plugins/format/lang/sv.js | 18 + .../b_ckeditor/plugins/format/lang/th.js | 18 + .../b_ckeditor/plugins/format/lang/tr.js | 18 + .../b_ckeditor/plugins/format/lang/tt.js | 18 + .../b_ckeditor/plugins/format/lang/ug.js | 18 + .../b_ckeditor/plugins/format/lang/uk.js | 18 + .../b_ckeditor/plugins/format/lang/vi.js | 18 + .../b_ckeditor/plugins/format/lang/zh-cn.js | 18 + .../b_ckeditor/plugins/format/lang/zh.js | 18 + .../b_ckeditor/plugins/format/plugin.js | 279 ++ .../plugins/forms/dialogs/button.js | 8 + .../plugins/forms/dialogs/checkbox.js | 9 + .../b_ckeditor/plugins/forms/dialogs/form.js | 8 + .../plugins/forms/dialogs/hiddenfield.js | 7 + .../b_ckeditor/plugins/forms/dialogs/radio.js | 9 + .../plugins/forms/dialogs/select.js | 20 + .../plugins/forms/dialogs/textarea.js | 8 + .../plugins/forms/dialogs/textfield.js | 11 + .../plugins/forms/images/hiddenfield.gif | Bin 0 -> 178 bytes .../Contents/b_ckeditor/plugins/icons.png | Bin 0 -> 20634 bytes .../b_ckeditor/plugins/icons_hidpi.png | Bin 0 -> 67753 bytes .../plugins/iframe/dialogs/iframe.js | 10 + .../plugins/iframe/images/placeholder.png | Bin 0 -> 265 bytes .../b_ckeditor/plugins/image/dialogs/image.js | 44 + .../plugins/image/images/noimage.png | Bin 0 -> 1610 bytes .../plugins/imagepaste/docs/styles.css | 59 + .../b_ckeditor/plugins/imagepaste/plugin.js | 109 + .../plugins/imageuploader/LICENSE.md | 21 + .../plugins/imageuploader/README.md | 59 + .../imageuploader/check_permission.php | 58 + .../plugins/imageuploader/create.php | 17 + .../imageuploader/dist/jquery.lazyload.min.js | 2 + .../imageuploader/dist/js.cookie-2.0.3.min.js | 2 + .../plugins/imageuploader/dist/sweetalert.css | 932 ++++++ .../imageuploader/dist/sweetalert.min.js | 1 + .../plugins/imageuploader/function.js | 378 +++ .../plugins/imageuploader/function.php | 101 + .../imageuploader/img/cd-ico-browser.ico | Bin 0 -> 15086 bytes .../imageuploader/img/cd-icon-block.png | Bin 0 -> 1363 bytes .../imageuploader/img/cd-icon-browser.png | Bin 0 -> 723 bytes .../plugins/imageuploader/img/cd-icon-bug.png | Bin 0 -> 1283 bytes .../imageuploader/img/cd-icon-close-black.png | Bin 0 -> 403 bytes .../imageuploader/img/cd-icon-close-grey.png | Bin 0 -> 719 bytes .../imageuploader/img/cd-icon-close.png | Bin 0 -> 479 bytes .../imageuploader/img/cd-icon-coffee.png | Bin 0 -> 1239 bytes .../imageuploader/img/cd-icon-credits.png | Bin 0 -> 1754 bytes .../imageuploader/img/cd-icon-delete.png | Bin 0 -> 504 bytes .../imageuploader/img/cd-icon-disable.png | Bin 0 -> 1176 bytes .../imageuploader/img/cd-icon-done.png | Bin 0 -> 1173 bytes .../imageuploader/img/cd-icon-download.png | Bin 0 -> 386 bytes .../imageuploader/img/cd-icon-edit.png | Bin 0 -> 758 bytes .../imageuploader/img/cd-icon-english.png | Bin 0 -> 503 bytes .../plugins/imageuploader/img/cd-icon-faq.png | Bin 0 -> 792 bytes .../imageuploader/img/cd-icon-german.png | Bin 0 -> 165 bytes .../imageuploader/img/cd-icon-hideext.png | Bin 0 -> 940 bytes .../imageuploader/img/cd-icon-image.png | Bin 0 -> 625 bytes .../imageuploader/img/cd-icon-images.png | Bin 0 -> 1168 bytes .../imageuploader/img/cd-icon-list.png | Bin 0 -> 240 bytes .../imageuploader/img/cd-icon-logout.png | Bin 0 -> 650 bytes .../imageuploader/img/cd-icon-password.png | Bin 0 -> 968 bytes .../imageuploader/img/cd-icon-polish.png | Bin 0 -> 125 bytes .../imageuploader/img/cd-icon-qedit.png | Bin 0 -> 620 bytes .../imageuploader/img/cd-icon-qtrash.png | Bin 0 -> 614 bytes .../imageuploader/img/cd-icon-refresh.png | Bin 0 -> 638 bytes .../imageuploader/img/cd-icon-select.png | Bin 0 -> 497 bytes .../imageuploader/img/cd-icon-settings.png | Bin 0 -> 1002 bytes .../imageuploader/img/cd-icon-showext.png | Bin 0 -> 1248 bytes .../imageuploader/img/cd-icon-translate.png | Bin 0 -> 612 bytes .../imageuploader/img/cd-icon-updates.png | Bin 0 -> 697 bytes .../imageuploader/img/cd-icon-upload-big.png | Bin 0 -> 1002 bytes .../imageuploader/img/cd-icon-upload-grey.png | Bin 0 -> 695 bytes .../imageuploader/img/cd-icon-upload.png | Bin 0 -> 371 bytes .../plugins/imageuploader/img/cd-icon-use.png | Bin 0 -> 741 bytes .../imageuploader/img/cd-icon-version.png | Bin 0 -> 629 bytes .../imageuploader/img/cd-icon-warning.png | Bin 0 -> 547 bytes .../plugins/imageuploader/imgbrowser.php | 268 ++ .../plugins/imageuploader/imgdelete.php | 144 + .../plugins/imageuploader/imgupload.php | 84 + .../plugins/imageuploader/lang/en.php | 89 + .../plugins/imageuploader/lang/lang.php | 58 + .../plugins/imageuploader/lang/pl.php | 89 + .../plugins/imageuploader/login.php | 38 + .../plugins/imageuploader/loginindex.php | 161 + .../plugins/imageuploader/logout.php | 8 + .../b_ckeditor/plugins/imageuploader/new.php | 166 + .../plugins/imageuploader/plugin.js | 8 + .../plugins/imageuploader/pluginconfig.php | 160 + .../plugins/imageuploader/styles.css | 774 +++++ .../plugins/imageuploader/styles.min.css | 1 + .../imageuploader/uploads/placeholder.jpg | Bin 0 -> 15527 bytes .../b_ckeditor/plugins/link/dialogs/anchor.js | 7 + .../b_ckeditor/plugins/link/dialogs/link.js | 27 + .../b_ckeditor/plugins/link/images/anchor.png | Bin 0 -> 589 bytes .../plugins/link/images/hidpi/anchor.png | Bin 0 -> 1379 bytes .../plugins/liststyle/dialogs/liststyle.js | 10 + .../magicline/images/hidpi/icon-rtl.png | Bin 0 -> 176 bytes .../plugins/magicline/images/hidpi/icon.png | Bin 0 -> 199 bytes .../plugins/magicline/images/icon-rtl.png | Bin 0 -> 138 bytes .../plugins/magicline/images/icon.png | Bin 0 -> 133 bytes .../plugins/pagebreak/images/pagebreak.gif | Bin 0 -> 99 bytes .../plugins/pastefromword/filter/default.js | 1680 ++++++++++ .../plugins/pastefromword/lang/af.js | 10 + .../plugins/pastefromword/lang/ar.js | 10 + .../plugins/pastefromword/lang/bg.js | 10 + .../plugins/pastefromword/lang/bn.js | 10 + .../plugins/pastefromword/lang/bs.js | 10 + .../plugins/pastefromword/lang/ca.js | 10 + .../plugins/pastefromword/lang/cs.js | 10 + .../plugins/pastefromword/lang/cy.js | 10 + .../plugins/pastefromword/lang/da.js | 10 + .../plugins/pastefromword/lang/de-ch.js | 10 + .../plugins/pastefromword/lang/de.js | 10 + .../plugins/pastefromword/lang/el.js | 10 + .../plugins/pastefromword/lang/en-au.js | 10 + .../plugins/pastefromword/lang/en-ca.js | 10 + .../plugins/pastefromword/lang/en-gb.js | 10 + .../plugins/pastefromword/lang/en.js | 10 + .../plugins/pastefromword/lang/eo.js | 10 + .../plugins/pastefromword/lang/es.js | 10 + .../plugins/pastefromword/lang/et.js | 10 + .../plugins/pastefromword/lang/eu.js | 10 + .../plugins/pastefromword/lang/fa.js | 10 + .../plugins/pastefromword/lang/fi.js | 10 + .../plugins/pastefromword/lang/fo.js | 10 + .../plugins/pastefromword/lang/fr-ca.js | 10 + .../plugins/pastefromword/lang/fr.js | 10 + .../plugins/pastefromword/lang/gl.js | 10 + .../plugins/pastefromword/lang/gu.js | 10 + .../plugins/pastefromword/lang/he.js | 10 + .../plugins/pastefromword/lang/hi.js | 10 + .../plugins/pastefromword/lang/hr.js | 10 + .../plugins/pastefromword/lang/hu.js | 10 + .../plugins/pastefromword/lang/id.js | 10 + .../plugins/pastefromword/lang/is.js | 10 + .../plugins/pastefromword/lang/it.js | 10 + .../plugins/pastefromword/lang/ja.js | 10 + .../plugins/pastefromword/lang/ka.js | 10 + .../plugins/pastefromword/lang/km.js | 10 + .../plugins/pastefromword/lang/ko.js | 10 + .../plugins/pastefromword/lang/ku.js | 10 + .../plugins/pastefromword/lang/lt.js | 10 + .../plugins/pastefromword/lang/lv.js | 10 + .../plugins/pastefromword/lang/mk.js | 10 + .../plugins/pastefromword/lang/mn.js | 10 + .../plugins/pastefromword/lang/ms.js | 10 + .../plugins/pastefromword/lang/nb.js | 10 + .../plugins/pastefromword/lang/nl.js | 10 + .../plugins/pastefromword/lang/no.js | 10 + .../plugins/pastefromword/lang/oc.js | 10 + .../plugins/pastefromword/lang/pl.js | 10 + .../plugins/pastefromword/lang/pt-br.js | 10 + .../plugins/pastefromword/lang/pt.js | 10 + .../plugins/pastefromword/lang/ro.js | 10 + .../plugins/pastefromword/lang/ru.js | 10 + .../plugins/pastefromword/lang/si.js | 10 + .../plugins/pastefromword/lang/sk.js | 10 + .../plugins/pastefromword/lang/sl.js | 10 + .../plugins/pastefromword/lang/sq.js | 10 + .../plugins/pastefromword/lang/sr-latn.js | 10 + .../plugins/pastefromword/lang/sr.js | 10 + .../plugins/pastefromword/lang/sv.js | 10 + .../plugins/pastefromword/lang/th.js | 10 + .../plugins/pastefromword/lang/tr.js | 10 + .../plugins/pastefromword/lang/tt.js | 10 + .../plugins/pastefromword/lang/ug.js | 10 + .../plugins/pastefromword/lang/uk.js | 10 + .../plugins/pastefromword/lang/vi.js | 10 + .../plugins/pastefromword/lang/zh-cn.js | 10 + .../plugins/pastefromword/lang/zh.js | 10 + .../plugins/pastefromword/plugin.js | 186 ++ .../b_ckeditor/plugins/preview/preview.html | 13 + .../b_ckeditor/plugins/scayt/CHANGELOG.md | 20 + .../b_ckeditor/plugins/scayt/LICENSE.md | 28 + .../b_ckeditor/plugins/scayt/README.md | 25 + .../plugins/scayt/dialogs/options.js | 19 + .../plugins/scayt/dialogs/toolbar.css | 71 + .../showblocks/images/block_address.png | Bin 0 -> 152 bytes .../showblocks/images/block_blockquote.png | Bin 0 -> 154 bytes .../plugins/showblocks/images/block_div.png | Bin 0 -> 127 bytes .../plugins/showblocks/images/block_h1.png | Bin 0 -> 120 bytes .../plugins/showblocks/images/block_h2.png | Bin 0 -> 127 bytes .../plugins/showblocks/images/block_h3.png | Bin 0 -> 123 bytes .../plugins/showblocks/images/block_h4.png | Bin 0 -> 123 bytes .../plugins/showblocks/images/block_h5.png | Bin 0 -> 126 bytes .../plugins/showblocks/images/block_h6.png | Bin 0 -> 123 bytes .../plugins/showblocks/images/block_p.png | Bin 0 -> 115 bytes .../plugins/showblocks/images/block_pre.png | Bin 0 -> 128 bytes .../plugins/smiley/dialogs/smiley.js | 11 + .../plugins/smiley/images/angel_smile.gif | Bin 0 -> 1245 bytes .../plugins/smiley/images/angel_smile.png | Bin 0 -> 1172 bytes .../plugins/smiley/images/angry_smile.gif | Bin 0 -> 1219 bytes .../plugins/smiley/images/angry_smile.png | Bin 0 -> 1220 bytes .../plugins/smiley/images/broken_heart.gif | Bin 0 -> 732 bytes .../plugins/smiley/images/broken_heart.png | Bin 0 -> 1139 bytes .../plugins/smiley/images/confused_smile.gif | Bin 0 -> 1202 bytes .../plugins/smiley/images/confused_smile.png | Bin 0 -> 1101 bytes .../plugins/smiley/images/cry_smile.gif | Bin 0 -> 795 bytes .../plugins/smiley/images/cry_smile.png | Bin 0 -> 1214 bytes .../plugins/smiley/images/devil_smile.gif | Bin 0 -> 1239 bytes .../plugins/smiley/images/devil_smile.png | Bin 0 -> 1220 bytes .../smiley/images/embaressed_smile.gif | Bin 0 -> 786 bytes .../smiley/images/embarrassed_smile.gif | Bin 0 -> 786 bytes .../smiley/images/embarrassed_smile.png | Bin 0 -> 1145 bytes .../plugins/smiley/images/envelope.gif | Bin 0 -> 506 bytes .../plugins/smiley/images/envelope.png | Bin 0 -> 760 bytes .../plugins/smiley/images/heart.gif | Bin 0 -> 692 bytes .../plugins/smiley/images/heart.png | Bin 0 -> 999 bytes .../b_ckeditor/plugins/smiley/images/kiss.gif | Bin 0 -> 683 bytes .../b_ckeditor/plugins/smiley/images/kiss.png | Bin 0 -> 1003 bytes .../plugins/smiley/images/lightbulb.gif | Bin 0 -> 660 bytes .../plugins/smiley/images/lightbulb.png | Bin 0 -> 919 bytes .../plugins/smiley/images/omg_smile.gif | Bin 0 -> 820 bytes .../plugins/smiley/images/omg_smile.png | Bin 0 -> 1122 bytes .../plugins/smiley/images/regular_smile.gif | Bin 0 -> 1209 bytes .../plugins/smiley/images/regular_smile.png | Bin 0 -> 1084 bytes .../plugins/smiley/images/sad_smile.gif | Bin 0 -> 782 bytes .../plugins/smiley/images/sad_smile.png | Bin 0 -> 1115 bytes .../plugins/smiley/images/shades_smile.gif | Bin 0 -> 1231 bytes .../plugins/smiley/images/shades_smile.png | Bin 0 -> 1204 bytes .../plugins/smiley/images/teeth_smile.gif | Bin 0 -> 1201 bytes .../plugins/smiley/images/teeth_smile.png | Bin 0 -> 1183 bytes .../plugins/smiley/images/thumbs_down.gif | Bin 0 -> 715 bytes .../plugins/smiley/images/thumbs_down.png | Bin 0 -> 985 bytes .../plugins/smiley/images/thumbs_up.gif | Bin 0 -> 714 bytes .../plugins/smiley/images/thumbs_up.png | Bin 0 -> 959 bytes .../plugins/smiley/images/tongue_smile.gif | Bin 0 -> 1210 bytes .../plugins/smiley/images/tongue_smile.png | Bin 0 -> 1132 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 0 -> 1210 bytes .../images/whatchutalkingabout_smile.gif | Bin 0 -> 775 bytes .../images/whatchutalkingabout_smile.png | Bin 0 -> 1039 bytes .../plugins/smiley/images/wink_smile.gif | Bin 0 -> 1202 bytes .../plugins/smiley/images/wink_smile.png | Bin 0 -> 1114 bytes .../dialogs/lang/_translationstatus.txt | 20 + .../plugins/specialchar/dialogs/lang/af.js | 13 + .../plugins/specialchar/dialogs/lang/ar.js | 13 + .../plugins/specialchar/dialogs/lang/bg.js | 13 + .../plugins/specialchar/dialogs/lang/ca.js | 14 + .../plugins/specialchar/dialogs/lang/cs.js | 13 + .../plugins/specialchar/dialogs/lang/cy.js | 14 + .../plugins/specialchar/dialogs/lang/da.js | 11 + .../plugins/specialchar/dialogs/lang/de-ch.js | 13 + .../plugins/specialchar/dialogs/lang/de.js | 13 + .../plugins/specialchar/dialogs/lang/el.js | 13 + .../plugins/specialchar/dialogs/lang/en-gb.js | 13 + .../plugins/specialchar/dialogs/lang/en.js | 13 + .../plugins/specialchar/dialogs/lang/eo.js | 12 + .../plugins/specialchar/dialogs/lang/es.js | 13 + .../plugins/specialchar/dialogs/lang/et.js | 13 + .../plugins/specialchar/dialogs/lang/eu.js | 13 + .../plugins/specialchar/dialogs/lang/fa.js | 12 + .../plugins/specialchar/dialogs/lang/fi.js | 13 + .../plugins/specialchar/dialogs/lang/fr-ca.js | 10 + .../plugins/specialchar/dialogs/lang/fr.js | 12 + .../plugins/specialchar/dialogs/lang/gl.js | 13 + .../plugins/specialchar/dialogs/lang/he.js | 12 + .../plugins/specialchar/dialogs/lang/hr.js | 13 + .../plugins/specialchar/dialogs/lang/hu.js | 12 + .../plugins/specialchar/dialogs/lang/id.js | 13 + .../plugins/specialchar/dialogs/lang/it.js | 14 + .../plugins/specialchar/dialogs/lang/ja.js | 9 + .../plugins/specialchar/dialogs/lang/km.js | 13 + .../plugins/specialchar/dialogs/lang/ko.js | 10 + .../plugins/specialchar/dialogs/lang/ku.js | 13 + .../plugins/specialchar/dialogs/lang/lt.js | 13 + .../plugins/specialchar/dialogs/lang/lv.js | 13 + .../plugins/specialchar/dialogs/lang/nb.js | 11 + .../plugins/specialchar/dialogs/lang/nl.js | 13 + .../plugins/specialchar/dialogs/lang/no.js | 11 + .../plugins/specialchar/dialogs/lang/pl.js | 12 + .../plugins/specialchar/dialogs/lang/pt-br.js | 11 + .../plugins/specialchar/dialogs/lang/pt.js | 13 + .../plugins/specialchar/dialogs/lang/ru.js | 13 + .../plugins/specialchar/dialogs/lang/si.js | 13 + .../plugins/specialchar/dialogs/lang/sk.js | 13 + .../plugins/specialchar/dialogs/lang/sl.js | 12 + .../plugins/specialchar/dialogs/lang/sq.js | 13 + .../plugins/specialchar/dialogs/lang/sv.js | 11 + .../plugins/specialchar/dialogs/lang/th.js | 13 + .../plugins/specialchar/dialogs/lang/tr.js | 12 + .../plugins/specialchar/dialogs/lang/tt.js | 13 + .../plugins/specialchar/dialogs/lang/ug.js | 13 + .../plugins/specialchar/dialogs/lang/uk.js | 12 + .../plugins/specialchar/dialogs/lang/vi.js | 14 + .../plugins/specialchar/dialogs/lang/zh-cn.js | 9 + .../plugins/specialchar/dialogs/lang/zh.js | 9 + .../specialchar/dialogs/specialchar.js | 14 + .../b_ckeditor/plugins/table/dialogs/table.js | 21 + .../plugins/tabletools/dialogs/tableCell.js | 17 + .../plugins/templates/dialogs/templates.css | 84 + .../plugins/templates/dialogs/templates.js | 10 + .../plugins/templates/templates/default.js | 7 + .../templates/templates/images/template1.gif | Bin 0 -> 375 bytes .../templates/templates/images/template2.gif | Bin 0 -> 333 bytes .../templates/templates/images/template3.gif | Bin 0 -> 422 bytes .../b_ckeditor/plugins/uploadimage/plugin.js | 124 + .../videoplayer/dialogs/videoplayer.js | 636 ++++ .../plugins/videoplayer/icons/videoplayer.png | Bin 0 -> 3609 bytes .../videoplayer/images/placeholder.png | Bin 0 -> 6596 bytes .../plugins/videoplayer/images/uibutton.png | Bin 0 -> 3609 bytes .../plugins/videoplayer/lang/zh-cn.js | 28 + .../b_ckeditor/plugins/videoplayer/plugin.js | 134 + .../b_ckeditor/plugins/wsc/LICENSE.md | 28 + .../Contents/b_ckeditor/plugins/wsc/README.md | 25 + .../plugins/wsc/dialogs/ciframe.html | 66 + .../plugins/wsc/dialogs/tmpFrameset.html | 52 + .../b_ckeditor/plugins/wsc/dialogs/wsc.css | 82 + .../b_ckeditor/plugins/wsc/dialogs/wsc.js | 92 + .../b_ckeditor/plugins/wsc/dialogs/wsc_ie.js | 11 + .../b_ckeditor/skins/moono/dialog.css | 5 + .../b_ckeditor/skins/moono/dialog_ie.css | 5 + .../b_ckeditor/skins/moono/dialog_ie7.css | 5 + .../b_ckeditor/skins/moono/dialog_ie8.css | 5 + .../skins/moono/dialog_iequirks.css | 5 + .../b_ckeditor/skins/moono/editor.css | 5 + .../b_ckeditor/skins/moono/editor_gecko.css | 5 + .../b_ckeditor/skins/moono/editor_ie.css | 5 + .../b_ckeditor/skins/moono/editor_ie7.css | 5 + .../b_ckeditor/skins/moono/editor_ie8.css | 5 + .../skins/moono/editor_iequirks.css | 5 + .../Contents/b_ckeditor/skins/moono/icons.png | Bin 0 -> 20634 bytes .../b_ckeditor/skins/moono/icons_hidpi.png | Bin 0 -> 67753 bytes .../b_ckeditor/skins/moono/images/arrow.png | Bin 0 -> 191 bytes .../b_ckeditor/skins/moono/images/close.png | Bin 0 -> 468 bytes .../skins/moono/images/hidpi/close.png | Bin 0 -> 1271 bytes .../skins/moono/images/hidpi/lock-open.png | Bin 0 -> 1329 bytes .../skins/moono/images/hidpi/lock.png | Bin 0 -> 1299 bytes .../skins/moono/images/hidpi/refresh.png | Bin 0 -> 1842 bytes .../skins/moono/images/lock-open.png | Bin 0 -> 349 bytes .../b_ckeditor/skins/moono/images/lock.png | Bin 0 -> 475 bytes .../b_ckeditor/skins/moono/images/refresh.png | Bin 0 -> 422 bytes .../b_ckeditor/skins/moono/images/spinner.gif | Bin 0 -> 2984 bytes .../Contents/b_ckeditor/skins/moono/readme.md | 49 + .../b_ckeditor/skins/office2013/dialog.css | 5 + .../b_ckeditor/skins/office2013/editor.css | 12 + .../b_ckeditor/skins/office2013/icons.png | Bin 0 -> 10440 bytes .../skins/office2013/icons_hidpi.png | Bin 0 -> 24320 bytes .../skins/office2013/images/ImportWord.png | Bin 0 -> 952 bytes .../skins/office2013/images/arrow.png | Bin 0 -> 261 bytes .../skins/office2013/images/close.png | Bin 0 -> 176 bytes .../skins/office2013/images/hidpi/close.png | Bin 0 -> 243 bytes .../office2013/images/hidpi/lock-open.png | Bin 0 -> 1503 bytes .../skins/office2013/images/hidpi/lock.png | Bin 0 -> 1616 bytes .../skins/office2013/images/hidpi/refresh.png | Bin 0 -> 2320 bytes .../skins/office2013/images/insertflv.png | Bin 0 -> 942 bytes .../skins/office2013/images/lock-open.png | Bin 0 -> 736 bytes .../skins/office2013/images/lock.png | Bin 0 -> 728 bytes .../skins/office2013/images/refresh.png | Bin 0 -> 953 bytes .../b_ckeditor/skins/office2013/skin.js | 5 + .../wwwroot/Contents/b_ckeditor/styles.js | 111 + .../LICENSE.md | 21 + .../README.md | 9 + .../ckeditor.js | 7 + .../ckeditor.js.map | 1 + .../index.html | 131 + .../sample/css/sample.css | 356 +++ .../sample/img/bg.png | Bin 0 -> 6777 bytes .../sample/img/github.svg | 4 + .../sample/img/logo.svg | 10 + .../sample/img/umbrellas.jpg | Bin 0 -> 51250 bytes .../translations/af.js | 1 + .../translations/ar.js | 1 + .../translations/ast.js | 1 + .../translations/az.js | 1 + .../translations/bg.js | 1 + .../translations/bn.js | 1 + .../translations/bs.js | 1 + .../translations/ca.js | 1 + .../translations/cs.js | 1 + .../translations/da.js | 1 + .../translations/de-ch.js | 1 + .../translations/de.js | 1 + .../translations/el.js | 1 + .../translations/en-au.js | 1 + .../translations/en-gb.js | 1 + .../translations/eo.js | 1 + .../translations/es-co.js | 1 + .../translations/es.js | 1 + .../translations/et.js | 1 + .../translations/eu.js | 1 + .../translations/fa.js | 1 + .../translations/fi.js | 1 + .../translations/fr.js | 1 + .../translations/gl.js | 1 + .../translations/gu.js | 1 + .../translations/he.js | 1 + .../translations/hi.js | 1 + .../translations/hr.js | 1 + .../translations/hu.js | 1 + .../translations/id.js | 1 + .../translations/it.js | 1 + .../translations/ja.js | 1 + .../translations/jv.js | 1 + .../translations/kk.js | 1 + .../translations/km.js | 1 + .../translations/kn.js | 1 + .../translations/ko.js | 1 + .../translations/ku.js | 1 + .../translations/lt.js | 1 + .../translations/lv.js | 1 + .../translations/ms.js | 1 + .../translations/nb.js | 1 + .../translations/ne.js | 1 + .../translations/nl.js | 1 + .../translations/no.js | 1 + .../translations/oc.js | 1 + .../translations/pl.js | 1 + .../translations/pt-br.js | 1 + .../translations/pt.js | 1 + .../translations/ro.js | 1 + .../translations/ru.js | 1 + .../translations/si.js | 1 + .../translations/sk.js | 1 + .../translations/sl.js | 1 + .../translations/sq.js | 1 + .../translations/sr-latn.js | 1 + .../translations/sr.js | 1 + .../translations/sv.js | 1 + .../translations/th.js | 1 + .../translations/tk.js | 1 + .../translations/tr.js | 1 + .../translations/tt.js | 1 + .../translations/ug.js | 1 + .../translations/uk.js | 1 + .../translations/ur.js | 1 + .../translations/uz.js | 1 + .../translations/vi.js | 1 + .../translations/zh-cn.js | 1 + .../translations/zh.js | 1 + .../wwwroot/Contents/jquery.min.js | 5 + .../Vote.Services/ApiController/WxService.cs | 87 + .../Vote.Services/Entities/Article.cs | 55 + .../Vote.Services/Tools/HtmlHelper.cs | 94 + .../Vote.Services/Vote.Services.csproj | 2 + 20220330_Vote/Vote.Services/Vote.Services.xml | 81 + 732 files changed, 23827 insertions(+), 1 deletion(-) create mode 100644 20220330_Vote/Ewide.Web.Entry/Controllers/WXController.cs create mode 100644 20220330_Vote/Ewide.Web.Entry/Views/WX/Index - 复制.cshtml create mode 100644 20220330_Vote/Ewide.Web.Entry/Views/WX/Index.cshtml create mode 100644 20220330_Vote/Ewide.Web.Entry/Views/WX/Result.cshtml create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/CHANGES.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/LICENSE.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/README.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/adapters/jquery.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/build-config.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/ckeditor.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/config/ContentConfig.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/config/SimpleContentConfig.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/contents.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/bn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/bs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/cy.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/en-au.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/en-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/en.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/fo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/fr-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/gu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/hi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/is.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ka.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/mk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/mn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ms.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ro.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/sr-latn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/sr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/lang/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/ImportWord/dialogs/ImportWord.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/ImportWord/dialogs/TransferWord.ashx create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/ImportWord/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/cy.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/en.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/fo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/gu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/hi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/mk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/mn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ro.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/sr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/a11yhelp/dialogs/lang/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/about/dialogs/about.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/about/dialogs/logo_ckeditor.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/autoformat/images/autoformat.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/autoformat/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/dev/console.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cy.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-au.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/is.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ka.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ms.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/oc.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ro.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr-latn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/dialog/dialogDefinition.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/div/dialogs/div.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/FileSaver.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/export-word.min.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/html-doc.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/images/export_word.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/sample.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/find/dialogs/find.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flash/dialogs/flash.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flash/images/placeholder.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flvPlayer/dialogs/flvPlayer.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flvPlayer/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cy.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-au.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/is.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ka.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ms.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ro.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr-latn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/button.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/checkbox.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/form.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/hiddenfield.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/radio.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/select.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/textarea.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/textfield.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/images/hiddenfield.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/icons.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/icons_hidpi.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/dialogs/iframe.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/images/placeholder.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/image/dialogs/image.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/image/images/noimage.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imagepaste/docs/styles.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imagepaste/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/LICENSE.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/README.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/check_permission.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/create.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/jquery.lazyload.min.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/js.cookie-2.0.3.min.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/sweetalert.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/sweetalert.min.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-ico-browser.ico create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-block.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-browser.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-bug.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close-black.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close-grey.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-coffee.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-credits.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-delete.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-disable.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-done.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-download.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-edit.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-english.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-faq.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-german.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-hideext.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-image.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-images.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-list.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-logout.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-password.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-polish.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-qedit.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-qtrash.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-refresh.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-select.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-settings.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-showext.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-translate.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-updates.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload-big.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload-grey.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-use.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-version.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-warning.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgbrowser.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgdelete.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgupload.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/en.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/lang.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/pl.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/login.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/loginindex.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/logout.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/new.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/pluginconfig.php create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.min.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/uploads/placeholder.jpg create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/dialogs/anchor.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/dialogs/link.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/images/anchor.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/images/hidpi/anchor.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/liststyle/dialogs/liststyle.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/hidpi/icon-rtl.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/hidpi/icon.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/icon-rtl.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/icon.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pagebreak/images/pagebreak.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/filter/default.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cy.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-au.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/is.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ka.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ms.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/oc.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ro.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr-latn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/preview/preview.html create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/CHANGELOG.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/LICENSE.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/README.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/dialogs/options.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/dialogs/toolbar.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_address.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_blockquote.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_div.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h1.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h2.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h3.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h4.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h5.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h6.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_p.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_pre.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/dialogs/smiley.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/angel_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/angel_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/angry_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/angry_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/broken_heart.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/broken_heart.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/confused_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/confused_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/cry_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/cry_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/devil_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/devil_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/embaressed_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/embarrassed_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/embarrassed_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/envelope.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/envelope.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/heart.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/heart.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/kiss.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/kiss.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/lightbulb.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/lightbulb.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/omg_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/omg_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/regular_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/regular_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/sad_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/sad_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/shades_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/shades_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/teeth_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/teeth_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_down.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_down.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_up.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_up.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/tongue_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/tongue_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/tounge_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/wink_smile.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/wink_smile.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cy.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/specialchar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/table/dialogs/table.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/tabletools/dialogs/tableCell.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/templates/dialogs/templates.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/templates/dialogs/templates.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/templates/templates/default.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/templates/templates/images/template1.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/templates/templates/images/template2.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/templates/templates/images/template3.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/uploadimage/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/dialogs/videoplayer.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/icons/videoplayer.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/images/placeholder.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/images/uibutton.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/lang/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/plugin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/LICENSE.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/README.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/ciframe.html create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/tmpFrameset.html create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc_ie.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/dialog.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/dialog_ie.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/dialog_ie7.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/dialog_ie8.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/dialog_iequirks.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/editor.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/editor_gecko.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/editor_ie.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/editor_ie7.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/editor_ie8.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/editor_iequirks.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/icons.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/icons_hidpi.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/arrow.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/close.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/close.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/lock-open.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/lock.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/refresh.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/lock-open.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/lock.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/refresh.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/spinner.gif create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/readme.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/dialog.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/editor.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/icons.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/icons_hidpi.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/ImportWord.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/arrow.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/close.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/close.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/lock-open.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/lock.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/refresh.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/insertflv.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/lock-open.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/lock.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/refresh.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/skin.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/styles.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/LICENSE.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/README.md create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/ckeditor.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/ckeditor.js.map create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/index.html create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/sample/css/sample.css create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/sample/img/bg.png create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/sample/img/github.svg create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/sample/img/logo.svg create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/sample/img/umbrellas.jpg create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/af.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ar.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ast.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/az.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/bg.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/bn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/bs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ca.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/cs.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/da.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/de-ch.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/de.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/el.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/en-au.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/en-gb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/eo.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/es-co.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/es.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/et.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/eu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/fa.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/fi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/fr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/gl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/gu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/he.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/hi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/hr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/hu.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/id.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/it.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ja.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/jv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/kk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/km.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/kn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ko.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ku.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/lt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/lv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ms.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/nb.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ne.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/nl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/no.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/oc.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/pl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/pt-br.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/pt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ro.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ru.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/si.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/sk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/sl.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/sq.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/sr-latn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/sr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/sv.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/th.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/tk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/tr.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/tt.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ug.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/uk.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/ur.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/uz.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/vi.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/zh-cn.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/translations/zh.js create mode 100644 20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/jquery.min.js create mode 100644 20220330_Vote/Vote.Services/ApiController/WxService.cs create mode 100644 20220330_Vote/Vote.Services/Entities/Article.cs create mode 100644 20220330_Vote/Vote.Services/Tools/HtmlHelper.cs diff --git a/20220330_Vote/Ewide.Web.Entry/Controllers/ManageController.cs b/20220330_Vote/Ewide.Web.Entry/Controllers/ManageController.cs index 14b4505..49f30b7 100644 --- a/20220330_Vote/Ewide.Web.Entry/Controllers/ManageController.cs +++ b/20220330_Vote/Ewide.Web.Entry/Controllers/ManageController.cs @@ -12,14 +12,17 @@ namespace Ewide.Web.Entry.Controllers { public IActionResult Index() { + ViewBag.Title = "宁波市“甬江建设杯”选票"; return View(); } public IActionResult Login() { + ViewBag.Title = "宁波市“甬江建设杯”选票"; return View(); } public IActionResult Expert() { + ViewBag.Title = "宁波市“甬江建设杯”选票"; return View(); } } diff --git a/20220330_Vote/Ewide.Web.Entry/Controllers/VoteController.cs b/20220330_Vote/Ewide.Web.Entry/Controllers/VoteController.cs index b4367dd..7d06721 100644 --- a/20220330_Vote/Ewide.Web.Entry/Controllers/VoteController.cs +++ b/20220330_Vote/Ewide.Web.Entry/Controllers/VoteController.cs @@ -12,6 +12,7 @@ namespace Ewide.Web.Entry.Controllers { public IActionResult Index() { + ViewBag.Title = "宁波市“甬江建设杯”选票"; return View(); } } diff --git a/20220330_Vote/Ewide.Web.Entry/Controllers/WXController.cs b/20220330_Vote/Ewide.Web.Entry/Controllers/WXController.cs new file mode 100644 index 0000000..cc573d8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/Controllers/WXController.cs @@ -0,0 +1,32 @@ +using HtmlAgilityPack; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Vote.Services.Entities; + +namespace Ewide.Web.Entry.Controllers +{ + [AllowAnonymous] + public class WXController : Controller + { + public IActionResult Index() + { + ViewBag.Title = "微信公众号"; + return View(); + } + public IActionResult Result(string url) + { + if (string.IsNullOrWhiteSpace(url)) + return Redirect("Index"); + ViewBag.Title = "微信公众号"; + var art = new Vote.Services.ApiController.WxService().GetArticle(url).Result; + ViewBag.Title = art?.Title; + ViewBag.Detail = art?.Detail; + return View(); + } + } +} diff --git a/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj b/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj index e1c3244..f87514a 100644 --- a/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj +++ b/20220330_Vote/Ewide.Web.Entry/Ewide.Web.Entry.csproj @@ -72,6 +72,546 @@ PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/20220330_Vote/Ewide.Web.Entry/Views/Shared/_Layout.cshtml b/20220330_Vote/Ewide.Web.Entry/Views/Shared/_Layout.cshtml index e0cfdf3..8ca4231 100644 --- a/20220330_Vote/Ewide.Web.Entry/Views/Shared/_Layout.cshtml +++ b/20220330_Vote/Ewide.Web.Entry/Views/Shared/_Layout.cshtml @@ -3,7 +3,7 @@ - 宁波市“甬江建设杯”选票 + @ViewBag.Title @RenderBody() diff --git a/20220330_Vote/Ewide.Web.Entry/Views/WX/Index - 复制.cshtml b/20220330_Vote/Ewide.Web.Entry/Views/WX/Index - 复制.cshtml new file mode 100644 index 0000000..7654b5f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/Views/WX/Index - 复制.cshtml @@ -0,0 +1,86 @@ +@* + For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 +*@ +@{ +} + + + +

@ViewBag.Title

+
+
+
+
+ @Html.Raw(ViewBag.Detail) +
+
+
+ + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/Views/WX/Index.cshtml b/20220330_Vote/Ewide.Web.Entry/Views/WX/Index.cshtml new file mode 100644 index 0000000..c3ac6c3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/Views/WX/Index.cshtml @@ -0,0 +1,36 @@ +@* + For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 +*@ +@{ +} + + +

输入Url:

+
+
+
+
+ +
+ +
+
+ + + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/Views/WX/Result.cshtml b/20220330_Vote/Ewide.Web.Entry/Views/WX/Result.cshtml new file mode 100644 index 0000000..f885a3a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/Views/WX/Result.cshtml @@ -0,0 +1,60 @@ +@* + For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 +*@ +@{ +} + + + +

@ViewBag.Title

+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/CHANGES.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/CHANGES.md new file mode 100644 index 0000000..d291c8d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/CHANGES.md @@ -0,0 +1,1118 @@ +CKEditor 4 Changelog +==================== + +## CKEditor 4.5.11 + +**Security Updates:** + +* [Severity: minor] Fixed the target="_blank" vulnerability reported by James Gaskell. + + Issue summary: If a victim had access to a spoofed version of ckeditor.com via HTTP (e.g. due to DNS spoofing, using a hacked public network or mailicious hotspot), then when using a link to the ckeditor.com website it was possible for the attacker to change the current URL of the opening page, even if the opening page was protected with SSL. + + An upgrade is recommended. + +New Features: + +* [#14747](http://dev.ckeditor.com/ticket/14747): The [Enhanced Image](http://ckeditor.com/addon/image2) caption now supports the link `target` attribute. +* [#7154](http://dev.ckeditor.com/ticket/7154): Added support for the "Display Text" field to the [Link](http://ckeditor.com/addon/link) dialog. Thanks to [Ryan Guill](https://github.com/ryanguill)! + +Fixed Issues: + +* [#13362](http://dev.ckeditor.com/ticket/13362): [Blink, WebKit] Fixed: Active widget element is not cached when it is losing focus and it is inside an editable element. +* [#13755](http://dev.ckeditor.com/ticket/13755): [Edge] Fixed: Pasting images does not work. +* [#13548](http://dev.ckeditor.com/ticket/13548): [IE] Fixed: Clicking the [elements path](http://ckeditor.com/addon/elementspath) disables Cut and Copy icons. +* [#13812](http://dev.ckeditor.com/ticket/13812): Fixed: When aborting file upload the placeholder for image is left. +* [#14659](http://dev.ckeditor.com/ticket/14659): [Blink] Fixed: Content scrolled to the top after closing the dialog in a [`
`-based editor](http://ckeditor.com/addon/divarea). +* [#14825](http://dev.ckeditor.com/ticket/14825): [Edge] Fixed: Focusing the editor causes unwanted scrolling due to dropped support for the `setActive` method. + +## CKEditor 4.5.10 + +Fixed Issues: + +* [#10750](http://dev.ckeditor.com/ticket/10750): Fixed: The editor does not escape the `font-style` family property correctly, removing quotes and whitespace from font names. +* [#14413](http://dev.ckeditor.com/ticket/14413): Fixed: The [Auto Grow](http://ckeditor.com/addon/autogrow) plugin with the [`config.autoGrow_onStartup`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-autoGrow_onStartup) option set to `true` does not work properly for an editor that is not visible. +* [#14451](http://dev.ckeditor.com/ticket/14451): Fixed: Numeric element ID not escaped properly. Thanks to [Jakub Chalupa](https://github.com/chaluja7)! +* [#14590](http://dev.ckeditor.com/ticket/14590): Fixed: Additional line break appearing after inline elements when switching modes. Thanks to [dpidcock](https://github.com/dpidcock)! +* [#14539](https://dev.ckeditor.com/ticket/14539): Fixed: JAWS reads "selected Blank" instead of "selected " when selecting a widget. +* [#14701](http://dev.ckeditor.com/ticket/14701): Fixed: More precise labels for [Enhanced Image](http://ckeditor.com/addon/image2) and [Placeholder](http://ckeditor.com/addon/placeholder) widgets. +* [#14667](http://dev.ckeditor.com/ticket/14667): [IE] Fixed: Removing background color from selected text removes background color from the whole paragraph. +* [#14252](http://dev.ckeditor.com/ticket/14252): [IE] Fixed: Styles drop-down list does not always reflect the current style of the text line. +* [#14275](http://dev.ckeditor.com/ticket/14275): [IE9+] Fixed: `onerror` and `onload` events are not used in browsers it could have been used when loading scripts dynamically. + +## CKEditor 4.5.9 + +Fixed Issues: + +* [#10685](http://dev.ckeditor.com/ticket/10685): Fixed: Unreadable toolbar icons after updating to the new editor version. Fixed with [6876179](https://github.com/ckeditor/ckeditor-dev/commit/6876179db4ee97e786b07b8fd72e6b4120732185) in [ckeditor-dev](https://github.com/ckeditor/ckeditor-dev) and [6c9189f4](https://github.com/ckeditor/ckeditor-presets/commit/6c9189f46392d2c126854fe8889b820b8c76d291) in [ckeditor-presets](https://github.com/ckeditor/ckeditor-presets). +* [#14573](https://dev.ckeditor.com/ticket/14573): Fixed: Missing [Widget](http://ckeditor.com/addon/widget) drag handler CSS when there are multiple editor instances. +* [#14620](https://dev.ckeditor.com/ticket/14620): Fixed: Setting both the `min-height` style for the `` element and the `height` style for the `` element breaks the [Auto Grow](http://ckeditor.com/addon/autogrow) plugin. +* [#14538](http://dev.ckeditor.com/ticket/14538): Fixed: Keyboard focus goes into an embedded `' ); + + // Reset last data transfer. + lastDataTransfer = null; + + iframe.on( 'load', function( e ) { + e.removeListener(); + + var doc = iframe.getFrameDocument(); + doc.write( htmlToLoad ); + + editor.focusManager.add( doc.getBody() ); + + if ( CKEDITOR.env.air ) + onPasteFrameLoad.call( this, doc.getWindow().$ ); + }, dialog ); + + iframe.setCustomData( 'dialog', dialog ); + + var container = this.getElement(); + container.setHtml( '' ); + container.append( iframe ); + + // IE need a redirect on focus to make + // the cursor blinking inside iframe. (#5461) + if ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) { + var focusGrabber = CKEDITOR.dom.element.createFromHtml( '' ); + focusGrabber.on( 'focus', function() { + // Since fixDomain is called in src attribute, + // IE needs some slight delay to correctly move focus. + setTimeout( function() { + iframe.$.contentWindow.focus(); + } ); + } ); + container.append( focusGrabber ); + + // Override focus handler on field. + this.focus = function() { + focusGrabber.focus(); + this.fire( 'focus' ); + }; + } + + this.getInputElement = function() { + return iframe; + }; + + // Force container to scale in IE. + if ( CKEDITOR.env.ie ) { + container.setStyle( 'display', 'block' ); + container.setStyle( 'height', ( iframe.$.offsetHeight + 2 ) + 'px' ); + } + }, + commit: function() { + var editor = this.getDialog().getParentEditor(), + body = this.getInputElement().getFrameDocument().getBody(), + bogus = body.getBogus(), + html; + bogus && bogus.remove(); + + // Saving the contents so changes until paste is complete will not take place (#7500) + html = body.getHtml(); + + // Opera needs some time to think about what has happened and what it should do now. + setTimeout( function() { + editor.fire( 'pasteDialogCommit', { + dataValue: html, + // Avoid error if there was no paste so lastDataTransfer is null. + dataTransfer: lastDataTransfer || clipboard.initPasteDataTransfer() + } ); + }, 0 ); + } + } + ] + } ] + }; +} ); + +/** + * Internal event to pass paste dialog's data to the listeners. + * + * @private + * @event pasteDialogCommit + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + */ diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/af.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/af.js new file mode 100644 index 0000000..20788e4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/af.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'af', { + copy: 'Kopiëer', + copyError: 'U blaaier se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).', + cut: 'Knip', + cutError: 'U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).', + paste: 'Plak', + pasteArea: 'Plak-area', + pasteMsg: 'Plak die teks in die volgende teks-area met die sleutelbordkombinasie (Ctrl/Cmd+V) en druk OK.', + securityMsg: 'Weens u blaaier se sekuriteitsinstelling is data op die knipbord nie toeganklik nie. U kan dit eers weer in hierdie venster plak.', + title: 'Byvoeg' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ar.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ar.js new file mode 100644 index 0000000..6bcda42 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ar.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ar', { + copy: 'نسخ', + copyError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع عمليات النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).', + cut: 'قص', + cutError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).', + paste: 'لصق', + pasteArea: 'منطقة اللصق', + pasteMsg: 'الصق داخل الصندوق بإستخدام زرائر (Ctrl/Cmd+V) في لوحة المفاتيح، ثم اضغط زر موافق.', + securityMsg: 'نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذلك يجب عليك لصق المحتوى مرة أخرى في هذه النافذة.', + title: 'لصق' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bg.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bg.js new file mode 100644 index 0000000..a53b886 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bg.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'bg', { + copy: 'Копирай', + copyError: 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).', + cut: 'Отрежи', + cutError: 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).', + paste: 'Вмъкни', + pasteArea: 'Зона за вмъкване', + pasteMsg: 'Вмъкнете тук съдъжанието с клавиатуарата (Ctrl/Cmd+V) и натиснете OK.', + securityMsg: 'Заради настройките за сигурност на Вашия браузър, редакторът не може да прочете данните от клипборда коректно.', + title: 'Вмъкни' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bn.js new file mode 100644 index 0000000..e947b50 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bn.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'bn', { + copy: 'কপি', + copyError: 'আপনার ব্রাউজারের নিরাপত্তা সেটিংসমূহ এডিটরকে স্বয়ংক্রিয়ভাবে কপি করার প্রক্রিয়া চালনা করার অনুমতি দেয় না। অনুগ্রহপূর্বক এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।', + cut: 'কাট', + cutError: 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।', + paste: 'পেস্ট', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (Ctrl/Cmd+V) পেস্ট করুন এবং OK চাপ দিন', + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + title: 'পেস্ট' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bs.js new file mode 100644 index 0000000..abfab5e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/bs.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'bs', { + copy: 'Kopiraj', + copyError: 'Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).', + cut: 'Izreži', + cutError: 'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).', + paste: 'Zalijepi', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + title: 'Zalijepi' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ca.js new file mode 100644 index 0000000..2e17237 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ca.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ca', { + copy: 'Copiar', + copyError: 'La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).', + cut: 'Retallar', + cutError: 'La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).', + paste: 'Enganxar', + pasteArea: 'Àrea d\'enganxat', + pasteMsg: 'Si us plau, enganxi dins del següent camp utilitzant el teclat (Ctrl/Cmd+V) i premi OK.', + securityMsg: 'A causa de la configuració de seguretat del vostre navegador, l\'editor no pot accedir a les dades del porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.', + title: 'Enganxar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cs.js new file mode 100644 index 0000000..1f8a325 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cs.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'cs', { + copy: 'Kopírovat', + copyError: 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).', + cut: 'Vyjmout', + cutError: 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).', + paste: 'Vložit', + pasteArea: 'Oblast vkládání', + pasteMsg: 'Do následujícího pole vložte požadovaný obsah pomocí klávesnice (Ctrl/Cmd+V) a stiskněte OK.', + securityMsg: 'Z důvodů nastavení bezpečnosti vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.', + title: 'Vložit' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cy.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cy.js new file mode 100644 index 0000000..3e7e51a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/cy.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'cy', { + copy: 'Copïo', + copyError: '\'Dyw gosodiadau diogelwch eich porwr ddim yn caniatàu\'r golygydd i gynnal \'gweithredoedd copïo\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).', + cut: 'Torri', + cutError: 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd torri\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).', + paste: 'Gludo', + pasteArea: 'Ardal Gludo', + pasteMsg: 'Gludwch i mewn i\'r blwch canlynol gan ddefnyddio\'r bysellfwrdd (Ctrl/Cmd+V) a phwyso Iawn.', + securityMsg: 'Oherwydd gosodiadau diogelwch eich porwr, \'dyw\'r porwr ddim yn gallu ennill mynediad i\'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i\'r ffenestr hon.', + title: 'Gludo' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/da.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/da.js new file mode 100644 index 0000000..ade5d2c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/da.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'da', { + copy: 'Kopiér', + copyError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).', + cut: 'Klip', + cutError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).', + paste: 'Indsæt', + pasteArea: 'Indsæt område', + pasteMsg: 'Indsæt i feltet herunder (Ctrl/Cmd+V) og klik på OK.', + securityMsg: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Du skal indsætte udklipsholderens indhold i dette vindue igen.', + title: 'Indsæt' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de-ch.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de-ch.js new file mode 100644 index 0000000..8899b41 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de-ch.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'de-ch', { + copy: 'Kopieren', + copyError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).', + cut: 'Ausschneiden', + cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).', + paste: 'Einfügen', + pasteArea: 'Einfügebereich', + pasteMsg: 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit Strg+V) ein und bestätigen Sie mit OK.', + securityMsg: 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.', + title: 'Einfügen' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de.js new file mode 100644 index 0000000..02ad62b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/de.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'de', { + copy: 'Kopieren', + copyError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).', + cut: 'Ausschneiden', + cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).', + paste: 'Einfügen', + pasteArea: 'Einfügebereich', + pasteMsg: 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit Strg+V) ein und bestätigen Sie mit OK.', + securityMsg: 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.', + title: 'Einfügen' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/el.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/el.js new file mode 100644 index 0000000..3345e6c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/el.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'el', { + copy: 'Αντιγραφή', + copyError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).', + cut: 'Αποκοπή', + cutError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).', + paste: 'Επικόλληση', + pasteArea: 'Περιοχή Επικόλλησης', + pasteMsg: 'Παρακαλώ επικολλήστε στο ακόλουθο κουτί χρησιμοποιώντας το πληκτρολόγιο (Ctrl/Cmd+V) και πατήστε OK.', + securityMsg: 'Λόγων των ρυθμίσεων ασφάλειας του περιηγητή σας, ο επεξεργαστής δεν μπορεί να έχει πρόσβαση στην μνήμη επικόλλησης. Χρειάζεται να επικολλήσετε ξανά σε αυτό το παράθυρο.', + title: 'Επικόλληση' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-au.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-au.js new file mode 100644 index 0000000..d69123d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-au.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'en-au', { + copy: 'Copy', + copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', + cut: 'Cut', + cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', + paste: 'Paste', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', + title: 'Paste' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-ca.js new file mode 100644 index 0000000..bbf3ca7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-ca.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'en-ca', { + copy: 'Copy', + copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', + cut: 'Cut', + cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', + paste: 'Paste', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', + title: 'Paste' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-gb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-gb.js new file mode 100644 index 0000000..3bd9d30 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en-gb.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'en-gb', { + copy: 'Copy', + copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', + cut: 'Cut', + cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', + paste: 'Paste', + pasteArea: 'Paste Area', + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', + title: 'Paste' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en.js new file mode 100644 index 0000000..6246f97 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/en.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'en', { + copy: 'Copy', + copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', + cut: 'Cut', + cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', + paste: 'Paste', + pasteArea: 'Paste Area', + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', + title: 'Paste' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eo.js new file mode 100644 index 0000000..eed67d9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eo.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'eo', { + copy: 'Kopii', + copyError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-C).', + cut: 'Eltondi', + cutError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).', + paste: 'Interglui', + pasteArea: 'Intergluoareo', + pasteMsg: 'Bonvolu glui la tekston en la jenan areon per uzado de la klavaro (Ctrl/Cmd+V) kaj premu OK', + securityMsg: 'Pro la sekurecagordo de via TTT-legilo, la redaktilo ne povas rekte atingi viajn datenojn en la poŝo. Bonvolu denove interglui la datenojn en tiun fenestron.', + title: 'Interglui' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/es.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/es.js new file mode 100644 index 0000000..994032a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/es.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'es', { + copy: 'Copiar', + copyError: 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado.\r\nPor favor use el teclado (Ctrl/Cmd+C).', + cut: 'Cortar', + cutError: 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).', + paste: 'Pegar', + pasteArea: 'Zona de pegado', + pasteMsg: 'Por favor pegue dentro del cuadro utilizando el teclado (Ctrl/Cmd+V);\r\nluego presione Aceptar.', + securityMsg: 'Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles.\r\nEs necesario que lo pegue de nuevo en esta ventana.', + title: 'Pegar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/et.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/et.js new file mode 100644 index 0000000..b60710b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/et.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'et', { + copy: 'Kopeeri', + copyError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+C).', + cut: 'Lõika', + cutError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).', + paste: 'Aseta', + pasteArea: 'Asetamise ala', + pasteMsg: 'Palun aseta tekst järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+V) ja vajuta seejärel OK.', + securityMsg: 'Sinu veebisirvija turvaseadete tõttu ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead asetama need uuesti siia aknasse.', + title: 'Asetamine' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eu.js new file mode 100644 index 0000000..9746931 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/eu.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'eu', { + copy: 'Kopiatu', + copyError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki kopiatzea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+C).', + cut: 'Ebaki', + cutError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).', + paste: 'Itsatsi', + pasteArea: 'Itsasteko area', + pasteMsg: 'Mesedez teklatua erabiliz (Ctrl/Cmd+V) ondorengo eremuan testua itsatsi eta sakatu Ados.', + securityMsg: 'Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.', + title: 'Itsatsi' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fa.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fa.js new file mode 100644 index 0000000..1bd18a9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fa.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'fa', { + copy: 'رونوشت', + copyError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای کپی کردن را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+C).', + cut: 'برش', + cutError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).', + paste: 'چسباندن', + pasteArea: 'محل چسباندن', + pasteMsg: 'لطفا متن را با کلیدهای (Ctrl/Cmd+V) در این جعبهٴ متنی بچسبانید و پذیرش را بزنید.', + securityMsg: 'به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمیتواند دسترسی مستقیم به دادههای clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.', + title: 'چسباندن' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fi.js new file mode 100644 index 0000000..15a2daf --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fi.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'fi', { + copy: 'Kopioi', + copyError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).', + cut: 'Leikkaa', + cutError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).', + paste: 'Liitä', + pasteArea: 'Leikealue', + pasteMsg: 'Liitä painamalla (Ctrl+V) ja painamalla OK.', + securityMsg: 'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.', + title: 'Liitä' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fo.js new file mode 100644 index 0000000..ddc726b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fo.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'fo', { + copy: 'Avrita', + copyError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (Ctrl/Cmd+C).', + cut: 'Kvett', + cutError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).', + paste: 'Innrita', + pasteArea: 'Avritingarumráði', + pasteMsg: 'Vinarliga koyr tekstin í hendan rútin við knappaborðinum (Ctrl/Cmd+V) og klikk á Góðtak.', + securityMsg: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.', + title: 'Innrita' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr-ca.js new file mode 100644 index 0000000..f78f4b4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr-ca.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'fr-ca', { + copy: 'Copier', + copyError: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+C).', + cut: 'Couper', + cutError: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).', + paste: 'Coller', + pasteArea: 'Coller la zone', + pasteMsg: 'Veuillez coller dans la zone ci-dessous en utilisant le clavier (Ctrl/Cmd+V) et appuyer sur OK.', + securityMsg: 'A cause des paramètres de sécurité de votre navigateur, l\'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.', + title: 'Coller' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr.js new file mode 100644 index 0000000..5a254eb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/fr.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'fr', { + copy: 'Copier', + copyError: 'Les paramètres de sécurité de votre navigateur n\'autorisent pas l\'éditeur à exécuter automatiquement l\'opération « Copier ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+C).', + cut: 'Couper', + cutError: 'Les paramètres de sécurité de votre navigateur n\'autorisent pas l\'éditeur à exécuter automatiquement l\'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).', + paste: 'Coller', + pasteArea: 'Coller la zone', + pasteMsg: 'Veuillez coller le texte dans la zone suivante en utilisant le raccourci clavier (Ctrl/Cmd+V) et cliquez sur OK.', + securityMsg: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur d\'accéder directement aux données du presse-papier. Vous devez les coller à nouveau dans cette fenêtre.', + title: 'Coller' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gl.js new file mode 100644 index 0000000..09c21a6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gl.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'gl', { + copy: 'Copiar', + copyError: 'Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de copia. Use o teclado para iso (Ctrl/Cmd+C).', + cut: 'Cortar', + cutError: 'Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de corte. Use o teclado para iso (Ctrl/Cmd+X).', + paste: 'Pegar', + pasteArea: 'Zona de pegado', + pasteMsg: 'Pegue dentro do seguinte cadro usando o teclado (Ctrl/Cmd+V) e prema en Aceptar', + securityMsg: 'Por mor da configuración de seguranza do seu navegador, o editor non ten acceso ao portapapeis. É necesario pegalo novamente nesta xanela.', + title: 'Pegar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gu.js new file mode 100644 index 0000000..96c417e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/gu.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'gu', { + copy: 'નકલ', + copyError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+C) का प्रयोग करें।', + cut: 'કાપવું', + cutError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.', + paste: 'પેસ્ટ', + pasteArea: 'પેસ્ટ કરવાની જગ્યા', + pasteMsg: 'Ctrl/Cmd+V નો પ્રયોગ કરી પેસ્ટ કરો', + securityMsg: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.', + title: 'પેસ્ટ' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/he.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/he.js new file mode 100644 index 0000000..cd85510 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/he.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'he', { + copy: 'העתקה', + copyError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות העתקה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+C).', + cut: 'גזירה', + cutError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+X).', + paste: 'הדבקה', + pasteArea: 'איזור הדבקה', + pasteMsg: 'נא להדביק בתוך הקופסה באמצעות (Ctrl/Cmd+V) וללחוץ על אישור.', + securityMsg: 'עקב הגדרות אבטחה בדפדפן, לא ניתן לגשת אל לוח הגזירים (Clipboard) בצורה ישירה. נא להדביק שוב בחלון זה.', + title: 'הדבקה' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hi.js new file mode 100644 index 0000000..198f041 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hi.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'hi', { + copy: 'कॉपी', + copyError: 'आपके ब्राआउज़र की सुरक्षा सॅटिन्ग्स ने कॉपी करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+C) का प्रयोग करें।', + cut: 'कट', + cutError: 'आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+X) का प्रयोग करें।', + paste: 'पेस्ट', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'Ctrl/Cmd+V का प्रयोग करके पेस्ट करें और ठीक है करें.', + securityMsg: 'आपके ब्राउज़र की सुरक्षा आपके ब्राउज़र की सुरKश सैटिंग के कारण, एडिटर आपके क्लिपबोर्ड डेटा को नहीं पा सकता है. आपको उसे इस विन्डो में दोबारा पेस्ट करना होगा.', + title: 'पेस्ट' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hr.js new file mode 100644 index 0000000..31034f2 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hr.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'hr', { + copy: 'Kopiraj', + copyError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+C).', + cut: 'Izreži', + cutError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).', + paste: 'Zalijepi', + pasteArea: 'Prostor za ljepljenje', + pasteMsg: 'Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (Ctrl/Cmd+V) i kliknite OK.', + securityMsg: 'Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.', + title: 'Zalijepi' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hu.js new file mode 100644 index 0000000..2d5ad72 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/hu.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'hu', { + copy: 'Másolás', + copyError: 'A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a másolás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).', + cut: 'Kivágás', + cutError: 'A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).', + paste: 'Beillesztés', + pasteArea: 'Beszúrás mező', + pasteMsg: 'Másolja be az alábbi mezőbe a Ctrl/Cmd+V billentyűk lenyomásával, majd nyomjon Rendben-t.', + securityMsg: 'A böngésző biztonsági beállításai miatt a szerkesztő nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.', + title: 'Beillesztés' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/id.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/id.js new file mode 100644 index 0000000..1c23826 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/id.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'id', { + copy: 'Salin', + copyError: 'Pengaturan keamanan peramban anda tidak mengizinkan editor untuk mengeksekusi operasi menyalin secara otomatis. Mohon gunakan papan tuts (Ctrl/Cmd+C)', + cut: 'Potong', + cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING + paste: 'Tempel', + pasteArea: 'Area Tempel', + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg: 'Karena pengaturan keamanan peramban anda, editor tida dapat mengakses data clipboard anda secara langsung. Anda harus mem-paste kembali pada halaman ini', + title: 'Tempel' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/is.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/is.js new file mode 100644 index 0000000..c93790d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/is.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'is', { + copy: 'Afrita', + copyError: 'Öryggisstillingar vafrans þíns leyfa ekki afritun texta með músaraðgerð. Notaðu lyklaborðið í afrita (Ctrl/Cmd+C).', + cut: 'Klippa', + cutError: 'Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).', + paste: 'Líma', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'Límdu í svæðið hér að neðan og (Ctrl/Cmd+V) og smelltu á OK.', + securityMsg: 'Vegna öryggisstillinga í vafranum þínum fær ritillinn ekki beinan aðgang að klippuborðinu. Þú verður að líma innihaldið aftur inn í þennan glugga.', + title: 'Líma' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/it.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/it.js new file mode 100644 index 0000000..3a707ff --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/it.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'it', { + copy: 'Copia', + copyError: 'Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+C).', + cut: 'Taglia', + cutError: 'Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).', + paste: 'Incolla', + pasteArea: 'Incolla', + pasteMsg: 'Incolla il testo all\'interno dell\'area sottostante usando la scorciatoia di tastiere (Ctrl/Cmd+V) e premi OK.', + securityMsg: 'A causa delle impostazioni di sicurezza del browser,l\'editor non è in grado di accedere direttamente agli appunti. E\' pertanto necessario incollarli di nuovo in questa finestra.', + title: 'Incolla' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ja.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ja.js new file mode 100644 index 0000000..879fe94 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ja.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ja', { + copy: 'コピー', + copyError: 'ブラウザーのセキュリティ設定によりエディタのコピー操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+C)を使用してください。', + cut: '切り取り', + cutError: 'ブラウザーのセキュリティ設定によりエディタの切り取り操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+X)を使用してください。', + paste: '貼り付け', + pasteArea: '貼り付け場所', + pasteMsg: 'キーボード(Ctrl/Cmd+V)を使用して、次の入力エリア内で貼り付けて、OKを押してください。', + securityMsg: 'ブラウザのセキュリティ設定により、エディタはクリップボードデータに直接アクセスすることができません。このウィンドウは貼り付け操作を行う度に表示されます。', + title: '貼り付け' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ka.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ka.js new file mode 100644 index 0000000..021ea1f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ka.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ka', { + copy: 'ასლი', + copyError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ასლის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+C).', + cut: 'ამოჭრა', + cutError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ამოჭრის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+X).', + paste: 'ჩასმა', + pasteArea: 'ჩასმის არე', + pasteMsg: 'ჩასვით ამ არის შიგნით კლავიატურის გამოყენებით (Ctrl/Cmd+V) და დააჭირეთ OK-ს', + securityMsg: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა clipboard-ის მონაცემების წვდომის უფლებას. კიდევ უნდა ჩასვათ ტექსტი ამ ფანჯარაში.', + title: 'ჩასმა' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/km.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/km.js new file mode 100644 index 0000000..173d6a7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/km.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'km', { + copy: 'ចម្លង', + copyError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ ចំលងអត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+C)។', + cut: 'កាត់យក', + cutError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+X) ។', + paste: 'បិទ​ភ្ជាប់', + pasteArea: 'តំបន់​បិទ​ភ្ជាប់', + pasteMsg: 'សូមចំលងអត្ថបទទៅដាក់ក្នុងប្រអប់ដូចខាងក្រោមដោយប្រើប្រាស់ ឃី ​(Ctrl/Cmd+V) ហើយចុច OK ។', + securityMsg: 'ព្រោះតែ​ការកំណត់​សុវត្ថិភាព ប្រអប់សរសេរ​មិន​អាចចាប់​យកទិន្នន័យពីក្តារតម្បៀតខ្ទាស់​អ្នក​​ដោយផ្ទាល់​បានទេ។ អ្នក​ត្រូវចំលង​ដាក់វាម្តង​ទៀត ក្នុងផ្ទាំងនេះ។', + title: 'បិទ​ភ្ជាប់' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ko.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ko.js new file mode 100644 index 0000000..8583291 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ko.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ko', { + copy: '복사', + copyError: '브라우저의 보안설정 때문에 복사할 수 없습니다. 키보드(Ctrl/Cmd+C)를 이용해서 복사하십시오.', + cut: '잘라내기', + cutError: '브라우저의 보안설정 때문에 잘라내기 기능을 실행할 수 없습니다. 키보드(Ctrl/Cmd+X)를 이용해서 잘라내기 하십시오', + paste: '붙여넣기', + pasteArea: '붙여넣기 범위', + pasteMsg: '키보드(Ctrl/Cmd+V)를 이용해서 상자안에 붙여넣고 확인 를 누르세요.', + securityMsg: '브라우저 보안 설정으로 인해, 클립보드에 직접 접근할 수 없습니다. 이 창에 다시 붙여넣기 하십시오.', + title: '붙여넣기' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ku.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ku.js new file mode 100644 index 0000000..20fc54e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ku.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ku', { + copy: 'لەبەرگرتنەوە', + copyError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بەسەرنووسەکە لە لکاندنی دەقی خۆکارارنە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+C).', + cut: 'بڕین', + cutError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە لەبڕینی خۆکارانە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).', + paste: 'لکاندن', + pasteArea: 'ناوچەی لکاندن', + pasteMsg: 'تکایە بیلکێنە لەناوەوەی ئەم سنوقە لەڕێی تەختەکلیلەکەت بە بەکارهێنانی کلیلی (Ctrl/Cmd+V) دووای کلیکی باشە بکە.', + securityMsg: 'بەهۆی شێوەپێدانی پارێزی وێبگەڕەکەت، سەرنووسەکه ناتوانێت دەستبگەیەنێت بەهەڵگیراوەکە ڕاستەوخۆ. بۆیه پێویسته دووباره بیلکێنیت لەم پەنجەرەیه.', + title: 'لکاندن' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lt.js new file mode 100644 index 0000000..7430e35 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lt.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'lt', { + copy: 'Kopijuoti', + copyError: 'Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti kopijavimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+C).', + cut: 'Iškirpti', + cutError: 'Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+X).', + paste: 'Įdėti', + pasteArea: 'Įkelti dalį', + pasteMsg: 'Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (Ctrl/Cmd+V) ir paspauskite mygtuką OK.', + securityMsg: 'Dėl jūsų naršyklės saugumo nustatymų, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartą į šį langą.', + title: 'Įdėti' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lv.js new file mode 100644 index 0000000..4c472bc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/lv.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'lv', { + copy: 'Kopēt', + copyError: 'Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt kopēšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+C), lai veiktu šo darbību.', + cut: 'Izgriezt', + cutError: 'Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt izgriezšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+X), lai veiktu šo darbību.', + paste: 'Ielīmēt', + pasteArea: 'Ielīmēšanas zona', + pasteMsg: 'Lūdzu, ievietojiet tekstu šajā laukumā, izmantojot klaviatūru (Ctrl/Cmd+V) un apstipriniet ar Darīts!.', + securityMsg: 'Jūsu pārlūka drošības uzstādījumu dēļ, nav iespējams tieši piekļūt jūsu starpliktuvei. Jums jāielīmē atkārtoti šajā logā.', + title: 'Ievietot' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mk.js new file mode 100644 index 0000000..7b166d6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mk.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'mk', { + copy: 'Копирај (Copy)', + copyError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши копирање. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)', + cut: 'Исечи (Cut)', + cutError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши сечење. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)', + paste: 'Залепи (Paste)', + pasteArea: 'Простор за залепување', + pasteMsg: 'Ве молиме да залепите во следниот квадрат користејќи ја тастатурата (Ctrl/Cmd+V) и да притиснете OK', + securityMsg: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот директно да пристапи до копираните податоци. Потребно е повторно да се обидете во овој прозорец.', + title: 'Залепи (Paste)' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mn.js new file mode 100644 index 0000000..cea4e69 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/mn.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'mn', { + copy: 'Хуулах', + copyError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хуулах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+C) товчны хослолыг ашиглана уу.', + cut: 'Хайчлах', + cutError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хослолыг ашиглана уу.', + paste: 'Буулгах', + pasteArea: 'Paste Area', // MISSING + pasteMsg: '(Ctrl/Cmd+V) товчийг ашиглан paste хийнэ үү. Мөн OK дар.', + securityMsg: 'Таны үзүүлэгч/browser/-н хамгаалалтын тохиргооноос болоод editor clipboard өгөгдөлрүү шууд хандах боломжгүй. Энэ цонход дахин paste хийхийг оролд.', + title: 'Буулгах' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ms.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ms.js new file mode 100644 index 0000000..98f7cfd --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ms.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ms', { + copy: 'Salin', + copyError: 'Keselamatan perisian browser anda tidak membenarkan operasi salinan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+C).', + cut: 'Potong', + cutError: 'Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).', + paste: 'Tampal', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + title: 'Tampal' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nb.js new file mode 100644 index 0000000..e429bc7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nb.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'nb', { + copy: 'Kopier', + copyError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+C).', + cut: 'Klipp ut', + cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+X).', + paste: 'Lim inn', + pasteArea: 'Innlimingsområde', + pasteMsg: 'Vennligst lim inn i følgende boks med tastaturet (Ctrl/Cmd+V) og trykk OK.', + securityMsg: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.', + title: 'Lim inn' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nl.js new file mode 100644 index 0000000..5ff04e0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/nl.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'nl', { + copy: 'Kopiëren', + copyError: 'De beveiligingsinstelling van de browser verhinderen het automatisch kopiëren. Gebruik de sneltoets Ctrl/Cmd+C van het toetsenbord.', + cut: 'Knippen', + cutError: 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.', + paste: 'Plakken', + pasteArea: 'Plakgebied', + pasteMsg: 'Plak de tekst in het volgende vak gebruikmakend van uw toetsenbord (Ctrl/Cmd+V) en klik op OK.', + securityMsg: 'Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.', + title: 'Plakken' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/no.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/no.js new file mode 100644 index 0000000..3fb8d83 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/no.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'no', { + copy: 'Kopier', + copyError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).', + cut: 'Klipp ut', + cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', + paste: 'Lim inn', + pasteArea: 'Innlimingsområde', + pasteMsg: 'Vennligst lim inn i følgende boks med tastaturet (Ctrl/Cmd+V) og trykk OK.', + securityMsg: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.', + title: 'Lim inn' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/oc.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/oc.js new file mode 100644 index 0000000..96d29bb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/oc.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'oc', { + copy: 'Copiar', + copyError: 'Los paramètres de seguretat de vòstre navigador autorizan pas l\'editor a executar automaticament l\'operacion « Copiar ». Utilizatz l\'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+C).', + cut: 'Talhar', + cutError: 'Los paramètres de seguretat de vòstre navigador autorizan pas l\'editor a executar automaticament l\'operacion « Talhar ». Utilizatz l\'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+X).', + paste: 'Pegar', + pasteArea: 'Pegar la zòna', + pasteMsg: 'Pegatz lo tèxte dins la zòna seguenta en utilizant l\'acorchi de clavièr (Ctrl/Cmd+V) e clicatz sus D\'acòrdi.', + securityMsg: 'Los paramètres de seguretat de vòstre navigador empach l\'editor d\'accedir dirèctament a las donadas del quichapapièr. Las vos cal pegar tornamai dins aquesta fenèstra.', + title: 'Pegar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pl.js new file mode 100644 index 0000000..8f91d30 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pl.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'pl', { + copy: 'Kopiuj', + copyError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne kopiowanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+C.', + cut: 'Wytnij', + cutError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.', + paste: 'Wklej', + pasteArea: 'Obszar wklejania', + pasteMsg: 'Wklej tekst w poniższym polu, używając skrótu klawiaturowego (Ctrl/Cmd+V), i kliknij OK.', + securityMsg: 'Zabezpieczenia przeglądarki uniemożliwiają wklejenie danych bezpośrednio do edytora. Proszę ponownie wkleić dane w tym oknie.', + title: 'Wklej' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt-br.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt-br.js new file mode 100644 index 0000000..3de6be4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt-br.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'pt-br', { + copy: 'Copiar', + copyError: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl/Cmd+C).', + cut: 'Recortar', + cutError: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).', + paste: 'Colar', + pasteArea: 'Área para Colar', + pasteMsg: 'Transfira o link usado na caixa usando o teclado com (Ctrl/Cmd+V) e OK.', + securityMsg: 'As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo manualmente nesta janela.', + title: 'Colar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt.js new file mode 100644 index 0000000..6289b38 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/pt.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'pt', { + copy: 'Copiar', + copyError: 'A configuração de segurança do navegador não permite a execução automática de operações de copiar. Por favor use o teclado (Ctrl/Cmd+C).', + cut: 'Cortar', + cutError: 'A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl/Cmd+X).', + paste: 'Colar', + pasteArea: 'Colar área', + pasteMsg: 'Por favor, cole dentro da seguinte caixa usando o teclado (Ctrl/Cmd+V) e carregue em OK.', + securityMsg: 'Devido ás definições de segurança do teu browser, o editor não pode aceder ao clipboard diretamente. É necessário que voltes a colar as informações nesta janela.', + title: 'Colar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ro.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ro.js new file mode 100644 index 0000000..d57f232 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ro.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ro', { + copy: 'Copiază', + copyError: 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de copiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+C).', + cut: 'Taie', + cutError: 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).', + paste: 'Adaugă', + pasteArea: 'Suprafața de adăugare', + pasteMsg: 'Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (Ctrl/Cmd+V) şi apăsaţi OK', + securityMsg: 'Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.', + title: 'Adaugă' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ru.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ru.js new file mode 100644 index 0000000..d778270 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ru.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ru', { + copy: 'Копировать', + copyError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по копированию текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+C).', + cut: 'Вырезать', + cutError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по вырезке текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).', + paste: 'Вставить', + pasteArea: 'Зона для вставки', + pasteMsg: 'Пожалуйста, вставьте текст в зону ниже, используя клавиатуру (Ctrl/Cmd+V) и нажмите кнопку "OK".', + securityMsg: 'Настройки безопасности вашего браузера не разрешают редактору напрямую обращаться к буферу обмена. Вы должны вставить текст снова в это окно.', + title: 'Вставить' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/si.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/si.js new file mode 100644 index 0000000..315881a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/si.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'si', { + copy: 'පිටපත් කරන්න', + copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', // MISSING + cut: 'කපාගන්න', + cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING + paste: 'අලවන්න', + pasteArea: 'අලවන ප්‍රදේශ', + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + title: 'අලවන්න' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sk.js new file mode 100644 index 0000000..ac0a179 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sk.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'sk', { + copy: 'Kopírovať', + copyError: 'Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu kopírovania. Použite na to klávesnicu (Ctrl/Cmd+C).', + cut: 'Vystrihnúť', + cutError: 'Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu vystrihnutia. Použite na to klávesnicu (Ctrl/Cmd+X).', + paste: 'Vložiť', + pasteArea: 'Miesto na vloženie', + pasteMsg: 'Použitím klávesnice (Ctrl/Cmd+V) vložte text do rámčeka a stlačte OK.', + securityMsg: 'Kvôli bezpečnostným nastaveniam vášho prehliadača editor nemôže pristupovať k schránke na kopírovanie priamo. Vložte to preto do tohto okna.', + title: 'Vložiť' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sl.js new file mode 100644 index 0000000..443f096 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sl.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'sl', { + copy: 'Kopiraj', + copyError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega kopiranja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+C).', + cut: 'Izreži', + cutError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).', + paste: 'Prilepi', + pasteArea: 'Prilepi območje', + pasteMsg: 'Prosimo, prilepite v sleči okvir s pomočjo tipkovnice (Ctrl/Cmd+V) in pritisnite V redu.', + securityMsg: 'Zaradi varnostnih nastavitev vašega brskalnika urejevalnik ne more neposredno dostopati do odložišča. Vsebino odložišča ponovno prilepite v to okno.', + title: 'Prilepi' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sq.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sq.js new file mode 100644 index 0000000..b9a684e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sq.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'sq', { + copy: 'Kopjo', + copyError: 'Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e kopjimit. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+C).', + cut: 'Preje', + cutError: 'Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e prerjes. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+X).', + paste: 'Hidhe', + pasteArea: 'Hapësira Hedhëse', + pasteMsg: 'Ju lutemi hidhni brenda kutizës në vijim duke shfrytëzuar tastierën (Ctrl/Cmd+V) dhe shtypni Mirë.', + securityMsg: 'Për shkak të dhënave të sigurisë së shfletuesit tuaj, redaktuesi nuk është në gjendje të i qaset drejtpërdrejtë të dhanve të tabelës suaj të punës. Ju duhet të hidhni atë përsëri në këtë dritare.', + title: 'Hidhe' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr-latn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr-latn.js new file mode 100644 index 0000000..0245a6e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr-latn.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'sr-latn', { + copy: 'Kopiraj', + copyError: 'Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+C).', + cut: 'Iseci', + cutError: 'Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+X).', + paste: 'Zalepi', + pasteArea: 'Prostor za lepljenje', + pasteMsg: 'Molimo Vas da zalepite unutar donje povrine koristeći tastaturnu prečicu (Ctrl/Cmd+V) i da pritisnete OK.', + securityMsg: 'Zbog sigurnosnih postavki vašeg pregledača, editor nije u mogućnosti da direktno pristupi podacima u klipbordu. Potrebno je da zalepite još jednom u ovom prozoru.', + title: 'Zalepi' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr.js new file mode 100644 index 0000000..aabe83f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sr.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'sr', { + copy: 'Копирај', + copyError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског копирања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+C).', + cut: 'Исеци', + cutError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+X).', + paste: 'Залепи', + pasteArea: 'Залепи зону', + pasteMsg: 'Молимо Вас да залепите унутар доње површине користећи тастатурну пречицу (Ctrl/Cmd+V) и да притиснете OK.', + securityMsg: 'Због сигурносних подешавања претраживача, едитор не може да приступи оставу. Требате да га поново залепите у овом прозору.', + title: 'Залепи' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sv.js new file mode 100644 index 0000000..4c14c72 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/sv.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'sv', { + copy: 'Kopiera', + copyError: 'Säkerhetsinställningar i Er webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.', + cut: 'Klipp ut', + cutError: 'Säkerhetsinställningar i Er webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.', + paste: 'Klistra in', + pasteArea: 'Paste Area', + pasteMsg: 'Var god och klistra in Er text i rutan nedan genom att använda (Ctrl/Cmd+V) klicka sen på OK.', + securityMsg: 'På grund av din webbläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.', + title: 'Klistra in' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/th.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/th.js new file mode 100644 index 0000000..0420220 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/th.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'th', { + copy: 'สำเนา', + copyError: 'ไม่สามารถสำเนาข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว C พร้อมกัน).', + cut: 'ตัด', + cutError: 'ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว X พร้อมกัน).', + paste: 'วาง', + pasteArea: 'Paste Area', // MISSING + pasteMsg: 'กรุณาใช้คีย์บอร์ดเท่านั้น โดยกดปุ๋ม (Ctrl/Cmd และ V)พร้อมๆกัน และกด OK.', + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + title: 'วาง' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tr.js new file mode 100644 index 0000000..b0e85d9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tr.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'tr', { + copy: 'Kopyala', + copyError: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kopyalama işlemine izin vermiyor. İşlem için (Ctrl/Cmd+C) tuşlarını kullanın.', + cut: 'Kes', + cutError: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kesme işlemine izin vermiyor. İşlem için (Ctrl/Cmd+X) tuşlarını kullanın.', + paste: 'Yapıştır', + pasteArea: 'Yapıştırma Alanı', + pasteMsg: 'Lütfen aşağıdaki kutunun içine yapıştırın. (Ctrl/Cmd+V) ve Tamam butonunu tıklayın.', + securityMsg: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..', + title: 'Yapıştır' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tt.js new file mode 100644 index 0000000..3faee06 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/tt.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'tt', { + copy: 'Күчермәләү', + copyError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.', + cut: 'Кисеп алу', + cutError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.', + paste: 'Өстәү', + pasteArea: 'Өстәү мәйданы', + pasteMsg: 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + title: 'Өстәү' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ug.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ug.js new file mode 100644 index 0000000..e2607df --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/ug.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'ug', { + copy: 'كۆچۈر', + copyError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كۆچۈر مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+C) ئارقىلىق تاماملاڭ', + cut: 'كەس', + cutError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ', + paste: 'چاپلا', + pasteArea: 'چاپلاش دائىرىسى', + pasteMsg: 'ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+V) نى ئىشلىتىپ مەزمۇننى تۆۋەندىكى رامكىغا كۆچۈرۈڭ، ئاندىن جەزملەنى بېسىڭ', + securityMsg: 'توركۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى سەۋەبىدىن بۇ تەھرىرلىگۈچ چاپلاش تاختىسىدىكى مەزمۇننى بىۋاستە زىيارەت قىلالمايدۇ، بۇ كۆزنەكتە قايتا بىر قېتىم چاپلىشىڭىز كېرەك.', + title: 'چاپلا' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/uk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/uk.js new file mode 100644 index 0000000..ba78ed3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/uk.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'uk', { + copy: 'Копіювати', + copyError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).', + cut: 'Вирізати', + cutError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)', + paste: 'Вставити', + pasteArea: 'Область вставки', + pasteMsg: 'Будь ласка, вставте інформацію з буфера обміну в цю область, користуючись комбінацією клавіш (Ctrl/Cmd+V), та натисніть OK.', + securityMsg: 'Редактор не може отримати прямий доступ до буферу обміну у зв\'язку з налаштуваннями Вашого браузера. Вам потрібно вставити інформацію в це вікно.', + title: 'Вставити' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/vi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/vi.js new file mode 100644 index 0000000..4bbd090 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/vi.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'vi', { + copy: 'Sao chép', + copyError: 'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh sao chép. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+C).', + cut: 'Cắt', + cutError: 'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh cắt. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+X).', + paste: 'Dán', + pasteArea: 'Khu vực dán', + pasteMsg: 'Hãy dán nội dung vào trong khung bên dưới, sử dụng tổ hợp phím (Ctrl/Cmd+V) và nhấn vào nút Đồng ý.', + securityMsg: 'Do thiết lập bảo mật của trình duyệt nên trình biên tập không thể truy cập trực tiếp vào nội dung đã sao chép. Bạn cần phải dán lại nội dung vào cửa sổ này.', + title: 'Dán' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh-cn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh-cn.js new file mode 100644 index 0000000..11fa55b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh-cn.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'zh-cn', { + copy: '复制', + copyError: '您的浏览器安全设置不允许编辑器自动执行复制操作,请使用键盘快捷键(Ctrl/Cmd+C)来完成。', + cut: '剪切', + cutError: '您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。', + paste: '粘贴', + pasteArea: '粘贴区域', + pasteMsg: '请使用键盘快捷键(Ctrl/Cmd+V)把内容粘贴到下面的方框里,再按 确定', + securityMsg: '因为您的浏览器的安全设置原因,本编辑器不能直接访问您的剪贴板内容,你需要在本窗口重新粘贴一次。', + title: '粘贴' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh.js new file mode 100644 index 0000000..087a478 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/lang/zh.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'clipboard', 'zh', { + copy: '複製', + copyError: '瀏覽器的安全性設定不允許編輯器自動執行複製動作。請使用鍵盤快捷鍵 (Ctrl/Cmd+C) 複製。', + cut: '剪下', + cutError: '瀏覽器的安全性設定不允許編輯器自動執行剪下動作。請使用鏐盤快捷鍵 (Ctrl/Cmd+X) 剪下。', + paste: '貼上', + pasteArea: '貼上區', + pasteMsg: '請使用鍵盤快捷鍵 (Ctrl/Cmd+V) 貼到下方區域中並按下「確定」。', + securityMsg: '因為瀏覽器的安全性設定,本編輯器無法直接存取您的剪貼簿資料,請您自行在本視窗進行貼上動作。', + title: '貼上' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/plugin.js new file mode 100644 index 0000000..f49e97d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/clipboard/plugin.js @@ -0,0 +1,2728 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @ignore + * File overview: Clipboard support. + */ + +// +// COPY & PASTE EXECUTION FLOWS: +// -- CTRL+C +// * if ( isCustomCopyCutSupported ) +// * dataTransfer.setData( 'text/html', getSelectedHtml ) +// * else +// * browser's default behavior +// -- CTRL+X +// * listen onKey (onkeydown) +// * fire 'saveSnapshot' on editor +// * if ( isCustomCopyCutSupported ) +// * dataTransfer.setData( 'text/html', getSelectedHtml ) +// * extractSelectedHtml // remove selected contents +// * else +// * browser's default behavior +// * deferred second 'saveSnapshot' event +// -- CTRL+V +// * listen onKey (onkeydown) +// * simulate 'beforepaste' for non-IEs on editable +// * listen 'onpaste' on editable ('onbeforepaste' for IE) +// * fire 'beforePaste' on editor +// * if ( !canceled && ( htmlInDataTransfer || !external paste) && dataTransfer is not empty ) getClipboardDataByPastebin +// * fire 'paste' on editor +// * !canceled && fire 'afterPaste' on editor +// -- Copy command +// * tryToCutCopy +// * execCommand +// * !success && notification +// -- Cut command +// * fixCut +// * tryToCutCopy +// * execCommand +// * !success && notification +// -- Paste command +// * fire 'paste' on editable ('beforepaste' for IE) +// * !canceled && execCommand 'paste' +// * !success && fire 'pasteDialog' on editor +// -- Paste from native context menu & menubar +// (Fx & Webkits are handled in 'paste' default listener. +// Opera cannot be handled at all because it doesn't fire any events +// Special treatment is needed for IE, for which is this part of doc) +// * listen 'onpaste' +// * cancel native event +// * fire 'beforePaste' on editor +// * if ( !canceled && ( htmlInDataTransfer || !external paste) && dataTransfer is not empty ) getClipboardDataByPastebin +// * execIECommand( 'paste' ) -> this fires another 'paste' event, so cancel it +// * fire 'paste' on editor +// * !canceled && fire 'afterPaste' on editor +// +// +// PASTE EVENT - PREPROCESSING: +// -- Possible dataValue types: auto, text, html. +// -- Possible dataValue contents: +// * text (possible \n\r) +// * htmlified text (text + br,div,p - no presentational markup & attrs - depends on browser) +// * html +// -- Possible flags: +// * htmlified - if true then content is a HTML even if no markup inside. This flag is set +// for content from editable pastebins, because they 'htmlify' pasted content. +// +// -- Type: auto: +// * content: htmlified text -> filter, unify text markup (brs, ps, divs), set type: text +// * content: html -> filter, set type: html +// -- Type: text: +// * content: htmlified text -> filter, unify text markup +// * content: html -> filter, strip presentational markup, unify text markup +// -- Type: html: +// * content: htmlified text -> filter, unify text markup +// * content: html -> filter +// +// -- Phases: +// * if dataValue is empty copy data from dataTransfer to dataValue (priority 1) +// * filtering (priorities 3-5) - e.g. pastefromword filters +// * content type sniffing (priority 6) +// * markup transformations for text (priority 6) +// +// DRAG & DROP EXECUTION FLOWS: +// -- Drag +// * save to the global object: +// * drag timestamp (with 'cke-' prefix), +// * selected html, +// * drag range, +// * editor instance. +// * put drag timestamp into event.dataTransfer.text +// -- Drop +// * if events text == saved timestamp && editor == saved editor +// internal drag & drop occurred +// * getRangeAtDropPosition +// * create bookmarks for drag and drop ranges starting from the end of the document +// * dragRange.deleteContents() +// * fire 'paste' with saved html and drop range +// * if events text == saved timestamp && editor != saved editor +// cross editor drag & drop occurred +// * getRangeAtDropPosition +// * fire 'paste' with saved html +// * dragRange.deleteContents() +// * FF: refreshCursor on afterPaste +// * if events text != saved timestamp +// drop form external source occurred +// * getRangeAtDropPosition +// * if event contains html data then fire 'paste' with html +// * else if event contains text data then fire 'paste' with encoded text +// * FF: refreshCursor on afterPaste + +'use strict'; + +( function() { + // Register the plugin. + CKEDITOR.plugins.add( 'clipboard', { + requires: 'dialog', + // jscs:disable maximumLineLength + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + // jscs:enable maximumLineLength + icons: 'copy,copy-rtl,cut,cut-rtl,paste,paste-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + var filterType, + filtersFactory = filtersFactoryFactory(); + + if ( editor.config.forcePasteAsPlainText ) { + filterType = 'plain-text'; + } else if ( editor.config.pasteFilter ) { + filterType = editor.config.pasteFilter; + } + // On Webkit the pasteFilter defaults 'semantic-content' because pasted data is so terrible + // that it must be always filtered. + else if ( CKEDITOR.env.webkit && !( 'pasteFilter' in editor.config ) ) { + filterType = 'semantic-content'; + } + + editor.pasteFilter = filtersFactory.get( filterType ); + + initPasteClipboard( editor ); + initDragDrop( editor ); + + CKEDITOR.dialog.add( 'paste', CKEDITOR.getUrl( this.path + 'dialogs/paste.js' ) ); + + editor.on( 'paste', function( evt ) { + // Init `dataTransfer` if `paste` event was fired without it, so it will be always available. + if ( !evt.data.dataTransfer ) { + evt.data.dataTransfer = new CKEDITOR.plugins.clipboard.dataTransfer(); + } + + // If dataValue is already set (manually or by paste bin), so do not override it. + if ( evt.data.dataValue ) { + return; + } + + var dataTransfer = evt.data.dataTransfer, + // IE support only text data and throws exception if we try to get html data. + // This html data object may also be empty if we drag content of the textarea. + value = dataTransfer.getData( 'text/html' ); + + if ( value ) { + evt.data.dataValue = value; + evt.data.type = 'html'; + } else { + // Try to get text data otherwise. + value = dataTransfer.getData( 'text/plain' ); + + if ( value ) { + evt.data.dataValue = editor.editable().transformPlainTextToHtml( value ); + evt.data.type = 'text'; + } + } + }, null, null, 1 ); + + editor.on( 'paste', function( evt ) { + var data = evt.data.dataValue, + blockElements = CKEDITOR.dtd.$block; + + // Filter webkit garbage. + if ( data.indexOf( 'Apple-' ) > -1 ) { + // Replace special webkit's   with simple space, because webkit + // produces them even for normal spaces. + data = data.replace( / <\/span>/gi, ' ' ); + + // Strip around white-spaces when not in forced 'html' content type. + // This spans are created only when pasting plain text into Webkit, + // but for safety reasons remove them always. + if ( evt.data.type != 'html' ) { + data = data.replace( /]*>([^<]*)<\/span>/gi, function( all, spaces ) { + // Replace tabs with 4 spaces like Fx does. + return spaces.replace( /\t/g, '    ' ); + } ); + } + + // This br is produced only when copying & pasting HTML content. + if ( data.indexOf( '
' ) > -1 ) { + evt.data.startsWithEOL = 1; + evt.data.preSniffing = 'html'; // Mark as not text. + data = data.replace( /
/, '' ); + } + + // Remove all other classes. + data = data.replace( /(<[^>]+) class="Apple-[^"]*"/gi, '$1' ); + } + + // Strip editable that was copied from inside. (#9534) + if ( data.match( /^<[^<]+cke_(editable|contents)/i ) ) { + var tmp, + editable_wrapper, + wrapper = new CKEDITOR.dom.element( 'div' ); + + wrapper.setHtml( data ); + // Verify for sure and check for nested editor UI parts. (#9675) + while ( wrapper.getChildCount() == 1 && + ( tmp = wrapper.getFirst() ) && + tmp.type == CKEDITOR.NODE_ELEMENT && // Make sure first-child is element. + ( tmp.hasClass( 'cke_editable' ) || tmp.hasClass( 'cke_contents' ) ) ) { + wrapper = editable_wrapper = tmp; + } + + // If editable wrapper was found strip it and bogus
(added on FF). + if ( editable_wrapper ) + data = editable_wrapper.getHtml().replace( /
$/i, '' ); + } + + if ( CKEDITOR.env.ie ) { + //  

->

(br.cke-pasted-remove will be removed later) + data = data.replace( /^ (?: |\r\n)?<(\w+)/g, function( match, elementName ) { + if ( elementName.toLowerCase() in blockElements ) { + evt.data.preSniffing = 'html'; // Mark as not a text. + return '<' + elementName; + } + return match; + } ); + } else if ( CKEDITOR.env.webkit ) { + //


->


+ // We don't mark br, because this situation can happen for htmlified text too. + data = data.replace( /<\/(\w+)>

<\/div>$/, function( match, elementName ) { + if ( elementName in blockElements ) { + evt.data.endsWithEOL = 1; + return ''; + } + return match; + } ); + } else if ( CKEDITOR.env.gecko ) { + // Firefox adds bogus
when user pasted text followed by space(s). + data = data.replace( /(\s)
$/, '$1' ); + } + + evt.data.dataValue = data; + }, null, null, 3 ); + + editor.on( 'paste', function( evt ) { + var dataObj = evt.data, + type = dataObj.type, + data = dataObj.dataValue, + trueType, + // Default is 'html'. + defaultType = editor.config.clipboard_defaultContentType || 'html', + transferType = dataObj.dataTransfer.getTransferType( editor ); + + // If forced type is 'html' we don't need to know true data type. + if ( type == 'html' || dataObj.preSniffing == 'html' ) { + trueType = 'html'; + } else { + trueType = recogniseContentType( data ); + } + + // Unify text markup. + if ( trueType == 'htmlifiedtext' ) { + data = htmlifiedTextHtmlification( editor.config, data ); + } + + // Strip presentational markup & unify text markup. + // Forced plain text (dialog or forcePAPT). + // Note: we do not check dontFilter option in this case, because forcePAPT was implemented + // before pasteFilter and pasteFilter is automatically used on Webkit&Blink since 4.5, so + // forcePAPT should have priority as it had before 4.5. + if ( type == 'text' && trueType == 'html' ) { + data = filterContent( editor, data, filtersFactory.get( 'plain-text' ) ); + } + // External paste and pasteFilter exists and filtering isn't disabled. + else if ( transferType == CKEDITOR.DATA_TRANSFER_EXTERNAL && editor.pasteFilter && !dataObj.dontFilter ) { + data = filterContent( editor, data, editor.pasteFilter ); + } + + if ( dataObj.startsWithEOL ) { + data = '
' + data; + } + if ( dataObj.endsWithEOL ) { + data += '
'; + } + + if ( type == 'auto' ) { + type = ( trueType == 'html' || defaultType == 'html' ) ? 'html' : 'text'; + } + + dataObj.type = type; + dataObj.dataValue = data; + delete dataObj.preSniffing; + delete dataObj.startsWithEOL; + delete dataObj.endsWithEOL; + }, null, null, 6 ); + + // Inserts processed data into the editor at the end of the + // events chain. + editor.on( 'paste', function( evt ) { + var data = evt.data; + + if ( data.dataValue ) { + editor.insertHtml( data.dataValue, data.type, data.range ); + + // Defer 'afterPaste' so all other listeners for 'paste' will be fired first. + // Fire afterPaste only if paste inserted some HTML. + setTimeout( function() { + editor.fire( 'afterPaste' ); + }, 0 ); + } + }, null, null, 1000 ); + + editor.on( 'pasteDialog', function( evt ) { + // TODO it's possible that this setTimeout is not needed any more, + // because of changes introduced in the same commit as this comment. + // Editor.getClipboardData adds listener to the dialog's events which are + // fired after a while (not like 'showDialog'). + setTimeout( function() { + // Open default paste dialog. + editor.openDialog( 'paste', evt.data ); + }, 0 ); + } ); + } + } ); + + function firePasteEvents( editor, data, withBeforePaste ) { + if ( !data.type ) { + data.type = 'auto'; + } + + if ( withBeforePaste ) { + // Fire 'beforePaste' event so clipboard flavor get customized + // by other plugins. + if ( editor.fire( 'beforePaste', data ) === false ) + return false; // Event canceled + } + + // Do not fire paste if there is no data (dataValue and dataTranfser are empty). + // This check should be done after firing 'beforePaste' because for native paste + // 'beforePaste' is by default fired even for empty clipboard. + if ( !data.dataValue && data.dataTransfer.isEmpty() ) { + return false; + } + + if ( !data.dataValue ) { + data.dataValue = ''; + } + + // Because of FF bug we need to use this hack, otherwise cursor is hidden + // or it is not possible to move it (#12420). + // Also, check that editor.toolbox exists, because the toolbar plugin might not be loaded (#13305). + if ( CKEDITOR.env.gecko && data.method == 'drop' && editor.toolbox ) { + editor.once( 'afterPaste', function() { + editor.toolbox.focus(); + } ); + } + + return editor.fire( 'paste', data ); + } + + function initPasteClipboard( editor ) { + var clipboard = CKEDITOR.plugins.clipboard, + preventBeforePasteEvent = 0, + preventPasteEvent = 0, + inReadOnly = 0; + + addListeners(); + addButtonsCommands(); + + /** + * Gets clipboard data by directly accessing the clipboard (IE only) or opening the paste dialog window. + * + * editor.getClipboardData( { title: 'Get my data' }, function( data ) { + * if ( data ) + * alert( data.type + ' ' + data.dataValue ); + * } ); + * + * @member CKEDITOR.editor + * @param {Object} options + * @param {String} [options.title] The title of the paste dialog window. + * @param {Function} callback A function that will be executed with `data.type` and `data.dataValue` + * or `null` if none of the capturing methods succeeded. + */ + editor.getClipboardData = function( options, callback ) { + var beforePasteNotCanceled = false, + dataType = 'auto', + dialogCommited = false; + + // Options are optional - args shift. + if ( !callback ) { + callback = options; + options = null; + } + + // Listen with maximum priority to handle content before everyone else. + // This callback will handle paste event that will be fired if direct + // access to the clipboard succeed in IE. + editor.on( 'paste', onPaste, null, null, 0 ); + + // Listen at the end of listeners chain to see if event wasn't canceled + // and to retrieve modified data.type. + editor.on( 'beforePaste', onBeforePaste, null, null, 1000 ); + + // getClipboardDataDirectly() will fire 'beforePaste' synchronously, so we can + // check if it was canceled and if any listener modified data.type. + + // If command didn't succeed (only IE allows to access clipboard and only if + // user agrees) open and handle paste dialog. + if ( getClipboardDataDirectly() === false ) { + // Direct access to the clipboard wasn't successful so remove listener. + editor.removeListener( 'paste', onPaste ); + + // If beforePaste was canceled do not open dialog. + // Add listeners only if dialog really opened. 'pasteDialog' can be canceled. + if ( beforePasteNotCanceled && editor.fire( 'pasteDialog', onDialogOpen ) ) { + editor.on( 'pasteDialogCommit', onDialogCommit ); + + // 'dialogHide' will be fired after 'pasteDialogCommit'. + editor.on( 'dialogHide', function( evt ) { + evt.removeListener(); + evt.data.removeListener( 'pasteDialogCommit', onDialogCommit ); + + // Because Opera has to wait a while in pasteDialog we have to wait here. + setTimeout( function() { + // Notify even if user canceled dialog (clicked 'cancel', ESC, etc). + if ( !dialogCommited ) + callback( null ); + }, 10 ); + } ); + } else { + callback( null ); + } + } + + function onPaste( evt ) { + evt.removeListener(); + evt.cancel(); + callback( evt.data ); + } + + function onBeforePaste( evt ) { + evt.removeListener(); + beforePasteNotCanceled = true; + dataType = evt.data.type; + } + + function onDialogCommit( evt ) { + evt.removeListener(); + // Cancel pasteDialogCommit so paste dialog won't automatically fire + // 'paste' evt by itself. + evt.cancel(); + dialogCommited = true; + callback( { + type: dataType, + dataValue: evt.data.dataValue, + dataTransfer: evt.data.dataTransfer, + method: 'paste' + } ); + } + + function onDialogOpen() { + this.customTitle = ( options && options.title ); + } + }; + + function addButtonsCommands() { + addButtonCommand( 'Cut', 'cut', createCutCopyCmd( 'cut' ), 10, 1 ); + addButtonCommand( 'Copy', 'copy', createCutCopyCmd( 'copy' ), 20, 4 ); + addButtonCommand( 'Paste', 'paste', createPasteCmd(), 30, 8 ); + + function addButtonCommand( buttonName, commandName, command, toolbarOrder, ctxMenuOrder ) { + var lang = editor.lang.clipboard[ commandName ]; + + editor.addCommand( commandName, command ); + editor.ui.addButton && editor.ui.addButton( buttonName, { + label: lang, + command: commandName, + toolbar: 'clipboard,' + toolbarOrder + } ); + + // If the "menu" plugin is loaded, register the menu item. + if ( editor.addMenuItems ) { + editor.addMenuItem( commandName, { + label: lang, + command: commandName, + group: 'clipboard', + order: ctxMenuOrder + } ); + } + } + } + + function addListeners() { + editor.on( 'key', onKey ); + editor.on( 'contentDom', addPasteListenersToEditable ); + + // For improved performance, we're checking the readOnly state on selectionChange instead of hooking a key event for that. + editor.on( 'selectionChange', function( evt ) { + inReadOnly = evt.data.selection.getRanges()[ 0 ].checkReadOnly(); + setToolbarStates(); + } ); + + // If the "contextmenu" plugin is loaded, register the listeners. + if ( editor.contextMenu ) { + editor.contextMenu.addListener( function( element, selection ) { + inReadOnly = selection.getRanges()[ 0 ].checkReadOnly(); + return { + cut: stateFromNamedCommand( 'cut' ), + copy: stateFromNamedCommand( 'copy' ), + paste: stateFromNamedCommand( 'paste' ) + }; + } ); + } + } + + // Add events listeners to editable. + function addPasteListenersToEditable() { + var editable = editor.editable(); + + if ( CKEDITOR.plugins.clipboard.isCustomCopyCutSupported ) { + var initOnCopyCut = function( evt ) { + // If user tries to cut in read-only editor, we must prevent default action. (#13872) + if ( !editor.readOnly || evt.name != 'cut' ) { + clipboard.initPasteDataTransfer( evt, editor ); + } + evt.data.preventDefault(); + }; + + editable.on( 'copy', initOnCopyCut ); + editable.on( 'cut', initOnCopyCut ); + + // Delete content with the low priority so one can overwrite cut data. + editable.on( 'cut', function() { + // If user tries to cut in read-only editor, we must prevent default action. (#13872) + if ( !editor.readOnly ) { + editor.extractSelectedHtml(); + } + }, null, null, 999 ); + } + + // We'll be catching all pasted content in one line, regardless of whether + // it's introduced by a document command execution (e.g. toolbar buttons) or + // user paste behaviors (e.g. CTRL+V). + editable.on( clipboard.mainPasteEvent, function( evt ) { + if ( clipboard.mainPasteEvent == 'beforepaste' && preventBeforePasteEvent ) { + return; + } + + // If you've just asked yourself why preventPasteEventNow() is not here, but + // in listener for CTRL+V and exec method of 'paste' command + // you've asked the same question we did. + // + // THE ANSWER: + // + // First thing to notice - this answer makes sense only for IE, + // because other browsers don't listen for 'paste' event. + // + // What would happen if we move preventPasteEventNow() here? + // For: + // * CTRL+V - IE fires 'beforepaste', so we prevent 'paste' and pasteDataFromClipboard(). OK. + // * editor.execCommand( 'paste' ) - we fire 'beforepaste', so we prevent + // 'paste' and pasteDataFromClipboard() and doc.execCommand( 'Paste' ). OK. + // * native context menu - IE fires 'beforepaste', so we prevent 'paste', but unfortunately + // on IE we fail with pasteDataFromClipboard() here, because of... we don't know why, but + // we just fail, so... we paste nothing. FAIL. + // * native menu bar - the same as for native context menu. + // + // But don't you know any way to distinguish first two cases from last two? + // Only one - special flag set in CTRL+V handler and exec method of 'paste' + // command. And that's what we did using preventPasteEventNow(). + + pasteDataFromClipboard( evt ); + } ); + + // It's not possible to clearly handle all four paste methods (ctrl+v, native menu bar + // native context menu, editor's command) in one 'paste/beforepaste' event in IE. + // + // For ctrl+v & editor's command it's easy to handle pasting in 'beforepaste' listener, + // so we do this. For another two methods it's better to use 'paste' event. + // + // 'paste' is always being fired after 'beforepaste' (except of weird one on opening native + // context menu), so for two methods handled in 'beforepaste' we're canceling 'paste' + // using preventPasteEvent state. + // + // 'paste' event in IE is being fired before getClipboardDataByPastebin executes its callback. + // + // QUESTION: Why didn't you handle all 4 paste methods in handler for 'paste'? + // Wouldn't this just be simpler? + // ANSWER: Then we would have to evt.data.preventDefault() only for native + // context menu and menu bar pastes. The same with execIECommand(). + // That would force us to mark CTRL+V and editor's paste command with + // special flag, other than preventPasteEvent. But we still would have to + // have preventPasteEvent for the second event fired by execIECommand. + // Code would be longer and not cleaner. + if ( clipboard.mainPasteEvent == 'beforepaste' ) { + editable.on( 'paste', function( evt ) { + if ( preventPasteEvent ) { + return; + } + + // Cancel next 'paste' event fired by execIECommand( 'paste' ) + // at the end of this callback. + preventPasteEventNow(); + + // Prevent native paste. + evt.data.preventDefault(); + + pasteDataFromClipboard( evt ); + + // Force IE to paste content into pastebin so pasteDataFromClipboard will work. + if ( !execIECommand( 'paste' ) ) { + editor.openDialog( 'paste' ); + } + } ); + + // If mainPasteEvent is 'beforePaste' (IE before Edge), + // dismiss the (wrong) 'beforepaste' event fired on context/toolbar menu open. (#7953) + editable.on( 'contextmenu', preventBeforePasteEventNow, null, null, 0 ); + + editable.on( 'beforepaste', function( evt ) { + // Do not prevent event on CTRL+V and SHIFT+INS because it blocks paste (#11970). + if ( evt.data && !evt.data.$.ctrlKey && !evt.data.$.shiftKey ) + preventBeforePasteEventNow(); + }, null, null, 0 ); + } + + editable.on( 'beforecut', function() { + !preventBeforePasteEvent && fixCut( editor ); + } ); + + var mouseupTimeout; + + // Use editor.document instead of editable in non-IEs for observing mouseup + // since editable won't fire the event if selection process started within + // iframe and ended out of the editor (#9851). + editable.attachListener( CKEDITOR.env.ie ? editable : editor.document.getDocumentElement(), 'mouseup', function() { + mouseupTimeout = setTimeout( function() { + setToolbarStates(); + }, 0 ); + } ); + + // Make sure that deferred mouseup callback isn't executed after editor instance + // had been destroyed. This may happen when editor.destroy() is called in parallel + // with mouseup event (i.e. a button with onclick callback) (#10219). + editor.on( 'destroy', function() { + clearTimeout( mouseupTimeout ); + } ); + + editable.on( 'keyup', setToolbarStates ); + } + + // Create object representing Cut or Copy commands. + function createCutCopyCmd( type ) { + return { + type: type, + canUndo: type == 'cut', // We can't undo copy to clipboard. + startDisabled: true, + fakeKeystroke: type == 'cut' ? CKEDITOR.CTRL + 88 /*X*/ : CKEDITOR.CTRL + 67 /*C*/, + exec: function() { + // Attempts to execute the Cut and Copy operations. + function tryToCutCopy( type ) { + if ( CKEDITOR.env.ie ) + return execIECommand( type ); + + // non-IEs part + try { + // Other browsers throw an error if the command is disabled. + return editor.document.$.execCommand( type, false, null ); + } catch ( e ) { + return false; + } + } + + this.type == 'cut' && fixCut(); + + var success = tryToCutCopy( this.type ); + + if ( !success ) { + // Show cutError or copyError. + editor.showNotification( editor.lang.clipboard[ this.type + 'Error' ] ); // jshint ignore:line + } + + return success; + } + }; + } + + function createPasteCmd() { + return { + // Snapshots are done manually by editable.insertXXX methods. + canUndo: false, + async: true, + fakeKeystroke: CKEDITOR.CTRL + 86 /*V*/, + exec: function( editor, data ) { + var cmd = this, + fire = function( data, withBeforePaste ) { + data && firePasteEvents( editor, data, !!withBeforePaste ); + + editor.fire( 'afterCommandExec', { + name: 'paste', + command: cmd, + returnValue: !!data + } ); + }; + + // Check data precisely - don't open dialog on empty string. + if ( typeof data == 'string' ) + fire( { + dataValue: data, + method: 'paste', + dataTransfer: clipboard.initPasteDataTransfer() + }, 1 ); + else + editor.getClipboardData( fire ); + } + }; + } + + function preventPasteEventNow() { + preventPasteEvent = 1; + // For safety reason we should wait longer than 0/1ms. + // We don't know how long execution of quite complex getClipboardData will take + // and in for example 'paste' listener execCommand() (which fires 'paste') is called + // after getClipboardData finishes. + // Luckily, it's impossible to immediately fire another 'paste' event we want to handle, + // because we only handle there native context menu and menu bar. + setTimeout( function() { + preventPasteEvent = 0; + }, 100 ); + } + + function preventBeforePasteEventNow() { + preventBeforePasteEvent = 1; + setTimeout( function() { + preventBeforePasteEvent = 0; + }, 10 ); + } + + // Tries to execute any of the paste, cut or copy commands in IE. Returns a + // boolean indicating that the operation succeeded. + // @param {String} command *LOWER CASED* name of command ('paste', 'cut', 'copy'). + function execIECommand( command ) { + var doc = editor.document, + body = doc.getBody(), + enabled = false, + onExec = function() { + enabled = true; + }; + + // The following seems to be the only reliable way to detect that + // clipboard commands are enabled in IE. It will fire the + // onpaste/oncut/oncopy events only if the security settings allowed + // the command to execute. + body.on( command, onExec ); + + // IE7: document.execCommand has problem to paste into positioned element. + if ( CKEDITOR.env.version > 7 ) { + doc.$.execCommand( command ); + } else { + doc.$.selection.createRange().execCommand( command ); + } + + body.removeListener( command, onExec ); + + return enabled; + } + + // Cutting off control type element in IE standards breaks the selection entirely. (#4881) + function fixCut() { + if ( !CKEDITOR.env.ie || CKEDITOR.env.quirks ) + return; + + var sel = editor.getSelection(), + control, range, dummy; + + if ( ( sel.getType() == CKEDITOR.SELECTION_ELEMENT ) && ( control = sel.getSelectedElement() ) ) { + range = sel.getRanges()[ 0 ]; + dummy = editor.document.createText( '' ); + dummy.insertBefore( control ); + range.setStartBefore( dummy ); + range.setEndAfter( control ); + sel.selectRanges( [ range ] ); + + // Clear up the fix if the paste wasn't succeeded. + setTimeout( function() { + // Element still online? + if ( control.getParent() ) { + dummy.remove(); + sel.selectElement( control ); + } + }, 0 ); + } + } + + // Allow to peek clipboard content by redirecting the + // pasting content into a temporary bin and grab the content of it. + function getClipboardDataByPastebin( evt, callback ) { + var doc = editor.document, + editable = editor.editable(), + cancel = function( evt ) { + evt.cancel(); + }, + blurListener; + + // Avoid recursions on 'paste' event or consequent paste too fast. (#5730) + if ( doc.getById( 'cke_pastebin' ) ) + return; + + var sel = editor.getSelection(); + var bms = sel.createBookmarks(); + + // #11384. On IE9+ we use native selectionchange (i.e. editor#selectionCheck) to cache the most + // recent selection which we then lock on editable blur. See selection.js for more info. + // selectionchange fired before getClipboardDataByPastebin() cached selection + // before creating bookmark (cached selection will be invalid, because bookmarks modified the DOM), + // so we need to fire selectionchange one more time, to store current seleciton. + // Selection will be locked when we focus pastebin. + if ( CKEDITOR.env.ie ) + sel.root.fire( 'selectionchange' ); + + // Create container to paste into. + // For rich content we prefer to use "body" since it holds + // the least possibility to be splitted by pasted content, while this may + // breaks the text selection on a frame-less editable, "div" would be + // the best one in that case. + // In another case on old IEs moving the selection into a "body" paste bin causes error panic. + // Body can't be also used for Opera which fills it with
+ // what is indistinguishable from pasted
(copying
in Opera isn't possible, + // but it can be copied from other browser). + var pastebin = new CKEDITOR.dom.element( + ( CKEDITOR.env.webkit || editable.is( 'body' ) ) && !CKEDITOR.env.ie ? 'body' : 'div', doc ); + + pastebin.setAttributes( { + id: 'cke_pastebin', + 'data-cke-temp': '1' + } ); + + var containerOffset = 0, + offsetParent, + win = doc.getWindow(); + + if ( CKEDITOR.env.webkit ) { + // It's better to paste close to the real paste destination, so inherited styles + // (which Webkits will try to compensate by styling span) differs less from the destination's one. + editable.append( pastebin ); + // Style pastebin like .cke_editable, to minimize differences between origin and destination. (#9754) + pastebin.addClass( 'cke_editable' ); + + // Compensate position of offsetParent. + if ( !editable.is( 'body' ) ) { + // We're not able to get offsetParent from pastebin (body element), so check whether + // its parent (editable) is positioned. + if ( editable.getComputedStyle( 'position' ) != 'static' ) + offsetParent = editable; + // And if not - safely get offsetParent from editable. + else + offsetParent = CKEDITOR.dom.element.get( editable.$.offsetParent ); + + containerOffset = offsetParent.getDocumentPosition().y; + } + } else { + // Opera and IE doesn't allow to append to html element. + editable.getAscendant( CKEDITOR.env.ie ? 'body' : 'html', 1 ).append( pastebin ); + } + + pastebin.setStyles( { + position: 'absolute', + // Position the bin at the top (+10 for safety) of viewport to avoid any subsequent document scroll. + top: ( win.getScrollPosition().y - containerOffset + 10 ) + 'px', + width: '1px', + // Caret has to fit in that height, otherwise browsers like Chrome & Opera will scroll window to show it. + // Set height equal to viewport's height - 20px (safety gaps), minimum 1px. + height: Math.max( 1, win.getViewPaneSize().height - 20 ) + 'px', + overflow: 'hidden', + // Reset styles that can mess up pastebin position. + margin: 0, + padding: 0 + } ); + + // Paste fails in Safari when the body tag has 'user-select: none'. (#12506) + if ( CKEDITOR.env.safari ) + pastebin.setStyles( CKEDITOR.tools.cssVendorPrefix( 'user-select', 'text' ) ); + + // Check if the paste bin now establishes new editing host. + var isEditingHost = pastebin.getParent().isReadOnly(); + + if ( isEditingHost ) { + // Hide the paste bin. + pastebin.setOpacity( 0 ); + // And make it editable. + pastebin.setAttribute( 'contenteditable', true ); + } + // Transparency is not enough since positioned non-editing host always shows + // resize handler, pull it off the screen instead. + else { + pastebin.setStyle( editor.config.contentsLangDirection == 'ltr' ? 'left' : 'right', '-10000px' ); + } + + editor.on( 'selectionChange', cancel, null, null, 0 ); + + // Webkit fill fire blur on editable when moving selection to + // pastebin (if body is used). Cancel it because it causes incorrect + // selection lock in case of inline editor (#10644). + // The same seems to apply to Firefox (#10787). + if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko ) + blurListener = editable.once( 'blur', cancel, null, null, -100 ); + + // Temporarily move selection to the pastebin. + isEditingHost && pastebin.focus(); + var range = new CKEDITOR.dom.range( pastebin ); + range.selectNodeContents( pastebin ); + var selPastebin = range.select(); + + // If non-native paste is executed, IE will open security alert and blur editable. + // Editable will then lock selection inside itself and after accepting security alert + // this selection will be restored. We overwrite stored selection, so it's restored + // in pastebin. (#9552) + if ( CKEDITOR.env.ie ) { + blurListener = editable.once( 'blur', function() { + editor.lockSelection( selPastebin ); + } ); + } + + var scrollTop = CKEDITOR.document.getWindow().getScrollPosition().y; + + // Wait a while and grab the pasted contents. + setTimeout( function() { + // Restore main window's scroll position which could have been changed + // by browser in cases described in #9771. + if ( CKEDITOR.env.webkit ) + CKEDITOR.document.getBody().$.scrollTop = scrollTop; + + // Blur will be fired only on non-native paste. In other case manually remove listener. + blurListener && blurListener.removeListener(); + + // Restore properly the document focus. (#8849) + if ( CKEDITOR.env.ie ) + editable.focus(); + + // IE7: selection must go before removing pastebin. (#8691) + sel.selectBookmarks( bms ); + pastebin.remove(); + + // Grab the HTML contents. + // We need to look for a apple style wrapper on webkit it also adds + // a div wrapper if you copy/paste the body of the editor. + // Remove hidden div and restore selection. + var bogusSpan; + if ( CKEDITOR.env.webkit && ( bogusSpan = pastebin.getFirst() ) && ( bogusSpan.is && bogusSpan.hasClass( 'Apple-style-span' ) ) ) + pastebin = bogusSpan; + + editor.removeListener( 'selectionChange', cancel ); + callback( pastebin.getHtml() ); + }, 0 ); + } + + // Try to get content directly on IE from clipboard, without native event + // being fired before. In other words - synthetically get clipboard data, if it's possible. + // mainPasteEvent will be fired, so if forced native paste: + // * worked, getClipboardDataByPastebin will grab it, + // * didn't work, dataValue and dataTransfer will be empty and editor#paste won't be fired. + // Clipboard data can be accessed directly only on IEs older than Edge. + // On other browsers we should fire beforePaste event and return false. + function getClipboardDataDirectly() { + if ( clipboard.mainPasteEvent == 'paste' ) { + // beforePaste should be fired when dialog open so it can be canceled. + editor.fire( 'beforePaste', { type: 'auto', method: 'paste' } ); + return false; + } + + // Prevent IE from pasting at the begining of the document. + editor.focus(); + + // Command will be handled by 'beforepaste', but as + // execIECommand( 'paste' ) will fire also 'paste' event + // we're canceling it. + preventPasteEventNow(); + + // #9247: Lock focus to prevent IE from hiding toolbar for inline editor. + var focusManager = editor.focusManager; + focusManager.lock(); + + if ( editor.editable().fire( clipboard.mainPasteEvent ) && !execIECommand( 'paste' ) ) { + focusManager.unlock(); + return false; + } + focusManager.unlock(); + + return true; + } + + // Listens for some clipboard related keystrokes, so they get customized. + // Needs to be bind to keydown event. + function onKey( event ) { + if ( editor.mode != 'wysiwyg' ) + return; + + switch ( event.data.keyCode ) { + // Paste + case CKEDITOR.CTRL + 86: // CTRL+V + case CKEDITOR.SHIFT + 45: // SHIFT+INS + var editable = editor.editable(); + + // Cancel 'paste' event because ctrl+v is for IE handled + // by 'beforepaste'. + preventPasteEventNow(); + + // Simulate 'beforepaste' event for all browsers using 'paste' as main event. + if ( clipboard.mainPasteEvent == 'paste' ) { + editable.fire( 'beforepaste' ); + } + + return; + + // Cut + case CKEDITOR.CTRL + 88: // CTRL+X + case CKEDITOR.SHIFT + 46: // SHIFT+DEL + // Save Undo snapshot. + editor.fire( 'saveSnapshot' ); // Save before cut + setTimeout( function() { + editor.fire( 'saveSnapshot' ); // Save after cut + }, 50 ); // OSX is slow (#11416). + } + } + + function pasteDataFromClipboard( evt ) { + // Default type is 'auto', but can be changed by beforePaste listeners. + var eventData = { + type: 'auto', + method: 'paste', + dataTransfer: clipboard.initPasteDataTransfer( evt ) + }; + + eventData.dataTransfer.cacheData(); + + // Fire 'beforePaste' event so clipboard flavor get customized by other plugins. + // If 'beforePaste' is canceled continue executing getClipboardDataByPastebin and then do nothing + // (do not fire 'paste', 'afterPaste' events). This way we can grab all - synthetically + // and natively pasted content and prevent its insertion into editor + // after canceling 'beforePaste' event. + var beforePasteNotCanceled = editor.fire( 'beforePaste', eventData ) !== false; + + // Do not use paste bin if the browser let us get HTML or files from dataTranfer. + if ( beforePasteNotCanceled && clipboard.canClipboardApiBeTrusted( eventData.dataTransfer, editor ) ) { + evt.data.preventDefault(); + setTimeout( function() { + firePasteEvents( editor, eventData ); + }, 0 ); + } else { + getClipboardDataByPastebin( evt, function( data ) { + // Clean up. + eventData.dataValue = data.replace( /]+data-cke-bookmark[^<]*?<\/span>/ig, '' ); + + // Fire remaining events (without beforePaste) + beforePasteNotCanceled && firePasteEvents( editor, eventData ); + } ); + } + } + + function setToolbarStates() { + if ( editor.mode != 'wysiwyg' ) + return; + + var pasteState = stateFromNamedCommand( 'paste' ); + + editor.getCommand( 'cut' ).setState( stateFromNamedCommand( 'cut' ) ); + editor.getCommand( 'copy' ).setState( stateFromNamedCommand( 'copy' ) ); + editor.getCommand( 'paste' ).setState( pasteState ); + editor.fire( 'pasteState', pasteState ); + } + + function stateFromNamedCommand( command ) { + if ( inReadOnly && command in { paste: 1, cut: 1 } ) + return CKEDITOR.TRISTATE_DISABLED; + + if ( command == 'paste' ) + return CKEDITOR.TRISTATE_OFF; + + // Cut, copy - check if the selection is not empty. + var sel = editor.getSelection(), + ranges = sel.getRanges(), + selectionIsEmpty = sel.getType() == CKEDITOR.SELECTION_NONE || ( ranges.length == 1 && ranges[ 0 ].collapsed ); + + return selectionIsEmpty ? CKEDITOR.TRISTATE_DISABLED : CKEDITOR.TRISTATE_OFF; + } + } + + // Returns: + // * 'htmlifiedtext' if content looks like transformed by browser from plain text. + // See clipboard/paste.html TCs for more info. + // * 'html' if it is not 'htmlifiedtext'. + function recogniseContentType( data ) { + if ( CKEDITOR.env.webkit ) { + // Plain text or (

and text inside
). + if ( !data.match( /^[^<]*$/g ) && !data.match( /^(
<\/div>|
[^<]*<\/div>)*$/gi ) ) + return 'html'; + } else if ( CKEDITOR.env.ie ) { + // Text and
or ( text and
in

- paragraphs can be separated by new \r\n ). + if ( !data.match( /^([^<]|)*$/gi ) && !data.match( /^(

([^<]|)*<\/p>|(\r\n))*$/gi ) ) + return 'html'; + } else if ( CKEDITOR.env.gecko ) { + // Text or
. + if ( !data.match( /^([^<]|)*$/gi ) ) + return 'html'; + } else { + return 'html'; + } + + return 'htmlifiedtext'; + } + + // This function transforms what browsers produce when + // pasting plain text into editable element (see clipboard/paste.html TCs + // for more info) into correct HTML (similar to that produced by text2Html). + function htmlifiedTextHtmlification( config, data ) { + function repeatParagraphs( repeats ) { + // Repeat blocks floor((n+1)/2) times. + // Even number of repeats - add
at the beginning of last

. + return CKEDITOR.tools.repeat( '

', ~~( repeats / 2 ) ) + ( repeats % 2 == 1 ? '
' : '' ); + } + + // Replace adjacent white-spaces (EOLs too - Fx sometimes keeps them) with one space. + data = data.replace( /\s+/g, ' ' ) + // Remove spaces from between tags. + .replace( /> +<' ) + // Normalize XHTML syntax and upper cased
tags. + .replace( /
/gi, '
' ); + + // IE - lower cased tags. + data = data.replace( /<\/?[A-Z]+>/g, function( match ) { + return match.toLowerCase(); + } ); + + // Don't touch single lines (no ) - nothing to do here. + if ( data.match( /^[^<]$/ ) ) + return data; + + // Webkit. + if ( CKEDITOR.env.webkit && data.indexOf( '

' ) > -1 ) { + // One line break at the beginning - insert
+ data = data.replace( /^(
(
|)<\/div>)(?!$|(
(
|)<\/div>))/g, '
' ) + // Two or more - reduce number of new lines by one. + .replace( /^(
(
|)<\/div>){2}(?!$)/g, '
' ); + + // Two line breaks create one paragraph in Webkit. + if ( data.match( /
(
|)<\/div>/ ) ) { + data = '

' + data.replace( /(

(
|)<\/div>)+/g, function( match ) { + return repeatParagraphs( match.split( '
' ).length + 1 ); + } ) + '

'; + } + + // One line break create br. + data = data.replace( /<\/div>
/g, '
' ); + + // Remove remaining divs. + data = data.replace( /<\/?div>/g, '' ); + } + + // Opera and Firefox and enterMode != BR. + if ( CKEDITOR.env.gecko && config.enterMode != CKEDITOR.ENTER_BR ) { + // Remove bogus
- Fx generates two for one line break. + // For two line breaks it still produces two , but it's better to ignore this case than the first one. + if ( CKEDITOR.env.gecko ) + data = data.replace( /^

$/, '
' ); + + // This line satisfy edge case when for Opera we have two line breaks + //data = data.replace( /) + + if ( data.indexOf( '

' ) > -1 ) { + // Two line breaks create one paragraph, three - 2, four - 3, etc. + data = '

' + data.replace( /(
){2,}/g, function( match ) { + return repeatParagraphs( match.length / 4 ); + } ) + '

'; + } + } + + return switchEnterMode( config, data ); + } + + function filtersFactoryFactory() { + var filters = {}; + + function setUpTags() { + var tags = {}; + + for ( var tag in CKEDITOR.dtd ) { + if ( tag.charAt( 0 ) != '$' && tag != 'div' && tag != 'span' ) { + tags[ tag ] = 1; + } + } + + return tags; + } + + function createSemanticContentFilter() { + var filter = new CKEDITOR.filter(); + + filter.allow( { + $1: { + elements: setUpTags(), + attributes: true, + styles: false, + classes: false + } + } ); + + return filter; + } + + return { + get: function( type ) { + if ( type == 'plain-text' ) { + // Does this look confusing to you? Did we forget about enter mode? + // It is a trick that let's us creating one filter for edidtor, regardless of its + // activeEnterMode (which as the name indicates can change during runtime). + // + // How does it work? + // The active enter mode is passed to the filter.applyTo method. + // The filter first marks all elements except
as disallowed and then tries to remove + // them. However, it cannot remove e.g. a

element completely, because it's a basic structural element, + // so it tries to replace it with an element created based on the active enter mode, eventually doing nothing. + // + // Now you can sleep well. + return filters.plainText || ( filters.plainText = new CKEDITOR.filter( 'br' ) ); + } else if ( type == 'semantic-content' ) { + return filters.semanticContent || ( filters.semanticContent = createSemanticContentFilter() ); + } else if ( type ) { + // Create filter based on rules (string or object). + return new CKEDITOR.filter( type ); + } + + return null; + } + }; + } + + function filterContent( editor, data, filter ) { + var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data ), + writer = new CKEDITOR.htmlParser.basicWriter(); + + filter.applyTo( fragment, true, false, editor.activeEnterMode ); + fragment.writeHtml( writer ); + + return writer.getHtml(); + } + + function switchEnterMode( config, data ) { + if ( config.enterMode == CKEDITOR.ENTER_BR ) { + data = data.replace( /(<\/p>

)+/g, function( match ) { + return CKEDITOR.tools.repeat( '
', match.length / 7 * 2 ); + } ).replace( /<\/?p>/g, '' ); + } else if ( config.enterMode == CKEDITOR.ENTER_DIV ) { + data = data.replace( /<(\/)?p>/g, '<$1div>' ); + } + + return data; + } + + function preventDefaultSetDropEffectToNone( evt ) { + evt.data.preventDefault(); + evt.data.$.dataTransfer.dropEffect = 'none'; + } + + function initDragDrop( editor ) { + var clipboard = CKEDITOR.plugins.clipboard; + + editor.on( 'contentDom', function() { + var editable = editor.editable(), + dropTarget = CKEDITOR.plugins.clipboard.getDropTarget( editor ), + top = editor.ui.space( 'top' ), + bottom = editor.ui.space( 'bottom' ); + + // -------------- DRAGOVER TOP & BOTTOM -------------- + + // Not allowing dragging on toolbar and bottom (#12613). + clipboard.preventDefaultDropOnElement( top ); + clipboard.preventDefaultDropOnElement( bottom ); + + // -------------- DRAGSTART -------------- + // Listed on dragstart to mark internal and cross-editor drag & drop + // and save range and selected HTML. + + editable.attachListener( dropTarget, 'dragstart', fireDragEvent ); + + // Make sure to reset data transfer (in case dragend was not called or was canceled). + editable.attachListener( editor, 'dragstart', clipboard.resetDragDataTransfer, clipboard, null, 1 ); + + // Create a dataTransfer object and save it globally. + editable.attachListener( editor, 'dragstart', function( evt ) { + clipboard.initDragDataTransfer( evt, editor ); + }, null, null, 2 ); + + editable.attachListener( editor, 'dragstart', function() { + // Save drag range globally for cross editor D&D. + var dragRange = clipboard.dragRange = editor.getSelection().getRanges()[ 0 ]; + + // Store number of children, so we can later tell if any text node was split on drop. (#13011, #13447) + if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) { + clipboard.dragStartContainerChildCount = dragRange ? getContainerChildCount( dragRange.startContainer ) : null; + clipboard.dragEndContainerChildCount = dragRange ? getContainerChildCount( dragRange.endContainer ) : null; + } + }, null, null, 100 ); + + // -------------- DRAGEND -------------- + // Clean up on dragend. + + editable.attachListener( dropTarget, 'dragend', fireDragEvent ); + + // Init data transfer if someone wants to use it in dragend. + editable.attachListener( editor, 'dragend', clipboard.initDragDataTransfer, clipboard, null, 1 ); + + // When drag & drop is done we need to reset dataTransfer so the future + // external drop will be not recognize as internal. + editable.attachListener( editor, 'dragend', clipboard.resetDragDataTransfer, clipboard, null, 100 ); + + // -------------- DRAGOVER -------------- + // We need to call preventDefault on dragover because otherwise if + // we drop image it will overwrite document. + + editable.attachListener( dropTarget, 'dragover', function( evt ) { + var target = evt.data.getTarget(); + + // Prevent reloading page when dragging image on empty document (#12619). + if ( target && target.is && target.is( 'html' ) ) { + evt.data.preventDefault(); + return; + } + + // If we do not prevent default dragover on IE the file path + // will be loaded and we will lose content. On the other hand + // if we prevent it the cursor will not we shown, so we prevent + // dragover only on IE, on versions which support file API and only + // if the event contains files. + if ( CKEDITOR.env.ie && + CKEDITOR.plugins.clipboard.isFileApiSupported && + evt.data.$.dataTransfer.types.contains( 'Files' ) ) { + evt.data.preventDefault(); + } + } ); + + // -------------- DROP -------------- + + editable.attachListener( dropTarget, 'drop', function( evt ) { + // Do nothing if event was already prevented. (#13879) + if ( evt.data.$.defaultPrevented ) { + return; + } + + // Cancel native drop. + evt.data.preventDefault(); + + var target = evt.data.getTarget(), + readOnly = target.isReadOnly(); + + // Do nothing if drop on non editable element (#13015). + // The tag isn't editable (body is), but we want to allow drop on it + // (so it is possible to drop below editor contents). + if ( readOnly && !( target.type == CKEDITOR.NODE_ELEMENT && target.is( 'html' ) ) ) { + return; + } + + // Getting drop position is one of the most complex parts. + var dropRange = clipboard.getRangeAtDropPosition( evt, editor ), + dragRange = clipboard.dragRange; + + // Do nothing if it was not possible to get drop range. + if ( !dropRange ) { + return; + } + + // Fire drop. + fireDragEvent( evt, dragRange, dropRange ); + }, null, null, 9999 ); + + // Create dataTransfer or get it, if it was created before. + editable.attachListener( editor, 'drop', clipboard.initDragDataTransfer, clipboard, null, 1 ); + + // Execute drop action, fire paste. + editable.attachListener( editor, 'drop', function( evt ) { + var data = evt.data; + + if ( !data ) { + return; + } + + // Let user modify drag and drop range. + var dropRange = data.dropRange, + dragRange = data.dragRange, + dataTransfer = data.dataTransfer; + + if ( dataTransfer.getTransferType( editor ) == CKEDITOR.DATA_TRANSFER_INTERNAL ) { + // Execute drop with a timeout because otherwise selection, after drop, + // on IE is in the drag position, instead of drop position. + setTimeout( function() { + clipboard.internalDrop( dragRange, dropRange, dataTransfer, editor ); + }, 0 ); + } else if ( dataTransfer.getTransferType( editor ) == CKEDITOR.DATA_TRANSFER_CROSS_EDITORS ) { + crossEditorDrop( dragRange, dropRange, dataTransfer ); + } else { + externalDrop( dropRange, dataTransfer ); + } + }, null, null, 9999 ); + + // Cross editor drag and drop (drag in one Editor and drop in the other). + function crossEditorDrop( dragRange, dropRange, dataTransfer ) { + // Paste event should be fired before delete contents because otherwise + // Chrome have a problem with drop range (Chrome split the drop + // range container so the offset is bigger then container length). + dropRange.select(); + firePasteEvents( editor, { dataTransfer: dataTransfer, method: 'drop' }, 1 ); + + // Remove dragged content and make a snapshot. + dataTransfer.sourceEditor.fire( 'saveSnapshot' ); + + dataTransfer.sourceEditor.editable().extractHtmlFromRange( dragRange ); + + // Make some selection before saving snapshot, otherwise error will be thrown, because + // there will be no valid selection after content is removed. + dataTransfer.sourceEditor.getSelection().selectRanges( [ dragRange ] ); + dataTransfer.sourceEditor.fire( 'saveSnapshot' ); + } + + // Drop from external source. + function externalDrop( dropRange, dataTransfer ) { + // Paste content into the drop position. + dropRange.select(); + + firePasteEvents( editor, { dataTransfer: dataTransfer, method: 'drop' }, 1 ); + + // Usually we reset DataTranfer on dragend, + // but dragend is called on the same element as dragstart + // so it will not be called on on external drop. + clipboard.resetDragDataTransfer(); + } + + // Fire drag/drop events (dragstart, dragend, drop). + function fireDragEvent( evt, dragRange, dropRange ) { + var eventData = { + $: evt.data.$, + target: evt.data.getTarget() + }; + + if ( dragRange ) { + eventData.dragRange = dragRange; + } + if ( dropRange ) { + eventData.dropRange = dropRange; + } + + if ( editor.fire( evt.name, eventData ) === false ) { + evt.data.preventDefault(); + } + } + + function getContainerChildCount( container ) { + if ( container.type != CKEDITOR.NODE_ELEMENT ) { + container = container.getParent(); + } + + return container.getChildCount(); + } + } ); + } + + /** + * @singleton + * @class CKEDITOR.plugins.clipboard + */ + CKEDITOR.plugins.clipboard = { + /** + * True if the environment allows to set data on copy or cut manually. This value is false in IE, because this browser + * shows the security dialog window when the script tries to set clipboard data and on iOS, because custom data is + * not saved to clipboard there. + * + * @since 4.5 + * @readonly + * @property {Boolean} + */ + isCustomCopyCutSupported: !CKEDITOR.env.ie && !CKEDITOR.env.iOS, + + /** + * True if the environment supports MIME types and custom data types in dataTransfer/cliboardData getData/setData methods. + * + * @since 4.5 + * @readonly + * @property {Boolean} + */ + isCustomDataTypesSupported: !CKEDITOR.env.ie, + + /** + * True if the environment supports File API. + * + * @since 4.5 + * @readonly + * @property {Boolean} + */ + isFileApiSupported: !CKEDITOR.env.ie || CKEDITOR.env.version > 9, + + /** + * Main native paste event editable should listen to. + * + * **Note:** Safari does not like the {@link CKEDITOR.editor#beforePaste} event — it sometimes does not + * handle Ctrl+C properly. This is probably caused by some race condition between events. + * Chrome, Firefox and Edge work well with both events, so it is better to use {@link CKEDITOR.editor#paste} + * which will handle pasting from e.g. browsers' menu bars. + * IE7/8 does not like the {@link CKEDITOR.editor#paste} event for which it is throwing random errors. + * + * @since 4.5 + * @readonly + * @property {String} + */ + mainPasteEvent: ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) ? 'beforepaste' : 'paste', + + /** + * Returns `true` if it is expected that a browser provides HTML data through the Clipboard API. + * If not, this method returns `false` and as a result CKEditor will use the paste bin. Read more in + * the [Clipboard Integration](http://docs.ckeditor.com/#!/guide/dev_clipboard-section-clipboard-api) guide. + * + * @since 4.5.2 + * @returns {Boolean} + */ + canClipboardApiBeTrusted: function( dataTransfer, editor ) { + // If it's an internal or cross-editor data transfer, then it means that custom cut/copy/paste support works + // and that the data were put manually on the data transfer so we can be sure that it's available. + if ( dataTransfer.getTransferType( editor ) != CKEDITOR.DATA_TRANSFER_EXTERNAL ) { + return true; + } + + // In Chrome we can trust Clipboard API, with the exception of Chrome on Android (in both - mobile and desktop modes), where + // clipboard API is not available so we need to check it (#13187). + if ( CKEDITOR.env.chrome && !dataTransfer.isEmpty() ) { + return true; + } + + // Because of a Firefox bug HTML data are not available in some cases (e.g. paste from Word), in such cases we + // need to use the pastebin (#13528, https://bugzilla.mozilla.org/show_bug.cgi?id=1183686). + if ( CKEDITOR.env.gecko && ( dataTransfer.getData( 'text/html' ) || dataTransfer.getFilesCount() ) ) { + return true; + } + + // In Safari and IE HTML data is not available though the Clipboard API. + // In Edge things are a bit messy at the moment - + // https://connect.microsoft.com/IE/feedback/details/1572456/edge-clipboard-api-text-html-content-messed-up-in-event-clipboarddata + // It is safer to use the paste bin in unknown cases. + return false; + }, + + /** + * Returns the element that should be used as the target for the drop event. + * + * @since 4.5 + * @param {CKEDITOR.editor} editor The editor instance. + * @returns {CKEDITOR.dom.domObject} the element that should be used as the target for the drop event. + */ + getDropTarget: function( editor ) { + var editable = editor.editable(); + + // #11123 Firefox needs to listen on document, because otherwise event won't be fired. + // #11086 IE8 cannot listen on document. + if ( ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) || editable.isInline() ) { + return editable; + } else { + return editor.document; + } + }, + + /** + * IE 8 & 9 split text node on drop so the first node contains the + * text before the drop position and the second contains the rest. If you + * drag the content from the same node you will be not be able to get + * it (the range becomes invalid), so you need to join them back. + * + * Note that the first node in IE 8 & 9 is the original node object + * but with shortened content. + * + * Before: + * --- Text Node A ---------------------------------- + * /\ + * Drag position + * + * After (IE 8 & 9): + * --- Text Node A ----- --- Text Node B ----------- + * /\ /\ + * Drop position Drag position + * (invalid) + * + * After (other browsers): + * --- Text Node A ---------------------------------- + * /\ /\ + * Drop position Drag position + * + * **Note:** This function is in the public scope for tests usage only. + * + * @since 4.5 + * @private + * @param {CKEDITOR.dom.range} dragRange The drag range. + * @param {CKEDITOR.dom.range} dropRange The drop range. + * @param {Number} preDragStartContainerChildCount The number of children of the drag range start container before the drop. + * @param {Number} preDragEndContainerChildCount The number of children of the drag range end container before the drop. + */ + fixSplitNodesAfterDrop: function( dragRange, dropRange, preDragStartContainerChildCount, preDragEndContainerChildCount ) { + var dropContainer = dropRange.startContainer; + + if ( + typeof preDragEndContainerChildCount != 'number' || + typeof preDragStartContainerChildCount != 'number' + ) { + return; + } + + // We are only concerned about ranges anchored in elements. + if ( dropContainer.type != CKEDITOR.NODE_ELEMENT ) { + return; + } + + if ( handleContainer( dragRange.startContainer, dropContainer, preDragStartContainerChildCount ) ) { + return; + } + + if ( handleContainer( dragRange.endContainer, dropContainer, preDragEndContainerChildCount ) ) { + return; + } + + function handleContainer( dragContainer, dropContainer, preChildCount ) { + var dragElement = dragContainer; + if ( dragElement.type == CKEDITOR.NODE_TEXT ) { + dragElement = dragContainer.getParent(); + } + + if ( dragElement.equals( dropContainer ) && preChildCount != dropContainer.getChildCount() ) { + applyFix( dropRange ); + return true; + } + } + + function applyFix( dropRange ) { + var nodeBefore = dropRange.startContainer.getChild( dropRange.startOffset - 1 ), + nodeAfter = dropRange.startContainer.getChild( dropRange.startOffset ); + + if ( + nodeBefore && nodeBefore.type == CKEDITOR.NODE_TEXT && + nodeAfter && nodeAfter.type == CKEDITOR.NODE_TEXT + ) { + var offset = nodeBefore.getLength(); + + nodeBefore.setText( nodeBefore.getText() + nodeAfter.getText() ); + nodeAfter.remove(); + + dropRange.setStart( nodeBefore, offset ); + dropRange.collapse( true ); + } + } + }, + + /** + * Checks whether turning the drag range into bookmarks will invalidate the drop range. + * This usually happens when the drop range shares the container with the drag range and is + * located after the drag range, but there are countless edge cases. + * + * This function is stricly related to {@link #internalDrop} which toggles + * order in which it creates bookmarks for both ranges based on a value returned + * by this method. In some cases this method returns a value which is not necessarily + * true in terms of what it was meant to check, but it is convenient, because + * we know how it is interpreted in {@link #internalDrop}, so the correct + * behavior of the entire algorithm is assured. + * + * **Note:** This function is in the public scope for tests usage only. + * + * @since 4.5 + * @private + * @param {CKEDITOR.dom.range} dragRange The first range to compare. + * @param {CKEDITOR.dom.range} dropRange The second range to compare. + * @returns {Boolean} `true` if the first range is before the second range. + */ + isDropRangeAffectedByDragRange: function( dragRange, dropRange ) { + var dropContainer = dropRange.startContainer, + dropOffset = dropRange.endOffset; + + // Both containers are the same and drop offset is at the same position or later. + // " A L] A " " M A " + // ^ ^ + if ( dragRange.endContainer.equals( dropContainer ) && dragRange.endOffset <= dropOffset ) { + return true; + } + + // Bookmark for drag start container will mess up with offsets. + // " O [L A " " M A " + // ^ ^ + if ( + dragRange.startContainer.getParent().equals( dropContainer ) && + dragRange.startContainer.getIndex() < dropOffset + ) { + return true; + } + + // Bookmark for drag end container will mess up with offsets. + // " O] L A " " M A " + // ^ ^ + if ( + dragRange.endContainer.getParent().equals( dropContainer ) && + dragRange.endContainer.getIndex() < dropOffset + ) { + return true; + } + + return false; + }, + + /** + * Internal drag and drop (drag and drop in the same editor instance). + * + * **Note:** This function is in the public scope for tests usage only. + * + * @since 4.5 + * @private + * @param {CKEDITOR.dom.range} dragRange The first range to compare. + * @param {CKEDITOR.dom.range} dropRange The second range to compare. + * @param {CKEDITOR.plugins.clipboard.dataTransfer} dataTransfer + * @param {CKEDITOR.editor} editor + */ + internalDrop: function( dragRange, dropRange, dataTransfer, editor ) { + var clipboard = CKEDITOR.plugins.clipboard, + editable = editor.editable(), + dragBookmark, dropBookmark, isDropRangeAffected; + + // Save and lock snapshot so there will be only + // one snapshot for both remove and insert content. + editor.fire( 'saveSnapshot' ); + editor.fire( 'lockSnapshot', { dontUpdate: 1 } ); + + if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) { + this.fixSplitNodesAfterDrop( + dragRange, + dropRange, + clipboard.dragStartContainerChildCount, + clipboard.dragEndContainerChildCount + ); + } + + // Because we manipulate multiple ranges we need to do it carefully, + // changing one range (event creating a bookmark) may make other invalid. + // We need to change ranges into bookmarks so we can manipulate them easily in the future. + // We can change the range which is later in the text before we change the preceding range. + // We call isDropRangeAffectedByDragRange to test the order of ranges. + isDropRangeAffected = this.isDropRangeAffectedByDragRange( dragRange, dropRange ); + if ( !isDropRangeAffected ) { + dragBookmark = dragRange.createBookmark( false ); + } + dropBookmark = dropRange.clone().createBookmark( false ); + if ( isDropRangeAffected ) { + dragBookmark = dragRange.createBookmark( false ); + } + + // Check if drop range is inside range. + // This is an edge case when we drop something on editable's margin/padding. + // That space is not treated as a part of the range we drag, so it is possible to drop there. + // When we drop, browser tries to find closest drop position and it finds it inside drag range. (#13453) + var startNode = dragBookmark.startNode, + endNode = dragBookmark.endNode, + dropNode = dropBookmark.startNode, + dropInsideDragRange = + // Must check endNode because dragRange could be collapsed in some edge cases (simulated DnD). + endNode && + ( startNode.getPosition( dropNode ) & CKEDITOR.POSITION_PRECEDING ) && + ( endNode.getPosition( dropNode ) & CKEDITOR.POSITION_FOLLOWING ); + + // If the drop range happens to be inside drag range change it's position to the beginning of the drag range. + if ( dropInsideDragRange ) { + // We only change position of bookmark span that is connected with dropBookmark. + // dropRange will be overwritten and set to the dropBookmark later. + dropNode.insertBefore( startNode ); + } + + // No we can safely delete content for the drag range... + dragRange = editor.createRange(); + dragRange.moveToBookmark( dragBookmark ); + editable.extractHtmlFromRange( dragRange, 1 ); + + // ...and paste content into the drop position. + dropRange = editor.createRange(); + dropRange.moveToBookmark( dropBookmark ); + + // We do not select drop range, because of may be in the place we can not set the selection + // (e.g. between blocks, in case of block widget D&D). We put range to the paste event instead. + firePasteEvents( editor, { dataTransfer: dataTransfer, method: 'drop', range: dropRange }, 1 ); + + editor.fire( 'unlockSnapshot' ); + }, + + /** + * Gets the range from the `drop` event. + * + * @since 4.5 + * @param {Object} domEvent A native DOM drop event object. + * @param {CKEDITOR.editor} editor The source editor instance. + * @returns {CKEDITOR.dom.range} range at drop position. + */ + getRangeAtDropPosition: function( dropEvt, editor ) { + var $evt = dropEvt.data.$, + x = $evt.clientX, + y = $evt.clientY, + $range, + defaultRange = editor.getSelection( true ).getRanges()[ 0 ], + range = editor.createRange(); + + // Make testing possible. + if ( dropEvt.data.testRange ) + return dropEvt.data.testRange; + + // Webkits. + if ( document.caretRangeFromPoint ) { + $range = editor.document.$.caretRangeFromPoint( x, y ); + range.setStart( CKEDITOR.dom.node( $range.startContainer ), $range.startOffset ); + range.collapse( true ); + } + // FF. + else if ( $evt.rangeParent ) { + range.setStart( CKEDITOR.dom.node( $evt.rangeParent ), $evt.rangeOffset ); + range.collapse( true ); + } + // IEs 9+. + // We check if editable is focused to make sure that it's an internal DnD. External DnD must use the second + // mechanism because of http://dev.ckeditor.com/ticket/13472#comment:6. + else if ( CKEDITOR.env.ie && CKEDITOR.env.version > 8 && defaultRange && editor.editable().hasFocus ) { + // On IE 9+ range by default is where we expected it. + // defaultRange may be undefined if dragover was canceled (file drop). + return defaultRange; + } + // IE 8 and all IEs if !defaultRange or external DnD. + else if ( document.body.createTextRange ) { + // To use this method we need a focus (which may be somewhere else in case of external drop). + editor.focus(); + + $range = editor.document.getBody().$.createTextRange(); + try { + var sucess = false; + + // If user drop between text line IEs moveToPoint throws exception: + // + // Lorem ipsum pulvinar purus et euismod + // + // dolor sit amet,| consectetur adipiscing + // * + // vestibulum tincidunt augue eget tempus. + // + // * - drop position + // | - expected cursor position + // + // So we try to call moveToPoint with +-1px up to +-20px above or + // below original drop position to find nearest good drop position. + for ( var i = 0; i < 20 && !sucess; i++ ) { + if ( !sucess ) { + try { + $range.moveToPoint( x, y - i ); + sucess = true; + } catch ( err ) { + } + } + if ( !sucess ) { + try { + $range.moveToPoint( x, y + i ); + sucess = true; + } catch ( err ) { + } + } + } + + if ( sucess ) { + var id = 'cke-temp-' + ( new Date() ).getTime(); + $range.pasteHTML( '\u200b' ); + + var span = editor.document.getById( id ); + range.moveToPosition( span, CKEDITOR.POSITION_BEFORE_START ); + span.remove(); + } else { + // If the fist method does not succeed we might be next to + // the short element (like header): + // + // Lorem ipsum pulvinar purus et euismod. + // + // + // SOME HEADER| * + // + // + // vestibulum tincidunt augue eget tempus. + // + // * - drop position + // | - expected cursor position + // + // In such situation elementFromPoint returns proper element. Using getClientRect + // it is possible to check if the cursor should be at the beginning or at the end + // of paragraph. + var $element = editor.document.$.elementFromPoint( x, y ), + element = new CKEDITOR.dom.element( $element ), + rect; + + if ( !element.equals( editor.editable() ) && element.getName() != 'html' ) { + rect = element.getClientRect(); + + if ( x < rect.left ) { + range.setStartAt( element, CKEDITOR.POSITION_AFTER_START ); + range.collapse( true ); + } else { + range.setStartAt( element, CKEDITOR.POSITION_BEFORE_END ); + range.collapse( true ); + } + } + // If drop happens on no element elementFromPoint returns html or body. + // + // * |Lorem ipsum pulvinar purus et euismod. + // + // vestibulum tincidunt augue eget tempus. + // + // * - drop position + // | - expected cursor position + // + // In such case we can try to use default selection. If startContainer is not + // 'editable' element it is probably proper selection. + else if ( defaultRange && defaultRange.startContainer && + !defaultRange.startContainer.equals( editor.editable() ) ) { + return defaultRange; + + // Otherwise we can not find any drop position and we have to return null + // and cancel drop event. + } else { + return null; + } + + } + } catch ( err ) { + return null; + } + } else { + return null; + } + + return range; + }, + + /** + * This function tries to link the `evt.data.dataTransfer` property of the {@link CKEDITOR.editor#dragstart}, + * {@link CKEDITOR.editor#dragend} and {@link CKEDITOR.editor#drop} events to a single + * {@link CKEDITOR.plugins.clipboard.dataTransfer} object. + * + * This method is automatically used by the core of the drag and drop functionality and + * usually does not have to be called manually when using the drag and drop events. + * + * This method behaves differently depending on whether the drag and drop events were fired + * artificially (to represent a non-native drag and drop) or whether they were caused by the native drag and drop. + * + * If the native event is not available, then it will create a new {@link CKEDITOR.plugins.clipboard.dataTransfer} + * instance (if it does not exist already) and will link it to this and all following event objects until + * the {@link #resetDragDataTransfer} method is called. It means that all three drag and drop events must be fired + * in order to ensure that the data transfer is bound correctly. + * + * If the native event is available, then the {@link CKEDITOR.plugins.clipboard.dataTransfer} is identified + * by its ID and a new instance is assigned to the `evt.data.dataTransfer` only if the ID changed or + * the {@link #resetDragDataTransfer} method was called. + * + * @since 4.5 + * @param {CKEDITOR.dom.event} [evt] A drop event object. + * @param {CKEDITOR.editor} [sourceEditor] The source editor instance. + */ + initDragDataTransfer: function( evt, sourceEditor ) { + // Create a new dataTransfer object based on the drop event. + // If this event was used on dragstart to create dataTransfer + // both dataTransfer objects will have the same id. + var nativeDataTransfer = evt.data.$ ? evt.data.$.dataTransfer : null, + dataTransfer = new this.dataTransfer( nativeDataTransfer, sourceEditor ); + + if ( !nativeDataTransfer ) { + // No native event. + if ( this.dragData ) { + dataTransfer = this.dragData; + } else { + this.dragData = dataTransfer; + } + } else { + // Native event. If there is the same id we will replace dataTransfer with the one + // created on drag, because it contains drag editor, drag content and so on. + // Otherwise (in case of drag from external source) we save new object to + // the global clipboard.dragData. + if ( this.dragData && dataTransfer.id == this.dragData.id ) { + dataTransfer = this.dragData; + } else { + this.dragData = dataTransfer; + } + } + + evt.data.dataTransfer = dataTransfer; + }, + + /** + * Removes the global {@link #dragData} so the next call to {@link #initDragDataTransfer} + * always creates a new instance of {@link CKEDITOR.plugins.clipboard.dataTransfer}. + * + * @since 4.5 + */ + resetDragDataTransfer: function() { + this.dragData = null; + }, + + /** + * Global object storing the data transfer of the current drag and drop operation. + * Do not use it directly, use {@link #initDragDataTransfer} and {@link #resetDragDataTransfer}. + * + * Note: This object is global (meaning that it is not related to a single editor instance) + * in order to handle drag and drop from one editor into another. + * + * @since 4.5 + * @private + * @property {CKEDITOR.plugins.clipboard.dataTransfer} dragData + */ + + /** + * Range object to save the drag range and remove its content after the drop. + * + * @since 4.5 + * @private + * @property {CKEDITOR.dom.range} dragRange + */ + + /** + * Initializes and links data transfer objects based on the paste event. If the data + * transfer object was already initialized on this event, the function will + * return that object. In IE it is not possible to link copy/cut and paste events + * so the method always returns a new object. The same happens if there is no paste event + * passed to the method. + * + * @since 4.5 + * @param {CKEDITOR.dom.event} [evt] A paste event object. + * @param {CKEDITOR.editor} [sourceEditor] The source editor instance. + * @returns {CKEDITOR.plugins.clipboard.dataTransfer} The data transfer object. + */ + initPasteDataTransfer: function( evt, sourceEditor ) { + if ( !this.isCustomCopyCutSupported ) { + // Edge does not support custom copy/cut, but it have some useful data in the clipboardData (#13755). + return new this.dataTransfer( ( CKEDITOR.env.edge && evt && evt.data.$ && evt.data.$.clipboardData ) || null, sourceEditor ); + } else if ( evt && evt.data && evt.data.$ ) { + var dataTransfer = new this.dataTransfer( evt.data.$.clipboardData, sourceEditor ); + + if ( this.copyCutData && dataTransfer.id == this.copyCutData.id ) { + dataTransfer = this.copyCutData; + dataTransfer.$ = evt.data.$.clipboardData; + } else { + this.copyCutData = dataTransfer; + } + + return dataTransfer; + } else { + return new this.dataTransfer( null, sourceEditor ); + } + }, + + /** + * Prevents dropping on the specified element. + * + * @since 4.5 + * @param {CKEDITOR.dom.element} element The element on which dropping should be disabled. + */ + preventDefaultDropOnElement: function( element ) { + element && element.on( 'dragover', preventDefaultSetDropEffectToNone ); + } + }; + + // Data type used to link drag and drop events. + // + // In IE URL data type is buggie and there is no way to mark drag & drop without + // modifying text data (which would be displayed if user drop content to the textarea) + // so we just read dragged text. + // + // In Chrome and Firefox we can use custom data types. + var clipboardIdDataType = CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ? 'cke/id' : 'Text'; + /** + * Facade for the native `dataTransfer`/`clipboadData` object to hide all differences + * between browsers. + * + * @since 4.5 + * @class CKEDITOR.plugins.clipboard.dataTransfer + * @constructor Creates a class instance. + * @param {Object} [nativeDataTransfer] A native data transfer object. + * @param {CKEDITOR.editor} [editor] The source editor instance. If the editor is defined, dataValue will + * be created based on the editor content and the type will be 'html'. + */ + CKEDITOR.plugins.clipboard.dataTransfer = function( nativeDataTransfer, editor ) { + if ( nativeDataTransfer ) { + this.$ = nativeDataTransfer; + } + + this._ = { + metaRegExp: /^/i, + bodyRegExp: /([\s\S]*)<\/body>/i, + fragmentRegExp: //g, + + data: {}, + files: [], + + normalizeType: function( type ) { + type = type.toLowerCase(); + + if ( type == 'text' || type == 'text/plain' ) { + return 'Text'; // IE support only Text and URL; + } else if ( type == 'url' ) { + return 'URL'; // IE support only Text and URL; + } else { + return type; + } + } + }; + + // Check if ID is already created. + this.id = this.getData( clipboardIdDataType ); + + // If there is no ID we need to create it. Different browsers needs different ID. + if ( !this.id ) { + if ( clipboardIdDataType == 'Text' ) { + // For IE10+ only Text data type is supported and we have to compare dragged + // and dropped text. If the ID is not set it means that empty string was dragged + // (ex. image with no alt). We change null to empty string. + this.id = ''; + } else { + // String for custom data type. + this.id = 'cke-' + CKEDITOR.tools.getUniqueId(); + } + } + + // In IE10+ we can not use any data type besides text, so we do not call setData. + if ( clipboardIdDataType != 'Text' ) { + // Try to set ID so it will be passed from the drag to the drop event. + // On some browsers with some event it is not possible to setData so we + // need to catch exceptions. + try { + this.$.setData( clipboardIdDataType, this.id ); + } catch ( err ) {} + } + + if ( editor ) { + this.sourceEditor = editor; + + this.setData( 'text/html', editor.getSelectedHtml( 1 ) ); + + // Without setData( 'text', ... ) on dragstart there is no drop event in Safari. + // Also 'text' data is empty as drop to the textarea does not work if we do not put there text. + if ( clipboardIdDataType != 'Text' && !this.getData( 'text/plain' ) ) { + this.setData( 'text/plain', editor.getSelection().getSelectedText() ); + } + } + + /** + * Data transfer ID used to bind all dataTransfer + * objects based on the same event (e.g. in drag and drop events). + * + * @readonly + * @property {String} id + */ + + /** + * A native DOM event object. + * + * @readonly + * @property {Object} $ + */ + + /** + * Source editor — the editor where the drag starts. + * Might be undefined if the drag starts outside the editor (e.g. when dropping files to the editor). + * + * @readonly + * @property {CKEDITOR.editor} sourceEditor + */ + + /** + * Private properties and methods. + * + * @private + * @property {Object} _ + */ + }; + + /** + * Data transfer operation (drag and drop or copy and paste) started and ended in the same + * editor instance. + * + * @since 4.5 + * @readonly + * @property {Number} [=1] + * @member CKEDITOR + */ + CKEDITOR.DATA_TRANSFER_INTERNAL = 1; + + /** + * Data transfer operation (drag and drop or copy and paste) started in one editor + * instance and ended in another. + * + * @since 4.5 + * @readonly + * @property {Number} [=2] + * @member CKEDITOR + */ + CKEDITOR.DATA_TRANSFER_CROSS_EDITORS = 2; + + /** + * Data transfer operation (drag and drop or copy and paste) started outside of the editor. + * The source of the data may be a textarea, HTML, another application, etc. + * + * @since 4.5 + * @readonly + * @property {Number} [=3] + * @member CKEDITOR + */ + CKEDITOR.DATA_TRANSFER_EXTERNAL = 3; + + CKEDITOR.plugins.clipboard.dataTransfer.prototype = { + /** + * Facade for the native `getData` method. + * + * @param {String} type The type of data to retrieve. + * @returns {String} type Stored data for the given type or an empty string if the data for that type does not exist. + */ + getData: function( type ) { + function isEmpty( data ) { + return data === undefined || data === null || data === ''; + } + + type = this._.normalizeType( type ); + + var data = this._.data[ type ], + result; + + if ( isEmpty( data ) ) { + try { + data = this.$.getData( type ); + } catch ( e ) {} + } + + if ( isEmpty( data ) ) { + data = ''; + } + + // Some browsers add at the begging of the HTML data + // or surround it with ...(some content) and (some content) + // This code removes meta tags and returns only the contents of the element if found. Note that + // some significant content may be placed outside Start/EndFragment comments so it's kept. + // + // See #13583 for more details. + if ( type == 'text/html' ) { + data = data.replace( this._.metaRegExp, '' ); + + // Keep only contents of the element + result = this._.bodyRegExp.exec( data ); + if ( result && result.length ) { + data = result[ 1 ]; + + // Remove also comments. + data = data.replace( this._.fragmentRegExp, '' ); + } + } + // Firefox on Linux put files paths as a text/plain data if there are files + // in the dataTransfer object. We need to hide it, because files should be + // handled on paste only if dataValue is empty. + else if ( type == 'Text' && CKEDITOR.env.gecko && this.getFilesCount() && + data.substring( 0, 7 ) == 'file://' ) { + data = ''; + } + + return data; + }, + + /** + * Facade for the native `setData` method. + * + * @param {String} type The type of data to retrieve. + * @param {String} value The data to add. + */ + setData: function( type, value ) { + type = this._.normalizeType( type ); + + this._.data[ type ] = value; + + // There is "Unexpected call to method or property access." error if you try + // to set data of unsupported type on IE. + if ( !CKEDITOR.plugins.clipboard.isCustomDataTypesSupported && type != 'URL' && type != 'Text' ) { + return; + } + + // If we use the text type to bind the ID, then if someone tries to set the text, we must also + // update ID accordingly. #13468. + if ( clipboardIdDataType == 'Text' && type == 'Text' ) { + this.id = value; + } + + try { + this.$.setData( type, value ); + } catch ( e ) {} + }, + + /** + * Gets the data transfer type. + * + * @param {CKEDITOR.editor} targetEditor The drop/paste target editor instance. + * @returns {Number} Possible values: {@link CKEDITOR#DATA_TRANSFER_INTERNAL}, + * {@link CKEDITOR#DATA_TRANSFER_CROSS_EDITORS}, {@link CKEDITOR#DATA_TRANSFER_EXTERNAL}. + */ + getTransferType: function( targetEditor ) { + if ( !this.sourceEditor ) { + return CKEDITOR.DATA_TRANSFER_EXTERNAL; + } else if ( this.sourceEditor == targetEditor ) { + return CKEDITOR.DATA_TRANSFER_INTERNAL; + } else { + return CKEDITOR.DATA_TRANSFER_CROSS_EDITORS; + } + }, + + /** + * Copies the data from the native data transfer to a private cache. + * This function is needed because the data from the native data transfer + * is available only synchronously to the event listener. It is not possible + * to get the data asynchronously, after a timeout, and the {@link CKEDITOR.editor#paste} + * event is fired asynchronously — hence the need for caching the data. + */ + cacheData: function() { + if ( !this.$ ) { + return; + } + + var that = this, + i, file; + + function getAndSetData( type ) { + type = that._.normalizeType( type ); + + var data = that.getData( type ); + if ( data ) { + that._.data[ type ] = data; + } + } + + // Copy data. + if ( CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ) { + if ( this.$.types ) { + for ( i = 0; i < this.$.types.length; i++ ) { + getAndSetData( this.$.types[ i ] ); + } + } + } else { + getAndSetData( 'Text' ); + getAndSetData( 'URL' ); + } + + // Copy files references. + file = this._getImageFromClipboard(); + if ( ( this.$ && this.$.files ) || file ) { + this._.files = []; + + // Edge have empty files property with no length (#13755). + if ( this.$.files && this.$.files.length ) { + for ( i = 0; i < this.$.files.length; i++ ) { + this._.files.push( this.$.files[ i ] ); + } + } + + // Don't include $.items if both $.files and $.items contains files, because, + // according to spec and browsers behavior, they contain the same files. + if ( this._.files.length === 0 && file ) { + this._.files.push( file ); + } + } + }, + + /** + * Gets the number of files in the dataTransfer object. + * + * @returns {Number} The number of files. + */ + getFilesCount: function() { + if ( this._.files.length ) { + return this._.files.length; + } + + if ( this.$ && this.$.files && this.$.files.length ) { + return this.$.files.length; + } + + return this._getImageFromClipboard() ? 1 : 0; + }, + + /** + * Gets the file at the index given. + * + * @param {Number} i Index. + * @returns {File} File instance. + */ + getFile: function( i ) { + if ( this._.files.length ) { + return this._.files[ i ]; + } + + if ( this.$ && this.$.files && this.$.files.length ) { + return this.$.files[ i ]; + } + + // File or null if the file was not found. + return i === 0 ? this._getImageFromClipboard() : undefined; + }, + + /** + * Checks if the data transfer contains any data. + * + * @returns {Boolean} `true` if the object contains no data. + */ + isEmpty: function() { + var typesToCheck = {}, + type; + + // If dataTransfer contains files it is not empty. + if ( this.getFilesCount() ) { + return false; + } + + // Add custom types. + for ( type in this._.data ) { + typesToCheck[ type ] = 1; + } + + // Add native types. + if ( this.$ ) { + if ( CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ) { + if ( this.$.types ) { + for ( var i = 0; i < this.$.types.length; i++ ) { + typesToCheck[ this.$.types[ i ] ] = 1; + } + } + } else { + typesToCheck.Text = 1; + typesToCheck.URL = 1; + } + } + + // Remove ID. + if ( clipboardIdDataType != 'Text' ) { + typesToCheck[ clipboardIdDataType ] = 0; + } + + for ( type in typesToCheck ) { + if ( typesToCheck[ type ] && this.getData( type ) !== '' ) { + return false; + } + } + + return true; + }, + + /** + * When the content of the clipboard is pasted in Chrome, the clipboard data object has an empty `files` property, + * but it is possible to get the file as `items[0].getAsFile();` (#12961). + * + * @private + * @returns {File} File instance or `null` if not found. + */ + _getImageFromClipboard: function() { + var file; + + if ( this.$ && this.$.items && this.$.items[ 0 ] ) { + try { + file = this.$.items[ 0 ].getAsFile(); + // Duck typing + if ( file && file.type ) { + return file; + } + } catch ( err ) { + // noop + } + } + + return undefined; + } + }; +} )(); + +/** + * The default content type that is used when pasted data cannot be clearly recognized as HTML or text. + * + * For example: `'foo'` may come from a plain text editor or a website. It is not possible to recognize the content + * type in this case, so the default type will be used. At the same time it is clear that `'example text'` is + * HTML and its origin is a web page, email or another rich text editor. + * + * **Note:** If content type is text, then styles of the paste context are preserved. + * + * CKEDITOR.config.clipboard_defaultContentType = 'text'; + * + * See also the {@link CKEDITOR.editor#paste} event and read more about the integration with clipboard + * in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). + * + * @since 4.0 + * @cfg {'html'/'text'} [clipboard_defaultContentType='html'] + * @member CKEDITOR.config + */ + +/** + * Fired after the user initiated a paste action, but before the data is inserted into the editor. + * The listeners to this event are able to process the content before its insertion into the document. + * + * Read more about the integration with clipboard in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). + * + * See also: + * + * * the {@link CKEDITOR.config#pasteFilter} option, + * * the {@link CKEDITOR.editor#drop} event, + * * the {@link CKEDITOR.plugins.clipboard.dataTransfer} class. + * + * @since 3.1 + * @event paste + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param data + * @param {String} data.type The type of data in `data.dataValue`. Usually `'html'` or `'text'`, but for listeners + * with a priority smaller than `6` it may also be `'auto'` which means that the content type has not been recognised yet + * (this will be done by the content type sniffer that listens with priority `6`). + * @param {String} data.dataValue HTML to be pasted. + * @param {String} data.method Indicates the data transfer method. It could be drag and drop or copy and paste. + * Possible values: `'drop'`, `'paste'`. Introduced in CKEditor 4.5. + * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer Facade for the native dataTransfer object + * which provides access to various data types and files, and passes some data between linked events + * (like drag and drop). Introduced in CKEditor 4.5. + * @param {Boolean} [data.dontFilter=false] Whether the {@link CKEDITOR.editor#pasteFilter paste filter} should not + * be applied to data. This option has no effect when `data.type` equals `'text'` which means that for instance + * {@link CKEDITOR.config#forcePasteAsPlainText} has a higher priority. Introduced in CKEditor 4.5. + */ + +/** + * Fired before the {@link #paste} event. Allows to preset data type. + * + * **Note:** This event is deprecated. Add a `0` priority listener for the + * {@link #paste} event instead. + * + * @deprecated + * @event beforePaste + * @member CKEDITOR.editor + */ + + /** + * Fired after the {@link #paste} event if content was modified. Note that if the paste + * event does not insert any data, the `afterPaste` event will not be fired. + * + * @event afterPaste + * @member CKEDITOR.editor + */ + +/** + * Internal event to open the Paste dialog window. + * + * @private + * @event pasteDialog + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param {Function} [data] Callback that will be passed to {@link CKEDITOR.editor#openDialog}. + */ + +/** + * Facade for the native `drop` event. Fired when the native `drop` event occurs. + * + * **Note:** To manipulate dropped data, use the {@link CKEDITOR.editor#paste} event. + * Use the `drop` event only to control drag and drop operations (e.g. to prevent the ability to drop some content). + * + * Read more about integration with drag and drop in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). + * + * See also: + * + * * The {@link CKEDITOR.editor#paste} event, + * * The {@link CKEDITOR.editor#dragstart} and {@link CKEDITOR.editor#dragend} events, + * * The {@link CKEDITOR.plugins.clipboard.dataTransfer} class. + * + * @since 4.5 + * @event drop + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param data + * @param {Object} data.$ Native drop event. + * @param {CKEDITOR.dom.node} data.target Drop target. + * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer DataTransfer facade. + * @param {CKEDITOR.dom.range} data.dragRange Drag range, lets you manipulate the drag range. + * Note that dragged HTML is saved as `text/html` data on `dragstart` so if you change the drag range + * on drop, dropped HTML will not change. You need to change it manually using + * {@link CKEDITOR.plugins.clipboard.dataTransfer#setData dataTransfer.setData}. + * @param {CKEDITOR.dom.range} data.dropRange Drop range, lets you manipulate the drop range. + */ + +/** + * Facade for the native `dragstart` event. Fired when the native `dragstart` event occurs. + * + * This event can be canceled in order to block the drag start operation. It can also be fired to mimic the start of the drag and drop + * operation. For instance, the `widget` plugin uses this option to integrate its custom block widget drag and drop with + * the entire system. + * + * Read more about integration with drag and drop in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). + * + * See also: + * + * * The {@link CKEDITOR.editor#paste} event, + * * The {@link CKEDITOR.editor#drop} and {@link CKEDITOR.editor#dragend} events, + * * The {@link CKEDITOR.plugins.clipboard.dataTransfer} class. + * + * @since 4.5 + * @event dragstart + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param data + * @param {Object} data.$ Native dragstart event. + * @param {CKEDITOR.dom.node} data.target Drag target. + * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer DataTransfer facade. + */ + +/** + * Facade for the native `dragend` event. Fired when the native `dragend` event occurs. + * + * Read more about integration with drag and drop in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). + * + * See also: + * + * * The {@link CKEDITOR.editor#paste} event, + * * The {@link CKEDITOR.editor#drop} and {@link CKEDITOR.editor#dragend} events, + * * The {@link CKEDITOR.plugins.clipboard.dataTransfer} class. + * + * @since 4.5 + * @event dragend + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param data + * @param {Object} data.$ Native dragend event. + * @param {CKEDITOR.dom.node} data.target Drag target. + * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer DataTransfer facade. + */ + +/** + * Defines a filter which is applied to external data pasted or dropped into the editor. Possible values are: + * + * * `'plain-text'` – Content will be pasted as a plain text. + * * `'semantic-content'` – Known tags (except `div`, `span`) with all attributes (except + * `style` and `class`) will be kept. + * * `'h1 h2 p div'` – Custom rules compatible with {@link CKEDITOR.filter}. + * * `null` – Content will not be filtered by the paste filter (but it still may be filtered + * by [Advanced Content Filter](#!/guide/dev_advanced_content_filter)). This value can be used to + * disable the paste filter in Chrome and Safari, where this option defaults to `'semantic-content'`. + * + * Example: + * + * config.pasteFilter = 'plain-text'; + * + * Custom setting: + * + * config.pasteFilter = 'h1 h2 p ul ol li; img[!src, alt]; a[!href]'; + * + * Based on this configuration option, a proper {@link CKEDITOR.filter} instance will be defined and assigned to the editor + * as a {@link CKEDITOR.editor#pasteFilter}. You can tweak the paste filter settings on the fly on this object + * as well as delete or replace it. + * + * var editor = CKEDITOR.replace( 'editor', { + * pasteFilter: 'semantic-content' + * } ); + * + * editor.on( 'instanceReady', function() { + * // The result of this will be that all semantic content will be preserved + * // except tables. + * editor.pasteFilter.disallow( 'table' ); + * } ); + * + * Note that the paste filter is applied only to **external** data. There are three data sources: + * + * * copied and pasted in the same editor (internal), + * * copied from one editor and pasted into another (cross-editor), + * * coming from all other sources like websites, MS Word, etc. (external). + * + * If {@link CKEDITOR.config#allowedContent Advanced Content Filter} is not disabled, then + * it will also be applied to pasted and dropped data. The paste filter job is to "normalize" + * external data which often needs to be handled differently than content produced by the editor. + * + * This setting defaults to `'semantic-content'` in Chrome, Opera and Safari (all Blink and Webkit based browsers) + * due to messy HTML which these browsers keep in the clipboard. In other browsers it defaults to `null`. + * + * @since 4.5 + * @cfg {String} [pasteFilter='semantic-content' in Chrome and Safari and `null` in other browsers] + * @member CKEDITOR.config + */ + +/** + * {@link CKEDITOR.filter Content filter} which is used when external data is pasted or dropped into the editor + * or a forced paste as plain text occurs. + * + * This object might be used on the fly to define rules for pasted external content. + * This object is available and used if the {@link CKEDITOR.plugins.clipboard clipboard} plugin is enabled and + * {@link CKEDITOR.config#pasteFilter} or {@link CKEDITOR.config#forcePasteAsPlainText} was defined. + * + * To enable the filter: + * + * var editor = CKEDITOR.replace( 'editor', { + * pasteFilter: 'plain-text' + * } ); + * + * You can also modify the filter on the fly later on: + * + * editor.pasteFilter = new CKEDITOR.filter( 'p h1 h2; a[!href]' ); + * + * Note that the paste filter is only applied to **external** data. There are three data sources: + * + * * copied and pasted in the same editor (internal), + * * copied from one editor and pasted into another (cross-editor), + * * coming from all other sources like websites, MS Word, etc. (external). + * + * If {@link CKEDITOR.config#allowedContent Advanced Content Filter} is not disabled, then + * it will also be applied to pasted and dropped data. The paste filter job is to "normalize" + * external data which often needs to be handled differently than content produced by the editor. + * + * @since 4.5 + * @readonly + * @property {CKEDITOR.filter} [pasteFilter] + * @member CKEDITOR.editor + */ diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.css b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.css new file mode 100644 index 0000000..e75b9f7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.css @@ -0,0 +1,20 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +.cke_colordialog_colorcell { + width: 12px; /* All cells have equal width which depends on parent width (in this case table parent). Width works more like max-width. */ + height: 14px; + padding: 1px; /* Padding is replaced by border for focused cells. Prevents 'jumping' when adding borders. */ +} + +.cke_colordialog_colorcell.cke_colordialog_focused_light, +.cke_colordialog_colorcell.cke_colordialog_focused_dark { + padding: 0; /* Shrink cell to allow 1px border indicating focus. */ + border: 1px dotted #000; +} + +.cke_colordialog_colorcell.cke_colordialog_focused_dark { + border-color: #FFF; +} diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.js new file mode 100644 index 0000000..6d1cee7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/colordialog/dialogs/colordialog.js @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("colordialog",function(x){function m(){h.getById(n).removeStyle("background-color");p.getContentElement("picker","selectedColor").setValue("");y()}function z(a){a=a.data.getTarget();var c;"td"==a.getName()&&(c=a.getChild(0).getHtml())&&(y(),f=a,f.setAttribute("aria-selected",!0),f.addClass("cke_colordialog_selected"),p.getContentElement("picker","selectedColor").setValue(c))}function y(){f&&(f.removeClass("cke_colordialog_selected"),f.removeAttribute("aria-selected"),f=null)}function D(a){a= +a.replace(/^#/,"");for(var c=0,b=[];2>=c;c++)b[c]=parseInt(a.substr(2*c,2),16);return 165<=.2126*b[0]+.7152*b[1]+.0722*b[2]}function A(a){!a.name&&(a=new CKEDITOR.event(a));var c=!/mouse/.test(a.name),b=a.data.getTarget(),g;"td"==b.getName()&&(g=b.getChild(0).getHtml())&&(q(a),c?d=b:B=b,c&&b.addClass(D(g)?"cke_colordialog_focused_light":"cke_colordialog_focused_dark"),r(g))}function q(a){if(a=!/mouse/.test(a.name)&&d)a.removeClass("cke_colordialog_focused_light"),a.removeClass("cke_colordialog_focused_dark"); +d||B||r(!1)}function r(a){a?(h.getById(t).setStyle("background-color",a),h.getById(u).setHtml(a)):(h.getById(t).removeStyle("background-color"),h.getById(u).setHtml("\x26nbsp;"))}function E(a){var c=a.data,b=c.getTarget(),g=c.getKeystroke(),e="rtl"==x.lang.dir;switch(g){case 38:if(a=b.getParent().getPrevious())a=a.getChild([b.getIndex()]),a.focus();c.preventDefault();break;case 40:(a=b.getParent().getNext())&&(a=a.getChild([b.getIndex()]))&&1==a.type&&a.focus();c.preventDefault();break;case 32:case 13:z(a); +c.preventDefault();break;case e?37:39:(a=b.getNext())?1==a.type&&(a.focus(),c.preventDefault(!0)):(a=b.getParent().getNext())&&(a=a.getChild([0]))&&1==a.type&&(a.focus(),c.preventDefault(!0));break;case e?39:37:if(a=b.getPrevious())a.focus(),c.preventDefault(!0);else if(a=b.getParent().getPrevious())a=a.getLast(),a.focus(),c.preventDefault(!0)}}var v=CKEDITOR.dom.element,h=CKEDITOR.document,e=x.lang.colordialog,p,f,C={type:"html",html:"\x26nbsp;"},d,B,l=function(a){return CKEDITOR.tools.getNextId()+ +"_"+a},t=l("hicolor"),u=l("hicolortext"),n=l("selhicolor"),k;(function(){function a(a,d){for(var w=a;wg;g++)c(f.$,"#"+b[e]+b[g]+b[w])}}function c(a,c){var b=new v(a.insertCell(-1));b.setAttribute("class","ColorCell cke_colordialog_colorcell");b.setAttribute("tabIndex",-1);b.setAttribute("role","gridcell");b.on("keydown",E);b.on("click",z);b.on("focus",A);b.on("blur",q);b.setStyle("background-color", +c);var d=l("color_table_cell");b.setAttribute("aria-labelledby",d);b.append(CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+d+'" class\x3d"cke_voice_label"\x3e'+c+"\x3c/span\x3e",CKEDITOR.document))}k=CKEDITOR.dom.element.createFromHtml('\x3ctable tabIndex\x3d"-1" class\x3d"cke_colordialog_table" aria-label\x3d"'+e.options+'" role\x3d"grid" style\x3d"border-collapse:separate;" cellspacing\x3d"0"\x3e\x3ccaption class\x3d"cke_voice_label"\x3e'+e.options+'\x3c/caption\x3e\x3ctbody role\x3d"presentation"\x3e\x3c/tbody\x3e\x3c/table\x3e'); +k.on("mouseover",A);k.on("mouseout",q);var b="00 33 66 99 cc ff".split(" ");a(0,0);a(3,0);a(0,3);a(3,3);var g=new v(k.$.insertRow(-1));g.setAttribute("role","row");c(g.$,"#000000");for(var f=0;16>f;f++){var d=f.toString(16);c(g.$,"#"+d+d+d+d+d+d)}c(g.$,"#ffffff")})();CKEDITOR.document.appendStyleSheet(CKEDITOR.getUrl(CKEDITOR.plugins.get("colordialog").path+"dialogs/colordialog.css"));return{title:e.title,minWidth:360,minHeight:220,onLoad:function(){p=this},onHide:function(){m();d.removeClass("cke_colordialog_focused_light"); +d.removeClass("cke_colordialog_focused_dark");r(!1);d=null},contents:[{id:"picker",label:e.title,accessKey:"I",elements:[{type:"hbox",padding:0,widths:["70%","10%","30%"],children:[{type:"html",html:"\x3cdiv\x3e\x3c/div\x3e",onLoad:function(){CKEDITOR.document.getById(this.domId).append(k)},focus:function(){(d||this.getElement().getElementsByTag("td").getItem(0)).focus()}},C,{type:"vbox",padding:0,widths:["70%","5%","25%"],children:[{type:"html",html:"\x3cspan\x3e"+e.highlight+'\x3c/span\x3e\x3cdiv id\x3d"'+ +t+'" style\x3d"border: 1px solid; height: 74px; width: 74px;"\x3e\x3c/div\x3e\x3cdiv id\x3d"'+u+'"\x3e\x26nbsp;\x3c/div\x3e\x3cspan\x3e'+e.selected+'\x3c/span\x3e\x3cdiv id\x3d"'+n+'" style\x3d"border: 1px solid; height: 20px; width: 74px;"\x3e\x3c/div\x3e'},{type:"text",label:e.selected,labelStyle:"display:none",id:"selectedColor",style:"width: 76px;margin-top:4px",onChange:function(){try{h.getById(n).setStyle("background-color",this.getValue())}catch(a){m()}}},C,{type:"button",id:"clear",label:e.clear, +onClick:m}]}]}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/dialog/dialogDefinition.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/dialog/dialogDefinition.js new file mode 100644 index 0000000..26c2feb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/dialog/dialogDefinition.js @@ -0,0 +1,4 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/div/dialogs/div.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/div/dialogs/div.js new file mode 100644 index 0000000..b22af9e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/div/dialogs/div.js @@ -0,0 +1,9 @@ +(function(){function t(a,m,r){m.is&&m.getCustomData("block_processed")||(m.is&&CKEDITOR.dom.element.setMarker(r,m,"block_processed",!0),a.push(m))}function q(a,m){function r(){this.foreach(function(a){/^(?!vbox|hbox)/.test(a.type)&&(a.setup||(a.setup=function(c){a.setValue(c.getAttribute(a.id)||"",1)}),a.commit||(a.commit=function(c){var g=this.getValue();if("dir"!=a.id||c.getComputedStyle("direction")!=g)g?c.setAttribute(a.id,g):c.removeAttribute(a.id)}))})}var q=function(){var f=CKEDITOR.tools.extend({}, +CKEDITOR.dtd.$blockLimit);a.config.div_wrapTable&&(delete f.td,delete f.th);return f}(),u=CKEDITOR.dtd.div,n={},p=[];return{title:a.lang.div.title,minWidth:400,minHeight:165,contents:[{id:"info",label:a.lang.common.generalTab,title:a.lang.common.generalTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"elementStyle",type:"select",style:"width: 100%;",label:a.lang.div.styleSelectLabel,"default":"",items:[[a.lang.common.notSet,""]],onChange:function(){var f=["info:elementStyle","info:class", +"advanced:dir","advanced:style"],c=this.getDialog(),g=c._element&&c._element.clone()||new CKEDITOR.dom.element("div",a.document);this.commit(g,!0);for(var f=[].concat(f),b=f.length,k,e=0;e=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(s&&l){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),S(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;S(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:P(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},c(s={exports:{}},s.exports),s.exports);function u(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function h(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};f(this,t);var n={addStyle:!0,fileName:(new Date).toLocaleString(),maxWidth:624,toImg:"",success:function(){}};this.config={},this.dom=e,this.c_dom=e.cloneNode(!0),this.config=m(m({},n),r)}var e,r,i,c,s,u;return e=t,r=[{key:"init",value:(u=a(l.mark((function t(){return l.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.config.addStyle&&this.sheetToSelf(this.c_dom),t.next=3,this.sheetToImg();case 3:return t.next=5,this.domToCanvas();case 5:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"sheetToImg",value:(s=a(l.mark((function t(){var e,r,n;return l.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=this.dom.querySelectorAll("img"),r=this.c_dom.querySelectorAll("img"),n=0;case 3:if(!(n\n\n_html_',head:'\n\n\n\x3c!--[if gte mso 9]>PrintfalsefalsefalsefalseEN-USZH-CNX-NONEMicrosoftInternetExplorer4 \n',body:"_body_"}},r=[],n=t.querySelectorAll("img"),o=0;o>>0:0;else if("string"==a)"base64"===e&&(t=function(t){t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(x,"");for(;t.length%4!=0;)t+="=";return t}(t)),n=u.byteLength(t,e);else{if("object"!=a||null===t)throw new TypeError("must start with number, buffer, array or string");"Buffer"===t.type&&s(t.data)&&(t=t.data),n=0<+t.length?Math.floor(+t.length):0}if(this.length>c)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+c.toString(16)+" bytes");if(u.TYPED_ARRAY_SUPPORT?i=u._augment(new Uint8Array(n)):((i=this).length=n,i._isBuffer=!0),u.TYPED_ARRAY_SUPPORT&&"number"==typeof t.byteLength)i._set(t);else if(function(t){return s(t)||u.isBuffer(t)||t&&"object"==typeof t&&"number"==typeof t.length}(t))if(u.isBuffer(t))for(o=0;ot.length)throw new TypeError("index out of range")}function m(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function b(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function _(t,e,r,n,i,o){if(it.length)throw new TypeError("index out of range")}function v(t,e,r,n,i){return i||_(t,e,r,4,34028234663852886e22,-34028234663852886e22),o.write(t,e,r,n,23,4),r+4}function y(t,e,r,n,i){return i||_(t,e,r,8,17976931348623157e292,-17976931348623157e292),o.write(t,e,r,n,52,8),r+8}u.TYPED_ARRAY_SUPPORT=function(){try{var t=new ArrayBuffer(0),e=new Uint8Array(t);return e.foo=function(){return 42},42===e.foo()&&"function"==typeof e.subarray&&0===new Uint8Array(1).subarray(1,1).byteLength}catch(t){return!1}}(),u.isBuffer=function(t){return!(null==t||!t._isBuffer)},u.compare=function(t,e){if(!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError("Arguments must be Buffers");for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i>>1;break;case"utf8":case"utf-8":r=A(t).length;break;case"base64":r=E(t).length;break;default:r=t.length}return r},u.prototype.length=void 0,u.prototype.parent=void 0,u.prototype.toString=function(t,e,r){var n=!1;if(t=t||"utf8",(e>>>=0)<0&&(e=0),(r=void 0===r||r===1/0?this.length:r>>>0)>this.length&&(r=this.length),r<=e)return"";for(;;)switch(t){case"hex":return h(this,e,r);case"utf8":case"utf-8":return a(this,e,r);case"ascii":return f(this,e,r);case"binary":return f(this,e,r);case"base64":return i(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return 0===u.compare(this,t)},u.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return 0e&&(t+=" ... ")),""},u.prototype.compare=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return u.compare(this,t)},u.prototype.get=function(t){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(t)},u.prototype.set=function(t,e){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(t,e)},u.prototype.write=function(t,e,r,n){if(isFinite(e))isFinite(r)||(n=r,r=void 0);else{var i=n;n=e,e=r,r=i}e=Number(e)||0;var o,a=this.length-e;switch(r?a<(r=Number(r))&&(r=a):r=a,n=String(n||"utf8").toLowerCase()){case"hex":o=function(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?i<(n=Number(n))&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new Error("Invalid hex string");o/2>8,n=e%256,i.push(n),i.push(r);return i}(e),t,r,n,2)}(this,t,e,r);break;default:throw new TypeError("Unknown encoding: "+n)}return o},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},u.prototype.slice=function(t,e){var r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):r>>=0,r||g(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t,this[e+1]=t>>>8):m(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t):m(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t):b(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t):b(this,t,e,!1),e+4},u.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t,this[e+1]=t>>>8):m(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t):m(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):b(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||g(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t):b(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,r){return v(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return v(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return y(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return y(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(r=r||0,n||0===n||(n=this.length),e=e||0,n!==r&&0!==t.length&&0!==this.length){if(n=t.length)throw new TypeError("targetStart out of bounds");if(r<0||r>=this.length)throw new TypeError("sourceStart out of bounds");if(n<0||n>this.length)throw new TypeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=this.length)throw new TypeError("start out of bounds");if(r<0||r>this.length)throw new TypeError("end out of bounds");var n;if("number"==typeof t)for(n=e;n=e.length||o>=t.length);o++)e[o+r]=t[o];return o}function j(t){try{return decodeURIComponent(t)}catch(t){return String.fromCharCode(65533)}}},{"base64-js":3,ieee754:4,"is-array":5}],3:[function(t,e,r){!function(t){"use strict";var u="undefined"!=typeof Uint8Array?Uint8Array:Array,r="+".charCodeAt(0),n="/".charCodeAt(0),i="0".charCodeAt(0),o="a".charCodeAt(0),a="A".charCodeAt(0);function l(t){var e=t.charCodeAt(0);return e===r?62:e===n?63:e>16),c((65280&n)>>8),c(255&n);return 2==i?c(255&(n=l(t.charAt(e))<<2|l(t.charAt(e+1))>>4)):1==i&&(c((n=l(t.charAt(e))<<10|l(t.charAt(e+1))<<4|l(t.charAt(e+2))>>2)>>8&255),c(255&n)),o},t.fromByteArray=function(t){var e,r,n,i,o=t.length%3,a="";function s(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,n=t.length-o;e>18&63)+s(i>>12&63)+s(i>>6&63)+s(63&i);switch(o){case 1:a+=s((r=t[t.length-1])>>2),a+=s(r<<4&63),a+="==";break;case 2:a+=s((r=(t[t.length-2]<<8)+t[t.length-1])>>10),a+=s(r>>4&63),a+=s(r<<2&63),a+="="}return a}}(void 0===r?this.base64js={}:r)},{}],4:[function(t,e,r){r.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,c=(1<>1,l=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,o=p&(1<<-l)-1,p>>=-l,l+=s;0>=-l,l+=n;0>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),2<=(e+=1<=a+f?h/c:h*Math.pow(2,1-f))*c&&(a++,c/=2),l<=a+f?(s=0,a=l):1<=a+f?(s=(e*c-1)*Math.pow(2,i),a+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),a=0));8<=i;t[r+p]=255&s,p+=d,s/=256,i-=8);for(a=a<r&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace());return this},n.prototype.once=function(t,e){if(!s(e))throw TypeError("listener must be a function");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},n.prototype.removeListener=function(t,e){var r,n,i,o;if(!s(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=(r=this._events[t]).length,n=-1,r===e||s(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(c(r)){for(o=i;0=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,r,n),this.charReceived+=n-r,r=n,this.charReceived>5==6){this.charLength=2;break}if(e<=2&&r>>4==14){this.charLength=3;break}if(e<=3&&r>>3==30){this.charLength=4;break}}return e},i.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;e+=n.slice(0,r).toString(i)}return e}},{buffer:2}],9:[function(t,e,r){"use strict";var n=t("./dataReader");function i(t){if(t){this.data=t,this.length=this.data.length,this.index=0;for(var e=this.zero=0;e>2,a=(3&r)<<4|(n=t.charCodeAt(l++))>>4,s=(15&n)<<2|(i=t.charCodeAt(l++))>>6,c=63&i,isNaN(n)?s=c=64:isNaN(i)&&(c=64),u=u+f.charAt(o)+f.charAt(a)+f.charAt(s)+f.charAt(c);return u},r.decode=function(t,e){var r,n,i,o,a,s,c="",u=0;for(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&o)<<4|(a=f.indexOf(t.charAt(u++)))>>2,i=(3&a)<<6|(s=f.indexOf(t.charAt(u++))),c+=String.fromCharCode(r),64!=a&&(c+=String.fromCharCode(n)),64!=s&&(c+=String.fromCharCode(i));return c}},{}],11:[function(t,e,r){"use strict";function n(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}n.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},e.exports=n},{}],12:[function(t,e,r){"use strict";r.STORE={magic:"\0\0",compress:function(t,e){return t},uncompress:function(t){return t},compressInputType:null,uncompressInputType:null},r.DEFLATE=t("./flate")},{"./flate":17}],13:[function(t,e,r){"use strict";var a=t("./utils"),s=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];e.exports=function(t,e){if(void 0===t||!t.length)return 0;var r="string"!==a.getTypeOf(t);void 0===e&&(e=0);var n=0;e^=-1;for(var i=0,o=t.length;i>>8^s[255&(e^n)];return-1^e}},{"./utils":30}],14:[function(t,e,r){"use strict";var n=t("./utils");function i(t){this.data=null,this.length=0,this.index=0,this.zero=0}i.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return n.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1)}},e.exports=i},{"./utils":30}],15:[function(t,e,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!1,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],16:[function(t,e,r){"use strict";var n=t("./utils");r.string2binary=function(t){return n.string2binary(t)},r.string2Uint8Array=function(t){return n.transformTo("uint8array",t)},r.uint8Array2String=function(t){return n.transformTo("string",t)},r.string2Blob=function(t){var e=n.transformTo("arraybuffer",t);return n.arrayBuffer2Blob(e)},r.arrayBuffer2Blob=function(t){return n.arrayBuffer2Blob(t)},r.transformTo=function(t,e){return n.transformTo(t,e)},r.getTypeOf=function(t){return n.getTypeOf(t)},r.checkSupport=function(t){return n.checkSupport(t)},r.MAX_VALUE_16BITS=n.MAX_VALUE_16BITS,r.MAX_VALUE_32BITS=n.MAX_VALUE_32BITS,r.pretty=function(t){return n.pretty(t)},r.findCompression=function(t){return n.findCompression(t)},r.isRegExp=function(t){return n.isRegExp(t)}},{"./utils":30}],17:[function(t,e,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=t("pako");r.uncompressInputType=n?"uint8array":"array",r.compressInputType=n?"uint8array":"array",r.magic="\b\0",r.compress=function(t,e){return i.deflateRaw(t,{level:e.level||-1})},r.uncompress=function(t){return i.inflateRaw(t)}},{pako:33}],18:[function(t,e,r){"use strict";var n=t("./base64");function i(t,e){if(!(this instanceof i))return new i(t,e);this.files={},this.comment=null,this.root="",t&&this.load(t,e),this.clone=function(){var t=new i;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t("./object")).load=t("./load"),i.support=t("./support"),i.defaults=t("./defaults"),i.utils=t("./deprecatedPublicUtils"),i.base64={encode:function(t){return n.encode(t)},decode:function(t){return n.decode(t)}},i.compressions=t("./compressions"),e.exports=i},{"./base64":10,"./compressions":12,"./defaults":15,"./deprecatedPublicUtils":16,"./load":19,"./object":22,"./support":26}],19:[function(t,e,r){"use strict";var a=t("./base64"),s=t("./utf8"),c=t("./utils"),u=t("./zipEntries");e.exports=function(t,e){var r,n,i,o;for((e=c.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:s.utf8decode})).base64&&(t=a.decode(t)),r=(n=new u(t,e)).files,i=0;i>>=8;return n}function f(t,e,r){var n,i=E.getTypeOf(e);if("string"==typeof(r=function(t){return!0!==(t=t||{}).base64||null!==t.binary&&void 0!==t.binary||(t.binary=!0),(t=E.extend(t,c)).date=t.date||new Date,null!==t.compression&&(t.compression=t.compression.toUpperCase()),t}(r)).unixPermissions&&(r.unixPermissions=parseInt(r.unixPermissions,8)),r.unixPermissions&&16384&r.unixPermissions&&(r.dir=!0),r.dosPermissions&&16&r.dosPermissions&&(r.dir=!0),r.dir&&(t=p(t)),r.createFolders&&(n=h(t))&&d.call(this,n,!0),r.dir||null==e)r.base64=!1,r.binary=!1,i=e=null;else if("string"===i)r.binary&&!r.base64&&!0!==r.optimizedBinaryString&&(e=E.string2binary(e));else{if(r.base64=!1,r.binary=!0,!(i||e instanceof u))throw new Error("The data of '"+t+"' is in an unsupported format !");"arraybuffer"===i&&(e=E.transformTo("uint8array",e))}var o=new a(t,e,r);return this.files[t]=o}function w(t,e,r){var n,i=new u;return t._data instanceof u?(i.uncompressedSize=t._data.uncompressedSize,i.crc32=t._data.crc32,0===i.uncompressedSize||t.dir?(e=_.STORE,i.compressedContent="",i.crc32=0):t._data.compressionMethod===e.magic?i.compressedContent=t._data.getCompressedContent():(n=t._data.getContent(),i.compressedContent=e.compress(E.transformTo(e.compressInputType,n),r))):((n=o(t))&&0!==n.length&&!t.dir||(e=_.STORE,n=""),i.uncompressedSize=n.length,i.crc32=S(n),i.compressedContent=e.compress(E.transformTo(e.compressInputType,n),r)),i.compressedSize=i.compressedContent.length,i.compressionMethod=e.magic,i}function x(t,e,r,n,i,o){r.compressedContent;var a,s,c,u,l=o!==T.utf8encode,f=E.transformTo("string",o(e.name)),h=E.transformTo("string",T.utf8encode(e.name)),p=e.comment||"",d=E.transformTo("string",o(p)),g=E.transformTo("string",T.utf8encode(p)),m=h.length!==e.name.length,b=g.length!==p.length,_=e.options,v="",y="",w="";c=e._initialMetadata.dir!==e.dir?e.dir:_.dir,u=e._initialMetadata.date!==e.date?e.date:_.date;var x=0,k=0;c&&(x|=16),"UNIX"===i?(k=798,x|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(e.unixPermissions,c)):(k=20,x|=function(t){return 63&(t||0)}(e.dosPermissions)),a=u.getHours(),a<<=6,a|=u.getMinutes(),a<<=5,a|=u.getSeconds()/2,s=u.getFullYear()-1980,s<<=4,s|=u.getMonth()+1,s<<=5,s|=u.getDate(),m&&(y=C(1,1)+C(S(f),4)+h,v+="up"+C(y.length,2)+y),b&&(w=C(1,1)+C(this.crc32(d),4)+g,v+="uc"+C(w.length,2)+w);var A="";return A+="\n\0",A+=l||!m&&!b?"\0\0":"\0\b",A+=r.compressionMethod,A+=C(a,2),A+=C(s,2),A+=C(r.crc32,4),A+=C(r.compressedSize,4),A+=C(r.uncompressedSize,4),A+=C(f.length,2),A+=C(v.length,2),{fileRecord:j.LOCAL_FILE_HEADER+A+f+v,dirRecord:j.CENTRAL_FILE_HEADER+C(k,2)+A+C(d.length,2)+"\0\0\0\0"+C(x,4)+C(n,4)+f+v+d,compressedObject:r}}var h=function(t){"/"==t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return 0t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}function a(t){var e,r,n,i,o=t.length,a=new Array(2*o);for(e=r=0;e>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),s.applyFromCharCode(a)}r.utf8encode=function(t){return c.nodebuffer?n(t,"utf-8"):function(t){var e,r,n,i,o,a=t.length,s=0;for(i=0;i>>6:(r<65536?e[o++]=224|r>>>12:(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63),e[o++]=128|r>>>6&63),e[o++]=128|63&r);return e}(t)},r.utf8decode=function(t){if(c.nodebuffer)return s.transformTo("nodebuffer",t).toString("utf-8");for(var e=[],r=0,n=(t=s.transformTo(c.uint8array?"uint8array":"array",t)).length;r>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=new n(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,n,i=t.index;for(this.extraFields=this.extraFields||{};t.index>>6:(r<65536?e[o++]=224|r>>>12:(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63),e[o++]=128|r>>>6&63),e[o++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new c.Buf8(t.length),r=0,n=e.length;r>10&1023,s[n++]=56320|1023&i)}return l(s,n)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}},{"./common":36}],38:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){for(var i=65535&t|0,o=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,n){var i=s,o=n+r;t^=-1;for(var a=n;a>>8^i[255&(t^e[a])];return-1^t}},{}],41:[function(t,e,r){"use strict";var c,h=t("../utils/common"),u=t("./trees"),p=t("./adler32"),d=t("./crc32"),n=t("./messages"),l=0,f=4,g=0,m=-2,b=-1,_=4,i=2,v=8,y=9,o=286,a=30,s=19,w=2*o+1,x=15,k=3,A=258,E=A+k+1,S=42,j=113,T=1,C=2,O=3,L=4;function D(t,e){return t.msg=n[e],e}function q(t){return(t<<1)-(4t.avail_out&&(r=t.avail_out),0!==r&&(h.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function R(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,B(t.strm)}function z(t,e){t.pending_buf[t.pending++]=e}function N(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function P(t,e){var r,n,i=t.max_chain_length,o=t.strstart,a=t.prev_length,s=t.nice_match,c=t.strstart>t.w_size-E?t.strstart-(t.w_size-E):0,u=t.window,l=t.w_mask,f=t.prev,h=t.strstart+A,p=u[o+a-1],d=u[o+a];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(u[(r=e)+a]===d&&u[r+a-1]===p&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&oc&&0!=--i);return a<=t.lookahead?a:t.lookahead}function U(t){var e,r,n,i,o,a,s,c,u,l,f=t.w_size;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-E)){for(h.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;n=t.head[--e],t.head[e]=f<=n?n-f:0,--r;);for(e=r=f;n=t.prev[--e],t.prev[e]=f<=n?n-f:0,--r;);i+=f}if(0===t.strm.avail_in)break;if(a=t.strm,s=t.window,c=t.strstart+t.lookahead,u=i,l=void 0,l=a.avail_in,u=k)for(o=t.strstart-t.insert,t.ins_h=t.window[o],t.ins_h=(t.ins_h<=k&&(t.ins_h=(t.ins_h<=k)if(n=u._tr_tally(t,t.strstart-t.match_start,t.match_length-k),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=k){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<=k&&(t.ins_h=(t.ins_h<=k&&t.match_length<=t.prev_length){for(i=t.strstart+t.lookahead-k,n=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-k),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=i&&(t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(U(t),0===t.lookahead&&e===l)return T;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,R(t,!1),0===t.strm.avail_out))return T;if(t.strstart-t.block_start>=t.w_size-E&&(R(t,!1),0===t.strm.avail_out))return T}return t.insert=0,e===f?(R(t,!0),0===t.strm.avail_out?O:L):(t.strstart>t.block_start&&(R(t,!1),t.strm.avail_out),T)}),new H(4,4,8,4,M),new H(4,5,16,8,M),new H(4,6,32,32,M),new H(4,4,16,16,F),new H(8,16,32,32,F),new H(8,16,128,128,F),new H(8,32,128,256,F),new H(32,128,258,1024,F),new H(32,258,258,4096,F)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=Z,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?m:(t.state.gzhead=e,g):m},r.deflate=function(t,e){var r,n,i,o;if(!t||!t.state||5>8&255),z(n,n.gzhead.time>>16&255),z(n,n.gzhead.time>>24&255),z(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),z(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(z(n,255&n.gzhead.extra.length),z(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=d(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(z(n,0),z(n,0),z(n,0),z(n,0),z(n,0),z(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),z(n,3),n.status=j);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=j,N(n,a),0!==n.strstart&&(N(n,t.adler>>>16),N(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(t.adler=d(t.adler,n.pending_buf,n.pending-i,i)),B(t),i=n.pending,n.pending!==n.pending_buf_size));)z(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(t.adler=d(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=d(t.adler,n.pending_buf,n.pending-i,i)),B(t),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(t.adler=d(t.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=d(t.adler,n.pending_buf,n.pending-i,i)),B(t),i=n.pending,n.pending===n.pending_buf_size)){o=1;break}o=n.gzindexi&&(t.adler=d(t.adler,n.pending_buf,n.pending-i,i)),0===o&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&B(t),n.pending+2<=n.pending_buf_size&&(z(n,255&t.adler),z(n,t.adler>>8&255),t.adler=0,n.status=j)):n.status=j),0!==n.pending){if(B(t),0===t.avail_out)return n.last_flush=-1,g}else if(0===t.avail_in&&q(e)<=q(r)&&e!==f)return D(t,-5);if(666===n.status&&0!==t.avail_in)return D(t,-5);if(0!==t.avail_in||0!==n.lookahead||e!==l&&666!==n.status){var s=2===n.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(U(t),0===t.lookahead)){if(e===l)return T;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(R(t,!1),0===t.strm.avail_out))return T}return t.insert=0,e===f?(R(t,!0),0===t.strm.avail_out?O:L):t.last_lit&&(R(t,!1),0===t.strm.avail_out)?T:C}(n,e):3===n.strategy?function(t,e){for(var r,n,i,o,a=t.window;;){if(t.lookahead<=A){if(U(t),t.lookahead<=A&&e===l)return T;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=k&&0t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=k?(r=u._tr_tally(t,1,t.match_length-k),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(R(t,!1),0===t.strm.avail_out))return T}return t.insert=0,e===f?(R(t,!0),0===t.strm.avail_out?O:L):t.last_lit&&(R(t,!1),0===t.strm.avail_out)?T:C}(n,e):c[n.level].func(n,e);if(s!==O&&s!==L||(n.status=666),s===T||s===O)return 0===t.avail_out&&(n.last_flush=-1),g;if(s===C&&(1===e?u._tr_align(n):5!==e&&(u._tr_stored_block(n,0,0,!1),3===e&&(I(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),B(t),0===t.avail_out))return n.last_flush=-1,g}return e!==f?g:n.wrap<=0?1:(2===n.wrap?(z(n,255&t.adler),z(n,t.adler>>8&255),z(n,t.adler>>16&255),z(n,t.adler>>24&255),z(n,255&t.total_in),z(n,t.total_in>>8&255),z(n,t.total_in>>16&255),z(n,t.total_in>>24&255)):(N(n,t.adler>>>16),N(n,65535&t.adler)),B(t),0=r.w_size&&(0===o&&(I(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new h.Buf8(r.w_size),h.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,s=t.next_in,c=t.input,t.avail_in=l,t.next_in=0,t.input=e,U(r);r.lookahead>=k;){for(n=r.strstart,i=r.lookahead-(k-1);r.ins_h=(r.ins_h<>>=y=v>>>24,d-=y,0===(y=v>>>16&255))S[o++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=g[(65535&v)+(p&(1<>>=y,d-=y),d<15&&(p+=E[n++]<>>=y=v>>>24,d-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=m[(65535&v)+(p&(1<>>=y,d-=y,(y=o-a)>3,p&=(1<<(d-=w<<3))-1,t.next_in=n,t.next_out=o,t.avail_in=n>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function o(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new C.Buf16(320),this.work=new C.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=N,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new C.Buf32(n),e.distcode=e.distdyn=new C.Buf32(i),e.sane=1,e.back=-1,R):z}function s(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):z}function c(t,e){var r,n;return t&&t.state?(n=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15=o.wsize?(C.arraySet(o.window,e,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(n<(i=o.wsize-o.wnext)&&(i=n),C.arraySet(o.window,e,r-n,i,o.wnext),(n-=i)?(C.arraySet(o.window,e,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,r.check=L(r.check,j,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,x=8+(15&(u>>>=4)),0===r.wbits)r.wbits=x;else if(x>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(j[0]=255&u,j[1]=u>>>8&255,r.check=L(r.check,j,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===s)break t;s--,u+=n[o++]<>>8&255,j[2]=u>>>16&255,j[3]=u>>>24&255,r.check=L(r.check,j,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===s)break t;s--,u+=n[o++]<>8),512&r.flags&&(j[0]=255&u,j[1]=u>>>8&255,r.check=L(r.check,j,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,r.check=L(r.check,j,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(s<(p=r.length)&&(p=s),p&&(r.head&&(x=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),C.arraySet(r.head.extra,n,o,p,x)),512&r.flags&&(r.check=L(r.check,n,p,o)),s-=p,o+=p,r.length-=p),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===s)break t;for(p=0;x=n[o+p++],r.head&&x&&r.length<65536&&(r.head.name+=String.fromCharCode(x)),x&&p>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===s)break t;s--,u+=n[o++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===s)break t;s--,u+=n[o++]<>>=1)){case 0:r.mode=14;break;case 1:if(U(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===s)break t;s--,u+=n[o++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(p=r.length){if(s>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[T[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,A={bits:r.lenbits},k=q(0,r.lens,0,19,r.lencode,0,r.work,A),r.lenbits=A.bits,k){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,_=65535&S,!((m=S>>>24)<=l);){if(0===s)break t;s--,u+=n[o++]<>>=m,l-=m,r.lens[r.have++]=_;else{if(16===_){for(E=m+2;l>>=m,l-=m,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}x=r.lens[r.have-1],p=3+(3&u),u>>>=2,l-=2}else if(17===_){for(E=m+3;l>>=m)),u>>>=3,l-=3}else{for(E=m+7;l>>=m)),u>>>=7,l-=7}if(r.have+p>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;p--;)r.lens[r.have++]=x}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,A={bits:r.lenbits},k=q(I,r.lens,0,r.nlen,r.lencode,0,r.work,A),r.lenbits=A.bits,k){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,A={bits:r.distbits},k=q(B,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,A),r.distbits=A.bits,k){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=s&&258<=c){t.next_out=a,t.avail_out=c,t.next_in=o,t.avail_in=s,r.hold=u,r.bits=l,D(t,h),a=t.next_out,i=t.output,c=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;b=(S=r.lencode[u&(1<>>16&255,_=65535&S,!((m=S>>>24)<=l);){if(0===s)break t;s--,u+=n[o++]<>v)])>>>16&255,_=65535&S,!(v+(m=S>>>24)<=l);){if(0===s)break t;s--,u+=n[o++]<>>=v,l-=v,r.back+=v}if(u>>>=m,l-=m,r.back+=m,r.length=_,0===b){r.mode=26;break}if(32&b){r.back=-1,r.mode=12;break}if(64&b){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&b,r.mode=22;case 22:if(r.extra){for(E=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;b=(S=r.distcode[u&(1<>>16&255,_=65535&S,!((m=S>>>24)<=l);){if(0===s)break t;s--,u+=n[o++]<>v)])>>>16&255,_=65535&S,!(v+(m=S>>>24)<=l);){if(0===s)break t;s--,u+=n[o++]<>>=v,l-=v,r.back+=v}if(u>>>=m,l-=m,r.back+=m,64&b){t.msg="invalid distance code",r.mode=30;break}r.offset=_,r.extra=15&b,r.mode=24;case 24:if(r.extra){for(E=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===c)break t;if(p=h-c,r.offset>p){if((p=r.offset-p)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}d=p>r.wnext?(p-=r.wnext,r.wsize-p):r.wnext-p,p>r.length&&(p=r.length),g=r.window}else g=i,d=a-r.offset,p=r.length;for(cp?(g=D[q+a[v]],T[C+a[v]]):(g=96,0),c=1<<_-A,y=u=1<>A)+(u-=c)]=d<<24|g<<16|m|0,0!==u;);for(c=1<<_-1;j&c;)c>>=1;if(0!==c?(j&=c-1,j+=c):j=0,v++,0==--O[_]){if(_===w)break;_=e[r+a[v]]}if(x<_&&(j&f)!==l){for(0===A&&(A=x),h+=y,E=1<<(k=_-A);k+A>>7)]}function z(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function N(t,e,r){t.bi_valid>p-r?(t.bi_buf|=e<>p-t.bi_valid,t.bi_valid+=r-p):(t.bi_buf|=e<>>=1,r<<=1,0<--e;);return r>>>1}function M(t,e,r){var n,i,o=new Array(b+1),a=0;for(n=1;n<=b;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=U(o[s]++,s))}}function F(t){var e;for(e=0;e>1;1<=r;r--)G(t,o,r);for(i=c;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,o,1),n=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=n,o[2*i]=o[2*r]+o[2*n],t.depth[i]=(t.depth[r]>=t.depth[n]?t.depth[r]:t.depth[n])+1,o[2*r+1]=o[2*n+1]=i,t.heap[1]=i++,G(t,o,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,n,i,o,a,s,c=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,h=e.stat_desc.extra_bits,p=e.stat_desc.extra_base,d=e.stat_desc.max_length,g=0;for(o=0;o<=b;o++)t.bl_count[o]=0;for(c[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r>=7;n>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return s;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return c;for(e=32;e>>3,(o=t.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==e?J(t,e,r,n):4===t.strategy||o===i?(N(t,2+(n?1:0),3),Z(t,E,S)):(N(t,4+(n?1:0),3),function(t,e,r,n){var i;for(N(t,e-257,5),N(t,r-1,5),N(t,n-4,4),i=0;i>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(T[r]+u+1)]++,t.dyn_dtree[2*R(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){N(t,2,3),P(t,g,E),function(t){16===t.bi_valid?(z(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":36}],48:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],49:[function(t,e,r){"use strict";var n=t("./lib/cheerio"),i=t("./lib/inline")(function(t,e){return n(t,{xmlMode:e&&e.xmlMode},o,[e])}),o=function(t,e){return i.juiceDocument(t,e)};i.inlineContent=function(t,e,r){return n(t,{xmlMode:r&&r.xmlMode},i.inlineDocument,[e,r])},e.exports=i},{"./lib/cheerio":50,"./lib/inline":51}],50:[function(t,c,e){"use strict";var u=t("cheerio"),l=t("./utils");c.exports=function(t,e,r,n){var i=function(){var i=[];return{encodeEntities:function(r){var n=c.exports.codeBlocks;return Object.keys(n).forEach(function(t){var e=new RegExp(n[t].start+"([\\S\\s]*?)"+n[t].end,"g");r=r.replace(e,function(t,e){return i.push(t),"JUICE_CODE_BLOCK_"+(i.length-1)+"_"})}),r},decodeEntities:function(t){for(var e=0;e"},HBS:{start:"{{",end:"}}"}}},{"./utils":54,cheerio:55}],51:[function(t,e,r){"use strict";var v=t("./utils");e.exports=function(b){function n(p,t,d){console.log(p,t,d),d=d||{};var e=v.parseCSS(t);console.log(e);var g=[],m="style";if(d.styleAttributeName&&(m=d.styleAttributeName),e.forEach(function(t){for(var e,r=t[0],i=t[1],o=new v.Selector(r),n=o.parsed(),a=function(t){if(0===t.length)return;var e=t[t.length-1].pseudos;if(!e)return;for(var r=0;r").get(0)).pseudoElementType=a,(e.pseudoElementParent=l)[t]=e),l=e}if(!l.styleProps){if(l.styleProps={},p(l).attr(m)){var r="* { "+p(l).attr(m)+" } ";n(v.parseCSS(r)[0][1],new v.Selector("")}}function i(t,e){if(t.name){var r=t.name.toUpperCase();if(-1e[n]?1:-1;return t.length-e.length},r.compare=function(t,e){return 1==r.compareFunc(t,e)?t:e},r.extend=function(t,e){for(var r in e)n.call(e,r)&&(t[r]=e[r]);return t},r.getDefaultOptions=function(t){var e=r.extend({extraCss:"",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,preserveKeyFrames:!0,preservePseudos:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:""},t);return e.webResources=e.webResources||{},e}},{"./property":52,"./selector":53,mensch:158}],55:[function(t,e,r){(e.exports=t("./lib/cheerio")).version=t("./package.json").version},{"./lib/cheerio":61,"./package.json":157}],56:[function(t,e,l){function u(t,e){if(t&&h(t))return t.attribs||(t.attribs={}),e?d.call(t.attribs,e)?i.test(e)?e:t.attribs[e]:"option"===t.name&&"value"===e?r.text(t.children):"input"!==t.name||"radio"!==t.attribs.type&&"checkbox"!==t.attribs.type||"value"!==e?void 0:"on":t.attribs}function f(t,e,r){null===r?w(t,e):t.attribs[e]=r+""}var r=t("../static"),n=t("../utils"),h=n.isTag,p=n.domEach,d=Object.prototype.hasOwnProperty,g=n.camelCase,m=n.cssCase,b=/\s+/,_="data-",a={forEach:t("lodash.foreach"),extend:t("lodash.assignin"),some:t("lodash.some")},v={null:null,true:!0,false:!1},i=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/;l.attr=function(n,i){return"object"==typeof n||void 0!==i?p(this,"function"==typeof i?function(t,e){f(e,n,i.call(e,t,e.attribs[n]))}:function(t,r){h(r)&&("object"==typeof n?a.forEach(n,function(t,e){f(r,e,t)}):f(r,n,i))}):u(this[0],n)};function s(t,e){if(t&&h(t))return t.hasOwnProperty(e)?t[e]:i.test(e)?void 0!==u(t,e):u(t,e)}function c(t,e,r){t[e]=i.test(e)?!!r:r}l.prop=function(n,i){var r,o=0;if("string"==typeof n&&void 0===i){switch(n){case"style":r=this.css(),a.forEach(r,function(t,e){r[o++]=e}),r.length=o;break;case"tagName":case"nodeName":r=this[0].name.toUpperCase();break;default:r=s(this[0],n)}return r}if("object"==typeof n||void 0!==i)return p(this,"function"==typeof i?function(t,e){c(e,n,i.call(e,t,s(e,n)))}:function(t,r){h(r)&&("object"==typeof n?a.forEach(n,function(t,e){c(r,e,t)}):c(r,n,i))})};function o(t,e){var r,n,i,o,a,s,c,u=1===arguments.length;for(i=u?(r=Object.keys(t.attribs).filter(function(t){return t.slice(0,_.length)===_})).map(function(t){return g(t.slice(_.length))}):(r=[_+m(e)],[e]),s=0,c=r.length;s",e)[0];return n.type="root",i.update(r,n),n}).evaluate=function(t,e){return"string"==typeof t||r.isBuffer(t)?n.parseDOM(t,e):t},i.update=function(t,e){Array.isArray(t)||(t=[t]),e?e.children=t:e=null;for(var r=0;r)[^>]*$|#([\w\-]*)$)/;r.isHtml=function(t){if("<"===t.charAt(0)&&">"===t.charAt(t.length-1)&&3<=t.length)return!0;var e=a.exec(t);return!(!e||!e[1])}},{"./parse":62,"dom-serializer":97}],65:[function(t,e,r){"use strict";e.exports=m;var n=t("./lib/pseudos.js"),i=t("domutils"),o=i.findOne,a=i.findAll,s=i.getChildren,c=i.removeSubsets,u=t("boolbase").falseFunc,l=t("./lib/compile.js"),f=l.compileUnsafe,h=l.compileToken;function p(n){return function(t,e,r){return"function"!=typeof t&&(t=f(t,r,e)),e=Array.isArray(e)?c(e):s(e),n(t,e)}}var d=p(function(t,e){return t!==u&&e&&0!==e.length?a(t,e):[]}),g=p(function(t,e){return t!==u&&e&&0!==e.length?o(t,e):null});function m(t,e,r){return d(t,e,r)}m.compile=l,m.filters=n.filters,m.pseudos=n.pseudos,m.selectAll=d,m.selectOne=g,m.is=function(t,e,r){return("function"==typeof e?e:l(e,r))(t)},m.parse=l,m.iterate=d,m._compileUnsafe=f,m._compileToken=h},{"./lib/compile.js":67,"./lib/pseudos.js":70,boolbase:72,domutils:74}],66:[function(t,e,r){var n=t("domutils"),i=n.hasAttrib,s=n.getAttributeValue,c=t("boolbase").falseFunc,u=/[-[\]{}()*+?.,\\^$|#\s]/g,o={__proto__:null,equals:function(r,t){var n=t.name,i=t.value;return t.ignoreCase?(i=i.toLowerCase(),function(t){var e=s(t,n);return null!=e&&e.toLowerCase()===i&&r(t)}):function(t){return s(t,n)===i&&r(t)}},hyphen:function(r,t){var n=t.name,i=t.value,o=i.length;return t.ignoreCase?(i=i.toLowerCase(),function(t){var e=s(t,n);return null!=e&&(e.length===o||"-"===e.charAt(o))&&e.substr(0,o).toLowerCase()===i&&r(t)}):function(t){var e=s(t,n);return null!=e&&e.substr(0,o)===i&&(e.length===o||"-"===e.charAt(o))&&r(t)}},element:function(r,t){var n=t.name,e=t.value;if(/\s/.test(e))return c;var i="(?:^|\\s)"+(e=e.replace(u,"\\$&"))+"(?:$|\\s)",o=t.ignoreCase?"i":"",a=new RegExp(i,o);return function(t){var e=s(t,n);return null!=e&&a.test(e)&&r(t)}},exists:function(e,t){var r=t.name;return function(t){return i(t,r)&&e(t)}},start:function(r,t){var n=t.name,i=t.value,o=i.length;return 0===o?c:t.ignoreCase?(i=i.toLowerCase(),function(t){var e=s(t,n);return null!=e&&e.substr(0,o).toLowerCase()===i&&r(t)}):function(t){var e=s(t,n);return null!=e&&e.substr(0,o)===i&&r(t)}},end:function(r,t){var n=t.name,i=t.value,o=-i.length;return 0==o?c:t.ignoreCase?(i=i.toLowerCase(),function(t){var e=s(t,n);return null!=e&&e.substr(o).toLowerCase()===i&&r(t)}):function(t){var e=s(t,n);return null!=e&&e.substr(o)===i&&r(t)}},any:function(r,t){var n=t.name,i=t.value;if(""===i)return c;if(t.ignoreCase){var o=new RegExp(i.replace(u,"\\$&"),"i");return function(t){var e=s(t,n);return null!=e&&o.test(e)&&r(t)}}return function(t){var e=s(t,n);return null!=e&&0<=e.indexOf(i)&&r(t)}},not:function(r,t){var n=t.name,i=t.value;return""===i?function(t){return!!s(t,n)&&r(t)}:t.ignoreCase?(i=i.toLowerCase(),function(t){var e=s(t,n);return null!=e&&e.toLowerCase()!==i&&r(t)}):function(t){return s(t,n)!==i&&r(t)}}};e.exports={compile:function(t,e,r){if(r&&r.strict&&(e.ignoreCase||"not"===e.action))throw SyntaxError("Unsupported attribute selector");return o[e.action](t,e)},rules:o}},{boolbase:72,domutils:74}],67:[function(t,e,r){e.exports=function(t,e,r){return h(p(t,e,r))},e.exports.compileUnsafe=p,e.exports.compileToken=v;var n=t("css-what"),i=t("domutils"),a=i.isTag,s=t("./general.js"),o=t("./sort.js"),c=t("boolbase"),u=c.trueFunc,l=c.falseFunc,f=t("./procedure.json");function h(e){return function(t){return a(t)&&e(t)}}function p(t,e,r){return v(n(t,e),e,r)}function d(t){return"pseudo"===t.type&&("scope"===t.name||Array.isArray(t.data)&&t.data.some(function(t){return t.some(d)}))}var g={type:"descendant"},m={type:"pseudo",name:"scope"},b={},_=i.getParent;function v(t,e,r){(t=t.filter(function(t){return 0>=1);else if(e===i.pseudo)if(t.data)if("has"===t.name||"contains"===t.name)e=0;else if("matches"===t.name||"not"===t.name){for(var r=e=0;r":"child","<":"parent","~":"sibling","+":"adjacent"},y={__proto__:null,"#":["id","equals"],".":["class","element"]},w={__proto__:null,has:!0,not:!0,matches:!0},x={__proto__:null,contains:!0,icontains:!0},k={__proto__:null,'"':!0,"'":!0};function i(t,e,r){var n="0x"+e-65536;return n!=n||r?e:n<0?String.fromCharCode(65536+n):String.fromCharCode(n>>10|55296,1023&n|56320)}function A(t){return t.replace(n,i)}function E(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function S(t,e){if(0i.indexOf(a)?n===e?h|d:h:n===t?f|p:f)};r.uniqueSort=function(t){var e,r,n=t.length;for(t=t.slice();-1<--n;)e=t[n],-1<(r=t.indexOf(e))&&r":i.type===o.Comment?r+="\x3c!--"+i.data+"--\x3e":i.type===o.CDATA?r+="":r+=f(i,e)}return r},u=["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"];function l(t,e){"foreign"===e.xmlMode&&(t.name=s.elementNames[t.name]||t.name,t.parent&&0<=u.indexOf(t.parent.name)&&(e=Object.assign({},e,{xmlMode:!1}))),!e.xmlMode&&0<=["svg","math"].indexOf(t.name)&&(e=Object.assign({},e,{xmlMode:"foreign"}));var r="<"+t.name,n=function(t,e){if(t){var r,n="";for(var i in t)r=t[i],n&&(n+=" "),"foreign"===e.xmlMode&&(i=s.attributeNames[i]||i),n+=i,(null!==r&&""!==r||e.xmlMode)&&(n+='="'+(e.decodeEntities?a.encodeXML(r):r.replace(/\"/g,"""))+'"');return n}}(t.attribs,e);return n&&(r+=" "+n),!e.xmlMode||t.children&&0!==t.children.length?(r+=">",t.children&&(r+=c(t.children,e)),i[t.name]&&!e.xmlMode||(r+="")):r+="/>",r}function f(t,e){var r=t.data||"";return!e.decodeEntities||t.parent&&t.parent.name in n||(r=a.encodeXML(r)),r}},{"./foreignNames.json":81,domelementtype:83,entities:87}],83:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isTag=function(t){return"tag"===t.type||"script"===t.type||"style"===t.type},r.Text="text",r.Directive="directive",r.Comment="comment",r.Script="script",r.Style="style",r.Tag="tag",r.CDATA="cdata",r.Doctype="doctype"},{}],84:[function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r,"__esModule",{value:!0});var s=n(t("./maps/entities.json")),c=n(t("./maps/legacy.json")),i=n(t("./maps/xml.json")),o=n(t("./decode_codepoint"));function a(t){var e=Object.keys(t).join("|"),r=l(t),n=new RegExp("&(?:"+(e+="|#[xX][\\da-fA-F]+|#\\d+")+");","g");return function(t){return String(t).replace(n,r)}}r.decodeXML=a(i.default),r.decodeHTMLStrict=a(s.default);function u(t,e){return t>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t)}},{"./maps/decode.json":88}],86:[function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r,"__esModule",{value:!0});var i=c(n(t("./maps/xml.json")).default),o=u(i);r.encodeXML=d(i,o);var a=c(n(t("./maps/entities.json")).default),s=u(a);function c(r){return Object.keys(r).sort().reduce(function(t,e){return t[r[e]]="&"+e+";",t},{})}function u(t){var e=[],r=[];return Object.keys(t).forEach(function(t){return 1===t.length?e.push("\\"+t):r.push(t)}),r.unshift("["+e.join("")+"]"),new RegExp(r.join("|"),"g")}r.encodeHTML=d(a,s);var l=/[^\0-\x7F]/g,f=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function h(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"}function p(t,e){return"&#x"+(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)-56320+65536).toString(16).toUpperCase()+";"}function d(e,r){return function(t){return t.replace(r,function(t){return e[t]}).replace(f,p).replace(l,h)}}var g=u(i);r.escape=function(t){return t.replace(g,h).replace(f,p).replace(l,h)}},{"./maps/entities.json":89,"./maps/xml.json":91}],87:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("./decode"),i=t("./encode");r.decode=function(t,e){return(!e||e<=0?n.decodeXML:n.decodeHTML)(t)},r.decodeStrict=function(t,e){return(!e||e<=0?n.decodeXML:n.decodeHTMLStrict)(t)},r.encode=function(t,e){return(!e||e<=0?i.encodeXML:i.encodeHTML)(t)};var o=t("./encode");r.encodeXML=o.encodeXML,r.encodeHTML=o.encodeHTML,r.escape=o.escape,r.encodeHTML4=o.encodeHTML,r.encodeHTML5=o.encodeHTML;var a=t("./decode");r.decodeXML=a.decodeXML,r.decodeHTML=a.decodeHTML,r.decodeHTMLStrict=a.decodeHTMLStrict,r.decodeHTML4=a.decodeHTML,r.decodeHTML5=a.decodeHTML,r.decodeHTML4Strict=a.decodeHTMLStrict,r.decodeHTML5Strict=a.decodeHTMLStrict,r.decodeXMLStrict=a.decodeXML},{"./decode":84,"./encode":86}],88:[function(t,e,r){e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},{}],89:[function(t,e,r){e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},{}],90:[function(t,e,r){e.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},{}],91:[function(t,e,r){e.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},{}],92:[function(t,e,r){e.exports={Text:"text",Directive:"directive",Comment:"comment",Script:"script",Style:"style",Tag:"tag",CDATA:"cdata",Doctype:"doctype",isTag:function(t){return"tag"===t.type||"script"===t.type||"style"===t.type}}},{}],93:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1]-1;if(r<0&&e<=0)return o;if(-1===e)return function(t){return t<=r};if(0===e)return function(t){return t===r};if(1===e)return r<0?i:function(t){return r<=t};var n=r%e;n<0&&(n+=e);if(1":i.type===o.Comment?r+="\x3c!--"+i.data+"--\x3e":i.type===o.CDATA?r+="":r+=u(i,e)}return r};function c(t,e){"svg"===t.name&&(e={decodeEntities:e.decodeEntities,xmlMode:!0});var r="<"+t.name,n=function(t,e){if(t){var r,n="";for(var i in t)n&&(n+=" "),n+=i,(null!==(r=t[i])&&""!==r||e.xmlMode)&&(n+='="'+(e.decodeEntities?a.encodeXML(r):r)+'"');return n}}(t.attribs,e);return n&&(r+=" "+n),!e.xmlMode||t.children&&0!==t.children.length?(r+=">",t.children&&(r+=s(t.children,e)),i[t.name]&&!e.xmlMode||(r+="")):r+="/>",r}function u(t,e){var r=t.data||"";return!e.decodeEntities||t.parent&&t.parent.name in n||(r=a.encodeXML(r)),r}},{domelementtype:98,entities:99}],98:[function(t,e,r){e.exports=t(92)},{}],99:[function(t,e,r){var n=t("./lib/encode.js"),i=t("./lib/decode.js");r.decode=function(t,e){return(!e||e<=0?i.XML:i.HTML)(t)},r.decodeStrict=function(t,e){return(!e||e<=0?i.XML:i.HTMLStrict)(t)},r.encode=function(t,e){return(!e||e<=0?n.XML:n.HTML)(t)},r.encodeXML=n.XML,r.encodeHTML4=r.encodeHTML5=r.encodeHTML=n.HTML,r.decodeXML=r.decodeXMLStrict=i.XML,r.decodeHTML4=r.decodeHTML5=r.decodeHTML=i.HTML,r.decodeHTML4Strict=r.decodeHTML5Strict=r.decodeHTMLStrict=i.HTMLStrict,r.escape=n.escape},{"./lib/decode.js":100,"./lib/encode.js":102}],100:[function(t,e,r){var s=t("../maps/entities.json"),c=t("../maps/legacy.json"),n=t("../maps/xml.json"),i=t("./decode_codepoint.js"),o=u(n),a=u(s);function u(t){var e=Object.keys(t).join("|"),r=h(t),n=new RegExp("&(?:"+(e+="|#[xX][\\da-fA-F]+|#\\d+")+");","g");return function(t){return String(t).replace(n,r)}}var l=function(){for(var t=Object.keys(c).sort(f),e=Object.keys(s).sort(f),r=0,n=0;r>>10&1023|55296),t=56320|1023&t);return e+=String.fromCharCode(t)}},{"../maps/decode.json":103}],102:[function(t,e,r){var n=s(t("../maps/xml.json")),i=c(n);r.XML=p(n,i);var o=s(t("../maps/entities.json")),a=c(o);function s(r){return Object.keys(r).sort().reduce(function(t,e){return t[r[e]]="&"+e+";",t},{})}function c(t){var e=[],r=[];return Object.keys(t).forEach(function(t){1===t.length?e.push("\\"+t):r.push(t)}),r.unshift("["+e.join("")+"]"),new RegExp(r.join("|"),"g")}r.HTML=p(o,a);var u=/[^\0-\x7F]/g,l=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function f(t){return"&#x"+t.charCodeAt(0).toString(16).toUpperCase()+";"}function h(t){return"&#x"+(1024*(t.charCodeAt(0)-55296)+t.charCodeAt(1)-56320+65536).toString(16).toUpperCase()+";"}function p(e,r){function n(t){return e[t]}return function(t){return t.replace(r,n).replace(l,h).replace(u,f)}}var d=c(n);r.escape=function(t){return t.replace(d,f).replace(l,h).replace(u,f)}},{"../maps/entities.json":104,"../maps/xml.json":106}],103:[function(t,e,r){e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},{}],104:[function(t,e,r){e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},{}],105:[function(t,e,r){e.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},{}],106:[function(t,e,r){e.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},{}],107:[function(t,e,r){function n(t){this._cbs=t||{},this.events=[]}e.exports=n;var i=t("./").EVENTS;Object.keys(i).forEach(function(r){if(0===i[r])n.prototype[r="on"+r]=function(){this.events.push([r]),this._cbs[r]&&this._cbs[r]()};else if(1===i[r])n.prototype[r="on"+r]=function(t){this.events.push([r,t]),this._cbs[r]&&this._cbs[r](t)};else{if(2!==i[r])throw Error("wrong number of arguments");n.prototype[r="on"+r]=function(t,e){this.events.push([r,t,e]),this._cbs[r]&&this._cbs[r](t,e)}}}),n.prototype.onreset=function(){this.events=[],this._cbs.onreset&&this._cbs.onreset()},n.prototype.restart=function(){this._cbs.onreset&&this._cbs.onreset();for(var t=0,e=this.events.length;tthis._sectionStart&&this._cbs.ontext(this._getSection()),this._state=u,this._sectionStart=this._index):this._decodeEntities&&this._special===lt&&"&"===t&&(this._index>this._sectionStart&&this._cbs.ontext(this._getSection()),this._baseState=c,this._state=it,this._sectionStart=this._index)},mt.prototype._stateBeforeTagName=function(t){"/"===t?this._state=h:"<"===t?(this._cbs.ontext(this._getSection()),this._sectionStart=this._index):">"===t||this._special!==lt||pt(t)?this._state=c:"!"===t?(this._state=x,this._sectionStart=this._index+1):"?"===t?(this._state=A,this._sectionStart=this._index+1):(this._state=this._xmlMode||"s"!==t&&"S"!==t?l:N,this._sectionStart=this._index)},mt.prototype._stateInTagName=function(t){"/"!==t&&">"!==t&&!pt(t)||(this._emitToken("onopentagname"),this._state=g,this._index--)},mt.prototype._stateBeforeCloseingTagName=function(t){pt(t)||(">"===t?this._state=c:this._special!==lt?"s"===t||"S"===t?this._state=P:(this._state=c,this._index--):(this._state=p,this._sectionStart=this._index))},mt.prototype._stateInCloseingTagName=function(t){">"!==t&&!pt(t)||(this._emitToken("onclosetag"),this._state=d,this._index--)},mt.prototype._stateAfterCloseingTagName=function(t){">"===t&&(this._state=c,this._sectionStart=this._index+1)},mt.prototype._stateBeforeAttributeName=function(t){">"===t?(this._cbs.onopentagend(),this._state=c,this._sectionStart=this._index+1):"/"===t?this._state=f:pt(t)||(this._state=m,this._sectionStart=this._index)},mt.prototype._stateInSelfClosingTag=function(t){">"===t?(this._cbs.onselfclosingtag(),this._state=c,this._sectionStart=this._index+1):pt(t)||(this._state=g,this._index--)},mt.prototype._stateInAttributeName=function(t){"="!==t&&"/"!==t&&">"!==t&&!pt(t)||(this._cbs.onattribname(this._getSection()),this._sectionStart=-1,this._state=b,this._index--)},mt.prototype._stateAfterAttributeName=function(t){"="===t?this._state=_:"/"===t||">"===t?(this._cbs.onattribend(),this._state=g,this._index--):pt(t)||(this._cbs.onattribend(),this._state=m,this._sectionStart=this._index)},mt.prototype._stateBeforeAttributeValue=function(t){'"'===t?(this._state=v,this._sectionStart=this._index+1):"'"===t?(this._state=y,this._sectionStart=this._index+1):pt(t)||(this._state=w,this._sectionStart=this._index,this._index--)},mt.prototype._stateInAttributeValueDoubleQuotes=function(t){'"'===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=g):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=it,this._sectionStart=this._index)},mt.prototype._stateInAttributeValueSingleQuotes=function(t){"'"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=g):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=it,this._sectionStart=this._index)},mt.prototype._stateInAttributeValueNoQuotes=function(t){pt(t)||">"===t?(this._emitToken("onattribdata"),this._cbs.onattribend(),this._state=g,this._index--):this._decodeEntities&&"&"===t&&(this._emitToken("onattribdata"),this._baseState=this._state,this._state=it,this._sectionStart=this._index)},mt.prototype._stateBeforeDeclaration=function(t){this._state="["===t?C:"-"===t?E:k},mt.prototype._stateInDeclaration=function(t){">"===t&&(this._cbs.ondeclaration(this._getSection()),this._state=c,this._sectionStart=this._index+1)},mt.prototype._stateInProcessingInstruction=function(t){">"===t&&(this._cbs.onprocessinginstruction(this._getSection()),this._state=c,this._sectionStart=this._index+1)},mt.prototype._stateBeforeComment=function(t){"-"===t?(this._state=S,this._sectionStart=this._index+1):this._state=k},mt.prototype._stateInComment=function(t){"-"===t&&(this._state=j)},mt.prototype._stateAfterComment1=function(t){this._state="-"===t?T:S},mt.prototype._stateAfterComment2=function(t){">"===t?(this._cbs.oncomment(this._buffer.substring(this._sectionStart,this._index-2)),this._state=c,this._sectionStart=this._index+1):"-"!==t&&(this._state=S)},mt.prototype._stateBeforeCdata1=dt("C",O,k),mt.prototype._stateBeforeCdata2=dt("D",L,k),mt.prototype._stateBeforeCdata3=dt("A",D,k),mt.prototype._stateBeforeCdata4=dt("T",q,k),mt.prototype._stateBeforeCdata5=dt("A",I,k),mt.prototype._stateBeforeCdata6=function(t){"["===t?(this._state=B,this._sectionStart=this._index+1):(this._state=k,this._index--)},mt.prototype._stateInCdata=function(t){"]"===t&&(this._state=R)},mt.prototype._stateAfterCdata1=function(t){this._state="]"===t?z:B},mt.prototype._stateAfterCdata2=function(t){">"===t?(this._cbs.oncdata(this._buffer.substring(this._sectionStart,this._index-2)),this._state=c,this._sectionStart=this._index+1):"]"!==t&&(this._state=B)},mt.prototype._stateBeforeSpecial=function(t){"c"===t||"C"===t?this._state=U:"t"===t||"T"===t?this._state=X:(this._state=l,this._index--)},mt.prototype._stateBeforeSpecialEnd=function(t){this._special!==ft||"c"!==t&&"C"!==t?this._special!==ht||"t"!==t&&"T"!==t?this._state=c:this._state=tt:this._state=G},mt.prototype._stateBeforeScript1=gt("R",M),mt.prototype._stateBeforeScript2=gt("I",F),mt.prototype._stateBeforeScript3=gt("P",H),mt.prototype._stateBeforeScript4=gt("T",V),mt.prototype._stateBeforeScript5=function(t){"/"!==t&&">"!==t&&!pt(t)||(this._special=ft),this._state=l,this._index--},mt.prototype._stateAfterScript1=dt("R",Z,c),mt.prototype._stateAfterScript2=dt("I",Y,c),mt.prototype._stateAfterScript3=dt("P",W,c),mt.prototype._stateAfterScript4=dt("T",$,c),mt.prototype._stateAfterScript5=function(t){">"===t||pt(t)?(this._special=lt,this._state=p,this._sectionStart=this._index-6,this._index--):this._state=c},mt.prototype._stateBeforeStyle1=gt("Y",J),mt.prototype._stateBeforeStyle2=gt("L",K),mt.prototype._stateBeforeStyle3=gt("E",Q),mt.prototype._stateBeforeStyle4=function(t){"/"!==t&&">"!==t&&!pt(t)||(this._special=ht),this._state=l,this._index--},mt.prototype._stateAfterStyle1=dt("Y",et,c),mt.prototype._stateAfterStyle2=dt("L",rt,c),mt.prototype._stateAfterStyle3=dt("E",nt,c),mt.prototype._stateAfterStyle4=function(t){">"===t||pt(t)?(this._special=lt,this._state=p,this._sectionStart=this._index-5,this._index--):this._state=c},mt.prototype._stateBeforeEntity=dt("#",ot,at),mt.prototype._stateBeforeNumericEntity=dt("X",ct,st),mt.prototype._parseNamedEntityStrict=function(){if(this._sectionStart+1 (mat.io)",license:"MIT",keywords:["htmlparser","jquery","selector","scraper","parser","html"],repository:{type:"git",url:"git://github.com/cheeriojs/cheerio.git"},main:"./index.js",files:["index.js","lib"],engines:{node:">= 0.6"},dependencies:{"css-select":"~1.2.0","dom-serializer":"~0.1.0",entities:"~1.1.1",htmlparser2:"^3.9.1","lodash.assignin":"^4.0.9","lodash.bind":"^4.1.4","lodash.defaults":"^4.0.1","lodash.filter":"^4.4.0","lodash.flatten":"^4.2.0","lodash.foreach":"^4.3.0","lodash.map":"^4.4.0","lodash.merge":"^4.4.0","lodash.pick":"^4.2.1","lodash.reduce":"^4.4.0","lodash.reject":"^4.4.0","lodash.some":"^4.4.0"},devDependencies:{benchmark:"^2.1.0",coveralls:"^2.11.9","expect.js":"~0.3.1",istanbul:"^0.4.3",jsdom:"^9.2.1",jquery:"^3.0.0",jshint:"^2.9.2",mocha:"^2.5.3",xyz:"~0.5.0"},scripts:{test:"make test"},__npminstall_done:"Wed Sep 11 2019 15:12:50 GMT+0800 (GMT+08:00)",_from:"cheerio@0.22.0",_resolved:"https://registry.npm.taobao.org/cheerio/download/cheerio-0.22.0.tgz"}},{}],158:[function(t,e,r){e.exports={lex:t("./lib/lexer"),parse:t("./lib/parser"),stringify:t("./lib/stringify")}},{"./lib/lexer":160,"./lib/parser":161,"./lib/stringify":162}],159:[function(t,e,r){(function(r){e.exports=function(t){return function(t){var e=[].slice.call(arguments,1);e.unshift("["+t+"]"),r.stderr.write(e.join(" ")+"\n")}.bind(null,t)}}).call(this,t("5Gvulq"))},{"5Gvulq":7}],160:[function(t,e,r){t("./debug")("lex");e.exports=function(r){var t,e="",n=0,i=-1,o=0,a=1,s="before-selector",c=[s],u={},l=[],f=["media","keyframes",{name:"-webkit-keyframes",type:"keyframes",prefix:"-webkit-"},{name:"-moz-keyframes",type:"keyframes",prefix:"-moz-"},{name:"-ms-keyframes",type:"keyframes",prefix:"-ms-"},{name:"-o-keyframes",type:"keyframes",prefix:"-o-"},"font-face",{name:"import",state:"before-at-value"},{name:"charset",state:"before-at-value"},"supports","viewport",{name:"namespace",state:"before-at-value"},"document",{name:"-moz-document",type:"document",prefix:"-moz-"},"page"];function h(t){return t?c[c.length-1-t]:s}function p(t){return t===d(1)}function d(t){return r[i+(t||1)]}function g(){var t=c.pop();return s=c[c.length-1],t}function m(t){return s=t,c.push(s),c.length}function b(t){var e=s;return c[c.length-1]=s=t,e}function _(t){if(1==(t||1))"\n"==r[i]?(a++,n=1):n++,i++;else{var e=r.slice(i,i+t).split("\n");1+)\\s*|(\\s+)|(+|\\*)|\\#(+)|\\.(+)|\\[\\s*(+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(//,"["+w(">+~`!@$%^&={}\\;/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(//g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])"));k.prototype.toString=function(){if(!this.raw){var t,e,r="";if(r+=this.tag||"*",this.id&&(r+="#"+this.id),this.classes&&(r+="."+this.classList.join(".")),this.attributes)for(t=0;e=this.attributes[t++];)r+="["+e.name+(e.operator?e.operator+'"'+e.value+'"':"")+"]";if(this.pseudos)for(t=0;e=this.pseudos[t++];)r+=":"+e.name,e.value&&(r+="("+e.value+")");this.raw=r}return this.raw};function A(){this.length=0}A.prototype.toString=function(){if(!this.raw){for(var t,e="",r=0;t=this[r++];)1!==r&&(e+=" ")," "!==t.combinator&&(e+=t.combinator+" "),e+=t;this.raw=e}return this.raw};function a(t,e,r,n,i,o,a,s,c,u,l,f,h,p,d,g){var m,b;if((e||!this.length)&&(m=this[this.length++]=new A,e))return"";if(m=m||this[this.length-1],!r&&!n&&m.length||(b=m[m.length++]=new k(r)),b=b||m[m.length-1],i)b.tag=x(i);else if(o)b.id=x(o);else if(a){var _=x(a),v=b.classes||(b.classes={});if(!v[_]){v[_]=w(a);var y=b.classList||(b.classList=[]);y.push(_),y.sort()}}else h?(g=g||d,(b.pseudos||(b.pseudos=[])).push({type:1==f.length?"class":"element",name:x(h),escapedName:w(h),value:g?x(g):null,escapedValue:g?w(g):null})):s&&(l=l?w(l):null,(b.attributes||(b.attributes=[])).push({operator:c,name:x(s),escapedName:w(s),value:l?x(l):null,escapedValue:l?w(l):null}));return""}function s(t){this.length=0;for(var e,r=this,n=t;t;){if((e=t.replace(o,function(){return a.apply(r,arguments)}))===t)throw new Error(n+" is an invalid expression");t=e}}s.prototype.toString=function(){if(!this.raw){for(var t,e=[],r=0;t=this[r++];)e.push(t);this.raw=e.join(", ")}return this.raw};var c={};e.exports=function(t){return null==t?null:(t=(""+t).replace(/^\s+|\s+$/g,""),c[t]||(c[t]=new s(t)))}},{}],164:[function(t,e,r){var n=t("lodash._root"),i=1/0,o="[object Symbol]",a=/[&<>"'`]/g,s=RegExp(a.source),c={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};function u(t){return c[t]}var l=Object.prototype.toString,f=n.Symbol,h=f?f.prototype:void 0,p=f?h.toString:void 0;function d(t){if("string"==typeof t)return t;if(null==t)return"";if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&l.call(t)==o}(t))return f?p.call(t):"";var e=t+"";return"0"==e&&1/t==-i?"-0":e}e.exports=function(t){return(t=d(t))&&s.test(t)?t.replace(a,u):t}},{"lodash._root":165}],165:[function(t,l,f){(function(t){var e={function:!0,object:!0},r=e[typeof f]&&f&&!f.nodeType?f:void 0,n=e[typeof l]&&l&&!l.nodeType?l:void 0,i=u(r&&n&&"object"==typeof t&&t),o=u(e[typeof self]&&self),a=u(e[typeof window]&&window),s=u(e[typeof this]&&this),c=i||a!==(s&&s.window)&&a||o||s||Function("return this")();function u(t){return t&&t.Object===Object?t:null}l.exports=c}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],166:[function(t,e,r){var p=t("lodash._arraycopy"),n=t("lodash._arrayeach"),i=t("lodash._createassigner"),d=t("lodash.isarguments"),g=t("lodash.isarray"),m=t("lodash.isplainobject"),b=t("lodash.istypedarray"),_=t("lodash.keys"),v=t("lodash.toplainobject");var o=9007199254740991;var a,s=(a="length",function(t){return null==t?void 0:t[a]});function y(t){return null!=t&&function(t){return"number"==typeof t&&-1\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n';return __p}},{"lodash.escape":164}],194:[function(_dereq_,module,exports){var _={escape:_dereq_("lodash.escape")};module.exports=function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='MIME-Version: 1.0\r\nContent-Type: multipart/related;\r\n type="text/html";\r\n boundary="----=mhtDocumentPart"\r\n\r\n\r\n------=mhtDocumentPart\r\nContent-Type: text/html;\r\n charset="utf-8"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Location: file:///C:/fake/document.html\r\n\r\n'+(null==(__t=htmlSource)?"":__t)+"\r\n\r\n"+(null==(__t=contentParts)?"":__t)+"\r\n\r\n------=mhtDocumentPart--\r\n";return __p}},{"lodash.escape":164}],195:[function(_dereq_,module,exports){var _={escape:_dereq_("lodash.escape")};module.exports=function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="------=mhtDocumentPart\r\nContent-Type: "+(null==(__t=contentType)?"":__t)+"\r\nContent-Transfer-Encoding: "+(null==(__t=contentEncoding)?"":__t)+"\r\nContent-Location: "+(null==(__t=contentLocation)?"":__t)+"\r\n\r\n"+(null==(__t=encodedContent)?"":__t)+"\r\n";return __p}},{"lodash.escape":164}],196:[function(t,e,r){var n,i,a;i=t("./templates/mht_document"),a=t("./templates/mht_part"),n=t("juice"),e.exports={getMHTdocument:function(t){var e,r;return t=(r=this._prepareImageParts(t)).htmlSource,e=r.imageContentParts,t=n(t,{preserveMediaQueries:!0,preserveFontFaces:!0}).replace(/\=/g,"=3D"),i({htmlSource:t,contentParts:e.join("\n")})},_prepareImageParts:function(t){var o,e,r;if(o=[],r=/"data:(\w+\/\w+);(\w+),(\S+)"/g,e=function(t,e,r,n){var i;return i="file:///C:/fake/image"+o.length+"."+e.split("/")[1],o.push(a({contentType:e,contentEncoding:r,contentLocation:i,encodedContent:n})),'"'+i+'"'},"string"==typeof t)return/N-*#l|V1 ziDY_zlHs$HxCS;fJ_TSg;p1@~xB;~IeiWzzP!^?pO7BY#b_M8*2G5(Kn#-x0LmMw?h>Hx8%OaZ1Rpb9Bd&B@Y%|7Jn5uGLCI zeRtE022d`53DIN7=Pn_74~TE;jRoL~k#;VP_r*vH>11Sj z@4G4QQ|(aEQj@bA6Vxcjv!PC?b_lcqQ3Js0fKH$VQ3{}|1gFwZy~V+h4kYt8a!wpz z2v((73aEIvbivzDLUk(YSW30!2GzTG{0aVgF;Q^+>UxK1$J$tH=QcLJ0|;U-Tu_FN v)%-&MYSp9#rWw6boV#GraiwoTW5fLbE5xKB!lyiN00000NkvXXu0mjfjv3)9 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/plugin.js new file mode 100644 index 0000000..1ffe472 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/plugin.js @@ -0,0 +1,135 @@ +CKEDITOR.plugins.add('exportword', + { + init: function (editor) { + //plugin code goes here + var pluginName = 'exportword'; + editor.addCommand(pluginName, new CKEDITOR.exportwordCommand()); + editor.ui.addButton('exportword', + { + label: '导出Word', + command: 'exportword', + icon: CKEDITOR.plugins.getPath('exportword') + 'images/export_word.png' + }); + //document.write(""); + //document.write(""); + //document.write(""); + myImport("/Contents/b_ckeditor/plugins/exportword/FileSaver.js"); + myImport("/Contents/b_ckeditor/plugins/exportword/html-doc.js"); + //myImport("/Contents/b_ckeditor/plugins/exportword/export-word.min.js"); + myImport("/Contents/b_ckeditor/plugins/exportword/sample.js"); + } + }); + +CKEDITOR.exportwordCommand = function () { }; +CKEDITOR.exportwordCommand.prototype = +{ + async: true, + exec: function (editor) { + ExportWord(editor); + } +}; + +//if (window.HTMLElement) { +// HTMLElement.prototype.__defineSetter__("outerHTML", function (sHTML) { +// var r = this.ownerDocument.createRange(); +// r.setStartBefore(this); +// var df = r.createContextualFragment(sHTML); +// this.parentNode.replaceChild(df, this); +// return sHTML; +// }); + +// HTMLElement.prototype.__defineGetter__("outerHTML", function () { +// var attr; +// var attrs = this.attributes; +// var str = "<" + this.tagName.toLowerCase(); +// for (var i = 0; i < attrs.length; i++) { +// attr = attrs[i]; +// if (attr.specified) +// str += " " + attr.name + '="' + attr.value + '"'; +// } +// if (!this.canHaveChildren) +// return str + ">"; +// return str + ">" + this.innerHTML + ""; +// }); + +// HTMLElement.prototype.__defineGetter__("canHaveChildren", function () { +// switch (this.tagName.toLowerCase()) { +// case "area": +// case "base": +// case "basefont": +// case "col": +// case "frame": +// case "hr": +// case "img": +// case "br": +// case "input": +// case "isindex": +// case "link": +// case "meta": +// case "param": +// return false; +// } +// return true; + +// }); + +// HTMLElement.prototype.__defineGetter__("innerText", +// function () { +// var anyString = ""; +// var childS = this.childNodes; + +// for (var i = 0; i < childS.length; i++) { +// if (childS[i].nodeType == 1) { +// anyString += childS[i].tagName == "BR" ? '\n' : childS[i].innerText; +// } else if (childS[i].nodeType == 3) { +// anyString += childS[i].nodeValue; +// } +// } + +// return anyString; +// } +// ); + +// HTMLElement.prototype.__defineSetter__("innerText", +// function (sText) { +// this.textContent = sText; +// } +// ); +//} +var myImport = function (src) { + var script = document.createElement("script"); + script.setAttribute("type", "text/javascript"); + script.setAttribute("src", src); // 引用文件的路径 + document.getElementsByTagName('head')[0].appendChild(script); // 引用文件 +} + +function ExportWord(editor) { + var myeditor = editor; + if (myeditor.mode == "wysiwyg") { + var editorhtml = myeditor.getData(); + //exportFile(editorhtml) + exportFileHtml({ html: editorhtml, exportFileName: '导出.doc' }) + // , { + // fileName: '测试文件',//导出文件名 + // //toImg: ['.need-to-img', '.bg-danger'],//将指定部分导成图片 + // success() { + // //导出成功之后调用 + // alert("导出成功") + // } + //}) + } else { + alert('必须在设计模式下操作!'); + } +} + +String.prototype.trim = function () { + return this.replace(/(^[\s ]*)|([\s ]*$)/g, ""); +}; + +String.prototype.leftTrim = function () { + return this.replace(/(^\s*)/g, ""); +}; + +String.prototype.rightTrim = function () { + return this.replace(/(\s*$)/g, ""); +}; \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/sample.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/sample.js new file mode 100644 index 0000000..643d8c8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/exportword/sample.js @@ -0,0 +1,83 @@ +/* +@params + exportElement Selects the element(By Id) and all elements inside it + exportFileName +*/ + +function exportFileHtml({ html, exportFileName, StringStyle, fileParams }) { + let Id = '#temporaryExportElement' + $("

").html(html).appendTo(document.body) + convertImagesToBase64() + var content = `` + $(Id).html().replace(/\s{2,}/g, '') + ""; + const { + margin, + orientation + } = fileParams || {} + console.log(content) + var converted = htmlDocx.asBlob(content, { + orientation: orientation, + margins: margin + }); + $('#temporaryExportElement').remove() + console.log(exportFileName) + + saveAs(converted, `${exportFileName}`); +} + + +function exportFile({exportElement, exportFileName, StringStyle,fileParams}) { + let Id = '#temporaryExportElement' + $("
").html($(exportElement).html()).appendTo(document.body) + convertEchartToImage(exportElement,Id) + convertImagesToBase64() + var content = `` + $(Id).html().replace(/\s{2,}/g, '') + ""; + const { + margin, + orientation + } = fileParams||{} + console.log(content) + var converted = htmlDocx.asBlob(content, { + orientation: orientation, + margins: margin + }); + $('#temporaryExportElement').remove() + console.log(exportFileName) + + saveAs(converted, `${exportFileName}`); +} + +function convertImagesToBase64() { + var regularImages = document.querySelectorAll("img"); + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + [].forEach.call(regularImages, function (imgElement) { + var imgElement = new Image(); + //设置图片跨域访问 + imgElement.setAttribute('crossOrigin', 'anonymous'); + ctx.clearRect(0, 0, canvas.width, canvas.height); + canvas.width = imgElement.width; + canvas.height = imgElement.height; + ctx.drawImage(imgElement, 0, 0); + // by default toDataURL() produces png image, but you can also export to jpeg + // checkout function's documentation for more details + var dataURL = canvas.toDataURL(); + imgElement.setAttribute('src', dataURL); + }) + canvas.remove(); +} + +function convertEchartToImage(exportElement,Id) { + var canva = $(exportElement).find('canvas'); + var emptyChart = $(Id).find('canvas'); + for (var i = 0; i < canva.length; i++) { + // var uri = canva[i].toDataURL("image/png/jpg"); + let targetParent = $(emptyChart[i]).parent().parent() + let uri = canva[i].toDataURL('image/jpg'); + $(targetParent).empty() + $('').attr({ + "src": uri, + width: '100%', + height: $(canva[i]).height() + }).appendTo(targetParent) + } +} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/find/dialogs/find.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/find/dialogs/find.js new file mode 100644 index 0000000..eb0593f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/find/dialogs/find.js @@ -0,0 +1,25 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){function C(c){return c.type==CKEDITOR.NODE_TEXT&&0b.length){var d=this._.walker.textNode;if(d)a.setStartAfter(d);else return null}else d=b[0],b=b[b.length-1],a.setStart(d.textNode,d.offset),a.setEnd(b.textNode,b.offset+1);return a},updateFromDomRange:function(a){var b=new n(a);this._.cursors=[];do a=b.next(),a.character&&this._.cursors.push(a); +while(a.character);this._.rangeLength=this._.cursors.length},setMatched:function(){this._.isMatched=!0},clearMatched:function(){this._.isMatched=!1},isMatched:function(){return this._.isMatched},highlight:function(){if(!(1>this._.cursors.length)){this._.highlightRange&&this.removeHighlight();var a=this.toDomRange(),b=a.createBookmark();x.applyToRange(a,c);a.moveToBookmark(b);this._.highlightRange=a;b=a.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b.scrollIntoView();this.updateFromDomRange(a)}}, +removeHighlight:function(){if(this._.highlightRange){var a=this._.highlightRange.createBookmark();x.removeFromRange(this._.highlightRange,c);this._.highlightRange.moveToBookmark(a);this.updateFromDomRange(this._.highlightRange);this._.highlightRange=null}},isReadOnly:function(){return this._.highlightRange?this._.highlightRange.startContainer.isReadOnly():0},moveBack:function(){var a=this._.walker.back(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.unshift(a);b.length>this._.rangeLength&& +b.pop();return a},moveNext:function(){var a=this._.walker.next(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.push(a);b.length>this._.rangeLength&&b.shift();return a},getEndCharacter:function(){var a=this._.cursors;return 1>a.length?null:a[a.length-1].character},getNextCharacterRange:function(a){var b,d;d=this._.cursors;d=(b=d[d.length-1])&&b.textNode?new n(q(b)):this._.walker;return new u(d,a)},getCursors:function(){return this._.cursors}};var z=function(a,b){var d=[-1];b&&(a=a.toLowerCase()); +for(var c=0;c=b||8192<=b&&8202>=b||D.test(a)},e={searchRange:null,matchRange:null,find:function(a,b,d,f,e,E){this.matchRange?(this.matchRange.removeHighlight(),this.matchRange=this.matchRange.getNextCharacterRange(a.length)):this.matchRange=new u(new n(this.searchRange),a.length);for(var k=new z(a,!b),l=0,m="%";null!==m;){for(this.matchRange.moveNext();m=this.matchRange.getEndCharacter();){l=k.feedCharacter(m);if(2==l)break;this.matchRange.moveNext().hitMatchBoundary&& +k.reset()}if(2==l){if(d){var h=this.matchRange.getCursors(),p=h[h.length-1],h=h[0],g=c.createRange();g.setStartAt(c.editable(),CKEDITOR.POSITION_AFTER_START);g.setEnd(h.textNode,h.offset);h=g;p=q(p);h.trim();p.trim();h=new n(h,!0);p=new n(p,!0);if(!A(h.back().character)||!A(p.next().character))continue}this.matchRange.setMatched();!1!==e&&this.matchRange.highlight();return!0}}this.matchRange.clearMatched();this.matchRange.removeHighlight();return f&&!E?(this.searchRange=t(1),this.matchRange=null, +arguments.callee.apply(this,Array.prototype.slice.call(arguments).concat([!0]))):!1},replaceCounter:0,replace:function(a,b,d,f,e,g,k){r=1;a=0;a=this.hasMatchOptionsChanged(b,f,e);if(!this.matchRange||!this.matchRange.isMatched()||this.matchRange._.isReplaced||this.matchRange.isReadOnly()||a)a&&this.matchRange&&(this.matchRange.clearMatched(),this.matchRange.removeHighlight(),this.matchRange=null),a=this.find(b,f,e,g,!k);else{this.matchRange.removeHighlight();b=this.matchRange.toDomRange();d=c.document.createText(d); +if(!k){var l=c.getSelection();l.selectRanges([b]);c.fire("saveSnapshot")}b.deleteContents();b.insertNode(d);k||(l.selectRanges([b]),c.fire("saveSnapshot"));this.matchRange.updateFromDomRange(b);k||this.matchRange.highlight();this.matchRange._.isReplaced=!0;this.replaceCounter++;a=1}r=0;return a},matchOptions:null,hasMatchOptionsChanged:function(a,b,c){a=[a,b,c].join(".");b=this.matchOptions&&this.matchOptions!=a;this.matchOptions=a;return b}},f=c.lang.find;return{title:f.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE, +minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton(c,{label:c.lang.common.close})],contents:[{id:"find",label:f.find,title:f.find,accessKey:"",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindFind",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFind",align:"left",style:"width:100%",label:f.find,onClick:function(){var a=this.getDialog();e.find(a.getValueOf("find","txtFindFind"),a.getValueOf("find","txtFindCaseChk"), +a.getValueOf("find","txtFindWordChk"),a.getValueOf("find","txtFindCyclic"))||alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),style:"margin-top:29px",children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtFindCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtFindWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtFindCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]},{id:"replace",label:f.replace,accessKey:"M", +elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindReplace",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFindReplace",align:"left",style:"width:100%",label:f.replace,onClick:function(){var a=this.getDialog();e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),a.getValueOf("replace","txtReplaceCyclic"))|| +alert(f.notFoundMsg)}}]},{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtReplace",label:f.replaceWith,isChanged:!1,labelLayout:"horizontal",accessKey:"R"},{type:"button",id:"btnReplaceAll",align:"left",style:"width:100%",label:f.replaceAll,isChanged:!1,onClick:function(){var a=this.getDialog();e.replaceCounter=0;e.searchRange=t(1);e.matchRange&&(e.matchRange.removeHighlight(),e.matchRange=null);for(c.fire("saveSnapshot");e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace", +"txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),!1,!0););e.replaceCounter?(alert(f.replaceSuccessMsg.replace(/%1/,e.replaceCounter)),c.fire("saveSnapshot")):alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtReplaceCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtReplaceWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox", +id:"txtReplaceCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]}],onLoad:function(){var a=this,b,c=0;this.on("hide",function(){c=0});this.on("show",function(){c=1});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(f){return function(e){f.call(a,e);var g=a._.tabs[e],k;k="find"===e?"txtFindWordChk":"txtReplaceWordChk";b=a.getContentElement(e,"find"===e?"txtFindFind":"txtFindReplace");a.getContentElement(e,k);g.initialized||(CKEDITOR.document.getById(b._.inputId),g.initialized= +!0);if(c){var l;e="find"===e?1:0;var g=1-e,m,h=v.length;for(m=0;m a.getChildCount() ? p.appendTo(a) : p.insertBefore(a.getFirst()) + } + break; + case 4: + if (!b) continue; + m = this.getValue(); + //f || e && m === g["default"] ? b.removeAttribute(g.name) : b.setAttribute(g.name, m) + //if (g.name === "isVideo") { debugger; CustomIsVideo = m; } + if (f || e && m === g["default"]) { + b.removeAttribute(g.name); + } else { + if (g.name === "src") { + // if (a) { + // paramMap = {}; + // var paramList = a.getElementsByTag('param', 'cke'); + // for (var i = 0, length = paramList.count(); i < length; i++) + // paramMap[paramList.getItem(i).getAttribute('name')] = paramList.getItem(i); + // } + //debugger; alert(this.domId); + var $isVideo = $("#" + this.domId).closest(".cke_dialog_contents_body").find("[role='tabpanel']:eq(2) input[type='checkbox']:eq(0)"); + //if (paramMap["isVideo"] || $isVideo.prop("checked")) { + if ($isVideo.prop("checked")) { + m = "/GB/Affix2/Article/vcastr22.swf?vcastr_file=" + m; + } + } + b.setAttribute(g.name, m) + } + } + } + } + for (var n = { + isVideo: [{ + type: 2, + name: "isVideo" + }, { + type: 4, + name: "isVideo" + }], + id: [{ + type: 1, + name: "id" + }], + classid: [{ + type: 1, + name: "classid" + }], + codebase: [{ + type: 1, + name: "codebase" + }], + pluginspage: [{ + type: 4, + name: "pluginspage" + }], + src: [{ + type: 2, + name: "movie" + }, { + type: 4, + name: "src" + }, { + type: 1, + name: "data" + }], + name: [{ + type: 4, + name: "name" + }], + align: [{ + type: 1, + name: "align" + }], + "class": [{ + type: 1, + name: "class" + }, { + type: 4, + name: "class" + }], + width: [{ + type: 1, + name: "width" + }, { + type: 4, + name: "width" + }], + height: [{ + type: 1, + name: "height" + }, { + type: 4, + name: "height" + }], + hSpace: [{ + type: 1, + name: "hSpace" + }, { + type: 4, + name: "hSpace" + }], + vSpace: [{ + type: 1, + name: "vSpace" + }, { + type: 4, + name: "vSpace" + }], + style: [{ + type: 1, + name: "style" + }, { + type: 4, + name: "style" + }], + type: [{ + type: 4, + name: "type" + }] + }, k = "play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "), l = 0; l < k.length; l++) n[k[l]] = [{ + type: 2, + name: k[l] + }, { + type: 4, + name: k[l] + }]; + k = ["play", "loop", "menu"]; + for (l = 0; l < k.length; l++) n[k[l]][0]["default"] = n[k[l]][1]["default"] = !0; + CKEDITOR.dialog.add("flash", function (a) { + var l = !a.config.flashEmbedTagOnly, + k = a.config.flashAddEmbedTag || a.config.flashEmbedTagOnly, + h, f = "\x3cdiv\x3e" + CKEDITOR.tools.htmlEncode(a.lang.common.preview) + + '\x3cbr\x3e\x3cdiv id\x3d"cke_FlashPreviewLoader' + CKEDITOR.tools.getNextNumber() + '" style\x3d"display:none"\x3e\x3cdiv class\x3d"loading"\x3e\x26nbsp;\x3c/div\x3e\x3c/div\x3e\x3cdiv id\x3d"cke_FlashPreviewBox' + CKEDITOR.tools.getNextNumber() + '" class\x3d"FlashPreviewBox"\x3e\x3c/div\x3e\x3c/div\x3e'; + return { + title: a.lang.flash.title, + minWidth: 420, + minHeight: 310, + onShow: function () { + this.fakeImage = this.objectNode = this.embedNode = null; + h = new CKEDITOR.dom.element("embed", a.document); + var e = this.getSelectedElement(); + if (e && e.data("cke-real-element-type") && "flash" == e.data("cke-real-element-type")) { + this.fakeImage = e; + var d = a.restoreRealElement(e), + g = null, + b = null, + c = {}; + if ("cke:object" == d.getName()) { + g = d; + d = g.getElementsByTag("embed", "cke"); + 0 < d.count() && (b = d.getItem(0)); + for (var d = g.getElementsByTag("param", "cke"), f = 0, l = d.count(); f < l; f++) { + var k = d.getItem(f), + n = k.getAttribute("name"), + k = k.getAttribute("value"); + c[n] = k + } + } else "cke:embed" == d.getName() && (b = d); + this.objectNode = g; + this.embedNode = b; + this.setupContent(g, b, c, e) + } + }, + onOk: function () { + var e = + null, + d = null, + b = null; + this.fakeImage ? (e = this.objectNode, d = this.embedNode) : (l && (e = CKEDITOR.dom.element.createFromHtml("\x3ccke:object\x3e\x3c/cke:object\x3e", a.document), e.setAttributes({ + classid: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", + codebase: "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version\x3d6,0,40,0" + })), k && (d = CKEDITOR.dom.element.createFromHtml("\x3ccke:embed\x3e\x3c/cke:embed\x3e", a.document), d.setAttributes({ + type: "application/x-shockwave-flash", + pluginspage: "http://www.macromedia.com/go/getflashplayer" + }), + e && d.appendTo(e))); + if (e) + for (var b = {}, c = e.getElementsByTag("param", "cke"), f = 0, h = c.count(); f < h; f++) b[c.getItem(f).getAttribute("name")] = c.getItem(f); + c = {}; + f = {}; + this.commitContent(e, d, b, c, f); + e = a.createFakeElement(e || d, "cke_flash", "flash", !0); + e.setAttributes(f); + e.setStyles(c); + this.fakeImage ? (e.replace(this.fakeImage), a.getSelection().selectElement(e)) : a.insertElement(e) + }, + onHide: function () { + this.preview && this.preview.setHtml("") + }, + contents: [{ + id: "info", + label: a.lang.common.generalTab, + accessKey: "I", + elements: [{ + type: "vbox", + padding: 0, + children: [{ + type: "hbox", + widths: ["280px", "110px"], + align: "right", + children: [{ + id: "src", + type: "text", + label: a.lang.common.url, + required: !0, + validate: CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc), + setup: b, + commit: c, + onLoad: function () { + var a = this.getDialog(), + b = function (b) { + h.setAttribute("src", b); + a.preview.setHtml('\x3cembed height\x3d"100%" width\x3d"100%" src\x3d"' + CKEDITOR.tools.htmlEncode(h.getAttribute("src")) + '" type\x3d"application/x-shockwave-flash"\x3e\x3c/embed\x3e') + }; + a.preview = a.getContentElement("info", + "preview").getElement().getChild(3); + this.on("change", function (a) { + a.data && a.data.value && b(a.data.value) + }); + this.getInputElement().on("change", function () { + b(this.getValue()) + }, this) + } + }, { + type: "button", + id: "browse", + filebrowser: "info:src", + hidden: !0, + style: "display:inline-block;margin-top:14px;", + label: a.lang.common.browseServer + }] + }] + }, { + type: "hbox", + widths: ["25%", "25%", "25%", "25%", "25%"], + children: [{ + type: "text", + id: "width", + requiredContent: "embed[width]", + style: "width:95px", + label: a.lang.common.width, + validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", + a.lang.common.width)), + setup: b, + commit: c + }, { + type: "text", + id: "height", + requiredContent: "embed[height]", + style: "width:95px", + label: a.lang.common.height, + validate: CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1", a.lang.common.height)), + setup: b, + commit: c + }, { + type: "text", + id: "hSpace", + requiredContent: "embed[hspace]", + style: "width:95px", + label: a.lang.flash.hSpace, + validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace), + setup: b, + commit: c + }, { + type: "text", + id: "vSpace", + requiredContent: "embed[vspace]", + style: "width:95px", + label: a.lang.flash.vSpace, + validate: CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace), + setup: b, + commit: c + }] + }, { + type: "vbox", + children: [{ + type: "html", + id: "preview", + style: "width:95%;", + html: f + }] + }] + }, { + id: "Upload", + hidden: !0, + filebrowser: "uploadButton", + label: a.lang.common.upload, + elements: [{ + type: "file", + id: "upload", + label: a.lang.common.upload, + size: 38 + }, { + type: "fileButton", + id: "uploadButton", + label: a.lang.common.uploadSubmit, + filebrowser: "info:src", + "for": ["Upload", "upload"] + }] + }, { + id: "properties", + label: a.lang.flash.propertiesTab, + elements: [{ + type: "hbox", + widths: ["50%", "50%"], + children: [{ + id: "scale", + type: "select", + requiredContent: "embed[scale]", + label: a.lang.flash.scale, + "default": "", + style: "width : 100%;", + items: [ + [a.lang.common.notSet, ""], + [a.lang.flash.scaleAll, "showall"], + [a.lang.flash.scaleNoBorder, "noborder"], + [a.lang.flash.scaleFit, "exactfit"] + ], + setup: b, + commit: c + }, { + id: "allowScriptAccess", + type: "select", + requiredContent: "embed[allowscriptaccess]", + label: a.lang.flash.access, + "default": "", + style: "width : 100%;", + items: [ + [a.lang.common.notSet, ""], + [a.lang.flash.accessAlways, "always"], + [a.lang.flash.accessSameDomain, "samedomain"], + [a.lang.flash.accessNever, "never"] + ], + setup: b, + commit: c + }] + }, { + type: "hbox", + widths: ["50%", "50%"], + children: [{ + id: "wmode", + type: "select", + requiredContent: "embed[wmode]", + label: a.lang.flash.windowMode, + "default": "", + style: "width : 100%;", + items: [ + [a.lang.common.notSet, ""], + [a.lang.flash.windowModeWindow, "window"], + [a.lang.flash.windowModeOpaque, "opaque"], + [a.lang.flash.windowModeTransparent, "transparent"] + ], + setup: b, + commit: c + }, { + id: "quality", + type: "select", + requiredContent: "embed[quality]", + label: a.lang.flash.quality, + "default": "high", + style: "width : 100%;", + items: [ + [a.lang.common.notSet, ""], + [a.lang.flash.qualityBest, "best"], + [a.lang.flash.qualityHigh, "high"], + [a.lang.flash.qualityAutoHigh, "autohigh"], + [a.lang.flash.qualityMedium, "medium"], + [a.lang.flash.qualityAutoLow, "autolow"], + [a.lang.flash.qualityLow, "low"] + ], + setup: b, + commit: c + }] + }, { + type: "hbox", + widths: ["50%", "50%"], + children: [{ + id: "align", + type: "select", + requiredContent: "object[align]", + label: a.lang.common.align, + "default": "", + style: "width : 100%;", + items: [ + [a.lang.common.notSet, ""], + [a.lang.common.alignLeft, "left"], + [a.lang.flash.alignAbsBottom, "absBottom"], + [a.lang.flash.alignAbsMiddle, "absMiddle"], + [a.lang.flash.alignBaseline, "baseline"], + [a.lang.common.alignBottom, "bottom"], + [a.lang.common.alignMiddle, "middle"], + [a.lang.common.alignRight, "right"], + [a.lang.flash.alignTextTop, "textTop"], + [a.lang.common.alignTop, "top"] + ], + setup: b, + commit: function (a, b, f, k, l) { + var h = this.getValue(); + c.apply(this, arguments); + h && (l.align = h) + } + }, { + type: "html", + html: "\x3cdiv\x3e\x3c/div\x3e" + }] + }, { + type: "fieldset", + label: CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars), + children: [{ + type: "vbox", + padding: 0, + children: [{ + type: "checkbox", + id: "isVideo", + label: a.lang.flash.isVideo, + "default": 0, + setup: b, + commit: c + }, { + type: "checkbox", + id: "menu", + label: a.lang.flash.chkMenu, + "default": !0, + setup: b, + commit: c + }, { + type: "checkbox", + id: "play", + label: a.lang.flash.chkPlay, + "default": !0, + setup: b, + commit: c + }, { + type: "checkbox", + id: "loop", + label: a.lang.flash.chkLoop, + "default": !0, + setup: b, + commit: c + }, { + type: "checkbox", + id: "allowFullScreen", + label: a.lang.flash.chkFull, + "default": !0, + setup: b, + commit: c + }] + }] + }] + }, { + id: "advanced", + label: a.lang.common.advancedTab, + elements: [{ + type: "hbox", + children: [{ + type: "text", + id: "id", + requiredContent: "object[id]", + label: a.lang.common.id, + setup: b, + commit: c + }] + }, { + type: "hbox", + widths: ["45%", "55%"], + children: [{ + type: "text", + id: "bgcolor", + requiredContent: "embed[bgcolor]", + label: a.lang.flash.bgcolor, + setup: b, + commit: c + }, { + type: "text", + id: "class", + requiredContent: "embed(cke-xyz)", + label: a.lang.common.cssClass, + setup: b, + commit: c + }] + }, { + type: "text", + id: "style", + requiredContent: "embed{cke-xyz}", + validate: CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle), + label: a.lang.common.cssStyle, + setup: b, + commit: c + }] + }] + } + }) +})(); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flash/images/placeholder.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flash/images/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..0bc6caa7a6abca57d3f1e1376fbd5067d5cd66d0 GIT binary patch literal 256 zcmV+b0ssDqP)4p_Nnh8Sn%0^H2yKmXs_)2F ztJy_}S7x3Wy+9bua($h3aU$x8vL^9#zi)q&hjjO!f8h;)*e}{WeFK#M0000" + html + ""); + editor.insertHtml(""); + }, + onLoad: function () { + } + }; +}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flvPlayer/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flvPlayer/plugin.js new file mode 100644 index 0000000..aca0450 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/flvPlayer/plugin.js @@ -0,0 +1,15 @@ +CKEDITOR.plugins.add('flvPlayer', +{ + init: function (editor) { + //plugin code goes here + var pluginName = 'flvPlayer'; + editor.ui.addButton('flvPlayer', + { + label: '插入Flv视频', + command: pluginName + }); + } +}); + +CKEDITOR.dialog.add('flvPlayer', 'plugins/flvPlayer/dialogs/flvPlayer.js'); +editor.addCommand('flvPlayer', new CKEDITOR.dialogCommand('flvPlayer')); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/af.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/af.js new file mode 100644 index 0000000..e7d555d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/af.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'af', { + label: 'Opmaak', + panelTitle: 'Opmaak', + tag_address: 'Adres', + tag_div: 'Normaal (DIV)', + tag_h1: 'Opskrif 1', + tag_h2: 'Opskrif 2', + tag_h3: 'Opskrif 3', + tag_h4: 'Opskrif 4', + tag_h5: 'Opskrif 5', + tag_h6: 'Opskrif 6', + tag_p: 'Normaal', + tag_pre: 'Opgemaak' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ar.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ar.js new file mode 100644 index 0000000..8aa822a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ar.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ar', { + label: 'تنسيق', + panelTitle: 'تنسيق الفقرة', + tag_address: 'عنوان', + tag_div: 'عادي (DIV)', + tag_h1: 'العنوان 1', + tag_h2: 'العنوان 2', + tag_h3: 'العنوان 3', + tag_h4: 'العنوان 4', + tag_h5: 'العنوان 5', + tag_h6: 'العنوان 6', + tag_p: 'عادي', + tag_pre: 'منسّق' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bg.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bg.js new file mode 100644 index 0000000..d07243e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bg.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'bg', { + label: 'Формат', + panelTitle: 'Формат', + tag_address: 'Адрес', + tag_div: 'Параграф (DIV)', + tag_h1: 'Заглавие 1', + tag_h2: 'Заглавие 2', + tag_h3: 'Заглавие 3', + tag_h4: 'Заглавие 4', + tag_h5: 'Заглавие 5', + tag_h6: 'Заглавие 6', + tag_p: 'Нормален', + tag_pre: 'Форматиран' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bn.js new file mode 100644 index 0000000..6ada36e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bn.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'bn', { + label: 'ধরন-প্রকৃতি', + panelTitle: 'ফন্ট ফরমেট', + tag_address: 'ঠিকানা', + tag_div: 'শীর্ষক (DIV)', + tag_h1: 'শীর্ষক ১', + tag_h2: 'শীর্ষক ২', + tag_h3: 'শীর্ষক ৩', + tag_h4: 'শীর্ষক ৪', + tag_h5: 'শীর্ষক ৫', + tag_h6: 'শীর্ষক ৬', + tag_p: 'সাধারণ', + tag_pre: 'ফর্মেটেড' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bs.js new file mode 100644 index 0000000..9949ac1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/bs.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'bs', { + label: 'Format', + panelTitle: 'Format', + tag_address: 'Address', + tag_div: 'Normal (DIV)', // MISSING + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ca.js new file mode 100644 index 0000000..f1a88a9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ca.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ca', { + label: 'Format', + panelTitle: 'Format', + tag_address: 'Adreça', + tag_div: 'Normal (DIV)', + tag_h1: 'Encapçalament 1', + tag_h2: 'Encapçalament 2', + tag_h3: 'Encapçalament 3', + tag_h4: 'Encapçalament 4', + tag_h5: 'Encapçalament 5', + tag_h6: 'Encapçalament 6', + tag_p: 'Normal', + tag_pre: 'Formatejat' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cs.js new file mode 100644 index 0000000..0215f70 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cs.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'cs', { + label: 'Formát', + panelTitle: 'Formát', + tag_address: 'Adresa', + tag_div: 'Normální (DIV)', + tag_h1: 'Nadpis 1', + tag_h2: 'Nadpis 2', + tag_h3: 'Nadpis 3', + tag_h4: 'Nadpis 4', + tag_h5: 'Nadpis 5', + tag_h6: 'Nadpis 6', + tag_p: 'Normální', + tag_pre: 'Naformátováno' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cy.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cy.js new file mode 100644 index 0000000..cb93b8b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/cy.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'cy', { + label: 'Fformat', + panelTitle: 'Fformat Paragraff', + tag_address: 'Cyfeiriad', + tag_div: 'Normal (DIV)', + tag_h1: 'Pennawd 1', + tag_h2: 'Pennawd 2', + tag_h3: 'Pennawd 3', + tag_h4: 'Pennawd 4', + tag_h5: 'Pennawd 5', + tag_h6: 'Pennawd 6', + tag_p: 'Normal', + tag_pre: 'Wedi\'i Fformatio' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/da.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/da.js new file mode 100644 index 0000000..97ff2b6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/da.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'da', { + label: 'Formatering', + panelTitle: 'Formatering', + tag_address: 'Adresse', + tag_div: 'Normal (DIV)', + tag_h1: 'Overskrift 1', + tag_h2: 'Overskrift 2', + tag_h3: 'Overskrift 3', + tag_h4: 'Overskrift 4', + tag_h5: 'Overskrift 5', + tag_h6: 'Overskrift 6', + tag_p: 'Normal', + tag_pre: 'Formateret' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de-ch.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de-ch.js new file mode 100644 index 0000000..7e10741 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de-ch.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'de-ch', { + label: 'Format', + panelTitle: 'Absatzformat', + tag_address: 'Adresse', + tag_div: 'Normal (DIV)', + tag_h1: 'Überschrift 1', + tag_h2: 'Überschrift 2', + tag_h3: 'Überschrift 3', + tag_h4: 'Überschrift 4', + tag_h5: 'Überschrift 5', + tag_h6: 'Überschrift 6', + tag_p: 'Normal', + tag_pre: 'Formatiert' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de.js new file mode 100644 index 0000000..7bf5600 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/de.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'de', { + label: 'Format', + panelTitle: 'Absatzformat', + tag_address: 'Adresse', + tag_div: 'Normal (DIV)', + tag_h1: 'Überschrift 1', + tag_h2: 'Überschrift 2', + tag_h3: 'Überschrift 3', + tag_h4: 'Überschrift 4', + tag_h5: 'Überschrift 5', + tag_h6: 'Überschrift 6', + tag_p: 'Normal', + tag_pre: 'Formatiert' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/el.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/el.js new file mode 100644 index 0000000..47c487f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/el.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'el', { + label: 'Μορφοποίηση', + panelTitle: 'Μορφοποίηση Παραγράφου', + tag_address: 'Διεύθυνση', + tag_div: 'Κανονική (DIV)', + tag_h1: 'Κεφαλίδα 1', + tag_h2: 'Κεφαλίδα 2', + tag_h3: 'Κεφαλίδα 3', + tag_h4: 'Κεφαλίδα 4', + tag_h5: 'Κεφαλίδα 5', + tag_h6: 'Κεφαλίδα 6', + tag_p: 'Κανονική', + tag_pre: 'Προ-μορφοποιημένη' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-au.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-au.js new file mode 100644 index 0000000..b20e4ee --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-au.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'en-au', { + label: 'Format', + panelTitle: 'Paragraph Format', + tag_address: 'Address', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-ca.js new file mode 100644 index 0000000..dd6c71f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-ca.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'en-ca', { + label: 'Format', + panelTitle: 'Paragraph Format', + tag_address: 'Address', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-gb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-gb.js new file mode 100644 index 0000000..7affb72 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en-gb.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'en-gb', { + label: 'Format', + panelTitle: 'Paragraph Format', + tag_address: 'Address', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en.js new file mode 100644 index 0000000..bc720ca --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/en.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'en', { + label: 'Format', + panelTitle: 'Paragraph Format', + tag_address: 'Address', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eo.js new file mode 100644 index 0000000..441a8d7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eo.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'eo', { + label: 'Formato', + panelTitle: 'ParagrafFormato', + tag_address: 'Adreso', + tag_div: 'Normala (DIV)', + tag_h1: 'Titolo 1', + tag_h2: 'Titolo 2', + tag_h3: 'Titolo 3', + tag_h4: 'Titolo 4', + tag_h5: 'Titolo 5', + tag_h6: 'Titolo 6', + tag_p: 'Normala', + tag_pre: 'Formatita' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/es.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/es.js new file mode 100644 index 0000000..2852821 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/es.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'es', { + label: 'Formato', + panelTitle: 'Formato', + tag_address: 'Dirección', + tag_div: 'Normal (DIV)', + tag_h1: 'Encabezado 1', + tag_h2: 'Encabezado 2', + tag_h3: 'Encabezado 3', + tag_h4: 'Encabezado 4', + tag_h5: 'Encabezado 5', + tag_h6: 'Encabezado 6', + tag_p: 'Normal', + tag_pre: 'Con formato' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/et.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/et.js new file mode 100644 index 0000000..c8c2732 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/et.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'et', { + label: 'Vorming', + panelTitle: 'Vorming', + tag_address: 'Aadress', + tag_div: 'Tavaline (DIV)', + tag_h1: 'Pealkiri 1', + tag_h2: 'Pealkiri 2', + tag_h3: 'Pealkiri 3', + tag_h4: 'Pealkiri 4', + tag_h5: 'Pealkiri 5', + tag_h6: 'Pealkiri 6', + tag_p: 'Tavaline', + tag_pre: 'Vormindatud' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eu.js new file mode 100644 index 0000000..3882df4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/eu.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'eu', { + label: 'Formatua', + panelTitle: 'Paragrafoaren formatua', + tag_address: 'Helbidea', + tag_div: 'Normala (DIV)', + tag_h1: 'Izenburua 1', + tag_h2: 'Izenburua 2', + tag_h3: 'Izenburua 3', + tag_h4: 'Izenburua 4', + tag_h5: 'Izenburua 5', + tag_h6: 'Izenburua 6', + tag_p: 'Normala', + tag_pre: 'Formatuduna' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fa.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fa.js new file mode 100644 index 0000000..29c5b90 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fa.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'fa', { + label: 'قالب', + panelTitle: 'قالب بند', + tag_address: 'نشانی', + tag_div: 'بند', + tag_h1: 'سرنویس ۱', + tag_h2: 'سرنویس ۲', + tag_h3: 'سرنویس ۳', + tag_h4: 'سرنویس ۴', + tag_h5: 'سرنویس ۵', + tag_h6: 'سرنویس ۶', + tag_p: 'معمولی', + tag_pre: 'قالب‌دار' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fi.js new file mode 100644 index 0000000..2a20b33 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fi.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'fi', { + label: 'Muotoilu', + panelTitle: 'Muotoilu', + tag_address: 'Osoite', + tag_div: 'Normaali (DIV)', + tag_h1: 'Otsikko 1', + tag_h2: 'Otsikko 2', + tag_h3: 'Otsikko 3', + tag_h4: 'Otsikko 4', + tag_h5: 'Otsikko 5', + tag_h6: 'Otsikko 6', + tag_p: 'Normaali', + tag_pre: 'Muotoiltu' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fo.js new file mode 100644 index 0000000..7997914 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fo.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'fo', { + label: 'Skriftsnið', + panelTitle: 'Skriftsnið', + tag_address: 'Adressa', + tag_div: 'Vanligt (DIV)', + tag_h1: 'Yvirskrift 1', + tag_h2: 'Yvirskrift 2', + tag_h3: 'Yvirskrift 3', + tag_h4: 'Yvirskrift 4', + tag_h5: 'Yvirskrift 5', + tag_h6: 'Yvirskrift 6', + tag_p: 'Vanligt', + tag_pre: 'Sniðgivið' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr-ca.js new file mode 100644 index 0000000..c6c79ff --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr-ca.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'fr-ca', { + label: 'Format', + panelTitle: 'Format de paragraphe', + tag_address: 'Adresse', + tag_div: 'Normal (DIV)', + tag_h1: 'En-tête 1', + tag_h2: 'En-tête 2', + tag_h3: 'En-tête 3', + tag_h4: 'En-tête 4', + tag_h5: 'En-tête 5', + tag_h6: 'En-tête 6', + tag_p: 'Normal', + tag_pre: 'Formaté' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr.js new file mode 100644 index 0000000..8bb654e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/fr.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'fr', { + label: 'Format', + panelTitle: 'Format de paragraphe', + tag_address: 'Adresse', + tag_div: 'Division', + tag_h1: 'Titre 1', + tag_h2: 'Titre 2', + tag_h3: 'Titre 3', + tag_h4: 'Titre 4', + tag_h5: 'Titre 5', + tag_h6: 'Titre 6', + tag_p: 'Normal', + tag_pre: 'Préformaté' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gl.js new file mode 100644 index 0000000..b201031 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gl.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'gl', { + label: 'Formato', + panelTitle: 'Formato do parágrafo', + tag_address: 'Enderezo', + tag_div: 'Normal (DIV)', + tag_h1: 'Enacabezado 1', + tag_h2: 'Encabezado 2', + tag_h3: 'Encabezado 3', + tag_h4: 'Encabezado 4', + tag_h5: 'Encabezado 5', + tag_h6: 'Encabezado 6', + tag_p: 'Normal', + tag_pre: 'Formatado' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gu.js new file mode 100644 index 0000000..2108704 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/gu.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'gu', { + label: 'ફૉન્ટ ફૉર્મટ, રચનાની શૈલી', + panelTitle: 'ફૉન્ટ ફૉર્મટ, રચનાની શૈલી', + tag_address: 'સરનામું', + tag_div: 'શીર્ષક (DIV)', + tag_h1: 'શીર્ષક 1', + tag_h2: 'શીર્ષક 2', + tag_h3: 'શીર્ષક 3', + tag_h4: 'શીર્ષક 4', + tag_h5: 'શીર્ષક 5', + tag_h6: 'શીર્ષક 6', + tag_p: 'સામાન્ય', + tag_pre: 'ફૉર્મટેડ' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/he.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/he.js new file mode 100644 index 0000000..d563695 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/he.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'he', { + label: 'עיצוב', + panelTitle: 'עיצוב', + tag_address: 'כתובת', + tag_div: 'נורמלי (DIV)', + tag_h1: 'כותרת', + tag_h2: 'כותרת 2', + tag_h3: 'כותרת 3', + tag_h4: 'כותרת 4', + tag_h5: 'כותרת 5', + tag_h6: 'כותרת 6', + tag_p: 'נורמלי', + tag_pre: 'קוד' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hi.js new file mode 100644 index 0000000..2e40c53 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hi.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'hi', { + label: 'फ़ॉर्मैट', + panelTitle: 'फ़ॉर्मैट', + tag_address: 'पता', + tag_div: 'शीर्षक (DIV)', + tag_h1: 'शीर्षक 1', + tag_h2: 'शीर्षक 2', + tag_h3: 'शीर्षक 3', + tag_h4: 'शीर्षक 4', + tag_h5: 'शीर्षक 5', + tag_h6: 'शीर्षक 6', + tag_p: 'साधारण', + tag_pre: 'फ़ॉर्मैटॅड' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hr.js new file mode 100644 index 0000000..c50bc26 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hr.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'hr', { + label: 'Format', + panelTitle: 'Format', + tag_address: 'Address', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatirano' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hu.js new file mode 100644 index 0000000..863f1a7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/hu.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'hu', { + label: 'Formátum', + panelTitle: 'Formátum', + tag_address: 'Címsor', + tag_div: 'Bekezdés (DIV)', + tag_h1: 'Fejléc 1', + tag_h2: 'Fejléc 2', + tag_h3: 'Fejléc 3', + tag_h4: 'Fejléc 4', + tag_h5: 'Fejléc 5', + tag_h6: 'Fejléc 6', + tag_p: 'Normál', + tag_pre: 'Formázott' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/id.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/id.js new file mode 100644 index 0000000..ed35956 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/id.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'id', { + label: 'Bentuk', + panelTitle: 'Bentuk Paragraf', + tag_address: 'Alamat', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Membentuk' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/is.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/is.js new file mode 100644 index 0000000..94eecd6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/is.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'is', { + label: 'Stílsnið', + panelTitle: 'Stílsnið', + tag_address: 'Vistfang', + tag_div: 'Venjulegt (DIV)', + tag_h1: 'Fyrirsögn 1', + tag_h2: 'Fyrirsögn 2', + tag_h3: 'Fyrirsögn 3', + tag_h4: 'Fyrirsögn 4', + tag_h5: 'Fyrirsögn 5', + tag_h6: 'Fyrirsögn 6', + tag_p: 'Venjulegt letur', + tag_pre: 'Forsniðið' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/it.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/it.js new file mode 100644 index 0000000..26bd5c6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/it.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'it', { + label: 'Formato', + panelTitle: 'Formato', + tag_address: 'Indirizzo', + tag_div: 'Paragrafo (DIV)', + tag_h1: 'Titolo 1', + tag_h2: 'Titolo 2', + tag_h3: 'Titolo 3', + tag_h4: 'Titolo 4', + tag_h5: 'Titolo 5', + tag_h6: 'Titolo 6', + tag_p: 'Normale', + tag_pre: 'Formattato' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ja.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ja.js new file mode 100644 index 0000000..ae6a9c6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ja.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ja', { + label: '書式', + panelTitle: '段落の書式', + tag_address: 'アドレス', + tag_div: '標準 (DIV)', + tag_h1: '見出し 1', + tag_h2: '見出し 2', + tag_h3: '見出し 3', + tag_h4: '見出し 4', + tag_h5: '見出し 5', + tag_h6: '見出し 6', + tag_p: '標準', + tag_pre: '書式付き' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ka.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ka.js new file mode 100644 index 0000000..52ed412 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ka.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ka', { + label: 'ფიორმატირება', + panelTitle: 'ფორმატირება', + tag_address: 'მისამართი', + tag_div: 'ჩვეულებრივი (DIV)', + tag_h1: 'სათაური 1', + tag_h2: 'სათაური 2', + tag_h3: 'სათაური 3', + tag_h4: 'სათაური 4', + tag_h5: 'სათაური 5', + tag_h6: 'სათაური 6', + tag_p: 'ჩვეულებრივი', + tag_pre: 'ფორმატირებული' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/km.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/km.js new file mode 100644 index 0000000..20e7ed3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/km.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'km', { + label: 'ទម្រង់', + panelTitle: 'ទម្រង់​កថាខណ្ឌ', + tag_address: 'អាសយដ្ឋាន', + tag_div: 'ធម្មតា (DIV)', + tag_h1: 'ចំណង​ជើង 1', + tag_h2: 'ចំណង​ជើង 2', + tag_h3: 'ចំណង​ជើង 3', + tag_h4: 'ចំណង​ជើង 4', + tag_h5: 'ចំណង​ជើង 5', + tag_h6: 'ចំណង​ជើង 6', + tag_p: 'ធម្មតា', + tag_pre: 'Formatted' // MISSING +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ko.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ko.js new file mode 100644 index 0000000..ff5d20c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ko.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ko', { + label: '문단', + panelTitle: '문단 형식', + tag_address: '글쓴이', + tag_div: '기본 (DIV)', + tag_h1: '제목 1', + tag_h2: '제목 2', + tag_h3: '제목 3', + tag_h4: '제목 4', + tag_h5: '제목 5', + tag_h6: '제목 6', + tag_p: '본문', + tag_pre: '정형 문단' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ku.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ku.js new file mode 100644 index 0000000..d764c03 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ku.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ku', { + label: 'ڕازاندنەوە', + panelTitle: 'بەشی ڕازاندنەوه', + tag_address: 'ناونیشان', + tag_div: '(DIV)-ی ئاسایی', + tag_h1: 'سەرنووسەی ١', + tag_h2: 'سەرنووسەی ٢', + tag_h3: 'سەرنووسەی ٣', + tag_h4: 'سەرنووسەی ٤', + tag_h5: 'سەرنووسەی ٥', + tag_h6: 'سەرنووسەی ٦', + tag_p: 'ئاسایی', + tag_pre: 'شێوازکراو' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lt.js new file mode 100644 index 0000000..8f72c24 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lt.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'lt', { + label: 'Šrifto formatas', + panelTitle: 'Šrifto formatas', + tag_address: 'Kreipinio', + tag_div: 'Normalus (DIV)', + tag_h1: 'Antraštinis 1', + tag_h2: 'Antraštinis 2', + tag_h3: 'Antraštinis 3', + tag_h4: 'Antraštinis 4', + tag_h5: 'Antraštinis 5', + tag_h6: 'Antraštinis 6', + tag_p: 'Normalus', + tag_pre: 'Formuotas' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lv.js new file mode 100644 index 0000000..9f194dc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/lv.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'lv', { + label: 'Formāts', + panelTitle: 'Formāts', + tag_address: 'Adrese', + tag_div: 'Rindkopa (DIV)', + tag_h1: 'Virsraksts 1', + tag_h2: 'Virsraksts 2', + tag_h3: 'Virsraksts 3', + tag_h4: 'Virsraksts 4', + tag_h5: 'Virsraksts 5', + tag_h6: 'Virsraksts 6', + tag_p: 'Normāls teksts', + tag_pre: 'Formatēts teksts' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mk.js new file mode 100644 index 0000000..24c5fd2 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mk.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'mk', { + label: 'Format', // MISSING + panelTitle: 'Paragraph Format', // MISSING + tag_address: 'Address', // MISSING + tag_div: 'Normal (DIV)', // MISSING + tag_h1: 'Heading 1', // MISSING + tag_h2: 'Heading 2', // MISSING + tag_h3: 'Heading 3', // MISSING + tag_h4: 'Heading 4', // MISSING + tag_h5: 'Heading 5', // MISSING + tag_h6: 'Heading 6', // MISSING + tag_p: 'Normal', // MISSING + tag_pre: 'Formatted' // MISSING +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mn.js new file mode 100644 index 0000000..a980452 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/mn.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'mn', { + label: 'Параргафын загвар', + panelTitle: 'Параргафын загвар', + tag_address: 'Хаяг', + tag_div: 'Paragraph (DIV)', + tag_h1: 'Гарчиг 1', + tag_h2: 'Гарчиг 2', + tag_h3: 'Гарчиг 3', + tag_h4: 'Гарчиг 4', + tag_h5: 'Гарчиг 5', + tag_h6: 'Гарчиг 6', + tag_p: 'Хэвийн', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ms.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ms.js new file mode 100644 index 0000000..bbebc9f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ms.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ms', { + label: 'Format', + panelTitle: 'Format', + tag_address: 'Alamat', + tag_div: 'Perenggan (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Telah Diformat' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nb.js new file mode 100644 index 0000000..8ada4eb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nb.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'nb', { + label: 'Format', + panelTitle: 'Avsnittsformat', + tag_address: 'Adresse', + tag_div: 'Normal (DIV)', + tag_h1: 'Overskrift 1', + tag_h2: 'Overskrift 2', + tag_h3: 'Overskrift 3', + tag_h4: 'Overskrift 4', + tag_h5: 'Overskrift 5', + tag_h6: 'Overskrift 6', + tag_p: 'Normal', + tag_pre: 'Formatert' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nl.js new file mode 100644 index 0000000..bc8e1fe --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/nl.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'nl', { + label: 'Opmaak', + panelTitle: 'Opmaak', + tag_address: 'Adres', + tag_div: 'Normaal (DIV)', + tag_h1: 'Kop 1', + tag_h2: 'Kop 2', + tag_h3: 'Kop 3', + tag_h4: 'Kop 4', + tag_h5: 'Kop 5', + tag_h6: 'Kop 6', + tag_p: 'Normaal', + tag_pre: 'Met opmaak' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/no.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/no.js new file mode 100644 index 0000000..41ef0dd --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/no.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'no', { + label: 'Format', + panelTitle: 'Avsnittsformat', + tag_address: 'Adresse', + tag_div: 'Normal (DIV)', + tag_h1: 'Overskrift 1', + tag_h2: 'Overskrift 2', + tag_h3: 'Overskrift 3', + tag_h4: 'Overskrift 4', + tag_h5: 'Overskrift 5', + tag_h6: 'Overskrift 6', + tag_p: 'Normal', + tag_pre: 'Formatert' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pl.js new file mode 100644 index 0000000..4d80dd9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pl.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'pl', { + label: 'Format', + panelTitle: 'Format', + tag_address: 'Adres', + tag_div: 'Normalny (DIV)', + tag_h1: 'Nagłówek 1', + tag_h2: 'Nagłówek 2', + tag_h3: 'Nagłówek 3', + tag_h4: 'Nagłówek 4', + tag_h5: 'Nagłówek 5', + tag_h6: 'Nagłówek 6', + tag_p: 'Normalny', + tag_pre: 'Tekst sformatowany' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt-br.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt-br.js new file mode 100644 index 0000000..ea8d709 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt-br.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'pt-br', { + label: 'Formatação', + panelTitle: 'Formatação', + tag_address: 'Endereço', + tag_div: 'Normal (DIV)', + tag_h1: 'Título 1', + tag_h2: 'Título 2', + tag_h3: 'Título 3', + tag_h4: 'Título 4', + tag_h5: 'Título 5', + tag_h6: 'Título 6', + tag_p: 'Normal', + tag_pre: 'Formatado' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt.js new file mode 100644 index 0000000..3f741bf --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/pt.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'pt', { + label: 'Formatar', + panelTitle: 'Formatar Parágrafo', + tag_address: 'Endereço', + tag_div: 'Normal (DIV)', + tag_h1: 'Título 1', + tag_h2: 'Título 2', + tag_h3: 'Título 3', + tag_h4: 'Título 4', + tag_h5: 'Título 5', + tag_h6: 'Título 6', + tag_p: 'Normal', + tag_pre: 'Formatado' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ro.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ro.js new file mode 100644 index 0000000..6aed7a0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ro.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ro', { + label: 'Formatare', + panelTitle: 'Formatare', + tag_address: 'Adresă', + tag_div: 'Normal (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatat' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ru.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ru.js new file mode 100644 index 0000000..8ad0af8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ru.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ru', { + label: 'Форматирование', + panelTitle: 'Форматирование', + tag_address: 'Адрес', + tag_div: 'Обычное (div)', + tag_h1: 'Заголовок 1', + tag_h2: 'Заголовок 2', + tag_h3: 'Заголовок 3', + tag_h4: 'Заголовок 4', + tag_h5: 'Заголовок 5', + tag_h6: 'Заголовок 6', + tag_p: 'Обычное', + tag_pre: 'Моноширинное' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/si.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/si.js new file mode 100644 index 0000000..4618327 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/si.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'si', { + label: 'ආකෘතිය', + panelTitle: 'චේදයේ ', + tag_address: 'ලිපිනය', + tag_div: 'සාමාන්‍ය(DIV)', + tag_h1: 'ශීර්ෂය 1', + tag_h2: 'ශීර්ෂය 2', + tag_h3: 'ශීර්ෂය 3', + tag_h4: 'ශීර්ෂය 4', + tag_h5: 'ශීර්ෂය 5', + tag_h6: 'ශීර්ෂය 6', + tag_p: 'සාමාන්‍ය', + tag_pre: 'ආකෘතියන්' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sk.js new file mode 100644 index 0000000..a450c8e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sk.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'sk', { + label: 'Formát', + panelTitle: 'Odsek', + tag_address: 'Adresa', + tag_div: 'Normálny (DIV)', + tag_h1: 'Nadpis 1', + tag_h2: 'Nadpis 2', + tag_h3: 'Nadpis 3', + tag_h4: 'Nadpis 4', + tag_h5: 'Nadpis 5', + tag_h6: 'Nadpis 6', + tag_p: 'Normálny', + tag_pre: 'Formátovaný' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sl.js new file mode 100644 index 0000000..c15da91 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sl.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'sl', { + label: 'Oblika', + panelTitle: 'Oblika odstavka', + tag_address: 'Napis', + tag_div: 'Navaden (DIV)', + tag_h1: 'Naslov 1', + tag_h2: 'Naslov 2', + tag_h3: 'Naslov 3', + tag_h4: 'Naslov 4', + tag_h5: 'Naslov 5', + tag_h6: 'Naslov 6', + tag_p: 'Navaden', + tag_pre: 'Oblikovan' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sq.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sq.js new file mode 100644 index 0000000..149f4dd --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sq.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'sq', { + label: 'Formati', + panelTitle: 'Formati i Paragrafit', + tag_address: 'Adresa', + tag_div: 'Normal (DIV)', + tag_h1: 'Titulli 1', + tag_h2: 'Titulli 2', + tag_h3: 'Titulli 3', + tag_h4: 'Titulli 4', + tag_h5: 'Titulli 5', + tag_h6: 'Titulli 6', + tag_p: 'Normal', + tag_pre: 'Formatuar' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr-latn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr-latn.js new file mode 100644 index 0000000..de48b35 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr-latn.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'sr-latn', { + label: 'Format', + panelTitle: 'Format', + tag_address: 'Adresa', + tag_div: 'Normalno (DIV)', + tag_h1: 'Naslov 1', + tag_h2: 'Naslov 2', + tag_h3: 'Naslov 3', + tag_h4: 'Naslov 4', + tag_h5: 'Naslov 5', + tag_h6: 'Naslov 6', + tag_p: 'Normal', + tag_pre: 'Formatirano' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr.js new file mode 100644 index 0000000..999691a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sr.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'sr', { + label: 'Формат', + panelTitle: 'Формат', + tag_address: 'Adresa', + tag_div: 'Нормално (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatirano' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sv.js new file mode 100644 index 0000000..8bfb120 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/sv.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'sv', { + label: 'Teckenformat', + panelTitle: 'Teckenformat', + tag_address: 'Adress', + tag_div: 'Normal (DIV)', + tag_h1: 'Rubrik 1', + tag_h2: 'Rubrik 2', + tag_h3: 'Rubrik 3', + tag_h4: 'Rubrik 4', + tag_h5: 'Rubrik 5', + tag_h6: 'Rubrik 6', + tag_p: 'Normal', + tag_pre: 'Formaterad' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/th.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/th.js new file mode 100644 index 0000000..74834a6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/th.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'th', { + label: 'รูปแบบ', + panelTitle: 'รูปแบบ', + tag_address: 'Address', + tag_div: 'Paragraph (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Normal', + tag_pre: 'Formatted' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tr.js new file mode 100644 index 0000000..6c07574 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tr.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'tr', { + label: 'Biçim', + panelTitle: 'Biçim', + tag_address: 'Adres', + tag_div: 'Paragraf (DIV)', + tag_h1: 'Başlık 1', + tag_h2: 'Başlık 2', + tag_h3: 'Başlık 3', + tag_h4: 'Başlık 4', + tag_h5: 'Başlık 5', + tag_h6: 'Başlık 6', + tag_p: 'Normal', + tag_pre: 'Biçimli' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tt.js new file mode 100644 index 0000000..8cc6ccc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/tt.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'tt', { + label: 'Форматлау', + panelTitle: 'Параграф форматлавы', + tag_address: 'Адрес', + tag_div: 'Гади (DIV)', + tag_h1: 'Башлам 1', + tag_h2: 'Башлам 2', + tag_h3: 'Башлам 3', + tag_h4: 'Башлам 4', + tag_h5: 'Башлам 5', + tag_h6: 'Башлам 6', + tag_p: 'Гади', + tag_pre: 'Форматлаулы' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ug.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ug.js new file mode 100644 index 0000000..e08d2c0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/ug.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'ug', { + label: 'پىچىم', + panelTitle: 'پىچىم', + tag_address: 'ئادرېس', + tag_div: 'ئابزاس (DIV)', + tag_h1: 'ماۋزۇ 1', + tag_h2: 'ماۋزۇ 2', + tag_h3: 'ماۋزۇ 3', + tag_h4: 'ماۋزۇ 4', + tag_h5: 'ماۋزۇ 5', + tag_h6: 'ماۋزۇ 6', + tag_p: 'ئادەتتىكى', + tag_pre: 'تىزىلغان پىچىم' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/uk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/uk.js new file mode 100644 index 0000000..57d8289 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/uk.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'uk', { + label: 'Форматування', + panelTitle: 'Форматування параграфа', + tag_address: 'Адреса', + tag_div: 'Нормальний (div)', + tag_h1: 'Заголовок 1', + tag_h2: 'Заголовок 2', + tag_h3: 'Заголовок 3', + tag_h4: 'Заголовок 4', + tag_h5: 'Заголовок 5', + tag_h6: 'Заголовок 6', + tag_p: 'Нормальний', + tag_pre: 'Форматований' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/vi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/vi.js new file mode 100644 index 0000000..831f6ef --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/vi.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'vi', { + label: 'Định dạng', + panelTitle: 'Định dạng', + tag_address: 'Address', + tag_div: 'Bình thường (DIV)', + tag_h1: 'Heading 1', + tag_h2: 'Heading 2', + tag_h3: 'Heading 3', + tag_h4: 'Heading 4', + tag_h5: 'Heading 5', + tag_h6: 'Heading 6', + tag_p: 'Bình thường (P)', + tag_pre: 'Đã thiết lập' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh-cn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh-cn.js new file mode 100644 index 0000000..33bc94a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh-cn.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'zh-cn', { + label: '格式', + panelTitle: '格式', + tag_address: '地址', + tag_div: '段落(DIV)', + tag_h1: '标题 1', + tag_h2: '标题 2', + tag_h3: '标题 3', + tag_h4: '标题 4', + tag_h5: '标题 5', + tag_h6: '标题 6', + tag_p: '普通', + tag_pre: '已编排格式' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh.js new file mode 100644 index 0000000..8627e6d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/lang/zh.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'format', 'zh', { + label: '格式', + panelTitle: '段落格式', + tag_address: '地址', + tag_div: '標準 (DIV)', + tag_h1: '標題 1', + tag_h2: '標題 2', + tag_h3: '標題 3', + tag_h4: '標題 4', + tag_h5: '標題 5', + tag_h6: '標題 6', + tag_p: '標準', + tag_pre: '格式設定' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/plugin.js new file mode 100644 index 0000000..3533270 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/format/plugin.js @@ -0,0 +1,279 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'format', { + requires: 'richcombo', + // jscs:disable maximumLineLength + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + // jscs:enable maximumLineLength + init: function( editor ) { + if ( editor.blockless ) + return; + + var config = editor.config, + lang = editor.lang.format; + + // Gets the list of tags from the settings. + var tags = config.format_tags.split( ';' ); + + // Create style objects for all defined styles. + var styles = {}, + stylesCount = 0, + allowedContent = []; + for ( var i = 0; i < tags.length; i++ ) { + var tag = tags[ i ]; + var style = new CKEDITOR.style( config[ 'format_' + tag ] ); + if ( !editor.filter.customConfig || editor.filter.check( style ) ) { + stylesCount++; + styles[ tag ] = style; + styles[ tag ]._.enterMode = editor.config.enterMode; + allowedContent.push( style ); + } + } + + // Hide entire combo when all formats are rejected. + if ( stylesCount === 0 ) + return; + + editor.ui.addRichCombo( 'Format', { + label: lang.label, + title: lang.panelTitle, + toolbar: 'styles,20', + allowedContent: allowedContent, + + panel: { + css: [ CKEDITOR.skin.getPath( 'editor' ) ].concat( config.contentsCss ), + multiSelect: false, + attributes: { 'aria-label': lang.panelTitle } + }, + + init: function() { + this.startGroup( lang.panelTitle ); + + for ( var tag in styles ) { + var label = lang[ 'tag_' + tag ]; + + // Add the tag entry to the panel list. + this.add( tag, styles[ tag ].buildPreview( label ), label ); + } + }, + + onClick: function( value ) { + editor.focus(); + editor.fire( 'saveSnapshot' ); + + var style = styles[ value ], + elementPath = editor.elementPath(); + + editor[ style.checkActive( elementPath, editor ) ? 'removeStyle' : 'applyStyle' ]( style ); + + // Save the undo snapshot after all changes are affected. (#4899) + setTimeout( function() { + editor.fire( 'saveSnapshot' ); + }, 0 ); + }, + + onRender: function() { + editor.on( 'selectionChange', function( ev ) { + var currentTag = this.getValue(), + elementPath = ev.data.path; + + this.refresh(); + + for ( var tag in styles ) { + if ( styles[ tag ].checkActive( elementPath, editor ) ) { + if ( tag != currentTag ) + this.setValue( tag, editor.lang.format[ 'tag_' + tag ] ); + return; + } + } + + // If no styles match, just empty it. + this.setValue( '' ); + + }, this ); + }, + + onOpen: function() { + this.showAll(); + for ( var name in styles ) { + var style = styles[ name ]; + + // Check if that style is enabled in activeFilter. + if ( !editor.activeFilter.check( style ) ) + this.hideItem( name ); + + } + }, + + refresh: function() { + var elementPath = editor.elementPath(); + + if ( !elementPath ) + return; + + // Check if element path contains 'p' element. + if ( !elementPath.isContextFor( 'p' ) ) { + this.setState( CKEDITOR.TRISTATE_DISABLED ); + return; + } + + // Check if there is any available style. + for ( var name in styles ) { + if ( editor.activeFilter.check( styles[ name ] ) ) + return; + } + this.setState( CKEDITOR.TRISTATE_DISABLED ); + } + } ); + } +} ); + +/** + * A list of semicolon-separated style names (by default: tags) representing + * the style definition for each entry to be displayed in the Format drop-down list + * in the toolbar. Each entry must have a corresponding configuration in a + * setting named `'format_(tagName)'`. For example, the `'p'` entry has its + * definition taken from [config.format_p](#!/api/CKEDITOR.config-cfg-format_p). + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_tags = 'p;h2;h3;pre'; + * + * @cfg {String} [format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div'] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_tags = 'p;h1;h2;h3;h4;h5;h6;pre;address;div'; + +/** + * The style definition to be used to apply the `Normal` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_p = { element: 'p', attributes: { 'class': 'normalPara' } }; + * + * @cfg {Object} [format_p={ element: 'p' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_p = { element: 'p', attributes: { style: 'text-indent: 2em;'} }; + +/** + * The style definition to be used to apply the `Normal (DIV)` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_div = { element: 'div', attributes: { 'class': 'normalDiv' } }; + * + * @cfg {Object} [format_div={ element: 'div' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_div = { element: 'div' }; + +/** + * The style definition to be used to apply the `Formatted` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_pre = { element: 'pre', attributes: { 'class': 'code' } }; + * + * @cfg {Object} [format_pre={ element: 'pre' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_pre = { element: 'pre' }; + +/** + * The style definition to be used to apply the `Address` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_address = { element: 'address', attributes: { 'class': 'styledAddress' } }; + * + * @cfg {Object} [format_address={ element: 'address' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_address = { element: 'address' }; + +/** + * The style definition to be used to apply the `Heading 1` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_h1 = { element: 'h1', attributes: { 'class': 'contentTitle1' } }; + * + * @cfg {Object} [format_h1={ element: 'h1' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_h1 = { element: 'h1' }; + +/** + * The style definition to be used to apply the `Heading 2` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_h2 = { element: 'h2', attributes: { 'class': 'contentTitle2' } }; + * + * @cfg {Object} [format_h2={ element: 'h2' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_h2 = { element: 'h2' }; + +/** + * The style definition to be used to apply the `Heading 3` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_h3 = { element: 'h3', attributes: { 'class': 'contentTitle3' } }; + * + * @cfg {Object} [format_h3={ element: 'h3' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_h3 = { element: 'h3' }; + +/** + * The style definition to be used to apply the `Heading 4` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_h4 = { element: 'h4', attributes: { 'class': 'contentTitle4' } }; + * + * @cfg {Object} [format_h4={ element: 'h4' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_h4 = { element: 'h4' }; + +/** + * The style definition to be used to apply the `Heading 5` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_h5 = { element: 'h5', attributes: { 'class': 'contentTitle5' } }; + * + * @cfg {Object} [format_h5={ element: 'h5' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_h5 = { element: 'h5' }; + +/** + * The style definition to be used to apply the `Heading 6` format. + * + * Read more in the [documentation](#!/guide/dev_format) + * and see the [SDK sample](http://sdk.ckeditor.com/samples/format.html). + * + * config.format_h6 = { element: 'h6', attributes: { 'class': 'contentTitle6' } }; + * + * @cfg {Object} [format_h6={ element: 'h6' }] + * @member CKEDITOR.config + */ +CKEDITOR.config.format_h6 = { element: 'h6' }; diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/button.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/button.js new file mode 100644 index 0000000..7e97b7e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/button.js @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("button",function(b){function d(a){var b=this.getValue();b?(a.attributes[this.id]=b,"name"==this.id&&(a.attributes["data-cke-saved-name"]=b)):(delete a.attributes[this.id],"name"==this.id&&delete a.attributes["data-cke-saved-name"])}return{title:b.lang.forms.button.title,minWidth:350,minHeight:150,onShow:function(){delete this.button;var a=this.getParentEditor().getSelection().getSelectedElement();a&&a.is("input")&&a.getAttribute("type")in{button:1,reset:1,submit:1}&&(this.button= +a,this.setupContent(a))},onOk:function(){var a=this.getParentEditor(),b=this.button,d=!b,c=b?CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element("input");this.commitContent(c);var e=new CKEDITOR.htmlParser.basicWriter;c.writeHtml(e);c=CKEDITOR.dom.element.createFromHtml(e.getHtml(),a.document);d?a.insertElement(c):(c.replace(b),a.getSelection().selectElement(c))},contents:[{id:"info",label:b.lang.forms.button.title,title:b.lang.forms.button.title,elements:[{id:"name", +type:"text",bidi:!0,label:b.lang.common.name,"default":"",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:d},{id:"value",type:"text",label:b.lang.forms.button.text,accessKey:"V","default":"",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:d},{id:"type",type:"select",label:b.lang.forms.button.type,"default":"button",accessKey:"T",items:[[b.lang.forms.button.typeBtn,"button"],[b.lang.forms.button.typeSbm,"submit"],[b.lang.forms.button.typeRst, +"reset"]],setup:function(a){this.setValue(a.getAttribute("type")||"")},commit:d}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/checkbox.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/checkbox.js new file mode 100644 index 0000000..1ccfb3e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/checkbox.js @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("checkbox",function(d){return{title:d.lang.forms.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){delete this.checkbox;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"checkbox"==a.getAttribute("type")&&(this.checkbox=a,this.setupContent(a))},onOk:function(){var a,b=this.checkbox;b||(a=this.getParentEditor(),b=a.document.createElement("input"),b.setAttribute("type","checkbox"),a.insertElement(b));this.commitContent({element:b})},contents:[{id:"info", +label:d.lang.forms.checkboxAndRadio.checkboxTitle,title:d.lang.forms.checkboxAndRadio.checkboxTitle,startupFocus:"txtName",elements:[{id:"txtName",type:"text",label:d.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"txtValue",type:"text",label:d.lang.forms.checkboxAndRadio.value, +"default":"",accessKey:"V",setup:function(a){a=a.getAttribute("value");this.setValue(CKEDITOR.env.ie&&"on"==a?"":a)},commit:function(a){var b=a.element,c=this.getValue();!c||CKEDITOR.env.ie&&"on"==c?CKEDITOR.env.ie?(c=new CKEDITOR.dom.element("input",b.getDocument()),b.copyAttributes(c,{value:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c):b.removeAttribute("value"):b.setAttribute("value",c)}},{id:"cmbSelected",type:"checkbox",label:d.lang.forms.checkboxAndRadio.selected,"default":"", +accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var c=!!b.getAttribute("checked"),e=!!this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"checkbox"'+(e?' checked\x3d"checked"':"")+"/\x3e",d.document),b.copyAttributes(c,{type:1,checked:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c)}else this.getValue()?b.setAttribute("checked","checked"):b.removeAttribute("checked")}}, +{id:"required",type:"checkbox",label:d.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/form.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/form.js new file mode 100644 index 0000000..13431bb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/form.js @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("form",function(a){var d={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.forms.form.title,minWidth:350,minHeight:200,onShow:function(){delete this.form;var b=this.getParentEditor().elementPath().contains("form",1);b&&(this.form=b,this.setupContent(b))},onOk:function(){var b,a=this.form,c=!a;c&&(b=this.getParentEditor(),a=b.document.createElement("form"),a.appendBogus());c&&b.insertElement(a);this.commitContent(a)},onLoad:function(){function a(b){this.setValue(b.getAttribute(this.id)|| +"")}function e(a){this.getValue()?a.setAttribute(this.id,this.getValue()):a.removeAttribute(this.id)}this.foreach(function(c){d[c.id]&&(c.setup=a,c.commit=e)})},contents:[{id:"info",label:a.lang.forms.form.title,title:a.lang.forms.form.title,elements:[{id:"txtName",bidi:!0,type:"text",label:a.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()): +(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"action",type:"text",label:a.lang.forms.form.action,"default":"",accessKey:"T"},{type:"hbox",widths:["45%","55%"],children:[{id:"id",type:"text",label:a.lang.common.id,"default":"",accessKey:"I"},{id:"enctype",type:"select",label:a.lang.forms.form.encoding,style:"width:100%",accessKey:"E","default":"",items:[[""],["text/plain"],["multipart/form-data"],["application/x-www-form-urlencoded"]]}]},{type:"hbox",widths:["45%","55%"],children:[{id:"target", +type:"select",label:a.lang.common.target,style:"width:100%",accessKey:"M","default":"",items:[[a.lang.common.notSet,""],[a.lang.common.targetNew,"_blank"],[a.lang.common.targetTop,"_top"],[a.lang.common.targetSelf,"_self"],[a.lang.common.targetParent,"_parent"]]},{id:"method",type:"select",label:a.lang.forms.form.method,accessKey:"M","default":"GET",items:[["GET","get"],["POST","post"]]}]}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/hiddenfield.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/hiddenfield.js new file mode 100644 index 0000000..2c7528d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/hiddenfield.js @@ -0,0 +1,7 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("hiddenfield",function(d){return{title:d.lang.forms.hidden.title,hiddenField:null,minWidth:350,minHeight:110,onShow:function(){delete this.hiddenField;var a=this.getParentEditor(),b=a.getSelection(),c=b.getSelectedElement();c&&c.data("cke-real-element-type")&&"hiddenfield"==c.data("cke-real-element-type")&&(this.hiddenField=c,c=a.restoreRealElement(this.hiddenField),this.setupContent(c),b.selectElement(this.hiddenField))},onOk:function(){var a=this.getValueOf("info","_cke_saved_name"), +b=this.getParentEditor(),a=CKEDITOR.env.ie&&8>CKEDITOR.document.$.documentMode?b.document.createElement('\x3cinput name\x3d"'+CKEDITOR.tools.htmlEncode(a)+'"\x3e'):b.document.createElement("input");a.setAttribute("type","hidden");this.commitContent(a);a=b.createFakeElement(a,"cke_hidden","hiddenfield");this.hiddenField?(a.replace(this.hiddenField),b.getSelection().selectElement(a)):b.insertElement(a);return!0},contents:[{id:"info",label:d.lang.forms.hidden.title,title:d.lang.forms.hidden.title,elements:[{id:"_cke_saved_name", +type:"text",label:d.lang.forms.hidden.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.setAttribute("name",this.getValue()):a.removeAttribute("name")}},{id:"value",type:"text",label:d.lang.forms.hidden.value,"default":"",accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/radio.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/radio.js new file mode 100644 index 0000000..8cd3bf4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/radio.js @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("radio",function(b){return{title:b.lang.forms.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,onShow:function(){delete this.radioButton;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"input"==a.getName()&&"radio"==a.getAttribute("type")&&(this.radioButton=a,this.setupContent(a))},onOk:function(){var a,c=this.radioButton,b=!c;b&&(a=this.getParentEditor(),c=a.document.createElement("input"),c.setAttribute("type","radio"));b&&a.insertElement(c);this.commitContent({element:c})}, +contents:[{id:"info",label:b.lang.forms.checkboxAndRadio.radioTitle,title:b.lang.forms.checkboxAndRadio.radioTitle,elements:[{id:"name",type:"text",label:b.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:b.lang.forms.checkboxAndRadio.value,"default":"", +accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){a=a.element;this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}},{id:"checked",type:"checkbox",label:b.lang.forms.checkboxAndRadio.selected,"default":"",accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var c=a.element;if(CKEDITOR.env.ie){var d=c.getAttribute("checked"),e=!!this.getValue();d!=e&&(d=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"radio"'+ +(e?' checked\x3d"checked"':"")+"\x3e\x3c/input\x3e",b.document),c.copyAttributes(d,{type:1,checked:1}),d.replace(c),b.getSelection().selectElement(d),a.element=d)}else this.getValue()?c.setAttribute("checked","checked"):c.removeAttribute("checked")}},{id:"required",type:"checkbox",label:b.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required", +"required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/select.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/select.js new file mode 100644 index 0000000..517ee9e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/forms/dialogs/select.js @@ -0,0 +1,20 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("select",function(c){function h(a,b,e,d,c){a=f(a);d=d?d.createElement("OPTION"):document.createElement("OPTION");if(a&&d&&"option"==d.getName())CKEDITOR.env.ie?(isNaN(parseInt(c,10))?a.$.options.add(d.$):a.$.options.add(d.$,c),d.$.innerHTML=0c?0:c).insertBeforeMe(d):a.append(d),d.setText(0b)return!1;a=a.getChild(b);a.setText(e);a.setValue(d);return a}function m(a){for(a=f(a);a.getChild(0)&&a.getChild(0).remove(););}function l(a,b,e){a=f(a);var d=g(a);if(0>d)return!1;b=d+b;b=0>b?0:b;b=b>=a.getChildCount()?a.getChildCount()-1:b;if(d==b)return!1;var d=a.getChild(d),c=d.getText(),r=d.getValue();d.remove();d=h(a,c,r,e?e:null,b);k(a,b);return d}function g(a){return(a=f(a))?a.$.selectedIndex:-1} +function k(a,b){a=f(a);if(0>b)return null;var e=a.getChildren().count();a.$.selectedIndex=b>=e?e-1:b;return a}function n(a){return(a=f(a))?a.getChildren():!1}function f(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}return{title:c.lang.forms.select.title,minWidth:CKEDITOR.env.ie?460:395,minHeight:CKEDITOR.env.ie?320:300,onShow:function(){delete this.selectBox;this.setupContent("clear");var a=this.getParentEditor().getSelection().getSelectedElement();if(a&&"select"==a.getName()){this.selectBox= +a;this.setupContent(a.getName(),a);for(var a=n(a),b=0;b+|z`)I*_@CP|H!(fcH!(dkIh!{{x(=LK)a$LnXFVdv?qII?KNcjj|q9T~>QwNi5w R16D6KTDV8!tSS?OH30pxG-Ch& literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/icons.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..eaefc17a1077fa849c3d726b14dd3cebf2c7fc0e GIT binary patch literal 20634 zcmXtg1yq#X_w_?}D;>j-(jzGyqcn�@8xgU6KNWA}R0^Qi6b#gfvo0cStu#H%P;G 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 z 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/dialogs/iframe.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/dialogs/iframe.js new file mode 100644 index 0000000..9c811a0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/dialogs/iframe.js @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){function c(b){var c=this instanceof CKEDITOR.ui.dialog.checkbox;b.hasAttribute(this.id)&&(b=b.getAttribute(this.id),c?this.setValue(e[this.id]["true"]==b.toLowerCase()):this.setValue(b))}function d(b){var c=""===this.getValue(),a=this instanceof CKEDITOR.ui.dialog.checkbox,d=this.getValue();c?b.removeAttribute(this.att||this.id):a?b.setAttribute(this.id,e[this.id][d]):b.setAttribute(this.att||this.id,d)}var e={scrolling:{"true":"yes","false":"no"},frameborder:{"true":"1","false":"0"}}; +CKEDITOR.dialog.add("iframe",function(b){var f=b.lang.iframe,a=b.lang.common,e=b.plugins.dialogadvtab;return{title:f.title,minWidth:350,minHeight:260,onShow:function(){this.fakeImage=this.iframeNode=null;var a=this.getSelectedElement();a&&a.data("cke-real-element-type")&&"iframe"==a.data("cke-real-element-type")&&(this.fakeImage=a,this.iframeNode=a=b.restoreRealElement(a),this.setupContent(a))},onOk:function(){var a;a=this.fakeImage?this.iframeNode:new CKEDITOR.dom.element("iframe");var c={},d={}; +this.commitContent(a,c,d);a=b.createFakeElement(a,"cke_iframe","iframe",!0);a.setAttributes(d);a.setStyles(c);this.fakeImage?(a.replace(this.fakeImage),b.getSelection().selectElement(a)):b.insertElement(a)},contents:[{id:"info",label:a.generalTab,accessKey:"I",elements:[{type:"vbox",padding:0,children:[{id:"src",type:"text",label:a.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(f.noUrl),setup:c,commit:d}]},{type:"hbox",children:[{id:"width",type:"text",requiredContent:"iframe[width]", +style:"width:100%",labelLayout:"vertical",label:a.width,validate:CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace("%1",a.width)),setup:c,commit:d},{id:"height",type:"text",requiredContent:"iframe[height]",style:"width:100%",labelLayout:"vertical",label:a.height,validate:CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace("%1",a.height)),setup:c,commit:d},{id:"align",type:"select",requiredContent:"iframe[align]","default":"",items:[[a.notSet,""],[a.alignLeft,"left"],[a.alignRight, +"right"],[a.alignTop,"top"],[a.alignMiddle,"middle"],[a.alignBottom,"bottom"]],style:"width:100%",labelLayout:"vertical",label:a.align,setup:function(a,b){c.apply(this,arguments);if(b){var d=b.getAttribute("align");this.setValue(d&&d.toLowerCase()||"")}},commit:function(a,b,c){d.apply(this,arguments);this.getValue()&&(c.align=this.getValue())}}]},{type:"hbox",widths:["50%","50%"],children:[{id:"scrolling",type:"checkbox",requiredContent:"iframe[scrolling]",label:f.scrolling,setup:c,commit:d},{id:"frameborder", +type:"checkbox",requiredContent:"iframe[frameborder]",label:f.border,setup:c,commit:d}]},{type:"hbox",widths:["50%","50%"],children:[{id:"name",type:"text",requiredContent:"iframe[name]",label:a.name,setup:c,commit:d},{id:"title",type:"text",requiredContent:"iframe[title]",label:a.advisoryTitle,setup:c,commit:d}]},{id:"longdesc",type:"text",requiredContent:"iframe[longdesc]",label:a.longDescr,setup:c,commit:d}]},e&&e.createAdvancedTab(b,{id:1,classes:1,styles:1},"iframe")]}})})(); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/images/placeholder.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/iframe/images/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..4af09565523acc4a8416b138be66ecca52a4782b GIT binary patch literal 265 zcmV+k0rvihP)XkV883J!H|K$G7!NmbG+#X$bL;o)Z z2G-x)N-|gt|HAb}?!Vz{?gSsK(*G1M`2U|Un|r|=kl~yoK0@(G550?550:g;d&&d.setValue(g);f&&f.setValue(c);CKEDITOR.document.getById(t).fire("click");}e(a)},C=function(a,b){function c(a,b){var c= +a.match(m);return c?("%"==c[2]&&(c[1]+="%",n(d,!1)),c[1]):b}if(1==a){var d=this.getDialog(),f="",g="txtWidth"==this.id?"width":"height",e=b.getAttribute(g);e&&(f=c(e,f));f=c(b.getStyle(g),f);this.setValue(f)}},x,u=function(){var a=this.originalElement,b=CKEDITOR.document.getById(p);a.setCustomData("isReady","true");a.removeListener("load",u);a.removeListener("error",h);a.removeListener("abort",h);b&&b.setStyle("display","none");this.dontResetSize||B(this,!1===d.config.image_prefillDimensions);this.firstLoad&& +CKEDITOR.tools.setTimeout(function(){n(this,"check")},0,this);this.dontResetSize=this.firstLoad=!1;e(this)},h=function(){var a=this.originalElement,b=CKEDITOR.document.getById(p);a.removeListener("load",u);a.removeListener("error",h);a.removeListener("abort",h);a=CKEDITOR.getUrl(CKEDITOR.plugins.get("image").path+"images/noimage.png");this.preview&&this.preview.setAttribute("src",a);b&&b.setStyle("display","none");n(this,!1)},q=function(a){return CKEDITOR.tools.getNextId()+"_"+a},t=q("btnLockSizes"), +y=q("btnResetSize"),p=q("ImagePreviewLoader"),E=q("previewLink"),D=q("previewImage");return{title:d.lang.image["image"==l?"title":"titleButton"],minWidth:420,minHeight:360,onShow:function(){this.linkEditMode=this.imageEditMode=this.linkElement=this.imageElement=!1;this.lockRatio=!0;this.userlockRatio=0;this.dontResetSize=!1;this.firstLoad=!0;this.addLink=!1;var a=this.getParentEditor(),b=a.getSelection(),c=(b=b&&b.getSelectedElement())&&a.elementPath(b).contains("a",1),d=CKEDITOR.document.getById(p); +d&&d.setStyle("display","none");x=new CKEDITOR.dom.element("img",a.document);this.preview=CKEDITOR.document.getById(D);this.originalElement=a.document.createElement("img");this.originalElement.setAttribute("alt","");this.originalElement.setCustomData("isReady","false");c&&(this.linkElement=c,this.addLink=this.linkEditMode=!0,a=c.getChildren(),1==a.count()&&(d=a.getItem(0),d.type==CKEDITOR.NODE_ELEMENT&&(d.is("img")||d.is("input"))&&(this.imageElement=a.getItem(0),this.imageElement.is("img")?this.imageEditMode= +"img":this.imageElement.is("input")&&(this.imageEditMode="input"))),"image"==l&&this.setupContent(2,c));if(this.customImageElement)this.imageEditMode="img",this.imageElement=this.customImageElement,delete this.customImageElement;else if(b&&"img"==b.getName()&&!b.data("cke-realelement")||b&&"input"==b.getName()&&"image"==b.getAttribute("type"))this.imageEditMode=b.getName(),this.imageElement=b;this.imageEditMode&&(this.cleanImageElement=this.imageElement,this.imageElement=this.cleanImageElement.clone(!0, +!0),this.setupContent(1,this.imageElement));n(this,!0);CKEDITOR.tools.trim(this.getValueOf("info","txtUrl"))||(this.preview.removeAttribute("src"),this.preview.setStyle("display","none"))},onOk:function(){if(this.imageEditMode){var a=this.imageEditMode;"image"==l&&"input"==a&&confirm(d.lang.image.button2Img)?(this.imageElement=d.document.createElement("img"),this.imageElement.setAttribute("alt",""),d.insertElement(this.imageElement)):"image"!=l&&"img"==a&&confirm(d.lang.image.img2Button)?(this.imageElement= +d.document.createElement("input"),this.imageElement.setAttributes({type:"image",alt:""}),d.insertElement(this.imageElement)):(this.imageElement=this.cleanImageElement,delete this.cleanImageElement)}else"image"==l?this.imageElement=d.document.createElement("img"):(this.imageElement=d.document.createElement("input"),this.imageElement.setAttribute("type","image")),this.imageElement.setAttribute("alt","");this.linkEditMode||(this.linkElement=d.document.createElement("a"));this.commitContent(1,this.imageElement); +this.commitContent(2,this.linkElement);this.imageElement.getAttribute("style")||this.imageElement.removeAttribute("style");this.imageEditMode?!this.linkEditMode&&this.addLink?(d.insertElement(this.linkElement),this.imageElement.appendTo(this.linkElement)):this.linkEditMode&&!this.addLink&&(d.getSelection().selectElement(this.linkElement),d.insertElement(this.imageElement)):this.addLink?this.linkEditMode?this.linkElement.equals(d.getSelection().getSelectedElement())?(this.linkElement.setHtml(""),this.linkElement.append(this.imageElement, +!1)):d.insertElement(this.imageElement):(d.insertElement(this.linkElement),this.linkElement.append(this.imageElement,!1)):d.insertElement(this.imageElement)},onLoad:function(){"image"!=l&&this.hidePage("Link");var a=this._.element.getDocument();this.getContentElement("info","ratioLock")&&(this.addFocusable(a.getById(y),5),this.addFocusable(a.getById(t),5));this.commitContent=v},onHide:function(){this.preview&&this.commitContent(8,this.preview);this.originalElement&&(this.originalElement.removeListener("load", +u),this.originalElement.removeListener("error",h),this.originalElement.removeListener("abort",h),this.originalElement.remove(),this.originalElement=!1);delete this.imageElement},contents:[{id:"info",label:d.lang.image.infoTab,accessKey:"I",elements:[{type:"vbox",padding:0,children:[{type:"hbox",widths:["280px","110px"],align:"right",children:[{id:"txtUrl",type:"text",label:d.lang.common.url,required:!0,onChange:function(){var a=this.getDialog(),b=this.getValue();if(0004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x1z|} z6>qo$Lwtz}p)D$?NhyhX&n36q%7-zr7k~vN5ebP==s7!&7xS_+d-l`|dJ;}jc6Vm} z^Ze(T=WPc0nZ-8*u7fP`T>W(0z!|y4;%^7%4=f!&dW@>*f%pLeD1xA93oM}O#)=zB z)b?!nr^6k#?%v_A$B(x&kfq~Ck5U%Bl)q~0&v$^T@$zjScFbPkt6s@#uN(tpsQ~EZ zJwP!UmV$`bNkxOeMmT<;6E29br}(O86;=QkHGUq{ZH_UvLHuqA7(-|?#y%}Zr-m<@ zRoEWEtt5Vr%*!uc0W}1hn+851CqKZLnhZ1~FHGN8W z7iZW_`!w)@VC{_~GJ^5&5H@I+F?)+owiqIS5`fJl+7cotCTW`nJ|WnwMx6I)(gvpE zogiSZ@hL$c5ByM#wg_fj2Lj-3cKGL8;e6SKr2;8oC;}xJb)Wcy|`{2E|0OjG@W+(p8#u@`h z4&doO|5A@eWLahx?NW+DCmta4now1Ynx-?3XDDh6igNqobspTf8IfG(;Ku40{?OGm zw*dQlaN{PwoH@^MIJ7n&3Wdq?6DKi7UBdQ>J`D>Zf*Ql1-{;;JR{%JCdIf;Fm1R`n z;o1g9mBnk9#>j1*TV-K>o}wtI>)OrN%-t=&6=v)pv4ax#w_d9bJU=%#MsolA%fU0} zR+c--Rb?5;a$CHs{ElM58>&glCPhVDBDco8e=uNsjO5$IKTmFcZjQ1nA;Nni#A3(f zdna+L(cnmq7!4pvo8rzJ5Ch02EAjV+d zKJq-H>o+$T(ChW6eVFRN$Ar7&w^Ch_EtB`SPa+S0>4$GP@WDG{+|BXDNz;yPthMPEwWoj$|nB zqIlOSpU8_Hf+U6bwov*CM}E4}Np5y#hP)_Hl&UPb^XXS9$q!GWz&+>nAqThSZ_7_L zm<)8^Nxcq49vjG26-AymX-b5us>Vo~C{u($m*muze7fqv_$Zc~8LbI#eRPpmM>RSc zv2|{hsw~O#JiS?P__8dy{mCUeRZ;Nk*$d28l?_Wa_@TySjV}3s+~P$&^1@90S!@b@478QGv}WD;>Ej><0| z-Ls6MEJKp_wcI3pp66s)MwVrmD5v}9Bz)o|P2$Ghog_Q#`%L(blYUHo65e7OyqCEf ze#}YK*?>RtHNK;+gl|q=W4I~c13_?AwL9G-&EWW)>ML)9Nrc(TWD0m%aWG8a9VCiA z?k)gv_F>c>awO8gp5uwDnQ$O*gM*pdwonhcj48C!)im(I1{;;9Hv+hSorA=;q0)VW zu$TCVAmJPvAC#J1YHAGiVq39%TKEEBWNLf7iz~?p>>=Sh6m)U*se6hy4ME+0GTd33 z>Gi@bXS1qg@yR`NvmWn>ah39HcopTz&JfV;LgDPFuCM=Ho9FVsA^rnywRP1%iheNw z001R)MObuXVRU6WV{&C-bY%cCFflbPFgPtRH&ih*IyE>tH8v|SGCD9Y2Grjq0000b zbVXQnWMOn=I&E)cX=Zr0) ) + { + alert("Sorry, the images pasted with Safari aren't usable"); + window.open("https://bugs.webkit.org/show_bug.cgi?id=49141"); + html = html.replace( //g, ""); + } + + // Replace data: images in Firefox and upload them + html = html.replace( //g, function( img ) + { + var data = img.match(/"data:image\/png;base64,(.*?)"/)[1]; + var id = CKEDITOR.tools.getNextId(); + + var url= editor.config.filebrowserImageUploadUrl; + if (url.indexOf("?") == -1) + url += "?"; + else + url += "&"; + url += 'CKEditor=' + editor.name + '&CKEditorFuncNum=2&langCode=' + editor.langCode; + + var xhr = new XMLHttpRequest(); + + xhr.open("POST", url); + xhr.onload = function() { + // Upon finish, get the url and update the file + var imageUrl = xhr.responseText.match(/2,\s*'(.*?)',/)[1]; + var theImage = editor.document.getById( id ); + theImage.data( 'cke-saved-src', imageUrl); + theImage.setAttribute( 'src', imageUrl); + theImage.removeAttribute( 'id' ); + } + + // Create the multipart data upload. Is it possible somehow to use FormData instead? + var BOUNDARY = "---------------------------1966284435497298061834782736"; + var rn = "\r\n"; + var req = "--" + BOUNDARY; + + req += rn + "Content-Disposition: form-data; name=\"upload\""; + + var bin = window.atob( data ); + // add timestamp? + req += "; filename=\"" + id + ".png\"" + rn + "Content-type: image/png"; + + req += rn + rn + bin + rn + "--" + BOUNDARY; + + req += "--"; + + xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + BOUNDARY); + xhr.sendAsBinary(req); + + return img.replace(/>/, ' id="' + id + '">') + + }); + + if (e.data.html) + e.data.html = html; + else + e.data.dataValue = html; + }); + + } //Init +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/LICENSE.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/LICENSE.md new file mode 100644 index 0000000..89eb881 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Moritz Maleck + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/README.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/README.md new file mode 100644 index 0000000..27d3d3f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/README.md @@ -0,0 +1,59 @@ +# Image Uploader and Browser for CKEditor +[Image Uploader and Browser for CKEditor](http://imageuploaderforckeditor.altervista.org/) is a plugin that allows you to **upload images** easily to your server and add automatically to CKEditor. Since **version 2.0** you can **browse and manage** your uploaded files online right in your browser - without using a FTP Client. The Image Browser is **responsive** and looks great on every device width. + +## Download +You can download the Image Uploader and Browser for CKEditor [here](http://ckeditor.com/addon/imageuploader). + +## Features +* Functionality: Upload, delete, download and view your PNG, JPG & GIF files. +* Secure: Only you can access the image browser by a password protection since version 4.0. +* Flexible: Do you already have your own upload folder? You can easily switch and create folders in the image browser. +* Modern UI: The Image Browser is responsive and looks great on every device width. +* Support: Regular updates and an always up to date documentation make it easy for you to install and use the browser. + +## Installation and Configuration +First extract the downloaded file into the CKEditor’s *plugins* folder. Then enable the plugin by changing or adding the extraPlugins line in your configuration (config.js): + +### Defining Configuration In-Page +``` +CKEDITOR.replace( 'editor1', { + extraPlugins: 'imageuploader' +}); +``` + +### Using the config.js File +``` +CKEDITOR.editorConfig = function( config ) { + config.extraPlugins = 'imageuploader'; +}; +``` + +Don't forget to set `CHMOD writable permission (0777)` to the **imageuploader** folder on your server. + +Please read the [Plugin FAQ](http://imageuploaderforckeditor.altervista.org/support/) for more information. + +## How to use + +### Browse and manage files +Open the **Image info** tab and click **Browse server**. A new window will open where you see all your uploaded images. Open the preview of a picture by tapping on the image. To use the file click **Use**. To upload a new image open the upload panel in the image browser. + +### Change the upload path +Open the **Image info** tab and click Browse server. A new window will open where you see all your uploaded images. Open the **Settings** to choose another upload path. + +### Further questions? +Please read the [Plugin FAQ](http://imageuploaderforckeditor.altervista.org/support/). + +## Demo +The demo can be found [here](http://imageuploaderforckeditor.altervista.org/demo.php). + +## Share +[Tweet](http://twitter.com/share?url=http://imageuploaderforckeditor.altervista.org&text=Use%20the%20Image%20Uploader%20for%20CKEditor%20for%20free%20now!%20&hashtags=imageuploaderforckeditor) or [Share on Facebook](http://www.facebook.com/sharer.php?u=http://imageuploaderforckeditor.altervista.org). + +## Support +The support site can be found [here](http://ibm.bplaced.com/contact/index.php?cdproject=Image%20Uploader%20and%20Browser%20for%20CKEditor). Before submitting a support ticket please read the [FAQ](http://imageuploaderforckeditor.altervista.org/support/). + +## License +Image Uploader and Browser for CKEditor is licensed under the MIT license: +[http://en.wikipedia.org/wiki/MIT_License](http://en.wikipedia.org/wiki/MIT_License) + +Copyright © 2015 by Moritz Maleck diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/check_permission.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/check_permission.php new file mode 100644 index 0000000..d7d4002 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/check_permission.php @@ -0,0 +1,58 @@ + + + + + + + + <?php echo $imagebrowser1; ?> :: Fujana Solutions + + + + + + + + + + + + + +
+

+

+ +
+ + + + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/create.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/create.php new file mode 100644 index 0000000..d508d5d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/create.php @@ -0,0 +1,17 @@ +j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/js.cookie-2.0.3.min.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/js.cookie-2.0.3.min.js new file mode 100644 index 0000000..ff88c76 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/js.cookie-2.0.3.min.js @@ -0,0 +1,2 @@ +/*! js-cookie v2.0.3 | MIT */ +!function(a){if("function"==typeof define&&define.amd)define(a);else if("object"==typeof exports)module.exports=a();else{var b=window.Cookies,c=window.Cookies=a(window.jQuery);c.noConflict=function(){return window.Cookies=b,c}}}(function(){function a(){for(var a=0,b={};a1){if(f=a({path:"/"},d.defaults,f),"number"==typeof f.expires){var h=new Date;h.setMilliseconds(h.getMilliseconds()+864e5*f.expires),f.expires=h}try{g=JSON.stringify(e),/^[\{\[]/.test(g)&&(e=g)}catch(i){}return e=encodeURIComponent(String(e)),e=e.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),b=encodeURIComponent(String(b)),b=b.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),b=b.replace(/[\(\)]/g,escape),document.cookie=[b,"=",e,f.expires&&"; expires="+f.expires.toUTCString(),f.path&&"; path="+f.path,f.domain&&"; domain="+f.domain,f.secure?"; secure":""].join("")}b||(g={});for(var j=document.cookie?document.cookie.split("; "):[],k=/(%[0-9A-Z]{2})+/g,l=0;l + * Licensed under MIT + */ +.la-ball-fall, +.la-ball-fall > div { + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.la-ball-fall { + display: block; + font-size: 0; + color: #fff; } + +.la-ball-fall.la-dark { + color: #333; } + +.la-ball-fall > div { + display: inline-block; + float: none; + background-color: currentColor; + border: 0 solid currentColor; } + +.la-ball-fall { + width: 54px; + height: 18px; } + +.la-ball-fall > div { + width: 10px; + height: 10px; + margin: 4px; + border-radius: 100%; + opacity: 0; + -webkit-animation: ball-fall 1s ease-in-out infinite; + -moz-animation: ball-fall 1s ease-in-out infinite; + -o-animation: ball-fall 1s ease-in-out infinite; + animation: ball-fall 1s ease-in-out infinite; } + +.la-ball-fall > div:nth-child(1) { + -webkit-animation-delay: -200ms; + -moz-animation-delay: -200ms; + -o-animation-delay: -200ms; + animation-delay: -200ms; } + +.la-ball-fall > div:nth-child(2) { + -webkit-animation-delay: -100ms; + -moz-animation-delay: -100ms; + -o-animation-delay: -100ms; + animation-delay: -100ms; } + +.la-ball-fall > div:nth-child(3) { + -webkit-animation-delay: 0ms; + -moz-animation-delay: 0ms; + -o-animation-delay: 0ms; + animation-delay: 0ms; } + +.la-ball-fall.la-sm { + width: 26px; + height: 8px; } + +.la-ball-fall.la-sm > div { + width: 4px; + height: 4px; + margin: 2px; } + +.la-ball-fall.la-2x { + width: 108px; + height: 36px; } + +.la-ball-fall.la-2x > div { + width: 20px; + height: 20px; + margin: 8px; } + +.la-ball-fall.la-3x { + width: 162px; + height: 54px; } + +.la-ball-fall.la-3x > div { + width: 30px; + height: 30px; + margin: 12px; } + +/* + * Animation + */ +@-webkit-keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + transform: translateY(145%); } } + +@-moz-keyframes ball-fall { + 0% { + opacity: 0; + -moz-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -moz-transform: translateY(145%); + transform: translateY(145%); } } + +@-o-keyframes ball-fall { + 0% { + opacity: 0; + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -o-transform: translateY(145%); + transform: translateY(145%); } } + +@keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + -moz-transform: translateY(-145%); + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + -moz-transform: translateY(145%); + -o-transform: translateY(145%); + transform: translateY(145%); } } diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/sweetalert.min.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/sweetalert.min.js new file mode 100644 index 0000000..bc78798 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/dist/sweetalert.min.js @@ -0,0 +1 @@ +!function(e,t,n){"use strict";!function o(e,t,n){function a(s,l){if(!t[s]){if(!e[s]){var i="function"==typeof require&&require;if(!l&&i)return i(s,!0);if(r)return r(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=t[s]={exports:{}};e[s][0].call(c.exports,function(t){var n=e[s][1][t];return a(n?n:t)},c,c.exports,o,e,t,n)}return t[s].exports}for(var r="function"==typeof require&&require,s=0;s=0;)n=n.replace(" "+t+" "," ");e.className=n.replace(/^\s+|\s+$/g,"")}},i=function(e){var n=t.createElement("div");return n.appendChild(t.createTextNode(e)),n.innerHTML},u=function(e){e.style.opacity="",e.style.display="block"},c=function(e){if(e&&!e.length)return u(e);for(var t=0;t0?setTimeout(o,t):e.style.display="none"});o()},h=function(n){if("function"==typeof MouseEvent){var o=new MouseEvent("click",{view:e,bubbles:!1,cancelable:!0});n.dispatchEvent(o)}else if(t.createEvent){var a=t.createEvent("MouseEvents");a.initEvent("click",!1,!1),n.dispatchEvent(a)}else t.createEventObject?n.fireEvent("onclick"):"function"==typeof n.onclick&&n.onclick()},g=function(t){"function"==typeof t.stopPropagation?(t.stopPropagation(),t.preventDefault()):e.event&&e.event.hasOwnProperty("cancelBubble")&&(e.event.cancelBubble=!0)};a.hasClass=r,a.addClass=s,a.removeClass=l,a.escapeHtml=i,a._show=u,a.show=c,a._hide=d,a.hide=f,a.isDescendant=p,a.getTopMargin=m,a.fadeIn=v,a.fadeOut=y,a.fireClick=h,a.stopEventPropagation=g},{}],5:[function(t,o,a){Object.defineProperty(a,"__esModule",{value:!0});var r=t("./handle-dom"),s=t("./handle-swal-dom"),l=function(t,o,a){var l=t||e.event,i=l.keyCode||l.which,u=a.querySelector("button.confirm"),c=a.querySelector("button.cancel"),d=a.querySelectorAll("button[tabindex]");if(-1!==[9,13,32,27].indexOf(i)){for(var f=l.target||l.srcElement,p=-1,m=0;m"),i.innerHTML=e.html?e.text:s.escapeHtml(e.text||"").split("\n").join("
"),e.text&&s.show(i),e.customClass)s.addClass(t,e.customClass),t.setAttribute("data-custom-class",e.customClass);else{var d=t.getAttribute("data-custom-class");s.removeClass(t,d),t.setAttribute("data-custom-class","")}if(s.hide(t.querySelectorAll(".sa-icon")),e.type&&!a.isIE8()){var f=function(){for(var o=!1,a=0;ao;o++)n=parseInt(e.substr(2*o,2),16),n=Math.round(Math.min(Math.max(0,n+n*t),255)).toString(16),a+=("00"+n).substr(n.length);return a};o.extend=a,o.hexToRgb=r,o.isIE8=s,o.logStr=l,o.colorLuminance=i},{}]},{},[1]),"function"==typeof define&&define.amd?define(function(){return sweetAlert}):"undefined"!=typeof module&&module.exports&&(module.exports=sweetAlert)}(window,document); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.js new file mode 100644 index 0000000..4c4b67c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.js @@ -0,0 +1,378 @@ +// Copyright (c) 2015, Fujana Solutions - Moritz Maleck. All rights reserved. +// For licensing, see LICENSE.md + +// Open image modal +function showImage(imgSrc, imgStyle) { + $("#imageFSimg").attr('src', imgSrc); + $("#imageFSimg").attr('style', 'max-width:' + imgStyle + 'px'); + + $("#imageFullSreen").show(); + $("#background").slideDown(250, "swing"); + + $("#imgActionUse").attr("onclick","useImage('" + imgSrc + "')"); + $("#imgActionDownload").attr("href", imgSrc); + +} + +// Open editbar +function showEditBar(imgSrc, imgStyle, imgID, imgName) { + var imgSrc = imgSrc; + var imgStyle = imgStyle; + var imgID = imgID; + var imgName = imgName; + + $("#editbar").slideUp(100); + $("#editbar").slideDown(100); + + $(".fileDiv,.fullWidthFileDiv").removeClass( "selected" ); + $("div[data-imgid='" + imgID +"']").addClass( "selected" ); + + $("#updates").css("visibility", "hidden"); + $("#updates").slideUp(150); + + $("#editbarDelete").attr("onclick","deleteImg('" + imgName + "', '" + imgID + "');"); + $("#editbarUse").attr("onclick","useImage('" + imgSrc + "')"); + $("#editbarView").attr("onclick","showImage('" + imgSrc + "','" + imgStyle + "')"); + $("#editbarDownload").attr("href", imgSrc); +} + +// hide editbar if user clicks outside of element +$(document).mouseup(function (e) { + var container = $(".fileDiv,.fullWidthFileDiv,#editbar"); + + if (!container.is(e.target) // if the target of the click isn't the container... + && container.has(e.target).length === 0) // ... nor a descendant of the container + { + hideEditBar(); + } +}); + +// hide editbar function +function hideEditBar() { + $("#editbar").slideUp(100); + + $(".fileDiv,.fullWidthFileDiv").removeClass( "selected" ); + + if (currentpluginver != pluginversion) { + $("#updates").slideDown(150); + $("#updates").css("visibility", "visible"); + }; +} + +// Use image and overgive image src to ckeditor +function useImage(imgSrc) { + function getUrlParam( paramName ) { + var reParam = new RegExp( '(?:[\?&]|&)' + paramName + '=([^&]+)', 'i' ) ; + var match = window.location.search.match(reParam) ; + + return ( match && match.length > 1 ) ? match[ 1 ] : null ; + } + var funcNum = getUrlParam( 'CKEditorFuncNum' ); + var imgSrc = imgSrc; + var fileUrl = imgSrc; + window.opener.CKEDITOR.tools.callFunction( funcNum, fileUrl ); + window.close(); +} + +// open upload image modal +function uploadImg() { + + $("#uploadImgDiv").show(); + $("#background2").slideDown(250, "swing"); + +} + +// open settings modal +function pluginSettings() { + + $("#settingsDiv").show(); + $("#background3").slideDown(250, "swing"); + +} + +// check if new version is available +$( document ).ready(function() { + if (currentpluginver != pluginversion) { + $("#updates").show(); + $('#updates').html("A new version of "+ pluginname +" ("+ pluginversion +") is available. Download it now!"); + }; +}); + +// call jquery lazy load +$(function() { + $("img.lazy").lazyload(); +}); + +$( document ).ready(function() { + var elem = '#uploadpathEditable'; + var text = '.saveUploadPathP'; + var btn = '.saveUploadPathA'; + var btnCancel = '#pathCancel'; + $( elem ).attr('contenteditable','true'); + $( elem ).click(function() { + $( this ).addClass("editableActive"); + $( btn ).fadeIn(); + $( text ).show(); + $( '.pathHistory' ).fadeIn(); + }); + $( btnCancel ).click(function() { + $( elem ).removeClass('editableActive'); + $( btn ).hide(); + $( text ).hide(); + $( '.pathHistory' ).hide(); + }); +}); + +function updateImagePath(){ + var name = $("#uploadpathEditable").text(); + $.ajax({ + method: "POST", + url: "pluginconfig.php", + data: { newpath: name, } + }).done(function( msg ) { + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 250); + }); +} + +function useHistoryPath(path){ + var path = path; + $.ajax({ + method: "POST", + url: "pluginconfig.php", + data: { newpath: path, } + }).done(function( msg ) { + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 250); + }); +} + +// open pluginconfig.php to change the extension settings +function extensionSettings(setting){ + var setting = setting; + $.ajax({ + method: "POST", + url: "pluginconfig.php", + data: { + extension: setting, + } + }).done(function( msg ) { + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 250); + }); +} + +// check if a file to upload is selected +function checkUpload(){ + if( document.getElementById("upload").files.length == 0 ){ + alert("Please select a file to upload."); + return false; + } +} + +// toggle the edit icons +function toggleQEditIcons(){ + $( '.fullWidthlastChild, .qEditIconsDiv' ).toggle(); +} + +// toggle the edit mode +function toogleQEditMode(){ + if($('#qEditBtnOpen').is(':visible')){ + Cookies.set('qEditMode', 'yes'); + } else { + Cookies.remove('qEditMode'); + } + toggleQEditIcons(); + $( '#qEditBtnDone, #qEditBtnOpen' ).slideToggle(); +} + +// check if qEditMode is activated +$( document ).ready(function() { + if(Cookies.get('qEditMode') == "yes"){ + toogleQEditMode(); + } +}); + +// drag n' drop +function drop(e) { + e.preventDefault(); + + var file = e.dataTransfer.files[0]; + + if(file && file.type.match("image/*")) { + + var formdata = new FormData(); + formdata.append('upload', file); + + var xhr = new XMLHttpRequest(); + xhr.open('POST', 'imgupload.php'); + xhr.send(formdata); + + xhr.onreadystatechange = function() { + if (xhr.readyState == 4 && xhr.status == 200) { + hideEditBar(); + reloadImages(); + setTimeout(function(){ + $("#dropzone").slideUp(450, "swing"); + }, 50); + } + } + } +} + +// toggle dropzone +function toggleDropzone(s) { + var elem = $("#dropzone"); + if(s == "show") { + elem.show(); + } else { + elem.hide(); + } +} + +// hide dropzone if user clicks close +$( document ).ready(function() { + $( "#dropzone" ).click(function() { + setTimeout(function(){ + toggleDropzone('hide'); + }, 500); + }); +}); + +// delete image +function deleteImg(src, imgid) { + $.ajax({ + method: "GET", + url: "imgdelete.php", + data: { + img: src, + } + }).done(function() { + var imgDiv = $( "div[data-imgid='" + imgid +"']" ); + if(Cookies.get('file_style') == "block"){ + imgDiv.addClass("deleteAnimationBlock"); + } else { + imgDiv.slideUp(250, "swing"); + } + setTimeout(function(){ + imgDiv.hide(); + hideEditBar(); + reloadImages(); + }, 320); + }); +} + + +// reload images +function reloadImages() { + $.ajaxSetup({cache:false}); + $('#files').load('function.php?f=loadImages', function(response, status, xhr) { + $("img.lazy").lazyload(); + }); +} + +// select language +function selectLang(lang) { + Cookies.set('sy_lang', lang, { expires: 1095 }); + + $('#setLangDiv').hide(); + $('#background4').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 250); +} + +// open lang panel +function openLangPanel() { + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + $("#setLangDiv").show(); + $("#background4").slideDown(250, "swing"); + }, 350); +} + +// enable news +function enableNews() { + Cookies.remove('show_news'); + + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 250); +} + +// disable news +function disableNews() { + Cookies.set('show_news', 'no', { expires: 7 }); + + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 250); +} + +function logOut(){ + $.ajax({ + method: "POST", + url: "logout.php", + }).done(function( msg ) { + $('#settingsDiv').hide(); + $('#background3').slideUp(250, 'swing'); + + setTimeout(function(){ + location.reload(); + }, 300); + }); +} + +// keyboard shortcuts +$(document).keyup(function (e){ + // left arrow and top arrow + if (e.keyCode == 37 || e.keyCode == 38) { + var imgID = $(".selected").data("imgid"); + if(typeof imgID === 'undefined'){ + var imgID = 2; + }; + var next = --imgID; + $( "div[data-imgid='" + next +"']" ).trigger( "click" ); + } + // right arrow and bottom arrow + if (e.keyCode == 39 || e.keyCode == 40) { + var imgID = $(".selected").data("imgid"); + if(typeof imgID === 'undefined'){ + var imgID = 0; + }; + var next = ++imgID; + $( "div[data-imgid='" + next +"']" ).trigger( "click" ); + } + // space + if (e.keyCode == 32) { + if($('#imageFullSreen').is(':visible')){ + $( "#imageFullSreenClose" ).trigger( "click" ); + } else { + var imgID = $(".selected").data("imgid"); + if(typeof imgID !== 'undefined'){ + $( "#editbarView" ).trigger( "click" ); + } + } + } +}) \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.php new file mode 100644 index 0000000..87b0c0f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/function.php @@ -0,0 +1,101 @@ += 0; $i--): + $image = $files[$i]; + $image_pathinfo = pathinfo($image); + $image_extension = $image_pathinfo['extension']; + $image_filename = $image_pathinfo['filename']; + $image_basename = $image_pathinfo['basename']; + + // image src/url + $protocol = !empty($_SERVER['HTTPS']) ? 'https://' : 'http://'; + $site = $protocol. $_SERVER['SERVER_NAME'] .'/'; + $image_url = $site.$useruploadfolder."/".$image_basename; + + $size = getimagesize($image); + $image_height = $size[0]; + $file_size_byte = filesize($image); + $file_size_kilobyte = ($file_size_byte/1024); + $file_size_kilobyte_rounded = round($file_size_kilobyte,1); + $filesizetemp = $file_size_kilobyte_rounded; + $filesizefinal = round($filesizefinal + $filesizetemp) . " KB"; + $calcsize = round($filesizefinal + $filesizetemp); + $count = ++$count; + + if($file_style == "block") { ?> +
+
+

+

+

KB

+
+ +
+
+

+ +
+ +
+ +

+

KB

+

+
+
"; + $calcsize = 0; + } + if($calcsize == 0){ + $filesizefinal = "0 KB"; + } + if($calcsize >= 1024){ + $filesizefinal = round($filesizefinal/1024,1) . " MB"; + } + + echo " + + "; + } else { + echo '
'.$alerts9.' '.$useruploadfolder.' '.$alerts10; + } +} + +function pathHistory() { + require(__DIR__ . '/pluginconfig.php'); + $latestpathes = array_slice($foldershistory, -3); + $latestpathes = array_reverse($latestpathes); + foreach($latestpathes as $folder) { + echo '

'.$folder.'

'; + } +} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-ico-browser.ico b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-ico-browser.ico new file mode 100644 index 0000000000000000000000000000000000000000..fc322efaebeda7e955a84136694ad166a3270975 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-block.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-block.png new file mode 100644 index 0000000000000000000000000000000000000000..5642132c449b66d2458ad4ce61eabf3906198a20 GIT binary patch literal 1363 zcmV-Z1+4msP)ThNC`^lpC(oi^t%)y ztkAWfA6S?KB2kbaWm!aI6yzU8C8dG=07$~<$cdN&+|R^dw!qi)&LO`0JZ=13yc*C*8iFc)nR(PqWlx4N2*cCsX%jH zr)m_k9Oy2`G2-8^TuXr?z+qrXAb--FsRIrIe*i6kKL7BKg^YzJSO&c8;RqH|pQb=ju8;?<@}%cDFs%RY_izLW=>~>?XEKB=Q89;r&KyE6 zu*&;^Rlr<*x-`#}FDOUI6pFh!qRa{C;Wwz)vOeJ4gz{EmF|)Gx-HIB3cQo%$q&G&9 zF1|8{fRc(FGyt2mY-Ngnm)g7v%t+(6D{2A0(DZM><(j`v^L|H$Lms$7nt_LbqgL76 z6#q8M?kMmOaGJ|+?;{rjpXqN8un^d#Wsd@{1C7924$%~3Re1ydIJPkgoB;j`uyt_~ z81WSvwa4`LBj-g8>WO>nLu6@O4t!^E^Z|=J{4S;go3w0I%FExQHcyeff|d-e2-pIg zl0te8@Uz+uSbjagPT~f+B0vbpkTNS)tEb%5GtI+MBIJ=20X8lH1}y>0kl|H8HZ8MA zTpb`}kySo`w0@gD-4r+0yig%|&;eYl0&LV050@d}<_!KdS~iSqercQIeU%WBh1JSA zlEME9a2wEs44s{p{YJHEMS5qehohoGK$c0nMO`Ev09%j)nfFj{F&%Rp3QX!65^Q+yl3&OM@GUR@D0+K zjUj|dEw(`Oejz?iKZ)GWn^c6kA2bn9{$Aj`0RAM*ruhDEKR*IzXT5(?MVBIDJ_4@S zys5y8$c1Mg#l3Yt@#1g*iCKjTxl>=%*nN)7!Rg4gdJln%iCa-4@RR0kCf+pXAi=Wz zzz4`}ZVU0es0a3{-(!J7)>!2ONF$u-*fb#{Bhvcaz0WJ;0Zo5wIdvjq_BrIz(*<0G z>?;>pzKhj&cZQGxa4Qnq8Uk+g2sJQqfCzY#;@hKF$Tm%1XXP~@8>A7s%~Roet1_RE z2BeXq1X~|wASa1m)yIxQdxgBM>03Oc*ANS-Lwe*6tMEElH;*+4v(Rs-_`gcx+H zuYDZy3RyusW;X(NBi}JrBoN~;Zn5w^4UX*ww^n*}omzX}mza3Qc3S-Ezr%^u>=V4+*-PN6<->eRcitZ0^qfMBnC%qD zcGI3=;A`abh8wtxAb&Wh37HG+z_-A&$PqtFNGN|fhz$9-R8(pH33F$kjB8aJ{suNT VHSu?%{w4qb002ovPDHLkV1oNideHy? literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-browser.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..cc960898e7d0a8ca94eb9c85b81435912f5427bc GIT binary patch literal 723 zcmV;^0xbQBP)FzG>4ey@@&pt1n=h?HSCL>0S7_qc7%>>Ox ztd!@ank8s9VrgfZkr7s!EfTZ`YN1w|Eh1qEiVdqhd`&4fi~#XuR3E$s;>jq2xCdzH z9dSZOz$IDuMn46gL~U?5Y_Iv!iRl>_c{X<}_1+39hqwo57~;=}6)+uFIwAaiN^CS{ zlR(Pl^0D>R>#TA}_tXUm#5d}M1nq&LF}novZk0GO$lLcHl|$&>ixS9LFC*^A&#z_? z5*o8>dq)I}Z`29TUvo=__1)}%(U=Y1x#y_4BljOX*47=-R8b&ZJww^9-r?VxYR^!% zZb+2R7nceZsHH~ve9?etsYsBS)i2-F9$en1Z??DVh9uWZS+xh3H@RM_|FWkGm5kbh z%bPA#GO9u@-_F9$z>2;h;|seGCpn0d92|^n>Jt*rm0&BC5+SWr3dVCK{XtxT6%irS z;pg=Q8H{Y!AcXc!Zs-FdKT?M^#_ww%;_xs36@hxh8Vc!~-1sL#Xkg@nHX-p`>BtC_ zBi7IznM&_T+U8$|j;hK(*W`{IR{0JnSxYrYjNku1AXDi*38IBc=@TM<6kQ7cII0G@ zdUs9H&#h)4Ewa~rd|_9AkkIUB3F6$P7m5(*kgWq|DPIYqbYgzz;pw*Lzp5eqk3P+! zt|v6Tb->gOL5&F{EI8oSsu37SPB&}-l$b!mVkQ@HGr5RkfV++ZZcg@Y{4j%Lx7u?a zDJGDxV1Nr^fD2+Im%&JG9s^v^3^+#Z*^C%5V#LUa=MO+CGJ((kybAyT002ovPDHLk FV1l*wN>2a) literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-bug.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-bug.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8fa7d0499b2bbb25e084bd1dfc755a04e06a19 GIT binary patch literal 1283 zcmV+e1^oJnP)z(@^NCfeI{LT8ZdrO>=TfQt_zq}t-C#f_RPo?6@>0jnpv_+aKrkAmdXRnfs6 zO0oU(#`@&_aiW7eQ}uyqKyKO@T1m;lmFO7B#nq66iw`C-#l#^wb(JXl$hC^(`yV0ssn&F|=^>=ku4LjCW zxbumuaAcSOS5`A0zH=F8u`>#qym z_1Bx;&6gXoL})pD9u4#*0%|7@004loD;c(C6tbpnvw!{hZ`L%ttZ8^)cgq92TORrC z_vtoUGYX7d$po^h0h!pVe0C%P+YYYH{X6BYCAMaCiL!Ky5}_MgGrD)mTT8rx_WP$x z`P%G>JYD3W)**{8J$n(W=qMst)9{v_z3{?Kfm&zCOp`!P(PSQ?#zl$n5H(VdBLDz! zw^UmASt55!rG>QhAHdHNNn7tB{PIM&yvpzpEzf^GY)?vL{_|m*hiIA0t4wMHf}5*L zZk*fi_a;7(+wb@28>^ejjYZP$ASj+K?CpG?l*q!~&i62|Qo%K8B4=~}%hvSr#6D8f z%K!`n*kmJn@T&6!h&*E7b0?p;Nr}vzeBuD`{VbH1WEM;wR6Nu=36!IXlGF~xOM#T>$pU29e?~9l}-FEk%yK5 zSJgNYyn>4N%G+a~$i4Em7pCUXCIDR>5GcB;=@0=km& zK-+jVE|CY?#;Z$HK>+{&9-=bs_^fHPMiQwR4FG5dN97bL_=qYqXX?dKMCMGr2*B_r zqzY2kBId!^mCPt2W!iNu000Qfrc?!lHTCLwL|9X=hI4}o3J!z-xye>Tq6jKv%8 z-u}4p?(Gk@X2hl)VeME!&BPyAyn>1(-{KY2yGR_!DVp5>dqV3b`acO>MW4nla(R`B tt?JJjLGn2D{{ndh6)#1)a)m4O@gE2HVw4CV@=yQ(002ovPDHLkV1m5XbAA8- literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close-black.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close-black.png new file mode 100644 index 0000000000000000000000000000000000000000..526c34cd04a19ab3a28f9e6826e6162602214872 GIT binary patch literal 403 zcmV;E0c`$>P)g>$1Jp_A06KCGK^cd{!P369#EkwKUnPGBH1ZO{Xfzs)-k})d z5dgf_2Y?vk(QEwx;Gn8ERh?CJ7LgNs4-vWK^;Pu)z=68KGh%_cu=aRDqB4$;c0ZbMMwr*64DM36Swv$p-6B|>C5RtP9;ejbd zsA{4hn3(1W2BsT?1=Ag(7Skod8M80K3DX8a#c2BHWSR4*s_KK}r-*!u$TxsJfPMX&;on2+%SBdsSU|Lu>%(To4TyRn?6P1j#=nuX95*>^eHs zL}a@lK+8mAJH``>19UXHSvZ_}!z?;yLUo!wu@k(aQPqrOx%6Tqtb7R(n%&Zi zjP*?Z${R<+Lw^7iByWbfw=nm|F!$)`jdLBZp+Ka--0H+t)fLIJi&qTZICqmS0p`}N zK1P^B)_KS}HJth?M+D3RL2awgRyd6s2niIO5aEZQvE?hi4DMvHcu1g0e#CzA2c`otj2C>d|qSX~A-R6?~#xp>3>OH!rh=n zJ6*%vq;Lulr>78BuPkMQ2ikmxBhxxwX*evK(H_pzUcq?FY%fdKb$o}5o_f5+)mz6i zONQCa?cP1)%n}9Q>~=lffLU?g(pG61I~zDYSaLL6oV=nhp~i^$I6 zB>*Q8*)95+Q{MoPi^vv05jIIB$+G?({>#1J`wt~*k{hIdPbmNZ002ovPDHLkV1fuF BIJE!( literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-close.png new file mode 100644 index 0000000000000000000000000000000000000000..ccdf306f911a6817d605f25d0381fded5976ea5a GIT binary patch literal 479 zcmV<50U-W~P)=2$5%E5ru?@B?6DCZUm|c{NZVE=9N=BY_=INevqYQx6a#1p}Eg1#eBwJW57Yd!2 z0^)*^L)gT_FTRsD@q{4-qY--Hoh%rQ#343`u?znPu}N$oQ_9gHpZ9n21v=|#KL59R>jV{%*+Z z08k*U7kglgHc0R6w9k8onG8k?WUkS+OhMh3}VF{7>D#!%P$*lje62cHsung3RS7 z_H2$7P8gb?7k@_3L<(V9zejIVz}PfVI(oZwhIj>|QDKu?O5*(+kEKv>34tkoO93joO{nbzaM0gMHX4iB!r6arizL(tY*(tIRjuwTiHpU zuQyY9i;8h!m@Cv>Qp2bWE3KhKKuV^ZfUwAiRpgZjfSPeFCJTUeDWgNY z`}y^Iq+}Oh*K$f7A*9&%?iVeMlL=;&foXOgz>bi+G7-#l3r(l> zq}P5L#Hy)sW^9!+q9*i6rqZez=u(tdhvbrqxFP||)DsYDK~f|TQHqWxrZ58*>ojCQ zDy?CtSs&?~th!z6bKv!P=(z0S=3un?7P&(_c;78*R`fHkI53Gvqe=vnst|zmI{HBt zCch7xf}<_vbpEq|`fcl2cz+f4y!ilxZe8WCi>)+$c#5U-ukgYXJs4J*&U(M72^CE> zfiobhlAYi8=^~b|TEqI<2CzEQE1P~=j=xWP>o4qjsXGk`wGs+i7g_2-KH5?qb-r%* z#Lfd)oouLU;bzZTAg7O)FXek|!+_gSOblWsG5KHLrz!2Y_ILW087Xetj zbP4O9-Nc;IVnDE=wt=@^?WU)%pYp^rp;$seCj&`~czqt~x2=muet2Mr18?u8!*`xw zAV@F}Mc(k@UKK|_E zWB70TQ}jmsem?)?INM*}0f608P4kb?eR$JMGA^#lH_^1g`g7kI&6tv~WVb1xpskpKtW^5|QJ@Akn4@vEd^LJCESTQt||}|x(oQN)knwqcAnh4k!6+3DV|#lKwobk?dRHP`LY=^6pA{ZRINs_ zX%SFv=3;nr%hUZpYF8Q#;}47w42CexFaTDof!%Jy>2zYVriq!LfA8_HmAcRvv@$TZ zXcv;IEz5}HL8S!6Nu_z$qEX`7K5?%@Cc002ovPDHLkV1fzy BVe$X~ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-credits.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-credits.png new file mode 100644 index 0000000000000000000000000000000000000000..9be8676ec240412f5dc4b92bbac50d8df97fbb54 GIT binary patch literal 1754 zcmV<01||84P)-nzQ;vO!xmaP7)AR6rLLG*glh;&6uqcVWB` z#YUsi#3<;UnlRDCXbdbdCN(BHAraJzjcgc2@asi;y3_V_ec8ba({J)5ZO?grzvuJ( zUY^rKNJ}lX)YAV#?G%^pmIgl$sqq`ThW4#Q5>vkjlV?BaJNj|#e*5k_`f;rP;7cFz zdmp*JYiQp}Slj!1P}DAaDK6!qsJ6Ndwfnj3j*x)<1hlN7vxkQ_z~KRk;~R2drB}rc9XJW`_+^MEa`|Bbq6zeyNH+~(V#D6? z%a9J7tnk~lOG3M!TWr(^X{Tt)8{pvYi&m!9!$%;T`n?EYjYc9<0#O*k+--;tAF1%? z?~67U4NG1>yW|aU=-kr5yCdE*0L*_Sgbn#L=Ix==@Or;VxT?1 zE;J89alDV|MPztiMYuPE5lmEdD$ZlJ>b#jNj%~NIhliJ9jHW>dA;cTtur0U~J+a-T zPA1LGqT*OD{AqYLnXaYkLg8dFrJUZ{zDKCpU)TOW{Wa$i4a1# zsNvzFhKCSBL=zV_nNKs*DU zk@ZzZ)>kAGRIU4^Nz);<(%2RZeX(Vbc0ZTx?BT)3$2JN+eY{q|TjK&NspnZqJul27 zTl4;t*C3{k7ya<@vF6W@a&4zW`zSt&&|n;4eFTxj!CT_g8Hh(ebUaJShZPZV9;-Fe z>ewd`r_O+nA6yL^BM1$~5fozZ1;dYR8H5l*b`B<9>rZC>E`~diMkIaux5%-tu7)3b zKNp(*?1#uRxm@21xLQ6~MF*?s=sS(2@@tW2a=G3ozxg42=>6{_$G*B6IdJwyUvlcM ztz+E{Y03JZt?CswFqCCweT|WIbSwLRrlVtbtc7+ZF2a{V#jvhBUE4A8W$`*49lJvh zjQ>PS`Yl%0*SOg5>#hS3LI@*kv#g?nk@U6Tz|^1C0$4>yK!4tGp|wDK8NhEWz;26< zj@{{&_AKYWYt0{mPNI0D&2q#j@w;}%L3IYc)OxjrE?f6?WUy2}O!6Kh=RaGm+ZEB0 znr0OptZb~=9d_+`yXsE+GC)TLv$lv#Z+352;v(qiNYOSU4;Or?)2@M7X_eot5%`S- zY#;k|QwU!M=t#q3&GV$u){(*LX7_I&`xVsixgroF>tJMU)>RN%(m_Y#fB5w|bngGL zHpDoxgb-qZ5JE`DII^|o`BLlf>vN!$_-#hk+y`M~Z6l?sbf~gu@D(6wcxuhtk^Iz_ zUM@$ZJ8JM22pvtLbMM!+qOoYrwSy2+J1U){-+>+&FMw#EB{l6D2*n$1jI4u}HlpG; z7HUSr5hM-1YQgV$+ZGKCd7nnp?*kmg$l6j#$Eu!Q%cb-5RYulV?Z0)5W3g6R6=1Hp z3PA`VtfEdA&yIn~dw%T{sNr)?EjMkSXMc<@f;dEl8a@ZVK8L_Vhwl|Tq@us)I!Hdf zw2~cT6&=3RI=T`cT8H9tz4kiBvFJ;!gBpGnzSKH`>dZzY3We_KVQ3d4Yd7sM!Pw(> z>DXlPaJ1J(O^`JBuEfPc0~tj?eYUJVw43(@f)GMzN&S|V)PIT{MTxIk&Z(hSmK(K4 z887FGX(aFd!`dW9R{voX{rY`C$me=#e=kk32Zzr!{3y{i^hUTmRqYXXy<-tV2qSCR za)%p3{is>Hv^@BZWyjv$3mf)vsweSyxur zfQo+~@(tjvri|o6T&#t4m)BUg7)f2W9#@+B$H*$$g4LmDQGMz@tg$Y2%i7+J4yiT% wBBF4TXaCE(s3xl!Y_+Mh)KW_=wdA_~1#`zO)*RR}NB{r;07*qoM6N<$f_>v!u>b%7 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-delete.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-delete.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8cf1b96cfb151ae4f08742344e455fa108c91b GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fFz)wsaSX|5d^>Yv)}a8Aw$B`P zP5l?#Pbin@RIzt+JXHxeaS zCL-L^d_AJd?#J|Mz9%(zikC~U9X2?#-{nRIR{(RO<{hbkW}ye3_dYKxDrOEpL(+beMXRdqt6WFQAf5bgUmCfPHPki^98_&1=QMN#A zWWDp{uGDo?`d;ji6tgs&D3svJuqrBf%a-+VFUl8KF3YlA5S8pQdn=I6vh|pAT}pY? zHRh&g7HhYOG^}EYxVig;`6d3?oBc1!-^qzT*`iibY`ygCtjn_|T%M(JE$cim!%XmQ1Yp1kk8^Znk5*JoDzHSp(oTAKExG_CXVx5IPxoa=d4onP7MGWAIN zciI1Uujm_faNn)_ve0|c>vnI;4(?m7JckXQ1XrwbUUs|R?n!aUjr#6O{oR-N@2-^c%MUW0b+u)z4*}Q$iB}1T5-0 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-disable.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-disable.png new file mode 100644 index 0000000000000000000000000000000000000000..9e36600de45e4c441d72a70387b8eeffc7b33251 GIT binary patch literal 1176 zcmV;J1ZVq+P)X({jG8q53)s?HTkFoa&;?35|Lx^dIbigPX%re3H9RAY4%bXc097*LOHsv@J_0~Ix(&m+7`w!BN6kt@Y&7iB<2t2SV*djWVEsPGv+j3s;I z=;&9))DXykYQD9GOtuYC&j8mJQvfiG;vlI@ee(I#yx(B00kv(@dTvN>AYbLaS|J;O`I$35p9kg5H2I9ZD&|Fr_2t4Y-UO%Wb?Z9L~QGt+q)A z%nUTX1pE7-Zu`od+6Z*@LCYSal%Ur(Sp#|lTU%jAJ6JZf9fU0n|K)6Hfai~ZZNno^ z!L}z1q}7Cup*Nt^Pg>5vaY&rXWwfFF@bXU7M&P-_-Wb4S90pHl(<0VMEk#FA4L4O# zarG>^m)l*1^`rJ^$^HC zT4KHl<$7BfE7xfA;sH)cZ{kiJ$z%-x@|_Xw;w^Wp)NglORM`Y(X25w|u1Pj`Xj&Cb@>p>Bs!3IHVgwF%A0fE+vX2ZFu} zwUOlub~*{ap2;cM(Dsh0i6M!NjhPS)*8qSxs}AQEKN*LPCg^Nl{)ja)p*}OM%G|)^ zt9pP-1;;kmFTSJz#?N}ipP%v8#DOPaJg*bAk(HEO#Oe;+KyDfxD>yiQ7Uur+t|#Nr z)w=i@yz7o7owzXT@d`nyeu<50-@ps-F@*qS9iq_T)YPa~^vK}iozKTYCq@QgZ;NNT zu*my&!K%~>}@uP18;=~6*KJ^=C zfB|Bo$NdKR?*M@1z5@IeD7G*%xU>g3{0(G4jwXKxc`-8=jT%85ZD|hLvb3)UN8saODufjk&KfppM|C-}+zwN46BI`Q}Qp qW&03yH;OjtO=^!wN+_WO|M&;gk!|~+lbL@200009{y&a>uWq z(|hmSuif;YOeUG{-2eUG$DDKSnGeP>j1+%fbW3s z_4$}10-AySzyJ_CUUz|gKoemn)d?$rV<}OCz(HU;upF2LR0EUrs@7*Mz?;A!;C`z8 zFF@;P4xk?BO$j&$Yy@gOxTXW0KwpZl2dE38Gy`qGE$#3!(2mS@UQ7ZyfGf)V7qBt_ z?=VEjc1UJzFYrhi`Y8b2seZN+@ZE`kca``a@LDM140LE;F|eCJgLz8{?*NS<2rbd1 zea67HykxInR$?>FY2Z`IJ|OHz+{vD?Gw@1xT>0#+mc3@h&@_c>OEixSf63D2GR60mR_tG6R|@CyOFRM8N>ka zREAvza30aN%!YWs8gI;}&kB`DHXH++EbP0~_QR13A3|nk5Xpnejdw5!Nn@?@Uqqt04=R*nAj`;QAd`{V-E1kK7PyXMno$B) z1990}jfm@vfn5yufW`P+Z9lf)&Vtp}I;BRlEJR89f~-<0BX@hKKu_>6M;QQ zc013LqZk#y1so1m5pq6=fz>%Wj*w3bp|B3obQFhzT?;1Y6atFzMGYoczv$YyM;m?+ zSdPip5BgY^;zZnm2*Rd`Xh})*v2B8UW3R!-#=ZdC9h6ir7tg$sF)J zrii^I1Yv}f_LE}vXl%2!n3dQSk~qSwOcIdF;mv9=0Xf)8l)_4k1GtKmF+)@%D}dKA zF7_t!ewGz=7}p#lS#KAT2f1Pfl6E8!J8`j(2T^K?7EA^ZBgx!h0QP9su_y_*tcd-Wsl+cI)~Ck**-gDJoQ#N?t~600000NkvXXu0mjfL1y36$U-V8anga4B?<9BeX9f+ft@XuA#q&?Px)@`cbPvFCgr2yJS>AHERU zH1?c9cC#ZYB8}^gl)h|YM|K0DOA7aCec8nC$ZmE-MWmr3(ohj;Y)XXCrq=N=HKak~ zl?XgDtbTkUaQ1AGXtyf``1mZ50(^`jF=D{guc2@m)EA4tVq8U)7%^y0p|{|9JEz$5 z|3K&x>zec9BF$OcN%$f&-DLM0N|?mRwaMnl4C3#9ri_@% literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-edit.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..d00f46fc70710a40d7c764585632b1b1e2e1fba4 GIT binary patch literal 758 zcmV6Hyq3-{P<5-^+pUVzzy%m`vBhvfM9GjLqD%JU<=6BAOao_}TscumHhm$v|p z+Y7+UtLmd~k%+ftAA@Wy;WZiVyo8w{KV(7tU0GhotLoG5;c&lhFN1u#h-x10d>jsC z9yYFo*rCvjA_#vf5|k0{6lj3@66mEY8+yvLJ4c1wsi~v_Drh?YQ0?wts9@s1IMy!@iry**8{SzE@Qt zI2zpbOK%qQ9cUIF0EQD|aL>PZ41?hT#sbTfG)AS+qT#FTPDWOGf8Gfg2@fz7a3~p^ zkdC2y;a$^fQcfQr|SfI~!^# zrw@~!2gJeygataaBvxp%=;A&hyTyZ|xV%;)d2H%w`DLyhu3j9xaj^f#nV}7H>5}YtGG(ZdW|Ekwh%Hg9qFqEVpg3qpt;IpAI7-kAhH6T)6r#{Bbr4Y~ z)Ye|C6a?WpC8Xlg;}DTNczikDa4+}$I4)MKSRBWlE*)f!7xs6D_5H@qa&LPxMPstF zC4~iM5`|A*G%>6zV+p*Ej!@ZGlO!yl$;FStNdt=RK+8;b7Wu-E`En)sdz zvW2p`g17l8DwFlq=di$}ULqIv6O6q(2(ksQ)`1{fF!t_nVLyQvO$2#5>%yybz>6kI z?jzb=pUN*?QVI(wvzNW^&nw8*!2HSAMH{c>8!ERe<>~+fl4hgX>O<0O z{bt6%{K8eQ+3F*guS3xt0Dz)9D4aCVZ1pj&ULnYH`8t}dJ_Olf%YYzTkTe^-Xb#LM zjKMj`nK58Y9rWfVjxelmrx)2U@X{qE+FdeXpj|0fX?Mwl0bflL+FdeXfUK`R)9x~6 t;D0dSXHuT8Cdscllk&J&v10uNeF4dxb@wuq6b}FZ002ovPDHLkV1mcvk6W3 z;*95z%b1Fik1u$QIPI`!klacNtGm-E=<6ux>-e<&8ske6U69$$G1$d8I>hAXE;=CN zOA?HuLjb_)?u_+bLEiuX6!djEAamO}0KiXUzwA*n<6tV)hin}z0|2%Tmdn=6%x&lV z4>2F1#ht1DTJtUByotT&z&4KOl`mVu_KK*|tqAVPNo7@0+LeSS+pj6`f-R|IlioIqLzn!v~`>N+{Z`htk{1;M53!N@FP zy+L{);V0Lv)2g&wx}FY5>D|#j6tZfbVqzxje@JtGqjg%9u9*jbqdTSA5HS-*`%uVs zQ+JF+&^{ERVHWXLWrb| zN@lG?hs2|^izYF>NnU$klG*kNTw;o!6W_fzVo2t3I1zd%@M_6UE=HC!%o>JUcg#Or zq`K@I(-r5E=2_>QITR9<4!oTeciQ0YTRZbNt25%SRyZ**erAyPUCJM1og%U}flC}{ OFN3G6pUXO@geCx`JUg%e literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-hideext.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-hideext.png new file mode 100644 index 0000000000000000000000000000000000000000..cffc4ab373a62da059be7ca49f6ff89f123140ef GIT binary patch literal 940 zcmV;d15^BoP)c)VAEiH=w zfeS$pht@i17qjs*_<`RG7cNu;sa7l6MK`sA*jhm_g5nGcwahTnX)9@^Ce7<2ZPVN2 zHnrv?oBLbko{#tUKAdyjd$<8dj=oD`*KxLcOmpaRVt=*w_ngI>CYOnz(^axSKsk7} zXY9C%_{IS?2i*7!LKp`qE)q5wgfI>OW+Czd0Ola_1^{Lt@(KXChsZks=81*kv{ zzJ){+tbcfs(2eG-$pa{?7L}H0s5-2FWY5nyK=9FJe(t*U?GsfRN4kQ?vJEo|5O~#@ zmc01OK{D8iE7@mN)5w-!{cIk_0Nmp-*0*1_w8@gCEIfY|Z^L0Lgb3b!2PnRD4OzC_ zGDqRG?pnLR&c_%)W#lns10Pd4E-t6|%oSYASK`@LgSX*O5<*;f8xG^C-GMA!MsfJU z%#~Ob9q`rJ`4}ssf!AG@XB{3Q-t&~A+MP+`ZMA?vJT~z=sqvRD&`-mbxgyj7w=?+| z1E}bGV{K67%egSXG>96@ka&9=W2cUSCT52F)y~J*7AlDjq&H4L#M)ZYy5j8*?2<=d zg`H19t`Z^{-k+J;CZv!~H6ddFBV`rojUssWHQ}k*k=Etex;?!*O-jY~4QLGDzZE}P z8zz&lO(h?1ZzJ{~bz?|YrwkCnb2}enhxq;4O{{*|k;=ip7 zS%>)j=+NNQScQ9bKE_ty!%v&}RFOJ+IyA`V-}aE`@3U4LO)z%q2(h*n^q;@^+_-mU z@_&{75WR2bWAru}h;$OV-fT7WmnZA|%xWVpWRV{o9<(-#)cZP~*{*>7(a({hq3SRy zjq{o;oG9(+p7q~N<7L#hvF9KVp2yUazKz|7vJEo60+Slq60AoEtFmU+goJk>jk9eV z%lO=+H#ccjRZ-OMt{0&Wl`0Wk37{%{i1sSdS~?WJC%wI9zsWmtl+ssAcqO?ma(&?d O00007YY?Dw1psb6;T3R=%N9k8EomI z;HH~IB57J_NCWw4oRUPx*Tp!MF^)NBk~kANFFXVS6XxN2KMv#&A|fIpBI2juP?>;6 zmyrp6@&y`Q#-TF7C!x_8v>^Nmjd4uE>zC~T%VeO@Eze)H_f)nRM1mRbU$iF~A@U#` zjRUzE;M>>;i|uj>f$cG18R(xnJvdi{ux)6DiIGP~DLEp35)X zEs_g+BU0Uvkqr?XPZD(YI41M?37~(sOEkWi-#@fSE2ZLik{}y0`8glp`;D(pfgf?; z&#w9DEHPY>!t=m?35&`aXT{hVj!0!q?vk)*rPR?7X{A(0iEN0V5aFzt7a~TQq7dn> z6l=vU_Ens{R=gJ}uQ*rgHhR)tvC9LBdR#&+D&t>*TV`+~dh-5C-R5MP*bd9Tt1@cQ z8`|4kyEGUPBTaEK%`Rb4UNI}CzqL!$qB81n2^ag!GJ_HM9hJBxEShhWE(wdqO9__; zOb2QIBF*=TYl-|6ag?xVt}~rI{fQW9YCFAo$UP&dE=fH_7?;04k<&%@m8!g8lVDta z_agOo?kiQA4RA>?EWbOE&Yt^96=(P*7?$6?h@Mnk(M-tq(%w;U{y}xb_&7ijA0kBj zh7j=^EFzEPPwdBXt#Cb+(ZA@iPlm=|?u-whG48835fKp)kzwZw7k0H!*YCv-00000 LNkvXXu0mjfK;;&M literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-images.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-images.png new file mode 100644 index 0000000000000000000000000000000000000000..09e88073fcdb736f566887a20ac76d38dafe35cf GIT binary patch literal 1168 zcmV;B1aJF^P)iYL&jMMfPH&>pS;q3{u#efg8TEg1&OuK#;B5kReVmbHfI4S~cKm zShq5zTWqP>Fx^t`!md_UTCJV`Dpq5{G&MCQ*ZkLh_afXcxtPQ=cj-d82flFRM=tl_ ze$SH&Q7Gh+OD?%yiGoAj16oUo4R^kB6HAwySV~j|*q%HfS{e>5#D+WHX%h>vDL1in z(Ll})JwrQnAHP1Fz-mekA}oUQu`uPHa;mK2w$5DI|e0h zo25f2XI#*oNX_>%G4YV}zDUjb$9x2rfHAS%GC|TOlaMq|gvCLE!)iD$lw^$Sa|OID zN?vw4RA9RkiH@i7Ec3fJjiBXg&hBU?<+x&JHJ!{jx0aSXbnJXVC-v<7LvM^ z0N^R>B**{ymw9We-WfrVWoycvc<>J3?grM{fx8t1bLDciw2!u13}M4ZVyp9PrG#P6Wn$9O#>8qzUdg~=zDWN%Ep#@`BYA3>z|Njijw zaA*P7cYH|12`qg?)>8+7BoN*f$^zLAZJ^(w&k4~ro8kZSc=Ek#hW(JaTC)D=#_OnP z{H-uO0`E<7`{V0fhu&JcW;1rFqlt^XTLA;a&C|9BtaAevc;~GW0!B?(2z1c zjhX9bl2eN*O>C#RT7rN>gWiEUX`8)cyb7z{88Vf2LLT15KXlsx0KU-Xfm@3=erZjX z5nQ10o1XM9#4da7p}*OiI$L1uYrvJu)rd?SBM6V}BzgzxVC-wa2d%w@g^W&LB#6l; z7SWF=+yF>z?3eoVo9U4x--kwBvpFZCpb#Mu3K5e0Al7p|tz$Y`Y`F84>M2@mPUxw_ i{~0QmTyn`(l=UAV*Uy@c7uucx0000W%sO^R|2SA8}i0^{(oz&a1b-r>WkWaCprGiK=hU#il!3KM{N78@+IS z7}LrLtx>#>rv4Jsn%K$&Q***eZe@6f4h!?9fYpwBg6=!1ZVFi7B3(2?RLGe>@`UnN fu8FM-3j4V?a^@L5+$wJfbTEUbtDnm{r-UW|Tr*#d literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-logout.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-logout.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa53acce68e75f43d686b555a4b2f241f6bb727 GIT binary patch literal 650 zcmV;50(Jd~P)sU#Tu|X z7ybbkZu|k=77<(tf-8|$5kX6}b&=3gaS`13g+al(5fVZTen6bLT|`9}b2E1)$sNmm zwsX$O`^?N4CId($wjiv7%PCr?D3_xE!T_qum?H;@RTt4ly6Zi=JdK6|SK&7R)Yy(^ zK1^2A)s{$*{4v|37#=8``HF=H01EhA%H=1X9zy{XZkvijfe24MOQ4+hJd0|cVwS+Y zKnjRP3W!DuSmEpJ7BrofWR?(tZmJl10_KM^6N!x@l~->X9^VXQJsA2>RlRQ6**bJ z6sqU|46;O_{qecz4_1*g1+JDjK39B+EkA|qz+~qG% zv9SQfs_iJ2pvyefh5|04jS#@}Yi)_hsG572r@>I5yWX>_>1qoBz5qC}9gWQiKtHRR k`s`(h9F_UEB$C_w0~+p?C#WEvyZ`_I07*qoM6N<$g8qIY^Z)<= literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-password.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-password.png new file mode 100644 index 0000000000000000000000000000000000000000..e093a9f72901448a1b29b73b72e48241073a7439 GIT binary patch literal 968 zcmV;(12_DMP)L?{!1bNRDW%RYEiEM%7Z;~PTFOFVFVm?8;;}rzJu8No9yl_ zy?h{yfRx*?ENjhg;1<5AEggLz)NSVG_kh!2XCim4Q39&5h(3 z^Ip!L0%U??HQ_GxA#69XYAQ~tYdqP`$+LuN4wLLYd4Pj8VZzJFy9erJ^SW@+%fU|* zM_u#V;eeNesXJrMfrV#^r>lxe6$D5oAd?nOyd@;#dh=-&uwH|o<_*?fwywXZ!s8Xi zvsK0U_Z;>m^ySq09C-LtwUCd;XxZ_Xui%emt=|#!p1|M#G|BBtz=Z(^!+;+j7?djY z_2*?py|DB^tAN94K^oi+rNC^wai=?kQl&1=wsmIIEa2oj|J~V|4TW;^WcGLH%oy=3 zWIOQ7g5t%-3#5W~-_}Mj4eWaQ65f>H*trb;|48&r z?B@i^-Y$`$=;h!?z#R=l0zu#hFCR|azcZ+gbT2QrjqEBZ$3)2#ILaSmb7BoZKXLCik2fAwL)hb0+7^XC{vu0`;i~ zY*)abWtM0pAQj*O_@e0eKiGFa^*bX4IY${I1sOmYBLx9vj3fjUG13rF!e~H10iy*0 zVT>jO1ToqW5W=JZ0Rc=}5b%tVTx%s+XgVd=U~r>alC*nKoX(@W%^@yHdO>1cfUbl? zGM5e{Yw19;mJTFq`K*wBps&?IzLzLTV>^#&;L_}W1x|snI1SQB^gOn)ug4yM5tjyO zrC>IIMW9UM#pOR+gRDSm2_yD^8|oqVwkKu@vH(0&J)d7@U!HnQrXk@wu^y@A`G`5N zHOK;_8KRawQ-21AZ3m~|@7MOVK!TTmOWQ~Z zsL)%a5ZpsN)hgL+>|tgiCHqOMC9~eKf9rALNq|HM>Vj3K{9S?+z!P;A_-sr6kLUzA-Emq<6fADX)IYM?)vZuDcPpD+7sB)jC4XG z=xW5m#$==u5<&VtDK02Ftaf3d9O2k&#Y_g|0>%bT#6k6XGCWdlC@nX^S$ExrdOV zMG@H1xf|P{He4C0U;;ca`||s(=UyZ4bnZXu%S_BqZ#g$u?hRESMo7*&iLQ^05n}zJ zr_M4VmrLwD<3)uuwkZ{SZ8CO_N3|#LvZa-?*o)N2Pd$I~zSp;*bA8m8zf#TH=I}^h z==j$Q?=ciO%q~R5d=|LYPvKMoCIVLir!g`81M|15M!DC51^@s607*qoM6N<$f`!u^ AcmMzZ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-refresh.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae5cf7a6a28b16bb228b3326d6d007f31bb42c0 GIT binary patch literal 638 zcmV-^0)hRBP)lIRSl=}X0DJ|fn~s&tyvpsL2qG$oh%BE0uofy83exC%t-+&+rX zsIiDjrBLJj!-|xx5TB$^qlpkvp;V+8bB|O|y!ShevwQrmq<>5r5ZfV; zIAcG{V*$8p4jN(i*xg|{ORWTLyCw5Q`yxXv^^#h}+sY?Z3E?#biG3mxjswpa~id9)->1G)&8Jqm~*d^hyu11e_O(y@8vLo^NXrQH= zC4h3^!DZ~s90lb;rh4(v=qR7F#6RL$n=kiNyuvOoVpbl%}}{YH_ZGonn=i(ZU|HsOOLjijVAFxr&&gu-m93Mh;z?oSzCS> zNQA9v2u}{pC_lEK%!1hxeM%@xZ=Ksu5daQ~u-fMKQw09QPZi3r+T`|A1p5D6(6%zS zk0KOmm`n|mL+Bl5Q^TYXD%CQS5WWYTmri0Ce}M`sz_Cw(MKn9-p4F*pt+ge9%@iT@ Y1Kn^wP literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-select.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-select.png new file mode 100644 index 0000000000000000000000000000000000000000..fc66beb89ca0284f212e5f5cac4b5392d61e7d6a GIT binary patch literal 497 zcmVEe~>e%HwLCyy&I1$x0?USz9g`sDo5>>nPP{lg=3dT~`{Wv*Q#;wmjuBFd`NW-d=O%vIkS z#O10?q?%cTXeWrpNmXf3YeL+#*Zjd}8&bp$AO&>*p}z{!I7^m@##yqvkm1AFq%CgJ z7B|C(@$N#_t^oOukb~YJBOHv)I_M3u011!)36Sk%uXA&48?x8AaqvyTf!c-;4m3al zBtU#a7$goLv3*DzBI^(eb^8!P2;pL84us)Sa|1hxf*3C z)V8`;n3xg@o-Taa5N!qH6;XyleWNyGBJ+><7zPPpV)`Qhhu?D<`Xz0M2!keJ;*Kzp neJU>cghA8&$rKV2@@Mi6Gju__g*YmJ00000NkvXXu0mjfNVC?c literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-settings.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..2c174aca2438bf02b0e4e27487b504abdc8f4f98 GIT binary patch literal 1002 zcmVVKnZjZI=FNI9Y6=rLDB(qaMOYL*OAv9gbr{A$wzh>W!Z-WB+lHqn%NI# z?3Iq*l4+U;6Ekm!$N_lIoHqdbNArC+RX|*hb8a%WtXXo-O*A0Yn`h~{I<-vC%ztx!nG%Wn~qh@Jtg zQ|5QhO#!qy!HDQcL^~qdG4qO^#+`Gs zij{6l5+#?3&cMv8NXu(YW%tjlrS+J31z^x7i5duPK|4t+F!R=8Md?P&yp`55fXR0T z&}E<@Xwo@1(e_p~3&}f`VA2IO5#TuxGoig(tdJEfy1NQSy0*z0;YF{tM}m-GCL(5R zR`Hptr~x86hUX3L)ccxp1kh{UOz_cUvqcQ1XwG1EBHGp5kBD};Lh9eIDQ)L@%`3cK zlXa^A=Ad+`-cS%r7CMJ}kS>}RnMzDjU=~eNO$dDrKujet%)IeDQ?XJ85hxZoXr~Yx zgT@jul~QepmBiGkvicQ}5ad1~6n**@D#cugGa2+IUeYf$fp^bt+3;@H`fb6EuWP1*`tp

9dV4zz%wBmX7kc7{z zOluj&1fRC1v@3-HIMtX$qpo(_VL2z`sC&9{FXf9Da~fASS`eniMsoR}wF<<7Kr!iQ zPaoZ>S!`Te!x$?8%q7q?b9m+qvX~lIOyy5^hCS>#UYYtjqp?uW%$vl@R0TrSZ;i~FVAXb)g%*rF_vF2IAg&H|s! z;+MEpwsXbf){uxerL7sKT%9m{Jh(K&zE4YIZdXkW}s{;{YmoiVES0& z&!L)qewuDb5~s0c&XUp14r9xkCD{J?@Vi_}5)A)E`B(lObQ)XMD)~%Qik1GJWkrrY Y02eV7Z)z60Qvd(}07*qoM6N<$f{EkPumAu6 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-showext.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-showext.png new file mode 100644 index 0000000000000000000000000000000000000000..8b891b93d6b4e2da82adf553f915b0dc4ca9433b GIT binary patch literal 1248 zcmV<61Rwi}P)a;@(v?zs&5&?lg%F7?V^_ zv|2;7LQP86d{l=j1Y66;5Y{DYx76KVg@DPRu;s;q`<~y$LwN%C!b90c0e4BhF*O?D zpg(~`2I5U31Mw!2fq0Y1K)iY28Bm3wz-eJ}zMbO7Q|@_wZ=yEvZ&4M&)JN@5?@AWI$B}FU@f>Ip2;%($Z8<%az|jN>tT= z!;wuvUJhBQHd3u7ZhHJQyE~|FbaDNfONOS=|V{cg^JP~ zCgl1$|sPbA*7;gE866>?so&o14icub){pztQORN6Z;! zPNsUslZ+l>rs;a?x!u)=Y`T;=ATLV6oQjptHuTiT>^l$+1-gqjS!_HvcP3+VGXYq6 ztgg@E0j~N2EI)bzS_9$ zJ8Mi0G+#Q4x1*h;WDCnmib%00caI&v*>OkcYW(Zc!f>q#u3YF-XG%&Mx^{7?Q&p9V z2>Fyj@q7?d0|O!ck-CTo_M_{cm>6)3D8yn*BN*^fx$huuPoR5jVv6mK&^ZE}Bf(&V ztl^M5s(WZs>K&aw7`*k#?r&Y1rspBWiLh>cxoa#+pZCt@%F0YVXgC0jQ5Cge^};!3 zo7IvHP*ih@L#?;^ojW0A2tOB3KoQ{e`&+kGecv7qYokG4)HSW>wbje6#@qnF``fFW znx^do3WX5Y=Fgns${&_J@v=9->;tE0@I-c^oWI-XW07t252-386)Vabd+K9q0N}&V z_oN18@JnD85YEm_ubn?*>Nvlmq`iCoGCQxfa>W-Q+muY1Go9DR496~T?>%tzR8w=y zG{6Y_6w+C=e$|p2z1NSq0f5TNO4SuKyaBug7=)lRW2pV)gu>CLtn@U8&1%Z*@cCPt z+uEB?oV(z?(dHg6k#;}>Hkv&xZ};~r@jwi8vFX#Q0)+Msu=H+w3&eh1u)bnt*~x)* zabWX~U8D4nz8oP+fRR8Jh#Mdqg%H(JS9ZMm{G#*ms4c<&jz0mW@augy^>RM|0000< KMNUMnLSTZS3|PSc literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-translate.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-translate.png new file mode 100644 index 0000000000000000000000000000000000000000..027563a222641d1ae9c8f279ee27bc5bb76a5697 GIT binary patch literal 612 zcmV-q0-ODbP)|(2tOP0qFGID5#%DLzv9u!0{q>KYSe(ue4p1+wO7!p6sWQ%;Zr0qI*&qZyr;B zW2i?Td&>i$O*$?1W5XQ*92?V92t5OS%_DgW*L|SUc2Q}&xbEZr0B8dzXbu2C(42|q zZ~zx3tG6y|G^ff}2CZnNJ&1q10Km5&H=zMQgP;M->%aguiFODR*pe)m zVQ2Ko=@zX{duJi808(L-Y0OgR;e||NCKb-4@R~XoFA$@a3TLTsmL+uRd`5#9J4=KV zK5kNCR#xu1Nr`=vmAkGx7%{d}kccX=$w|bJ7%99?O(M9&9vJA| zgmENBLyTIM(DNlSAxKTS_U?O|;Hd+^88^d`?g_7seLh`o%Z z`6NaYBAyW9Lg1y(^tBA2R|Ax3%!u*V#tR}VQ-QXFnxTPRql>m&y^F>e0@e_QAYfy8 z-wo4}o<lL(i#t8KRVQ^$qtTku$FKh}VI_8xvT|W0 f)}+ou2qFFfVJBt68o0P@00000NkvXXu0mjfm0v=Y literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload-big.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload-big.png new file mode 100644 index 0000000000000000000000000000000000000000..01ae803e9d567edfab0595209ba69bef892f2114 GIT binary patch literal 1002 zcmV z-F50P5QJR-$Dn_LDB*4An5=)NIFP5fDX712(C$pf56tR%zWp} zYa;Df8tW%cmJvb-A%qY@2qAFcIKa$3K{}>F|wlJVl0JZ>D-up-G{w0BPZX_a$@ML#lLe1z|IOj&%{WizZ zh%QG%n^8k!N`!2PZp0tPJZaZMjXclC0M^<@Trg&RccVo_W)?<8&1jiv*C`5e2yOME zH#Fv1yI#ElV5ME;D@<8w*R2;)G-I%)q-@6EOc9Z}b}>8DT)Un(0l*n3V%JLZ?JKM^ z%)Z)QD*)Rh*C`ekeI1&z)~;_WL}aF2vUa7HJ_Lv58yq56*jj% z${}7y%#iOr+%1|RS8VP{ypZp2k1O`;V?!0!_D3Rwe3;g|zm#WmQ?N3`>xdolC4&|> zUu!kA#yF}`h}WUCl0TZWy6S-vgNI3NLc9*msTjbvRbRqwa%)pn=O=Uq9=eyN4P6>A zpsb>6GfI7pwvxZ3M(6X!M#oJdUWZ1=w=%`pnxm5tuR}BBOS(KI19&%J#9pM^5U<0+ zdJDkhtWjb3svA-H#Pobm;p&>sE0Wi^S1PwW9mt|R&T(A$- zkW;@Tu^btyA#&XDPHoy6sv&2Wwnh1jnTE*z?C9Fqx%xdC^7*S1lE^3t=O-7xNLo^A z#|poXuT#sC0crQ=i79|r0}Z@4Ei30=No498f&hHi-X{o${z)wsQ&r=8XdzE%O24X} zs%T176|KzpVG1+Ff*D6brX;oBWmvbFQAQ5m+x<4ssT8&A%zwf41o--uvl2NxR;J5JCtcgb+dqA%qY@2qCHP Y4|G}sp*HmG&;S4c07*qoM6N<$f`~QM!TyU&i-)l zN+Yebvr3YPh=_>)9;&($ku`ufl6$v4Nd8gP)ua9E1j$#D2a=bLbs+irXn${@sw)86 zgFtNo(5J}|$rqBR21j=Q3bV?F|D6D&4<(_hD?{Q8pitGtoo^NZ3QOi;nNih+A#ohy zj0?iqkZBFTY#_PuGcm>qRb3h~+ZkN#bl`e4rW^|Zso858(A7@kMaU?U+?m$A7m@Ys zb>p|%5XNj)Y>S?)tN8^UaL;4Mz4IQ*R@G_Vy=avo_XdyxNJS(gxeZRH?dI-7L_{(X z$wt~;n)F^PanWfzzh&QV$C62sB(d2UTr&+f_l4v}L~;P>y+Usaz(g{BX7)or z-g_T^_U-ZavN-XW4ZCktbtxk2F_+#w5>v_eSrL)^9)X2>3|ZsbP$Z_15s|#J=pBj1 zH$@+#4J6LyT<=)dRfEZxi}P@!@0v&eC`BaeBL?mH<(G(D`BKKod#iW{X)CJ$+{5gj zf404iOnc^&aE5C{9O)~WiFRuH-b8asi*y;hHiaf46`6^4@|&#Edsl>%97)nnBm_u) z);gG98&jgxggJ@$M+`ujnDdr~G&Uy@Q~0OfLgZ3=2mD|nM=Qq0N#u58a~8Wl{MgyP z9CRe(9!k}4E)BJ>9Yu*qR{iMTw!%nE%>cN-VpR7!& z2#Lu08CHv+-L^5dGufwIoz26guW4%j6bnE(sBySgV(zlEa~pj7a<&T*$-i}+8W9l@ d5fSkd@fVs3+|W7y*be{z002ovPDHLkV1j5sN<9Do literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-upload.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae6b87f742def4ac9207cac1fa47e9756702567 GIT binary patch literal 371 zcmV-(0gV2MP)6mWPY~XH?5i&x1Fi-?&qlZ&Ow7?Je@B9Gk z*TVpcqHKfd2!TFCh3Qx?67URxzGMZ@Dk3XeMA%t~IEo58TQ8#Y3Ol?1Pr`cxfi4i} z0^Xa}<7_9;=TGA>Ev?7dM!@%9^~rQP0c9y1L)3ryF% z2wmkinfInh;#NjnldTd<_1TGOktOq2LzT-2X|nYK_SmVGac(S8&`{+vQzHpy|NXx4 z^d^fqR5eshlSLe!D|3&CV|L((W9u>VsE9OFL>ek0jc!D|H`#|aQ77K+i8w$!yrm=M z7?Pr!HKHQYh&TY_oXjrPNH=(IAh?%gcCn9iv_@1!7VPZ$M>r9&@4kxCFW)+sC@%mM RP1*ne002ovPDHLkV1k5Wqj3NL literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-use.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-use.png new file mode 100644 index 0000000000000000000000000000000000000000..5c84d17789f0721e86b01cf1e7002578560af88f GIT binary patch literal 741 zcmV^E_RZgoL|n&cQ#8%pg@5F{kP)oi`D1-y$925 zeJSTHw^I6>xm)gDx8+t!{EV;oE9z?{%=@+&Z`8LhEVm3x;Kt1%&iKj_6@JCMZ(sO0 zB6eJM!PD%kBeIJ{0U?AC*~JDRUJ(16?1E81xLYYa?mZO`yN|ld;3uD+eXv}cTdvK0 zfe=Cn6^v8CU>R%(R`3llk|9_@Ho(YCFn<&MT1Vot0jOYLI_%@j5SL)2gUofTMlv1t zLpI1<$7N=QC9v5WM z$(1?HL8hG@KbwN>pn%W?C)cG;jLcC$hA?P_8l4=(>q*c0q_v?B&_FPgYva{@2=gdt zZ8~1tt|cH;j6kxfd*5+b4-Et>xzyt{go+Ue6(bPcy9-n>(ApGkmj-KLD+)#@_wPV5 zC)o}LNUCK(q_P2PyX&xhsDjbSf!3z5xxWQ#yX&yIzvTrH?B+k^rb%t7w^DBnv^#R= z4-b}-ru10-HgLhQ9N)stZ6p6;e#-^ZJIC+^JM znC3rph0hF;6^vnBa0Jgj-A%z7O8_wNJVVhGY)3i()*YdOaq6(1RAYYq1_~4?&{F6( Xv92PYkX|8d00000NkvXXu0mjf1C~^< literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-version.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-version.png new file mode 100644 index 0000000000000000000000000000000000000000..3dc66bfb3adb7f161de1597ec1f49296dd8416e3 GIT binary patch literal 629 zcmV-*0*d{KP)s!(O8SsGynakWlNz>dFGT7Np{#!gweNsX>cLU< z8OrT}`;7RI-`gmjZnFAvnE4;e;6Wn(vTbF;)z9tb!kF`n4#3#>O~n`nBlyy~wa)fg*w; zN+@wGH(;Eigc36yDhQ%n&rJ-G>$#}soQNnj%t;}~a>Iyv&arseRzz>FvwCOoLecXd zYOQ-eUMPD0tln9SdVUvV+$4fusW*wJ=XXJd6+_rE13Bw!l|rFVC}HvwM_$YwL53$Z P00000NkvXXu0mjfmCq;f literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-warning.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/img/cd-icon-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8407c2a260f50210fa7d8534e35b047b718092 GIT binary patch literal 547 zcmV+;0^I$HP)%w?j*Ho{0pQQy1=VpeTZaC9qhc5_ACR$ls;hQ%E7pAXZlhY%D1Jn0DVm}le5Y8BaeK(gT{0xF{#awT@8>4Vzck^XLxMG6z zL_8Qlgg=Z2ggnM0LJkuE!H)@u;KM|KXu}>85u%OPF%cr#7>|h<(Z+Mk1Q2ZuVf1cl^>XTQpk{=l~!=f3~|002ovPDHLkV1i{y>y!Wh literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgbrowser.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgbrowser.php new file mode 100644 index 0000000..229bfac --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgbrowser.php @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + <?php echo $imagebrowser1; ?> :: Fujana Solutions + + + + + + + + + + + + + + + + + + + + +

+ +
+

+

+

+

+ +
+ +
+ +
+

+
+ +

+
+ +

- + + + + + + + +

+ +
+ +
+ + + +
+
Image Uploader for CKEditor
+

© 2016 by Moritz Maleck

+

imageuploaderforckeditor.altervista.org

+

180 KB

+
+ +
+
+

Image Uploader for CKEditor

+

png

+

180 KB

+

imageuploaderforckeditor.altervista.org

+
+ + + + + + + + + + + + +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgdelete.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgdelete.php new file mode 100644 index 0000000..6e44236 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgdelete.php @@ -0,0 +1,144 @@ + + + + + + + <?php echo $imagebrowser1; ?> :: Delete + + + + + + + swal({ + title: "'.$dltimageerrors1.'", + text: "'.$dltimageerrors2.'", + type: "error", + closeOnConfirm: false + }, + function(){ + history.back(); + }); + + '; + } + } else { + echo ' + + '; + } + } else { + echo ' + + '; + } + } else { + echo ' + + '; + } + } else { + echo ' + + '; + } + +} + +?> + + + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgupload.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgupload.php new file mode 100644 index 0000000..c01f40d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/imgupload.php @@ -0,0 +1,84 @@ +alert('".$uploadimgerrors1."');"; + $uploadOk = 0; +} +// Check if file already exists +if (file_exists($target_file)) { + echo ""; + $uploadOk = 0; +} +// Check file size +if ($_FILES["upload"]["size"] > 1024000) { + echo ""; + $uploadOk = 0; +} +// Allow certain file formats +if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" +&& $imageFileType != "gif" && $imageFileType != "ico" ) { + echo ""; + $uploadOk = 0; +} +// Check if $uploadOk is set to 0 by an error +if ($uploadOk == 0) { + echo ""; +// if everything is ok, try to upload file +} else { + if (move_uploaded_file($_FILES["upload"]["tmp_name"], $target_file)) { + if(isset($_GET['CKEditorFuncNum'])){ + $CKEditorFuncNum = $_GET['CKEditorFuncNum']; + echo ""; + } + } else { + echo ""; + } +} +//Back to previous site +if(!isset($_GET['CKEditorFuncNum'])){ + echo ''; +} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/en.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/en.php new file mode 100644 index 0000000..a81e0cf --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/en.php @@ -0,0 +1,89 @@ +CHMOD writable permission (0777) to the imageuploader folder on your server."; +$alerts3 = "How to Change File Permissions Using FileZilla (external link)"; +$alerts4 = "Check out the Documentation or the Plugin FAQ for more help."; +$alerts5 = "To use this plugin you need to enable JavaScript in your web browser."; +$alerts6 = "How to enable JavaScript in your browser (external link)"; +$alerts7 = "A new version of Image Uploader and Browser for CKEditor is available."; +$alerts8 = "Download it now!"; +$alerts9 = "The folder"; +$alerts10 = "could not be found."; +$alerts11 = "create the folder"; + +$dltimageerrors1 = "An error occurred."; +$dltimageerrors2 = "You can only delete images. Please try again or delete another image."; +$dltimageerrors3 = "The file you want to delete is not in the selected upload folder."; +$dltimageerrors4 = "You cannot delete sytem files. Please try again or choose another image."; +$dltimageerrors5 = "The selected file cannot be deleted. Please try again or choose another image. Note: Don not forget to set CHMOD writable permission (0777) to the imageuploader folder on your server."; +$dltimageerrors6 = "The file you want to delete does not exist. Please try again or choose another image."; + +$uploadimgerrors1 = "File is not an image."; +$uploadimgerrors2 = "Sorry, file already exists."; +$uploadimgerrors3 = "Sorry, your file is too large."; +$uploadimgerrors4 = "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; +$uploadimgerrors5 = "Sorry, your file was not uploaded. Don't forget to set CHMOD writable permission (0777) to imageuploader folder on your server."; +$uploadimgerrors6 = "Sorry, there was an error uploading your file -"; +$uploadimgerrors7 = "- Don't forget to set CHMOD writable permission (0777) to imageuploader folder on your server."; + +$loginerrors1 = "No user found, incorrect password or username!"; + +$configerrors1 = "Please use the plugin settings to change the visibility or try again."; +$configerrors2 = "Please use the image browser to change the file style or try again."; + +$loginsite1 = "Welcome!"; +$loginsite2 = "Please log in."; +$loginsite3 = "Username"; +$loginsite4 = "Password"; +$loginsite5 = "Log in"; + +$createaccount1 = "Please create a new (local) account to prevent others to view and manage your images."; +$createaccount2 = "How can I disable the password protection? (external link)"; +$createaccount3 = "The default upload folder is ckeditor/plugins/imageuploader/uploads. You can change it in the settings panel."; + +$langpanel1 = "Please select a language:"; +$langpanel2 = "Currently selected:"; +$langpanel3 = "Close"; \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/lang.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/lang.php new file mode 100644 index 0000000..ed299d9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/lang/lang.php @@ -0,0 +1,58 @@ + + + + + + +dokumentację lub wtyczkę FAQ la większej pomocy."; +$alerts5 = "Aby korzystać z tej wtyczki, musisz włączyć obsługę JavaScript w przeglądarce internetowej."; +$alerts6 = "Jak włączyć obsługę JavaScript w przeglądarce (link zewnętrzny)"; +$alerts7 = "Nowa wersja Ładowarki zdjęć i przeglądarki dla CKEditor jest dostępny."; +$alerts8 = "Pobierz teraz!"; +$alerts9 = "Folderu"; +$alerts10 = "nie można odnaleźć."; +$alerts11 = "utwórzyć folder"; + +$dltimageerrors1 = "Wystąpił błąd."; +$dltimageerrors2 = "Można usuwać tylko obrazy. Spróbuj ponownie lub usuń inny obraz."; +$dltimageerrors3 = "Plik który chcesz usunąć, nie jest w wybranym folderze wysyłania."; +$dltimageerrors4 = "Nie można usunąć plików systemowych. Proszę spróbować ponownie lub wybrać inny obraz."; +$dltimageerrors5 = "Wybrany plik nie może zostać usunięty. Proszę spróbować ponownie lub wybrać inny obraz. Uwaga: Nie zapomnij ustawić CHMOD pozwolenia zapisu (0777) do folderu Ładowarka zdjęć na serwerze."; +$dltimageerrors6 = "Plik który chcesz usunąć, nie istnieje. Proszę spróbować ponownie lub wybrać inny obraz."; + +$uploadimgerrors1 = "Plik nie jest obrazem."; +$uploadimgerrors2 = "Niestety, plik już istnieje."; +$uploadimgerrors3 = "Niestety, plik jest za duży."; +$uploadimgerrors4 = "Niestety, tylko pliki JPG, JPEG, PNG i GIF są dozwolone."; +$uploadimgerrors5 = "Niestety, plik nie został przesłany. Nie zapomnij ustawić CHMOD pozwolenia zapisu (0777) do folderu Ładowarki zdjęć na serwerze."; +$uploadimgerrors6 = "Niestety, wystąpił błąd podczas przesyłania pliku -"; +$uploadimgerrors7 = "- Nie zapomnij ustawić CHMOD pozwolenia zapisu (0777) do folderu Ładowarki zdjęć na serwerze."; + +$loginerrors1 = "Użytkownika nie odnaleziono, nieprawidłowe hasło lub nazwę użytkownika!"; + +$configerrors1 = "Proszę urzyć ustawień wtyczki, aby zmienić widoczność lub spróbuj ponownie."; +$configerrors2 = "Proszę urzyć przeglądarki zdjęć, aby zmienić styl pliku lub spróbuj ponownie."; + +$loginsite1 = "Witamy!"; +$loginsite2 = "Proszę zaloguj się"; +$loginsite3 = "nazwa użytkownika"; +$loginsite4 = "Hasło"; +$loginsite5 = "Zaloguj się"; + +$createaccount1 = "Proszę utworzyć nowe (lokalne) konto, aby uniemożliwić innym osobom przeglądanie i porządkowanie zdjęć."; +$createaccount2 = "W jaki sposób można wyłączyć ochronę hasłem? (link zewnętrzny)"; +$createaccount3 = "Domyślny folder wysyłania jest ckeditor/plugins/imageuploader/uploads. Możesz zmienić to w ustawieniach panelu."; + +$langpanel1 = "Prosę wybrać język:"; +$langpanel2 = "Aktualnie wybrany:"; +$langpanel3 = "zamknij"; \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/login.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/login.php new file mode 100644 index 0000000..1a4c0e9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/login.php @@ -0,0 +1,38 @@ + + alert("'.$loginerrors1.'"); + history.back(); + + '; +} + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/loginindex.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/loginindex.php new file mode 100644 index 0000000..fe6179e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/loginindex.php @@ -0,0 +1,161 @@ + + + + + + +<?php echo $imagebrowser1; ?> :: Fujana Solutions + + + + + + + + + + +
+ +
+
+

+ 2015 Image Uploader for CKEditor
+ Documentation FAQ

+
+
+ + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/logout.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/logout.php new file mode 100644 index 0000000..8cbdbd4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/logout.php @@ -0,0 +1,8 @@ + + + + + +Image Browser for CKEditor :: Fujana Solutions + + + + + + + + + + +
+ +
+
+

+ The default upload folder is ckeditor/plugins/imageuploader/uploads. You can change it in the settings panel. +

+
+
+ + \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/plugin.js new file mode 100644 index 0000000..2d368a1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/plugin.js @@ -0,0 +1,8 @@ +// Copyright (c) 2015, Fujana Solutions - Moritz Maleck. All rights reserved. +// For licensing, see LICENSE.md + +CKEDITOR.plugins.add( 'imageuploader', { + init: function( editor ) { + editor.config.filebrowserBrowseUrl = 'ckeditor/plugins/imageuploader/imgbrowser.php'; + } +}); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/pluginconfig.php b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/pluginconfig.php new file mode 100644 index 0000000..4d55de7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/pluginconfig.php @@ -0,0 +1,160 @@ + + alert("'.$dltimageerrors1.'\r\n\r\n'.$configerrors1.'"); + history.back(); + + '; + } + } + if(isset($_GET["file_style"])){ + $file_style = filter_input(INPUT_GET, 'file_style', FILTER_SANITIZE_STRING); + if($file_style == "block" or $file_style == "list"){ + setcookie( + "file_style", + $file_style, + time() + (10 * 365 * 24 * 60 * 60) + ); + header('Location: ' . $_SERVER['HTTP_REFERER']); + } else { + echo ' + + '; + } + } + +} + +// Version of the plugin +$currentpluginver = "4.1.8"; + +// Show/Hide the settings button +$show_settings = true; + +// username and password +$username = ""; +$password = ""; + +// ststem icons +$sy_icons = array( + "cd-ico-browser.ico", + "cd-icon-block.png", + "cd-icon-browser.png", + "cd-icon-bug.png", + "cd-icon-close-black.png", + "cd-icon-close-grey.png", + "cd-icon-close.png", + "cd-icon-coffee.png", + "cd-icon-credits.png", + "cd-icon-delete.png", + "cd-icon-disable.png", + "cd-icon-done.png", + "cd-icon-download.png", + "cd-icon-edit.png", + "cd-icon-english.png", + "cd-icon-faq.png", + "cd-icon-german.png", + "cd-icon-hideext.png", + "cd-icon-image.png", + "cd-icon-images.png", + "cd-icon-list.png", + "cd-icon-logout.png", + "cd-icon-password.png", + "cd-icon-polish.png", + "cd-icon-qedit.png", + "cd-icon-qtrash.png", + "cd-icon-refresh.png", + "cd-icon-select.png", + "cd-icon-settings.png", + "cd-icon-showext.png", + "cd-icon-translate.png", + "cd-icon-updates.png", + "cd-icon-upload-big.png", + "cd-icon-upload-grey.png", + "cd-icon-upload.png", + "cd-icon-use.png", + "cd-icon-version.png", + "cd-icon-warning.png", +); + +// show/hide file extension +if(!isset($_COOKIE["file_extens"])){ + $file_extens = "no"; +} else { + $file_extens = $_COOKIE["file_extens"]; +} + +// show/hide news section +if(!isset($_COOKIE["show_news"])){ + $news_sction = "yes"; +} else { + $news_sction = "no"; +} + +// file_style +if(!isset($_COOKIE["file_style"])){ + $file_style = "block"; +} else { + $file_style = $_COOKIE["file_style"]; +} + +// Path to the upload folder, please set the path using the Image Browser Settings menu. + +$foldershistory = array(); +$useruploadroot = "http://$_SERVER[HTTP_HOST]"; +$browserfolder = pathinfo("$_SERVER[REQUEST_URI]"); +$browserfolder = ltrim($browserfolder["dirname"], '/'); +$usersiteroot = substr($_SERVER["SCRIPT_FILENAME"], 0, (stripos($_SERVER["SCRIPT_FILENAME"], $_SERVER["SCRIPT_NAME"])+1)); + +$useruploadfolder = "$browserfolder/uploads"; +$useruploadpath = $usersiteroot."$useruploadfolder/"; +$foldershistory[] = $useruploadfolder; + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.css b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.css new file mode 100644 index 0000000..4868105 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.css @@ -0,0 +1,774 @@ +html { + background-color: #F2F2F2; +} + +body { + max-width: 700px; + margin: auto; + padding-top: 90px; + padding-bottom: 20px; + padding-left: 4px; + padding-right: 4px; +} + +#header { + position: fixed; + top: 0px; + left:0px; + width: 100%; + background-color: #2C3E50; + cursor: pointer; + padding: 10px 10px; + font-family: sans-serif; + font-size: 16px; + color: #F80B6D; + text-align: center; + z-index: 999; +} + +.fileDiv { + border: solid 1px #E6E7E6; + background-color: #FFF; + border-radius: 1px; + width: 30%; + float: left; + height: 173px; + margin-right: 1%; + margin-left: 1%; + margin-bottom: 2.4%; + overflow: hidden; + cursor: pointer; + + -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.05); + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.05); + + transition: all .16s ease-in-out; + -moz-transition: all .16s ease-in-out; + -webkit-transition: all .16s ease-in-out; +} + +.fileDiv:hover { + transform: scale(1.05); + -moz-transform: scale(1.05); + -webkit-transform: scale(1.05); +} + +.fileDiv:active { + transform: scale(1.03); + -webkit-transform: scale(1.03); +} + +.selected { + background-color: #81CFE0; +} + +.selected:hover { + background-color: #81CFE0 !important; +} + +@media only all and (min-width: 615px) { + .fileDiv { + width: 31%; + } +} + +@media only all and (max-width: 615px) { + .fileDiv { + width: 30.5%; + } +} + +@media only all and (max-width: 450px) { + .fileDiv { + width: 47%; + } +} + +@media only all and (max-width: 367px) { + .fileDiv { + width: 46%; + } +} + +@media only all and (max-width: 270px) { + .fileDiv { + width: 95%; + } +} + +.imgDiv { + height: 120px; + width: 100%; + overflow: hidden; + border-bottom: solid 1px #EAEAEA; + text-align: center; + padding-bottom: 5px; + font-family: sans-serif; + font-size: 38px; + font-weight: bold; +} + +.fileImg { + width: auto; + height: 100%; + margin-bottom: 0px; +} + +.fileDescription { + font-family: sans-serif; + font-size: 13px; + text-align: left; + padding-left: 4px; + margin-bottom: 2px; + margin-top: 5px; +} + +.fileTime { + font-family: sans-serif; + font-size: 10px; + text-align: left; + padding-left: 4px; + margin-top: 0px; + margin-bottom: 0px; +} + +#imageFullSreen { +} + +#imageFSimg { + width: 100%; + max-width: 695px; + margin-top: 16px; + margin-bottom: 5px; +} + +.imgActionP { + display: inline-block; + width: 48%; + max-width: 345.5px; + cursor: pointer; + font-family: sans-serif; + font-size: 16px; + font-weight: bold; +} + +.background { + background-color: #F2F2F2; + opacity: 0.98; + z-index: 1000; + width: 100%; + height: 100%; + position: fixed; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + display: none; + cursor: pointer; +} + +.headerBtn { + border: none; + background-color: #E0EAF1; + border-radius: 5px; + padding: 3px 3px; + cursor: pointer; + font-size: 15px; + color: #0077CC; + margin-right: 3px; + margin-top: 6px; +} + +.redBtn { + background-color: #F2DEDE; + color: #A94442; +} + +.greyBtn { + background-color: #F1F1F1; + color: #171B1F; +} + +.greenBtn { + background-color: #DFF0D8; + color: #3C763D; +} + +.headerBtn:hover { + background-color: #0077CC; + color: #fff; +} + +.redBtn:hover { + background-color: #A94442; + color: #fff; +} + +.greyBtn:hover { + background-color: #818185; + color: #F1F1F1; +} + +.greenBtn:hover { + background-color: #3C763D; + color: #fff; +} + +.headerA { + font-weight: lighter; + color: #222222; + background-color: #FFFFFF; + text-decoration: none; + font-family: "Open Sans",sans-serif; + font-size: 22px; +} + +.headerA:hover { + color: #FFFFFF; + background-color: #F90B6D; +} + +.buttonBar { + position: fixed; + text-align: left; + max-width: 695px; + background-color: #FFFFFF; + padding-bottom: 7px; + padding-top: 6px; + opacity: 0.9; +} + +#uploadImgDiv { +} + +.uploadP { + font-weight: lighter; + color: #222222; + background-color: #FFFFFF; + text-decoration: none; + font-family: "Open Sans",sans-serif; + font-size: 18px; + max-width: 200px; + cursor: pointer; + margin: auto; + margin-bottom: 8px; + margin-top: 10px; +} + +.uploadP:hover { + color: #FFFFFF; + background-color: #F90B6D; +} + +input { + cursor: pointer; +} + +editable:hover { + color: #FFFFFF; + background-color: #F90B6D; +} + +#updates { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 14px; + font-weight: inherit; + padding: 15px 20px 15px 42px; + border-radius: 1px; + margin-bottom: 16px; + margin-top: -16px; + color: #2C3E50; + display: none; + + background: #FFFFFF url('img/cd-icon-updates.png') no-repeat center left 12px; + background-size: 22px 22px; + + -webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; + -moz-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; + box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; +} + +#updates a { + font-weight: bold; + text-decoration: none; + border-radius: 0px; + background-color: transparent; + border-bottom: 2px solid #C1DDF5; + box-shadow: 0px -6px 0px #C1DDF5 inset; + color: inherit; +} + +#updates a:hover { + background-color: #C1DDF5; +} + +.folderInfo { + padding 12px; + margin-right: 1.2%; + margin-left: 1.2%; + margin-bottom: 2.4%; + overflow: hidden; + cursor: pointer; + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 14px; + font-weight: bold; +} + +.headerIcon { + height: 18px; + vertical-align: text-bottom; +} + +.headerIconLogo { + height: 35px; + vertical-align: text-bottom; + float: left; + margin-left: 4px; +} + +.headerIconCenter { + height: 29px; + float: left; + margin-left: 20px; + margin-top: 4px; +} + +.headerIconRight { + height: 20px; + float: right; + margin-right: 25px; + margin-top: 7px; +} + +.iconHover:hover { + -webkit-filter: brightness(8); + filter: brightness(8); +} + +#settingsDiv { +} + +.settingsh3 { + font-weight: bolder; + color: #222222; + text-decoration: none; + font-family: "Open Sans",sans-serif; + font-size: 14px; + max-width: 200px; + cursor: pointer; + margin: auto; + margin-bottom: 8px; + margin-top: 10px; +} + +.saveUploadPathA { + margin-top: 0px; + display: none; +} + +.editableActive { + color: #222222 !important; + background-color: #FFFFFF !important; + cursor: inherit !important; +} + +#folderError { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; + font-size: 14px; + font-weight: inherit; + padding: 15px 20px 15px 42px; + border-radius: 1px; + margin-bottom: 16px; + margin-top: -5px; + color: #2C3E50; + + background: #FFFFFF url('img/cd-icon-warning.png') no-repeat center left 12px; + background-size: 22px 22px; + + -webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; + -moz-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; + box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; +} + +#folderError button { + padding: 0px 2px; + border-radius: 0px; + background-color: transparent; + border-bottom: 2px solid #C1DDF5; + box-shadow: 0px -6px 0px #C1DDF5 inset; + color: inherit; +} + +#folderError button:hover { + background-color: #C1DDF5; +} + +.saveUploadPathP { + font-weight: lighter; + display: none; + margin-bottom: -5px; +} + +.pathHistory { + color: #222222; + text-decoration: none; + font-family: "Open Sans",sans-serif; + font-size: 13px; + max-width: 240px; + cursor: pointer; + margin: auto; + margin-bottom: 8px; + margin-top: 10px; + font-weight: lighter; + margin-bottom: -5px; + display: none; +} + +.pathHistory:hover { + color: #55ACEE; +} + +.saveUploadPathA { + margin-top: 18px; +} + +.fileMime { + display:inline-block; + border:solid; + border-width:thin; + border-color:#404040; + padding: 0px 1px; + font-size:9px; + font-family:Verdana, Geneva, sans-serif; + text-transform:uppercase; + font-weight:bolder; + color:#404040; +} + +.editIcon { + width: 15px; + float: right; + margin-right: 4px; +} + +.fullWidthFileDiv { + width: 100%; + cursor: pointer; +} + +.fullWidthFileDiv:hover { + background-color: #E0EAF1; +} + +.fullWidthfileImg { + height: 16px; +} + +.fullWidthimgDiv { + display: inline-block; + width: 30px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + margin-bottom: 12px; + text-align: left; +} + +.fullWidthfileDescription { + font-family: sans-serif; + font-size: 15px; + text-align: left; + font-weight: 600; + display: inline-block; + max-width: 25%; + width: 25%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.fullWidthfileTime { + font-family: sans-serif; + font-size: 15px; + font-weight: 300; + text-align: center; + display: inline-block; + float: right; + margin-left: 8%; + max-width: 9%; + width: 9%; + max-height: 16px; + overflow-y: hidden; +} + +.fullWidth30percent { + max-width: 30%; + width: 27%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +@media only all and (max-width: 580px) { + .fullWidthfileTime { + margin-left: 2%; + max-width: 12%; + width: 12%; + } + .fullWidth30percent { + max-width: 20%; + margin-left: 0%; + } + .fullWidthfileDescription { + max-width: 35%; + width: 35%; + } +} + +.fullWidthfileMime { + text-transform: uppercase; + text-align: right; +} + +.floatRight { + float: right; + margin-left: 8px; +} + +.qEditIconsImg { + height: 16px; +} + +.qEditIconsDiv { + float: right; + display: none; + width: 30px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + margin-bottom: -20px; + text-align: right; + padding-top: 16px; + + margin-left: 8%; + max-width: 9%; + width: 9%; +} + +#qEditBtnDone { + display: none; +} + +.dropzone { + display: none; + position: fixed; + top: 0px; + bottom: 0px; + left: 0px; + right: 0px; + width: 100%; + height: 100%; + z-index: 1002; + cursor: pointer; + background: #EEEEEE; +} + +.dropzone p { + text-align: center; + position: fixed; + text-align: center; + width: 100%; + top: 37%; + font-weight: lighter; + font-family: "Open Sans",sans-serif; + font-size: 18px; + + animation: popdrop 1s infinite; + -webkit-animation: popdrop 1s infinite; +} + +@keyframes popdrop { + from{transform:scale(0.9)} + 80%{transform:scale(1.08)} + to{transform:scale(0.9)} +} +@-webkit-keyframes popdrop { + from{-webkit-transform:scale(0.8)} + 80%{-webkit-transform:scale(1.02)} + to{-webkit-transform:scale(1)} +} + +#editbar { + display: none; + + position: fixed; + top:55px; + margin: auto; + width: 100%; + max-width: 680px; + background-color: #FCFCFC; + cursor: pointer; + padding: 10px 10px; + font-family: sans-serif; + font-size: 16px; + color: #F80B6D; + text-align: left; + z-index: 999; + border: solid 1px #E6E7E6; + border-top: none; + background-color: #FFF; + border-radius: 1px; + + -webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.05); + box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.05); +} + +@media only all and (max-width: 707px){#editbar{width: 96%;}}@media only all and (max-width: 666px){#editbar{width: 95.9%;}}@media only all and (max-width: 649px){#editbar{width: 95.8%;}}@media only all and (max-width: 634px){#editbar{width: 95.7%;}}@media only all and (max-width: 617px){#editbar{width: 95.5%;}}@media only all and (max-width: 591px){#editbar{width: 95.4%;}}@media only all and (max-width: 580px){#editbar{width: 95%;}}@media only all and (max-width: 552px){#editbar{width: 94.6%;}}@media only all and (max-width: 500px){#editbar{width: 94.2%;}}@media only all and (max-width: 461px){#editbar{width: 93.8%;}}@media only all and (max-width: 430px){#editbar{width: 93.4%;}}@media only all and (max-width: 404px){#editbar{width: 93.0%;}}@media only all and (max-width: 381px){#editbar{width: 92.6%;}}@media only all and (max-width: 360px){#editbar{width: 91.6%;}}@media only all and (max-width: 325px){#editbar{width: 91.0%;}}@media only all and (max-width: 310px){#editbar{width: 90.6%;}}@media only all and (max-width: 287px){#editbar{width: 90.2%;}}@media only all and (max-width: 274px){#editbar{width: 89.6%;}}@media only all and (max-width: 274px){#editbar{width: 89%;}} + +.editbarDiv { + display: inline-block; + float: left; + margin-right: 18px; + + max-width: 15%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + + transition: all .16s ease-in-out; + -moz-transition: all .16s ease-in-out; + -webkit-transition: all .16s ease-in-out; +} + +.editbarDiv:hover { + transform: scale(1.1); + -moz-transform: scale(1.1); + -webkit-transform: scale(1.1); +} + +.editbarIcon { + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + + transition: all .16s ease-in-out; + -moz-transition: all .16s ease-in-out; + -webkit-transition: all .16s ease-in-out; +} + +.editbarIconRight { + width: 15px; + float: right; + + transition: all .16s ease-in-out; + -moz-transition: all .16s ease-in-out; + -webkit-transition: all .16s ease-in-out; +} + +.editbarIconRight:hover { + transform: scale(1.1); + -moz-transform: scale(1.1); + -webkit-transform: scale(1.1); +} + +.editbarIconLeft { + width: 15px; + float: left; + margin-right: 5px; +} + +.editbarText { + font-weight: lighter; + font-family: "Open Sans",sans-serif; + font-size: 14px; + display: inline-block; + margin: 0; + color: #000000; +} + +.lightbox { + position: fixed; + width: 100%; + max-width: 695px; + max-height: 70%; + overflow-y: auto; + overflow-x: hidden; + background-color: #FFFFFF; + display: none; + z-index: 1001; + border-radius: 0px; + padding: 0px 8px; + text-align: center; + top: 13%; + + -webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; + -moz-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; + box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.2), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 1px 0px rgba(255, 255, 255, 0.25) inset; +} + +@media only all and (max-width: 707px){.lightbox{width: 96%;}}@media only all and (max-width: 666px){.lightbox{width: 95.9%;}}@media only all and (max-width: 649px){.lightbox{width: 95.8%;}}@media only all and (max-width: 634px){.lightbox{width: 95.7%;}}@media only all and (max-width: 617px){.lightbox{width: 95.5%;}}@media only all and (max-width: 591px){.lightbox{width: 95.4%;}}@media only all and (max-width: 580px){.lightbox{width: 95%;}}@media only all and (max-width: 552px){.lightbox{width: 94.6%;}}@media only all and (max-width: 500px){.lightbox{width: 94.2%;}}@media only all and (max-width: 461px){.lightbox{width: 93.8%;}}@media only all and (max-width: 430px){.lightbox{width: 93.4%;}}@media only all and (max-width: 404px){.lightbox{width: 93.0%;}}@media only all and (max-width: 381px){.lightbox{width: 92.6%;}}@media only all and (max-width: 360px){.lightbox{width: 91.6%;}}@media only all and (max-width: 325px){.lightbox{width: 91.0%;}}@media only all and (max-width: 310px){.lightbox{width: 90.6%;}}@media only all and (max-width: 287px){.lightbox{width: 90.2%;}}@media only all and (max-width: 274px){.lightbox{width: 89.6%;}}@media only all and (max-width: 274px){.lightbox{width: 89%;}} + +.noscript { + position: fixed; + width: 100%; + height: 100%; + left: 0px; + right: 0px; + top: 0px; + right: 0px; + padding-top: 8%; + background-color: #F2F2F2; + z-index: 9000; +} + +.noscript a { + color: #55ACEE; +} + +.noscriptContainer { + max-width: 638px; + width: 80%; + margin: auto; +} + +/* CSS Animations */ +.popout { + animation: popout .5s ease; + -webkit-animation: popout .5s ease; +} +@keyframes popout { + from{transform:scale(0.8)} + 80%{transform:scale(1.02)} + to{transform:scale(1)} +} +@-webkit-keyframes popout { + from{-webkit-transform:scale(0.8)} + 80%{-webkit-transform:scale(1.02)} + to{-webkit-transform:scale(1)} +} + +.deleteAnimationBlock { + animation: deleteAnimation .5s ease; + -webkit-animation: deleteAnimation .5s ease; +} +@keyframes deleteAnimationBlock { + from { + transform: scale(1) + } + to { + transform: scale(0); + width: 0px; + display: none; + } +} +@-webkit-keyframes deleteAnimationBlock { + from { + -webkit-transform: scale(1) + } + to { + -webkit-transform: scale(0); + width: 0px; + display: none; + } +} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.min.css b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.min.css new file mode 100644 index 0000000..662beab --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/styles.min.css @@ -0,0 +1 @@ +.editbarDiv,.fileDiv{transition:all .16s ease-in-out}#header,.imgDiv{text-align:center;font-family:sans-serif}#header,.background,.fileDiv,.folderInfo,.headerBtn,.imgActionP,.settingsh3,.uploadP,input{cursor:pointer}.background,.dropzone{left:0;right:0;bottom:0}html{background-color:#F2F2F2}body{max-width:700px;margin:auto;padding:90px 4px 20px}#header{position:fixed;top:0;left:0;width:100%;background-color:#2C3E50;padding:10px;font-size:16px;color:#F80B6D;z-index:999}.fileDiv{border:1px solid #E6E7E6;background-color:#FFF;border-radius:1px;width:30%;float:left;height:173px;margin-right:1%;margin-left:1%;margin-bottom:2.4%;overflow:hidden;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.05);-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,.05);box-shadow:0 1px 3px 0 rgba(0,0,0,.05);-moz-transition:all .16s ease-in-out;-webkit-transition:all .16s ease-in-out}.fileDiv:hover{transform:scale(1.05);-moz-transform:scale(1.05);-webkit-transform:scale(1.05)}.fileDiv:active{transform:scale(1.03);-webkit-transform:scale(1.03)}.selected{background-color:#81CFE0}.selected:hover{background-color:#81CFE0!important}@media only all and (min-width:615px){.fileDiv{width:31%}}@media only all and (max-width:615px){.fileDiv{width:30.5%}}@media only all and (max-width:450px){.fileDiv{width:47%}}@media only all and (max-width:367px){.fileDiv{width:46%}}@media only all and (max-width:270px){.fileDiv{width:95%}}.imgDiv{height:120px;width:100%;overflow:hidden;border-bottom:solid 1px #EAEAEA;padding-bottom:5px;font-size:38px;font-weight:700}.fileDescription,.fileTime{font-family:sans-serif;text-align:left;padding-left:4px}.fileImg{width:auto;height:100%;margin-bottom:0}.fileDescription{font-size:13px;margin-bottom:2px;margin-top:5px}.fileTime{font-size:10px;margin-top:0;margin-bottom:0}#imageFullSreen,#uploadImgDiv{width:92%;overflow-y:auto;padding:0 8px}#imageFullSreen{position:fixed;max-width:695px;max-height:70%;overflow-x:hidden;background-color:#FFF;display:none;z-index:1001;border-radius:0;text-align:center;top:13%;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset;box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}#imageFSimg{width:100%;max-width:695px;margin-top:16px;margin-bottom:5px}.imgActionP{display:inline-block;width:48%;max-width:345.5px;font-family:sans-serif;font-size:16px;font-weight:700}.headerA,.uploadP{text-decoration:none;font-weight:lighter;font-family:"Open Sans",sans-serif}.background{background-color:#F2F2F2;filter:blur(100px);z-index:1000;width:100%;height:100%;position:fixed;top:0;display:none}.headerBtn{border:none;background-color:#E0EAF1;border-radius:5px;padding:3px;font-size:15px;color:#07C;margin-right:3px;margin-top:6px}#folderError button,#updates a{border-bottom:2px solid #C1DDF5}.redBtn{background-color:#F2DEDE;color:#A94442}.greyBtn{background-color:#F1F1F1;color:#171B1F}.greenBtn{background-color:#DFF0D8;color:#3C763D}.headerBtn:hover{background-color:#07C;color:#fff}.redBtn:hover{background-color:#A94442;color:#fff}.greyBtn:hover{background-color:#818185;color:#F1F1F1}.greenBtn:hover{background-color:#3C763D;color:#fff}.headerA{color:#222;background-color:#FFF;font-size:22px}.headerA:hover{color:#FFF;background-color:#F90B6D}#uploadImgDiv,.buttonBar,.uploadP{background-color:#FFF}.buttonBar{position:fixed;text-align:left;max-width:695px;padding-bottom:7px;padding-top:6px;opacity:.9}#settingsDiv,#uploadImgDiv{position:fixed;max-height:70%;overflow-x:hidden;z-index:1001;text-align:center;top:13%}#uploadImgDiv{max-width:695px;border-radius:0;box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}#updates,#uploadImgDiv{display:none;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}.uploadP{color:#222;font-size:18px;max-width:200px;margin:10px auto 8px}#updates,.folderInfo{font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.uploadP:hover,editable:hover{color:#FFF;background-color:#F90B6D}#updates{font-weight:inherit;padding:15px 20px 15px 42px;border-radius:1px;margin-bottom:16px;margin-top:-16px;color:#2C3E50;background:url(img/cd-icon-updates.png) center left 12px no-repeat #FFF;background-size:22px 22px;box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}#updates a{font-weight:700;text-decoration:none;border-radius:0;background-color:transparent;box-shadow:0 -6px 0 #C1DDF5 inset;color:inherit}#updates a:hover{background-color:#C1DDF5}.folderInfo{margin-right:1.2%;margin-left:1.2%;margin-bottom:2.4%;overflow:hidden;font-weight:700}.headerIcon{height:18px;vertical-align:text-bottom}.headerIconLogo{height:35px;vertical-align:text-bottom;float:left;margin-left:4px}.headerIconCenter{height:29px;float:left;margin-left:20px;margin-top:4px}.headerIconRight{height:20px;float:right;margin-right:25px;margin-top:7px}.iconHover:hover{-webkit-filter:brightness(8);filter:brightness(8)}#settingsDiv{width:92%;max-width:695px;overflow-y:auto;background-color:#FFF;display:none;border-radius:0;padding:0 8px;box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}#folderError,#settingsDiv{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}.editbarDiv,.fullWidth30percent,.fullWidthfileDescription,.fullWidthimgDiv,.qEditIconsDiv{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settingsh3{font-weight:bolder;color:#222;text-decoration:none;font-family:"Open Sans",sans-serif;font-size:14px;max-width:200px;margin:10px auto 8px}.editableActive{color:#222!important;background-color:#FFF!important;cursor:inherit!important}#folderError{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:inherit;padding:15px 20px 15px 42px;border-radius:1px;margin-bottom:16px;margin-top:-5px;color:#2C3E50;background:url(img/cd-icon-warning.png) center left 12px no-repeat #FFF;background-size:22px 22px;box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 3px 0 rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.25) inset}.pathHistory,.saveUploadPathP{display:none;font-weight:lighter}#folderError button{padding:0 2px;border-radius:0;background-color:transparent;box-shadow:0 -6px 0 #C1DDF5 inset;color:inherit}#folderError button:hover{background-color:#C1DDF5}.saveUploadPathP{margin-bottom:-5px}.pathHistory{color:#222;text-decoration:none;font-family:"Open Sans",sans-serif;font-size:13px;max-width:240px;cursor:pointer;margin:10px auto -5px}.pathHistory:hover{color:#55ACEE}.saveUploadPathA{display:none;margin-top:18px}.fileMime{display:inline-block;border:solid #404040;border-width:thin;padding:0 1px;font-size:9px;font-family:Verdana,Geneva,sans-serif;text-transform:uppercase;font-weight:bolder;color:#404040}.fullWidthfileDescription,.fullWidthfileTime{font-family:sans-serif;font-size:15px;display:inline-block}.editIcon{width:15px;float:right;margin-right:4px}.fullWidthFileDiv{width:100%;cursor:pointer}.fullWidthFileDiv:hover{background-color:#E0EAF1}.fullWidthfileImg{height:16px}.fullWidthimgDiv{display:inline-block;width:30px;margin-bottom:12px;text-align:left}.fullWidthfileDescription{text-align:left;font-weight:600;max-width:25%;width:25%}.fullWidthfileTime{font-weight:300;text-align:center;float:right;margin-left:8%;max-width:9%;width:9%;max-height:16px;overflow-y:hidden}#editbar,#qEditBtnDone,.dropzone{display:none}.fullWidth30percent{max-width:30%;width:27%}@media only all and (max-width:580px){.fullWidthfileTime{margin-left:2%;max-width:12%;width:12%}.fullWidth30percent{max-width:20%;margin-left:0}.fullWidthfileDescription{max-width:35%;width:35%}}.fullWidthfileMime{text-transform:uppercase;text-align:right}.floatRight{float:right;margin-left:8px}.qEditIconsImg{height:16px}.qEditIconsDiv{float:right;display:none;margin-bottom:-20px;text-align:right;padding-top:16px;margin-left:8%;max-width:9%;width:9%}#editbar,.dropzone,.dropzone p{position:fixed;width:100%}.dropzone{top:0;height:100%;z-index:1002;cursor:pointer;background:#EEE}.dropzone p{text-align:center;top:37%;font-weight:lighter;font-family:"Open Sans",sans-serif;font-size:18px;animation:popdrop 1s infinite;-webkit-animation:popdrop 1s infinite}@keyframes popdrop{from,to{transform:scale(.9)}80%{transform:scale(1.08)}}@-webkit-keyframes popdrop{from{-webkit-transform:scale(.8)}80%{-webkit-transform:scale(1.02)}to{-webkit-transform:scale(1)}}#editbar{top:55px;margin:auto;max-width:680px;cursor:pointer;padding:10px;font-family:sans-serif;font-size:16px;color:#F80B6D;text-align:left;z-index:999;border:1px solid #E6E7E6;border-top:none;background-color:#FFF;border-radius:1px;-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.05);-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,.05);box-shadow:0 1px 3px 0 rgba(0,0,0,.05)}@media only all and (max-width:707px){#editbar{width:96%}}@media only all and (max-width:666px){#editbar{width:95.9%}}@media only all and (max-width:649px){#editbar{width:95.8%}}@media only all and (max-width:634px){#editbar{width:95.7%}}@media only all and (max-width:617px){#editbar{width:95.5%}}@media only all and (max-width:591px){#editbar{width:95.4%}}@media only all and (max-width:580px){#editbar{width:95%}}@media only all and (max-width:552px){#editbar{width:94.6%}}@media only all and (max-width:500px){#editbar{width:94.2%}}@media only all and (max-width:461px){#editbar{width:93.8%}}@media only all and (max-width:430px){#editbar{width:93.4%}}@media only all and (max-width:404px){#editbar{width:93%}}@media only all and (max-width:381px){#editbar{width:92.6%}}@media only all and (max-width:360px){#editbar{width:91.6%}}@media only all and (max-width:325px){#editbar{width:91%}}@media only all and (max-width:310px){#editbar{width:90.6%}}@media only all and (max-width:287px){#editbar{width:90.2%}}@media only all and (max-width:274px){#editbar{width:89%}}.editbarDiv{display:inline-block;float:left;margin-right:18px;max-width:15%;-moz-transition:all .16s ease-in-out;-webkit-transition:all .16s ease-in-out}.editbarDiv:hover{transform:scale(1.1);-moz-transform:scale(1.1);-webkit-transform:scale(1.1)}.editbarIcon{-webkit-filter:grayscale(100%);filter:grayscale(100%);-moz-transition:all .16s ease-in-out;-webkit-transition:all .16s ease-in-out}.editbarIcon,.editbarIconRight{transition:all .16s ease-in-out}.editbarIconRight{width:15px;float:right;-moz-transition:all .16s ease-in-out;-webkit-transition:all .16s ease-in-out}.editbarIconRight:hover{transform:scale(1.1);-moz-transform:scale(1.1);-webkit-transform:scale(1.1)}.editbarIconLeft{width:15px;float:left;margin-right:5px}.editbarText{font-weight:lighter;font-family:"Open Sans",sans-serif;font-size:14px;display:inline-block;margin:0;color:#000}.popout{animation:popout .5s ease;-webkit-animation:popout .5s ease}@keyframes popout{from{transform:scale(.8)}80%{transform:scale(1.02)}to{transform:scale(1)}}@-webkit-keyframes popout{from{-webkit-transform:scale(.8)}80%{-webkit-transform:scale(1.02)}to{-webkit-transform:scale(1)}}.deleteAnimation{animation:deleteAnimation .5s ease;-webkit-animation:deleteAnimation .5s ease}@keyframes deleteAnimation{from{transform:scale(1)}to{transform:scale(0);width:0;display:none}}@-webkit-keyframes deleteAnimation{from{-webkit-transform:scale(1)}to{-webkit-transform:scale(0);width:0;display:none}}#spinnerDiv{position:fixed;left:0;right:0;display:block;width:100%;text-align:center}.spinner{width:40px;height:40px;background-color:#333;margin:100px auto;-webkit-animation:sk-rotateplane 1.2s infinite ease-in-out;animation:sk-rotateplane 1.2s infinite ease-in-out}@-webkit-keyframes sk-rotateplane{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes sk-rotateplane{0%{transform:perspective(120px) rotateX(0) rotateY(0);-webkit-transform:perspective(120px) rotateX(0) rotateY(0)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0);-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/uploads/placeholder.jpg b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/imageuploader/uploads/placeholder.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2fc469409a55057b933bca34137b84e65830c1f GIT binary patch literal 15527 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.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",attributes:a}),a.type=CKEDITOR.STYLE_INLINE,c.applyStyle(a))}},onHide:function(){delete this._.selectedElement},onShow:function(){var a=c.getSelection(),b=a.getSelectedElement(),d=b&&b.data("cke-realelement"),e=d?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b):CKEDITOR.plugins.link.getSelectedLink(c); +if(e){this._.selectedElement=e;var f=e.data("cke-saved-name");this.setValueOf("info","txtName",f||"");!d&&a.selectElement(e);b&&(this._.selectedElement=b)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return this.getValue()?!0:(alert(c.lang.link.anchor.errorName),!1)}}]}]}}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/dialogs/link.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/dialogs/link.js new file mode 100644 index 0000000..74a0bb4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/dialogs/link.js @@ -0,0 +1,27 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){CKEDITOR.dialog.add("link",function(e){var m=CKEDITOR.plugins.link,p,q=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),n=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),n){case "frame":a.setLabel(e.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(e.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(n),a.getElement().hide()}}, +h=function(a){a.target&&this.setValue(a.target[this.id]||"")},f=function(a){a.advanced&&this.setValue(a.advanced[this.id]||"")},k=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},l=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},c=e.lang.common,b=e.lang.link,g;return{title:b.title,minWidth:350,minHeight:230,contents:[{id:"info",label:b.info,title:b.info,elements:[{type:"text",id:"linkDisplayText",label:b.displayText,setup:function(){this.enable(); +this.setValue(e.getSelection().getSelectedText());p=this.getValue()},commit:function(a){a.linkText=this.isEnabled()?this.getValue():""}},{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"],[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],n=this.getValue(),d=a.definition.getContents("upload"),d=d&&d.hidden;"url"==n?(e.config.linkShowTargetTab&&a.showPage("target"),d||a.showPage("upload")): +(a.hidePage("target"),d||a.hidePage("upload"));for(d=0;dlYbi8H zxR;v-p;YW5F+`iD!^a8X7`mnql`D%A}cEXd`ThDV!W(L6Y>?{CNCnwyhR56s z{71LTH{e&V$AtHc17l_+&XK?f?EDXi4&Js}yaHx`L*Pog&7*dkht(>CK)2hyxGhn_ zM$KiwGpPma0S~s9mMWk2_SkAPuttM3;7-x{Ufx5V=OaOqv@Pjot=U9UNz!9UFD3O4 zR#zqIOww~n)AcmP@;s+nt;)=hM4IOoyvG2UfpY}sxH~_86{rGVKIeHS34z3nlBAI* zIKVl_Frfl87*J2spMshJW6t56D}oe47y&4R5r6@5?$Wr1AuP^a4A4e&vf;hwPgiF4 bR}J+WGDARE%D;pG00000NkvXXu0mjftM3S` literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/images/hidpi/anchor.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/link/images/hidpi/anchor.png new file mode 100644 index 0000000000000000000000000000000000000000..f5048430d57dcf0170a2df9e48ba25a58ba18ef9 GIT binary patch literal 1379 zcmV-p1)TbcP) zF-A!GKzLMwM$i;$$HMNqI?{bUQeCbh z5laT-vz#1n0*%+WcrBBjJa>-L_wUoT{rg|RTp!RW^2Mh&LLuXq zmKI}(NZ@jNyAd58cCHTsdw{wteSO40-w%B0SU1W#S+~MJi?JBJeCUvoKOUuU{#Kjn z>Z0+%LGnu5^NO6@dK%cUZXLZoJ8QQ}68H=F2iO95c<=+rJ}u>ffaY7XM#v+(%XD;f zlsM53Fl89NQIEbK4wu7R0?!(oR}zTK&Cz!l_p^gsyhx2ZcQV)KEg7@NkJCVRHyLHl zPY|&CwqY101g4>^1^+G0%@kW$peU?mV$AFHk_Y5mnnsCuoc@NRC9v+&u3bWrM{bNs zt^n!)UnK(emSs=15!epA)Ye83L`fFpavZW&h_X51@qx8#=~;O8Je>J12(sM`Nq`ju zY=o*3D2Z1l(9l5l5JIfnEO$>J%y=#fOE8fQ>(`Tx4J2U^p5yp6(I1(fE*nCsb0BB! z%yuM(b&*tPJjZL;dMS>1Jo{I#CcocLCdgzkZaR*-!~%-r*0LXgDNSBWvn*nf$;k~o zNJjZ1c+|!US&kLb4_LZ{fHMj#fwd|wQCP!!Rh_U>V^cqlrj|WNCjnKZf=4>=%)w0diPp6=jA zgeg8)|Oy5Q#A^~Yq7#9gQK*k5OqPS>pY9cR) zsvxCHQtZs)zk-EoBJdLwpO?wx8DJx4KolKeT+jca9|J}}V(j*9YDI$D(%4ANOa^@s zO|aZ=NLDGCAO80}a0Yk-cz0rgJX^Oe5peV1LHhB;3A%&+7?fR`nIQ$($UcJIM zRKB_RTF|OH%7&q7i*YUj_hC#bzXWsxUBGEB1vVqscVqsmP>5c@K!dCiLKyoU%ERb$ zaq#xuz4US3x@?TkR2&y?v}zcBn1ALCbfM-u!xb=_mJ7|!!-u(Md`lENn>M}qzG;dL zEnK)jS9b3f^}#k&QqLVYV2PUn-ubn^f5cl~pATs+$&$$7+hs`>2n58+Xf$fQbOShg zwZH#+4>FvFyf26%*@$u-#YvVc=bj#}fc61SDi!8~-tHKUj%?U5} z_O>xwA7It~;_T%203R2Z^VbFk|4hf@pMuEen0}FqC>b=o>#ML{*1d9NQI4k7b`f#C z&*ifw>;2+4i3}~i10alr>hS#WlP3*WXA&EkwAL}%6)08;A1^jJRV~0wRmV%tuOr3! z(&5WU`becU)pLO(%PCSoEzQakkCY2isT4iQwxlf2%I~+rkt{O-`=JC27g6yHuhSDD lkXLxrp)e>uPR-@D!G9=+u`hgA@I?Rs002ovPDHLkV1h$SfwKSr literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/liststyle/dialogs/liststyle.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/liststyle/dialogs/liststyle.js new file mode 100644 index 0000000..b984cbb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/liststyle/dialogs/liststyle.js @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +(function(){function d(c,d){var b;try{b=c.getSelection().getRanges()[0]}catch(f){return null}b.shrink(CKEDITOR.SHRINK_TEXT);return c.elementPath(b.getCommonAncestor()).contains(d,1)}function e(c,e){var b=c.lang.liststyle;if("bulletedListStyle"==e)return{title:b.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:"info",accessKey:"I",elements:[{type:"select",label:b.type,id:"type",align:"center",style:"width:150px",items:[[b.notset,""],[b.circle,"circle"],[b.disc,"disc"],[b.square,"square"]],setup:function(a){a= +a.getStyle("list-style-type")||h[a.getAttribute("type")]||a.getAttribute("type")||"";this.setValue(a)},commit:function(a){var b=this.getValue();b?a.setStyle("list-style-type",b):a.removeStyle("list-style-type")}}]}],onShow:function(){var a=this.getParentEditor();(a=d(a,"ul"))&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor();(a=d(a,"ul"))&&this.commitContent(a)}};if("numberedListStyle"==e){var g=[[b.notset,""],[b.lowerRoman,"lower-roman"],[b.upperRoman,"upper-roman"],[b.lowerAlpha, +"lower-alpha"],[b.upperAlpha,"upper-alpha"],[b.decimal,"decimal"]];(!CKEDITOR.env.ie||7&XFui49F#OeC~TM2>NBAD(jbywmmB4AXs^Hw!g3 zrKK6vW(G_+FkzM$n~Q^*56=n#HEv_kCE{7?J&c=}8RCPb`s%g^=>g4S@O1TaS?83{ F1OV9DKgIw6 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/hidpi/icon.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/hidpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b981bb5c6c40ef143fbd1dbd92e17c3471a6e635 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9S!VDyfb{13uDTx4|5LY1m9~)4vn;Q?5V=oEv z3ua*W{OkAMe;?PrIs+66_jGX#;kaJgvr+JX0T0vtsZoZl?5FrnGTCjcQM%Pf)^OZeA b(rxbAsq!4pRQ+B7tzhtU^>bP0l+XkKZctCS literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/icon-rtl.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/magicline/images/icon-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..55b5b5f949a60c8fabc63867fd7827fe33d0ab71 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRQ!3HGLSWET+sX$K`#}En0)_zAW1_cfl(^voJ zzZIFXGf`1QjpGte_M{Gzw|n- mC^o0`vu%>-E46n=xrM(kReto&c3lQb9?3{rl/g, ']-->' ); + + var fragment = CKEDITOR.htmlParser.fragment.fromHtml( mswordHtml ); + + filter = new CKEDITOR.htmlParser.filter( { + root: function( element ) { + element.filterChildren( filter ); + + CKEDITOR.plugins.pastefromword.lists.cleanup( List.createLists( element ) ); + }, + elementNames: [ + [ ( /^\?xml:namespace$/ ), '' ], + [ /^v:shapetype/, '' ], + [ new RegExp( invalidTags.join( '|' ) ), '' ] // Remove invalid tags. + ], + elements: { + 'a': function( element ) { + // Redundant anchor created by IE8. + if ( element.attributes.name ) { + if ( element.attributes.name == '_GoBack' ) { + delete element.name; + return; + } + + // Garbage links that go nowhere. + if ( element.attributes.name.match( /^OLE_LINK\d+$/ ) ) { + delete element.name; + return; + } + } + + if ( element.attributes.href && element.attributes.href.match( /#.+$/ ) ) { + var name = element.attributes.href.match( /#(.+)$/ )[ 1 ]; + links[ name ] = element; + } + + if ( element.attributes.name && links[ element.attributes.name ] ) { + var link = links[ element.attributes.name ]; + link.attributes.href = link.attributes.href.replace( /.*#(.*)$/, '#$1' ); + } + + }, + 'div': function( element ) { + Style.createStyleStack( element, filter, editor ); + }, + 'img': function( element ) { + var attributeStyleMap = { + width: function( value ) { + Style.setStyle( element, 'width', value + 'px' ); + }, + height: function( value ) { + Style.setStyle( element, 'height', value + 'px' ); + } + }; + + if ( element.parent ) { + var attrs = element.parent.attributes, + style = attrs.style || attrs.STYLE; + if ( style && style.match( /mso\-list:\s?Ignore/ ) ) { + element.attributes[ 'cke-ignored' ] = true; + } + } + + Style.mapStyles( element, attributeStyleMap ); + + if ( element.attributes.src && element.attributes.src.match( /^file:\/\// ) && + element.attributes.alt && element.attributes.alt.match( /^https?:\/\// ) ) { + element.attributes.src = element.attributes.alt; + } + }, + 'p': function( element ) { + element.filterChildren( filter ); + + if ( element.attributes.style && element.attributes.style.match( /display:\s*none/i ) ) { + return false; + } + + if ( List.thisIsAListItem( element ) ) { + List.convertToFakeListItem( element ); + } else { + // In IE list level information is stored in

elements inside

  • elements. + var container = element.getAscendant( function( element ) { + return element.name == 'ul' || element.name == 'ol'; + } ), + style = tools.parseCssText( element.attributes.style ); + if ( container && + !container.attributes[ 'cke-list-level' ] && + style[ 'mso-list' ] && + style[ 'mso-list' ].match( /level/ ) ) { + container.attributes[ 'cke-list-level' ] = style[ 'mso-list' ].match( /level(\d+)/ )[1]; + } + } + + Style.createStyleStack( element, filter, editor ); + }, + 'pre': function( element ) { + if ( List.thisIsAListItem( element ) ) List.convertToFakeListItem( element ); + + Style.createStyleStack( element, filter, editor ); + }, + 'h1': function( element ) { + if ( List.thisIsAListItem( element ) ) List.convertToFakeListItem( element ); + + Style.createStyleStack( element, filter, editor ); + }, + 'font': function( element ) { + if ( element.getHtml().match( /^\s*$/ ) ) { + new CKEDITOR.htmlParser.text( ' ' ).insertAfter( element ); + return false; + } + + if ( editor && editor.config.pasteFromWordRemoveFontStyles === true && element.attributes.size ) { + // font[size] are still used by old IEs for font size. + delete element.attributes.size; + } + + createAttributeStack( element, filter ); + }, + 'ul': function( element ) { + if ( !msoListsDetected ) { + // List should only be processed if we're sure we're working with Word. (#16593) + return; + } + + // Edge case from 11683 - an unusual way to create a level 2 list. + if ( element.parent.name == 'li' && tools.indexOf( element.parent.children, element ) === 0 ) { + Style.setStyle( element.parent, 'list-style-type', 'none' ); + } + + List.dissolveList( element ); + return false; + }, + 'li': function( element ) { + if ( !msoListsDetected ) { + return; + } + + element.attributes.style = Style.normalizedStyles( element, editor ); + + Style.pushStylesLower( element ); + }, + 'ol': function( element ) { + if ( !msoListsDetected ) { + // List should only be processed if we're sure we're working with Word. (#16593) + return; + } + + // Fix edge-case where when a list skips a level in IE11, the
      element + // is implicitly surrounded by a
    1. . + if ( element.parent.name == 'li' && tools.indexOf( element.parent.children, element ) === 0 ) { + Style.setStyle( element.parent, 'list-style-type', 'none' ); + } + + List.dissolveList( element ); + return false; + }, + 'span': function( element ) { + element.filterChildren( filter ); + + element.attributes.style = Style.normalizedStyles( element, editor ); + + if ( !element.attributes.style || + // Remove garbage bookmarks that disrupt the content structure. + element.attributes.style.match( /^mso\-bookmark:OLE_LINK\d+$/ ) || + element.getHtml().match( /^(\s| )+$/ ) ) { + + // replaceWithChildren doesn't work in filters. + for ( var i = element.children.length - 1; i >= 0; i-- ) { + element.children[ i ].insertAfter( element ); + } + return false; + } + + Style.createStyleStack( element, filter, editor ); + }, + 'table': function( element ) { + element._tdBorders = {}; + element.filterChildren( filter ); + + var borderStyle, occurences = 0; + for ( var border in element._tdBorders ) { + if ( element._tdBorders[ border ] > occurences ) { + occurences = element._tdBorders[ border ]; + borderStyle = border; + } + } + + Style.setStyle( element, 'border', borderStyle ); + + }, + 'td': function( element ) { + + var ascendant = element.getAscendant( 'table' ), + tdBorders = ascendant._tdBorders, + borderStyles = [ 'border', 'border-top', 'border-right', 'border-bottom', 'border-left' ], + ascendantStyle = tools.parseCssText( ascendant.attributes.style ); + + // Sometimes the background is set for the whole table - move it to individual cells. + var background = ascendantStyle.background || ascendantStyle.BACKGROUND; + if ( background ) { + Style.setStyle( element, 'background', background, true ); + } + + var backgroundColor = ascendantStyle[ 'background-color' ] || ascendantStyle[ 'BACKGROUND-COLOR' ]; + if ( backgroundColor ) { + Style.setStyle( element, 'background-color', backgroundColor, true ); + } + + var styles = tools.parseCssText( element.attributes.style ); + + for ( var style in styles ) { + var temp = styles[ style ]; + delete styles[ style ]; + styles[ style.toLowerCase() ] = temp; + } + + // Count all border styles that occur in the table. + for ( var i = 0; i < borderStyles.length; i++ ) { + if ( styles[ borderStyles[ i ] ] ) { + var key = styles[ borderStyles[ i ] ]; + tdBorders[ key ] = tdBorders[ key ] ? tdBorders[ key ] + 1 : 1; + } + } + + Style.pushStylesLower( element, { + 'background': true + } ); + }, + 'v:imagedata': remove, + // This is how IE8 presents images. + 'v:shape': function( element ) { + // In chrome a element may be followed by an element with the same content. + var duplicate = false; + element.parent.getFirst( function( child ) { + if ( child.name == 'img' && + child.attributes && + child.attributes[ 'v:shapes' ] == element.attributes.id ) { + duplicate = true; + } + } ); + + if ( duplicate ) return false; + + var src = ''; + element.forEach( function( child ) { + if ( child.attributes && child.attributes.src ) { + src = child.attributes.src; + } + }, CKEDITOR.NODE_ELEMENT, true ); + + element.filterChildren( filter ); + + element.name = 'img'; + element.attributes.src = element.attributes.src || src; + + delete element.attributes.type; + }, + + 'style': function() { + // We don't want to let any styles in. Firefox tends to add some. + return false; + } + }, + attributes: { + 'style': function( styles, element ) { + // Returning false deletes the attribute. + return Style.normalizedStyles( element, editor ) || false; + }, + 'class': function( classes ) { + return falseIfEmpty( classes.replace( /msonormal|msolistparagraph\w*/ig, '' ) ); + }, + 'cellspacing': remove, + 'cellpadding': remove, + 'border': remove, + 'valign': remove, + 'v:shapes': remove, + 'o:spid': remove + }, + comment: function( element ) { + if ( element.match( /\[if.* supportFields.*\]/ ) ) { + inComment++; + } + if ( element == '[endif]' ) { + inComment = inComment > 0 ? inComment - 1 : 0; + } + return false; + }, + text: function( content ) { + if ( inComment ) { + return ''; + } + return content.replace( / /g, ' ' ); + } + } ); + + var writer = new CKEDITOR.htmlParser.basicWriter(); + + filter.applyTo( fragment ); + fragment.writeHtml( writer ); + + return writer.getHtml(); + }; + + /** + * Namespace containing all the helper functions to work with styles. + * + * @private + * @since 4.6.0 + * @member CKEDITOR.plugins.pastefromword + */ + CKEDITOR.plugins.pastefromword.styles = { + setStyle: function( element, key, value, dontOverwrite ) { + var styles = tools.parseCssText( element.attributes.style ); + + if ( dontOverwrite && styles[ key ] ) { + return; + } + + if ( value === '' ) { + delete styles[ key ]; + } else { + styles[ key ] = value; + } + + element.attributes.style = CKEDITOR.tools.writeCssText( styles ); + }, + + // Map attributes to styles. + mapStyles: function( element, attributeStyleMap ) { + for ( var attribute in attributeStyleMap ) { + if ( element.attributes[ attribute ] ) { + if ( typeof attributeStyleMap[ attribute ] === 'function' ) { + attributeStyleMap[ attribute ]( element.attributes[ attribute ] ); + } else { + Style.setStyle( element, attributeStyleMap[ attribute ], element.attributes[ attribute ] ); + } + delete element.attributes[ attribute ]; + } + } + }, + + /** + * Filters Word-specific styles for a given element. Also might filter additional styles + * based on the `editor` configuration. + * + * @private + * @param {CKEDITOR.htmlParser.element} element + * @param {CKEDITOR.editor} editor + * @member CKEDITOR.plugins.pastefromword.styles + */ + normalizedStyles: function( element, editor ) { + + // Some styles and style values are redundant, so delete them. + var resetStyles = [ + 'background-color:transparent', + 'border-image:none', + 'color:windowtext', + 'direction:ltr', + 'mso-', + 'text-indent', + 'visibility:visible', + 'div:border:none' // This one stays because #6241 + ], + textStyles = [ + 'font-family', + 'font', + 'font-size', + 'color', + 'background-color', + 'line-height', + 'text-decoration' + ], + matchStyle = function() { + var keys = []; + for ( var i = 0; i < arguments.length; i++ ) { + if ( arguments[ i ] ) { + keys.push( arguments[ i ] ); + } + } + + return tools.indexOf( resetStyles, keys.join( ':' ) ) !== -1; + }, + removeFontStyles = editor && editor.config.pasteFromWordRemoveFontStyles === true; + + var styles = tools.parseCssText( element.attributes.style ); + + if ( element.name == 'cke:li' ) { + // IE8 tries to emulate list indentation with a combination of + // text-indent and left margin. Normalize this. Note that IE8 styles are uppercase. + if ( styles[ 'TEXT-INDENT' ] && styles.MARGIN ) { + element.attributes[ 'cke-indentation' ] = List.getElementIndentation( element ); + styles.MARGIN = styles.MARGIN.replace( /(([\w\.]+ ){3,3})[\d\.]+(\w+$)/, '$10$3' ); + } + + } + + var keys = tools.objectKeys( styles ); + + for ( var i = 0; i < keys.length; i++ ) { + var styleName = keys[ i ].toLowerCase(), + styleValue = styles[ keys[ i ] ], + indexOf = CKEDITOR.tools.indexOf, + toBeRemoved = removeFontStyles && indexOf( textStyles, styleName.toLowerCase() ) !== -1; + + if ( toBeRemoved || matchStyle( null, styleName, styleValue ) || + matchStyle( null, styleName.replace( /\-.*$/, '-' ) ) || + matchStyle( null, styleName ) || + matchStyle( element.name, styleName, styleValue ) || + matchStyle( element.name, styleName.replace( /\-.*$/, '-' ) ) || + matchStyle( element.name, styleName ) || + matchStyle( styleValue ) + ) { + delete styles[ keys[ i ] ]; + } + } + return CKEDITOR.tools.writeCssText( styles ); + }, + + /** + * Surrounds the element's children with a stack of spans, each one having one style + * originally belonging to the element. + * + * @private + * @param {CKEDITOR.htmlParser.element} element + * @param {CKEDITOR.htmlParser.filter} filter + * @param {CKEDITOR.editor} editor + * @member CKEDITOR.plugins.pastefromword.styles + */ + createStyleStack: function( element, filter, editor ) { + var i, + children = []; + + element.filterChildren( filter ); + + // Store element's children somewhere else. + for ( i = element.children.length - 1; i >= 0; i-- ) { + children.unshift( element.children[ i ] ); + element.children[ i ].remove(); + } + + Style.sortStyles( element ); + + // Create a stack of spans with each containing one style. + var styles = tools.parseCssText( Style.normalizedStyles( element, editor ) ), + innermostElement = element, + styleTopmost = element.name === 'span'; // Ensure that the root element retains at least one style. + + for ( var style in styles ) { + if ( style.match( /margin|text\-align|width|border|padding/i ) ) { + continue; + } + + if ( styleTopmost ) { + styleTopmost = false; + continue; + } + + var newElement = new CKEDITOR.htmlParser.element( 'span' ); + + newElement.attributes.style = style + ':' + styles[ style ]; + + innermostElement.add( newElement ); + innermostElement = newElement; + + delete styles[ style ]; + } + + if ( JSON.stringify( styles ) !== '{}' ) { + element.attributes.style = CKEDITOR.tools.writeCssText( styles ); + } else { + delete element.attributes.style; + } + + // Add the stored children to the innermost span. + for ( i = 0; i < children.length; i++ ) { + innermostElement.add( children[ i ] ); + } + }, + + // Some styles need to be stacked in a particular order to work properly. + sortStyles: function( element ) { + var orderedStyles = [ + 'border', + 'border-bottom', + 'font-size', + 'background' + ], + style = tools.parseCssText( element.attributes.style ), + keys = tools.objectKeys( style ), + sortedKeys = [], + nonSortedKeys = []; + + // Divide styles into sorted and non-sorted, because Array.prototype.sort() + // requires a transitive relation. + for ( var i = 0; i < keys.length; i++ ) { + if ( tools.indexOf( orderedStyles, keys[ i ].toLowerCase() ) !== -1 ) { + sortedKeys.push( keys[ i ] ); + } else { + nonSortedKeys.push( keys[ i ] ); + } + } + + // For styles in orderedStyles[] enforce the same order as in orderedStyles[]. + sortedKeys.sort( function( a, b ) { + var aIndex = tools.indexOf( orderedStyles, a.toLowerCase() ); + var bIndex = tools.indexOf( orderedStyles, b.toLowerCase() ); + + return aIndex - bIndex; + } ); + + keys = [].concat( sortedKeys, nonSortedKeys ); + + var sortedStyles = {}; + + for ( i = 0; i < keys.length; i++ ) { + sortedStyles[ keys[ i ] ] = style[ keys[ i ] ]; + } + + element.attributes.style = CKEDITOR.tools.writeCssText( sortedStyles ); + }, + + // Moves the element's styles lower in the DOM hierarchy. + // Returns true on success. + pushStylesLower: function( element, exceptions ) { + if ( !element.attributes.style || + element.children.length === 0 ) { + return false; + } + + exceptions = exceptions || {}; + + // Entries ending with a dash match styles that start with + // the entry name, e.g. 'border-' matches 'border-style', 'border-color' etc. + var retainedStyles = { + 'list-style-type': true, + 'width': true, + 'border': true, + 'border-': true + }; + + var styles = tools.parseCssText( element.attributes.style ); + + for ( var style in styles ) { + if ( style.toLowerCase() in retainedStyles || + retainedStyles [ style.toLowerCase().replace( /\-.*$/, '-' ) ] || + style.toLowerCase() in exceptions ) { + continue; + } + + var pushed = false; + + for ( var i = 0; i < element.children.length; i++ ) { + var child = element.children[ i ]; + + if ( child.type !== CKEDITOR.NODE_ELEMENT ) { + continue; + } + + pushed = true; + + Style.setStyle( child, style, styles[ style ] ); + } + + if ( pushed ) { + delete styles[ style ]; + } + } + + element.attributes.style = CKEDITOR.tools.writeCssText( styles ); + + return true; + } + }; + Style = CKEDITOR.plugins.pastefromword.styles; + + /** + * Namespace containing any list-oriented helper methods. + * + * @private + * @since 4.6.0 + * @member CKEDITOR.plugins.pastefromword + */ + CKEDITOR.plugins.pastefromword.lists = { + /** + * Checks if a given element is a list item-alike. + * + * @private + * @param {CKEDITOR.htmlParser.element} element + * @returns {Boolean} + * @member CKEDITOR.plugins.pastefromword.lists + */ + thisIsAListItem: function( element ) { + /*jshint -W024 */ + // Normally a style of the sort that looks like "mso-list: l0 level1 lfo1" + // indicates a list element, but the same style may appear in a

      that's within a

    2. . + if ( ( ( element.attributes.style && element.attributes.style.match( /mso\-list:\s?l\d/ ) ) && + element.parent.name !== 'li' ) || + element.attributes[ 'cke-dissolved' ] || + element.getHtml().match( // ) || + // Flat, ordered lists are represented by paragraphs + // who's text content roughly matches /( )*(.*?)( )+/ + // where the middle parentheses contain the symbol. + element + .getHtml() + .match( /^( )*.*?[\.\)] ( ){2,666}/ ) + ) { + return true; + } + + return false; + /*jshint +W024 */ + }, + + /** + * Converts an element to an element with the `cke:li` tag name. + * + * @private + * @param {CKEDITOR.htmlParser.element} element + * @member CKEDITOR.plugins.pastefromword.lists + */ + convertToFakeListItem: function( element ) { + // A dummy call to cache parsed list info inside of cke-list-* attributes. + this.getListItemInfo( element ); + + if ( !element.attributes[ 'cke-dissolved' ] ) { + // The symbol is usually the first text node descendant + // of the element that doesn't start with a whitespace character; + var symbol; + + element.forEach( function( element ) { + // Sometimes there are custom markers represented as images. + // They can be recognized by the distinctive alt attribute value. + if ( !symbol && element.name == 'img' && + element.attributes[ 'cke-ignored' ] && + element.attributes.alt == '*' ) { + symbol = '·'; + // Remove the "symbol" now, since it's the best opportunity to do so. + element.remove(); + } + }, CKEDITOR.NODE_ELEMENT ); + + element.forEach( function( element ) { + if ( !symbol && !element.value.match( /^ / ) ) { + symbol = element.value; + } + }, CKEDITOR.NODE_TEXT ); + + // Without a symbol this isn't really a list item. + if ( typeof symbol == 'undefined' ) { + return; + } + + element.attributes[ 'cke-symbol' ] = symbol.replace( / .*$/, '' ); + + List.removeSymbolText( element ); + } + + + if ( element.attributes.style ) { + // Hacky way to get rid of margin left. + // @todo: we should gather all css cleanup here, and consider bidi. Eventually we might put a config variable to + // to enable it. + var styles = tools.parseCssText( element.attributes.style ); + + if ( styles[ 'margin-left' ] ) { + delete styles[ 'margin-left' ]; + element.attributes.style = CKEDITOR.tools.writeCssText( styles ); + } + } + + // Converting to a normal list item would implicitly wrap the element around an
        . + element.name = 'cke:li'; + }, + + /** + * Converts any fake list items contained within `root` into real `li` elements. + * + * @private + * @param {CKEDITOR.htmlParser.element} root + * @returns {CKEDITOR.htmlParser.element[]} An array of converted elements. + * @member CKEDITOR.plugins.pastefromword.lists + */ + convertToRealListItems: function( root ) { + var listElements = []; + // Select and clean up list elements. + root.forEach( function( element ) { + if ( element.name == 'cke:li' ) { + element.name = 'li'; + + //List.removeSymbolText( element ); + + listElements.push( element ); + } + }, CKEDITOR.NODE_ELEMENT, false ); + + return listElements; + }, + + removeSymbolText: function( element ) { // ...from a list element. + var removed, + symbol = element.attributes[ 'cke-symbol' ]; + + element.forEach( function( node ) { + if ( !removed && node.value.match( symbol.replace( ')', '\\)' ).replace( '(', '' ) ) ) { + + node.value = node.value.replace( symbol, '' ); + + if ( node.parent.getHtml().match( /^(\s| )*$/ ) ) { + removed = node.parent !== element ? node.parent : null; + } + } + }, CKEDITOR.NODE_TEXT ); + + removed && removed.remove(); + }, + + setListSymbol: function( list, symbol, level ) { + level = level || 1; + + var style = tools.parseCssText( list.attributes.style ); + + if ( list.name == 'ol' ) { + if ( list.attributes.type || style[ 'list-style-type' ] ) return; + + var typeMap = { + '[ivx]': 'lower-roman', + '[IVX]': 'upper-roman', + '[a-z]': 'lower-alpha', + '[A-Z]': 'upper-alpha', + '\\d': 'decimal' + }; + + for ( var type in typeMap ) { + if ( List.getSubsectionSymbol( symbol ).match( new RegExp( type ) ) ) { + style[ 'list-style-type' ] = typeMap[ type ]; + break; + } + } + + list.attributes[ 'cke-list-style-type' ] = style[ 'list-style-type' ]; + } else { + var symbolMap = { + '·': 'disc', + 'o': 'circle', + '§': 'square' // In Word this is a square. + }; + + if ( !style[ 'list-style-type' ] && symbolMap[ symbol ] ) { + style[ 'list-style-type' ] = symbolMap[ symbol ]; + } + + } + + List.setListSymbol.removeRedundancies( style, level ); + + ( list.attributes.style = CKEDITOR.tools.writeCssText( style ) ) || delete list.attributes.style; + }, + + setListStart: function( list ) { + var symbols = [], + offset = 0; + + for ( var i = 0; i < list.children.length; i++ ) { + symbols.push( list.children[ i ].attributes[ 'cke-symbol' ] || '' ); + } + + // When a list starts with a sublist, use the next element as a start indicator. + if ( !symbols[ 0 ] ) { + offset++; + } + + // Attribute set in setListSymbol() + switch ( list.attributes[ 'cke-list-style-type' ] ) { + case 'lower-roman': + case 'upper-roman': + list.attributes.start = List.toArabic( List.getSubsectionSymbol( symbols[ offset ] ) ) - offset; + break; + case 'lower-alpha': + case 'upper-alpha': + list.attributes.start = List.getSubsectionSymbol( symbols[ offset ] ).replace( /\W/g, '' ).toLowerCase().charCodeAt( 0 ) - 96 - offset; + break; + case 'decimal': + list.attributes.start = ( parseInt( List.getSubsectionSymbol( symbols[ offset ] ), 10 ) - offset ) || 1; + break; + } + + if ( list.attributes.start == '1' ) { + delete list.attributes.start; + } + + delete list.attributes[ 'cke-list-style-type' ]; + }, + + numbering: { + /** + * Converts the list marker value into a decimal number. + * + * var toNumber = CKEDITOR.plugins.pastefromword.lists.numbering.toNumber; + * + * console.log( toNumber( 'XIV', 'upper-roman' ) ); // Logs 14. + * console.log( toNumber( 'd', 'lower-alpha' ) ); // Logs 4. + * console.log( toNumber( '35', 'decimal' ) ); // Logs 35. + * console.log( toNumber( '404', 'foo' ) ); // Logs 1. + * + * @param {String} marker + * @param {String} markerType Marker type according to CSS `list-style-type` values. + * @returns {Number} + * @member CKEDITOR.plugins.pastefromword.lists.numbering + */ + toNumber: function( marker, markerType ) { + // Functions copied straight from old PFW implementation, no need to reinvent the wheel. + function fromAlphabet( str ) { + var alpahbets = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + + str = str.toUpperCase(); + var l = alpahbets.length, + retVal = 1; + for ( var x = 1; str.length > 0; x *= l ) { + retVal += alpahbets.indexOf( str.charAt( str.length - 1 ) ) * x; + str = str.substr( 0, str.length - 1 ); + } + return retVal; + } + + function fromRoman( str ) { + var romans = [ + [ 1000, 'M' ], + [ 900, 'CM' ], + [ 500, 'D' ], + [ 400, 'CD' ], + [ 100, 'C' ], + [ 90, 'XC' ], + [ 50, 'L' ], + [ 40, 'XL' ], + [ 10, 'X' ], + [ 9, 'IX' ], + [ 5, 'V' ], + [ 4, 'IV' ], + [ 1, 'I' ] + ]; + + str = str.toUpperCase(); + var l = romans.length, + retVal = 0; + for ( var i = 0; i < l; ++i ) { + for ( var j = romans[ i ], k = j[ 1 ].length; str.substr( 0, k ) == j[ 1 ]; str = str.substr( k ) ) + retVal += j[ 0 ]; + } + return retVal; + } + + if ( markerType == 'decimal' ) { + return Number( marker ); + } else if ( markerType == 'upper-roman' || markerType == 'lower-roman' ) { + return fromRoman( marker.toUpperCase() ); + } else if ( markerType == 'lower-alpha' || markerType == 'upper-alpha' ) { + return fromAlphabet( marker ); + } else { + return 1; + } + }, + + /** + * Returns a list style based on the Word marker content. + * + * var getStyle = CKEDITOR.plugins.pastefromword.lists.numbering.getStyle; + * + * console.log( getStyle( '4' ) ); // Logs: "decimal" + * console.log( getStyle( 'b' ) ); // Logs: "lower-alpha" + * console.log( getStyle( 'P' ) ); // Logs: "upper-alpha" + * console.log( getStyle( 'i' ) ); // Logs: "lower-roman" + * console.log( getStyle( 'X' ) ); // Logs: "upper-roman" + * + * + * **Implementation note:** Characters `c` and `d` are not converted to roman on purpose. It is 100 and 500 respectively, so + * you rarely go with a list up until this point, while it is common to start with `c` and `d` in alpha. + * + * @param {String} marker Marker content retained from Word, e.g. `1`, `7`, `XI`, `b`. + * @returns {String} Resolved marker type. + * @member CKEDITOR.plugins.pastefromword.lists.numbering + */ + getStyle: function( marker ) { + var typeMap = { + 'i': 'lower-roman', + 'v': 'lower-roman', + 'x': 'lower-roman', + 'l': 'lower-roman', + 'm': 'lower-roman', + 'I': 'upper-roman', + 'V': 'upper-roman', + 'X': 'upper-roman', + 'L': 'upper-roman', + 'M': 'upper-roman' + }, + firstCharacter = marker.slice( 0, 1 ), + type = typeMap[ firstCharacter ]; + + if ( !type ) { + type = 'decimal'; + + if ( firstCharacter.match( /[a-z]/ ) ) { + type = 'lower-alpha'; + } + if ( firstCharacter.match( /[A-Z]/ ) ) { + type = 'upper-alpha'; + } + } + + return type; + } + }, + + // Taking into account cases like "1.1.2." etc. - get the last element. + getSubsectionSymbol: function( symbol ) { + return ( symbol.match( /([\da-zA-Z]+).?$/ ) || [ 'placeholder', 1 ] )[ 1 ]; + }, + + setListDir: function( list ) { + var dirs = { ltr: 0, rtl: 0 }; + + list.forEach( function( child ) { + if ( child.name == 'li' ) { + var dir = child.attributes.dir || child.attributes.DIR || ''; + if ( dir.toLowerCase() == 'rtl' ) { + dirs.rtl++; + } else { + dirs.ltr++; + } + } + }, CKEDITOR.ELEMENT_NODE ); + + if ( dirs.rtl > dirs.ltr ) { + list.attributes.dir = 'rtl'; + } + }, + + createList: function( element ) { + // "o" symbolizes a circle in unordered lists. + if ( ( element.attributes[ 'cke-symbol' ].match( /([\da-np-zA-NP-Z]).?/ ) || [] )[ 1 ] ) { + return new CKEDITOR.htmlParser.element( 'ol' ); + } + return new CKEDITOR.htmlParser.element( 'ul' ); + }, + + /** + * @private + * @param {CKEDITOR.htmlParser.element} root An element to be looked through for lists. + * @returns {CKEDITOR.htmlParser.element[]} An array of created list items. + * @member CKEDITOR.plugins.pastefromword.lists + */ + createLists: function( root ) { + var element, level, i, j, + listElements = List.convertToRealListItems( root ); + + if ( listElements.length === 0 ) { + return []; + } + + + // Chop data into continuous lists. + var lists = List.groupLists( listElements ); + + // Create nested list structures. + for ( i = 0; i < lists.length; i++ ) { + var list = lists[ i ], + firstLevel1Element = list[ 0 ]; + + // To determine the type of the top-level list a level 1 element is needed. + for ( j = 0; j < list.length; j++ ) { + if ( list[ j ].attributes[ 'cke-list-level' ] == 1 ) { + firstLevel1Element = list[ j ]; + break; + } + } + + var containerStack = [ List.createList( firstLevel1Element ) ], + // List wrapper (ol/ul). + innermostContainer = containerStack[ 0 ], + allContainers = [ containerStack[ 0 ] ]; + + // Insert first known list item before the list wrapper. + innermostContainer.insertBefore( list[ 0 ] ); + + for ( j = 0; j < list.length; j++ ) { + element = list[ j ]; + + level = element.attributes[ 'cke-list-level' ]; + + while ( level > containerStack.length ) { + var content = List.createList( element ); + + var children = innermostContainer.children; + if ( children.length > 0 ) { + children[ children.length - 1 ].add( content ); + } else { + var container = new CKEDITOR.htmlParser.element( 'li', { + style: 'list-style-type:none' + } ); + container.add( content ); + innermostContainer.add( container ); + } + + containerStack.push( content ); + allContainers.push( content ); + innermostContainer = content; + + if ( level == containerStack.length ) { + List.setListSymbol( content, element.attributes[ 'cke-symbol' ], level ); + } + } + + while ( level < containerStack.length ) { + containerStack.pop(); + innermostContainer = containerStack[ containerStack.length - 1 ]; + + if ( level == containerStack.length ) { + List.setListSymbol( innermostContainer, element.attributes[ 'cke-symbol' ], level ); + } + } + + // For future reference this is where the list elements are actually put into the lists. + element.remove(); + innermostContainer.add( element ); + } + + // Try to set the symbol for the root (level 1) list. + var level1Symbol; + if ( containerStack[ 0 ].children.length ) { + level1Symbol = containerStack[ 0 ].children[ 0 ].attributes[ 'cke-symbol' ]; + + if ( !level1Symbol && containerStack[ 0 ].children.length > 1 ) { + level1Symbol = containerStack[0].children[1].attributes[ 'cke-symbol' ]; + } + + if ( level1Symbol ) { + List.setListSymbol( containerStack[ 0 ], level1Symbol ); + } + } + + // This can be done only after all the list elements are where they should be. + for ( j = 0; j < allContainers.length; j++ ) { + List.setListStart( allContainers[ j ] ); + } + + // Last but not least apply li[start] if needed, also this needs to be done once ols are final. + for ( j = 0; j < list.length; j++ ) { + this.determineListItemValue( list[ j ] ); + } + } + + return listElements; + }, + + /** + * Final cleanup — removes all `cke-*` helper attributes. + * + * @private + * @param {CKEDITOR.htmlParser.element[]} listElements + * @member CKEDITOR.plugins.pastefromword.lists + */ + cleanup: function( listElements ) { + var tempAttributes = [ + 'cke-list-level', + 'cke-symbol', + 'cke-list-id', + 'cke-indentation', + 'cke-dissolved' + ], + i, + j; + + for ( i = 0; i < listElements.length; i++ ) { + for ( j = 0; j < tempAttributes.length; j++ ) { + delete listElements[ i ].attributes[ tempAttributes[ j ] ]; + } + } + }, + + /** + * Tries to determine the `li[value]` attribute for a given list item. The `element` given must + * have a parent in order for this function to work properly. + * + * @private + * @param {CKEDITOR.htmlParser.element} element + * @member CKEDITOR.plugins.pastefromword.lists + */ + determineListItemValue: function( element ) { + if ( element.parent.name !== 'ol' ) { + // li[value] make sense only for list items in ordered list. + return; + } + + var assumedValue = this.calculateValue( element ), + cleanSymbol = element.attributes[ 'cke-symbol' ].match( /[a-z0-9]+/gi ), + computedValue, + listType; + + if ( cleanSymbol ) { + // Note that we always want to use last match, just because of markers like "1.1.4" "1.A.a.IV" etc. + cleanSymbol = cleanSymbol[ cleanSymbol.length - 1 ]; + + // We can determine proper value only if we know what type of list is it. + // So we need to check list wrapper if it has this information. + listType = element.parent.attributes[ 'cke-list-style-type' ] || this.numbering.getStyle( cleanSymbol ); + + computedValue = this.numbering.toNumber( cleanSymbol, listType ); + + if ( computedValue !== assumedValue ) { + element.attributes.value = computedValue; + } + } + }, + + /** + * Calculates the value for a given `
      • ` element based on its precedent list items (e.g. the `value` + * attribute). It could also look at the list parent (`
          `) at its start attribute. + * + * @private + * @param {CKEDITOR.htmlParser.element} element The `
        1. ` element. + * @returns {Number} + * @member CKEDITOR.plugins.pastefromword.lists + */ + calculateValue: function( element ) { + if ( !element.parent ) { + return 1; + } + + var list = element.parent, + elementIndex = element.getIndex(), + valueFound = null, + // Index of the element with value attribute. + valueElementIndex, + curElement, + i; + + // Look for any preceding li[value]. + for ( i = elementIndex; i >= 0 && valueFound === null; i-- ) { + curElement = list.children[ i ]; + + if ( curElement.attributes && curElement.attributes.value !== undefined ) { + valueElementIndex = i; + valueFound = parseInt( curElement.attributes.value, 10 ); + } + } + + // Still if no li[value] was found, we'll check the list. + if ( valueFound === null ) { + valueFound = list.attributes.start !== undefined ? parseInt( list.attributes.start, 10 ) : 1; + valueElementIndex = 0; + } + + return valueFound + ( elementIndex - valueElementIndex ); + }, + + /** + * @private + * @param {CKEDITOR.htmlParser.element} element + * @member CKEDITOR.plugins.pastefromword.lists + */ + dissolveList: function( element ) { + var i, children = [], + deletedLists = []; + + element.forEach( function( child ) { + if ( child.name == 'li' ) { + var childChild = child.children[ 0 ]; + if ( childChild && childChild.name && childChild.attributes.style && childChild.attributes.style.match( /mso-list:/i ) ) { + Style.pushStylesLower( child, { 'list-style-type': true, 'display': true } ); + + var childStyle = tools.parseCssText( childChild.attributes.style, true ); + + Style.setStyle( child, 'mso-list', childStyle[ 'mso-list' ], true ); + Style.setStyle( childChild, 'mso-list', '' ); + + // If this style has a value it's usually "none". This marks such list elements for deletion. + if ( childStyle.display || childStyle.DISPLAY ) { + if ( childStyle.display ) { + Style.setStyle( child, 'display', childStyle.display, true ); + } else { + Style.setStyle( child, 'display', childStyle.DISPLAY, true ); + } + } + } + + if ( child.attributes.style && child.attributes.style.match( /mso-list:/i ) ) { + child.name = 'p'; + + child.attributes[ 'cke-dissolved' ] = true; + + children.push( child ); + } + } + + // This fragment seems to look for nested lists and create cke-symbol attribute based on list type. + if ( child.name == 'ul' || child.name == 'ol' ) { + for ( var i = 0; i < child.children.length; i++ ) { + if ( child.children[ i ].name == 'li' ) { + var symbol, + type = child.attributes.type, + start = parseInt( child.attributes.start, 10 ) || 1; + + if ( !type ) { + var style = tools.parseCssText( child.attributes.style ); + type = style[ 'list-style-type' ]; + } + + switch ( type ) { + case 'disc': + symbol = '·'; + break; + case 'circle': + symbol = 'o'; + break; + case 'square': + symbol = '§'; + break; + case '1': + case 'decimal': + symbol = ( start + i ) + '.'; + break; + case 'a': + case 'lower-alpha': + symbol = String.fromCharCode( 'a'.charCodeAt( 0 ) + start - 1 + i ) + '.'; + break; + case 'A': + case 'upper-alpha': + symbol = String.fromCharCode( 'A'.charCodeAt( 0 ) + start - 1 + i ) + '.'; + break; + case 'i': + case 'lower-roman': + symbol = toRoman( start + i ) + '.'; + break; + case 'I': + case 'upper-roman': + symbol = toRoman( start + i ).toUpperCase() + '.'; + break; + default: + symbol = child.name == 'ul' ? '·' : ( start + i ) + '.'; + } + + child.children[ i ].attributes[ 'cke-symbol' ] = symbol; + } + } + + deletedLists.push( child ); + } + }, CKEDITOR.NODE_ELEMENT, false ); + + for ( i = children.length - 1; i >= 0; i-- ) { + children[ i ].insertAfter( element ); + } + for ( i = deletedLists.length - 1; i >= 0; i-- ) { + delete deletedLists[ i ].name; + } + + function toRoman( number ) { + if ( number >= 50 ) return 'l' + toRoman( number - 50 ); + if ( number >= 40 ) return 'xl' + toRoman( number - 40 ); + if ( number >= 10 ) return 'x' + toRoman( number - 10 ); + if ( number == 9 ) return 'ix'; + if ( number >= 5 ) return 'v' + toRoman( number - 5 ); + if ( number == 4 ) return 'iv'; + if ( number >= 1 ) return 'i' + toRoman( number - 1 ); + return ''; + } + }, + + groupLists: function( listElements ) { + // Chop data into continuous lists. + var i, element, + lists = [ [ listElements[ 0 ] ] ], + lastList = lists[ 0 ]; + + element = listElements[ 0 ]; + element.attributes[ 'cke-indentation' ] = element.attributes[ 'cke-indentation' ] || List.getElementIndentation( element ); + + for ( i = 1; i < listElements.length; i++ ) { + element = listElements[ i ]; + var previous = listElements[ i - 1 ]; + + element.attributes[ 'cke-indentation' ] = element.attributes[ 'cke-indentation' ] || List.getElementIndentation( element ); + + if ( element.previous !== previous ) { + List.chopDiscontinuousLists( lastList, lists ); + lists.push( lastList = [] ); + } + + lastList.push( element ); + } + + List.chopDiscontinuousLists( lastList, lists ); + + return lists; + }, + + /** + * Converts a single, flat list items array into an array with a hierarchy of items. + * + * As the list gets chopped, it will be forced to render as a separate list, even if it has a deeper nesting level. + * For example, for level 3 it will create a structure like `ol > li > ol > li > ol > li`. + * + * Note that list items within a single list but with different levels that did not get chopped + * will still be rendered as a list tree later. + * + * @private + * @param {CKEDITOR.htmlParser.element[]} list An array containing list items. + * @param {CKEDITOR.htmlParser.element[]} lists All the lists in the pasted content represented by an array of arrays + * of list items. Modified by this method. + * @member CKEDITOR.plugins.pastefromword.lists + */ + chopDiscontinuousLists: function( list, lists ) { + var levelSymbols = {}; + var choppedLists = [ [] ], + lastListInfo; + + for ( var i = 0; i < list.length; i++ ) { + var lastSymbol = levelSymbols[ list[ i ].attributes[ 'cke-list-level' ] ], + currentListInfo = this.getListItemInfo( list[ i ] ), + currentSymbol, + forceType; + + if ( lastSymbol ) { + // An "h" before an "i". + forceType = lastSymbol.type.match( /alpha/ ) && lastSymbol.index == 7 ? 'alpha' : forceType; + // An "n" before an "o". + forceType = list[ i ].attributes[ 'cke-symbol' ] == 'o' && lastSymbol.index == 14 ? 'alpha' : forceType; + + currentSymbol = List.getSymbolInfo( list[ i ].attributes[ 'cke-symbol' ], forceType ); + currentListInfo = this.getListItemInfo( list[ i ] ); + + // Based on current and last index we'll decide if we want to chop list. + if ( + // If the last list was a different list type then chop it! + lastSymbol.type != currentSymbol.type || + // If those are logically different lists, and current list is not a continuation (#7918): + ( lastListInfo && currentListInfo.id != lastListInfo.id && !this.isAListContinuation( list[ i ] ) ) ) { + choppedLists.push( [] ); + } + } else { + currentSymbol = List.getSymbolInfo( list[ i ].attributes[ 'cke-symbol' ] ); + } + + // Reset all higher levels + for ( var j = parseInt( list[ i ].attributes[ 'cke-list-level' ], 10 ) + 1; j < 20; j++ ) { + if ( levelSymbols[ j ] ) { + delete levelSymbols[ j ]; + } + } + + levelSymbols[ list[ i ].attributes[ 'cke-list-level' ] ] = currentSymbol; + choppedLists[ choppedLists.length - 1 ].push( list[ i ] ); + + lastListInfo = currentListInfo; + } + + [].splice.apply( lists, [].concat( [ tools.indexOf( lists, list ), 1 ], choppedLists ) ); + }, + + /** + * Checks if this list is a direct continuation of a list interrupted by a list with a different ID, + * with a different level. So if you look at a following list: + * + * * list1 level1 + * * list1 level1 + * * list2 level2 + * * list2 level2 + * * list1 level1 + * + * It would return `true` — meaning it is a continuation, and should not be chopped. However, if any paragraph or + * anything else appears in between, it should be broken into different lists. + * + * You can see fixtures from issue #7918 as an example. + * + * @private + * @param {CKEDITOR.htmlParser.element} listElement The list to be checked. + * @returns {Boolean} + * @member CKEDITOR.plugins.pastefromword.lists + */ + isAListContinuation: function( listElement ) { + var prev = listElement; + + do { + prev = prev.previous; + + if ( prev && prev.type === CKEDITOR.NODE_ELEMENT ) { + if ( prev.attributes[ 'cke-list-level' ] === undefined ) { + // Not a list, so looks like an interrupted list. + return false; + } + + if ( prev.attributes[ 'cke-list-level' ] === listElement.attributes[ 'cke-list-level' ] ) { + // Same level, so we want to check if this is a continuation. + return prev.attributes[ 'cke-list-id' ] === listElement.attributes[ 'cke-list-id' ]; + } + } + + } while ( prev ); + + return false; + }, + + getElementIndentation: function( element ) { + var style = tools.parseCssText( element.attributes.style ); + + if ( style.margin || style.MARGIN ) { + style.margin = style.margin || style.MARGIN; + var fakeElement = { + styles: { + margin: style.margin + } + }; + CKEDITOR.filter.transformationsTools.splitMarginShorthand( fakeElement ); + style[ 'margin-left' ] = fakeElement.styles[ 'margin-left' ]; + } + + return parseInt( tools.convertToPx( style[ 'margin-left' ] || '0px' ), 10 ); + }, + + // Source: http://stackoverflow.com/a/17534350/3698944 + toArabic: function( symbol ) { + if ( !symbol.match( /[ivxl]/i ) ) return 0; + if ( symbol.match( /^l/i ) ) return 50 + List.toArabic( symbol.slice( 1 ) ); + if ( symbol.match( /^lx/i ) ) return 40 + List.toArabic( symbol.slice( 1 ) ); + if ( symbol.match( /^x/i ) ) return 10 + List.toArabic( symbol.slice( 1 ) ); + if ( symbol.match( /^ix/i ) ) return 9 + List.toArabic( symbol.slice( 2 ) ); + if ( symbol.match( /^v/i ) ) return 5 + List.toArabic( symbol.slice( 1 ) ); + if ( symbol.match( /^iv/i ) ) return 4 + List.toArabic( symbol.slice( 2 ) ); + if ( symbol.match( /^i/i ) ) return 1 + List.toArabic( symbol.slice( 1 ) ); + // Ignore other characters. + return List.toArabic( symbol.slice( 1 ) ); + }, + + /** + * Returns an object describing the given `symbol`. + * + * @private + * @param {String} symbol + * @param {String} type + * @returns {Object} ret + * @returns {Number} ret.index Identified numbering value + * @returns {String} ret.type One of `decimal`, `disc`, `circle`, `square`, `roman`, `alpha`. + * @member CKEDITOR.plugins.pastefromword.lists + */ + getSymbolInfo: function( symbol, type ) { + var symbolCase = symbol.toUpperCase() == symbol ? 'upper-' : 'lower-', + symbolMap = { + '·': [ 'disc', -1 ], + 'o': [ 'circle', -2 ], + '§': [ 'square', -3 ] + }; + + if ( symbol in symbolMap || ( type && type.match( /(disc|circle|square)/ ) ) ) { + return { + index: symbolMap[ symbol ][ 1 ], + type: symbolMap[ symbol ][ 0 ] + }; + } + + if ( symbol.match( /\d/ ) ) { + return { + index: symbol ? parseInt( List.getSubsectionSymbol( symbol ) , 10 ) : 0, + type: 'decimal' + }; + } + + symbol = symbol.replace( /\W/g, '' ).toLowerCase(); + + if ( ( !type && symbol.match( /[ivxl]+/i ) ) || ( type && type != 'alpha' ) || type == 'roman' ) { + return { + index: List.toArabic( symbol ), + type: symbolCase + 'roman' + }; + } + + if ( symbol.match( /[a-z]/i ) ) { + return { + index: symbol.charCodeAt( 0 ) - 97, + type: symbolCase + 'alpha' + }; + } + + return { + index: -1, + type: 'disc' + }; + }, + + /** + * Returns Word-generated information about the given list item, mainly by parsing the `mso-list` + * CSS property. + * + * Note: Paragraphs with `mso-list` are also counted as list items because Word serves + * list items as paragraphs. + * + * @private + * @param {CKEDITOR.htmlParser.element} list + * @returns ret + * @returns {String} ret.id List ID. Usually it is a decimal string. + * @returns {String} ret.level List nesting level, `0` means it is the outermost list. Usually it is + * a decimal string. + * @member CKEDITOR.plugins.pastefromword.lists + */ + getListItemInfo: function( list ) { + if ( list.attributes[ 'cke-list-id' ] !== undefined ) { + // List was already resolved. + return { + id: list.attributes[ 'cke-list-id' ], + level: list.attributes[ 'cke-list-level' ] + }; + } + + var propValue = tools.parseCssText( list.attributes.style )[ 'mso-list' ], + ret = { + id: '0', + level: '1' + }; + + if ( propValue ) { + // Add one whitespace so it's easier to match values assuming that all of these are separated with \s. + propValue += ' '; + + ret.level = propValue.match( /level(.+?)\s+/ )[ 1 ]; + ret.id = propValue.match( /l(\d+?)\s+/ )[ 1 ]; + } + + // Store values. List level will be reused if present to prevent regressions. + list.attributes[ 'cke-list-level' ] = list.attributes[ 'cke-list-level' ] !== undefined ? list.attributes[ 'cke-list-level' ] : ret.level; + list.attributes[ 'cke-list-id' ] = ret.id; + + return ret; + } + }; + List = CKEDITOR.plugins.pastefromword.lists; + + // Expose this function since it's useful in other places. + List.setListSymbol.removeRedundancies = function( style, level ) { + // 'disc' and 'decimal' are the default styles in some cases - remove redundancy. + if ( ( level === 1 && style[ 'list-style-type' ] === 'disc' ) || style[ 'list-style-type' ] === 'decimal' ) { + delete style[ 'list-style-type' ]; + } + }; + + function falseIfEmpty( value ) { + if ( value === '' ) { + return false; + } + return value; + } + + // Used when filtering attributes - returning false deletes the attribute. + function remove() { + return false; + } + + // Same as createStyleStack, but instead of styles - stack attributes. + function createAttributeStack( element, filter ) { + var i, + children = []; + + element.filterChildren( filter ); + + // Store element's children somewhere else. + for ( i = element.children.length - 1; i >= 0; i-- ) { + children.unshift( element.children[ i ] ); + element.children[ i ].remove(); + } + + // Create a stack of spans with each containing one style. + var attributes = element.attributes, + innermostElement = element, + topmost = true; + + for ( var attribute in attributes ) { + + if ( topmost ) { + topmost = false; + continue; + } + + var newElement = new CKEDITOR.htmlParser.element( element.name ); + + newElement.attributes[ attribute ] = attributes[ attribute ]; + + innermostElement.add( newElement ); + innermostElement = newElement; + + delete attributes[ attribute ]; + } + + // Add the stored children to the innermost span. + for ( i = 0; i < children.length; i++ ) { + innermostElement.add( children[ i ] ); + } + } + + CKEDITOR.plugins.pastefromword.createAttributeStack = createAttributeStack; + + /** + * Numbering helper. + * + * @property {CKEDITOR.plugins.pastefromword.lists.numbering} numbering + * @member CKEDITOR.plugins.pastefromword.lists + */ + + /** + * Whether to ignore all font-related formatting styles, including: + * + * * font size; + * * font family; + * * font foreground and background color. + * + * config.pasteFromWordRemoveFontStyles = true; + * + * **Important note:** Prior to version 4.6.0 this configuration option defaulted to `true`. + * + * @deprecated 4.6.0 Either configure proper [Advanced Content Filter](#!/guide/dev_advanced_content_filter) for the editor + * or use the {@link CKEDITOR.editor#afterPasteFromWord} event. + * @since 3.1 + * @cfg {Boolean} [pasteFromWordRemoveFontStyles=false] + * @member CKEDITOR.config + */ + + /** + * Whether to transform Microsoft Word outline numbered headings into lists. + * + * config.pasteFromWordNumberedHeadingToList = true; + * + * @removed 4.6.0 + * @since 3.1 + * @cfg {Boolean} [pasteFromWordNumberedHeadingToList=false] + * @member CKEDITOR.config + */ + + /** + * Whether to remove element styles that cannot be managed with the editor. Note + * that this option does not handle font-specific styles, which depend on the + * {@link #pasteFromWordRemoveFontStyles} setting instead. + * + * config.pasteFromWordRemoveStyles = false; + * + * @removed 4.6.0 + * @since 3.1 + * @cfg {Boolean} [pasteFromWordRemoveStyles=true] + * @member CKEDITOR.config + */ +} )(); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/af.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/af.js new file mode 100644 index 0000000..49844d7 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/af.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'af', { + confirmCleanup: 'Die teks wat u wil plak lyk asof dit uit Word gekopiëer is. Wil u dit eers skoonmaak voordat dit geplak word?', + error: 'Die geplakte teks kon nie skoongemaak word nie, weens \'n interne fout', + title: 'Plak vanuit Word', + toolbar: 'Plak vanuit Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ar.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ar.js new file mode 100644 index 0000000..2366405 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ar.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ar', { + confirmCleanup: 'يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟', + error: 'لم يتم مسح المعلومات الملصقة لخلل داخلي', + title: 'لصق من وورد', + toolbar: 'لصق من وورد' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bg.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bg.js new file mode 100644 index 0000000..9623ab1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bg.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'bg', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Вмъкни от MS Word', + toolbar: 'Вмъкни от MS Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bn.js new file mode 100644 index 0000000..327fb4d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'bn', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'পেস্ট (শব্দ)', + toolbar: 'পেস্ট (শব্দ)' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bs.js new file mode 100644 index 0000000..22ca238 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/bs.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'bs', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Zalijepi iz Word-a', + toolbar: 'Zalijepi iz Word-a' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ca.js new file mode 100644 index 0000000..30d0766 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ca.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ca', { + confirmCleanup: 'El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?', + error: 'No ha estat possible netejar les dades enganxades degut a un error intern', + title: 'Enganxa des del Word', + toolbar: 'Enganxa des del Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cs.js new file mode 100644 index 0000000..62034fa --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cs.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'cs', { + confirmCleanup: 'Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?', + error: 'Z důvodu vnitřní chyby nebylo možné provést vyčištění vkládaného textu.', + title: 'Vložit z Wordu', + toolbar: 'Vložit z Wordu' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cy.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cy.js new file mode 100644 index 0000000..a94fd5a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/cy.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'cy', { + confirmCleanup: 'Mae\'r testun rydych chi am ludo wedi\'i gopïo o Word. Ydych chi am ei lanhau cyn ei ludo?', + error: 'Doedd dim modd glanhau y data a ludwyd oherwydd gwall mewnol', + title: 'Gludo o Word', + toolbar: 'Gludo o Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/da.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/da.js new file mode 100644 index 0000000..e6c08e2 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/da.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'da', { + confirmCleanup: 'Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?', + error: 'Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl', + title: 'Indsæt fra Word', + toolbar: 'Indsæt fra Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de-ch.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de-ch.js new file mode 100644 index 0000000..413d57e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de-ch.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'de-ch', { + confirmCleanup: 'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?', + error: 'Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen', + title: 'Aus Word einfügen', + toolbar: 'Aus Word einfügen' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de.js new file mode 100644 index 0000000..85ed20f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/de.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'de', { + confirmCleanup: 'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?', + error: 'Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen', + title: 'Aus Word einfügen', + toolbar: 'Aus Word einfügen' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/el.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/el.js new file mode 100644 index 0000000..caec97b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/el.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'el', { + confirmCleanup: 'Το κείμενο που επικολλάται φαίνεται να είναι αντιγραμμένο από το Word. Μήπως θα θέλατε να καθαριστεί προτού επικολληθεί;', + error: 'Δεν ήταν δυνατό να καθαριστούν τα δεδομένα λόγω ενός εσωτερικού σφάλματος', + title: 'Επικόλληση από το Word', + toolbar: 'Επικόλληση από το Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-au.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-au.js new file mode 100644 index 0000000..350df8c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-au.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en-au', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-ca.js new file mode 100644 index 0000000..fe06fd8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-ca.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en-ca', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-gb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-gb.js new file mode 100644 index 0000000..91c2c5d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en-gb.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en-gb', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', + error: 'It was not possible to clean up the pasted data due to an internal error', + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en.js new file mode 100644 index 0000000..97f8631 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/en.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', + error: 'It was not possible to clean up the pasted data due to an internal error', + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eo.js new file mode 100644 index 0000000..db0156f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eo.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'eo', { + confirmCleanup: 'La teksto, kiun vi volas interglui, ŝajnas esti kopiita el Word. Ĉu vi deziras purigi ĝin antaŭ intergluo?', + error: 'Ne eblis purigi la intergluitajn datenojn pro interna eraro', + title: 'Interglui el Word', + toolbar: 'Interglui el Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/es.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/es.js new file mode 100644 index 0000000..886afae --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/es.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'es', { + confirmCleanup: 'El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?', + error: 'No ha sido posible limpiar los datos debido a un error interno', + title: 'Pegar desde Word', + toolbar: 'Pegar desde Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/et.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/et.js new file mode 100644 index 0000000..3a6434b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/et.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'et', { + confirmCleanup: 'Tekst, mida tahad asetada näib pärinevat Wordist. Kas tahad selle enne asetamist puhastada?', + error: 'Asetatud andmete puhastamine ei olnud sisemise vea tõttu võimalik', + title: 'Asetamine Wordist', + toolbar: 'Asetamine Wordist' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eu.js new file mode 100644 index 0000000..d1cce7c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/eu.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'eu', { + confirmCleanup: 'Itsatsi nahi duzun testua Word-etik kopiatua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?', + error: 'Barne-errore bat dela eta ezin izan da itsatsitako testua garbitu', + title: 'Itsatsi Word-etik', + toolbar: 'Itsatsi Word-etik' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fa.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fa.js new file mode 100644 index 0000000..77d5f5a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fa.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fa', { + confirmCleanup: 'متنی که میخواهید بچسبانید به نظر میرسد که از Word کپی شده است. آیا میخواهید قبل از چسباندن آن را پاکسازی کنید؟', + error: 'به دلیل بروز خطای داخلی امکان پاکسازی اطلاعات بازنشانی شده وجود ندارد.', + title: 'چسباندن از Word', + toolbar: 'چسباندن از Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fi.js new file mode 100644 index 0000000..0ebb57f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fi.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fi', { + confirmCleanup: 'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)', + error: 'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia', + title: 'Liitä Word-dokumentista', + toolbar: 'Liitä Word-dokumentista' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fo.js new file mode 100644 index 0000000..4b3f8cc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fo.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fo', { + confirmCleanup: 'Teksturin, tú roynir at seta inn, sýnist at stava frá Word. Skal teksturin reinsast fyrst?', + error: 'Tað eydnaðist ikki at reinsa tekstin vegna ein internan feil', + title: 'Innrita frá Word', + toolbar: 'Innrita frá Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr-ca.js new file mode 100644 index 0000000..1faa82a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr-ca.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fr-ca', { + confirmCleanup: 'Le texte que vous tentez de coller semble provenir de Word. Désirez vous le nettoyer avant de coller?', + error: 'Il n\'a pas été possible de nettoyer les données collées du à une erreur interne', + title: 'Coller de Word', + toolbar: 'Coller de Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr.js new file mode 100644 index 0000000..105ff34 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/fr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fr', { + confirmCleanup: 'Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller ?', + error: 'Les données collées n\'ont pas pu être nettoyées à cause d\'une erreur interne', + title: 'Coller depuis Word', + toolbar: 'Coller depuis Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gl.js new file mode 100644 index 0000000..7b9255e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'gl', { + confirmCleanup: 'O texto que quere pegar semella ser copiado desde o Word. Quere depuralo antes de pegalo?', + error: 'Non foi posíbel depurar os datos pegados por mor dun erro interno', + title: 'Pegar desde Word', + toolbar: 'Pegar desde Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gu.js new file mode 100644 index 0000000..87e43dc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/gu.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'gu', { + confirmCleanup: 'તમે જે ટેક્ષ્ત્ કોપી કરી રહ્યા છો ટે વર્ડ ની છે. કોપી કરતા પેહલા સાફ કરવી છે?', + error: 'પેસ્ટ કરેલો ડેટા ઇન્ટરનલ એરર ના લીથે સાફ કરી શકાયો નથી.', + title: 'પેસ્ટ (વડૅ ટેક્સ્ટ)', + toolbar: 'પેસ્ટ (વડૅ ટેક્સ્ટ)' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/he.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/he.js new file mode 100644 index 0000000..a6772ec --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/he.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'he', { + confirmCleanup: 'נראה הטקסט שבכוונתך להדביק מקורו בקובץ וורד. האם ברצונך לנקות אותו טרם ההדבקה?', + error: 'לא ניתן היה לנקות את המידע בשל תקלה פנימית.', + title: 'הדבקה מ-Word', + toolbar: 'הדבקה מ-Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hi.js new file mode 100644 index 0000000..85ea242 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hi.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'hi', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'पेस्ट (वर्ड से)', + toolbar: 'पेस्ट (वर्ड से)' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hr.js new file mode 100644 index 0000000..97c94ed --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'hr', { + confirmCleanup: 'Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?', + error: 'Nije moguće očistiti podatke za ljepljenje zbog interne greške', + title: 'Zalijepi iz Worda', + toolbar: 'Zalijepi iz Worda' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hu.js new file mode 100644 index 0000000..e8878b5 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/hu.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'hu', { + confirmCleanup: 'Úgy tűnik a beillesztett szöveget Word-ből másolt át. Meg szeretné tisztítani a szöveget? (ajánlott)', + error: 'Egy belső hiba miatt nem sikerült megtisztítani a szöveget', + title: 'Beillesztés Word-ből', + toolbar: 'Beillesztés Word-ből' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/id.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/id.js new file mode 100644 index 0000000..d9305a1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/id.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'id', { + confirmCleanup: 'Teks yang ingin anda tempel sepertinya di salin dari Word. Apakah anda mau membersihkannya sebelum menempel?', + error: 'Tidak mungkin membersihkan data yang ditempel dikerenakan kesalahan internal', + title: 'Tempel dari Word', + toolbar: 'Tempel dari Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/is.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/is.js new file mode 100644 index 0000000..2a02b31 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/is.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'is', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Líma úr Word', + toolbar: 'Líma úr Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/it.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/it.js new file mode 100644 index 0000000..26ef328 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/it.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'it', { + confirmCleanup: 'Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?', + error: 'Non è stato possibile eliminare il testo incollato a causa di un errore interno.', + title: 'Incolla da Word', + toolbar: 'Incolla da Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ja.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ja.js new file mode 100644 index 0000000..ac51449 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ja.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ja', { + confirmCleanup: '貼り付けを行うテキストはワード文章からコピーされようとしています。貼り付ける前にクリーニングを行いますか?', + error: '内部エラーにより貼り付けたデータをクリアできませんでした', + title: 'ワード文章から貼り付け', + toolbar: 'ワード文章から貼り付け' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ka.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ka.js new file mode 100644 index 0000000..9cc61b4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ka.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ka', { + confirmCleanup: 'ჩასასმელი ტექსტი ვორდიდან გადმოტანილს გავს - გინდათ მისი წინასწარ გაწმენდა?', + error: 'შიდა შეცდომის გამო ვერ მოხერხდა ტექსტის გაწმენდა', + title: 'ვორდიდან ჩასმა', + toolbar: 'ვორდიდან ჩასმა' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/km.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/km.js new file mode 100644 index 0000000..c0c294d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/km.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'km', { + confirmCleanup: 'អត្ថបទ​ដែល​អ្នក​ចង់​បិទ​ភ្ជាប់​នេះ ទំនង​ដូច​ជា​ចម្លង​មក​ពី Word។ តើ​អ្នក​ចង់​សម្អាត​វា​មុន​បិទ​ភ្ជាប់​ទេ?', + error: 'ដោយ​សារ​មាន​បញ្ហា​ផ្នែក​ក្នុង​ធ្វើ​ឲ្យ​មិន​អាច​សម្អាត​ទិន្នន័យ​ដែល​បាន​បិទ​ភ្ជាប់', + title: 'បិទ​ភ្ជាប់​ពី Word', + toolbar: 'បិទ​ភ្ជាប់​ពី Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ko.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ko.js new file mode 100644 index 0000000..963d696 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ko.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ko', { + confirmCleanup: '붙여 넣을 내용은 MS Word에서 복사 한 것입니다. 붙여 넣기 전에 정리 하시겠습니까?', + error: '내부 오류로 붙여 넣은 데이터를 정리 할 수 없습니다.', + title: 'MS Word 에서 붙여넣기', + toolbar: 'MS Word 에서 붙여넣기' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ku.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ku.js new file mode 100644 index 0000000..e595fa9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ku.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ku', { + confirmCleanup: 'ئەم دەقەی بەتەمای بیلکێنی پێدەچێت له word هێنرابێت. دەتەوێت پاکی بکەیوه پێش ئەوەی بیلکێنی؟', + error: 'هیچ ڕێگەیەك نەبوو لەلکاندنی دەقەکه بەهۆی هەڵەیەکی ناوەخۆیی', + title: 'لکاندنی لەلایەن Word', + toolbar: 'لکاندنی لەڕێی Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lt.js new file mode 100644 index 0000000..5fc7d60 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lt.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'lt', { + confirmCleanup: 'Tekstas, kurį įkeliate yra kopijuojamas iš Word. Ar norite jį išvalyti prieš įkeliant?', + error: 'Dėl vidinių sutrikimų, nepavyko išvalyti įkeliamo teksto', + title: 'Įdėti iš Word', + toolbar: 'Įdėti iš Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lv.js new file mode 100644 index 0000000..d0e1a55 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/lv.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'lv', { + confirmCleanup: 'Teksts, kuru vēlaties ielīmēt, izskatās ir nokopēts no Word. Vai vēlaties to iztīrīt pirms ielīmēšanas?', + error: 'Iekšējas kļūdas dēļ, neizdevās iztīrīt ielīmētos datus.', + title: 'Ievietot no Worda', + toolbar: 'Ievietot no Worda' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mk.js new file mode 100644 index 0000000..35eefc4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mk.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'mk', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Paste from Word', // MISSING + toolbar: 'Paste from Word' // MISSING +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mn.js new file mode 100644 index 0000000..a5d86a3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/mn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'mn', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Word-оос буулгах', + toolbar: 'Word-оос буулгах' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ms.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ms.js new file mode 100644 index 0000000..01ae7be --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ms.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ms', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Tampal dari Word', + toolbar: 'Tampal dari Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nb.js new file mode 100644 index 0000000..8508fee --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nb.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'nb', { + confirmCleanup: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?', + error: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil', + title: 'Lim inn fra Word', + toolbar: 'Lim inn fra Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nl.js new file mode 100644 index 0000000..542c41f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/nl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'nl', { + confirmCleanup: 'De tekst die u wilt plakken lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?', + error: 'Het was niet mogelijk om de geplakte tekst op te schonen door een interne fout', + title: 'Plakken vanuit Word', + toolbar: 'Plakken vanuit Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/no.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/no.js new file mode 100644 index 0000000..b2a3be9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/no.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'no', { + confirmCleanup: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?', + error: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil', + title: 'Lim inn fra Word', + toolbar: 'Lim inn fra Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/oc.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/oc.js new file mode 100644 index 0000000..992204b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/oc.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'oc', { + confirmCleanup: 'Sembla que lo tèxte de pegar proven de Word. Lo volètz netejar abans de lo pegar ?', + error: 'Las donadas pegadas an pas pogut èsser netejadas a causa d\'una error intèrna', + title: 'Pegar dempuèi Word', + toolbar: 'Pegar dempuèi Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pl.js new file mode 100644 index 0000000..35e747f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'pl', { + confirmCleanup: 'Tekst, który chcesz wkleić, prawdopodobnie pochodzi z programu Microsoft Word. Czy chcesz go wyczyścić przed wklejeniem?', + error: 'Wyczyszczenie wklejonych danych nie było możliwe z powodu wystąpienia błędu.', + title: 'Wklej z programu MS Word', + toolbar: 'Wklej z programu MS Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt-br.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt-br.js new file mode 100644 index 0000000..eacbd52 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt-br.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'pt-br', { + confirmCleanup: 'O texto que você deseja colar parece ter sido copiado do Word. Você gostaria de remover a formatação antes de colar?', + error: 'Não foi possível limpar os dados colados devido a um erro interno', + title: 'Colar do Word', + toolbar: 'Colar do Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt.js new file mode 100644 index 0000000..8aca46c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/pt.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'pt', { + confirmCleanup: 'O texto que pretende colar parece ter sido copiado do Word. Deseja limpá-lo antes de colar?', + error: 'Não foi possivel limpar a informação colada decido a um erro interno.', + title: 'Colar do Word', + toolbar: 'Colar do Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ro.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ro.js new file mode 100644 index 0000000..d7677d2 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ro.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ro', { + confirmCleanup: 'Textul pe care doriți să-l lipiți este din Word. Doriți curățarea textului înante de a-l adăuga?', + error: 'Nu a fost posibilă curățarea datelor adăugate datorită unei erori interne', + title: 'Adaugă din Word', + toolbar: 'Adaugă din Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ru.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ru.js new file mode 100644 index 0000000..ec56585 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ru.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ru', { + confirmCleanup: 'Текст, который вы желаете вставить, по всей видимости, был скопирован из Word. Следует ли очистить его перед вставкой?', + error: 'Невозможно очистить вставленные данные из-за внутренней ошибки', + title: 'Вставить из Word', + toolbar: 'Вставить из Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/si.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/si.js new file mode 100644 index 0000000..25ae014 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/si.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'si', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'වචන වලින් අලවන්න', + toolbar: 'වචන වලින් අලවන්න' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sk.js new file mode 100644 index 0000000..a25c8b0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sk.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sk', { + confirmCleanup: 'Zdá sa, že vkladaný text pochádza z programu MS Word. Chcete ho pred vkladaním automaticky vyčistiť?', + error: 'Kvôli internej chybe nebolo možné vložené dáta vyčistiť', + title: 'Vložiť z Wordu', + toolbar: 'Vložiť z Wordu' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sl.js new file mode 100644 index 0000000..1312228 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sl', { + confirmCleanup: 'Besedilo, ki ga želite prilepiti, je kopirano iz Worda. Ali ga želite očistiti, preden ga prilepite?', + error: 'Ni bilo mogoče očistiti prilepljenih podatkov zaradi notranje napake', + title: 'Prilepi iz Worda', + toolbar: 'Prilepi iz Worda' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sq.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sq.js new file mode 100644 index 0000000..8a35973 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sq.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sq', { + confirmCleanup: 'Teksti që dëshironi të e hidhni siç duket është kopjuar nga Word-i. Dëshironi të e pastroni para se të e hidhni?', + error: 'Nuk ishte e mundur të fshiheshin të dhënat e hedhura për shkak të një gabimi të brendshëm', + title: 'Hidhe nga Word-i', + toolbar: 'Hidhe nga Word-i' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr-latn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr-latn.js new file mode 100644 index 0000000..b2de877 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr-latn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sr-latn', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Zalepi iz Worda', + toolbar: 'Zalepi iz Worda' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr.js new file mode 100644 index 0000000..ca47a81 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sr', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Залепи из Worda', + toolbar: 'Залепи из Worda' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sv.js new file mode 100644 index 0000000..2293535 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/sv.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sv', { + confirmCleanup: 'Texten du vill klistra in verkar vara kopierad från Word. Vill du rensa den innan du klistrar in den?', + error: 'Det var inte möjligt att städa upp den inklistrade data på grund av ett internt fel', + title: 'Klistra in från Word', + toolbar: 'Klistra in från Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/th.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/th.js new file mode 100644 index 0000000..091badf --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/th.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'th', { + confirmCleanup: 'ข้อความที่คุณต้องการวางลงไปเป็นข้อความที่คัดลอกมาจากโปรแกรมไมโครซอฟท์เวิร์ด คุณต้องการล้างค่าข้อความดังกล่าวก่อนวางลงไปหรือไม่?', + error: 'ไม่สามารถล้างข้อมูลที่ต้องการวางได้เนื่องจากเกิดข้อผิดพลาดภายในระบบ', + title: 'วางสำเนาจากตัวอักษรเวิร์ด', + toolbar: 'วางสำเนาจากตัวอักษรเวิร์ด' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tr.js new file mode 100644 index 0000000..9aacfe8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'tr', { + confirmCleanup: 'Yapıştırmaya çalıştığınız metin Word\'den kopyalanmıştır. Yapıştırmadan önce silmek istermisiniz?', + error: 'Yapıştırmadaki veri bilgisi hata düzelene kadar silinmeyecektir', + title: 'Word\'den Yapıştır', + toolbar: 'Word\'den Yapıştır' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tt.js new file mode 100644 index 0000000..1836499 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/tt.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'tt', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Word\'тан өстәү', + toolbar: 'Word\'тан өстәү' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ug.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ug.js new file mode 100644 index 0000000..771b505 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/ug.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ug', { + confirmCleanup: 'سىز چاپلىماقچى بولغان مەزمۇن MS Word تىن كەلگەندەك قىلىدۇ، MS Word پىچىمىنى تازىلىۋەتكەندىن كېيىن ئاندىن چاپلامدۇ؟', + error: 'ئىچكى خاتالىق سەۋەبىدىن چاپلايدىغان سانلىق مەلۇماتنى تازىلىيالمايدۇ', + title: 'MS Word تىن چاپلا', + toolbar: 'MS Word تىن چاپلا' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/uk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/uk.js new file mode 100644 index 0000000..e273092 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/uk.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'uk', { + confirmCleanup: 'Текст, що Ви намагаєтесь вставити, схожий на скопійований з Word. Бажаєте очистити його форматування перед вставлянням?', + error: 'Неможливо очистити форматування через внутрішню помилку.', + title: 'Вставити з Word', + toolbar: 'Вставити з Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/vi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/vi.js new file mode 100644 index 0000000..3297615 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/vi.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'vi', { + confirmCleanup: 'Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỏ định dạng Word trước khi dán?', + error: 'Không thể để làm sạch các dữ liệu dán do một lỗi nội bộ', + title: 'Dán với định dạng Word', + toolbar: 'Dán với định dạng Word' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh-cn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh-cn.js new file mode 100644 index 0000000..23b6d30 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh-cn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'zh-cn', { + confirmCleanup: '您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?', + error: '由于内部错误无法清理要粘贴的数据', + title: '从 MS Word 粘贴', + toolbar: '从 MS Word 粘贴' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh.js new file mode 100644 index 0000000..339ded8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/lang/zh.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'zh', { + confirmCleanup: '您想貼上的文字似乎是自 Word 複製而來,請問您是否要先清除 Word 的格式後再行貼上?', + error: '由於發生內部錯誤,無法清除清除 Word 的格式。', + title: '自 Word 貼上', + toolbar: '自 Word 貼上' +} ); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/plugin.js new file mode 100644 index 0000000..3d131c3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/pastefromword/plugin.js @@ -0,0 +1,186 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +( function() { + /* global confirm */ + + CKEDITOR.plugins.add( 'pastefromword', { + requires: 'clipboard', + // jscs:disable maximumLineLength + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + // jscs:enable maximumLineLength + icons: 'pastefromword,pastefromword-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + var commandName = 'pastefromword', + // Flag indicate this command is actually been asked instead of a generic pasting. + forceFromWord = 0, + path = this.path; + + editor.addCommand( commandName, { + // Snapshots are done manually by editable.insertXXX methods. + canUndo: false, + async: true, + + exec: function( editor ) { + var cmd = this; + + forceFromWord = 1; + // Force html mode for incomming paste events sequence. + editor.once( 'beforePaste', forceHtmlMode ); + + editor.getClipboardData( { title: editor.lang.pastefromword.title }, function( data ) { + // Do not use editor#paste, because it would start from beforePaste event. + data && editor.fire( 'paste', { + type: 'html', + dataValue: data.dataValue, + method: 'paste', + dataTransfer: CKEDITOR.plugins.clipboard.initPasteDataTransfer() + } ); + + editor.fire( 'afterCommandExec', { + name: commandName, + command: cmd, + returnValue: !!data + } ); + } ); + } + } ); + + // Register the toolbar button. + editor.ui.addButton && editor.ui.addButton( 'PasteFromWord', { + label: editor.lang.pastefromword.toolbar, + command: commandName, + toolbar: 'clipboard,50' + } ); + + editor.on( 'pasteState', function( evt ) { + editor.getCommand( commandName ).setState( evt.data ); + } ); + + // Features brought by this command beside the normal process: + // 1. No more bothering of user about the clean-up. + // 2. Perform the clean-up even if content is not from Microsoft Word. + // (e.g. from a Microsoft Word similar application.) + // 3. Listen with high priority (3), so clean up is done before content + // type sniffing (priority = 6). + editor.on( 'paste', function( evt ) { + var data = evt.data, + mswordHtml = data.dataValue, + wordRegexp = /(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument||<\/font>)/, + pfwEvtData = { dataValue: mswordHtml }; + + if ( !mswordHtml || !( forceFromWord || wordRegexp.test( mswordHtml ) ) ) { + return; + } + + // PFW might still get prevented, if it's not forced. + if ( editor.fire( 'pasteFromWord', pfwEvtData ) === false && !forceFromWord ) { + return; + } + + // Do not apply paste filter to data filtered by the Word filter (#13093). + data.dontFilter = true; + + // If filter rules aren't loaded then cancel 'paste' event, + // load them and when they'll get loaded fire new paste event + // for which data will be filtered in second execution of + // this listener. + var isLazyLoad = loadFilterRules( editor, path, function() { + // Event continuation with the original data. + if ( isLazyLoad ) { + editor.fire( 'paste', data ); + } else if ( !editor.config.pasteFromWordPromptCleanup || ( forceFromWord || confirm( editor.lang.pastefromword.confirmCleanup ) ) ) { + pfwEvtData.dataValue = CKEDITOR.cleanWord( pfwEvtData.dataValue, editor ); + + editor.fire( 'afterPasteFromWord', pfwEvtData ); + + data.dataValue = pfwEvtData.dataValue; + } + + // Reset forceFromWord. + forceFromWord = 0; + } ); + + // The cleanup rules are to be loaded, we should just cancel + // this event. + isLazyLoad && evt.cancel(); + }, null, null, 3 ); + } + + } ); + + function loadFilterRules( editor, path, callback ) { + var isLoaded = CKEDITOR.cleanWord; + + if ( isLoaded ) + callback(); + else { + var filterFilePath = CKEDITOR.getUrl( editor.config.pasteFromWordCleanupFile || ( path + 'filter/default.js' ) ); + + // Load with busy indicator. + CKEDITOR.scriptLoader.load( filterFilePath, callback, null, true ); + } + + return !isLoaded; + } + + function forceHtmlMode( evt ) { + evt.data.type = 'html'; + } +} )(); + + +/** + * Whether to prompt the user about the clean up of content being pasted from Microsoft Word. + * + * config.pasteFromWordPromptCleanup = true; + * + * @since 3.1 + * @cfg {Boolean} [pasteFromWordPromptCleanup=false] + * @member CKEDITOR.config + */ + +/** + * The file that provides the Microsoft Word cleanup function for pasting operations. + * + * **Note:** This is a global configuration shared by all editor instances present + * on the page. + * + * // Load from the 'pastefromword' plugin 'filter' sub folder (custom.js file) using a path relative to the CKEditor installation folder. + * CKEDITOR.config.pasteFromWordCleanupFile = 'plugins/pastefromword/filter/custom.js'; + * + * // Load from the 'pastefromword' plugin 'filter' sub folder (custom.js file) using a full path (including the CKEditor installation folder). + * CKEDITOR.config.pasteFromWordCleanupFile = '/ckeditor/plugins/pastefromword/filter/custom.js'; + * + * // Load custom.js file from the 'customFilters' folder (located in server's root) using the full URL. + * CKEDITOR.config.pasteFromWordCleanupFile = 'http://my.example.com/customFilters/custom.js'; + * + * @since 3.1 + * @cfg {String} [pasteFromWordCleanupFile= + 'filter/default.js'] + * @member CKEDITOR.config + */ + +/** + * Fired when the pasted content was recognized as Microsoft Word content. + * + * This event is cancellable. If canceled, it will prevent Paste from Word processing. + * + * @since 4.6.0 + * @event pasteFromWord + * @param data + * @param {String} data.dataValue Pasted content. Changes to this property will affect the pasted content. + * @member CKEDITOR.editor + */ + +/** + * Fired after the Paste form Word filters have been applied. + * + * @since 4.6.0 + * @event afterPasteFromWord + * @param data + * @param {String} data.dataValue Pasted content after processing. Changes to this property will affect the pasted content. + * @member CKEDITOR.editor + */ \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/preview/preview.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/preview/preview.html new file mode 100644 index 0000000..7eb8082 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/preview/preview.html @@ -0,0 +1,13 @@ + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/CHANGELOG.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/CHANGELOG.md new file mode 100644 index 0000000..05cf2dd --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/CHANGELOG.md @@ -0,0 +1,20 @@ +SCAYT plugin for CKEditor 4 Changelog +==================== +### CKEditor 4.5.6 + +New Features: +* CKEditor [language addon](http://ckeditor.com/addon/language) support +* CKEditor [placeholder addon](http://ckeditor.com/addon/placeholder) support +* Drag and Drop support +* *Experimental* GRAYT functionality http://www.webspellchecker.net/samples/scayt-ckeditor-plugin.html#25 + +Fixed issues: +* [#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98) SCAYT Affects Dialog Double Click. Fixed in SCAYT Core. +* [#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102) SCAYT Core performance enhancements +* [#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104) SCAYT's spans leak into the clipboard and after pasting +* [#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105) Javascript error fired in case of multiple instances of CKEditor in one page +* [#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107) SCAYT should not check non-editable parts of content +* [#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108) Latest SCAYT copies id of editor element to the iframe +* SCAYT stops working when CKEditor Undo plug-in not enabled +* Issue with pasting SCAYT markup in CKEditor +* [#32](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/32) SCAYT stops working after pressing Cancel button in WSC dialog diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/LICENSE.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/LICENSE.md new file mode 100644 index 0000000..610c807 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/LICENSE.md @@ -0,0 +1,28 @@ +Software License Agreement +========================== + +**CKEditor SCAYT Plugin** +Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your choice: + +* GNU General Public License Version 2 or later (the "GPL"): + http://www.gnu.org/licenses/gpl.html + +* GNU Lesser General Public License Version 2.1 or later (the "LGPL"): + http://www.gnu.org/licenses/lgpl.html + +* Mozilla Public License Version 1.1 or later (the "MPL"): + http://www.mozilla.org/MPL/MPL-1.1.html + +You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. + +Sources of Intellectual Property Included in this plugin +-------------------------------------------------------- + +Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/README.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/README.md new file mode 100644 index 0000000..1b3de25 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/README.md @@ -0,0 +1,25 @@ +CKEditor SCAYT Plugin +===================== + +This plugin brings Spell Check As You Type (SCAYT) into up to CKEditor 4+. + +SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. + +Installation +------------ + +1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. +2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): + + config.extraPlugins = 'scayt'; + +That's all. SCAYT will appear on the editor toolbar and will be ready to use. + +License +------- + +Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). + +See LICENSE.md for more information. + +Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/dialogs/options.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/dialogs/options.js new file mode 100644 index 0000000..12dbfd1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/scayt/dialogs/options.js @@ -0,0 +1,19 @@ +CKEDITOR.dialog.add("scaytDialog",function(c){var f=c.scayt,q='\x3cp\x3e\x3cimg src\x3d"'+f.getLogo()+'" /\x3e\x3c/p\x3e\x3cp\x3e'+f.getLocal("version")+f.getVersion()+"\x3c/p\x3e\x3cp\x3e"+f.getLocal("text_copyrights")+"\x3c/p\x3e",r=CKEDITOR.document,n={isChanged:function(){return null===this.newLang||this.currentLang===this.newLang?!1:!0},currentLang:f.getLang(),newLang:null,reset:function(){this.currentLang=f.getLang();this.newLang=null},id:"lang"},q=[{id:"options",label:f.getLocal("tab_options"), +onShow:function(){},elements:[{type:"vbox",id:"scaytOptions",children:function(){var a=f.getApplicationConfig(),b=[],g={"ignore-all-caps-words":"label_allCaps","ignore-domain-names":"label_ignoreDomainNames","ignore-words-with-mixed-cases":"label_mixedCase","ignore-words-with-numbers":"label_mixedWithDigits"},e;for(e in a)a={type:"checkbox"},a.id=e,a.label=f.getLocal(g[e]),b.push(a);return b}(),onShow:function(){this.getChild();for(var a=c.scayt,b=0;bb[1]?c=1:a[1]q4ZMIndrud~5RU7~KlqvCB?4CNuN7<8ZM?GWcHwn9gFm;vTD`OGs4A4v z_>p{l_3!U?1~ulpOZhdv&pm(ZrckW485hHzLf=y^Oa(`QMlpE0`njxgN@xNAlu9>b literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_blockquote.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_blockquote.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f497353cc5abb02cb78b7eba55772e1f5db540 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^RzS?p$P6U=5BZe>DYgKg5Z8u=hX4QnKfl(y1}MT* z666>BpW*3t11})Y(bL5-gyVYh4}L~=2?I&_?;_8ie6x^G__3`z_sgwKzZH&EWg9$J zo>3^H!!)^R)z2HjbAs=bOXQrh-_iK(#@Yr$22;7jhW_~%%z%b5c)I$ztaD0e0sySo BH~atq literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_div.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_div.png new file mode 100644 index 0000000000000000000000000000000000000000..87b3c17146e79e8dcced15939f24a0f16ad50c61 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{g$P6S6r-*3)DYgKg5Z8u=hX4QnKfl(y1}MT* z666>BpW*3t11}&?&C|s(gyVYhkN^MKnR)8>#2x&=+p)i$x$p|V!M`$YjXLp#Y@Eyt Y)8}f)Oi$*s1L|P#boFyt=akR{0Dd1P761SM literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h1.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h1.png new file mode 100644 index 0000000000000000000000000000000000000000..3933325c08f3f4eacec46c97600f7cba01ead54f GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^fbHRe*aCb)TpJo1{{R2~{95lCpa@e* zkYDhBhNs&NynsA;PZ!4!j_b)k{_k&OY}>z={n2NEUx%wTFVdQ&MBb@0O>s@^8f$< literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h2.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h2.png new file mode 100644 index 0000000000000000000000000000000000000000..c99894c2650ae1745e0e4156d775fe84d00efff0 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^fbHRe*aCb)TpJo1{{R2~{95lCpa@e* zkYDhBhNs&NynsA4PZ!4!j_b)k{_k&OY}-GV{n1;8KYJS=G7HpK^B?)%xI=a!8z(b^ XbHRe*aCb)TpJo1{{R2~{95lCpa@e* zkYDhBhNs&Nyns9BpW*3t11}&?$FVdQ&MBb@02`Vnr2qf` literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h5.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_h5.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5bec16cfa84d461672f8b0721911d90a06e445 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^fbHRe*aCb)TpJo1{{R2~{95lCpa@e* zkYDhBhNs&NynsAaPZ!4!j_b)k{_k&OY}>z;`D2~JyZnS78)QA|*^>lnbHRe*aCb)TpJo1{{R2~{95lCpa@e* zkYDhBhNs&Nyns9#|GfK-CPMu6{1-oD!M|04nb literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_pre.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/showblocks/images/block_pre.png new file mode 100644 index 0000000000000000000000000000000000000000..955a8689a13a394a9e715673d23750a6847eb617 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^VnEE#$P6TJEnce)q}T#{LR=df8vg(P|NL6-8lVVM zNswRge}<>q4ZMInbx#+^5RU7~KmPycXXdGYvoZ00=t{@C}8pCx}|qC*(_ aQHD7O)qh-UDHQ^0VeoYIb6Mw<&;$Unq%6+> literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/dialogs/smiley.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/dialogs/smiley.js new file mode 100644 index 0000000..64635c4 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/dialogs/smiley.js @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("smiley",function(f){for(var e=f.config,a=f.lang.smiley,h=e.smiley_images,g=e.smiley_columns||8,k,m=function(l){var c=l.data.getTarget(),b=c.getName();if("a"==b)c=c.getChild(0);else if("img"!=b)return;var b=c.getAttribute("cke_src"),a=c.getAttribute("title"),c=f.document.createElement("img",{attributes:{src:b,"data-cke-saved-src":b,title:a,alt:a,width:c.$.width,height:c.$.height}});f.insertElement(c);k.hide();l.data.preventDefault()},q=CKEDITOR.tools.addFunction(function(a,c){a= +new CKEDITOR.dom.event(a);c=new CKEDITOR.dom.element(c);var b;b=a.getKeystroke();var d="rtl"==f.lang.dir;switch(b){case 38:if(b=c.getParent().getParent().getPrevious())b=b.getChild([c.getParent().getIndex(),0]),b.focus();a.preventDefault();break;case 40:(b=c.getParent().getParent().getNext())&&(b=b.getChild([c.getParent().getIndex(),0]))&&b.focus();a.preventDefault();break;case 32:m({data:a});a.preventDefault();break;case d?37:39:if(b=c.getParent().getNext())b=b.getChild(0),b.focus(),a.preventDefault(!0); +else if(b=c.getParent().getParent().getNext())(b=b.getChild([0,0]))&&b.focus(),a.preventDefault(!0);break;case d?39:37:if(b=c.getParent().getPrevious())b=b.getChild(0),b.focus(),a.preventDefault(!0);else if(b=c.getParent().getParent().getPrevious())b=b.getLast().getChild(0),b.focus(),a.preventDefault(!0)}}),d=CKEDITOR.tools.getNextId()+"_smiley_emtions_label",d=['\x3cdiv\x3e\x3cspan id\x3d"'+d+'" class\x3d"cke_voice_label"\x3e'+a.options+"\x3c/span\x3e",'\x3ctable role\x3d"listbox" aria-labelledby\x3d"'+ +d+'" style\x3d"width:100%;height:100%;border-collapse:separate;" cellspacing\x3d"2" cellpadding\x3d"2"',CKEDITOR.env.ie&&CKEDITOR.env.quirks?' style\x3d"position:absolute;"':"","\x3e\x3ctbody\x3e"],n=h.length,a=0;a#>vg-WcpVe_qxHdcBkoV$~DTj}X$YrA=EDa>g& z&*{`%<>ta9P8XRelEYV&Qp))T8!O927}m5CoeM?2-_Nc;VZZPB{rTm&dom8C3zB6F zgn_sb2b2H6P=zl~MZ2{D;a2Jzo;_r2&>&;$%H}zL_%76gqX0@u--14#&){LIjEU~ z{`wM3?SSc*!4~Ve7Z3Mdf&1~x6Z=q8qI-&m&LnNkC4f}`c0OuIfq}PSP>kJr(`yuC z4|2V?3tiScn0tS9uFz{cwed$W*h;{12D6ody#O4iVet%1%fWIM?pA=c3g#|ge>QvP zFJkjQtvf0)XEiL;V#~Ger$2(@61Jq;c&70#x5Hl@n5z{W-LTN(eXIwk0hW3_t}f4N zH~P;Y_WYLDZARU9yc=e8;|{D?QO_*qv0xq>tlov^53sF=nAZ-QiLTo&>ABenv;5hD-eD`W%;^8#U8LFm)N%ET{bOMdwzM#Rc2N$sz)D(i+t+^<6; zMzWL^_O4tV(X1G)7I2TzCUkA-_`t9PaUGR&uqI7P;vKVQ(lo+Cy^?yp;xJp3%1n$U z5~|K8e@={%UP+o!?LTE=XwEvaqHG;_3p{Uif_K#{+dwiL(8l~ zQi51oVP#aZx~DQw6vvSTQk(O95Jb)nBOO1_nJea!Ig;SC)ZmJvV&TcAf_S9Ss z!Fu%FBF$Gt%=@kix^y$en7>OUl;g;`#W-JovP<#Nd&=P%VRcTYq98WTj;H4cPMQd^ qnmi+y@WBWnC*p*PN$AgJ8}WtsBW_ zEeI{UvbD07r3Ffnvgoy?Q1G%SU|8D=m;24nGxOaGTuK^WeE28d%$)O^Gv}OdCcrtf z6!3q^ZvelAur~NC?*7*-x8pPAnW)2>y@6Ub8xGnw+E#qTx6NAZ!{h22^MkwRD=oA8+NhhM zuc0Vjc^vQHnJvO{zK0rqSx&tl21P@!!uUzJJq*q~C{9w^N3D&oYKD8E#^VQ{y>j64 z%0Gp^<6*hFv2Hb?=JQdr0-DN(u{Yr6F#*bElb@qzen8!pgRb_k`)P(|`KM*c@zVU@ zQD!Sw%8iBf}F)U&F;Mw$j zD3y8G_*Cv&Tn&)eZqP> z73<)t7)fgyo{>{`z$Goui=pJaHFZNe%9brq6K$eInPA%+aI_GjQ1$!pTt1FrZAwcv zS3iKCA_bD{RT95`5y@y?tUuHjtrY*y+z19vhKXMkluM^I9>l792E*D^&_g(@;7o`O z@oK7OH-&HQpgt#*k=!U2%VJq9jbZfL2%2+3`0>pk#!Hh7n6d~wEk{r#a$?Qe)Qa*G ztxZw=gdM$(PD{FBZRk;YPbE=%BAnC50y+J9AT{rYapjvt+}E@0KuW?Q@t+gs!XVSI(L?MoyJ zaVTqyfltIloQp%fK%LWVpl5=`E>I+6?W28#ahGQfX$1nL>lU miK<1DUR8VN4sT7vR{aZh|2Vqsev4870000v5$^6lp{j(L@cWd@v)@&bbIe*!4{2R~Nk+whll|Kio{Rvd~AE5XvNcDG+ z>i=Ms|G{d%Lbd*fY5$AR{t>13KT_{~gu&-n_*H+!FG`#I74bCTuP zB&%;}cK;Kt{-#*|O11x=Vmmd`V`{YLg$%EY*?w0_qyDEmeam$Enc?_9!})Kn^WSWj z|Jm;Uvpv2P`g|?&{aWJxx5)p0ap1r5;6IhYe`>@3RY(7+kNR5^d#x(rMnn3E&cb_> z>%R77|L@5B*_;1$V*bCrqL;I4e@!g^Ke6=3^t#`(>wnE`_%W;D$Lz+xGaG-*YyGjH z{r94-zl(c+EbD)|YUZzHlm4%t{bI|~7u#0+*|PA@wncxpFa5i7`I`en7bZLUvj}rN5l-fsqRGU-@L~cBCwnJj z-5Z7}?);8k5-BGv91b-1YUkeLNorZz$j389s7h!`bAY^2{EmXc87!w3`TDacioDP~ z!=vQU$`aYte1w^Wm8Yjb(6w*ILQZSbOTui&x(%wON`o{$PZCzIQYd_6!Z~4@+Vl-# zDVtJ#r|HCO@_E?Fk~zVpYX;9(mS&Ghhl}rA33OKBm}Qms;Kc$(6``Jmy&8XBG#+M< zcAm;7btEL=sH8-1%DeCmfJ?>^>=`)j04$ zp-6|{OrvtH)Tk*=E1bO4-YjAKth(G;!?RCdLFZ=8R@J6{p9wp)pB@v^2$-Uv8N}?t zuQYR>jgnSd`=lSt9wDqk?g5Gy8LTfPuqlPtI!Oq)yL7aOdzy$H;dgSGxPaSErD&!@ z^&9~ge(|mY4vc&eAK8>=NhBTMip|(~++nW7!9#q~5sI@i+BGg57I1swCZZs^BjE|B sstbc7GndMS1FXUfMKXa?Bmx^*C2Kw~P7#uDJUJ!hEypqkMn(o}0F!L1cmMzZ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/angry_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/angry_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..c05d2be3a7972ec4f2d9f5354a9c1dae719d1805 GIT binary patch literal 1220 zcmV;#1UvhQP)3$g6vq)-cAK&zV!#CqTMKRJ22-XBFbvCp1xi~f6p+QnASfX&h4R5DCScGI0!>sv zs_~1dwxE7MBPC)83Q80bAgxls*4UJ1JJXr>-p_O1Oq*6(gNZNs=e^u}&hMUk&w1ze z`mNFE)t!JCkw;W2sua~nR2do5xtN~(RXu@ySk~>(xi1O4`x-4T`nc;I<4C`COy|@_ zZSM;%hC@Wht-7li>(Xdhmrn3-8CK0n__G0;8nMowCUopgTDN35HfpOr>f0mS0o!(6 zpyDm=<_xz3hjw9}sm40K4}1T1cww1nDIC}VpOnL`TC6WV#F#(IRv-2K=K`JK#{(z! zW8_XGSn;-P9o_@a`=De#Y|ep=nXthH#p$pn1=h>^)CbUTlh#ccsIM~af$OC z8EXd*?6mDy3I*y3gSX6uO_R54o9nRjab3!1zemaQ76OGiBK>dR!xHylc4%2)~ORHLs{)rq;OBD zrWzwN7HhjN0&^1-;Dvk_O~tNo#O>hKi8QU6&IMmQ!4;EX`IEB9R3`_m8#7RrGTY&$ zf$}~0y<@{?svwDSjXRaNq-5enhrAL|Q8?m5o3=)^Cn?_ z`?;+wWp;(YTL5Cz#t0V_oD?<~va!NRPQmXcq(hRVJOQqp>_7v)$7!55hU=~&{E#$&Gt>I;-SlXhvWH3fMq;l|rET9< zl-2oIO8rN6nhqBZgHpT1n1(T zVBRpS=d$rXn@QkES(k)*LT5h1nBCvmGPx6IT|Az%64lQyujNj41+Bkcqr1mnUrWuj z-jFjC^QBx2X>7{sT#7N6q1%SkZ`-^P&NxQ^|`Nbig78EN4ijpZ37xfn*XJC+7l3^&sTaa~}) zBt>&^Mjx&wMiFxLvy9ZcAxkc& z%)#Iu2pRopOOK*if>9s!?Xl%X77!8@=Cz;X{1Pxyqwvc@!3;Sr_aNJzGr$hc>We?E z4@U9>j*Z%?kNV#4HMd+6)2Nx(($d=1pF^eJTDneEh>hC*r#rOMl_zZy?L<|gTM<=7 i#(dpfZTAKLKlC@^jn9nmDT4q20000*pUa&T;8X5PrcvW10Z2NTmi28K-> z99w~ihiA2bz$!t(wPIpxB_-F($*q@{-zzA%K}l(guI>(V^PM&}yX@_c@bO(>WxdSF zd7Y2%pn$+p0fFN}LWe{}kBEt#78gG&BXdzu@QR4YO+mriLPB@M#O{lWUz3);C@+6g zTKb-(R`4+WMcZ?SDJFJx)%0-Q4zhcpMB0Ivf^uI3nUmWaP29xRaTgr}OeI zR8?K9tGm?DaJjYhYFF3wzP{`I{kNu1zcXjf-TCwHFIn+|z>vkD12PE| zCl2iY8?u_3TUy(iGWo3SdV1~Tg89w+daU^}TQj}cW#`V5j?&nb-`Qx0y&dJ-O1)8hR;%({Z!f zSw-G0Ide8BcU)X-%~fNm^jIT^^PRzw7mi!m`&TpS^*ng^Sc`v^p;3a7@I%+$&FS$B z42|1zyE#NG1rs?ZEJ|<`mU<%=V)&rzSg#-790$iAEs2M@XZ=xaIo83*H$hQaqv_cq VDI+l!4S|Hlo~KE&(^;7qtO2)m5uX46 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/broken_heart.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/broken_heart.png new file mode 100644 index 0000000000000000000000000000000000000000..a711c0d8d8505409f0285fd92257eda1ba3a42cd GIT binary patch literal 1139 zcmV-(1dRKMP)@G9Ar!Qd8U24;$Cpiyu=eyrI zbMEBYM#544uW&4UD9%?4f!)A6KoO7xt^!|Zy3w_OYXIxFS5&aMyZavCSAh3N zIy)<3eSOrdT$%A;lJPh|`IDg`3Ot^SVt}=!rI^>Q@#xH%Rlo-hplSHzNqj{`NGgRa zfM0St*<4*sZ+km{yR5B^YtbmCX<}EDj0LKSigi$t(YGh>D(CP-Qqv$t-s((7H6vrLmeA`zCgv;g$mL}ZmYHTCN^m6dM4 z-A=CCoz~4nEXMWGQOfi3D9_8wJdQc;w#~+yLqjo#s`?a7H|{xeaz3d$c8r1XaiXzU z`XM=;c-?MNsnnte8I8pVhQrhyKaN9HKh|_(c>aI-w5YYUr}pSk`p3qYiN{Hr<}+EM zsz@r8ww^Ri;)w+PV`J0=0=&FsOAqiFfC8ZD#w_qwSzB9Q#i2t4b)ER^>@%G$vD@+3 z?P(n+Op}3dnAHakP`+o+O<i&rnp1&?$q`0+}lASvZ zo88`~=|;yt?R}wquD}}LJ-`nP0LL}mxc{Pk|4RN}<8SCtmNuhtj6nbZ002ovPDHLk FV1m;NClUYv literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/confused_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/confused_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e420cba4af510c616dbfcad2b48acddc94da29f GIT binary patch literal 1202 zcmeH`{ZrEg0EfSuV{dG-$zU%q+QtG-5g|_*LB}>d*gWYlIj^$rT$8esy7S7e@XDDiyjSv78BwnbPCKBc7Y5TDa4v^_I9rBav}SEKb`+XKlS_r&)swPR2nNZ zB_=T;CgKFqeu!u{5#6uT`i{}Re2?#ai*d!0bk)iXG_xj8@#a6_{?y5z>JUwJrmu8z z=bWOY9_cSG9^4ynaRb~ebTRQc6K*yxa?rIAJ#6%F(94CFhk=w8PwHx)IQE4Ao=xbM zp(lgvm9O^8R=<|VeVgDDkOM*tr(z@(qiMJ-#$ZN#RDvrKjLE5fC3Q)OAqCl=58rlb zvq^44xDtV>+2#_WsK z;tPrI>TuhIi-t!u?s?58=-+9xNgr#lw4`)&Yw6pZ}_W za*aVFh!!IMk?_$IS~iFjPNru1L)|V$D!0bnaN?tuT!JVx=~ZlT!GUu{=4OS0C$CWt z|D`szZj@_|c)iZu&E*{auv5vZ66HSKk!O77u(4BDvZN3l$!k5SFj(^@gD*{T(}bCC z`h_`D(`V{KhowcTR@qZcq5$twcIBsKHujon)?Df6Njh$b+*H5P$Sjo>YGsXfxqKJ@ z6kC7c{fKIxi_M|07z159{`o-C-PMqsF5Q=}Ewm5}^#PY4vRrFBf97aG-Lk)9oSB@y z+2HUp`@*+}%nzP(H!(O{k3J0B*D4s&vRC~z9@WcsM`^ZgGw-x%ulQWa@f@XI9c zq6(?Up=WLL7cJ=JjITttEjEXRMpwsZtg=JSfVSzL-@2bAidlp;&qi#5Ebq=nezCvS qkdbCPP2badOmMdDHD1f|W5tGQU6Qv-VPzC2Oc(Slx$U5qDE$}COQpd8 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/confused_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/confused_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b8e5c6f11467dbe09785ebf3aafcdc9c581e1f GIT binary patch literal 1101 zcmV-T1hV^yP)4^ zUWYx{4*}Ue^73GgnR!>qSdt0#UH_41XsWqa81?H2(hEkxf@2Fg}a`DzSmDB z?ELd}@K_|YkKEPMoEa8p+tW12b)`%aL_9TSWe3JU`!47`4qpulyMIu$Zrs1r10^D@ zhW?rQ7$R-K9gS!w4aV_Ob`6<~<26wrlXb~t-RgN>Jh%ur3rPGVta}X77XEG!00yzg zp(zNiQ#Yq~b~h4T-{O6DHG)XZIS7l3UgSm~VkyBA%U0`4i)p;O2C-*0oku zU~#%Ga}8L82Vh}QFV*^X)HsHjRGG_va>=Xo*(!@d3O z^z^pV5^X^TG~@~}mxsA|C{@4+(iBBli`Hvk&u9`A*qE^Mx$637Cr)!_2-+GAT5G4X zoj^|n3JX540ELoYrln>IA{q&VjV{e<_WT0v{nhoaySOIaJIKYiA=GRLG-wQ9+-lux zr)J5z#^8!(+i~bWT6b~jn#nm#-;p?5jzO-XDHOq}tUfWuK*a&mpxOE^^c{%n4%KSdo|VdqI`-~2i7YQoOXt_rVlasY8o@b@EKzN|4Jx|!Ez$*zm|HZ!`tHFH-9l#^NHekTF0KWm_zCCyA({@|%|3m%(uJ36& TLW+k600000NkvXXu0mjf7P}Gl literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/cry_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/cry_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..b51334278289b1429515bdc44d559c768e7de4bd GIT binary patch literal 795 zcmV+$1LXWiNk%w1VHW@w0QLX?mtX*!WCEXR1fy*Pr*j9bdI`6B1-N|&v3?7-h!MSu z5XXrK$&3ohnikWb71gU8|D*)}sRsY03;wJM|FRDMsulmM8|Sqf{%2Grvors@HvhIc|GYl;#2){`8vn^3@4z7M&MW`SBLC7R{?#e} z+AjXYGXKgm|I0o7(Kr9qIQ`-^|GiEBzEJqdP5stH{@6kP&`tcoQ2*0i{@q;r&2IkM zWdG4<`Ok9w)^zdPbpPIT|JHo{;%xondKah59H+}0tIr#((I2+lA*swUvCl29&^Wc# zJ-XK=zU4!@)k3}5Cd2D7#_V0g+Tb|Kg(l>#Y9dwEyP1|LeGx(7~6|%B$4Jj@|H{b1|med z2tRLz~DRs6Vy)7@y5v>KTnio`Ed1U0RaXDAeb;ALI)3XmLT!NB#IUfSFg61 z!Ffgt3K1q)kRXT3WI1s7fPp{(L)z9D8b^o#0RpZ#SG0A35J9i(*|odm(pD!#ZQjQr Zgs3w-m6|RzCea|Grg@`9ix33@06R_ikOlw% literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/cry_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/cry_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..a1891a3428126f340fec3df988921ff98e60b36b GIT binary patch literal 1214 zcmV;v1VQ_WP)svZ)kglo^9&wutlMWAZX#D_n7@0qo}S+myKGf~0N z<*5Hl|2PRGN=u|n$tU$j#cfpec2r+bwmoCBvH zf#!#yaXOrO2u`HI@hOtNd$+>1ZtZX(*4HwIz}+18pMji2GZ4ry=FBsK&Xj||EdncVY;^Avcw#O_mY=li{oT9 z9V8{Ej!F3qY-*~dqg<&u^{5Iv(<@%p1h=5qTW8ZzkD)3=KAV!LPw3u z67x=Y)p+OIhAO7}dsug-M`>B;70p6z;cR{nC3`#E@1=tBB!X?SMEtv#1 z6X+-xe7@IO7Ix5+vws}NzlOR%8yp)iHxAUmJ(BN6@|ZxnK$t2v;p9zvURS_cYLb zWuU-yH1ODk>tdT|nkYe(|^8?m>*+gHWm%Z%qnzJ&8amO{!&`*36p;4JRi1SQl@6w?K*DH+k93eL8lh%ou~8WNmq1B zfmvSEc_T2n@i>L44m%U54qal#kr2u1I17)j?EAfNW9Oxw%VE<%%LdpPt3^gR6eoH) z^=bP)J@;uLJ614K(T>o`sh?=qFl+CS6@%-ma&GIn+MU_h7aV%z8s{9%pXqFqbDo^{ zBt&u=KNOl1C%b4#-`2iLhn-nBo6m3_BkcFx+!_P<=vqup~J>`7E2osXy_GPdmQ ctL=9E0q?RJ6Dta$D*ylh07*qoM6N<$g2RVY9smFU literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/devil_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/devil_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b2a10055beadd67b13405cafb86829f57fffb2a GIT binary patch literal 1239 zcma*m`%hB`7{>7fltL|qLuo0r6uDI^K~PYv!&{ZmO~v3Ak*P$`Y372{4cTyWA|Qhq z7lb*@s7@{7L<=%*BDKiHsR-5rm(L%TN~c_1XWiT^QfZf$u-nV?A0MAFxqM0{qh+#}At7VI!4`$$ zY#ebmp1Ab6^`(8*m-pLTIl#J+!qcVL-AQ3r9I>xF%9-2}h`n+g4wzP{#13|2(fLPtcSnY-W1SwduU;;|rnzHP?Kei!(yxilMPazBM#9$hScO zQ#%x}aK#pXFxa?ii>quDGVE~84*B*d;Glpzp>@JFdt7I5=)yVBa!|ySiy|(H=b)I2 z8w>}OFnIWrhf+tBF`Q8DG@v1ewW85t(L@o6YhwDk7}q6Kk#w|FJX$V!TH!HzQ;G@_ zmCm@y;G@a~w_H%o5I`ryZ6Wlos1f0g2$hm)og41BK`*6Cy;0>wl?I?Jgf0t3`4U>U z7`jkYet_zglzugCub!@#PT%!JtsCkX?x<&o(ICcM3Dw{M#$O(|FU5UNJn%&0-0272 z)B`W7(HjrF(8TaYvp4m~7ms{k@I|8xkNohMF%L#Rw8+rPn1?pTe3<5=U5*aM0(AJJ z)Bjyh5PBA(I|#i&=nJA+md!p{1d{^o3Jio`FoddBLLUkJCe%dH_tsM#;dGbMQWu4` zSh{bA`KPe*qK zOg~xrFVOwJV>lZ_c^FZnBOgN=%d0}XD8^73hAS*1l^CtY%PQ2?!el~wJG#0s-iC1# zUUy@v4{!TnHdEtfOqntB6z`sao&{|IO#vYO-+9lltO#O~2zWn#{}Y5gO^h_ERV5ee z(rs-Gzno1NP^QkA8@l6a+>ZJKhOZC5PHXC3mN`+s(oLRCu#zSWZwJ>UY!CZ(Kx6eH zaZ|s7?f79JX^dl?jPE%`<;ph1EIrh{D@#ER*ff%a^}%D`Xxj@vxws@Yt^Bz-j3n5n z4pwQ2w7A>FY1?!{zHfL>`|Ku&spv74v1%bcuUm|C!JzaNLs z;+!CrhI65Zj8-qAOFngv+!pk6ssr0$Bp|V?WO20CU3s{wCnj(I^VSUR8Na@0Q$(bD ztm$CRo3yMPS;UvIxA@H`wu}ewd6hgFd?d;z;-p{!e?=8f^0#rQVq<;{xz&9vD{yBt zZ`JzKD{GItB)IM|#JR-uB-=p~E|8~meY{cG`|9FO$?lkAb)4 zYfM~46vqjaS1GU*S&)}YUt*)8t*MQPX*9+*O|&&pn;1=eB#j!4ADSkmo-{nDf# zGy$;|gqF8FTcInDR!d7;3cDH_ukI1l7oz!7zONVbEH*s`*Yx@y+B!tlKe}bjEN0x%{gD9r3E*(Y!Obk z1;0L?mInX!?SR)S0|WT8A82?CXxaw!z7PDy$SshwcpaE#1p5g;vqRa4EiekV8*>{s zVtVUVX}4SOUvFe)VsPzR=p4jHF9KgBz~6fS{@+WWjeQ7x=w`rH6!G-C$_GJp*6A7G!AtTsr34(w5szgtkylF6>ML{u%}vABVvr(}HKC>r-Yv zj^3GDH#K>Ruvdc&P1dDgvL<=CU75(Tq|PJ&KgL7vJ;dFz{DnoP1+RwlS>=JmGeFwq z^{C2;Hl$t1fY$Cg~1}zf={3{S(2mSe7Z`ONdC`ryF;v) zYgsCJt&H)&14;p4)Z2K0IN+aX&*&AS9LDkXFn;wS$BF~1f0>YAwtDgWr ztWjmvtYBA;uE9uw?N+GeEtBufkAmw+1m{KbUS*{@cR*|8`4Cn>LU&=T7B~^6Af~43 zQ&IfhDm3MUV>mw=vlTYXmd9cwFAB{$Vfg;t5R8{68emjJ!QZ+UdKq^ttbkICf$p0^ z-6P6-@lM2Q@C`nM&SQyaI24KFZw2G{o5866I0Bb=h!zL3lp|%4&}&#pH9SDV5SDd_ zmaf=y;W$dVmlPg#AB-4R1#=0aNI2k7P8VdMM$Xqf4ADlpV954S- zxW1qXCzpnsK#A#XpeI6U7fi7&b7U?Vw}qPvuoO^?85c{8AtHSA(DUTlQFTO?VTR%|9Z*ej6?%+6V*|Z irs~YTJuAboQvU$jo*OjDtdS-F0000k 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 LNkvXXu0mjfxmX{o literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/envelope.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/envelope.gif new file mode 100644 index 0000000000000000000000000000000000000000..5294ec488dbe44117f3ae6836b932fd3b6a27b52 GIT binary patch literal 506 zcmZ?wbhEHb6lV};_{zYre8tk$>z1uszh>j64O_Qu*|u}z_8nVy?%cj>@3vjLcI@7> zbI<-A2M+8zcKqn^lZTI=ICkRHkyB@mpFMZx-1)QTFPy!0{qogoSMJ`ubMOA0hmY<* ze)90ilgCe9ZG4U%q<&^7YHtZ(hB9`}*DcH}BuSegFR5`w#CvetiGw)2Gj0 zK79e9&)>d%{r>&i&!69a{QU9z_wPS{fauTv|Nj|?0E$0Z7#SE$7<52tL4I;z`|mKT zz(Yr>ee>xC(`>8x`qR2icbv&EcF5r_niBEApqoW7H@QK(@L0teuLXS1jk9%9j=l*C zakTxfDVmlMF3v5fs;aE2(%aXsBFQc8Zlcf5FmooC{!}MpAx^^pEj0xdLr&qW2qp!e z`i*{?3QWFH=^CsYI{Ny-9IP7YEme9_N*d~?G|ryUP?XVY@z`{2&D2fvT=iGgi*Op; zF6Hsn*HBTAQz+%VF<*>Df0MqZinczBSeCIgQ{DABKb#a34zCqgu{y*3V-Yi_WagI~ zL&k&7EesNdZZ8-P9+}y(V_QN*Lz8RwWZeKCCAOk&E=R4TO&XHHt{q%j+gxlIm|8o; eg&mr?cz+2WY1B5-lelnX%Stt7@ejaYvIYP(9Oujc literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/envelope.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/envelope.png new file mode 100644 index 0000000000000000000000000000000000000000..44398ad137f1d9591692ef073059d709bac99762 GIT binary patch literal 760 zcmbu+>rYZ)90%}|sHtfs)0IYVDqC(=uKA*+wKS|OBd=S%NS)@IT29m1T$$Q(D)Z7T zEnbwh%*#~NMDPHnP=GPO6olp!Cs(;03qM%wc`lE`TjcV7|6Jt% zTI6&10-jJL5G@Ip{s<+~l~t)^Rkk9Pi8nUZr=K7XmQ>ofgsgx?ULZw!!H7bo( zt=U#udnclx4YJ<}iC9hqo?{7gljfL_J5iE1FkCjux|?)+F#xxO5Oa=8EYgscZUTb5h&- z1;LV4O!#1Uj-a?wJ8N z1O-n?Nu80Fz9}epTS(}(sOWuh@$1skcO)e4NlM<9m3=HNeMM36mV&}vRn`0I>dzDu zUa6`+)YN>Uqw`Kv^Odgd2YvlddV22+489r}eKs@uYHt41-28{7S1y*DOJx;b^~ z?U^(0E?jtj$&v>vS3X+1_R;$FFZS(wd*;lCYuCQNeEH+`>!0u6|Nivp&$n-XfByXc z?;itQfZ|UUMh1pB1|5)Xpg3`0|KAYT)ZEhA))dQPWZKi)*WY6(5ZfB-#4a^cdbSk1 z>y)W>a@I?hm~q>4n=iGomUUbZ7sRNhvu*p1?JCS6?JY6B;{F@=#l`wL2#UFdO^FS4 z5oWdZ-5BejZDnnB=kDDl_qCm4V?AUHUc7wu`URiYHBTm`&tH_(KPxhMA8Cscxab`2807v|h#c9;71X`w=M^maDEh84CgtxOFp3|c9U86FD{IxtuR08VrG Am;e9( literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/heart.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..df409e62f55f9915efc6b88d3543786ada9c2897 GIT binary patch literal 999 zcmVy=EE0+jENy_ca@j?ofHzuh@e-|#F+P|WlD;$zCVk-#;IW1m6Vq6W z5q+R(qBeCC64H7>h>&Olkt!=1O9|{r5IHP#_qgDm<^1{rhRcdX(r@y6n3?Z8-MF*NcLMkd*b8I=eZW27CrvkkZ-9ZRFoCHs zBC<;?>-qE6R=IohsQi|lEuCd$@}RL%W}iF}5&2O>wu{Km)BXL@*U%uoyga$;a>?zw zI(c^fyohCui^#qu<`TGOZgSG>I&?^WPfeAvf&vLwR*GI)DnmIra^2~akt=FANKKVH2M);m%a<_``64hCMiG%j;IFQO2lHKiKV`YO zD2lS;>_U+U-F`nQH8s5I>7mBs!I_k_!XqN|kBkthsG!>Cdjgc$fbYhxUCW>A>x&Bp zNKHqDcO%o%*tZy>Q#Vh2T(lw=n<~;bYijC1}@n8N=Zs$=HWvCuLDRmLm_P2wh=SU zO~Vxt%uoox=>UdY9#7Tm#02SEw{99fV;H1)JOGbvz+h%o730AmG1J_1jR%8dR#yWI zDkAc6bar;AW5+Ei8!>+2$nr>*e#n6`Q?@{?FYR&X2^h`g%{E z%nJE@}i00BlK5i%MY*nRnO0NAJLMqs&T4SX@6(27Ry-92(7J=WcgJ0W3>XDk{e z`S4+?Z`=qfc6*hk8^fzTap8*ryJF#R*X{cHWc$DXnRfe|v5AERY literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/kiss.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/kiss.gif new file mode 100644 index 0000000000000000000000000000000000000000..ffb23db05a76e7e530ce7a26d658152a37028ef1 GIT binary patch literal 683 zcmZ?wbhEHb6lV};_{PAnjFE92GxKUTwsq|6E4jGVaB!^R=ikiEzMYkIFFX4N4vtMc zJllbYmv;vT$39NZwc_IIq@_0~DeW*f-(_cah?DauKmSQCt~1=+S9y642n!z)6+I&$ za6(M%l$h87Ny(#fa;K%G&&kMK6coHIB643|{(+?ABRRPz^75yZm2c_kJylS6tgik{ zP3@(!@=G9y? zCQZ6Ib?WWev;WSV`FHm0e{<*FU%K?+nl=9xF8sHA`QwcnpKRLnY{!m&yLZ1iefr(` z^B=BW{dn`{*T;{)J$?G)&6_{pzWx3A^Z)<<47h>fPZmZ7hH?fSkP=XwII#b3C~sDsNi*seQi3)VEpJ;D4#m?5=hS?>)tgWmlAxM~&MIify)8%EMTozuQmWs?umd@UeQX(ZS+044;#%6}n+)NBi z+|v5S@Aa9}ww0Hz zPfS!-6obZaqZ~!60w9*;zw}97x7lvs~?8Fe6H4k|81Hjj*c>Hr~ zYRV~875Cx8e*>MskHAO3r!U6GOKi)+<@b{v2n+$uhH3r0D?H%U4*`9~-Ma?|o0`xp zi&Q!d#l^hd*vNs?rVoEeqM( z%RpZr+L<#{x3z_UZ-I6prTiw;+WN)p{rfCDc)-bEknHMeWGsf9oP=~5q}(js=5EUw zfSpRw`|KIHb#)Y@41M=QwutYCljX!t+Z6ym~h9@V6^hs>9c=QR(-i2(jKz0!7mhstT%# zOeT@GO*)ZS3u_wbl@+F=QDWugob2oSN2uyC!?ga|+KN7;9C*~&SZZ~35%hRaoKA$x z1**DMS1CbJQ1bF{`2EOuoYj#LOv_?AD~pexK25obias<<>nGSU{)TDI1-yFwySHxj zKZd+tJ31(HyKxJFT3U+3=R?WQN6~ds^Yhr#)2xh*5st-(78deBcQ>x0qOUf<+lFXE z0k8fx@ZBG`Z&wVRKhM79WpY%NY(*hkQILR@N@1l^M3YI}b#>Hsbl6$@_kU@aR_j*Q zOYn6A4QPqa%ru9)yOqfBFpDE2L`O#f@Kjadt*N1~wwB`hdP6uIpBbh#kjdE*zQrU6 zybl}&jv{5blu{9jG6+0cUk?q_THY!DmGB+R1Rye>-`%w9d%lwl(~@Ki?W^?v{pR)* Z{vUNCpEyW^ic0_h002ovPDHLkV1jyk-jo0U literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/lightbulb.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/lightbulb.gif new file mode 100644 index 0000000000000000000000000000000000000000..ceb6e2d9ea3a6496e3df43e6f815567f0d840bb8 GIT binary patch literal 660 zcmZ?wbhEHb6lV};_{P96J%M3XD#yGmftA%dYn#lkbuixUW4_bNc%z^1_C)@h69jKh z6}dZI`uQ~G7c*GDEMWb=lKsOXj*m;Z|F7lxznTC47XCM@1io(-`LkKz|8~JY+lBw{ z6#lHM-|*f7r zmHB@{{@X#N|ECoGpI82WR_*^O-T#-={$JMme?|ZQ3A6v#?RQKL+%+|H-|YBj8=N1n z3p~6y=g89h6RXNkuBm#qHSyVwwC6iB{@-x?f79*%Eua5)!hc=L_;V}c%caWykBa|4 zsXxE9^YWg_HxAE#eXQlpiO#pD`@dXmd3SEw_d7HGKArUc<>Y@)XZ(IL_x6cpA1*KW zbaU;a%R3)m-TmeMu0OB0JimSP<=vCto*euB;@rEZSAV{}`S0tse_wBZdh_7x`)9vC zJ^uIO@&BJszkPc3|Nnmm(t+Yn7Dfh!d%H`LbF z(b3b>*VB^E>*{Q8&q$dyyCsz;&CO`V3NsJR)J3hOotEe~}YXBE>LOcKf literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/lightbulb.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/lightbulb.png new file mode 100644 index 0000000000000000000000000000000000000000..0c4a92400d0bb454a1f32a54b0ae0bf6a782a960 GIT binary patch literal 919 zcmV;I18Dq-P)WvN&!5cw07D#C~!Zp0GtE9mSpvpW?G>UJQfM~fDiQb`4{q6KSIy`ikVO14h`ZF zA0#yVBA&jHkAYVtS=HNy$0C6+RDP0wem7CP_8HM5Z_q71g3#&1DbAy3XUP8e3A;vK zC35i1-$59YWL2r%8Ojna!2&G<*xOk_00BU_J+9bv2Rbm6C4ixJ;F(Up7`Jm*>2kWk(RVcBZ2#~1-)oaVFum2EQdJf87FfA}`u&Q6v0?WRYSJzd1{f7W%+ks!`9X-KDGKo>h zgI%sd?JD&4SkITpWy^!5Do{ zonh1U0E;P;#gxHf%4CE4h&(ohxBnnO!)LeIlj{ajKy+umQYoV3Cy6g^-9cSy2o z)MM1UL;y&#YQ`b~CB5)%^!nm=6xLU`v6ke<#-BKr&gkU(grWzoGy*q;SK}W;%iUYt zTqPtX7#Ne+RmP3CWNT%b66*oEFTT z71E&>)uk8bp$zAw5C5VA|Dyx{r33$_1^=lB|Dy>1r3?S34*#kM|Emc9tPB6I3;(kY z|FaMOv=8R37yqde|Ee1Qs~i2T9pDoE)W;EJ9cX%GthW2Hooqdi*mz?dS%i4q&4+UQb6 zD9k!#s)Ptpr3@Xb3Ww^!aU;x}K7H<-p@KsX*r7O>WI-ZjNs^pI@*Yt_;qZP^f5n!a;xl4We#HxkUsWm}n?W(4ZlO5+x-j zNO&N@%-gWIa~HH@#!3hgR?OJBT~N&jFmlLnfda*gn>}$rsJX4j!j~utgg8m!kjRrE z45sjr0ilOroeWKk95G@LEImB&;Wr15?sLK0}s%E2XP7=bP#R<0RTHW+Mxab literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/omg_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/omg_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..abc4e2d0fd657fdb681356a836a798f6b97255c8 GIT binary patch literal 1122 zcmV-o1fBbdP)&{j}T+buSenpo44P)$uX$!0s7P4<#xcW2J=VP-a)CRM=$-wgk`{LVMu zoQs&bo92G4A?T|Hx`9rh!x4b)Xc&k@jZA8*_r?9-4ME>=l>C&~_aTg7Foq#9Y~KuY zLeNp@XbhqCM~%$Tzrq`WzFOcTQj;gSavHoQG&}`?F4*xn2m#BZus8xU-$A|rJ)c4K zBZI(eQ6rPw5^jUlD7QY`!;SOGI&fOBvkS30hR9DN)^39WDq5hb75vXZ;tE`SQ_=di zVBhQ0AP%`5+zbDln;)E1Qy*jPKcg1s#>B$p&&2*p(b5)RcViV;5;JG=!^IdiwUvbS zpCH_Mma<>Y!0zYa(KiO8M&{H8ctg;4oYcfueAA`Owii+P3Gv&tTZA8~!5{YFHP;Yp z1&|V?!m6zyZLBc&#}a;jE1@F;@O6jcnI8q!d;6kBW=PE3P1~bFSrdGFIHY#uQGP#~ zH3QW?Fipr6AfE?I7U5_bRF*?!1te2Y{|;CcFn$4!U5+8j_G(Td-OODIv3diw-HVo+ z2FrrvGNiKT5d&RM6~X#g7X5k}l4+QYLwW@!&%@3q!0Uy%OCg}!)Pbwga$hrx&DJ zuY(@Qt%0RLN<``=R#QloC3H~=x0~z2ZAzh87Ja9hZMU;=P>Q~n9<-ylGjBU~or?nG z7K*RCvFHTaVI`-PMp9HX4$+16`p!H|&6h-COL^c!9{TS$o_bs3hbsvpZ1Ajzod-)S@k3gMDWK zhF#|o!o4xJAArp27EUc9W2?jyCh>$x3uX zfUE@tQ*MgJTk`MAy&%``DJf6|Q)=lc=otXv>5m$jlz}r{7f|K}W-kUwj8GKVL(NsV*Fbn)i5i(N?`7Ndy$hvS~s0{{R307*qoM6N<$f*}_dBLDyZ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/regular_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/regular_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdcf5c33e3973c6fd0bf87b615ba4bbdc3b7e38b GIT binary patch literal 1209 zcmeH`{ZrF*0LMT3GPk)0SsSu7wzZuPkcY8=Y@XxXkYJc`vj^-hEJ-UX(mJTq4h7@} zjUQyoJ9$VW2By-gAwv-k-DKK8PKQ$-N{I24m7O=PYbE=B-<|(NKlSN zvYC?tv{5(}hc+%wb8u!EI=DC`!08o>u6T6t;1a+sM5hQ{@$ke?JH>M@8O}=3Aw!1( z-z3rBsuny+3l~(l@ECfe=uJR>BF-m8`{cMRN56_Wr)4}^`dliyGT_N%`kqGL26XGu zn??6;j$Tnk{c3pS7*N2UL=Px&Rf&KagHJ>QS~{S?kOntaVQ>v@u0?P)LTeF9#%K!0 z);;_&4R_Npna23j>5*q~M~`p@-D^UB0WMjXYg_5j9A?}U^H~tu$xIf-hDz|$?xl&h zVq>KkJAlw3X6!IMQ$o*vieM#1st~HhgcY}KxN{Vv^|7fIX6nnOa5d)YG24v!FEHJT zS!eA2S^V}LX1g%g9h*OogZQd7@HIva4&>uUZTg?QT8tZfND3d6gQisHn52 zRCf2+0^cUtaqIrYo$ePt(|s~r)|5W~ywdn_uID2C3ngE_tuZBk#%;D=Dxz%1|K6gj z=R9e)uYO#j@vcz)@!Fnp7VihOv#^jIdEIZWqMj2+evWq(M`~WNir@^!_%t qkE1T}vTO=}p^q(bnUvZ?!^Fpy?lJmG#KS@EM|@S8cpr;JHvJ1$jidMg literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/regular_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/regular_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2649b78af3e4e11df8026e70531a9e0c81b117 GIT binary patch literal 1084 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/shades_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/shades_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d93474c32aa7d066bde566fdd746483f5dd0aea GIT binary patch literal 1231 zcmd^;{ZrBh9Du*Rqo#-COCgz}9k}mLE)5)f;Ya`Ll)G~LSHB&!Zf5)C5p5LDzp2OUDlq&K;e2`ZN zauAKC(kU^FC~6EE!$9ebkLXO4!J;zbqFL-{_MxbxqvWJxlsGoZj;FEMA0{6o%TK*u zm=T&Oj?5C$awXx4%*YG!=<_+~`CNJmpLvoWo01ZDQos^^&K3&eMW;DwX&iC-QIR-7 zB2AEHCKY6H#8STW+;K&ryhDa)FF95gMwBTcM~j^Xl)=+C+*cZKOW)!_Wd|*G(E6X9 zpv?i)j?jXER@aSAH|W4Xw=4YM3cYUgE!fp|EVSdG0}r=-x4ZViPdK=<8?;_9;=Q0f zuyV(LM-#BqAF!75=;lfTp0Wjx;+-NHbYsPiCUkbtj|*5&j>K1 zU^xg@3OtFfE=pBaoKRNqm0t=PYSS8T3LEQ1b@h^_`qOQV8O`5hshZEIROzag4DIc7 zZP!_?CR24QZ+j>fMiOC^XX=rd`ZJ6JXN`k0(~!(Kn!TmxJ)Qbw=TWN3kZ-z|Z@OP# zG!||>5W~Z?t(iQSQEbo4wyhUnsu-p#VXhp^Rq$Ii{C@4t<5F0-28;DzRc)=d!*VxR z`(R-Jo(#dtAgq~TeHJzz!K-=LT!Ni9u(O5yKM458-UdPXkdU{zZ=Yad07-WyaC(~b z#qGozwb_Z+iral^Sj{Z?wJ}D?<1s1WUn}=>stHduaphdE(Ban>y`joe;2YW?J5+{IC3Z}B%e=xIb zn$z5+PB6(`ygN^Pw<}q?==*{CfQsBq?YpsSZ>WSb(%E5arg+*0ZmfEUnB2cewoEl6 z+2YJk#MpYMSd~0~#Ac6Bx4-m7FekuXPMqZVT%5#^z9Qpn9aB literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/shades_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/shades_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..fdaa28b786cef4fdbd48a3f1fbf7c7aafc456d97 GIT binary patch literal 1204 zcmV;l1WWsgP)O_$|bO}9oX#bzD? z1cc;fz$uc@1Tu?2Nt-RX2#Mxgo0W3jPrv7V&(VX*W^MiP-QM?kzrWA(Jip)b{9c!? z{y$v)FAezt@DN3dvPI>h9=pozW9pm7zlKXtESjyC^L6m!TTs6QO1urJXEmn2DUW#X z3NFU6qCBpghC}nf8UP)caG?zT7S6Rk=&ym(0{dr44kf zXW(KHwyw=+XIH{WGqj6-PJ(XnTs;e27AT&m=`kwymI<8Ud7RvVRyBp|=ibz8ooTYd zS#W9wv`vTB$Kk{@I6eiM9~H@aPcHn~DLb5xidBr;;Cha){6zmAFKtssG?7vBh=??i zneIzp8|eFZlBO8WH84(vHqhHwXeKzs zOk(mPcI{4KS8fW)s}~X!96-1A2?PA?Wcq5SiZ6h~Rng*0*1gGV;s^?PmhOB>o3I?G z$VER=-PLS(VJ0bS7SYs{MZw-wT}@4ytVxe0J=vG)4`xuEGo5uQvkl*|%$vS%#P{+t zG7_Y~!ct5JJe$_7goc~2SXN`LNN2~EmAb4IX;|`7nQJx?800T2_9H0NjAh?TSWDO5 z^p&i}^67f!hX$fpis^ut^W|c~Bh7r0yNagzSJ?A@k}mbUH#d>MU^9O;Ji@iZ-h_#7 z??(wV)ui3@Rj*~=?hHaA1THMabijKkp2X%2CK3{&Xtt))d~B1Ux-^oKqIvCA$z|gt zXn4@@y%A)bbzhb) z_9r&RpKY1GT<-9PqYue;C&;ZFuTOGC#O#z)fOZ9wbphuU%QxtB3f$4uz7`%XTEtuYu|T^Kscsi4txRYIYg z0ddGWp0*D?xLD+AKx+hgNIFEdCsz-Qp)=3ZSWuZel)5v}umr6{QleN+M^P@(^6{BK@YPt3aq-qp!xeY3PB~VsW;A#}R$W3Fvt498CW85;#@F=f}k=VQa z%`KC{^y`&ZM@yYubvcyOvl>(1lt;Y()e5EkM=kneMl8{Y(*&Xdix=zRUZP!^Sxr3T8vcT~$o+Co#{RP(N>%i&Mj0vv6D zzg?k22N}A^(2c@X3Utz-I{>cI-Mw`9F$nsC;ASwWLhM}(M;~kLItD$V(943}NVv}N z{S@s`aU4HK|31KWXRpGkJ@jXu;0vH9{3P$ zXE`*V5_hG1OXz8?n^7V=IT{dRS?3o34Si9qb)mR}Vbx1N#6h4|-SB z8`j(4(7@`@=HoGsa~jr+TdQ-h_5jxBVci0oOW?7?_LH5>r(Vw=zU{w&*a0Ar|MwpX z;M=Glf;1xh=Z@!}NTC5D2#6B)E61cLGw_Sfyi8>k4?$u@;yh}E;Ka2|d!@A_kW{T^KUlDD1Pa@!w+o={LShVfi25`t;l60a!f>7T)VDC{ZanZ zXW7mpEJmDWBpw~+T@E=#^t1CPr0h59yrs?_#RW=IPOG8t8J3xg=f#xeq-9~135Of^ z)FsC;^dU8g8+VJAQw`I6fkK~gi<^RQ(_A6BGh0EeJ&i~>%0TH1IabnLBqCF3hEo5R z7Z?_CD^&QdYk}EQ1!0BQM nSLqg&lireGWl>tn5RD#+GA6>_JupT>h1}y^V*X?}hP?g{8;sL8 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/teeth_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/teeth_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..5e63785e42152e16329c5156f444b06f411f1c00 GIT binary patch literal 1183 zcmV;Q1YrA#P)=u{*lMB(f;3ChP1fr1n8RxV@-_5S4w{Ll{JnkVH?VP|!=1 zfr1Y$WJJ(|m81p{)~-S`n-iPLs*)SxXPued|9t%a_xA9g{g@c7hYlRhy&09{xD8fGE`J)643(KE^ zo;Q!D_2Tn&@JP_Jll<5TzTc$G*wZwrYeL8jC}pdZjU7k{OSeJy`|w@AV*6QvZ}qOZ z8VIG74`q#UYHL`vRZxCEnwbItC`iPoK|%ip4@gPk!VIA3?{P0U?LG*W8!jG!Cx$YJ zrqyY^nAd>KOq>a0jH0|wv~p@bveImo#LyiQ!*?hdCMClnaek7-d7YABfvjb7N~vg4E?M}4E;O#b2LUM+y_FCIXOT`N>pb|i zdz(R3P>y!Asb68uey}Gd8gP!TfehaDP&B}jw0DP?x^VQqV5KakMh?>+^`V>{h`ZMi zEz6;6AOoBO(9(J_k8tc`%OK2HP&K7L;HEHkj9l{AJ;66mzKFw_qP1E!`k7pQq2@0do6@+C$yMqN#FyQ7S z+?j&5Uf4PaOV@n~yq4CBQ;Vps6ng#d`7^&Hx|M|83C;0y%e*?UTJd8_R+}i*E002ovPDHLkV1fcuF z@pzT*({({l*N42=81Z6L?8_}NH&!Lw-&Oy5d%~OTiEno%z1@}i=}`Wc!^K~Y08z=8 zqa|ODReU{ByL`pcRVx;(TCs4=+EtGZbUr@Z_w7`}x6{p^PqltK)AIdX`}gx*KQ8n< zIXd~-$yv`&&;4;};?K*Ie_oyb>-y|p*XRDaG5^Jx1+Oo!{e5%c@7v4%++F$S{@S-U zwqL(>`R1K#_wV2PaPQ#V2e&^yIQHq$sn1W(J$iEg>&t78A3uEd{K@kdPhY=z_3qu9 zUteDR{{H^Qk01a4|7V~*Q2fcl$iNWKpaZfB6ekYs{~O|)np;}in&R}M!Xu*ewI*om znp!((urkhM4eE%SH{X?0V}i6~TzhAfk5Au(by|A5I$CmE(akHPcJ*uN=vml1dpNJt zl#y88-ekui#9?EY@jo8!z9vd!5dd zgO=-sOyc8=Vr@!06Bjslc?h#qFe@BjXw^E!;_3N->%fi<3FW$9Px2QZcly8P#U>_Y z$5uX7x07BUA07~PS~<(aF?~H72g6Jz7msOOT%xmdYM$Qsc#4Hl@1IEKNv18XeezCG zd#VytR<5g>5Ow2*;FA-*bMEO?1a*~8;!|*$q!Cys(8?+}Ph(l=ZZTFyP7h6mFCQu{ hP7vo6<(n69!F;hen_@^yLcom=B67h}^_(mW)&Q&yJ3RmZ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_down.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_down.png new file mode 100644 index 0000000000000000000000000000000000000000..1823481f2f05404a08fcc9357ec930911ff28ca8 GIT binary patch literal 985 zcmV;~119{5P)&g8FSwa4`@0CXJpO@c*)LSW(_eh~ zxvyh;2fD5UkV>Vv-1j}3MvhXu{tooodc3{>9=!%BRfN=VoIDgA?CIYb=|4~Fp|1%v zJ@}?+*(Vm@67c16IdokoVNH^-Ced}B0vfHm4iRqIL10}IRsJASs^u&dAyg1x)NP<~ z>!S>QdXQY|<{Oca@z4TXUD}3}$}LPuK}eOEKgYR#x!ZMg<-^@d+mYDmNXUqqmYs0H zRaFCAGg;1-DoB-@a0}6WuPpkVVu7K)GfZ51tG;2^v6H}lxinEzRW!A78C+LAh=h!F?#dMnA;cP0YbDK9AH_nBUoW1dkk2f}NJV4L8o?iF zZ*;*unrC%U%2h91qImt>z57L1$nXzm$t1_|N7@@)vPdaWq|3GRw7emuO%Xyts`|1h zk1xP{avY#RU3R*H38|FiC=XOfm3+}*;9M6t?tY8D2$9ZLZyk=*TwtVzwR zziwP(ChG-Qzmf(OV5MAnS#P11HpW}yt~j4%K9xlA=m3riq%}>euC6xldQ0zCCX+!S z&o39=r*Z3J1a5Dln4N{}ECs+E>?JW8TPBC%F)+gS(7gAU19S_=aZbhKV~3YLTy5J3 zia)q|Y9GxVPvY~}Ekfc07YN>ag!=8zSN1ps3_o1@&>`7DZ3`oOG-tE35X*E6TjnwI_4N@|MLeio6C;Rj+vpB-*i?CXSEc9djG z&v5O>^W69P#FS~-p_TGi9jIy9v%qs3?th8t$>Bx6x4MSx>?A9@DbZ{|Ub2k|@v#^qQ94zgGM|?gu;u literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_up.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..9cc37029a9dc201ab9e0bd3a7cba4083cf56b874 GIT binary patch literal 714 zcmZ?wbhEHb6lV};_{P9+u!8w;CG){bmP6GXN9%Zw)bSr};6L6dc%nu0c&p6mcFB{S z$|pNjPWNhG=u^HjMfdDP!)wzGZ_GBoFvI@VT+7?@ZLciwySgOw+VZIDE8`w4_jtU@ z_vzZ87aJp9Y>IukCFaJeg!{YdUvE!%vpwKd`*OJW%aP(Q$I8AQuljnT z=G)2oJi*oo@birsezD*6(NAzn|;;e!lDbh3+30 zdY>Gf{Oshc=cniXxHR$Sm8n0kPXBd%_OBcBUz}O+`tsV}Hy8fCz3k83m4EK9eS2g3 z^;?&3-nn-F{=E*IrCpB|n1{Pf(TC-=X;y!QCkrMWMO1rh-c6NSp|v{2loFB@lDMwt!>RA!mJEE3`|1m z8k1yL^kd`VVh!Tr;|#gfG}YBjO|>RY($J0a_m9$@(-z0Dk|VIa*+_7uhMBX2g^uRR z)ltVbw8VMwF!eI?iYW&A8tCd8_-<^oV;5w%+wm|?LTZv4hs%stGvb7a@XARFl0qu&8#;doRc(B5UYKO)& i+9x_2`2^c%N*rutViFJS3B4&2{A`z>(S8;t25SHSpFQOO literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_up.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..d4e8b22a3cc95d0d6e7e2de697e9e7fe910ce9ff GIT binary patch literal 959 zcmV;w13>(VP){U?kWlzfV zL6}8_flmtBt?C|RR2^u$tg zC4YQ!u($L2xo+lu@8$ZrZYBqNp90?4jB>4#Ev6Cr6L+K^CQgt)z8$>=PkfzrV;8jjgV~`Aysczw;3Uur z)Za;uB)Z7`b{1pT9ss;vABpzEjP|`vjq$+IoZ89I)j?d>1;FR?)poQWI3ABTdNiff zA!qu}zR|BwYSzRx3QKD$Ow))aIxt(yEuNhkBQ^X3<82@F{E=h${eA%Q`8<6WzTw5A zFF88UlfHaL3;HFAXI{gjZ(9Kb?tdJlK)Mb}I7rts@DBH^y~?A>7teuS5Pg4i&Bb!KTrlw)fi1k%}ZNX z5B}i2Ws{UxfRfirio3#Hu~d3ng?lntYg!LP`Wm|5;nvmub)HJGh+3`^?%thD|=u6{?gEg?cUvO z2MOta*LZ)HP9K zG!u;NqyE9e%!qo1l0$bkE;`x|5RW&W-w3V&?*p#_=9-@jut)pI&@VyM6!w002ovPDHLkV1lw`)rbH9 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/tongue_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/tongue_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..81e05b0f6adccdc330a951fbc4f7f109da3d2ebc GIT binary patch literal 1210 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..f9714d1b3ba5e9324a1a1663549ba28b45af9638 GIT binary patch literal 1039 zcmV+q1n~QbP)4=F;lf`~OS)ZA#arZuHf*sO8W+|6z`n`}0F?;IcQ-DJ0{X&*drm^%#jcjlb` zoEbH{utX(miPY8s2Y_Cn$9DkB_X*&qxSh>Z1OTcMyd_e56fvKY_%4b)0rmtWC%na` zUWoV}J(NJ{m*RHz%uV4fk=h2}BQlqdGj;-k4zxT9O?^h2u^2I6)$RT1uiWr|B5-pPeQard53H20x$zoFJ*sMRYVK&TyRI-v0hNRGky8$!oh ziaoE!K;2&&pcMW&7e6>IS3kzR??usSUg_MA;O4;JU*I0RkgsxYD?h@P%_N1bz8@#)x1fDOH{OsNwygnCj4WjE%>1j&g z0bqirZn(4tweEUK-=9lkFBaI$BH=0?>DmGU5@ z{=8==Y^~W8&eAgc{udI8BHV`7Tj0oe0u^YD+u6)U`=_Ue8R>=kYJ=8#UC`ncAZ&;# zMKJ{tjRcyEUR~52IS=9X_4d~QaXWj4aQhJZ-hu1Onu24>>+0)Z+;TmPK{;ziFVAWA zy$#{^q0+lumn1nr+sPPv2O(3?YY_+KrDzBk&37Kb~gv z1xQapmG&M9jUWQ9Q5e5m4V`fCG=w|80A7jP*~R~amjpS6IH&mgn+VBC)*ZZ~R`i{Z z*{HzFaXb5ECA}-c{QwQXLqHeM?T-Mz0F(ZB?#8F>mf-(~{R;@jTLnf*B0a2 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/wink_smile.gif b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/wink_smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d3d64bd126a56382452a47faa20e3e0e8185a01 GIT binary patch literal 1202 zcmeH`drwmb07q|2ffgD%3r#Ptv=s!@suUKf%GMUUQ4Mni_oAx}+P+B#W9t zc`384uRy9(c??$YRj7s02u08!1_wiIJA=Vix``y#Y!e&W`&;}H`)lV5oa7{@c-Onq zZ5lqoCsqierJVS&lGb*B-mYa_Js8{b9n*0r)_#aN(#-L+ut&{nMo;tZT9W)0=1i{u z9dxuup(6_2F|fvjPqd%W= zO5ogz>ryzjW9Y4wo9P%!!L2mh5d>~;h)f7^SA;1M?ySSFS(wfY&The64%}jR#Q1#^ zyj!U8yvR(!>ciYu^ZAkaT+B)FI4?4!z>Pf^R#UfkM;<6Ck0Ly(#_VU*{HNhbEgn{^ zdMm^3D!8jLdzf+`iTJb;|M!^IW2Oeb)x%ql`$sWn!~;|K(FN+!`PIh;JTbvZ2Jw6r&+p@f2QTNb;zQ^UP^$n%{Lg<|Konxo2%?@4 zzt+BfLe2yc&q|Y;&59yMVw|$7wrMO{VU|{x(g}TnMdb>`1%8$FIrV-+gD(uoXDH;IDdB|9~>2iP04OUyz2P0L_K z)idKS*;BkVYp-;A4LiO#%h4>iKFzC~Y?11h>b~3?Hbv)ttP6b0tg~@8*T`L_wAR?M z#EfE95~(LtoaW7zd&GDKr*z|n1~#qlRMQDTkx=d8OpIwfjrot4!hSyC|6!7HG{yai$rao}e-0@~E!k<%WdMdG-dz-lMHG mG1sQDXpDj5@2CU?g~HL3TxHM|Rq%J|xf8L;ou9~w9sdH=NT%Qb literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/wink_smile.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/smiley/images/wink_smile.png new file mode 100644 index 0000000000000000000000000000000000000000..7c99c3fc54c753dcfe19ff73e225733a2ad7261e GIT binary patch literal 1114 zcmV-g1f~0lP)kxuNha}UkKykNhbfsO}d(O{?d$--fh(36dZ+^M==6-(X zoZt6%jv5`CWUi4)G)IB8Krhha3n1-l0Qf2E6bo|#05umpm1y3I*bm4ZPvQ)KGXVJk z?_<0d626ifb13~n)+v7eukci&xgB_y!ucJX+zDY9QV&CXHMFh)rQq6WxH<@<-$1nn z>pp_$y@!BZS*JKYC)@+eX?}a>9?tF+vtp-W{%TbD462$zOg@Vw<4vDY)}- z=zQf+)+s(y2TvuMw^A5B%#qdNu6lw7xuBHIfruw-=T2ZPv~7f?`{2tSVbcjkblJA) z8YmHoB4(Jc*C(a5io{}QHv=Z(Y_q2VOiEG z7BsMyOUIIw&mt{hbR`4UGWzFrK0TD-;D;l8|LqvIW|%4)(*0wk`yHmrW;W^hy)gel z2#4X)v7~QdG|)>v4f7h&ZXT=)#xn9(mG#>ev*r0NVvE|CELp}UjK3NfpY&HG0&WS( z9Ds!nK|YP&8-#!!oI!|$!MHOv+OVz_Y#FA?tXL9;N|ly*jU+o-0Jvj*7%CNiy9CD5 zNOC)Bsbr|tEUnQ{z%hOty%H#JAgUTvuGDp?2GYd4p;XZr&thZOgs+a~sg@1X?{1Q< zmxLF9GpLAngLn1>;Fa3Uj~!hJQj1$Seqx-;TnTLOS-@CCM^O_)+z1~a-VNm{7~|>k z7;7KvU|w5pC7-Y2x&lBf)=1A1MJler3KB^o+>X|_!RG!PDzq%?6brNMKQVNe zBfZetXwh0D9*9^J+N03aNX1ozG3a6$MlM3tMMNW^xYbivHJg8iwyxRsuRFMg-rB*L z*P*$|qLrR$|7j_}we{{X)?!4nY9Dm%sXMrIz&X3<+?`>?UMSQw<%(Z}K=Ep(zNj@9 zY=dUyo6xyC1MCV~@y5#{2E5P2uTRqVEKHn+2JKxE8u4eUu>OkLSHk)O(6;#j!}ROrR5Q~c~E$gSXhf_7j7unOq*Bfu$O(2qad gc(wf}`2R8f0lW)%aFGbSlmGw#07*qoM6N<$f??$muK)l5 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt new file mode 100644 index 0000000..1b0d421 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt @@ -0,0 +1,20 @@ +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license + +cs.js Found: 118 Missing: 0 +cy.js Found: 118 Missing: 0 +de.js Found: 118 Missing: 0 +el.js Found: 16 Missing: 102 +eo.js Found: 118 Missing: 0 +et.js Found: 31 Missing: 87 +fa.js Found: 24 Missing: 94 +fi.js Found: 23 Missing: 95 +fr.js Found: 118 Missing: 0 +hr.js Found: 23 Missing: 95 +it.js Found: 118 Missing: 0 +nb.js Found: 118 Missing: 0 +nl.js Found: 118 Missing: 0 +no.js Found: 118 Missing: 0 +tr.js Found: 118 Missing: 0 +ug.js Found: 39 Missing: 79 +zh-cn.js Found: 118 Missing: 0 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/af.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/af.js new file mode 100644 index 0000000..41780d2 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/af.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","af",{euro:"Euroteken",lsquo:"Linker enkelkwotasie",rsquo:"Regter enkelkwotasie",ldquo:"Linker dubbelkwotasie",rdquo:"Regter dubbelkwotasie",ndash:"Kortkoppelteken",mdash:"Langkoppelteken",iexcl:"Omgekeerdeuitroepteken",cent:"Centteken",pound:"Pondteken",curren:"Geldeenheidteken",yen:"Yenteken",brvbar:"Gebreekte balk",sect:"Afdeelingsteken",uml:"Deelteken",copy:"Kopieregteken",ordf:"Vroulikekenteken",laquo:"Linkgeoorienteerde aanhaalingsteken",not:"Verbodeteken", +reg:"Regestrasieteken",macr:"Lengteteken",deg:"Gradeteken",sup2:"Kwadraatteken",sup3:"Kubiekteken",acute:"Akuutaksentteken",micro:"Mikroteken",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ar.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ar.js new file mode 100644 index 0000000..cdd1c90 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ar.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ar",{euro:"رمز اليورو",lsquo:"علامة تنصيص فردية علي اليسار",rsquo:"علامة تنصيص فردية علي اليمين",ldquo:"علامة تنصيص مزدوجة علي اليسار",rdquo:"علامة تنصيص مزدوجة علي اليمين",ndash:"En dash",mdash:"Em dash",iexcl:"علامة تعجب مقلوبة",cent:"رمز السنت",pound:"رمز الاسترليني",curren:"رمز العملة",yen:"رمز الين",brvbar:"شريط مقطوع",sect:"رمز القسم",uml:"Diaeresis",copy:"علامة حقوق الطبع",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"ليست علامة",reg:"علامة مسجّلة",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"علامة الإستفهام غير صحيحة",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/bg.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/bg.js new file mode 100644 index 0000000..3406b35 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/bg.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","bg",{euro:"Евро знак",lsquo:"Лява маркировка за цитат",rsquo:"Дясна маркировка за цитат",ldquo:"Лява двойна кавичка за цитат",rdquo:"Дясна двойна кавичка за цитат",ndash:"\\\\",mdash:"/",iexcl:"Обърната питанка",cent:"Знак за цент",pound:"Знак за паунд",curren:"Валутен знак",yen:"Знак за йена",brvbar:"Прекъсната линия",sect:"Знак за секция",uml:"Diaeresis",copy:"Знак за Copyright",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ca.js new file mode 100644 index 0000000..a872189 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ca.js @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ca",{euro:"Símbol d'euro",lsquo:"Signe de cometa simple esquerra",rsquo:"Signe de cometa simple dreta",ldquo:"Signe de cometa doble esquerra",rdquo:"Signe de cometa doble dreta",ndash:"Guió",mdash:"Guió baix",iexcl:"Signe d'exclamació inversa",cent:"Símbol de percentatge",pound:"Símbol de lliura",curren:"Símbol de moneda",yen:"Símbol de Yen",brvbar:"Barra trencada",sect:"Símbol de secció",uml:"Dièresi",copy:"Símbol de Copyright",ordf:"Indicador ordinal femení", +laquo:"Signe de cometes angulars esquerra",not:"Símbol de negació",reg:"Símbol registrat",macr:"Macron",deg:"Símbol de grau",sup2:"Superíndex dos",sup3:"Superíndex tres",acute:"Accent agut",micro:"Símbol de micro",para:"Símbol de calderó",middot:"Punt volat",cedil:"Ce trencada",sup1:"Superíndex u",ordm:"Indicador ordinal masculí",raquo:"Signe de cometes angulars dreta",frac14:"Fracció vulgar un quart",frac12:"Fracció vulgar una meitat",frac34:"Fracció vulgar tres quarts",iquest:"Símbol d'interrogació invertit", +Agrave:"Lletra majúscula llatina A amb accent greu",Aacute:"Lletra majúscula llatina A amb accent agut",Acirc:"Lletra majúscula llatina A amb circumflex",Atilde:"Lletra majúscula llatina A amb titlla",Auml:"Lletra majúscula llatina A amb dièresi",Aring:"Lletra majúscula llatina A amb anell superior",AElig:"Lletra majúscula llatina Æ",Ccedil:"Lletra majúscula llatina C amb ce trencada",Egrave:"Lletra majúscula llatina E amb accent greu",Eacute:"Lletra majúscula llatina E amb accent agut",Ecirc:"Lletra majúscula llatina E amb circumflex", +Euml:"Lletra majúscula llatina E amb dièresi",Igrave:"Lletra majúscula llatina I amb accent greu",Iacute:"Lletra majúscula llatina I amb accent agut",Icirc:"Lletra majúscula llatina I amb circumflex",Iuml:"Lletra majúscula llatina I amb dièresi",ETH:"Lletra majúscula llatina Eth",Ntilde:"Lletra majúscula llatina N amb titlla",Ograve:"Lletra majúscula llatina O amb accent greu",Oacute:"Lletra majúscula llatina O amb accent agut",Ocirc:"Lletra majúscula llatina O amb circumflex",Otilde:"Lletra majúscula llatina O amb titlla", +Ouml:"Lletra majúscula llatina O amb dièresi",times:"Símbol de multiplicació",Oslash:"Lletra majúscula llatina O amb barra",Ugrave:"Lletra majúscula llatina U amb accent greu",Uacute:"Lletra majúscula llatina U amb accent agut",Ucirc:"Lletra majúscula llatina U amb circumflex",Uuml:"Lletra majúscula llatina U amb dièresi",Yacute:"Lletra majúscula llatina Y amb accent agut",THORN:"Lletra majúscula llatina Thorn",szlig:"Lletra minúscula llatina sharp s",agrave:"Lletra minúscula llatina a amb accent greu", +aacute:"Lletra minúscula llatina a amb accent agut",acirc:"Lletra minúscula llatina a amb circumflex",atilde:"Lletra minúscula llatina a amb titlla",auml:"Lletra minúscula llatina a amb dièresi",aring:"Lletra minúscula llatina a amb anell superior",aelig:"Lletra minúscula llatina æ",ccedil:"Lletra minúscula llatina c amb ce trencada",egrave:"Lletra minúscula llatina e amb accent greu",eacute:"Lletra minúscula llatina e amb accent agut",ecirc:"Lletra minúscula llatina e amb circumflex",euml:"Lletra minúscula llatina e amb dièresi", +igrave:"Lletra minúscula llatina i amb accent greu",iacute:"Lletra minúscula llatina i amb accent agut",icirc:"Lletra minúscula llatina i amb circumflex",iuml:"Lletra minúscula llatina i amb dièresi",eth:"Lletra minúscula llatina eth",ntilde:"Lletra minúscula llatina n amb titlla",ograve:"Lletra minúscula llatina o amb accent greu",oacute:"Lletra minúscula llatina o amb accent agut",ocirc:"Lletra minúscula llatina o amb circumflex",otilde:"Lletra minúscula llatina o amb titlla",ouml:"Lletra minúscula llatina o amb dièresi", +divide:"Símbol de divisió",oslash:"Lletra minúscula llatina o amb barra",ugrave:"Lletra minúscula llatina u amb accent greu",uacute:"Lletra minúscula llatina u amb accent agut",ucirc:"Lletra minúscula llatina u amb circumflex",uuml:"Lletra minúscula llatina u amb dièresi",yacute:"Lletra minúscula llatina y amb accent agut",thorn:"Lletra minúscula llatina thorn",yuml:"Lletra minúscula llatina y amb dièresi",OElig:"Lligadura majúscula llatina OE",oelig:"Lligadura minúscula llatina oe",372:"Lletra majúscula llatina W amb circumflex", +374:"Lletra majúscula llatina Y amb circumflex",373:"Lletra minúscula llatina w amb circumflex",375:"Lletra minúscula llatina y amb circumflex",sbquo:"Signe de cita simple baixa-9",8219:"Signe de cita simple alta-invertida-9",bdquo:"Signe de cita doble baixa-9",hellip:"Punts suspensius",trade:"Símbol de marca registrada",9658:"Punter negre apuntant cap a la dreta",bull:"Vinyeta",rarr:"Fletxa cap a la dreta",rArr:"Doble fletxa cap a la dreta",hArr:"Doble fletxa esquerra dreta",diams:"Vestit negre diamant", +asymp:"Gairebé igual a"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cs.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cs.js new file mode 100644 index 0000000..1d98c29 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cs.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","cs",{euro:"Znak eura",lsquo:"Počáteční uvozovka jednoduchá",rsquo:"Koncová uvozovka jednoduchá",ldquo:"Počáteční uvozovka dvojitá",rdquo:"Koncová uvozovka dvojitá",ndash:"En pomlčka",mdash:"Em pomlčka",iexcl:"Obrácený vykřičník",cent:"Znak centu",pound:"Znak libry",curren:"Znak měny",yen:"Znak jenu",brvbar:"Přerušená svislá čára",sect:"Znak oddílu",uml:"Přehláska",copy:"Znak copyrightu",ordf:"Ženský indikátor rodu",laquo:"Znak dvojitých lomených uvozovek vlevo", +not:"Logistický zápor",reg:"Znak registrace",macr:"Pomlčka nad",deg:"Znak stupně",sup2:"Dvojka jako horní index",sup3:"Trojka jako horní index",acute:"Čárka nad vpravo",micro:"Znak mikro",para:"Znak odstavce",middot:"Tečka uprostřed",cedil:"Ocásek vlevo",sup1:"Jednička jako horní index",ordm:"Mužský indikátor rodu",raquo:"Znak dvojitých lomených uvozovek vpravo",frac14:"Obyčejný zlomek jedna čtvrtina",frac12:"Obyčejný zlomek jedna polovina",frac34:"Obyčejný zlomek tři čtvrtiny",iquest:"Znak obráceného otazníku", +Agrave:"Velké písmeno latinky A s čárkou nad vlevo",Aacute:"Velké písmeno latinky A s čárkou nad vpravo",Acirc:"Velké písmeno latinky A s vokáněm",Atilde:"Velké písmeno latinky A s tildou",Auml:"Velké písmeno latinky A s dvěma tečkami",Aring:"Velké písmeno latinky A s kroužkem nad",AElig:"Velké písmeno latinky Ae",Ccedil:"Velké písmeno latinky C s ocáskem vlevo",Egrave:"Velké písmeno latinky E s čárkou nad vlevo",Eacute:"Velké písmeno latinky E s čárkou nad vpravo",Ecirc:"Velké písmeno latinky E s vokáněm", +Euml:"Velké písmeno latinky E s dvěma tečkami",Igrave:"Velké písmeno latinky I s čárkou nad vlevo",Iacute:"Velké písmeno latinky I s čárkou nad vpravo",Icirc:"Velké písmeno latinky I s vokáněm",Iuml:"Velké písmeno latinky I s dvěma tečkami",ETH:"Velké písmeno latinky Eth",Ntilde:"Velké písmeno latinky N s tildou",Ograve:"Velké písmeno latinky O s čárkou nad vlevo",Oacute:"Velké písmeno latinky O s čárkou nad vpravo",Ocirc:"Velké písmeno latinky O s vokáněm",Otilde:"Velké písmeno latinky O s tildou", +Ouml:"Velké písmeno latinky O s dvěma tečkami",times:"Znak násobení",Oslash:"Velké písmeno latinky O přeškrtnuté",Ugrave:"Velké písmeno latinky U s čárkou nad vlevo",Uacute:"Velké písmeno latinky U s čárkou nad vpravo",Ucirc:"Velké písmeno latinky U s vokáněm",Uuml:"Velké písmeno latinky U s dvěma tečkami",Yacute:"Velké písmeno latinky Y s čárkou nad vpravo",THORN:"Velké písmeno latinky Thorn",szlig:"Malé písmeno latinky ostré s",agrave:"Malé písmeno latinky a s čárkou nad vlevo",aacute:"Malé písmeno latinky a s čárkou nad vpravo", +acirc:"Malé písmeno latinky a s vokáněm",atilde:"Malé písmeno latinky a s tildou",auml:"Malé písmeno latinky a s dvěma tečkami",aring:"Malé písmeno latinky a s kroužkem nad",aelig:"Malé písmeno latinky ae",ccedil:"Malé písmeno latinky c s ocáskem vlevo",egrave:"Malé písmeno latinky e s čárkou nad vlevo",eacute:"Malé písmeno latinky e s čárkou nad vpravo",ecirc:"Malé písmeno latinky e s vokáněm",euml:"Malé písmeno latinky e s dvěma tečkami",igrave:"Malé písmeno latinky i s čárkou nad vlevo",iacute:"Malé písmeno latinky i s čárkou nad vpravo", +icirc:"Malé písmeno latinky i s vokáněm",iuml:"Malé písmeno latinky i s dvěma tečkami",eth:"Malé písmeno latinky eth",ntilde:"Malé písmeno latinky n s tildou",ograve:"Malé písmeno latinky o s čárkou nad vlevo",oacute:"Malé písmeno latinky o s čárkou nad vpravo",ocirc:"Malé písmeno latinky o s vokáněm",otilde:"Malé písmeno latinky o s tildou",ouml:"Malé písmeno latinky o s dvěma tečkami",divide:"Znak dělení",oslash:"Malé písmeno latinky o přeškrtnuté",ugrave:"Malé písmeno latinky u s čárkou nad vlevo", +uacute:"Malé písmeno latinky u s čárkou nad vpravo",ucirc:"Malé písmeno latinky u s vokáněm",uuml:"Malé písmeno latinky u s dvěma tečkami",yacute:"Malé písmeno latinky y s čárkou nad vpravo",thorn:"Malé písmeno latinky thorn",yuml:"Malé písmeno latinky y s dvěma tečkami",OElig:"Velká ligatura latinky OE",oelig:"Malá ligatura latinky OE",372:"Velké písmeno latinky W s vokáněm",374:"Velké písmeno latinky Y s vokáněm",373:"Malé písmeno latinky w s vokáněm",375:"Malé písmeno latinky y s vokáněm",sbquo:"Dolní 9 uvozovka jednoduchá", +8219:"Horní obrácená 9 uvozovka jednoduchá",bdquo:"Dolní 9 uvozovka dvojitá",hellip:"Trojtečkový úvod",trade:"Obchodní značka",9658:"Černý ukazatel směřující vpravo",bull:"Kolečko",rarr:"Šipka vpravo",rArr:"Dvojitá šipka vpravo",hArr:"Dvojitá šipka vlevo a vpravo",diams:"Černé piky",asymp:"Téměř se rovná"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cy.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cy.js new file mode 100644 index 0000000..1ceb05b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/cy.js @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","cy",{euro:"Arwydd yr Ewro",lsquo:"Dyfynnod chwith unigol",rsquo:"Dyfynnod dde unigol",ldquo:"Dyfynnod chwith dwbl",rdquo:"Dyfynnod dde dwbl",ndash:"Cysylltnod en",mdash:"Cysylltnod em",iexcl:"Ebychnod gwrthdro",cent:"Arwydd sent",pound:"Arwydd punt",curren:"Arwydd arian cyfred",yen:"Arwydd yen",brvbar:"Bar toriedig",sect:"Arwydd adran",uml:"Didolnod",copy:"Arwydd hawlfraint",ordf:"Dangosydd benywaidd",laquo:"Dyfynnod dwbl ar ongl i'r chwith",not:"Arwydd Nid", +reg:"Arwydd cofrestredig",macr:"Macron",deg:"Arwydd gradd",sup2:"Dau uwchsgript",sup3:"Tri uwchsgript",acute:"Acen ddyrchafedig",micro:"Arwydd micro",para:"Arwydd pilcrow",middot:"Dot canol",cedil:"Sedila",sup1:"Un uwchsgript",ordm:"Dangosydd gwrywaidd",raquo:"Dyfynnod dwbl ar ongl i'r dde",frac14:"Ffracsiwn cyffredin un cwarter",frac12:"Ffracsiwn cyffredin un hanner",frac34:"Ffracsiwn cyffredin tri chwarter",iquest:"Marc cwestiwn gwrthdroëdig",Agrave:"Priflythyren A Lladinaidd gydag acen ddisgynedig", +Aacute:"Priflythyren A Lladinaidd gydag acen ddyrchafedig",Acirc:"Priflythyren A Lladinaidd gydag acen grom",Atilde:"Priflythyren A Lladinaidd gyda thild",Auml:"Priflythyren A Lladinaidd gyda didolnod",Aring:"Priflythyren A Lladinaidd gyda chylch uwchben",AElig:"Priflythyren Æ Lladinaidd",Ccedil:"Priflythyren C Lladinaidd gyda sedila",Egrave:"Priflythyren E Lladinaidd gydag acen ddisgynedig",Eacute:"Priflythyren E Lladinaidd gydag acen ddyrchafedig",Ecirc:"Priflythyren E Lladinaidd gydag acen grom", +Euml:"Priflythyren E Lladinaidd gyda didolnod",Igrave:"Priflythyren I Lladinaidd gydag acen ddisgynedig",Iacute:"Priflythyren I Lladinaidd gydag acen ddyrchafedig",Icirc:"Priflythyren I Lladinaidd gydag acen grom",Iuml:"Priflythyren I Lladinaidd gyda didolnod",ETH:"Priflythyren Eth",Ntilde:"Priflythyren N Lladinaidd gyda thild",Ograve:"Priflythyren O Lladinaidd gydag acen ddisgynedig",Oacute:"Priflythyren O Lladinaidd gydag acen ddyrchafedig",Ocirc:"Priflythyren O Lladinaidd gydag acen grom",Otilde:"Priflythyren O Lladinaidd gyda thild", +Ouml:"Priflythyren O Lladinaidd gyda didolnod",times:"Arwydd lluosi",Oslash:"Priflythyren O Lladinaidd gyda strôc",Ugrave:"Priflythyren U Lladinaidd gydag acen ddisgynedig",Uacute:"Priflythyren U Lladinaidd gydag acen ddyrchafedig",Ucirc:"Priflythyren U Lladinaidd gydag acen grom",Uuml:"Priflythyren U Lladinaidd gyda didolnod",Yacute:"Priflythyren Y Lladinaidd gydag acen ddyrchafedig",THORN:"Priflythyren Thorn",szlig:"Llythyren s fach Lladinaidd siarp ",agrave:"Llythyren a fach Lladinaidd gydag acen ddisgynedig", +aacute:"Llythyren a fach Lladinaidd gydag acen ddyrchafedig",acirc:"Llythyren a fach Lladinaidd gydag acen grom",atilde:"Llythyren a fach Lladinaidd gyda thild",auml:"Llythyren a fach Lladinaidd gyda didolnod",aring:"Llythyren a fach Lladinaidd gyda chylch uwchben",aelig:"Llythyren æ fach Lladinaidd",ccedil:"Llythyren c fach Lladinaidd gyda sedila",egrave:"Llythyren e fach Lladinaidd gydag acen ddisgynedig",eacute:"Llythyren e fach Lladinaidd gydag acen ddyrchafedig",ecirc:"Llythyren e fach Lladinaidd gydag acen grom", +euml:"Llythyren e fach Lladinaidd gyda didolnod",igrave:"Llythyren i fach Lladinaidd gydag acen ddisgynedig",iacute:"Llythyren i fach Lladinaidd gydag acen ddyrchafedig",icirc:"Llythyren i fach Lladinaidd gydag acen grom",iuml:"Llythyren i fach Lladinaidd gyda didolnod",eth:"Llythyren eth fach",ntilde:"Llythyren n fach Lladinaidd gyda thild",ograve:"Llythyren o fach Lladinaidd gydag acen ddisgynedig",oacute:"Llythyren o fach Lladinaidd gydag acen ddyrchafedig",ocirc:"Llythyren o fach Lladinaidd gydag acen grom", +otilde:"Llythyren o fach Lladinaidd gyda thild",ouml:"Llythyren o fach Lladinaidd gyda didolnod",divide:"Arwydd rhannu",oslash:"Llythyren o fach Lladinaidd gyda strôc",ugrave:"Llythyren u fach Lladinaidd gydag acen ddisgynedig",uacute:"Llythyren u fach Lladinaidd gydag acen ddyrchafedig",ucirc:"Llythyren u fach Lladinaidd gydag acen grom",uuml:"Llythyren u fach Lladinaidd gyda didolnod",yacute:"Llythyren y fach Lladinaidd gydag acen ddisgynedig",thorn:"Llythyren o fach Lladinaidd gyda strôc",yuml:"Llythyren y fach Lladinaidd gyda didolnod", +OElig:"Priflythyren cwlwm OE Lladinaidd ",oelig:"Priflythyren cwlwm oe Lladinaidd ",372:"Priflythyren W gydag acen grom",374:"Priflythyren Y gydag acen grom",373:"Llythyren w fach gydag acen grom",375:"Llythyren y fach gydag acen grom",sbquo:"Dyfynnod sengl 9-isel",8219:"Dyfynnod sengl 9-uchel cildro",bdquo:"Dyfynnod dwbl 9-isel",hellip:"Coll geiriau llorweddol",trade:"Arwydd marc masnachol",9658:"Pwyntydd du i'r dde",bull:"Bwled",rarr:"Saeth i'r dde",rArr:"Saeth ddwbl i'r dde",hArr:"Saeth ddwbl i'r chwith", +diams:"Siwt diemwnt du",asymp:"Bron yn hafal iddo"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/da.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/da.js new file mode 100644 index 0000000..7b26e4c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/da.js @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","da",{euro:"Euro-tegn",lsquo:"Venstre enkelt anførselstegn",rsquo:"Højre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Højre dobbelt anførselstegn",ndash:"Bindestreg",mdash:"Tankestreg",iexcl:"Omvendt udråbstegn",cent:"Cent-tegn",pound:"Pund-tegn",curren:"Kurs-tegn",yen:"Yen-tegn",brvbar:"Brudt streg",sect:"Paragraftegn",uml:"Umlaut",copy:"Copyright-tegn",ordf:"Feminin ordinal indikator",laquo:"Venstre dobbel citations-vinkel",not:"Negation", +reg:"Registreret varemærke tegn",macr:"Macron",deg:"Grad-tegn",sup2:"Superscript to",sup3:"Superscript tre",acute:"Prim-tegn",micro:"Mikro-tegn",para:"Pilcrow-tegn",middot:"Punkt-tegn",cedil:"Cedille",sup1:"Superscript et",ordm:"Maskulin ordinal indikator",raquo:"Højre dobbel citations-vinkel",frac14:"En fjerdedel",frac12:"En halv",frac34:"En tredjedel",iquest:"Omvendt udråbstegn",Agrave:"Stort A med accent grave",Aacute:"Stort A med accent aigu",Acirc:"Stort A med cirkumfleks",Atilde:"Stort A med tilde", +Auml:"Stort A med umlaut",Aring:"Stort Å",AElig:"Stort Æ",Ccedil:"Stort C med cedille",Egrave:"Stort E med accent grave",Eacute:"Stort E med accent aigu",Ecirc:"Stort E med cirkumfleks",Euml:"Stort E med umlaut",Igrave:"Stort I med accent grave",Iacute:"Stort I med accent aigu",Icirc:"Stort I med cirkumfleks",Iuml:"Stort I med umlaut",ETH:"Stort Ð (edd)",Ntilde:"Stort N med tilde",Ograve:"Stort O med accent grave",Oacute:"Stort O med accent aigu",Ocirc:"Stort O med cirkumfleks",Otilde:"Stort O med tilde", +Ouml:"Stort O med umlaut",times:"Gange-tegn",Oslash:"Stort Ø",Ugrave:"Stort U med accent grave",Uacute:"Stort U med accent aigu",Ucirc:"Stort U med cirkumfleks",Uuml:"Stort U med umlaut",Yacute:"Stort Y med accent aigu",THORN:"Stort Thorn",szlig:"Lille eszett",agrave:"Lille a med accent grave",aacute:"Lille a med accent aigu",acirc:"Lille a med cirkumfleks",atilde:"Lille a med tilde",auml:"Lille a med umlaut",aring:"Lilla å",aelig:"Lille æ",ccedil:"Lille c med cedille",egrave:"Lille e med accent grave", +eacute:"Lille e med accent aigu",ecirc:"Lille e med cirkumfleks",euml:"Lille e med umlaut",igrave:"Lille i med accent grave",iacute:"Lille i med accent aigu",icirc:"Lille i med cirkumfleks",iuml:"Lille i med umlaut",eth:"Lille ð (edd)",ntilde:"Lille n med tilde",ograve:"Lille o med accent grave",oacute:"Lille o med accent aigu",ocirc:"Lille o med cirkumfleks",otilde:"Lille o med tilde",ouml:"Lille o med umlaut",divide:"Divisions-tegn",oslash:"Lille ø",ugrave:"Lille u med accent grave",uacute:"Lille u med accent aigu", +ucirc:"Lille u med cirkumfleks",uuml:"Lille u med umlaut",yacute:"Lille y med accent aigu",thorn:"Lille thorn",yuml:"Lille y med umlaut",OElig:"Stort Æ",oelig:"Lille æ",372:"Stort W med cirkumfleks",374:"Stort Y med cirkumfleks",373:"Lille w med cirkumfleks",375:"Lille y med cirkumfleks",sbquo:"Lavt enkelt 9-komma citationstegn",8219:"Højt enkelt 9-komma citationstegn",bdquo:"Dobbelt 9-komma citationstegn",hellip:"Tre horizontale prikker",trade:"Varemærke-tegn",9658:"Sort højre pil",bull:"Punkt", +rarr:"Højre pil",rArr:"Højre dobbelt pil",hArr:"Venstre højre dobbelt pil",diams:"Sort diamant",asymp:"Næsten lig med"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de-ch.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de-ch.js new file mode 100644 index 0000000..60673f0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de-ch.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","de-ch",{euro:"Euro Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", +not:"Not-Zeichen",reg:"Registriert-Zeichen",macr:"Längezeichen",deg:"Grad-Zeichen",sup2:"Hoch 2",sup3:"Hoch 3",acute:"Akzentzeichen ",micro:"Mikro-Zeichen",para:"Pilcrow-Zeichen",middot:"Mittelpunkt",cedil:"Cedilla",sup1:"Hoch 1",ordm:"Männliche Ordnungszahl Anzeige",raquo:"Nach rechts zeigenden Doppel-Winkel Anführungszeichen",frac14:"ein Viertel",frac12:"Hälfte",frac34:"Dreiviertel",iquest:"Umgekehrtes Fragezeichen",Agrave:"Lateinischer Buchstabe A mit AkzentGrave",Aacute:"Lateinischer Buchstabe A mit Akutakzent", +Acirc:"Lateinischer Buchstabe A mit Zirkumflex",Atilde:"Lateinischer Buchstabe A mit Tilde",Auml:"Lateinischer Buchstabe A mit Trema",Aring:"Lateinischer Buchstabe A mit Ring oben",AElig:"Lateinischer Buchstabe Æ",Ccedil:"Lateinischer Buchstabe C mit Cedille",Egrave:"Lateinischer Buchstabe E mit AkzentGrave",Eacute:"Lateinischer Buchstabe E mit Akutakzent",Ecirc:"Lateinischer Buchstabe E mit Zirkumflex",Euml:"Lateinischer Buchstabe E Trema",Igrave:"Lateinischer Buchstabe I mit AkzentGrave",Iacute:"Lateinischer Buchstabe I mit Akutakzent", +Icirc:"Lateinischer Buchstabe I mit Zirkumflex",Iuml:"Lateinischer Buchstabe I mit Trema",ETH:"Lateinischer Buchstabe Eth",Ntilde:"Lateinischer Buchstabe N mit Tilde",Ograve:"Lateinischer Buchstabe O mit AkzentGrave",Oacute:"Lateinischer Buchstabe O mit Akutakzent",Ocirc:"Lateinischer Buchstabe O mit Zirkumflex",Otilde:"Lateinischer Buchstabe O mit Tilde",Ouml:"Lateinischer Buchstabe O mit Trema",times:"Multiplikation",Oslash:"Lateinischer Buchstabe O durchgestrichen",Ugrave:"Lateinischer Buchstabe U mit Akzentgrave", +Uacute:"Lateinischer Buchstabe U mit Akutakzent",Ucirc:"Lateinischer Buchstabe U mit Zirkumflex",Uuml:"Lateinischer Buchstabe a mit Trema",Yacute:"Lateinischer Buchstabe a mit Akzent",THORN:"Lateinischer Buchstabe mit Dorn",szlig:"Kleiner lateinischer Buchstabe scharfe s",agrave:"Kleiner lateinischer Buchstabe a mit Accent grave",aacute:"Kleiner lateinischer Buchstabe a mit Akut",acirc:"Lateinischer Buchstabe a mit Zirkumflex",atilde:"Lateinischer Buchstabe a mit Tilde",auml:"Kleiner lateinischer Buchstabe a mit Trema", +aring:"Kleiner lateinischer Buchstabe a mit Ring oben",aelig:"Lateinischer Buchstabe æ",ccedil:"Kleiner lateinischer Buchstabe c mit Cedille",egrave:"Kleiner lateinischer Buchstabe e mit Accent grave",eacute:"Kleiner lateinischer Buchstabe e mit Akut",ecirc:"Kleiner lateinischer Buchstabe e mit Zirkumflex",euml:"Kleiner lateinischer Buchstabe e mit Trema",igrave:"Kleiner lateinischer Buchstabe i mit AkzentGrave",iacute:"Kleiner lateinischer Buchstabe i mit Akzent",icirc:"Kleiner lateinischer Buchstabe i mit Zirkumflex", +iuml:"Kleiner lateinischer Buchstabe i mit Trema",eth:"Kleiner lateinischer Buchstabe eth",ntilde:"Kleiner lateinischer Buchstabe n mit Tilde",ograve:"Kleiner lateinischer Buchstabe o mit Accent grave",oacute:"Kleiner lateinischer Buchstabe o mit Akzent",ocirc:"Kleiner lateinischer Buchstabe o mit Zirkumflex",otilde:"Lateinischer Buchstabe i mit Tilde",ouml:"Kleiner lateinischer Buchstabe o mit Trema",divide:"Divisionszeichen",oslash:"Kleiner lateinischer Buchstabe o durchgestrichen",ugrave:"Kleiner lateinischer Buchstabe u mit Accent grave", +uacute:"Kleiner lateinischer Buchstabe u mit Akut",ucirc:"Kleiner lateinischer Buchstabe u mit Zirkumflex",uuml:"Kleiner lateinischer Buchstabe u mit Trema",yacute:"Kleiner lateinischer Buchstabe y mit Akut",thorn:"Kleiner lateinischer Buchstabe Dorn",yuml:"Kleiner lateinischer Buchstabe y mit Trema",OElig:"Lateinischer Buchstabe Ligatur OE",oelig:"Kleiner lateinischer Buchstabe Ligatur OE",372:"Lateinischer Buchstabe W mit Zirkumflex",374:"Lateinischer Buchstabe Y mit Zirkumflex",373:"Kleiner lateinischer Buchstabe w mit Zirkumflex", +375:"Kleiner lateinischer Buchstabe y mit Zirkumflex",sbquo:"Tiefergestelltes Komma",8219:"Rumgedrehtes Komma",bdquo:"Doppeltes Anführungszeichen unten",hellip:"horizontale Auslassungspunkte",trade:"Handelszeichen",9658:"Dreickspfeil rechts",bull:"Bullet",rarr:"Pfeil rechts",rArr:"Doppelpfeil rechts",hArr:"Doppelpfeil links",diams:"Karo",asymp:"Ungefähr"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de.js new file mode 100644 index 0000000..2f67f0c --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/de.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","de",{euro:"Euro Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", +not:"Not-Zeichen",reg:"Registriert-Zeichen",macr:"Längezeichen",deg:"Grad-Zeichen",sup2:"Hoch 2",sup3:"Hoch 3",acute:"Akzentzeichen ",micro:"Mikro-Zeichen",para:"Pilcrow-Zeichen",middot:"Mittelpunkt",cedil:"Cedilla",sup1:"Hoch 1",ordm:"Männliche Ordnungszahl Anzeige",raquo:"Nach rechts zeigenden Doppel-Winkel Anführungszeichen",frac14:"ein Viertel",frac12:"Hälfte",frac34:"Dreiviertel",iquest:"Umgekehrtes Fragezeichen",Agrave:"Lateinischer Buchstabe A mit AkzentGrave",Aacute:"Lateinischer Buchstabe A mit Akutakzent", +Acirc:"Lateinischer Buchstabe A mit Zirkumflex",Atilde:"Lateinischer Buchstabe A mit Tilde",Auml:"Lateinischer Buchstabe A mit Trema",Aring:"Lateinischer Buchstabe A mit Ring oben",AElig:"Lateinischer Buchstabe Æ",Ccedil:"Lateinischer Buchstabe C mit Cedille",Egrave:"Lateinischer Buchstabe E mit AkzentGrave",Eacute:"Lateinischer Buchstabe E mit Akutakzent",Ecirc:"Lateinischer Buchstabe E mit Zirkumflex",Euml:"Lateinischer Buchstabe E Trema",Igrave:"Lateinischer Buchstabe I mit AkzentGrave",Iacute:"Lateinischer Buchstabe I mit Akutakzent", +Icirc:"Lateinischer Buchstabe I mit Zirkumflex",Iuml:"Lateinischer Buchstabe I mit Trema",ETH:"Lateinischer Buchstabe Eth",Ntilde:"Lateinischer Buchstabe N mit Tilde",Ograve:"Lateinischer Buchstabe O mit AkzentGrave",Oacute:"Lateinischer Buchstabe O mit Akutakzent",Ocirc:"Lateinischer Buchstabe O mit Zirkumflex",Otilde:"Lateinischer Buchstabe O mit Tilde",Ouml:"Lateinischer Buchstabe O mit Trema",times:"Multiplikation",Oslash:"Lateinischer Buchstabe O durchgestrichen",Ugrave:"Lateinischer Buchstabe U mit Akzentgrave", +Uacute:"Lateinischer Buchstabe U mit Akutakzent",Ucirc:"Lateinischer Buchstabe U mit Zirkumflex",Uuml:"Lateinischer Buchstabe a mit Trema",Yacute:"Lateinischer Buchstabe a mit Akzent",THORN:"Lateinischer Buchstabe mit Dorn",szlig:"Kleiner lateinischer Buchstabe scharfe s",agrave:"Kleiner lateinischer Buchstabe a mit Accent grave",aacute:"Kleiner lateinischer Buchstabe a mit Akut",acirc:"Lateinischer Buchstabe a mit Zirkumflex",atilde:"Lateinischer Buchstabe a mit Tilde",auml:"Kleiner lateinischer Buchstabe a mit Trema", +aring:"Kleiner lateinischer Buchstabe a mit Ring oben",aelig:"Lateinischer Buchstabe æ",ccedil:"Kleiner lateinischer Buchstabe c mit Cedille",egrave:"Kleiner lateinischer Buchstabe e mit Accent grave",eacute:"Kleiner lateinischer Buchstabe e mit Akut",ecirc:"Kleiner lateinischer Buchstabe e mit Zirkumflex",euml:"Kleiner lateinischer Buchstabe e mit Trema",igrave:"Kleiner lateinischer Buchstabe i mit AkzentGrave",iacute:"Kleiner lateinischer Buchstabe i mit Akzent",icirc:"Kleiner lateinischer Buchstabe i mit Zirkumflex", +iuml:"Kleiner lateinischer Buchstabe i mit Trema",eth:"Kleiner lateinischer Buchstabe eth",ntilde:"Kleiner lateinischer Buchstabe n mit Tilde",ograve:"Kleiner lateinischer Buchstabe o mit Accent grave",oacute:"Kleiner lateinischer Buchstabe o mit Akzent",ocirc:"Kleiner lateinischer Buchstabe o mit Zirkumflex",otilde:"Lateinischer Buchstabe i mit Tilde",ouml:"Kleiner lateinischer Buchstabe o mit Trema",divide:"Divisionszeichen",oslash:"Kleiner lateinischer Buchstabe o durchgestrichen",ugrave:"Kleiner lateinischer Buchstabe u mit Accent grave", +uacute:"Kleiner lateinischer Buchstabe u mit Akut",ucirc:"Kleiner lateinischer Buchstabe u mit Zirkumflex",uuml:"Kleiner lateinischer Buchstabe u mit Trema",yacute:"Kleiner lateinischer Buchstabe y mit Akut",thorn:"Kleiner lateinischer Buchstabe Dorn",yuml:"Kleiner lateinischer Buchstabe y mit Trema",OElig:"Lateinischer Buchstabe Ligatur OE",oelig:"Kleiner lateinischer Buchstabe Ligatur OE",372:"Lateinischer Buchstabe W mit Zirkumflex",374:"Lateinischer Buchstabe Y mit Zirkumflex",373:"Kleiner lateinischer Buchstabe w mit Zirkumflex", +375:"Kleiner lateinischer Buchstabe y mit Zirkumflex",sbquo:"Tiefergestelltes Komma",8219:"Rumgedrehtes Komma",bdquo:"Doppeltes Anführungszeichen unten",hellip:"horizontale Auslassungspunkte",trade:"Handelszeichen",9658:"Dreickspfeil rechts",bull:"Bullet",rarr:"Pfeil rechts",rArr:"Doppelpfeil rechts",hArr:"Doppelpfeil links",diams:"Karo",asymp:"Ungefähr"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/el.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/el.js new file mode 100644 index 0000000..c27777e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/el.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","el",{euro:"Σύμβολο Ευρώ",lsquo:"Αριστερός χαρακτήρας μονού εισαγωγικού",rsquo:"Δεξιός χαρακτήρας μονού εισαγωγικού",ldquo:"Αριστερός χαρακτήρας ευθύγραμμων εισαγωγικών",rdquo:"Δεξιός χαρακτήρας ευθύγραμμων εισαγωγικών",ndash:"Παύλα en",mdash:"Παύλα em",iexcl:"Ανάποδο θαυμαστικό",cent:"Σύμβολο σεντ",pound:"Σύμβολο λίρας",curren:"Σύμβολο συναλλαγματικής μονάδας",yen:"Σύμβολο Γιεν",brvbar:"Σπασμένη μπάρα",sect:"Σύμβολο τμήματος",uml:"Διαίρεση",copy:"Σύμβολο πνευματικών δικαιωμάτων", +ordf:"Θηλυκός τακτικός δείκτης",laquo:"Γωνιώδη εισαγωγικά αριστερής κατάδειξης",not:"Σύμβολο άρνησης",reg:"Σύμβολο σημάτων κατατεθέν",macr:"Μακρόν",deg:"Σύμβολο βαθμού",sup2:"Εκτεθειμένο δύο",sup3:"Εκτεθειμένο τρία",acute:"Οξεία",micro:"Σύμβολο μικρού",para:"Σύμβολο παραγράφου",middot:"Μέση τελεία",cedil:"Υπογεγραμμένη",sup1:"Εκτεθειμένο ένα",ordm:"Αρσενικός τακτικός δείκτης",raquo:"Γωνιώδη εισαγωγικά δεξιάς κατάδειξης",frac14:"Γνήσιο κλάσμα ενός τετάρτου",frac12:"Γνήσιο κλάσμα ενός δεύτερου",frac34:"Γνήσιο κλάσμα τριών τετάρτων", +iquest:"Ανάποδο θαυμαστικό",Agrave:"Λατινικό κεφαλαίο γράμμα A με βαρεία",Aacute:"Λατινικό κεφαλαίο γράμμα A με οξεία",Acirc:"Λατινικό κεφαλαίο γράμμα A με περισπωμένη",Atilde:"Λατινικό κεφαλαίο γράμμα A με περισπωμένη",Auml:"Λατινικό κεφαλαίο γράμμα A με διαλυτικά",Aring:"Λατινικό κεφαλαίο γράμμα A με δακτύλιο επάνω",AElig:"Λατινικό κεφαλαίο γράμμα Æ",Ccedil:"Λατινικό κεφαλαίο γράμμα C με υπογεγραμμένη",Egrave:"Λατινικό κεφαλαίο γράμμα E με βαρεία",Eacute:"Λατινικό κεφαλαίο γράμμα E με οξεία",Ecirc:"Λατινικό κεφαλαίο γράμμα Ε με περισπωμένη ", +Euml:"Λατινικό κεφαλαίο γράμμα Ε με διαλυτικά",Igrave:"Λατινικό κεφαλαίο γράμμα I με βαρεία",Iacute:"Λατινικό κεφαλαίο γράμμα I με οξεία",Icirc:"Λατινικό κεφαλαίο γράμμα I με περισπωμένη",Iuml:"Λατινικό κεφαλαίο γράμμα I με διαλυτικά ",ETH:"Λατινικό κεφαλαίο γράμμα Eth",Ntilde:"Λατινικό κεφαλαίο γράμμα N με περισπωμένη",Ograve:"Λατινικό κεφαλαίο γράμμα O με βαρεία",Oacute:"Λατινικό κεφαλαίο γράμμα O με οξεία",Ocirc:"Λατινικό κεφαλαίο γράμμα O με περισπωμένη ",Otilde:"Λατινικό κεφαλαίο γράμμα O με περισπωμένη", +Ouml:"Λατινικό κεφαλαίο γράμμα O με διαλυτικά",times:"Σύμβολο πολλαπλασιασμού",Oslash:"Λατινικό κεφαλαίο γράμμα O με μολυβιά",Ugrave:"Λατινικό κεφαλαίο γράμμα U με βαρεία",Uacute:"Λατινικό κεφαλαίο γράμμα U με οξεία",Ucirc:"Λατινικό κεφαλαίο γράμμα U με περισπωμένη",Uuml:"Λατινικό κεφαλαίο γράμμα U με διαλυτικά",Yacute:"Λατινικό κεφαλαίο γράμμα Y με οξεία",THORN:"Λατινικό κεφαλαίο γράμμα Thorn",szlig:"Λατινικό μικρό γράμμα απότομο s",agrave:"Λατινικό μικρό γράμμα a με βαρεία",aacute:"Λατινικό μικρό γράμμα a με οξεία", +acirc:"Λατινικό μικρό γράμμα a με περισπωμένη",atilde:"Λατινικό μικρό γράμμα a με περισπωμένη",auml:"Λατινικό μικρό γράμμα a με διαλυτικά",aring:"Λατινικό μικρό γράμμα a με δακτύλιο πάνω",aelig:"Λατινικό μικρό γράμμα æ",ccedil:"Λατινικό μικρό γράμμα c με υπογεγραμμένη",egrave:"Λατινικό μικρό γράμμα ε με βαρεία",eacute:"Λατινικό μικρό γράμμα e με οξεία",ecirc:"Λατινικό μικρό γράμμα e με περισπωμένη",euml:"Λατινικό μικρό γράμμα e με διαλυτικά",igrave:"Λατινικό μικρό γράμμα i με βαρεία",iacute:"Λατινικό μικρό γράμμα i με οξεία", +icirc:"Λατινικό μικρό γράμμα i με περισπωμένη",iuml:"Λατινικό μικρό γράμμα i με διαλυτικά",eth:"Λατινικό μικρό γράμμα eth",ntilde:"Λατινικό μικρό γράμμα n με περισπωμένη",ograve:"Λατινικό μικρό γράμμα o με βαρεία",oacute:"Λατινικό μικρό γράμμα o με οξεία ",ocirc:"Λατινικό πεζό γράμμα o με περισπωμένη",otilde:"Λατινικό μικρό γράμμα o με περισπωμένη ",ouml:"Λατινικό μικρό γράμμα o με διαλυτικά",divide:"Σύμβολο διαίρεσης",oslash:"Λατινικό μικρό γράμμα o με περισπωμένη",ugrave:"Λατινικό μικρό γράμμα u με βαρεία", +uacute:"Λατινικό μικρό γράμμα u με οξεία",ucirc:"Λατινικό μικρό γράμμα u με περισπωμένη",uuml:"Λατινικό μικρό γράμμα u με διαλυτικά",yacute:"Λατινικό μικρό γράμμα y με οξεία",thorn:"Λατινικό μικρό γράμμα thorn",yuml:"Λατινικό μικρό γράμμα y με διαλυτικά",OElig:"Λατινικό κεφαλαίο σύμπλεγμα ΟΕ",oelig:"Λατινικό μικρό σύμπλεγμα oe",372:"Λατινικό κεφαλαίο γράμμα W με περισπωμένη",374:"Λατινικό κεφαλαίο γράμμα Y με περισπωμένη",373:"Λατινικό μικρό γράμμα w με περισπωμένη",375:"Λατινικό μικρό γράμμα y με περισπωμένη", +sbquo:"Ενιαίο χαμηλο -9 εισαγωγικό ",8219:"Ενιαίο υψηλο ανεστραμμένο-9 εισαγωγικό ",bdquo:"Διπλό χαμηλό-9 εισαγωγικό ",hellip:"Οριζόντια αποσιωπητικά",trade:"Σύμβολο εμπορικού κατατεθέν",9658:"Μαύρος δείκτης που δείχνει προς τα δεξιά",bull:"Κουκκίδα",rarr:"Δεξί βελάκι",rArr:"Διπλό δεξί βελάκι",hArr:"Διπλό βελάκι αριστερά-δεξιά",diams:"Μαύρο διαμάντι",asymp:"Σχεδόν ίσο με"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en-gb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en-gb.js new file mode 100644 index 0000000..e0128d6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en-gb.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","en-gb",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en.js new file mode 100644 index 0000000..d89d46d --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/en.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","en",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eo.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eo.js new file mode 100644 index 0000000..4c17340 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eo.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","eo",{euro:"Eŭrosigno",lsquo:"Supra 6-citilo",rsquo:"Supra 9-citilo",ldquo:"Supra 66-citilo",rdquo:"Supra 99-citilo",ndash:"Streketo",mdash:"Substreko",iexcl:"Renversita krisigno",cent:"Cendosigno",pound:"Pundosigno",curren:"Monersigno",yen:"Enosigno",brvbar:"Rompita vertikala streko",sect:"Kurba paragrafo",uml:"Tremao",copy:"Kopirajtosigno",ordf:"Adjektiva numerfinaĵo",laquo:"Duobla malplio-citilo",not:"Negohoko",reg:"Registrita marko",macr:"Superstreko",deg:"Gradosigno", +sup2:"Supra indico 2",sup3:"Supra indico 3",acute:"Dekstra korno",micro:"Mikrosigno",para:"Rekta paragrafo",middot:"Meza punkto",cedil:"Zoeto",sup1:"Supra indico 1",ordm:"Substantiva numerfinaĵo",raquo:"Duobla plio-citilo",frac14:"Kvaronosigno",frac12:"Duonosigno",frac34:"Trikvaronosigno",iquest:"renversita demandosigno",Agrave:"Latina ĉeflitero A kun liva korno",Aacute:"Latina ĉeflitero A kun dekstra korno",Acirc:"Latina ĉeflitero A kun ĉapelo",Atilde:"Latina ĉeflitero A kun tildo",Auml:"Latina ĉeflitero A kun tremao", +Aring:"Latina ĉeflitero A kun superringo",AElig:"Latina ĉeflitera ligaturo Æ",Ccedil:"Latina ĉeflitero C kun zoeto",Egrave:"Latina ĉeflitero E kun liva korno",Eacute:"Latina ĉeflitero E kun dekstra korno",Ecirc:"Latina ĉeflitero E kun ĉapelo",Euml:"Latina ĉeflitero E kun tremao",Igrave:"Latina ĉeflitero I kun liva korno",Iacute:"Latina ĉeflitero I kun dekstra korno",Icirc:"Latina ĉeflitero I kun ĉapelo",Iuml:"Latina ĉeflitero I kun tremao",ETH:"Latina ĉeflitero islanda edo",Ntilde:"Latina ĉeflitero N kun tildo", +Ograve:"Latina ĉeflitero O kun liva korno",Oacute:"Latina ĉeflitero O kun dekstra korno",Ocirc:"Latina ĉeflitero O kun ĉapelo",Otilde:"Latina ĉeflitero O kun tildo",Ouml:"Latina ĉeflitero O kun tremao",times:"Multipliko",Oslash:"Latina ĉeflitero O trastrekita",Ugrave:"Latina ĉeflitero U kun liva korno",Uacute:"Latina ĉeflitero U kun dekstra korno",Ucirc:"Latina ĉeflitero U kun ĉapelo",Uuml:"Latina ĉeflitero U kun tremao",Yacute:"Latina ĉeflitero Y kun dekstra korno",THORN:"Latina ĉeflitero islanda dorno", +szlig:"Latina etlitero germana sozo (akra s)",agrave:"Latina etlitero a kun liva korno",aacute:"Latina etlitero a kun dekstra korno",acirc:"Latina etlitero a kun ĉapelo",atilde:"Latina etlitero a kun tildo",auml:"Latina etlitero a kun tremao",aring:"Latina etlitero a kun superringo",aelig:"Latina etlitera ligaturo æ",ccedil:"Latina etlitero c kun zoeto",egrave:"Latina etlitero e kun liva korno",eacute:"Latina etlitero e kun dekstra korno",ecirc:"Latina etlitero e kun ĉapelo",euml:"Latina etlitero e kun tremao", +igrave:"Latina etlitero i kun liva korno",iacute:"Latina etlitero i kun dekstra korno",icirc:"Latina etlitero i kun ĉapelo",iuml:"Latina etlitero i kun tremao",eth:"Latina etlitero islanda edo",ntilde:"Latina etlitero n kun tildo",ograve:"Latina etlitero o kun liva korno",oacute:"Latina etlitero o kun dekstra korno",ocirc:"Latina etlitero o kun ĉapelo",otilde:"Latina etlitero o kun tildo",ouml:"Latina etlitero o kun tremao",divide:"Dividosigno",oslash:"Latina etlitero o trastrekita",ugrave:"Latina etlitero u kun liva korno", +uacute:"Latina etlitero u kun dekstra korno",ucirc:"Latina etlitero u kun ĉapelo",uuml:"Latina etlitero u kun tremao",yacute:"Latina etlitero y kun dekstra korno",thorn:"Latina etlitero islanda dorno",yuml:"Latina etlitero y kun tremao",OElig:"Latina ĉeflitera ligaturo Œ",oelig:"Latina etlitera ligaturo œ",372:"Latina ĉeflitero W kun ĉapelo",374:"Latina ĉeflitero Y kun ĉapelo",373:"Latina etlitero w kun ĉapelo",375:"Latina etlitero y kun ĉapelo",sbquo:"Suba 9-citilo",8219:"Supra renversita 9-citilo", +bdquo:"Suba 99-citilo",hellip:"Tripunkto",trade:"Varmarka signo",9658:"Nigra sago dekstren",bull:"Bulmarko",rarr:"Sago dekstren",rArr:"Duobla sago dekstren",hArr:"Duobla sago maldekstren",diams:"Nigra kvadrato",asymp:"Preskaŭ egala"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/es.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/es.js new file mode 100644 index 0000000..875b644 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/es.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","es",{euro:"Símbolo de euro",lsquo:"Comilla simple izquierda",rsquo:"Comilla simple derecha",ldquo:"Comilla doble izquierda",rdquo:"Comilla doble derecha",ndash:"Guión corto",mdash:"Guión medio largo",iexcl:"Signo de admiración invertido",cent:"Símbolo centavo",pound:"Símbolo libra",curren:"Símbolo moneda",yen:"Símbolo yen",brvbar:"Barra vertical rota",sect:"Símbolo sección",uml:"Diéresis",copy:"Signo de derechos de autor",ordf:"Indicador ordinal femenino",laquo:"Abre comillas angulares", +not:"Signo negación",reg:"Signo de marca registrada",macr:"Guión alto",deg:"Signo de grado",sup2:"Superíndice dos",sup3:"Superíndice tres",acute:"Acento agudo",micro:"Signo micro",para:"Signo de pi",middot:"Punto medio",cedil:"Cedilla",sup1:"Superíndice uno",ordm:"Indicador orginal masculino",raquo:"Cierra comillas angulares",frac14:"Fracción ordinaria de un quarto",frac12:"Fracción ordinaria de una mitad",frac34:"Fracción ordinaria de tres cuartos",iquest:"Signo de interrogación invertido",Agrave:"Letra A latina mayúscula con acento grave", +Aacute:"Letra A latina mayúscula con acento agudo",Acirc:"Letra A latina mayúscula con acento circunflejo",Atilde:"Letra A latina mayúscula con tilde",Auml:"Letra A latina mayúscula con diéresis",Aring:"Letra A latina mayúscula con aro arriba",AElig:"Letra Æ latina mayúscula",Ccedil:"Letra C latina mayúscula con cedilla",Egrave:"Letra E latina mayúscula con acento grave",Eacute:"Letra E latina mayúscula con acento agudo",Ecirc:"Letra E latina mayúscula con acento circunflejo",Euml:"Letra E latina mayúscula con diéresis", +Igrave:"Letra I latina mayúscula con acento grave",Iacute:"Letra I latina mayúscula con acento agudo",Icirc:"Letra I latina mayúscula con acento circunflejo",Iuml:"Letra I latina mayúscula con diéresis",ETH:"Letra Eth latina mayúscula",Ntilde:"Letra N latina mayúscula con tilde",Ograve:"Letra O latina mayúscula con acento grave",Oacute:"Letra O latina mayúscula con acento agudo",Ocirc:"Letra O latina mayúscula con acento circunflejo",Otilde:"Letra O latina mayúscula con tilde",Ouml:"Letra O latina mayúscula con diéresis", +times:"Signo de multiplicación",Oslash:"Letra O latina mayúscula con barra inclinada",Ugrave:"Letra U latina mayúscula con acento grave",Uacute:"Letra U latina mayúscula con acento agudo",Ucirc:"Letra U latina mayúscula con acento circunflejo",Uuml:"Letra U latina mayúscula con diéresis",Yacute:"Letra Y latina mayúscula con acento agudo",THORN:"Letra Thorn latina mayúscula",szlig:"Letra s latina fuerte pequeña",agrave:"Letra a latina pequeña con acento grave",aacute:"Letra a latina pequeña con acento agudo", +acirc:"Letra a latina pequeña con acento circunflejo",atilde:"Letra a latina pequeña con tilde",auml:"Letra a latina pequeña con diéresis",aring:"Letra a latina pequeña con aro arriba",aelig:"Letra æ latina pequeña",ccedil:"Letra c latina pequeña con cedilla",egrave:"Letra e latina pequeña con acento grave",eacute:"Letra e latina pequeña con acento agudo",ecirc:"Letra e latina pequeña con acento circunflejo",euml:"Letra e latina pequeña con diéresis",igrave:"Letra i latina pequeña con acento grave", +iacute:"Letra i latina pequeña con acento agudo",icirc:"Letra i latina pequeña con acento circunflejo",iuml:"Letra i latina pequeña con diéresis",eth:"Letra eth latina pequeña",ntilde:"Letra n latina pequeña con tilde",ograve:"Letra o latina pequeña con acento grave",oacute:"Letra o latina pequeña con acento agudo",ocirc:"Letra o latina pequeña con acento circunflejo",otilde:"Letra o latina pequeña con tilde",ouml:"Letra o latina pequeña con diéresis",divide:"Signo de división",oslash:"Letra o latina minúscula con barra inclinada", +ugrave:"Letra u latina pequeña con acento grave",uacute:"Letra u latina pequeña con acento agudo",ucirc:"Letra u latina pequeña con acento circunflejo",uuml:"Letra u latina pequeña con diéresis",yacute:"Letra u latina pequeña con acento agudo",thorn:"Letra thorn latina minúscula",yuml:"Letra y latina pequeña con diéresis",OElig:"Diptongo OE latino en mayúscula",oelig:"Diptongo oe latino en minúscula",372:"Letra W latina mayúscula con acento circunflejo",374:"Letra Y latina mayúscula con acento circunflejo", +373:"Letra w latina pequeña con acento circunflejo",375:"Letra y latina pequeña con acento circunflejo",sbquo:"Comilla simple baja-9",8219:"Comilla simple alta invertida-9",bdquo:"Comillas dobles bajas-9",hellip:"Puntos suspensivos horizontales",trade:"Signo de marca registrada",9658:"Apuntador negro apuntando a la derecha",bull:"Viñeta",rarr:"Flecha a la derecha",rArr:"Flecha doble a la derecha",hArr:"Flecha izquierda derecha doble",diams:"Diamante negro",asymp:"Casi igual a"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/et.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/et.js new file mode 100644 index 0000000..ca6f880 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/et.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","et",{euro:"Euromärk",lsquo:"Alustav ühekordne jutumärk",rsquo:"Lõpetav ühekordne jutumärk",ldquo:"Alustav kahekordne jutumärk",rdquo:"Lõpetav kahekordne jutumärk",ndash:"Enn-kriips",mdash:"Emm-kriips",iexcl:"Pööratud hüüumärk",cent:"Sendimärk",pound:"Naela märk",curren:"Valuutamärk",yen:"Jeeni märk",brvbar:"Katkestatud kriips",sect:"Lõigu märk",uml:"Täpid",copy:"Autoriõiguse märk",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Ei-märk",reg:"Registered sign",macr:"Macron",deg:"Kraadimärk",sup2:"Ülaindeks kaks",sup3:"Ülaindeks kolm",acute:"Acute accent",micro:"Mikro-märk",para:"Pilcrow sign",middot:"Keskpunkt",cedil:"Cedilla",sup1:"Ülaindeks üks",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Ladina suur A tildega",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Täppidega ladina suur O",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Kandilise katusega suur ladina U",Uuml:"Täppidega ladina suur U",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Ladina väike terav s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Kandilise katusega ladina väike a",atilde:"Tildega ladina väike a",auml:"Täppidega ladina väike a",aring:"Latin small letter a with ring above", +aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde", +ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Jagamismärk",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent", +thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Kaubamärgi märk",9658:"Black right-pointing pointer", +bull:"Kuul",rarr:"Nool paremale",rArr:"Topeltnool paremale",hArr:"Topeltnool vasakule",diams:"Black diamond suit",asymp:"Ligikaudu võrdne"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eu.js new file mode 100644 index 0000000..d18feca --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/eu.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","eu",{euro:"Euro zeinua",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Libera zeinua",curren:"Currency sign",yen:"Yen zeinua",brvbar:"Broken bar",sect:"Section sign",uml:"Dieresia",copy:"Copyright zeinua",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Ez zeinua",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Bider zeinua",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Buleta",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fa.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fa.js new file mode 100644 index 0000000..6351d73 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fa.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","fa",{euro:"نشان یورو",lsquo:"علامت نقل قول تکی چپ",rsquo:"علامت نقل قول تکی راست",ldquo:"علامت نقل قول دوتایی چپ",rdquo:"علامت نقل قول دوتایی راست",ndash:"خط تیره En",mdash:"خط تیره Em",iexcl:"علامت تعجب وارونه",cent:"نشان سنت",pound:"نشان پوند",curren:"نشان ارز",yen:"نشان ین",brvbar:"نوار شکسته",sect:"نشان بخش",uml:"نشان سواگیری",copy:"نشان کپی رایت",ordf:"شاخص ترتیبی مونث",laquo:"اشاره چپ مکرر برای زاویه علامت نقل قول",not:"نشان ثبت نشده",reg:"نشان ثبت شده", +macr:"نشان خط بالای حرف",deg:"نشان درجه",sup2:"بالانویس دو",sup3:"بالانویس سه",acute:"لهجه غلیظ",micro:"نشان مایکرو",para:"نشان محل بند",middot:"نقطه میانی",cedil:"سدیل",sup1:"بالانویس 1",ordm:"شاخص ترتیبی مذکر",raquo:"نشان زاویه‌دار دوتایی نقل قول راست چین",frac14:"واحد عامیانه 1/4",frac12:"واحد عامینه نصف",frac34:"واحد عامیانه 3/4",iquest:"علامت سوال معکوس",Agrave:"حرف A بزرگ لاتین با تلفظ غلیظ",Aacute:"حرف A بزرگ لاتین با تلفظ شدید",Acirc:"حرف A بزرگ لاتین با دور",Atilde:"حرف A بزرگ لاتین با صدای کامی", +Auml:"حرف A بزرگ لاتین با نشان سواگیری",Aring:"حرف A بزرگ لاتین با حلقه بالا",AElig:"حرف Æ بزرگ لاتین",Ccedil:"حرف C بزرگ لاتین با نشان سواگیری",Egrave:"حرف E بزرگ لاتین با تلفظ درشت",Eacute:"حرف E بزرگ لاتین با تلفظ زیر",Ecirc:"حرف E بزرگ لاتین با خمان",Euml:"حرف E بزرگ لاتین با نشان سواگیری",Igrave:"حرف I بزرگ لاتین با تلفظ درشت",Iacute:"حرف I بزرگ لاتین با تلفظ ریز",Icirc:"حرف I بزرگ لاتین با خمان",Iuml:"حرف I بزرگ لاتین با نشان سواگیری",ETH:"حرف لاتین بزرگ واکه ترتیبی",Ntilde:"حرف N بزرگ لاتین با مد", +Ograve:"حرف O بزرگ لاتین با تلفظ درشت",Oacute:"حرف O بزرگ لاتین با تلفظ ریز",Ocirc:"حرف O بزرگ لاتین با خمان",Otilde:"حرف O بزرگ لاتین با مد",Ouml:"حرف O بزرگ لاتین با نشان سواگیری",times:"نشان ضربدر",Oslash:"حرف O بزرگ لاتین با میان خط",Ugrave:"حرف U بزرگ لاتین با تلفظ درشت",Uacute:"حرف U بزرگ لاتین با تلفظ ریز",Ucirc:"حرف U بزرگ لاتین با خمان",Uuml:"حرف U بزرگ لاتین با نشان سواگیری",Yacute:"حرف Y بزرگ لاتین با تلفظ ریز",THORN:"حرف بزرگ لاتین خاردار",szlig:"حرف کوچک لاتین شارپ s",agrave:"حرف a کوچک لاتین با تلفظ درشت", +aacute:"حرف a کوچک لاتین با تلفظ ریز",acirc:"حرف a کوچک لاتین با خمان",atilde:"حرف a کوچک لاتین با صدای کامی",auml:"حرف a کوچک لاتین با نشان سواگیری",aring:"حرف a کوچک لاتین گوشواره دار",aelig:"حرف کوچک لاتین æ",ccedil:"حرف c کوچک لاتین با نشان سدیل",egrave:"حرف e کوچک لاتین با تلفظ درشت",eacute:"حرف e کوچک لاتین با تلفظ ریز",ecirc:"حرف e کوچک لاتین با خمان",euml:"حرف e کوچک لاتین با نشان سواگیری",igrave:"حرف i کوچک لاتین با تلفظ درشت",iacute:"حرف i کوچک لاتین با تلفظ ریز",icirc:"حرف i کوچک لاتین با خمان", +iuml:"حرف i کوچک لاتین با نشان سواگیری",eth:"حرف کوچک لاتین eth",ntilde:"حرف n کوچک لاتین با صدای کامی",ograve:"حرف o کوچک لاتین با تلفظ درشت",oacute:"حرف o کوچک لاتین با تلفظ زیر",ocirc:"حرف o کوچک لاتین با خمان",otilde:"حرف o کوچک لاتین با صدای کامی",ouml:"حرف o کوچک لاتین با نشان سواگیری",divide:"نشان بخش",oslash:"حرف o کوچک لاتین با میان خط",ugrave:"حرف u کوچک لاتین با تلفظ درشت",uacute:"حرف u کوچک لاتین با تلفظ ریز",ucirc:"حرف u کوچک لاتین با خمان",uuml:"حرف u کوچک لاتین با نشان سواگیری",yacute:"حرف y کوچک لاتین با تلفظ ریز", +thorn:"حرف کوچک لاتین خاردار",yuml:"حرف y کوچک لاتین با نشان سواگیری",OElig:"بند بزرگ لاتین OE",oelig:"بند کوچک لاتین oe",372:"حرف W بزرگ لاتین با خمان",374:"حرف Y بزرگ لاتین با خمان",373:"حرف w کوچک لاتین با خمان",375:"حرف y کوچک لاتین با خمان",sbquo:"نشان نقل قول تکی زیر-9",8219:"نشان نقل قول تکی high-reversed-9",bdquo:"نقل قول دوتایی پایین-9",hellip:"حذف افقی",trade:"نشان تجاری",9658:"نشانگر سیاه جهت راست",bull:"گلوله",rarr:"فلش راست",rArr:"فلش دوتایی راست",hArr:"فلش دوتایی چپ راست",diams:"نشان الماس سیاه", +asymp:"تقریبا برابر با"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fi.js new file mode 100644 index 0000000..7132cd1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fi.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","fi",{euro:"Euron merkki",lsquo:"Vasen yksittäinen lainausmerkki",rsquo:"Oikea yksittäinen lainausmerkki",ldquo:"Vasen kaksoislainausmerkki",rdquo:"Oikea kaksoislainausmerkki",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Sentin merkki",pound:"Punnan merkki",curren:"Valuuttamerkki",yen:"Yenin merkki",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Rekisteröity merkki",macr:"Macron",deg:"Asteen merkki",sup2:"Yläindeksi kaksi",sup3:"Yläindeksi kolme",acute:"Acute accent",micro:"Mikron merkki",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Yläindeksi yksi",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Ylösalaisin oleva kysymysmerkki",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Kertomerkki",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Jakomerkki",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Tavaramerkki merkki",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Nuoli oikealle",rArr:"Kaksoisnuoli oikealle",hArr:"Kaksoisnuoli oikealle ja vasemmalle",diams:"Black diamond suit",asymp:"Noin"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js new file mode 100644 index 0000000..326a6e5 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","fr-ca",{euro:"Symbole Euro",lsquo:"Guillemet simple ouvrant",rsquo:"Guillemet simple fermant",ldquo:"Guillemet double ouvrant",rdquo:"Guillemet double fermant",ndash:"Tiret haut",mdash:"Tiret",iexcl:"Point d'exclamation inversé",cent:"Symbole de cent",pound:"Symbole de Livre Sterling",curren:"Symbole monétaire",yen:"Symbole du Yen",brvbar:"Barre scindée",sect:"Symbole de section",uml:"Tréma",copy:"Symbole de copyright",ordf:"Indicateur ordinal féminin",laquo:"Guillemet français ouvrant", +not:"Indicateur de négation",reg:"Symbole de marque déposée",macr:"Macron",deg:"Degré",sup2:"Exposant 2",sup3:"Exposant 3",acute:"Accent aigüe",micro:"Symbole micro",para:"Paragraphe",middot:"Point médian",cedil:"Cédille",sup1:"Exposant 1",ordm:"Indicateur ordinal masculin",raquo:"Guillemet français fermant",frac14:"Un quart",frac12:"Une demi",frac34:"Trois quart",iquest:"Point d'interrogation inversé",Agrave:"A accent grave",Aacute:"A accent aigüe",Acirc:"A circonflexe",Atilde:"A tilde",Auml:"A tréma", +Aring:"A avec un rond au dessus",AElig:"Æ majuscule",Ccedil:"C cédille",Egrave:"E accent grave",Eacute:"E accent aigüe",Ecirc:"E accent circonflexe",Euml:"E tréma",Igrave:"I accent grave",Iacute:"I accent aigüe",Icirc:"I accent circonflexe",Iuml:"I tréma",ETH:"Lettre majuscule islandaise ED",Ntilde:"N tilde",Ograve:"O accent grave",Oacute:"O accent aigüe",Ocirc:"O accent circonflexe",Otilde:"O tilde",Ouml:"O tréma",times:"Symbole de multiplication",Oslash:"O barré",Ugrave:"U accent grave",Uacute:"U accent aigüe", +Ucirc:"U accent circonflexe",Uuml:"U tréma",Yacute:"Y accent aigüe",THORN:"Lettre islandaise Thorn majuscule",szlig:"Lettre minuscule allemande s dur",agrave:"a accent grave",aacute:"a accent aigüe",acirc:"a accent circonflexe",atilde:"a tilde",auml:"a tréma",aring:"a avec un cercle au dessus",aelig:"æ",ccedil:"c cédille",egrave:"e accent grave",eacute:"e accent aigüe",ecirc:"e accent circonflexe",euml:"e tréma",igrave:"i accent grave",iacute:"i accent aigüe",icirc:"i accent circonflexe",iuml:"i tréma", +eth:"Lettre minuscule islandaise ED",ntilde:"n tilde",ograve:"o accent grave",oacute:"o accent aigüe",ocirc:"O accent circonflexe",otilde:"O tilde",ouml:"O tréma",divide:"Symbole de division",oslash:"o barré",ugrave:"u accent grave",uacute:"u accent aigüe",ucirc:"u accent circonflexe",uuml:"u tréma",yacute:"y accent aigüe",thorn:"Lettre islandaise thorn minuscule",yuml:"y tréma",OElig:"ligature majuscule latine Œ",oelig:"ligature minuscule latine œ",372:"W accent circonflexe",374:"Y accent circonflexe", +373:"w accent circonflexe",375:"y accent circonflexe",sbquo:"Guillemet simple fermant",8219:"Guillemet-virgule supérieur culbuté",bdquo:"Guillemet-virgule double inférieur",hellip:"Points de suspension",trade:"Symbole de marque déposée",9658:"Flèche noire pointant vers la droite",bull:"Puce",rarr:"Flèche vers la droite",rArr:"Flèche double vers la droite",hArr:"Flèche double vers la gauche",diams:"Carreau",asymp:"Presque égal"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr.js new file mode 100644 index 0000000..6da8c31 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/fr.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","fr",{euro:"Symbole euro",lsquo:"Guillemet simple ouvrant",rsquo:"Guillemet simple fermant",ldquo:"Guillemet double ouvrant",rdquo:"Guillemet double fermant",ndash:"Tiret demi-cadratin",mdash:"Tiret cadratin",iexcl:"Point d'exclamation inversé",cent:"Symbole cent",pound:"Symbole Livre sterling",curren:"Symbole monétaire",yen:"Symbole yen",brvbar:"Barre verticale scindée",sect:"Signe de section",uml:"Tréma",copy:"Symbole Copyright",ordf:"Indicateur ordinal féminin", +laquo:"Guillemet français ouvrant",not:"Crochet de négation",reg:"Symbole de marque déposée",macr:"Macron",deg:"Symbole degré",sup2:"Exposant 2",sup3:"Exposant 3",acute:"Accent aigu",micro:"Symbole micro",para:"Symbole pied-de-mouche",middot:"Point médian",cedil:"Cédille",sup1:"Exposant 1",ordm:"Indicateur ordinal masculin",raquo:"Guillemet français fermant",frac14:"Fraction un quart",frac12:"Fraction un demi",frac34:"Fraction trois quarts",iquest:"Point d'interrogation inversé",Agrave:"A accent grave majuscule", +Aacute:"A accent aigu majuscule",Acirc:"A accent circonflexe majuscule",Atilde:"A caron majuscule",Auml:"A tréma majuscule",Aring:"A rond majuscule",AElig:"Ligature Æ majuscule",Ccedil:"C cédille majuscule",Egrave:"E accent grave majuscule",Eacute:"E accent aigu majuscule",Ecirc:"E accent circonflexe majuscule",Euml:"E tréma majuscule",Igrave:"I accent grave majuscule",Iacute:"I accent aigu majuscule",Icirc:"I accent circonflexe majuscule",Iuml:"I tréma majuscule",ETH:"Lettre majuscule islandaise ED", +Ntilde:"N caron majuscule",Ograve:"O accent grave majuscule",Oacute:"O accent aigu majuscule",Ocirc:"O accent circonflexe majuscule",Otilde:"O caron majuscule",Ouml:"O tréma majuscule",times:"Symbole de multiplication",Oslash:"O barré majuscule",Ugrave:"U accent grave majuscule",Uacute:"U accent aigu majuscule",Ucirc:"U accent circonflexe majuscule",Uuml:"U tréma majuscule",Yacute:"Y accent aigu majuscule",THORN:"Lettre islandaise thorn majuscule",szlig:"Lettre minuscule allemande S dur",agrave:"A accent grave minuscule", +aacute:"A accent aigu minuscule",acirc:"A accent circonflexe minuscule",atilde:"A tilde minuscule",auml:"A tréma minuscule",aring:"A rond minuscule",aelig:"Ligature Æ minuscule",ccedil:"C cédille minuscule",egrave:"E accent grave minuscule",eacute:"E accent aigu minuscule",ecirc:"E accent circonflexe minuscule",euml:"E tréma minuscule",igrave:"I accent grave minuscule",iacute:"I accent aigu minuscule",icirc:"I accent circonflexe minuscule",iuml:"i minuscule tréma",eth:"Lettre minuscule islandaise ED", +ntilde:"N caron minuscule",ograve:"O minuscule accent grave",oacute:"O accent aigu minuscule",ocirc:"O accent circonflexe minuscule",otilde:"O tilde minuscule",ouml:"O tréma minuscule",divide:"Symbole de division",oslash:"O barré minuscule",ugrave:"U accent grave minuscule",uacute:"U accent aigu minuscule",ucirc:"U accent circonflexe minuscule",uuml:"U tréma minuscule",yacute:"Y accent aigu minuscule",thorn:"Lettre islandaise thorn minuscule",yuml:"Y tréma minuscule",OElig:"Ligature Œ majuscule", +oelig:"Ligature Œ minuscule",372:"W accent circonflexe majuscule",374:"Y accent circonflexe majuscule",373:"W accent circonflexe minuscule",375:"Y accent circonflexe minuscule",sbquo:"Guillemet simple fermant inférieur",8219:"Guillemet-virgule supérieur culbuté",bdquo:"Guillemet-virgule double inférieur",hellip:"Points de suspension",trade:"Symbole de marque commerciale",9658:"Flèche noire pointant vers la droite",bull:"Gros point médian",rarr:"Flèche vers la droite",rArr:"Double flèche vers la droite", +hArr:"Double flèche vers la gauche",diams:"Losange noir",asymp:"Environ égal"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/gl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/gl.js new file mode 100644 index 0000000..6a31fdc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/gl.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","gl",{euro:"Símbolo do euro",lsquo:"Comiña simple esquerda",rsquo:"Comiña simple dereita",ldquo:"Comiñas dobres esquerda",rdquo:"Comiñas dobres dereita",ndash:"Guión",mdash:"Raia",iexcl:"Signo de admiración invertido",cent:"Símbolo do centavo",pound:"Símbolo da libra",curren:"Símbolo de moeda",yen:"Símbolo do yen",brvbar:"Barra vertical rota",sect:"Símbolo de sección",uml:"Diérese",copy:"Símbolo de dereitos de autoría",ordf:"Indicador ordinal feminino",laquo:"Comiñas latinas, apertura", +not:"Signo negación",reg:"Símbolo de marca rexistrada",macr:"Guión alto",deg:"Signo de grao",sup2:"Superíndice dous",sup3:"Superíndice tres",acute:"Acento agudo",micro:"Signo de micro",para:"Signo de pi",middot:"Punto medio",cedil:"Cedilla",sup1:"Superíndice un",ordm:"Indicador ordinal masculino",raquo:"Comiñas latinas, peche",frac14:"Fracción ordinaria de un cuarto",frac12:"Fracción ordinaria de un medio",frac34:"Fracción ordinaria de tres cuartos",iquest:"Signo de interrogación invertido",Agrave:"Letra A latina maiúscula con acento grave", +Aacute:"Letra A latina maiúscula con acento agudo",Acirc:"Letra A latina maiúscula con acento circunflexo",Atilde:"Letra A latina maiúscula con til",Auml:"Letra A latina maiúscula con diérese",Aring:"Letra A latina maiúscula con aro enriba",AElig:"Letra Æ latina maiúscula",Ccedil:"Letra C latina maiúscula con cedilla",Egrave:"Letra E latina maiúscula con acento grave",Eacute:"Letra E latina maiúscula con acento agudo",Ecirc:"Letra E latina maiúscula con acento circunflexo",Euml:"Letra E latina maiúscula con diérese", +Igrave:"Letra I latina maiúscula con acento grave",Iacute:"Letra I latina maiúscula con acento agudo",Icirc:"Letra I latina maiúscula con acento circunflexo",Iuml:"Letra I latina maiúscula con diérese",ETH:"Letra Ed latina maiúscula",Ntilde:"Letra N latina maiúscula con til",Ograve:"Letra O latina maiúscula con acento grave",Oacute:"Letra O latina maiúscula con acento agudo",Ocirc:"Letra O latina maiúscula con acento circunflexo",Otilde:"Letra O latina maiúscula con til",Ouml:"Letra O latina maiúscula con diérese", +times:"Signo de multiplicación",Oslash:"Letra O latina maiúscula con barra transversal",Ugrave:"Letra U latina maiúscula con acento grave",Uacute:"Letra U latina maiúscula con acento agudo",Ucirc:"Letra U latina maiúscula con acento circunflexo",Uuml:"Letra U latina maiúscula con diérese",Yacute:"Letra Y latina maiúscula con acento agudo",THORN:"Letra Thorn latina maiúscula",szlig:"Letra s latina forte minúscula",agrave:"Letra a latina minúscula con acento grave",aacute:"Letra a latina minúscula con acento agudo", +acirc:"Letra a latina minúscula con acento circunflexo",atilde:"Letra a latina minúscula con til",auml:"Letra a latina minúscula con diérese",aring:"Letra a latina minúscula con aro enriba",aelig:"Letra æ latina minúscula",ccedil:"Letra c latina minúscula con cedilla",egrave:"Letra e latina minúscula con acento grave",eacute:"Letra e latina minúscula con acento agudo",ecirc:"Letra e latina minúscula con acento circunflexo",euml:"Letra e latina minúscula con diérese",igrave:"Letra i latina minúscula con acento grave", +iacute:"Letra i latina minúscula con acento agudo",icirc:"Letra i latina minúscula con acento circunflexo",iuml:"Letra i latina minúscula con diérese",eth:"Letra ed latina minúscula",ntilde:"Letra n latina minúscula con til",ograve:"Letra o latina minúscula con acento grave",oacute:"Letra o latina minúscula con acento agudo",ocirc:"Letra o latina minúscula con acento circunflexo",otilde:"Letra o latina minúscula con til",ouml:"Letra o latina minúscula con diérese",divide:"Signo de división",oslash:"Letra o latina minúscula con barra transversal", +ugrave:"Letra u latina minúscula con acento grave",uacute:"Letra u latina minúscula con acento agudo",ucirc:"Letra u latina minúscula con acento circunflexo",uuml:"Letra u latina minúscula con diérese",yacute:"Letra y latina minúscula con acento agudo",thorn:"Letra Thorn latina minúscula",yuml:"Letra y latina minúscula con diérese",OElig:"Ligadura OE latina maiúscula",oelig:"Ligadura oe latina minúscula",372:"Letra W latina maiúscula con acento circunflexo",374:"Letra Y latina maiúscula con acento circunflexo", +373:"Letra w latina minúscula con acento circunflexo",375:"Letra y latina minúscula con acento circunflexo",sbquo:"Comiña simple baixa, de apertura",8219:"Comiña simple alta, de peche",bdquo:"Comiñas dobres baixas, de apertura",hellip:"Elipse, puntos suspensivos",trade:"Signo de marca rexistrada",9658:"Apuntador negro apuntando á dereita",bull:"Viñeta",rarr:"Frecha á dereita",rArr:"Frecha dobre á dereita",hArr:"Frecha dobre da esquerda á dereita",diams:"Diamante negro",asymp:"Case igual a"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/he.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/he.js new file mode 100644 index 0000000..5fabd82 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/he.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","he",{euro:"יורו",lsquo:"סימן ציטוט יחיד שמאלי",rsquo:"סימן ציטוט יחיד ימני",ldquo:"סימן ציטוט כפול שמאלי",rdquo:"סימן ציטוט כפול ימני",ndash:"קו מפריד קצר",mdash:"קו מפריד ארוך",iexcl:"סימן קריאה הפוך",cent:"סנט",pound:"פאונד",curren:"מטבע",yen:"ין",brvbar:"קו שבור",sect:"סימן מקטע",uml:"שתי נקודות אופקיות (Diaeresis)",copy:"סימן זכויות יוצרים (Copyright)",ordf:"סימן אורדינאלי נקבי",laquo:"סימן ציטוט זווית כפולה לשמאל",not:"סימן שלילה מתמטי",reg:"סימן רשום", +macr:"מקרון (הגיה ארוכה)",deg:"מעלות",sup2:"2 בכתיב עילי",sup3:"3 בכתיב עילי",acute:"סימן דגוש (Acute)",micro:"מיקרו",para:"סימון פסקה",middot:"נקודה אמצעית",cedil:"סדיליה",sup1:"1 בכתיב עילי",ordm:"סימן אורדינאלי זכרי",raquo:"סימן ציטוט זווית כפולה לימין",frac14:"רבע בשבר פשוט",frac12:"חצי בשבר פשוט",frac34:"שלושה רבעים בשבר פשוט",iquest:"סימן שאלה הפוך",Agrave:"אות לטינית A עם גרש (Grave)",Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde", +Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"אות לטינית Æ גדולה",Ccedil:"Latin capital letter C with cedilla",Egrave:"אות לטינית E עם גרש (Grave)",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"אות לטינית I עם גרש (Grave)",Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis", +ETH:"אות לטינית Eth גדולה",Ntilde:"Latin capital letter N with tilde",Ograve:"אות לטינית O עם גרש (Grave)",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"סימן כפל",Oslash:"Latin capital letter O with stroke",Ugrave:"אות לטינית U עם גרש (Grave)",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis", +Yacute:"Latin capital letter Y with acute accent",THORN:"אות לטינית Thorn גדולה",szlig:"אות לטינית s חדה קטנה",agrave:"אות לטינית a עם גרש (Grave)",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above",aelig:"אות לטינית æ קטנה",ccedil:"Latin small letter c with cedilla",egrave:"אות לטינית e עם גרש (Grave)",eacute:"Latin small letter e with acute accent", +ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"אות לטינית i עם גרש (Grave)",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"אות לטינית eth קטנה",ntilde:"Latin small letter n with tilde",ograve:"אות לטינית o עם גרש (Grave)",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis", +divide:"סימן חלוקה",oslash:"Latin small letter o with stroke",ugrave:"אות לטינית u עם גרש (Grave)",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent",thorn:"אות לטינית thorn קטנה",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex", +373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"סימן ציטוט נמוך יחיד",8219:"סימן ציטוט",bdquo:"סימן ציטוט נמוך כפול",hellip:"שלוש נקודות",trade:"סימן טריידמארק",9658:"סמן שחור לצד ימין",bull:"תבליט (רשימה)",rarr:"חץ לימין",rArr:"חץ כפול לימין",hArr:"חץ כפול לימין ושמאל",diams:"יהלום מלא",asymp:"כמעט שווה"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hr.js new file mode 100644 index 0000000..41dfd8f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hr.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","hr",{euro:"Euro znak",lsquo:"Lijevi jednostruki navodnik",rsquo:"Desni jednostruki navodnik",ldquo:"Lijevi dvostruki navodnik",rdquo:"Desni dvostruki navodnik",ndash:"En crtica",mdash:"Em crtica",iexcl:"Naopaki uskličnik",cent:"Cent znak",pound:"Funta znak",curren:"Znak valute",yen:"Yen znak",brvbar:"Potrgana prečka",sect:"Znak odjeljka",uml:"Prijeglasi",copy:"Copyright znak",ordf:"Feminine ordinal indicator",laquo:"Lijevi dvostruki uglati navodnik",not:"Not znak", +reg:"Registered znak",macr:"Macron",deg:"Stupanj znak",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Mikro znak",para:"Pilcrow sign",middot:"Srednja točka",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Desni dvostruku uglati navodnik",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Naopaki upitnik",Agrave:"Veliko latinsko slovo A s akcentom",Aacute:"Latinično veliko slovo A sa oštrim naglaskom", +Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent", +Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent", +Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above", +aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde", +ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent", +thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Trade mark sign",9658:"Black right-pointing pointer", +bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hu.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hu.js new file mode 100644 index 0000000..fd56ab1 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/hu.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","hu",{euro:"Euró jel",lsquo:"Bal szimpla idézőjel",rsquo:"Jobb szimpla idézőjel",ldquo:"Bal dupla idézőjel",rdquo:"Jobb dupla idézőjel",ndash:"Rövid gondolatjel",mdash:"Hosszú gondolatjel",iexcl:"Fordított felkiáltójel",cent:"Cent jel",pound:"Font jel",curren:"Valuta jel",yen:"Yen jel",brvbar:"Hosszú kettőspont",sect:"Paragrafus jel",uml:"Kettős hangzó jel",copy:"Szerzői jog jel",ordf:"Női sorrend mutatója",laquo:"Balra mutató duplanyíl",not:"Feltételes kötőjel", +reg:"Bejegyzett védjegy jele",macr:"Hosszúsági jel",deg:"Fok jel",sup2:"Négyzeten jel",sup3:"Köbön jel",acute:"Éles ékezet",micro:"Mikro-jel",para:"Bekezdés jel",middot:"Közép pont",cedil:"Cédille",sup1:"Elsőn jel",ordm:"Férfi sorrend mutatója",raquo:"Jobbra mutató duplanyíl",frac14:"Egy negyed jel",frac12:"Egy ketted jel",frac34:"Három negyed jel",iquest:"Fordított kérdőjel",Agrave:"Latin nagy A fordított ékezettel",Aacute:"Latin nagy A normál ékezettel",Acirc:"Latin nagy A hajtott ékezettel",Atilde:"Latin nagy A hullámjellel", +Auml:"Latin nagy A kettőspont ékezettel",Aring:"Latin nagy A gyűrű ékezettel",AElig:"Latin nagy Æ betű",Ccedil:"Latin nagy C cedillával",Egrave:"Latin nagy E fordított ékezettel",Eacute:"Latin nagy E normál ékezettel",Ecirc:"Latin nagy E hajtott ékezettel",Euml:"Latin nagy E dupla kettőspont ékezettel",Igrave:"Latin nagy I fordított ékezettel",Iacute:"Latin nagy I normál ékezettel",Icirc:"Latin nagy I hajtott ékezettel",Iuml:"Latin nagy I kettőspont ékezettel",ETH:"Latin nagy Eth betű",Ntilde:"Latin nagy N hullámjellel", +Ograve:"Latin nagy O fordított ékezettel",Oacute:"Latin nagy O normál ékezettel",Ocirc:"Latin nagy O hajtott ékezettel",Otilde:"Latin nagy O hullámjellel",Ouml:"Latin nagy O kettőspont ékezettel",times:"Szorzás jel",Oslash:"Latin O betű áthúzással",Ugrave:"Latin nagy U fordított ékezettel",Uacute:"Latin nagy U normál ékezettel",Ucirc:"Latin nagy U hajtott ékezettel",Uuml:"Latin nagy U kettőspont ékezettel",Yacute:"Latin nagy Y normál ékezettel",THORN:"Latin nagy Thorn betű",szlig:"Latin kis s betű", +agrave:"Latin kis a fordított ékezettel",aacute:"Latin kis a normál ékezettel",acirc:"Latin kis a hajtott ékezettel",atilde:"Latin kis a hullámjellel",auml:"Latin kis a kettőspont ékezettel",aring:"Latin kis a gyűrű ékezettel",aelig:"Latin kis æ betű",ccedil:"Latin kis c cedillával",egrave:"Latin kis e fordított ékezettel",eacute:"Latin kis e normál ékezettel",ecirc:"Latin kis e hajtott ékezettel",euml:"Latin kis e dupla kettőspont ékezettel",igrave:"Latin kis i fordított ékezettel",iacute:"Latin kis i normál ékezettel", +icirc:"Latin kis i hajtott ékezettel",iuml:"Latin kis i kettőspont ékezettel",eth:"Latin kis eth betű",ntilde:"Latin kis n hullámjellel",ograve:"Latin kis o fordított ékezettel",oacute:"Latin kis o normál ékezettel",ocirc:"Latin kis o hajtott ékezettel",otilde:"Latin kis o hullámjellel",ouml:"Latin kis o kettőspont ékezettel",divide:"Osztásjel",oslash:"Latin kis o betű áthúzással",ugrave:"Latin kis u fordított ékezettel",uacute:"Latin kis u normál ékezettel",ucirc:"Latin kis u hajtott ékezettel", +uuml:"Latin kis u kettőspont ékezettel",yacute:"Latin kis y normál ékezettel",thorn:"Latin kis thorn jel",yuml:"Latin kis y kettőspont ékezettel",OElig:"Latin nagy OE-jel",oelig:"Latin kis oe-jel",372:"Latin nagy W hajtott ékezettel",374:"Latin nagy Y hajtott ékezettel",373:"Latin kis w hajtott ékezettel",375:"Latin kis y hajtott ékezettel",sbquo:"Nyitó nyomdai szimpla idézőjel",8219:"Záró nyomdai záró idézőjel",bdquo:"Nyitó nyomdai dupla idézőjel",hellip:"Három pont",trade:"Kereskedelmi védjegy jele", +9658:"Jobbra mutató fekete mutató",bull:"Golyó",rarr:"Jobbra mutató nyíl",rArr:"Jobbra mutató duplanyíl",hArr:"Bal-jobb duplanyíl",diams:"Fekete gyémánt jel",asymp:"Majdnem egyenlő jel"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/id.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/id.js new file mode 100644 index 0000000..45803ca --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/id.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","id",{euro:"Tanda Euro",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Tanda Yen",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Tanda Hak Cipta",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Tanda Telah Terdaftar",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/it.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/it.js new file mode 100644 index 0000000..f1f9466 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/it.js @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","it",{euro:"Simbolo Euro",lsquo:"Virgoletta singola sinistra",rsquo:"Virgoletta singola destra",ldquo:"Virgolette aperte",rdquo:"Virgolette chiuse",ndash:"Trattino",mdash:"Trattino lungo",iexcl:"Punto esclavamativo invertito",cent:"Simbolo Cent",pound:"Simbolo Sterlina",curren:"Simbolo Moneta",yen:"Simbolo Yen",brvbar:"Barra interrotta",sect:"Simbolo di sezione",uml:"Dieresi",copy:"Simbolo Copyright",ordf:"Indicatore ordinale femminile",laquo:"Virgolette basse aperte", +not:"Nessun segno",reg:"Simbolo Registrato",macr:"Macron",deg:"Simbolo Grado",sup2:"Apice Due",sup3:"Apice Tre",acute:"Accento acuto",micro:"Simbolo Micro",para:"Simbolo Paragrafo",middot:"Punto centrale",cedil:"Cediglia",sup1:"Apice Uno",ordm:"Indicatore ordinale maschile",raquo:"Virgolette basse chiuse",frac14:"Frazione volgare un quarto",frac12:"Frazione volgare un mezzo",frac34:"Frazione volgare tre quarti",iquest:"Punto interrogativo invertito",Agrave:"Lettera maiuscola latina A con accento grave", +Aacute:"Lettera maiuscola latina A con accento acuto",Acirc:"Lettera maiuscola latina A con accento circonflesso",Atilde:"Lettera maiuscola latina A con tilde",Auml:"Lettera maiuscola latina A con dieresi",Aring:"Lettera maiuscola latina A con anello sopra",AElig:"Lettera maiuscola latina Æ",Ccedil:"Lettera maiuscola latina C con cediglia",Egrave:"Lettera maiuscola latina E con accento grave",Eacute:"Lettera maiuscola latina E con accento acuto",Ecirc:"Lettera maiuscola latina E con accento circonflesso", +Euml:"Lettera maiuscola latina E con dieresi",Igrave:"Lettera maiuscola latina I con accento grave",Iacute:"Lettera maiuscola latina I con accento acuto",Icirc:"Lettera maiuscola latina I con accento circonflesso",Iuml:"Lettera maiuscola latina I con dieresi",ETH:"Lettera maiuscola latina Eth",Ntilde:"Lettera maiuscola latina N con tilde",Ograve:"Lettera maiuscola latina O con accento grave",Oacute:"Lettera maiuscola latina O con accento acuto",Ocirc:"Lettera maiuscola latina O con accento circonflesso", +Otilde:"Lettera maiuscola latina O con tilde",Ouml:"Lettera maiuscola latina O con dieresi",times:"Simbolo di moltiplicazione",Oslash:"Lettera maiuscola latina O barrata",Ugrave:"Lettera maiuscola latina U con accento grave",Uacute:"Lettera maiuscola latina U con accento acuto",Ucirc:"Lettera maiuscola latina U con accento circonflesso",Uuml:"Lettera maiuscola latina U con accento circonflesso",Yacute:"Lettera maiuscola latina Y con accento acuto",THORN:"Lettera maiuscola latina Thorn",szlig:"Lettera latina minuscola doppia S", +agrave:"Lettera minuscola latina a con accento grave",aacute:"Lettera minuscola latina a con accento acuto",acirc:"Lettera minuscola latina a con accento circonflesso",atilde:"Lettera minuscola latina a con tilde",auml:"Lettera minuscola latina a con dieresi",aring:"Lettera minuscola latina a con anello superiore",aelig:"Lettera minuscola latina ae",ccedil:"Lettera minuscola latina c con cediglia",egrave:"Lettera minuscola latina e con accento grave",eacute:"Lettera minuscola latina e con accento acuto", +ecirc:"Lettera minuscola latina e con accento circonflesso",euml:"Lettera minuscola latina e con dieresi",igrave:"Lettera minuscola latina i con accento grave",iacute:"Lettera minuscola latina i con accento acuto",icirc:"Lettera minuscola latina i con accento circonflesso",iuml:"Lettera minuscola latina i con dieresi",eth:"Lettera minuscola latina eth",ntilde:"Lettera minuscola latina n con tilde",ograve:"Lettera minuscola latina o con accento grave",oacute:"Lettera minuscola latina o con accento acuto", +ocirc:"Lettera minuscola latina o con accento circonflesso",otilde:"Lettera minuscola latina o con tilde",ouml:"Lettera minuscola latina o con dieresi",divide:"Simbolo di divisione",oslash:"Lettera minuscola latina o barrata",ugrave:"Lettera minuscola latina u con accento grave",uacute:"Lettera minuscola latina u con accento acuto",ucirc:"Lettera minuscola latina u con accento circonflesso",uuml:"Lettera minuscola latina u con dieresi",yacute:"Lettera minuscola latina y con accento acuto",thorn:"Lettera minuscola latina thorn", +yuml:"Lettera minuscola latina y con dieresi",OElig:"Legatura maiuscola latina OE",oelig:"Legatura minuscola latina oe",372:"Lettera maiuscola latina W con accento circonflesso",374:"Lettera maiuscola latina Y con accento circonflesso",373:"Lettera minuscola latina w con accento circonflesso",375:"Lettera minuscola latina y con accento circonflesso",sbquo:"Singola virgoletta bassa low-9",8219:"Singola virgoletta bassa low-9 inversa",bdquo:"Doppia virgoletta bassa low-9",hellip:"Ellissi orizzontale", +trade:"Simbolo TM",9658:"Puntatore nero rivolto verso destra",bull:"Punto",rarr:"Freccia verso destra",rArr:"Doppia freccia verso destra",hArr:"Doppia freccia sinistra destra",diams:"Simbolo nero diamante",asymp:"Quasi uguale a"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ja.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ja.js new file mode 100644 index 0000000..ba348aa --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ja.js @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ja",{euro:"ユーロ記号",lsquo:"左シングル引用符",rsquo:"右シングル引用符",ldquo:"左ダブル引用符",rdquo:"右ダブル引用符",ndash:"半角ダッシュ",mdash:"全角ダッシュ",iexcl:"逆さ感嘆符",cent:"セント記号",pound:"ポンド記号",curren:"通貨記号",yen:"円記号",brvbar:"上下に分かれた縦棒",sect:"節記号",uml:"分音記号(ウムラウト)",copy:"著作権表示記号",ordf:"女性序数標識",laquo:" 始め二重山括弧引用記号",not:"論理否定記号",reg:"登録商標記号",macr:"長音符",deg:"度記号",sup2:"上つき2, 2乗",sup3:"上つき3, 3乗",acute:"揚音符",micro:"ミクロン記号",para:"段落記号",middot:"中黒",cedil:"セディラ",sup1:"上つき1",ordm:"男性序数標識",raquo:"終わり二重山括弧引用記号", +frac14:"四分の一",frac12:"二分の一",frac34:"四分の三",iquest:"逆疑問符",Agrave:"抑音符つき大文字A",Aacute:"揚音符つき大文字A",Acirc:"曲折アクセントつき大文字A",Atilde:"チルダつき大文字A",Auml:"分音記号つき大文字A",Aring:"リングつき大文字A",AElig:"AとEの合字",Ccedil:"セディラつき大文字C",Egrave:"抑音符つき大文字E",Eacute:"揚音符つき大文字E",Ecirc:"曲折アクセントつき大文字E",Euml:"分音記号つき大文字E",Igrave:"抑音符つき大文字I",Iacute:"揚音符つき大文字I",Icirc:"曲折アクセントつき大文字I",Iuml:"分音記号つき大文字I",ETH:"[アイスランド語]大文字ETH",Ntilde:"チルダつき大文字N",Ograve:"抑音符つき大文字O",Oacute:"揚音符つき大文字O",Ocirc:"曲折アクセントつき大文字O",Otilde:"チルダつき大文字O",Ouml:" 分音記号つき大文字O", +times:"乗算記号",Oslash:"打ち消し線つき大文字O",Ugrave:"抑音符つき大文字U",Uacute:"揚音符つき大文字U",Ucirc:"曲折アクセントつき大文字U",Uuml:"分音記号つき大文字U",Yacute:"揚音符つき大文字Y",THORN:"[アイスランド語]大文字THORN",szlig:"ドイツ語エスツェット",agrave:"抑音符つき小文字a",aacute:"揚音符つき小文字a",acirc:"曲折アクセントつき小文字a",atilde:"チルダつき小文字a",auml:"分音記号つき小文字a",aring:"リングつき小文字a",aelig:"aとeの合字",ccedil:"セディラつき小文字c",egrave:"抑音符つき小文字e",eacute:"揚音符つき小文字e",ecirc:"曲折アクセントつき小文字e",euml:"分音記号つき小文字e",igrave:"抑音符つき小文字i",iacute:"揚音符つき小文字i",icirc:"曲折アクセントつき小文字i",iuml:"分音記号つき小文字i",eth:"アイスランド語小文字eth", +ntilde:"チルダつき小文字n",ograve:"抑音符つき小文字o",oacute:"揚音符つき小文字o",ocirc:"曲折アクセントつき小文字o",otilde:"チルダつき小文字o",ouml:"分音記号つき小文字o",divide:"除算記号",oslash:"打ち消し線つき小文字o",ugrave:"抑音符つき小文字u",uacute:"揚音符つき小文字u",ucirc:"曲折アクセントつき小文字u",uuml:"分音記号つき小文字u",yacute:"揚音符つき小文字y",thorn:"アイスランド語小文字thorn",yuml:"分音記号つき小文字y",OElig:"OとEの合字",oelig:"oとeの合字",372:"曲折アクセントつき大文字W",374:"曲折アクセントつき大文字Y",373:"曲折アクセントつき小文字w",375:"曲折アクセントつき小文字y",sbquo:"シングル下引用符",8219:"左右逆の左引用符",bdquo:"ダブル下引用符",hellip:"三点リーダ",trade:"商標記号",9658:"右黒三角ポインタ",bull:"黒丸", +rarr:"右矢印",rArr:"右二重矢印",hArr:"左右二重矢印",diams:"ダイヤ",asymp:"漸近"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/km.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/km.js new file mode 100644 index 0000000..8f9fd7f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/km.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","km",{euro:"សញ្ញា​អឺរ៉ូ",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"សញ្ញា​សេន",pound:"សញ្ញា​ផោន",curren:"សញ្ញា​រូបិយបណ្ណ",yen:"សញ្ញា​យ៉េន",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"សញ្ញា​រក្សា​សិទ្ធិ",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"សញ្ញា​ដឺក្រេ",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"សញ្ញា​មីក្រូ",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ko.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ko.js new file mode 100644 index 0000000..05759fc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ko.js @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ko",{euro:"유로화 기호",lsquo:"왼쪽 외 따옴표",rsquo:"오른쪽 외 따옴표",ldquo:"왼쪽 쌍 따옴표",rdquo:"오른쪽 쌍 따옴표",ndash:"반각 대시",mdash:"전각 대시",iexcl:"반전된 느낌표",cent:"센트 기호",pound:"파운드화 기호",curren:"커런시 기호",yen:"위안화 기호",brvbar:"Broken bar",sect:"섹션 기호",uml:"분음 부호",copy:"저작권 기호",ordf:"Feminine ordinal indicator",laquo:"왼쪽 쌍꺽쇠 인용 부호",not:"금지 기호",reg:"등록 기호",macr:"장음 기호",deg:"도 기호",sup2:"위첨자 2",sup3:"위첨자 3",acute:"양음 악센트 부호",micro:"마이크로 기호",para:"단락 기호",middot:"가운데 점",cedil:"세디유",sup1:"위첨자 1", +ordm:"Masculine ordinal indicator",raquo:"오른쪽 쌍꺽쇠 인용 부호",frac14:"분수 사분의 일",frac12:"분수 이분의 일",frac34:"분수 사분의 삼",iquest:"뒤집힌 물음표",Agrave:"억음 부호가 있는 라틴 대문자 A",Aacute:"양음 악센트 부호가 있는 라틴 대문자 A",Acirc:"곡절 악센트 부호가 있는 라틴 대문자 A",Atilde:"틸데가 있는 라틴 대문자 A",Auml:"분음 기호가 있는 라틴 대문자 A",Aring:"윗고리가 있는 라틴 대문자 A",AElig:"라틴 대문자 Æ",Ccedil:"세디유가 있는 라틴 대문자 C",Egrave:"억음 부호가 있는 라틴 대문자 E",Eacute:"양음 악센트 부호가 있는 라틴 대문자 E",Ecirc:"곡절 악센트 부호가 있는 라틴 대문자 E",Euml:"분음 기호가 있는 라틴 대문자 E",Igrave:"억음 부호가 있는 라틴 대문자 I",Iacute:"양음 악센트 부호가 있는 라틴 대문자 I", +Icirc:"곡절 악센트 부호가 있는 라틴 대문자 I",Iuml:"분음 기호가 있는 라틴 대문자 I",ETH:"라틴 대문자 Eth",Ntilde:"틸데가 있는 라틴 대문자 N",Ograve:"억음 부호가 있는 라틴 대문자 O",Oacute:"양음 부호가 있는 라틴 대문자 O",Ocirc:"곡절 악센트 부호가 있는 라틴 대문자 O",Otilde:"틸데가 있는 라틴 대문자 O",Ouml:"분음 기호가 있는 라틴 대문자 O",times:"곱하기 기호",Oslash:"사선이 있는 라틴 대문자 O",Ugrave:"억음 부호가 있는 라틴 대문자 U",Uacute:"양음 부호가 있는 라틴 대문자 U",Ucirc:"곡절 악센트 부호가 있는 라틴 대문자 U",Uuml:"분음 기호가 있는 라틴 대문자 U",Yacute:"양음 부호가 있는 라틴 대문자 Y",THORN:"라틴 대문자 Thorn",szlig:"라틴 소문자 sharp s",agrave:"억음 부호가 있는 라틴 소문자 a",aacute:"양음 부호가 있는 라틴 소문자 a", +acirc:"곡절 악센트 부호가 있는 라틴 소문자 a",atilde:"틸데가 있는 라틴 소문자 a",auml:"분음 기호가 있는 라틴 소문자 a",aring:"윗고리가 있는 라틴 소문자 a",aelig:"라틴 소문자 æ",ccedil:"세디유가 있는 라틴 소문자 c",egrave:"억음 부호가 있는 라틴 소문자 e",eacute:"양음 부호가 있는 라틴 소문자 e",ecirc:"곡절 악센트 부호가 있는 라틴 소문자 e",euml:"분음 기호가 있는 라틴 소문자 e",igrave:"억음 부호가 있는 라틴 소문자 i",iacute:"양음 부호가 있는 라틴 소문자 i",icirc:"곡절 악센트 부호가 있는 라틴 소문자 i",iuml:"분음 기호가 있는 라틴 소문자 i",eth:"라틴 소문자 eth",ntilde:"틸데가 있는 라틴 소문자 n",ograve:"억음 부호가 있는 라틴 소문자 o",oacute:"양음 부호가 있는 라틴 소문자 o",ocirc:"곡절 악센트 부호가 있는 라틴 소문자 o", +otilde:"틸데가 있는 라틴 소문자 o",ouml:"분음 기호가 있는 라틴 소문자 o",divide:"나누기 기호",oslash:"사선이 있는 라틴 소문자 o",ugrave:"억음 부호가 있는 라틴 소문자 u",uacute:"양음 부호가 있는 라틴 소문자 u",ucirc:"곡절 악센트 부호가 있는 라틴 소문자 u",uuml:"분음 기호가 있는 라틴 소문자 u",yacute:"양음 부호가 있는 라틴 소문자 y",thorn:"라틴 소문자 thorn",yuml:"분음 기호가 있는 라틴 소문자 y",OElig:"라틴 대문합자 OE",oelig:"라틴 소문합자 oe",372:"곡절 악센트 부호가 있는 라틴 대문자 W",374:"곡절 악센트 부호가 있는 라틴 대문자 Y",373:"곡절 악센트 부호가 있는 라틴 소문자 w",375:"곡절 악센트 부호가 있는 라틴 소문자 y",sbquo:"외 아래-9 인용 부호",8219:"외 위쪽-뒤집힌-9 인용 부호",bdquo:"쌍 아래-9 인용 부호",hellip:"수평 생략 부호", +trade:"상표 기호",9658:"검정 오른쪽 포인터",bull:"큰 점",rarr:"오른쪽 화살표",rArr:"오른쪽 두 줄 화살표",hArr:"양쪽 두 줄 화살표",diams:"검정 다이아몬드",asymp:"근사"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ku.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ku.js new file mode 100644 index 0000000..1da1110 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ku.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ku",{euro:"نیشانەی یۆرۆ",lsquo:"نیشانەی فاریزەی سەرووژێری تاکی چەپ",rsquo:"نیشانەی فاریزەی سەرووژێری تاکی ڕاست",ldquo:"نیشانەی فاریزەی سەرووژێری دووهێندەی چه‌پ",rdquo:"نیشانەی فاریزەی سەرووژێری دووهێندەی ڕاست",ndash:"تەقەڵی کورت",mdash:"تەقەڵی درێژ",iexcl:"نیشانەی هەڵەوگێڕی سەرسوڕهێنەر",cent:"نیشانەی سەنت",pound:"نیشانەی پاوەند",curren:"نیشانەی دراو",yen:"نیشانەی یەنی ژاپۆنی",brvbar:"شریتی ئەستوونی پچڕاو",sect:"نیشانەی دوو s لەسەریەک",uml:"خاڵ",copy:"نیشانەی مافی چاپ", +ordf:"هێڵ لەسەر پیتی a",laquo:"دوو تیری بەدووایەکی چەپ",not:"نیشانەی نەخێر",reg:"نیشانەی R لەناو بازنەدا",macr:"ماکڕۆن",deg:"نیشانەی پلە",sup2:"سەرنووسی دوو",sup3:"سەرنووسی سێ",acute:"لاری تیژ",micro:"نیشانەی u لق درێژی چەپی خواروو",para:"نیشانەی پەڕەگراف",middot:"ناوەڕاستی خاڵ",cedil:"نیشانەی c ژێر چووکرە",sup1:"سەرنووسی یەک",ordm:"هێڵ لەژێر پیتی o",raquo:"دوو تیری بەدووایەکی ڕاست",frac14:"یەک لەسەر چووار",frac12:"یەک لەسەر دوو",frac34:"سێ لەسەر چووار",iquest:"هێمای هەڵەوگێری پرسیار",Agrave:"پیتی لاتینی A-ی گەورە لەگەڵ ڕوومەتداری لار", +Aacute:"پیتی لاتینی A-ی گەورە لەگەڵ ڕوومەتداری تیژ",Acirc:"پیتی لاتینی A-ی گەورە لەگەڵ نیشانە لەسەری",Atilde:"پیتی لاتینی A-ی گەورە لەگەڵ زەڕە",Auml:"پیتی لاتینی A-ی گەورە لەگەڵ نیشانە لەسەری",Aring:"پیتی لاتینی گەورەی Å",AElig:"پیتی لاتینی گەورەی Æ",Ccedil:"پیتی لاتینی C-ی گەورە لەگەڵ ژێر چووکرە",Egrave:"پیتی لاتینی E-ی گەورە لەگەڵ ڕوومەتداری لار",Eacute:"پیتی لاتینی E-ی گەورە لەگەڵ ڕوومەتداری تیژ",Ecirc:"پیتی لاتینی E-ی گەورە لەگەڵ نیشانە لەسەری",Euml:"پیتی لاتینی E-ی گەورە لەگەڵ نیشانە لەسەری", +Igrave:"پیتی لاتینی I-ی گەورە لەگەڵ ڕوومەتداری لار",Iacute:"پیتی لاتینی I-ی گەورە لەگەڵ ڕوومەتداری تیژ",Icirc:"پیتی لاتینی I-ی گەورە لەگەڵ نیشانە لەسەری",Iuml:"پیتی لاتینی I-ی گەورە لەگەڵ نیشانە لەسەری",ETH:"پیتی لاتینی E-ی گەورەی",Ntilde:"پیتی لاتینی N-ی گەورە لەگەڵ زەڕە",Ograve:"پیتی لاتینی O-ی گەورە لەگەڵ ڕوومەتداری لار",Oacute:"پیتی لاتینی O-ی گەورە لەگەڵ ڕوومەتداری تیژ",Ocirc:"پیتی لاتینی O-ی گەورە لەگەڵ نیشانە لەسەری",Otilde:"پیتی لاتینی O-ی گەورە لەگەڵ زەڕە",Ouml:"پیتی لاتینی O-ی گەورە لەگەڵ نیشانە لەسەری", +times:"نیشانەی لێکدان",Oslash:"پیتی لاتینی گەورەی Ø لەگەڵ هێمای دڵ وەستان",Ugrave:"پیتی لاتینی U-ی گەورە لەگەڵ ڕوومەتداری لار",Uacute:"پیتی لاتینی U-ی گەورە لەگەڵ ڕوومەتداری تیژ",Ucirc:"پیتی لاتینی U-ی گەورە لەگەڵ نیشانە لەسەری",Uuml:"پیتی لاتینی U-ی گەورە لەگەڵ نیشانە لەسەری",Yacute:"پیتی لاتینی Y-ی گەورە لەگەڵ ڕوومەتداری تیژ",THORN:"پیتی لاتینی دڕکی گەورە",szlig:"پیتی لاتنی نووک تیژی s",agrave:"پیتی لاتینی a-ی بچووک لەگەڵ ڕوومەتداری لار",aacute:"پیتی لاتینی a-ی بچووك لەگەڵ ڕوومەتداری تیژ",acirc:"پیتی لاتینی a-ی بچووك لەگەڵ نیشانە لەسەری", +atilde:"پیتی لاتینی a-ی بچووك لەگەڵ زەڕە",auml:"پیتی لاتینی a-ی بچووك لەگەڵ نیشانە لەسەری",aring:"پیتی لاتینی å-ی بچووك",aelig:"پیتی لاتینی æ-ی بچووك",ccedil:"پیتی لاتینی c-ی بچووك لەگەڵ ژێر چووکرە",egrave:"پیتی لاتینی e-ی بچووك لەگەڵ ڕوومەتداری لار",eacute:"پیتی لاتینی e-ی بچووك لەگەڵ ڕوومەتداری تیژ",ecirc:"پیتی لاتینی e-ی بچووك لەگەڵ نیشانە لەسەری",euml:"پیتی لاتینی e-ی بچووك لەگەڵ نیشانە لەسەری",igrave:"پیتی لاتینی i-ی بچووك لەگەڵ ڕوومەتداری لار",iacute:"پیتی لاتینی i-ی بچووك لەگەڵ ڕوومەتداری تیژ", +icirc:"پیتی لاتینی i-ی بچووك لەگەڵ نیشانە لەسەری",iuml:"پیتی لاتینی i-ی بچووك لەگەڵ نیشانە لەسەری",eth:"پیتی لاتینی e-ی بچووك",ntilde:"پیتی لاتینی n-ی بچووك لەگەڵ زەڕە",ograve:"پیتی لاتینی o-ی بچووك لەگەڵ ڕوومەتداری لار",oacute:"پیتی لاتینی o-ی بچووك له‌گەڵ ڕوومەتداری تیژ",ocirc:"پیتی لاتینی o-ی بچووك لەگەڵ نیشانە لەسەری",otilde:"پیتی لاتینی o-ی بچووك لەگەڵ زەڕە",ouml:"پیتی لاتینی o-ی بچووك لەگەڵ نیشانە لەسەری",divide:"نیشانەی دابەش",oslash:"پیتی لاتینی گەورەی ø لەگەڵ هێمای دڵ وەستان",ugrave:"پیتی لاتینی u-ی بچووك لەگەڵ ڕوومەتداری لار", +uacute:"پیتی لاتینی u-ی بچووك لەگەڵ ڕوومەتداری تیژ",ucirc:"پیتی لاتینی u-ی بچووك لەگەڵ نیشانە لەسەری",uuml:"پیتی لاتینی u-ی بچووك لەگەڵ نیشانە لەسەری",yacute:"پیتی لاتینی y-ی بچووك لەگەڵ ڕوومەتداری تیژ",thorn:"پیتی لاتینی دڕکی بچووك",yuml:"پیتی لاتینی y-ی بچووك لەگەڵ نیشانە لەسەری",OElig:"پیتی لاتینی گەورەی پێکەوەنووسراوی OE",oelig:"پیتی لاتینی بچووکی پێکەوەنووسراوی oe",372:"پیتی لاتینی W-ی گەورە لەگەڵ نیشانە لەسەری",374:"پیتی لاتینی Y-ی گەورە لەگەڵ نیشانە لەسەری",373:"پیتی لاتینی w-ی بچووکی لەگەڵ نیشانە لەسەری", +375:"پیتی لاتینی y-ی بچووکی لەگەڵ نیشانە لەسەری",sbquo:"نیشانەی فاریزەی نزم",8219:"نیشانەی فاریزەی بەرزی پێچەوانە",bdquo:"دوو فاریزەی تەنیش یەك",hellip:"ئاسۆیی بازنە",trade:"نیشانەی بازرگانی",9658:"ئاراستەی ڕەشی دەستی ڕاست",bull:"فیشەك",rarr:"تیری دەستی ڕاست",rArr:"دووتیری دەستی ڕاست",hArr:"دوو تیری ڕاست و چەپ",diams:"ڕەشی پاقڵاوەیی",asymp:"نیشانەی یەکسانە"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lt.js new file mode 100644 index 0000000..c1fdd11 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lt.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","lt",{euro:"Euro ženklas",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cento ženklas",pound:"Svaro ženklas",curren:"Valiutos ženklas",yen:"Jenos ženklas",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Ne ženklas",reg:"Registered sign",macr:"Makronas",deg:"Laipsnio ženklas",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Mikro ženklas",para:"Pilcrow sign",middot:"Vidurinis taškas",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lv.js new file mode 100644 index 0000000..b3a2aa0 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/lv.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","lv",{euro:"Euro zīme",lsquo:"Kreisā vienkārtīga pēdiņa",rsquo:"Labā vienkārtīga pēdiņa",ldquo:"Kreisā dubult pēdiņa",rdquo:"Labā dubult pēdiņa",ndash:"En svītra",mdash:"Em svītra",iexcl:"Apgriezta izsaukuma zīme",cent:"Centu naudas zīme",pound:"Sterliņu mārciņu naudas zīme",curren:"Valūtas zīme",yen:"Jenu naudas zīme",brvbar:"Vertikāla pārrauta līnija",sect:"Paragrāfa zīme",uml:"Diakritiska zīme",copy:"Autortiesību zīme",ordf:"Sievišķas kārtas rādītājs", +laquo:"Kreisā dubult stūra pēdiņu zīme",not:"Neparakstīts",reg:"Reģistrēta zīme",macr:"Garumzīme",deg:"Grādu zīme",sup2:"Augšraksts divi",sup3:"Augšraksts trīs",acute:"Akūta uzsvara zīme",micro:"Mikro zīme",para:"Rindkopas zīme ",middot:"Vidējs punkts",cedil:"Āķītis zem burta",sup1:"Augšraksts viens",ordm:"Vīrišķīgas kārtas rādītājs",raquo:"Labā dubult stūra pēdiņu zīme",frac14:"Vulgāra frakcija 1/4",frac12:"Vulgāra frakcija 1/2",frac34:"Vulgāra frakcija 3/4",iquest:"Apgriezta jautājuma zīme",Agrave:"Lielais latīņu burts A ar uzsvara zīmi", +Aacute:"Lielais latīņu burts A ar akūtu uzsvara zīmi",Acirc:"Lielais latīņu burts A ar diakritisku zīmi",Atilde:"Lielais latīņu burts A ar tildi ",Auml:"Lielais latīņu burts A ar diakritisko zīmi",Aring:"Lielais latīņu burts A ar aplīti augšā",AElig:"Lielais latīņu burts Æ",Ccedil:"Lielais latīņu burts C ar āķīti zem burta",Egrave:"Lielais latīņu burts E ar apostrofu",Eacute:"Lielais latīņu burts E ar akūtu uzsvara zīmi",Ecirc:"Lielais latīņu burts E ar diakritisko zīmi",Euml:"Lielais latīņu burts E ar diakritisko zīmi", +Igrave:"Lielais latīņu burts I ar uzsvaras zīmi",Iacute:"Lielais latīņu burts I ar akūtu uzsvara zīmi",Icirc:"Lielais latīņu burts I ar diakritisko zīmi",Iuml:"Lielais latīņu burts I ar diakritisko zīmi",ETH:"Lielais latīņu burts Eth",Ntilde:"Lielais latīņu burts N ar tildi",Ograve:"Lielais latīņu burts O ar uzsvara zīmi",Oacute:"Lielais latīņu burts O ar akūto uzsvara zīmi",Ocirc:"Lielais latīņu burts O ar diakritisko zīmi",Otilde:"Lielais latīņu burts O ar tildi",Ouml:"Lielais latīņu burts O ar diakritisko zīmi", +times:"Reizināšanas zīme ",Oslash:"Lielais latīņu burts O ar iesvītrojumu",Ugrave:"Lielais latīņu burts U ar uzsvaras zīmi",Uacute:"Lielais latīņu burts U ar akūto uzsvars zīmi",Ucirc:"Lielais latīņu burts U ar diakritisko zīmi",Uuml:"Lielais latīņu burts U ar diakritisko zīmi",Yacute:"Lielais latīņu burts Y ar akūto uzsvaras zīmi",THORN:"Lielais latīņu burts torn",szlig:"Mazs latīņu burts ar ligatūru",agrave:"Mazs latīņu burts a ar uzsvara zīmi",aacute:"Mazs latīņu burts a ar akūto uzsvara zīmi", +acirc:"Mazs latīņu burts a ar diakritisko zīmi",atilde:"Mazs latīņu burts a ar tildi",auml:"Mazs latīņu burts a ar diakritisko zīmi",aring:"Mazs latīņu burts a ar aplīti augšā",aelig:"Mazs latīņu burts æ",ccedil:"Mazs latīņu burts c ar āķīti zem burta",egrave:"Mazs latīņu burts e ar uzsvara zīmi ",eacute:"Mazs latīņu burts e ar akūtu uzsvara zīmi",ecirc:"Mazs latīņu burts e ar diakritisko zīmi",euml:"Mazs latīņu burts e ar diakritisko zīmi",igrave:"Mazs latīņu burts i ar uzsvara zīmi ",iacute:"Mazs latīņu burts i ar akūtu uzsvara zīmi", +icirc:"Mazs latīņu burts i ar diakritisko zīmi",iuml:"Mazs latīņu burts i ar diakritisko zīmi",eth:"Mazs latīņu burts eth",ntilde:"Mazs latīņu burts n ar tildi",ograve:"Mazs latīņu burts o ar uzsvara zīmi ",oacute:"Mazs latīņu burts o ar akūtu uzsvara zīmi",ocirc:"Mazs latīņu burts o ar diakritisko zīmi",otilde:"Mazs latīņu burts o ar tildi",ouml:"Mazs latīņu burts o ar diakritisko zīmi",divide:"Dalīšanas zīme",oslash:"Mazs latīņu burts o ar iesvītrojumu",ugrave:"Mazs latīņu burts u ar uzsvara zīmi ", +uacute:"Mazs latīņu burts u ar akūtu uzsvara zīmi",ucirc:"Mazs latīņu burts u ar diakritisko zīmi",uuml:"Mazs latīņu burts u ar diakritisko zīmi",yacute:"Mazs latīņu burts y ar akūtu uzsvaras zīmi",thorn:"Mazs latīņu burts torns",yuml:"Mazs latīņu burts y ar diakritisko zīmi",OElig:"Liela latīņu ligatūra OE",oelig:"Maza latīņu ligatūra oe",372:"Liels latīņu burts W ar diakritisko zīmi ",374:"Liels latīņu burts Y ar diakritisko zīmi ",373:"Mazs latīņu burts w ar diakritisko zīmi ",375:"Mazs latīņu burts y ar diakritisko zīmi ", +sbquo:"Mazas-9 vienkārtīgas pēdiņas",8219:"Lielas-9 vienkārtīgas apgrieztas pēdiņas",bdquo:"Mazas-9 dubultas pēdiņas",hellip:"Horizontāli daudzpunkti",trade:"Preču zīmes zīme",9658:"Melns pa labi pagriezts radītājs",bull:"Lode",rarr:"Bulta pa labi",rArr:"Dubulta Bulta pa labi",hArr:"Bulta pa kreisi",diams:"Dubulta Bulta pa kreisi",asymp:"Gandrīz vienāds ar"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nb.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nb.js new file mode 100644 index 0000000..9f2684e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nb.js @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","nb",{euro:"Eurosymbol",lsquo:"Venstre enkelt anførselstegn",rsquo:"Høyre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Høyre anførsesltegn",ndash:"Kort tankestrek",mdash:"Lang tankestrek",iexcl:"Omvendt utropstegn",cent:"Centsymbol",pound:"Pundsymbol",curren:"Valutategn",yen:"Yensymbol",brvbar:"Brutt loddrett strek",sect:"Paragraftegn",uml:"Tøddel",copy:"Copyrighttegn",ordf:"Feminin ordensindikator",laquo:"Venstre anførselstegn",not:"Negasjonstegn", +reg:"Registrert varemerke-tegn",macr:"Makron",deg:"Gradsymbol",sup2:"Hevet totall",sup3:"Hevet tretall",acute:"Akutt aksent",micro:"Mikrosymbol",para:"Avsnittstegn",middot:"Midtstilt prikk",cedil:"Cedille",sup1:"Hevet ettall",ordm:"Maskulin ordensindikator",raquo:"Høyre anførselstegn",frac14:"Fjerdedelsbrøk",frac12:"Halvbrøk",frac34:"Tre fjerdedelers brøk",iquest:"Omvendt spørsmålstegn",Agrave:"Stor A med grav aksent",Aacute:"Stor A med akutt aksent",Acirc:"Stor A med cirkumfleks",Atilde:"Stor A med tilde", +Auml:"Stor A med tøddel",Aring:"Stor Å",AElig:"Stor Æ",Ccedil:"Stor C med cedille",Egrave:"Stor E med grav aksent",Eacute:"Stor E med akutt aksent",Ecirc:"Stor E med cirkumfleks",Euml:"Stor E med tøddel",Igrave:"Stor I med grav aksent",Iacute:"Stor I med akutt aksent",Icirc:"Stor I med cirkumfleks",Iuml:"Stor I med tøddel",ETH:"Stor Edd/stungen D",Ntilde:"Stor N med tilde",Ograve:"Stor O med grav aksent",Oacute:"Stor O med akutt aksent",Ocirc:"Stor O med cirkumfleks",Otilde:"Stor O med tilde",Ouml:"Stor O med tøddel", +times:"Multiplikasjonstegn",Oslash:"Stor Ø",Ugrave:"Stor U med grav aksent",Uacute:"Stor U med akutt aksent",Ucirc:"Stor U med cirkumfleks",Uuml:"Stor U med tøddel",Yacute:"Stor Y med akutt aksent",THORN:"Stor Thorn",szlig:"Liten dobbelt-s/Eszett",agrave:"Liten a med grav aksent",aacute:"Liten a med akutt aksent",acirc:"Liten a med cirkumfleks",atilde:"Liten a med tilde",auml:"Liten a med tøddel",aring:"Liten å",aelig:"Liten æ",ccedil:"Liten c med cedille",egrave:"Liten e med grav aksent",eacute:"Liten e med akutt aksent", +ecirc:"Liten e med cirkumfleks",euml:"Liten e med tøddel",igrave:"Liten i med grav aksent",iacute:"Liten i med akutt aksent",icirc:"Liten i med cirkumfleks",iuml:"Liten i med tøddel",eth:"Liten edd/stungen d",ntilde:"Liten n med tilde",ograve:"Liten o med grav aksent",oacute:"Liten o med akutt aksent",ocirc:"Liten o med cirkumfleks",otilde:"Liten o med tilde",ouml:"Liten o med tøddel",divide:"Divisjonstegn",oslash:"Liten ø",ugrave:"Liten u med grav aksent",uacute:"Liten u med akutt aksent",ucirc:"Liten u med cirkumfleks", +uuml:"Liten u med tøddel",yacute:"Liten y med akutt aksent",thorn:"Liten thorn",yuml:"Liten y med tøddel",OElig:"Stor ligatur av O og E",oelig:"Liten ligatur av o og e",372:"Stor W med cirkumfleks",374:"Stor Y med cirkumfleks",373:"Liten w med cirkumfleks",375:"Liten y med cirkumfleks",sbquo:"Enkelt lavt 9-anførselstegn",8219:"Enkelt høyt reversert 9-anførselstegn",bdquo:"Dobbelt lavt 9-anførselstegn",hellip:"Ellipse",trade:"Varemerkesymbol",9658:"Svart høyrevendt peker",bull:"Tykk interpunkt",rarr:"Høyrevendt pil", +rArr:"Dobbel høyrevendt pil",hArr:"Dobbel venstrevendt pil",diams:"Svart ruter",asymp:"Omtrent likhetstegn"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nl.js new file mode 100644 index 0000000..5274e6f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/nl.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","nl",{euro:"Euro-teken",lsquo:"Linker enkel aanhalingsteken",rsquo:"Rechter enkel aanhalingsteken",ldquo:"Linker dubbel aanhalingsteken",rdquo:"Rechter dubbel aanhalingsteken",ndash:"En dash",mdash:"Em dash",iexcl:"Omgekeerd uitroepteken",cent:"Cent-teken",pound:"Pond-teken",curren:"Valuta-teken",yen:"Yen-teken",brvbar:"Gebroken streep",sect:"Paragraaf-teken",uml:"Trema",copy:"Copyright-teken",ordf:"Vrouwelijk ordinaal",laquo:"Linker guillemet",not:"Ongelijk-teken", +reg:"Geregistreerd handelsmerk-teken",macr:"Macron",deg:"Graden-teken",sup2:"Superscript twee",sup3:"Superscript drie",acute:"Accent aigu",micro:"Micro-teken",para:"Alinea-teken",middot:"Halfhoge punt",cedil:"Cedille",sup1:"Superscript een",ordm:"Mannelijk ordinaal",raquo:"Rechter guillemet",frac14:"Breuk kwart",frac12:"Breuk half",frac34:"Breuk driekwart",iquest:"Omgekeerd vraagteken",Agrave:"Latijnse hoofdletter A met een accent grave",Aacute:"Latijnse hoofdletter A met een accent aigu",Acirc:"Latijnse hoofdletter A met een circonflexe", +Atilde:"Latijnse hoofdletter A met een tilde",Auml:"Latijnse hoofdletter A met een trema",Aring:"Latijnse hoofdletter A met een corona",AElig:"Latijnse hoofdletter Æ",Ccedil:"Latijnse hoofdletter C met een cedille",Egrave:"Latijnse hoofdletter E met een accent grave",Eacute:"Latijnse hoofdletter E met een accent aigu",Ecirc:"Latijnse hoofdletter E met een circonflexe",Euml:"Latijnse hoofdletter E met een trema",Igrave:"Latijnse hoofdletter I met een accent grave",Iacute:"Latijnse hoofdletter I met een accent aigu", +Icirc:"Latijnse hoofdletter I met een circonflexe",Iuml:"Latijnse hoofdletter I met een trema",ETH:"Latijnse hoofdletter Eth",Ntilde:"Latijnse hoofdletter N met een tilde",Ograve:"Latijnse hoofdletter O met een accent grave",Oacute:"Latijnse hoofdletter O met een accent aigu",Ocirc:"Latijnse hoofdletter O met een circonflexe",Otilde:"Latijnse hoofdletter O met een tilde",Ouml:"Latijnse hoofdletter O met een trema",times:"Maal-teken",Oslash:"Latijnse hoofdletter O met een schuine streep",Ugrave:"Latijnse hoofdletter U met een accent grave", +Uacute:"Latijnse hoofdletter U met een accent aigu",Ucirc:"Latijnse hoofdletter U met een circonflexe",Uuml:"Latijnse hoofdletter U met een trema",Yacute:"Latijnse hoofdletter Y met een accent aigu",THORN:"Latijnse hoofdletter Thorn",szlig:"Latijnse kleine ringel-s",agrave:"Latijnse kleine letter a met een accent grave",aacute:"Latijnse kleine letter a met een accent aigu",acirc:"Latijnse kleine letter a met een circonflexe",atilde:"Latijnse kleine letter a met een tilde",auml:"Latijnse kleine letter a met een trema", +aring:"Latijnse kleine letter a met een corona",aelig:"Latijnse kleine letter æ",ccedil:"Latijnse kleine letter c met een cedille",egrave:"Latijnse kleine letter e met een accent grave",eacute:"Latijnse kleine letter e met een accent aigu",ecirc:"Latijnse kleine letter e met een circonflexe",euml:"Latijnse kleine letter e met een trema",igrave:"Latijnse kleine letter i met een accent grave",iacute:"Latijnse kleine letter i met een accent aigu",icirc:"Latijnse kleine letter i met een circonflexe", +iuml:"Latijnse kleine letter i met een trema",eth:"Latijnse kleine letter eth",ntilde:"Latijnse kleine letter n met een tilde",ograve:"Latijnse kleine letter o met een accent grave",oacute:"Latijnse kleine letter o met een accent aigu",ocirc:"Latijnse kleine letter o met een circonflexe",otilde:"Latijnse kleine letter o met een tilde",ouml:"Latijnse kleine letter o met een trema",divide:"Deel-teken",oslash:"Latijnse kleine letter o met een schuine streep",ugrave:"Latijnse kleine letter u met een accent grave", +uacute:"Latijnse kleine letter u met een accent aigu",ucirc:"Latijnse kleine letter u met een circonflexe",uuml:"Latijnse kleine letter u met een trema",yacute:"Latijnse kleine letter y met een accent aigu",thorn:"Latijnse kleine letter thorn",yuml:"Latijnse kleine letter y met een trema",OElig:"Latijnse hoofdletter Œ",oelig:"Latijnse kleine letter œ",372:"Latijnse hoofdletter W met een circonflexe",374:"Latijnse hoofdletter Y met een circonflexe",373:"Latijnse kleine letter w met een circonflexe", +375:"Latijnse kleine letter y met een circonflexe",sbquo:"Lage enkele aanhalingsteken",8219:"Hoge omgekeerde enkele aanhalingsteken",bdquo:"Lage dubbele aanhalingsteken",hellip:"Beletselteken",trade:"Trademark-teken",9658:"Zwarte driehoek naar rechts",bull:"Bullet",rarr:"Pijl naar rechts",rArr:"Dubbele pijl naar rechts",hArr:"Dubbele pijl naar links",diams:"Zwart ruitje",asymp:"Benaderingsteken"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/no.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/no.js new file mode 100644 index 0000000..8769533 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/no.js @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","no",{euro:"Eurosymbol",lsquo:"Venstre enkelt anførselstegn",rsquo:"Høyre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Høyre anførsesltegn",ndash:"Kort tankestrek",mdash:"Lang tankestrek",iexcl:"Omvendt utropstegn",cent:"Centsymbol",pound:"Pundsymbol",curren:"Valutategn",yen:"Yensymbol",brvbar:"Brutt loddrett strek",sect:"Paragraftegn",uml:"Tøddel",copy:"Copyrighttegn",ordf:"Feminin ordensindikator",laquo:"Venstre anførselstegn",not:"Negasjonstegn", +reg:"Registrert varemerke-tegn",macr:"Makron",deg:"Gradsymbol",sup2:"Hevet totall",sup3:"Hevet tretall",acute:"Akutt aksent",micro:"Mikrosymbol",para:"Avsnittstegn",middot:"Midtstilt prikk",cedil:"Cedille",sup1:"Hevet ettall",ordm:"Maskulin ordensindikator",raquo:"Høyre anførselstegn",frac14:"Fjerdedelsbrøk",frac12:"Halvbrøk",frac34:"Tre fjerdedelers brøk",iquest:"Omvendt spørsmålstegn",Agrave:"Stor A med grav aksent",Aacute:"Stor A med akutt aksent",Acirc:"Stor A med cirkumfleks",Atilde:"Stor A med tilde", +Auml:"Stor A med tøddel",Aring:"Stor Å",AElig:"Stor Æ",Ccedil:"Stor C med cedille",Egrave:"Stor E med grav aksent",Eacute:"Stor E med akutt aksent",Ecirc:"Stor E med cirkumfleks",Euml:"Stor E med tøddel",Igrave:"Stor I med grav aksent",Iacute:"Stor I med akutt aksent",Icirc:"Stor I med cirkumfleks",Iuml:"Stor I med tøddel",ETH:"Stor Edd/stungen D",Ntilde:"Stor N med tilde",Ograve:"Stor O med grav aksent",Oacute:"Stor O med akutt aksent",Ocirc:"Stor O med cirkumfleks",Otilde:"Stor O med tilde",Ouml:"Stor O med tøddel", +times:"Multiplikasjonstegn",Oslash:"Stor Ø",Ugrave:"Stor U med grav aksent",Uacute:"Stor U med akutt aksent",Ucirc:"Stor U med cirkumfleks",Uuml:"Stor U med tøddel",Yacute:"Stor Y med akutt aksent",THORN:"Stor Thorn",szlig:"Liten dobbelt-s/Eszett",agrave:"Liten a med grav aksent",aacute:"Liten a med akutt aksent",acirc:"Liten a med cirkumfleks",atilde:"Liten a med tilde",auml:"Liten a med tøddel",aring:"Liten å",aelig:"Liten æ",ccedil:"Liten c med cedille",egrave:"Liten e med grav aksent",eacute:"Liten e med akutt aksent", +ecirc:"Liten e med cirkumfleks",euml:"Liten e med tøddel",igrave:"Liten i med grav aksent",iacute:"Liten i med akutt aksent",icirc:"Liten i med cirkumfleks",iuml:"Liten i med tøddel",eth:"Liten edd/stungen d",ntilde:"Liten n med tilde",ograve:"Liten o med grav aksent",oacute:"Liten o med akutt aksent",ocirc:"Liten o med cirkumfleks",otilde:"Liten o med tilde",ouml:"Liten o med tøddel",divide:"Divisjonstegn",oslash:"Liten ø",ugrave:"Liten u med grav aksent",uacute:"Liten u med akutt aksent",ucirc:"Liten u med cirkumfleks", +uuml:"Liten u med tøddel",yacute:"Liten y med akutt aksent",thorn:"Liten thorn",yuml:"Liten y med tøddel",OElig:"Stor ligatur av O og E",oelig:"Liten ligatur av o og e",372:"Stor W med cirkumfleks",374:"Stor Y med cirkumfleks",373:"Liten w med cirkumfleks",375:"Liten y med cirkumfleks",sbquo:"Enkelt lavt 9-anførselstegn",8219:"Enkelt høyt reversert 9-anførselstegn",bdquo:"Dobbelt lavt 9-anførselstegn",hellip:"Ellipse",trade:"Varemerkesymbol",9658:"Svart høyrevendt peker",bull:"Tykk interpunkt",rarr:"Høyrevendt pil", +rArr:"Dobbel høyrevendt pil",hArr:"Dobbel venstrevendt pil",diams:"Svart ruter",asymp:"Omtrent likhetstegn"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pl.js new file mode 100644 index 0000000..c560a31 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pl.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","pl",{euro:"Znak euro",lsquo:"Cudzysłów pojedynczy otwierający",rsquo:"Cudzysłów pojedynczy zamykający",ldquo:"Cudzysłów apostrofowy otwierający",rdquo:"Cudzysłów apostrofowy zamykający",ndash:"Półpauza",mdash:"Pauza",iexcl:"Odwrócony wykrzyknik",cent:"Znak centa",pound:"Znak funta",curren:"Znak waluty",yen:"Znak jena",brvbar:"Przerwana pionowa kreska",sect:"Paragraf",uml:"Diereza",copy:"Znak praw autorskich",ordf:"Wskaźnik rodzaju żeńskiego liczebnika porządkowego", +laquo:"Lewy cudzysłów ostrokątny",not:"Znak negacji",reg:"Zastrzeżony znak towarowy",macr:"Makron",deg:"Znak stopnia",sup2:"Druga potęga",sup3:"Trzecia potęga",acute:"Akcent ostry",micro:"Znak mikro",para:"Znak akapitu",middot:"Kropka środkowa",cedil:"Cedylla",sup1:"Pierwsza potęga",ordm:"Wskaźnik rodzaju męskiego liczebnika porządkowego",raquo:"Prawy cudzysłów ostrokątny",frac14:"Ułamek zwykły jedna czwarta",frac12:"Ułamek zwykły jedna druga",frac34:"Ułamek zwykły trzy czwarte",iquest:"Odwrócony znak zapytania", +Agrave:"Wielka litera A z akcentem ciężkim",Aacute:"Wielka litera A z akcentem ostrym",Acirc:"Wielka litera A z akcentem przeciągłym",Atilde:"Wielka litera A z tyldą",Auml:"Wielka litera A z dierezą",Aring:"Wielka litera A z kółkiem",AElig:"Wielka ligatura Æ",Ccedil:"Wielka litera C z cedyllą",Egrave:"Wielka litera E z akcentem ciężkim",Eacute:"Wielka litera E z akcentem ostrym",Ecirc:"Wielka litera E z akcentem przeciągłym",Euml:"Wielka litera E z dierezą",Igrave:"Wielka litera I z akcentem ciężkim", +Iacute:"Wielka litera I z akcentem ostrym",Icirc:"Wielka litera I z akcentem przeciągłym",Iuml:"Wielka litera I z dierezą",ETH:"Wielka litera Eth",Ntilde:"Wielka litera N z tyldą",Ograve:"Wielka litera O z akcentem ciężkim",Oacute:"Wielka litera O z akcentem ostrym",Ocirc:"Wielka litera O z akcentem przeciągłym",Otilde:"Wielka litera O z tyldą",Ouml:"Wielka litera O z dierezą",times:"Znak mnożenia wektorowego",Oslash:"Wielka litera O z przekreśleniem",Ugrave:"Wielka litera U z akcentem ciężkim",Uacute:"Wielka litera U z akcentem ostrym", +Ucirc:"Wielka litera U z akcentem przeciągłym",Uuml:"Wielka litera U z dierezą",Yacute:"Wielka litera Y z akcentem ostrym",THORN:"Wielka litera Thorn",szlig:"Mała litera ostre s (eszet)",agrave:"Mała litera a z akcentem ciężkim",aacute:"Mała litera a z akcentem ostrym",acirc:"Mała litera a z akcentem przeciągłym",atilde:"Mała litera a z tyldą",auml:"Mała litera a z dierezą",aring:"Mała litera a z kółkiem",aelig:"Mała ligatura æ",ccedil:"Mała litera c z cedyllą",egrave:"Mała litera e z akcentem ciężkim", +eacute:"Mała litera e z akcentem ostrym",ecirc:"Mała litera e z akcentem przeciągłym",euml:"Mała litera e z dierezą",igrave:"Mała litera i z akcentem ciężkim",iacute:"Mała litera i z akcentem ostrym",icirc:"Mała litera i z akcentem przeciągłym",iuml:"Mała litera i z dierezą",eth:"Mała litera eth",ntilde:"Mała litera n z tyldą",ograve:"Mała litera o z akcentem ciężkim",oacute:"Mała litera o z akcentem ostrym",ocirc:"Mała litera o z akcentem przeciągłym",otilde:"Mała litera o z tyldą",ouml:"Mała litera o z dierezą", +divide:"Anglosaski znak dzielenia",oslash:"Mała litera o z przekreśleniem",ugrave:"Mała litera u z akcentem ciężkim",uacute:"Mała litera u z akcentem ostrym",ucirc:"Mała litera u z akcentem przeciągłym",uuml:"Mała litera u z dierezą",yacute:"Mała litera y z akcentem ostrym",thorn:"Mała litera thorn",yuml:"Mała litera y z dierezą",OElig:"Wielka ligatura OE",oelig:"Mała ligatura oe",372:"Wielka litera W z akcentem przeciągłym",374:"Wielka litera Y z akcentem przeciągłym",373:"Mała litera w z akcentem przeciągłym", +375:"Mała litera y z akcentem przeciągłym",sbquo:"Pojedynczy apostrof dolny",8219:"Pojedynczy apostrof górny",bdquo:"Podwójny apostrof dolny",hellip:"Wielokropek",trade:"Znak towarowy",9658:"Czarny wskaźnik wskazujący w prawo",bull:"Punktor",rarr:"Strzałka w prawo",rArr:"Podwójna strzałka w prawo",hArr:"Podwójna strzałka obustronna",diams:"Czarny znak karo",asymp:"Znak prawie równe"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt-br.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt-br.js new file mode 100644 index 0000000..b8486af --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt-br.js @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","pt-br",{euro:"Euro",lsquo:"Aspas simples esquerda",rsquo:"Aspas simples direita",ldquo:"Aspas duplas esquerda",rdquo:"Aspas duplas direita",ndash:"Traço",mdash:"Travessão",iexcl:"Ponto de exclamação invertido",cent:"Cent",pound:"Cerquilha",curren:"Dinheiro",yen:"Yen",brvbar:"Bara interrompida",sect:"Símbolo de Parágrafo",uml:"Trema",copy:"Direito de Cópia",ordf:"Indicador ordinal feminino",laquo:"Aspas duplas angulares esquerda",not:"Negação",reg:"Marca Registrada", +macr:"Mácron",deg:"Grau",sup2:"2 Superscrito",sup3:"3 Superscrito",acute:"Acento agudo",micro:"Micro",para:"Pé de mosca",middot:"Ponto mediano",cedil:"Cedilha",sup1:"1 Superscrito",ordm:"Indicador ordinal masculino",raquo:"Aspas duplas angulares direita",frac14:"Um quarto",frac12:"Um meio",frac34:"Três quartos",iquest:"Interrogação invertida",Agrave:"A maiúsculo com acento grave",Aacute:"A maiúsculo com acento agudo",Acirc:"A maiúsculo com acento circunflexo",Atilde:"A maiúsculo com til",Auml:"A maiúsculo com trema", +Aring:"A maiúsculo com anel acima",AElig:"Æ maiúsculo",Ccedil:"Ç maiúlculo",Egrave:"E maiúsculo com acento grave",Eacute:"E maiúsculo com acento agudo",Ecirc:"E maiúsculo com acento circumflexo",Euml:"E maiúsculo com trema",Igrave:"I maiúsculo com acento grave",Iacute:"I maiúsculo com acento agudo",Icirc:"I maiúsculo com acento circunflexo",Iuml:"I maiúsculo com crase",ETH:"Eth maiúsculo",Ntilde:"N maiúsculo com til",Ograve:"O maiúsculo com acento grave",Oacute:"O maiúsculo com acento agudo",Ocirc:"O maiúsculo com acento circunflexo", +Otilde:"O maiúsculo com til",Ouml:"O maiúsculo com trema",times:"Multiplicação",Oslash:"Diâmetro",Ugrave:"U maiúsculo com acento grave",Uacute:"U maiúsculo com acento agudo",Ucirc:"U maiúsculo com acento circunflexo",Uuml:"U maiúsculo com trema",Yacute:"Y maiúsculo com acento agudo",THORN:"Thorn maiúsculo",szlig:"Eszett minúsculo",agrave:"a minúsculo com acento grave",aacute:"a minúsculo com acento agudo",acirc:"a minúsculo com acento circunflexo",atilde:"a minúsculo com til",auml:"a minúsculo com trema", +aring:"a minúsculo com anel acima",aelig:"æ minúsculo",ccedil:"ç minúsculo",egrave:"e minúsculo com acento grave",eacute:"e minúsculo com acento agudo",ecirc:"e minúsculo com acento circunflexo",euml:"e minúsculo com trema",igrave:"i minúsculo com acento grave",iacute:"i minúsculo com acento agudo",icirc:"i minúsculo com acento circunflexo",iuml:"i minúsculo com trema",eth:"eth minúsculo",ntilde:"n minúsculo com til",ograve:"o minúsculo com acento grave",oacute:"o minúsculo com acento agudo",ocirc:"o minúsculo com acento circunflexo", +otilde:"o minúsculo com til",ouml:"o minúsculo com trema",divide:"Divisão",oslash:"o minúsculo com cortado ou diâmetro",ugrave:"u minúsculo com acento grave",uacute:"u minúsculo com acento agudo",ucirc:"u minúsculo com acento circunflexo",uuml:"u minúsculo com trema",yacute:"y minúsculo com acento agudo",thorn:"thorn minúsculo",yuml:"y minúsculo com trema",OElig:"Ligação tipográfica OE maiúscula",oelig:"Ligação tipográfica oe minúscula",372:"W maiúsculo com acento circunflexo",374:"Y maiúsculo com acento circunflexo", +373:"w minúsculo com acento circunflexo",375:"y minúsculo com acento circunflexo",sbquo:"Aspas simples inferior direita",8219:"Aspas simples superior esquerda",bdquo:"Aspas duplas inferior direita",hellip:"Reticências",trade:"Trade mark",9658:"Ponta de seta preta para direita",bull:"Ponto lista",rarr:"Seta para direita",rArr:"Seta dupla para direita",hArr:"Seta dupla direita e esquerda",diams:"Ouros",asymp:"Aproximadamente"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt.js new file mode 100644 index 0000000..a94bd58 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/pt.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","pt",{euro:"Símbolo de Euro",lsquo:"Aspa esquerda simples",rsquo:"Aspa direita simples",ldquo:"Aspa esquerda dupla",rdquo:"Aspa direita dupla",ndash:"Travessão simples",mdash:"Travessão longo",iexcl:"Ponto de exclamação invertido",cent:"Símbolo de cêntimo",pound:"Símbolo de Libra",curren:"Símbolo de Moeda",yen:"Símbolo de Iene",brvbar:"Barra quebrada",sect:"Símbolo de secção",uml:"Trema",copy:"Símbolo de direitos de autor",ordf:"Indicador ordinal feminino",laquo:"Aspa esquerda ângulo duplo", +not:"Não símbolo",reg:"Símbolo de registado",macr:"Mácron",deg:"Símbolo de graus",sup2:"Expoente 2",sup3:"Expoente 3",acute:"Acento agudo",micro:"Símbolo de micro",para:"Símbolo de parágrafo",middot:"Ponto do meio",cedil:"Cedilha",sup1:"Expoente 1",ordm:"Indicador ordinal masculino",raquo:"Aspas ângulo duplo para a direita",frac14:"Fração vulgar 1/4",frac12:"Fração vulgar 1/2",frac34:"Fração vulgar 3/4",iquest:"Ponto de interrogação invertido",Agrave:"Letra maiúscula latina A com acento grave",Aacute:"Letra maiúscula latina A com acento agudo", +Acirc:"Letra maiúscula latina A com circunflexo",Atilde:"Letra maiúscula latina A com til",Auml:"Letra maiúscula latina A com trema",Aring:"Letra maiúscula latina A com sinal diacrítico",AElig:"Letra maiúscula latina Æ",Ccedil:"Letra maiúscula latina C com cedilha",Egrave:"Letra maiúscula latina E com acento grave",Eacute:"Letra maiúscula latina E com acento agudo",Ecirc:"Letra maiúscula latina E com circunflexo",Euml:"Letra maiúscula latina E com trema",Igrave:"Letra maiúscula latina I com acento grave", +Iacute:"Letra maiúscula latina I com acento agudo",Icirc:"Letra maiúscula latina I com cincunflexo",Iuml:"Letra maiúscula latina I com trema",ETH:"Letra maiúscula latina Eth (Ðð)",Ntilde:"Letra maiúscula latina N com til",Ograve:"Letra maiúscula latina O com acento grave",Oacute:"Letra maiúscula latina O com acento agudo",Ocirc:"Letra maiúscula latina I com circunflexo",Otilde:"Letra maiúscula latina O com til",Ouml:"Letra maiúscula latina O com trema",times:"Símbolo de multiplicação",Oslash:"Letra maiúscula O com barra", +Ugrave:"Letra maiúscula latina U com acento grave",Uacute:"Letra maiúscula latina U com acento agudo",Ucirc:"Letra maiúscula latina U com circunflexo",Uuml:"Letra maiúscula latina E com trema",Yacute:"Letra maiúscula latina Y com acento agudo",THORN:"Letra maiúscula latina Rúnico",szlig:"Letra minúscula latina s forte",agrave:"Letra minúscula latina a com acento grave",aacute:"Letra minúscula latina a com acento agudo",acirc:"Letra minúscula latina a com circunflexo",atilde:"Letra minúscula latina a com til", +auml:"Letra minúscula latina a com trema",aring:"Letra minúscula latina a com sinal diacrítico",aelig:"Letra minúscula latina æ",ccedil:"Letra minúscula latina c com cedilha",egrave:"Letra minúscula latina e com acento grave",eacute:"Letra minúscula latina e com acento agudo",ecirc:"Letra minúscula latina e com circunflexo",euml:"Letra minúscula latina e com trema",igrave:"Letra minúscula latina i com acento grave",iacute:"Letra minúscula latina i com acento agudo",icirc:"Letra minúscula latina i com circunflexo", +iuml:"Letra pequena latina i com trema",eth:"Letra minúscula latina eth",ntilde:"Letra minúscula latina n com til",ograve:"Letra minúscula latina o com acento grave",oacute:"Letra minúscula latina o com acento agudo",ocirc:"Letra minúscula latina o com circunflexo",otilde:"Letra minúscula latina o com til",ouml:"Letra minúscula latina o com trema",divide:"Símbolo de divisão",oslash:"Letra minúscula latina o com barra",ugrave:"Letra minúscula latina u com acento grave",uacute:"Letra minúscula latina u com acento agudo", +ucirc:"Letra minúscula latina u com circunflexo",uuml:"Letra minúscula latina u com trema",yacute:"Letra minúscula latina y com acento agudo",thorn:"Letra minúscula latina Rúnico",yuml:"Letra minúscula latina y com trema",OElig:"Ligadura maiúscula latina OE",oelig:"Ligadura minúscula latina oe",372:"Letra maiúscula latina W com circunflexo",374:"Letra maiúscula latina Y com circunflexo",373:"Letra minúscula latina w com circunflexo",375:"Letra minúscula latina y com circunflexo",sbquo:"Aspa Simples inferior-9", +8219:"Aspa simples superior invertida-9",bdquo:"Aspa duplas inferior-9",hellip:"Elipse horizontal ",trade:"Símbolo de marca registada",9658:"Ponteiro preto direito",bull:"Marca",rarr:"Seta para a direita",rArr:"Seta dupla para a direita",hArr:"Seta dupla direita esquerda",diams:"Naipe diamante preto",asymp:"Quase igual a "}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ru.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ru.js new file mode 100644 index 0000000..c021866 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ru.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ru",{euro:"Знак евро",lsquo:"Левая одинарная кавычка",rsquo:"Правая одинарная кавычка",ldquo:"Левая двойная кавычка",rdquo:"Левая двойная кавычка",ndash:"Среднее тире",mdash:"Длинное тире",iexcl:"перевёрнутый восклицательный знак",cent:"Цент",pound:"Фунт",curren:"Знак валюты",yen:"Йена",brvbar:"Вертикальная черта с разрывом",sect:"Знак параграфа",uml:"Умлаут",copy:"Знак охраны авторского права",ordf:"Указатель окончания женского рода ...ая",laquo:"Левая кавычка-«ёлочка»", +not:"Отрицание",reg:"Знак охраны смежных прав\\t",macr:"Макрон",deg:"Градус",sup2:"Надстрочное два",sup3:"Надстрочное три",acute:"Акут",micro:"Микро",para:"Абзац",middot:"Интерпункт",cedil:"Седиль",sup1:"Надстрочная единица",ordm:"Порядковое числительное",raquo:"Правая кавычка-«ёлочка»",frac14:"Одна четвертая",frac12:"Одна вторая",frac34:"Три четвёртых",iquest:"Перевёрнутый вопросительный знак",Agrave:"Латинская заглавная буква А с апострофом",Aacute:"Латинская заглавная буква A с ударением",Acirc:"Латинская заглавная буква А с циркумфлексом", +Atilde:"Латинская заглавная буква А с тильдой",Auml:"Латинская заглавная буква А с тремой",Aring:"Латинская заглавная буква А с кольцом над ней",AElig:"Латинская большая буква Æ",Ccedil:"Латинская заглавная буква C с седилью",Egrave:"Латинская заглавная буква Е с апострофом",Eacute:"Латинская заглавная буква Е с ударением",Ecirc:"Латинская заглавная буква Е с циркумфлексом",Euml:"Латинская заглавная буква Е с тремой",Igrave:"Латинская заглавная буква I с апострофом",Iacute:"Латинская заглавная буква I с ударением", +Icirc:"Латинская заглавная буква I с циркумфлексом",Iuml:"Латинская заглавная буква I с тремой",ETH:"Латинская большая буква Eth",Ntilde:"Латинская заглавная буква N с тильдой",Ograve:"Латинская заглавная буква O с апострофом",Oacute:"Латинская заглавная буква O с ударением",Ocirc:"Латинская заглавная буква O с циркумфлексом",Otilde:"Латинская заглавная буква O с тильдой",Ouml:"Латинская заглавная буква O с тремой",times:"Знак умножения",Oslash:"Латинская большая перечеркнутая O",Ugrave:"Латинская заглавная буква U с апострофом", +Uacute:"Латинская заглавная буква U с ударением",Ucirc:"Латинская заглавная буква U с циркумфлексом",Uuml:"Латинская заглавная буква U с тремой",Yacute:"Латинская заглавная буква Y с ударением",THORN:"Латинская заглавная буква Thorn",szlig:"Знак диеза",agrave:"Латинская маленькая буква a с апострофом",aacute:"Латинская маленькая буква a с ударением",acirc:"Латинская маленькая буква a с циркумфлексом",atilde:"Латинская маленькая буква a с тильдой",auml:"Латинская маленькая буква a с тремой",aring:"Латинская маленькая буква a с кольцом", +aelig:"Латинская маленькая буква æ",ccedil:"Латинская маленькая буква с с седилью",egrave:"Латинская маленькая буква е с апострофом",eacute:"Латинская маленькая буква е с ударением",ecirc:"Латинская маленькая буква е с циркумфлексом",euml:"Латинская маленькая буква е с тремой",igrave:"Латинская маленькая буква i с апострофом",iacute:"Латинская маленькая буква i с ударением",icirc:"Латинская маленькая буква i с циркумфлексом",iuml:"Латинская маленькая буква i с тремой",eth:"Латинская маленькая буква eth", +ntilde:"Латинская маленькая буква n с тильдой",ograve:"Латинская маленькая буква o с апострофом",oacute:"Латинская маленькая буква o с ударением",ocirc:"Латинская маленькая буква o с циркумфлексом",otilde:"Латинская маленькая буква o с тильдой",ouml:"Латинская маленькая буква o с тремой",divide:"Знак деления",oslash:"Латинская строчная перечеркнутая o",ugrave:"Латинская маленькая буква u с апострофом",uacute:"Латинская маленькая буква u с ударением",ucirc:"Латинская маленькая буква u с циркумфлексом", +uuml:"Латинская маленькая буква u с тремой",yacute:"Латинская маленькая буква y с ударением",thorn:"Латинская маленькая буква thorn",yuml:"Латинская маленькая буква y с тремой",OElig:"Латинская прописная лигатура OE",oelig:"Латинская строчная лигатура oe",372:"Латинская заглавная буква W с циркумфлексом",374:"Латинская заглавная буква Y с циркумфлексом",373:"Латинская маленькая буква w с циркумфлексом",375:"Латинская маленькая буква y с циркумфлексом",sbquo:"Нижняя одинарная кавычка",8219:"Правая одинарная кавычка", +bdquo:"Левая двойная кавычка",hellip:"Горизонтальное многоточие",trade:"Товарный знак",9658:"Черный указатель вправо",bull:"Маркер списка",rarr:"Стрелка вправо",rArr:"Двойная стрелка вправо",hArr:"Двойная стрелка влево-вправо",diams:"Черный ромб",asymp:"Примерно равно"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/si.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/si.js new file mode 100644 index 0000000..d6d445e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/si.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","si",{euro:"යුරෝ සලකුණ",lsquo:"වමේ තනි උපුටා දක්වීම ",rsquo:"දකුණේ තනි උපුටා දක්වීම ",ldquo:"වමේ දිත්ව උපුටා දක්වීම ",rdquo:"දකුණේ දිත්ව උපුටා දක්වීම ",ndash:"En dash",mdash:"Em dash",iexcl:"යටිකුරු හර්ෂදී ",cent:"Cent sign",pound:"Pound sign",curren:"මුල්‍යමය ",yen:"යෙන් ",brvbar:"Broken bar",sect:"තෙරේම් ",uml:"Diaeresis",copy:"පිටපත් අයිතිය ",ordf:"දර්ශකය",laquo:"Left-pointing double angle quotation mark",not:"සලකුණක් නොවේ",reg:"සලකුණක් ලියාපදිංචි කිරීම", +macr:"මුද්‍රිත ",deg:"සලකුණේ ",sup2:"උඩු ලකුණු දෙක",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent",Aacute:"Latin capital letter A with acute accent", +Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent", +Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent", +Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above", +aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde", +ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent", +thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Trade mark sign",9658:"Black right-pointing pointer", +bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sk.js new file mode 100644 index 0000000..83e1e2f --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sk.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","sk",{euro:"Znak eura",lsquo:"Ľavá jednoduchá úvodzovka",rsquo:"Pravá jednoduchá úvodzovka",ldquo:"Pravá dvojitá úvodzovka",rdquo:"Pravá dvojitá úvodzovka",ndash:"En pomlčka",mdash:"Em pomlčka",iexcl:"Obrátený výkričník",cent:"Znak centu",pound:"Znak libry",curren:"Znak meny",yen:"Znak jenu",brvbar:"Prerušená zvislá čiara",sect:"Znak odseku",uml:"Prehláska",copy:"Znak copyrightu",ordf:"Ženský indikátor rodu",laquo:"Znak dvojitých lomených úvodzoviek vľavo",not:"Logistický zápor", +reg:"Znak registrácie",macr:"Pomlčka nad",deg:"Znak stupňa",sup2:"Dvojka ako horný index",sup3:"Trojka ako horný index",acute:"Dĺžeň",micro:"Znak mikro",para:"Znak odstavca",middot:"Bodka uprostred",cedil:"Chvost vľavo",sup1:"Jednotka ako horný index",ordm:"Mužský indikátor rodu",raquo:"Znak dvojitých lomených úvodzoviek vpravo",frac14:"Obyčajný zlomok jedna štvrtina",frac12:"Obyčajný zlomok jedna polovica",frac34:"Obyčajný zlomok tri štvrtiny",iquest:"Otočený otáznik",Agrave:"Veľké písmeno latinky A s accentom", +Aacute:"Veľké písmeno latinky A s dĺžňom",Acirc:"Veľké písmeno latinky A s mäkčeňom",Atilde:"Veľké písmeno latinky A s tildou",Auml:"Veľké písmeno latinky A s dvoma bodkami",Aring:"Veľké písmeno latinky A s krúžkom nad",AElig:"Veľké písmeno latinky Æ",Ccedil:"Veľké písmeno latinky C s chvostom vľavo",Egrave:"Veľké písmeno latinky E s accentom",Eacute:"Veľké písmeno latinky E s dĺžňom",Ecirc:"Veľké písmeno latinky E s mäkčeňom",Euml:"Veľké písmeno latinky E s dvoma bodkami",Igrave:"Veľké písmeno latinky I s accentom", +Iacute:"Veľké písmeno latinky I s dĺžňom",Icirc:"Veľké písmeno latinky I s mäkčeňom",Iuml:"Veľké písmeno latinky I s dvoma bodkami",ETH:"Veľké písmeno latinky Eth",Ntilde:"Veľké písmeno latinky N s tildou",Ograve:"Veľké písmeno latinky O s accentom",Oacute:"Veľké písmeno latinky O s dĺžňom",Ocirc:"Veľké písmeno latinky O s mäkčeňom",Otilde:"Veľké písmeno latinky O s tildou",Ouml:"Veľké písmeno latinky O s dvoma bodkami",times:"Znak násobenia",Oslash:"Veľké písmeno latinky O preškrtnuté",Ugrave:"Veľké písmeno latinky U s accentom", +Uacute:"Veľké písmeno latinky U s dĺžňom",Ucirc:"Veľké písmeno latinky U s mäkčeňom",Uuml:"Veľké písmeno latinky U s dvoma bodkami",Yacute:"Veľké písmeno latinky Y s dĺžňom",THORN:"Veľké písmeno latinky Thorn",szlig:"Malé písmeno latinky ostré s",agrave:"Malé písmeno latinky a s accentom",aacute:"Malé písmeno latinky a s dĺžňom",acirc:"Malé písmeno latinky a s mäkčeňom",atilde:"Malé písmeno latinky a s tildou",auml:"Malé písmeno latinky a s dvoma bodkami",aring:"Malé písmeno latinky a s krúžkom nad", +aelig:"Malé písmeno latinky æ",ccedil:"Malé písmeno latinky c s chvostom vľavo",egrave:"Malé písmeno latinky e s accentom",eacute:"Malé písmeno latinky e s dĺžňom",ecirc:"Malé písmeno latinky e s mäkčeňom",euml:"Malé písmeno latinky e s dvoma bodkami",igrave:"Malé písmeno latinky i s accentom",iacute:"Malé písmeno latinky i s dĺžňom",icirc:"Malé písmeno latinky i s mäkčeňom",iuml:"Malé písmeno latinky i s dvoma bodkami",eth:"Malé písmeno latinky eth",ntilde:"Malé písmeno latinky n s tildou",ograve:"Malé písmeno latinky o s accentom", +oacute:"Malé písmeno latinky o s dĺžňom",ocirc:"Malé písmeno latinky o s mäkčeňom",otilde:"Malé písmeno latinky o s tildou",ouml:"Malé písmeno latinky o s dvoma bodkami",divide:"Znak delenia",oslash:"Malé písmeno latinky o preškrtnuté",ugrave:"Malé písmeno latinky u s accentom",uacute:"Malé písmeno latinky u s dĺžňom",ucirc:"Malé písmeno latinky u s mäkčeňom",uuml:"Malé písmeno latinky u s dvoma bodkami",yacute:"Malé písmeno latinky y s dĺžňom",thorn:"Malé písmeno latinky thorn",yuml:"Malé písmeno latinky y s dvoma bodkami", +OElig:"Veľká ligatúra latinky OE",oelig:"Malá ligatúra latinky OE",372:"Veľké písmeno latinky W s mäkčeňom",374:"Veľké písmeno latinky Y s mäkčeňom",373:"Malé písmeno latinky w s mäkčeňom",375:"Malé písmeno latinky y s mäkčeňom",sbquo:"Dolná jednoduchá 9-úvodzovka",8219:"Horná jednoduchá otočená 9-úvodzovka",bdquo:"Dolná dvojitá 9-úvodzovka",hellip:"Trojbodkový úvod",trade:"Znak ibchodnej značky",9658:"Čierny ukazovateľ smerujúci vpravo",bull:"Kruh",rarr:"Šípka vpravo",rArr:"Dvojitá šipka vpravo", +hArr:"Dvojitá šipka vľavo a vpravo",diams:"Čierne piky",asymp:"Skoro sa rovná"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sl.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sl.js new file mode 100644 index 0000000..8c5ef11 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sl.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","sl",{euro:"Znak za evro",lsquo:"Levi enojni narekovaj",rsquo:"Desni enojni narekovaj",ldquo:"Levi dvojni narekovaj",rdquo:"Desni dvojni narekovaj",ndash:"Pomišljaj",mdash:"Dolgi pomišljaj",iexcl:"Obrnjen klicaj",cent:"Znak za cent",pound:"Znak za funt",curren:"Znak valute",yen:"Znak za jen",brvbar:"Zlomljena črta",sect:"Znak za člen",uml:"Diereza",copy:"Znak avtorskih pravic",ordf:"Ženski zaporedni kazalnik",laquo:"Levi dvojni lomljeni narekovaj",not:"Znak za ne", +reg:"Registrirani znak",macr:"Nadčrtano",deg:"Znak za stopinje",sup2:"Nadpisano dva",sup3:"Nadpisano tri",acute:"Ostrivec",micro:"Znak za mikro",para:"Znak za odstavek",middot:"Usredinjena pika",cedil:"Cedilla",sup1:"Nadpisano ena",ordm:"Moški zaporedni kazalnik",raquo:"Desno obrnjen dvojni kotni narekovaj",frac14:"Ena četrtina",frac12:"Ena polovica",frac34:"Tri četrtine",iquest:"Obrnjen vprašaj",Agrave:"Velika latinska črka A s krativcem",Aacute:"Velika latinska črka A z ostrivcem",Acirc:"Velika latinska črka A s strešico", +Atilde:"Velika latinska črka A z tildo",Auml:"Velika latinska črka A z diaeresis-om",Aring:"Velika latinska črka A z obročem",AElig:"Velika latinska črka Æ",Ccedil:"Velika latinska črka C s cedillo",Egrave:"Velika latinska črka E s krativcem",Eacute:"Velika latinska črka E z ostrivcem",Ecirc:"Velika latinska črka E s strešico",Euml:"Velika latinska črka E z diaeresis-om",Igrave:"Velika latinska črka I s krativcem",Iacute:"Velika latinska črka I z ostrivcem",Icirc:"Velika latinska črka I s strešico", +Iuml:"Velika latinska črka I z diaeresis-om",ETH:"Velika latinska črka Eth",Ntilde:"Velika latinska črka N s tildo",Ograve:"Velika latinska črka O s krativcem",Oacute:"Velika latinska črka O z ostrivcem",Ocirc:"Velika latinska črka O s strešico",Otilde:"Velika latinska črka O s tildo",Ouml:"Velika latinska črka O z diaeresis-om",times:"Znak za množenje",Oslash:"Velika prečrtana latinska črka O",Ugrave:"Velika latinska črka U s krativcem",Uacute:"Velika latinska črka U z ostrivcem",Ucirc:"Velika latinska črka U s strešico", +Uuml:"Velika latinska črka U z diaeresis-om",Yacute:"Velika latinska črka Y z ostrivcem",THORN:"Velika latinska črka Thorn",szlig:"Mala ostra latinska črka s",agrave:"Mala latinska črka a s krativcem",aacute:"Mala latinska črka a z ostrivcem",acirc:"Mala latinska črka a s strešico",atilde:"Mala latinska črka a s tildo",auml:"Mala latinska črka a z diaeresis-om",aring:"Mala latinska črka a z obročem",aelig:"Mala latinska črka æ",ccedil:"Mala latinska črka c s cedillo",egrave:"Mala latinska črka e s krativcem", +eacute:"Mala latinska črka e z ostrivcem",ecirc:"Mala latinska črka e s strešico",euml:"Mala latinska črka e z diaeresis-om",igrave:"Mala latinska črka i s krativcem",iacute:"Mala latinska črka i z ostrivcem",icirc:"Mala latinska črka i s strešico",iuml:"Mala latinska črka i z diaeresis-om",eth:"Mala latinska črka eth",ntilde:"Mala latinska črka n s tildo",ograve:"Mala latinska črka o s krativcem",oacute:"Mala latinska črka o z ostrivcem",ocirc:"Mala latinska črka o s strešico",otilde:"Mala latinska črka o s tildo", +ouml:"Mala latinska črka o z diaeresis-om",divide:"Znak za deljenje",oslash:"Mala prečrtana latinska črka o",ugrave:"Mala latinska črka u s krativcem",uacute:"Mala latinska črka u z ostrivcem",ucirc:"Mala latinska črka u s strešico",uuml:"Mala latinska črka u z diaeresis-om",yacute:"Mala latinska črka y z ostrivcem",thorn:"Mala latinska črka thorn",yuml:"Mala latinska črka y z diaeresis-om",OElig:"Velika latinska ligatura OE",oelig:"Mala latinska ligatura oe",372:"Velika latinska črka W s strešico", +374:"Velika latinska črka Y s strešico",373:"Mala latinska črka w s strešico",375:"Mala latinska črka y s strešico",sbquo:"Enojni nizki-9 narekovaj",8219:"Enojni visoki-obrnjen-9 narekovaj",bdquo:"Dvojni nizki-9 narekovaj",hellip:"Horizontalni izpust",trade:"Znak blagovne znamke",9658:"Črni desno-usmerjen kazalec",bull:"Krogla",rarr:"Desno-usmerjena puščica",rArr:"Desno-usmerjena dvojna puščica",hArr:"Leva in desna dvojna puščica",diams:"Črna kara",asymp:"Skoraj enako"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sq.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sq.js new file mode 100644 index 0000000..f4fbecc --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sq.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","sq",{euro:"Shenja e Euros",lsquo:"Thonjëza majtas me një vi",rsquo:"Thonjëza djathtas me një vi",ldquo:"Thonjëza majtas",rdquo:"Thonjëza djathtas",ndash:"En viza lidhëse",mdash:"Em viza lidhëse",iexcl:"Pikëçuditëse e përmbysur",cent:"Shenja e Centit",pound:"Shejna e Funtit",curren:"Shenja e valutës",yen:"Shenja e Jenit",brvbar:"Viza e këputur",sect:"Shenja e pjesës",uml:"Diaeresis",copy:"Shenja e të drejtave të kopjimit",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Nuk ka shenjë",reg:"Shenja e të regjistruarit",macr:"Macron",deg:"Shenja e shkallës",sup2:"Super-skripta dy",sup3:"Super-skripta tre",acute:"Theks i mprehtë",micro:"Shjenja e Mikros",para:"Pilcrow sign",middot:"Pika e Mesme",cedil:"Hark nën shkronja",sup1:"Super-skripta një",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Thyesa një të katrat",frac12:"Thyesa një të dytat",frac34:"Thyesa tre të katrat",iquest:"Pikëpyetje e përmbysur",Agrave:"Shkronja e madhe latine A me theks të rëndë", +Aacute:"Shkronja e madhe latine A me theks akute",Acirc:"Shkronja e madhe latine A me theks lakor",Atilde:"Shkronja e madhe latine A me tildë",Auml:"Shkronja e madhe latine A me dy pika",Aring:"Shkronja e madhe latine A me unazë mbi",AElig:"Shkronja e madhe latine Æ",Ccedil:"Shkronja e madhe latine C me hark poshtë",Egrave:"Shkronja e madhe latine E me theks të rëndë",Eacute:"Shkronja e madhe latine E me theks akute",Ecirc:"Shkronja e madhe latine E me theks lakor",Euml:"Shkronja e madhe latine E me dy pika", +Igrave:"Shkronja e madhe latine I me theks të rëndë",Iacute:"Shkronja e madhe latine I me theks akute",Icirc:"Shkronja e madhe latine I me theks lakor",Iuml:"Shkronja e madhe latine I me dy pika",ETH:"Shkronja e madhe latine Eth",Ntilde:"Shkronja e madhe latine N me tildë",Ograve:"Shkronja e madhe latine O me theks të rëndë",Oacute:"Shkronja e madhe latine O me theks akute",Ocirc:"Shkronja e madhe latine O me theks lakor",Otilde:"Shkronja e madhe latine O me tildë",Ouml:"Shkronja e madhe latine O me dy pika", +times:"Shenja e shumëzimit",Oslash:"Shkronja e madhe latine O me vizë në mes",Ugrave:"Shkronja e madhe latine U me theks të rëndë",Uacute:"Shkronja e madhe latine U me theks akute",Ucirc:"Shkronja e madhe latine U me theks lakor",Uuml:"Shkronja e madhe latine U me dy pika",Yacute:"Shkronja e madhe latine Y me theks akute",THORN:"Shkronja e madhe latine Thorn",szlig:"Shkronja e vogë latine s e mprehtë",agrave:"Shkronja e vogë latine a me theks të rëndë",aacute:"Shkronja e vogë latine a me theks të mprehtë", +acirc:"Shkronja e vogël latine a me theks lakor",atilde:"Shkronja e vogël latine a me tildë",auml:"Shkronja e vogël latine a me dy pika",aring:"Shkronja e vogë latine a me unazë mbi",aelig:"Shkronja e vogë latine æ",ccedil:"Shkronja e vogël latine c me hark poshtë",egrave:"Shkronja e vogë latine e me theks të rëndë",eacute:"Shkronja e vogë latine e me theks të mprehtë",ecirc:"Shkronja e vogël latine e me theks lakor",euml:"Shkronja e vogël latine e me dy pika",igrave:"Shkronja e vogë latine i me theks të rëndë", +iacute:"Shkronja e vogë latine i me theks të mprehtë",icirc:"Shkronja e vogël latine i me theks lakor",iuml:"Shkronja e vogël latine i me dy pika",eth:"Shkronja e vogë latine eth",ntilde:"Shkronja e vogël latine n me tildë",ograve:"Shkronja e vogë latine o me theks të rëndë",oacute:"Shkronja e vogë latine o me theks të mprehtë",ocirc:"Shkronja e vogël latine o me theks lakor",otilde:"Shkronja e vogël latine o me tildë",ouml:"Shkronja e vogël latine o me dy pika",divide:"Shenja ndarëse",oslash:"Shkronja e vogël latine o me vizë në mes", +ugrave:"Shkronja e vogë latine u me theks të rëndë",uacute:"Shkronja e vogë latine u me theks të mprehtë",ucirc:"Shkronja e vogël latine u me theks lakor",uuml:"Shkronja e vogël latine u me dy pika",yacute:"Shkronja e vogë latine y me theks të mprehtë",thorn:"Shkronja e vogël latine thorn",yuml:"Shkronja e vogël latine y me dy pika",OElig:"Shkronja e madhe e bashkuar latine OE",oelig:"Shkronja e vogël e bashkuar latine oe",372:"Shkronja e madhe latine W me theks lakor",374:"Shkronja e madhe latine Y me theks lakor", +373:"Shkronja e vogël latine w me theks lakor",375:"Shkronja e vogël latine y me theks lakor",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Shenja e Simbolit Tregtarë",9658:"Black right-pointing pointer",bull:"Pulla",rarr:"Shigjeta djathtas",rArr:"Shenja të dyfishta djathtas",hArr:"Shigjeta e dyfishë majtas-djathtas",diams:"Black diamond suit",asymp:"Gati e barabar me"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sv.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sv.js new file mode 100644 index 0000000..ac1f4ac --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/sv.js @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","sv",{euro:"Eurotecken",lsquo:"Enkelt vänster citattecken",rsquo:"Enkelt höger citattecken",ldquo:"Dubbelt vänster citattecken",rdquo:"Dubbelt höger citattecken",ndash:"Snedstreck",mdash:"Långt tankstreck",iexcl:"Inverterad utropstecken",cent:"Centtecken",pound:"Pundtecken",curren:"Valutatecken",yen:"Yentecken",brvbar:"Brutet lodrätt streck",sect:"Paragraftecken",uml:"Diaeresis",copy:"Upphovsrättstecken",ordf:"Feminit ordningstalsindikator",laquo:"Vänsterställt dubbelt vinkelcitationstecken", +not:"Icke-tecken",reg:"Registrerad",macr:"Macron",deg:"Grader",sup2:"Upphöjt två",sup3:"Upphöjt tre",acute:"Akut accent",micro:"Mikrotecken",para:"Alinea",middot:"Centrerad prick",cedil:"Cedilj",sup1:"Upphöjt en",ordm:"Maskulina ordningsändelsen",raquo:"Högerställt dubbelt vinkelcitationstecken",frac14:"Bråktal - en kvart",frac12:"Bråktal - en halv",frac34:"Bråktal - tre fjärdedelar",iquest:"Inverterat frågetecken",Agrave:"Stort A med grav accent",Aacute:"Stort A med akutaccent",Acirc:"Stort A med circumflex", +Atilde:"Stort A med tilde",Auml:"Stort A med diaresis",Aring:"Stort A med ring ovan",AElig:"Stort Æ",Ccedil:"Stort C med cedilj",Egrave:"Stort E med grav accent",Eacute:"Stort E med aktuaccent",Ecirc:"Stort E med circumflex",Euml:"Stort E med diaeresis",Igrave:"Stort I med grav accent",Iacute:"Stort I med akutaccent",Icirc:"Stort I med circumflex",Iuml:"Stort I med diaeresis",ETH:"Stort Eth",Ntilde:"Stort N med tilde",Ograve:"Stort O med grav accent",Oacute:"Stort O med aktuaccent",Ocirc:"Stort O med circumflex", +Otilde:"Stort O med tilde",Ouml:"Stort O med diaeresis",times:"Multiplicera",Oslash:"Stor Ø",Ugrave:"Stort U med grav accent",Uacute:"Stort U med akutaccent",Ucirc:"Stort U med circumflex",Uuml:"Stort U med diaeresis",Yacute:"Stort Y med akutaccent",THORN:"Stort Thorn",szlig:"Litet dubbel-s/Eszett",agrave:"Litet a med grav accent",aacute:"Litet a med akutaccent",acirc:"Litet a med circumflex",atilde:"Litet a med tilde",auml:"Litet a med diaeresis",aring:"Litet a med ring ovan",aelig:"Bokstaven æ", +ccedil:"Litet c med cedilj",egrave:"Litet e med grav accent",eacute:"Litet e med akutaccent",ecirc:"Litet e med circumflex",euml:"Litet e med diaeresis",igrave:"Litet i med grav accent",iacute:"Litet i med akutaccent",icirc:"LItet i med circumflex",iuml:"Litet i med didaeresis",eth:"Litet eth",ntilde:"Litet n med tilde",ograve:"LItet o med grav accent",oacute:"LItet o med akutaccent",ocirc:"Litet o med circumflex",otilde:"LItet o med tilde",ouml:"Litet o med diaeresis",divide:"Division",oslash:"ø", +ugrave:"Litet u med grav accent",uacute:"Litet u med akutaccent",ucirc:"LItet u med circumflex",uuml:"Litet u med diaeresis",yacute:"Litet y med akutaccent",thorn:"Litet thorn",yuml:"Litet y med diaeresis",OElig:"Stor ligatur av OE",oelig:"Liten ligatur av oe",372:"Stort W med circumflex",374:"Stort Y med circumflex",373:"Litet w med circumflex",375:"Litet y med circumflex",sbquo:"Enkelt lågt 9-citationstecken",8219:"Enkelt högt bakvänt 9-citationstecken",bdquo:"Dubbelt lågt 9-citationstecken",hellip:"Horisontellt uteslutningstecken", +trade:"Varumärke",9658:"Svart högervänd pekare",bull:"Listpunkt",rarr:"Högerpil",rArr:"Dubbel högerpil",hArr:"Dubbel vänsterpil",diams:"Svart ruter",asymp:"Ungefär lika med"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/th.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/th.js new file mode 100644 index 0000000..9c2b307 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/th.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","th",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"สัญลักษณ์สกุลเงิน",yen:"สัญลักษณ์เงินเยน",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"สัญลักษณ์หัวข้อย่อย",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tr.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tr.js new file mode 100644 index 0000000..f5815b9 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tr.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","tr",{euro:"Euro işareti",lsquo:"Sol tek tırnak işareti",rsquo:"Sağ tek tırnak işareti",ldquo:"Sol çift tırnak işareti",rdquo:"Sağ çift tırnak işareti",ndash:"En tire",mdash:"Em tire",iexcl:"Ters ünlem işareti",cent:"Cent işareti",pound:"Pound işareti",curren:"Para birimi işareti",yen:"Yen işareti",brvbar:"Kırık bar",sect:"Bölüm işareti",uml:"İki sesli harfin ayrılması",copy:"Telif hakkı işareti",ordf:"Dişil sıralı gösterge",laquo:"Sol-işaret çift açı tırnak işareti", +not:"Not işareti",reg:"Kayıtlı işareti",macr:"Makron",deg:"Derece işareti",sup2:"İkili üstsimge",sup3:"Üçlü üstsimge",acute:"Aksan işareti",micro:"Mikro işareti",para:"Pilcrow işareti",middot:"Orta nokta",cedil:"Kedilla",sup1:"Üstsimge",ordm:"Eril sıralı gösterge",raquo:"Sağ işaret çift açı tırnak işareti",frac14:"Bayağı kesrin dörtte biri",frac12:"Bayağı kesrin bir yarım",frac34:"Bayağı kesrin dörtte üç",iquest:"Ters soru işareti",Agrave:"Aksanlı latin harfi",Aacute:"Aşırı aksanıyla Latin harfi", +Acirc:"Çarpık Latin harfi",Atilde:"Tilde latin harfi",Auml:"Sesli harf ayrılımlıı latin harfi",Aring:"Halkalı latin büyük A harfi",AElig:"Latin büyük Æ harfi",Ccedil:"Latin büyük C harfi ile kedilla",Egrave:"Aksanlı latin büyük E harfi",Eacute:"Aşırı vurgulu latin büyük E harfi",Ecirc:"Çarpık latin büyük E harfi",Euml:"Sesli harf ayrılımlıı latin büyük E harfi",Igrave:"Aksanlı latin büyük I harfi",Iacute:"Aşırı aksanlı latin büyük I harfi",Icirc:"Çarpık latin büyük I harfi",Iuml:"Sesli harf ayrılımlıı latin büyük I harfi", +ETH:"Latin büyük Eth harfi",Ntilde:"Tildeli latin büyük N harfi",Ograve:"Aksanlı latin büyük O harfi",Oacute:"Aşırı aksanlı latin büyük O harfi",Ocirc:"Çarpık latin büyük O harfi",Otilde:"Tildeli latin büyük O harfi",Ouml:"Sesli harf ayrılımlı latin büyük O harfi",times:"Çarpma işareti",Oslash:"Vurgulu latin büyük O harfi",Ugrave:"Aksanlı latin büyük U harfi",Uacute:"Aşırı aksanlı latin büyük U harfi",Ucirc:"Çarpık latin büyük U harfi",Uuml:"Sesli harf ayrılımlı latin büyük U harfi",Yacute:"Aşırı aksanlı latin büyük Y harfi", +THORN:"Latin büyük Thorn harfi",szlig:"Latin küçük keskin s harfi",agrave:"Aksanlı latin küçük a harfi",aacute:"Aşırı aksanlı latin küçük a harfi",acirc:"Çarpık latin küçük a harfi",atilde:"Tildeli latin küçük a harfi",auml:"Sesli harf ayrılımlı latin küçük a harfi",aring:"Halkalı latin küçük a harfi",aelig:"Latin büyük æ harfi",ccedil:"Kedillalı latin küçük c harfi",egrave:"Aksanlı latin küçük e harfi",eacute:"Aşırı aksanlı latin küçük e harfi",ecirc:"Çarpık latin küçük e harfi",euml:"Sesli harf ayrılımlı latin küçük e harfi", +igrave:"Aksanlı latin küçük i harfi",iacute:"Aşırı aksanlı latin küçük i harfi",icirc:"Çarpık latin küçük i harfi",iuml:"Sesli harf ayrılımlı latin küçük i harfi",eth:"Latin küçük eth harfi",ntilde:"Tildeli latin küçük n harfi",ograve:"Aksanlı latin küçük o harfi",oacute:"Aşırı aksanlı latin küçük o harfi",ocirc:"Çarpık latin küçük o harfi",otilde:"Tildeli latin küçük o harfi",ouml:"Sesli harf ayrılımlı latin küçük o harfi",divide:"Bölme işareti",oslash:"Vurgulu latin küçük o harfi",ugrave:"Aksanlı latin küçük u harfi", +uacute:"Aşırı aksanlı latin küçük u harfi",ucirc:"Çarpık latin küçük u harfi",uuml:"Sesli harf ayrılımlı latin küçük u harfi",yacute:"Aşırı aksanlı latin küçük y harfi",thorn:"Latin küçük thorn harfi",yuml:"Sesli harf ayrılımlı latin küçük y harfi",OElig:"Latin büyük bağlı OE harfi",oelig:"Latin küçük bağlı oe harfi",372:"Çarpık latin büyük W harfi",374:"Çarpık latin büyük Y harfi",373:"Çarpık latin küçük w harfi",375:"Çarpık latin küçük y harfi",sbquo:"Tek düşük-9 tırnak işareti",8219:"Tek yüksek-ters-9 tırnak işareti", +bdquo:"Çift düşük-9 tırnak işareti",hellip:"Yatay elips",trade:"Marka tescili işareti",9658:"Siyah sağ işaret işaretçisi",bull:"Koyu nokta",rarr:"Sağa doğru ok",rArr:"Sağa doğru çift ok",hArr:"Sol, sağ çift ok",diams:"Siyah elmas takımı",asymp:"Hemen hemen eşit"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tt.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tt.js new file mode 100644 index 0000000..1fef21e --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/tt.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","tt",{euro:"Евро тамгасы",lsquo:"Сул бер иңле куштырнаклар",rsquo:"Уң бер иңле куштырнаклар",ldquo:"Сул ике иңле куштырнаклар",rdquo:"Уң ике иңле куштырнаклар",ndash:"Кыска сызык",mdash:"Озын сызык",iexcl:"Әйләндерелгән өндәү билгесе",cent:"Цент тамгасы",pound:"Фунт тамгасы",curren:"Акча берәмлеге тамгасы",yen:"Иена тамгасы",brvbar:"Broken bar",sect:"Параграф билгесе",uml:"Диерезис",copy:"Хокук иясе булу билгесе",ordf:"Feminine ordinal indicator",laquo:"Ачылучы чыршысыман җәя", +not:"Юклык ишарəсе",reg:"Теркәләнгән булу билгесе",macr:"Макрон",deg:"Градус билгесе",sup2:"Икенче өске индекс",sup3:"Өченче өске индекс",acute:"Басым билгесе",micro:"Микро билгесе",para:"Параграф билгесе",middot:"Уртадагы нокта",cedil:"Седиль",sup1:"Беренче өске индекс",ordm:"Masculine ordinal indicator",raquo:"Ябылучы чыршысыман җәя",frac14:"Гади дүрттән бер билгесе",frac12:"Гади икедән бер билгесе",frac34:"Гади дүрттән өч билгесе",iquest:"Әйләндерелгән өндәү билгесе",Agrave:"Гравис белән латин A баш хәрефе", +Aacute:"Басым билгесе белән латин A баш хәрефе",Acirc:"Циркумфлекс белән латин A баш хәрефе",Atilde:"Тильда белән латин A баш хәрефе",Auml:"Диерезис белән латин A баш хәрефе",Aring:"Өстендә боҗра булган латин A баш хәрефе",AElig:"Латин Æ баш хәрефе",Ccedil:"Седиль белән латин C баш хәрефе",Egrave:"Гравис белән латин E баш хәрефе",Eacute:"Басым билгесе белән латин E баш хәрефе",Ecirc:"Циркумфлекс белән латин E баш хәрефе",Euml:"Диерезис белән латин E баш хәрефе",Igrave:"Гравис белән латин I баш хәрефе", +Iacute:"Басым билгесе белән латин I баш хәрефе",Icirc:"Циркумфлекс белән латин I баш хәрефе",Iuml:"Диерезис белән латин I баш хәрефе",ETH:"Латин Eth баш хәрефе",Ntilde:"Тильда белән латин N баш хәрефе",Ograve:"Гравис белән латин O баш хәрефе",Oacute:"Басым билгесе белән латин O баш хәрефе",Ocirc:"Циркумфлекс белән латин O баш хәрефе",Otilde:"Тильда белән латин O баш хәрефе",Ouml:"Диерезис белән латин O баш хәрефе",times:"Тапкырлау билгесе",Oslash:"Сызык белән латин O баш хәрефе",Ugrave:"Гравис белән латин U баш хәрефе", +Uacute:"Басым билгесе белән латин U баш хәрефе",Ucirc:"Циркумфлекс белән латин U баш хәрефе",Uuml:"Диерезис белән латин U баш хәрефе",Yacute:"Басым билгесе белән латин Y баш хәрефе",THORN:"Латин Thorn баш хәрефе",szlig:"Латин beta юл хәрефе",agrave:"Гравис белән латин a юл хәрефе",aacute:"Басым билгесе белән латин a юл хәрефе",acirc:"Циркумфлекс белән латин a юл хәрефе",atilde:"Тильда белән латин a юл хәрефе",auml:"Диерезис белән латин a юл хәрефе",aring:"Өстендә боҗра булган латин a юл хәрефе",aelig:"Латин æ юл хәрефе", +ccedil:"Седиль белән латин c юл хәрефе",egrave:"Гравис белән латин e юл хәрефе",eacute:"Басым билгесе белән латин e юл хәрефе",ecirc:"Циркумфлекс белән латин e юл хәрефе",euml:"Диерезис белән латин e юл хәрефе",igrave:"Гравис белән латин i юл хәрефе",iacute:"Басым билгесе белән латин i юл хәрефе",icirc:"Циркумфлекс белән латин i юл хәрефе",iuml:"Диерезис белән латин i юл хәрефе",eth:"Латин eth юл хәрефе",ntilde:"Тильда белән латин n юл хәрефе",ograve:"Гравис белән латин o юл хәрефе",oacute:"Басым билгесе белән латин o юл хәрефе", +ocirc:"Циркумфлекс белән латин o юл хәрефе",otilde:"Тильда белән латин o юл хәрефе",ouml:"Диерезис белән латин o юл хәрефе",divide:"Бүлү билгесе",oslash:"Сызык белән латин o юл хәрефе",ugrave:"Гравис белән латин u юл хәрефе",uacute:"Басым билгесе белән латин u юл хәрефе",ucirc:"Циркумфлекс белән латин u юл хәрефе",uuml:"Диерезис белән латин u юл хәрефе",yacute:"Басым билгесе белән латин y юл хәрефе",thorn:"Латин thorn юл хәрефе",yuml:"Диерезис белән латин y юл хәрефе",OElig:"Латин лигатура OE баш хәрефе", +oelig:"Латин лигатура oe юл хәрефе",372:"Циркумфлекс белән латин W баш хәрефе",374:"Циркумфлекс белән латин Y баш хәрефе",373:"Циркумфлекс белән латин w юл хәрефе",375:"Циркумфлекс белән латин y юл хәрефе",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Ятма эллипс",trade:"Сәүдә маркасы билгесе",9658:"Black right-pointing pointer",bull:"Маркер",rarr:"Уң якка ук",rArr:"Уң якка икеләтә ук",hArr:"Ике якка икеләтә ук",diams:"Black diamond suit", +asymp:"якынча"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ug.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ug.js new file mode 100644 index 0000000..68eaeb3 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/ug.js @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","ug",{euro:"ياۋرو بەلگىسى",lsquo:"يالاڭ پەش سول",rsquo:"يالاڭ پەش ئوڭ",ldquo:"قوش پەش سول",rdquo:"قوش پەش ئوڭ",ndash:"سىزىقچە",mdash:"سىزىق",iexcl:"ئۈندەش",cent:"تىيىن بەلگىسى",pound:"فوند ستېرلىڭ",curren:"پۇل بەلگىسى",yen:"ياپونىيە يىنى",brvbar:"ئۈزۈك بالداق",sect:"پاراگراف بەلگىسى",uml:"تاۋۇش ئايرىش بەلگىسى",copy:"نەشر ھوقۇقى بەلگىسى",ordf:"Feminine ordinal indicator",laquo:"قوش تىرناق سول",not:"غەيرى بەلگە",reg:"خەتلەتكەن تاۋار ماركىسى",macr:"سوزۇش بەلگىسى", +deg:"گىرادۇس بەلگىسى",sup2:"يۇقىرى ئىندېكىس 2",sup3:"يۇقىرى ئىندېكىس 3",acute:"ئۇرغۇ بەلگىسى",micro:"Micro sign",para:"ئابزاس بەلگىسى",middot:"ئوتتۇرا چېكىت",cedil:"ئاستىغا قوشۇلىدىغان بەلگە",sup1:"يۇقىرى ئىندېكىس 1",ordm:"Masculine ordinal indicator",raquo:"قوش تىرناق ئوڭ",frac14:"ئاددىي كەسىر تۆتتىن بىر",frac12:"ئاددىي كەسىر ئىككىدىن بىر",frac34:"ئاددىي كەسىر ئۈچتىن تۆرت",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent",Aacute:"Latin capital letter A with acute accent", +Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin Capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent", +Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"قوش پەش ئوڭ",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent", +Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above",aelig:"Latin small letter æ", +ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"تىك موللاق سوئال بەلگىسى",ograve:"Latin small letter o with grave accent", +oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"بۆلۈش بەلگىسى",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn", +yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"خەتلەتكەن تاۋار ماركىسى بەلگىسى",9658:"Black right-pointing pointer", +bull:"Bullet",rarr:"ئوڭ يا ئوق",rArr:"ئوڭ قوش سىزىق يا ئوق",hArr:"ئوڭ سول قوش سىزىق يا ئوق",diams:"ئۇيۇل غىچ",asymp:"تەخمىنەن تەڭ"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/uk.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/uk.js new file mode 100644 index 0000000..001c626 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/uk.js @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","uk",{euro:"Знак євро",lsquo:"Ліві одинарні лапки",rsquo:"Праві одинарні лапки",ldquo:"Ліві подвійні лапки",rdquo:"Праві подвійні лапки",ndash:"Середнє тире",mdash:"Довге тире",iexcl:"Перевернутий знак оклику",cent:"Знак цента",pound:"Знак фунта",curren:"Знак валюти",yen:"Знак єни",brvbar:"Переривчаста вертикальна лінія",sect:"Знак параграфу",uml:"Умлаут",copy:"Знак авторських прав",ordf:"Жіночий порядковий вказівник",laquo:"ліві вказівні подвійні кутові дужки", +not:"Заперечення",reg:"Знак охорони суміжних прав",macr:"Макрон",deg:"Знак градуса",sup2:"два у верхньому індексі",sup3:"три у верхньому індексі",acute:"Знак акута",micro:"Знак мікро",para:"Знак абзацу",middot:"Інтерпункт",cedil:"Седиль",sup1:"Один у верхньому індексі",ordm:"Чоловічий порядковий вказівник",raquo:"праві вказівні подвійні кутові дужки",frac14:"Одна четвертина",frac12:"Одна друга",frac34:"три четвертих",iquest:"Перевернутий знак питання",Agrave:"Велика латинська A з гравісом",Aacute:"Велика латинська А з акутом", +Acirc:"Велика латинська А з циркумфлексом",Atilde:"Велика латинська А з тильдою",Auml:"Велике латинське А з умлаутом",Aring:"Велика латинська A з кільцем згори",AElig:"Велика латинська Æ",Ccedil:"Велика латинська C з седиллю",Egrave:"Велика латинська E з гравісом",Eacute:"Велика латинська E з акутом",Ecirc:"Велика латинська E з циркумфлексом",Euml:"Велика латинська А з умлаутом",Igrave:"Велика латинська I з гравісом",Iacute:"Велика латинська I з акутом",Icirc:"Велика латинська I з циркумфлексом", +Iuml:"Велика латинська І з умлаутом",ETH:"Велика латинська Eth",Ntilde:"Велика латинська N з тильдою",Ograve:"Велика латинська O з гравісом",Oacute:"Велика латинська O з акутом",Ocirc:"Велика латинська O з циркумфлексом",Otilde:"Велика латинська O з тильдою",Ouml:"Велика латинська О з умлаутом",times:"Знак множення",Oslash:"Велика латинська перекреслена O ",Ugrave:"Велика латинська U з гравісом",Uacute:"Велика латинська U з акутом",Ucirc:"Велика латинська U з циркумфлексом",Uuml:"Велика латинська U з умлаутом", +Yacute:"Велика латинська Y з акутом",THORN:"Велика латинська Торн",szlig:"Мала латинська есцет",agrave:"Мала латинська a з гравісом",aacute:"Мала латинська a з акутом",acirc:"Мала латинська a з циркумфлексом",atilde:"Мала латинська a з тильдою",auml:"Мала латинська a з умлаутом",aring:"Мала латинська a з кільцем згори",aelig:"Мала латинська æ",ccedil:"Мала латинська C з седиллю",egrave:"Мала латинська e з гравісом",eacute:"Мала латинська e з акутом",ecirc:"Мала латинська e з циркумфлексом",euml:"Мала латинська e з умлаутом", +igrave:"Мала латинська i з гравісом",iacute:"Мала латинська i з акутом",icirc:"Мала латинська i з циркумфлексом",iuml:"Мала латинська i з умлаутом",eth:"Мала латинська Eth",ntilde:"Мала латинська n з тильдою",ograve:"Мала латинська o з гравісом",oacute:"Мала латинська o з акутом",ocirc:"Мала латинська o з циркумфлексом",otilde:"Мала латинська o з тильдою",ouml:"Мала латинська o з умлаутом",divide:"Знак ділення",oslash:"Мала латинська перекреслена o",ugrave:"Мала латинська u з гравісом",uacute:"Мала латинська u з акутом", +ucirc:"Мала латинська u з циркумфлексом",uuml:"Мала латинська u з умлаутом",yacute:"Мала латинська y з акутом",thorn:"Мала латинська торн",yuml:"Мала латинська y з умлаутом",OElig:"Велика латинська лігатура OE",oelig:"Мала латинська лігатура oe",372:"Велика латинська W з циркумфлексом",374:"Велика латинська Y з циркумфлексом",373:"Мала латинська w з циркумфлексом",375:"Мала латинська y з циркумфлексом",sbquo:"Одиничні нижні лабки",8219:"Верхні одиничні обернені лабки",bdquo:"Подвійні нижні лабки", +hellip:"Три крапки",trade:"Знак торгової марки",9658:"Чорний правий вказівник",bull:"Маркер списку",rarr:"Стрілка вправо",rArr:"Подвійна стрілка вправо",hArr:"Подвійна стрілка вліво-вправо",diams:"Чорний діамонт",asymp:"Наближено дорівнює"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/vi.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/vi.js new file mode 100644 index 0000000..3bf84b6 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/vi.js @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","vi",{euro:"Ký hiệu Euro",lsquo:"Dấu ngoặc đơn trái",rsquo:"Dấu ngoặc đơn phải",ldquo:"Dấu ngoặc đôi trái",rdquo:"Dấu ngoặc đôi phải",ndash:"Gạch ngang tiếng anh",mdash:"Gạch ngang Em",iexcl:"Chuyển đổi dấu chấm than",cent:"Ký tự tiền Mỹ",pound:"Ký tự tiền Anh",curren:"Ký tự tiền tệ",yen:"Ký tự tiền Yên Nhật",brvbar:"Thanh hỏng",sect:"Ký tự khu vực",uml:"Dấu tách đôi",copy:"Ký tự bản quyền",ordf:"Phần chỉ thị giống cái",laquo:"Chọn dấu ngoặc đôi trái",not:"Không có ký tự", +reg:"Ký tự đăng ký",macr:"Dấu nguyên âm dài",deg:"Ký tự độ",sup2:"Chữ trồi lên trên dạng 2",sup3:"Chữ trồi lên trên dạng 3",acute:"Dấu trọng âm",micro:"Ký tự micro",para:"Ký tự đoạn văn",middot:"Dấu chấm tròn",cedil:"Dấu móc lưới",sup1:"Ký tự trồi lên cấp 1",ordm:"Ký tự biểu hiện giống đực",raquo:"Chọn dấu ngoặc đôi phải",frac14:"Tỉ lệ một phần tư",frac12:"Tỉ lệ một nửa",frac34:"Tỉ lệ ba phần tư",iquest:"Chuyển đổi dấu chấm hỏi",Agrave:"Ký tự la-tinh viết hoa A với dấu huyền",Aacute:"Ký tự la-tinh viết hoa A với dấu sắc", +Acirc:"Ký tự la-tinh viết hoa A với dấu mũ",Atilde:"Ký tự la-tinh viết hoa A với dấu ngã",Auml:"Ký tự la-tinh viết hoa A với dấu hai chấm trên đầu",Aring:"Ký tự la-tinh viết hoa A với biểu tượng vòng tròn trên đầu",AElig:"Ký tự la-tinh viết hoa của Æ",Ccedil:"Ký tự la-tinh viết hoa C với dấu móc bên dưới",Egrave:"Ký tự la-tinh viết hoa E với dấu huyền",Eacute:"Ký tự la-tinh viết hoa E với dấu sắc",Ecirc:"Ký tự la-tinh viết hoa E với dấu mũ",Euml:"Ký tự la-tinh viết hoa E với dấu hai chấm trên đầu", +Igrave:"Ký tự la-tinh viết hoa I với dấu huyền",Iacute:"Ký tự la-tinh viết hoa I với dấu sắc",Icirc:"Ký tự la-tinh viết hoa I với dấu mũ",Iuml:"Ký tự la-tinh viết hoa I với dấu hai chấm trên đầu",ETH:"Viết hoa của ký tự Eth",Ntilde:"Ký tự la-tinh viết hoa N với dấu ngã",Ograve:"Ký tự la-tinh viết hoa O với dấu huyền",Oacute:"Ký tự la-tinh viết hoa O với dấu sắc",Ocirc:"Ký tự la-tinh viết hoa O với dấu mũ",Otilde:"Ký tự la-tinh viết hoa O với dấu ngã",Ouml:"Ký tự la-tinh viết hoa O với dấu hai chấm trên đầu", +times:"Ký tự phép toán nhân",Oslash:"Ký tự la-tinh viết hoa A với dấu ngã xuống",Ugrave:"Ký tự la-tinh viết hoa U với dấu huyền",Uacute:"Ký tự la-tinh viết hoa U với dấu sắc",Ucirc:"Ký tự la-tinh viết hoa U với dấu mũ",Uuml:"Ký tự la-tinh viết hoa U với dấu hai chấm trên đầu",Yacute:"Ký tự la-tinh viết hoa Y với dấu sắc",THORN:"Phần viết hoa của ký tự Thorn",szlig:"Ký tự viết nhỏ la-tinh của chữ s",agrave:"Ký tự la-tinh thường với dấu huyền",aacute:"Ký tự la-tinh thường với dấu sắc",acirc:"Ký tự la-tinh thường với dấu mũ", +atilde:"Ký tự la-tinh thường với dấu ngã",auml:"Ký tự la-tinh thường với dấu hai chấm trên đầu",aring:"Ký tự la-tinh viết thường với biểu tượng vòng tròn trên đầu",aelig:"Ký tự la-tinh viết thường của æ",ccedil:"Ký tự la-tinh viết thường của c với dấu móc bên dưới",egrave:"Ký tự la-tinh viết thường e với dấu huyền",eacute:"Ký tự la-tinh viết thường e với dấu sắc",ecirc:"Ký tự la-tinh viết thường e với dấu mũ",euml:"Ký tự la-tinh viết thường e với dấu hai chấm trên đầu",igrave:"Ký tự la-tinh viết thường i với dấu huyền", +iacute:"Ký tự la-tinh viết thường i với dấu sắc",icirc:"Ký tự la-tinh viết thường i với dấu mũ",iuml:"Ký tự la-tinh viết thường i với dấu hai chấm trên đầu",eth:"Ký tự la-tinh viết thường của eth",ntilde:"Ký tự la-tinh viết thường n với dấu ngã",ograve:"Ký tự la-tinh viết thường o với dấu huyền",oacute:"Ký tự la-tinh viết thường o với dấu sắc",ocirc:"Ký tự la-tinh viết thường o với dấu mũ",otilde:"Ký tự la-tinh viết thường o với dấu ngã",ouml:"Ký tự la-tinh viết thường o với dấu hai chấm trên đầu", +divide:"Ký hiệu phép tính chia",oslash:"Ký tự la-tinh viết thường o với dấu ngã",ugrave:"Ký tự la-tinh viết thường u với dấu huyền",uacute:"Ký tự la-tinh viết thường u với dấu sắc",ucirc:"Ký tự la-tinh viết thường u với dấu mũ",uuml:"Ký tự la-tinh viết thường u với dấu hai chấm trên đầu",yacute:"Ký tự la-tinh viết thường y với dấu sắc",thorn:"Ký tự la-tinh viết thường của chữ thorn",yuml:"Ký tự la-tinh viết thường y với dấu hai chấm trên đầu",OElig:"Ký tự la-tinh viết hoa gạch nối OE",oelig:"Ký tự la-tinh viết thường gạch nối OE", +372:"Ký tự la-tinh viết hoa W với dấu mũ",374:"Ký tự la-tinh viết hoa Y với dấu mũ",373:"Ký tự la-tinh viết thường w với dấu mũ",375:"Ký tự la-tinh viết thường y với dấu mũ",sbquo:"Dấu ngoặc đơn thấp số-9",8219:"Dấu ngoặc đơn đảo ngược số-9",bdquo:"Gấp đôi dấu ngoặc đơn số-9",hellip:"Tĩnh dược chiều ngang",trade:"Ký tự thương hiệu",9658:"Ký tự trỏ về hướng bên phải màu đen",bull:"Ký hiệu",rarr:"Mũi tên hướng bên phải",rArr:"Mũi tên hướng bên phải dạng đôi",hArr:"Mũi tên hướng bên trái dạng đôi",diams:"Ký hiệu hình thoi", +asymp:"Gần bằng với"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js new file mode 100644 index 0000000..eb64eaa --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","zh-cn",{euro:"欧元符号",lsquo:"左单引号",rsquo:"右单引号",ldquo:"左双引号",rdquo:"右双引号",ndash:"短划线",mdash:"长划线",iexcl:"竖翻叹号",cent:"分币符号",pound:"英镑符号",curren:"货币符号",yen:"日元符号",brvbar:"间断条",sect:"节标记",uml:"分音符",copy:"版权所有标记",ordf:"阴性顺序指示符",laquo:"左指双尖引号",not:"非标记",reg:"注册标记",macr:"长音符",deg:"度标记",sup2:"上标二",sup3:"上标三",acute:"锐音符",micro:"微符",para:"段落标记",middot:"中间点",cedil:"下加符",sup1:"上标一",ordm:"阳性顺序指示符",raquo:"右指双尖引号",frac14:"普通分数四分之一",frac12:"普通分数二分之一",frac34:"普通分数四分之三",iquest:"竖翻问号", +Agrave:"带抑音符的拉丁文大写字母 A",Aacute:"带锐音符的拉丁文大写字母 A",Acirc:"带扬抑符的拉丁文大写字母 A",Atilde:"带颚化符的拉丁文大写字母 A",Auml:"带分音符的拉丁文大写字母 A",Aring:"带上圆圈的拉丁文大写字母 A",AElig:"拉丁文大写字母 Ae",Ccedil:"带下加符的拉丁文大写字母 C",Egrave:"带抑音符的拉丁文大写字母 E",Eacute:"带锐音符的拉丁文大写字母 E",Ecirc:"带扬抑符的拉丁文大写字母 E",Euml:"带分音符的拉丁文大写字母 E",Igrave:"带抑音符的拉丁文大写字母 I",Iacute:"带锐音符的拉丁文大写字母 I",Icirc:"带扬抑符的拉丁文大写字母 I",Iuml:"带分音符的拉丁文大写字母 I",ETH:"拉丁文大写字母 Eth",Ntilde:"带颚化符的拉丁文大写字母 N",Ograve:"带抑音符的拉丁文大写字母 O",Oacute:"带锐音符的拉丁文大写字母 O",Ocirc:"带扬抑符的拉丁文大写字母 O",Otilde:"带颚化符的拉丁文大写字母 O", +Ouml:"带分音符的拉丁文大写字母 O",times:"乘号",Oslash:"带粗线的拉丁文大写字母 O",Ugrave:"带抑音符的拉丁文大写字母 U",Uacute:"带锐音符的拉丁文大写字母 U",Ucirc:"带扬抑符的拉丁文大写字母 U",Uuml:"带分音符的拉丁文大写字母 U",Yacute:"带抑音符的拉丁文大写字母 Y",THORN:"拉丁文大写字母 Thorn",szlig:"拉丁文小写字母清音 S",agrave:"带抑音符的拉丁文小写字母 A",aacute:"带锐音符的拉丁文小写字母 A",acirc:"带扬抑符的拉丁文小写字母 A",atilde:"带颚化符的拉丁文小写字母 A",auml:"带分音符的拉丁文小写字母 A",aring:"带上圆圈的拉丁文小写字母 A",aelig:"拉丁文小写字母 Ae",ccedil:"带下加符的拉丁文小写字母 C",egrave:"带抑音符的拉丁文小写字母 E",eacute:"带锐音符的拉丁文小写字母 E",ecirc:"带扬抑符的拉丁文小写字母 E",euml:"带分音符的拉丁文小写字母 E",igrave:"带抑音符的拉丁文小写字母 I", +iacute:"带锐音符的拉丁文小写字母 I",icirc:"带扬抑符的拉丁文小写字母 I",iuml:"带分音符的拉丁文小写字母 I",eth:"拉丁文小写字母 Eth",ntilde:"带颚化符的拉丁文小写字母 N",ograve:"带抑音符的拉丁文小写字母 O",oacute:"带锐音符的拉丁文小写字母 O",ocirc:"带扬抑符的拉丁文小写字母 O",otilde:"带颚化符的拉丁文小写字母 O",ouml:"带分音符的拉丁文小写字母 O",divide:"除号",oslash:"带粗线的拉丁文小写字母 O",ugrave:"带抑音符的拉丁文小写字母 U",uacute:"带锐音符的拉丁文小写字母 U",ucirc:"带扬抑符的拉丁文小写字母 U",uuml:"带分音符的拉丁文小写字母 U",yacute:"带抑音符的拉丁文小写字母 Y",thorn:"拉丁文小写字母 Thorn",yuml:"带分音符的拉丁文小写字母 Y",OElig:"拉丁文大写连字 Oe",oelig:"拉丁文小写连字 Oe",372:"带扬抑符的拉丁文大写字母 W",374:"带扬抑符的拉丁文大写字母 Y", +373:"带扬抑符的拉丁文小写字母 W",375:"带扬抑符的拉丁文小写字母 Y",sbquo:"单下 9 形引号",8219:"单高横翻 9 形引号",bdquo:"双下 9 形引号",hellip:"水平省略号",trade:"商标标志",9658:"实心右指指针",bull:"加重号",rarr:"向右箭头",rArr:"向右双线箭头",hArr:"左右双线箭头",diams:"实心方块纸牌",asymp:"约等于"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh.js new file mode 100644 index 0000000..7740871 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/lang/zh.js @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang("specialchar","zh",{euro:"歐元符號",lsquo:"左單引號",rsquo:"右單引號",ldquo:"左雙引號",rdquo:"右雙引號",ndash:"短破折號",mdash:"長破折號",iexcl:"倒置的驚嘆號",cent:"美分符號",pound:"英鎊符號",curren:"貨幣符號",yen:"日圓符號",brvbar:"破折號",sect:"章節符號",uml:"分音符號",copy:"版權符號",ordf:"雌性符號",laquo:"左雙角括號",not:"Not 符號",reg:"註冊商標符號",macr:"長音符號",deg:"度數符號",sup2:"上標字 2",sup3:"上標字 3",acute:"尖音符號",micro:"微",para:"段落符號",middot:"中間點",cedil:"字母 C 下面的尾型符號 ",sup1:"上標",ordm:"雄性符號",raquo:"右雙角括號",frac14:"四分之一符號",frac12:"二分之一符號",frac34:"四分之三符號", +iquest:"倒置的問號",Agrave:"拉丁大寫字母 A 帶抑音符號",Aacute:"拉丁大寫字母 A 帶尖音符號",Acirc:"拉丁大寫字母 A 帶揚抑符",Atilde:"拉丁大寫字母 A 帶波浪號",Auml:"拉丁大寫字母 A 帶分音符號",Aring:"拉丁大寫字母 A 帶上圓圈",AElig:"拉丁大寫字母 Æ",Ccedil:"拉丁大寫字母 C 帶下尾符號",Egrave:"拉丁大寫字母 E 帶抑音符號",Eacute:"拉丁大寫字母 E 帶尖音符號",Ecirc:"拉丁大寫字母 E 帶揚抑符",Euml:"拉丁大寫字母 E 帶分音符號",Igrave:"拉丁大寫字母 I 帶抑音符號",Iacute:"拉丁大寫字母 I 帶尖音符號",Icirc:"拉丁大寫字母 I 帶揚抑符",Iuml:"拉丁大寫字母 I 帶分音符號",ETH:"拉丁大寫字母 Eth",Ntilde:"拉丁大寫字母 N 帶波浪號",Ograve:"拉丁大寫字母 O 帶抑音符號",Oacute:"拉丁大寫字母 O 帶尖音符號",Ocirc:"拉丁大寫字母 O 帶揚抑符",Otilde:"拉丁大寫字母 O 帶波浪號", +Ouml:"拉丁大寫字母 O 帶分音符號",times:"乘號",Oslash:"拉丁大寫字母 O 帶粗線符號",Ugrave:"拉丁大寫字母 U 帶抑音符號",Uacute:"拉丁大寫字母 U 帶尖音符號",Ucirc:"拉丁大寫字母 U 帶揚抑符",Uuml:"拉丁大寫字母 U 帶分音符號",Yacute:"拉丁大寫字母 Y 帶尖音符號",THORN:"拉丁大寫字母 Thorn",szlig:"拉丁小寫字母 s",agrave:"拉丁小寫字母 a 帶抑音符號",aacute:"拉丁小寫字母 a 帶尖音符號",acirc:"拉丁小寫字母 a 帶揚抑符",atilde:"拉丁小寫字母 a 帶波浪號",auml:"拉丁小寫字母 a 帶分音符號",aring:"拉丁小寫字母 a 帶上圓圈",aelig:"拉丁小寫字母 æ",ccedil:"拉丁小寫字母 c 帶下尾符號",egrave:"拉丁小寫字母 e 帶抑音符號",eacute:"拉丁小寫字母 e 帶尖音符號",ecirc:"拉丁小寫字母 e 帶揚抑符",euml:"拉丁小寫字母 e 帶分音符號",igrave:"拉丁小寫字母 i 帶抑音符號", +iacute:"拉丁小寫字母 i 帶尖音符號",icirc:"拉丁小寫字母 i 帶揚抑符",iuml:"拉丁小寫字母 i 帶分音符號",eth:"拉丁小寫字母 eth",ntilde:"拉丁小寫字母 n 帶波浪號",ograve:"拉丁小寫字母 o 帶抑音符號",oacute:"拉丁小寫字母 o 帶尖音符號",ocirc:"拉丁小寫字母 o 帶揚抑符",otilde:"拉丁小寫字母 o 帶波浪號",ouml:"拉丁小寫字母 o 帶分音符號",divide:"除號",oslash:"拉丁小寫字母 o 帶粗線符號",ugrave:"拉丁小寫字母 u 帶抑音符號",uacute:"拉丁小寫字母 u 帶尖音符號",ucirc:"拉丁小寫字母 u 帶揚抑符",uuml:"拉丁小寫字母 u 帶分音符號",yacute:"拉丁小寫字母 y 帶尖音符號",thorn:"拉丁小寫字母 thorn",yuml:"拉丁小寫字母 y 帶分音符號",OElig:"拉丁大寫字母 OE",oelig:"拉丁小寫字母 oe",372:"拉丁大寫字母 W 帶揚抑符",374:"拉丁大寫字母 Y 帶揚抑符",373:"拉丁小寫字母 w 帶揚抑符", +375:"拉丁小寫字母 y 帶揚抑符",sbquo:"低 9 單引號",8219:"高 9 反轉單引號",bdquo:"低 9 雙引號",hellip:"水平刪節號",trade:"商標符號",9658:"黑色向右指箭號",bull:"項目符號",rarr:"向右箭號",rArr:"向右雙箭號",hArr:"左右雙箭號",diams:"黑鑽套裝",asymp:"約等於"}); \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/specialchar.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/specialchar.js new file mode 100644 index 0000000..012d34b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/specialchar/dialogs/specialchar.js @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("specialchar",function(k){var e,n=k.lang.specialchar,m=function(c){var b;c=c.data?c.data.getTarget():new CKEDITOR.dom.element(c);"a"==c.getName()&&(b=c.getChild(0).getHtml())&&(c.removeClass("cke_light_background"),e.hide(),c=k.document.createElement("span"),c.setHtml(b),k.insertText(c.getText()))},p=CKEDITOR.tools.addFunction(m),l,g=function(c,b){var a;b=b||c.data.getTarget();"span"==b.getName()&&(b=b.getParent());if("a"==b.getName()&&(a=b.getChild(0).getHtml())){l&&d(null,l); +var f=e.getContentElement("info","htmlPreview").getElement();e.getContentElement("info","charPreview").getElement().setHtml(a);f.setHtml(CKEDITOR.tools.htmlEncode(a));b.getParent().addClass("cke_light_background");l=b}},d=function(c,b){b=b||c.data.getTarget();"span"==b.getName()&&(b=b.getParent());"a"==b.getName()&&(e.getContentElement("info","charPreview").getElement().setHtml("\x26nbsp;"),e.getContentElement("info","htmlPreview").getElement().setHtml("\x26nbsp;"),b.getParent().removeClass("cke_light_background"), +l=void 0)},q=CKEDITOR.tools.addFunction(function(c){c=new CKEDITOR.dom.event(c);var b=c.getTarget(),a;a=c.getKeystroke();var f="rtl"==k.lang.dir;switch(a){case 38:if(a=b.getParent().getParent().getPrevious())a=a.getChild([b.getParent().getIndex(),0]),a.focus(),d(null,b),g(null,a);c.preventDefault();break;case 40:(a=b.getParent().getParent().getNext())&&(a=a.getChild([b.getParent().getIndex(),0]))&&1==a.type&&(a.focus(),d(null,b),g(null,a));c.preventDefault();break;case 32:m({data:c});c.preventDefault(); +break;case f?37:39:if(a=b.getParent().getNext())a=a.getChild(0),1==a.type?(a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):d(null,b);else if(a=b.getParent().getParent().getNext())(a=a.getChild([0,0]))&&1==a.type?(a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):d(null,b);break;case f?39:37:(a=b.getParent().getPrevious())?(a=a.getChild(0),a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):(a=b.getParent().getParent().getPrevious())?(a=a.getLast().getChild(0),a.focus(),d(null,b),g(null,a),c.preventDefault(!0)): +d(null,b)}});return{title:n.title,minWidth:430,minHeight:280,buttons:[CKEDITOR.dialog.cancelButton],charColumns:17,onLoad:function(){for(var c=this.definition.charColumns,b=k.config.specialChars,a=CKEDITOR.tools.getNextId()+"_specialchar_table_label",f=['\x3ctable role\x3d"listbox" aria-labelledby\x3d"'+a+'" style\x3d"width: 320px; height: 100%; border-collapse: separate;" align\x3d"center" cellspacing\x3d"2" cellpadding\x3d"2" border\x3d"0"\x3e'],d=0,g=b.length,h,e;dn&&(n=f)}return n}function r(a){return function(){var f=this.getValue(),f=!!(CKEDITOR.dialog.validate.integer()(f)&&0q.getSize("width")?"100%":500:0,getValue:u,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1", +a.lang.common.width)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("width",this.getValue())},setup:function(a){a=a.getStyle("width");this.setValue(a)},commit:l}]},{type:"hbox",widths:["5em"],children:[{type:"text",id:"txtHeight",requiredContent:"table{height}",controlStyle:"width:5em",label:a.lang.common.height,title:a.lang.common.cssLengthTooltip,"default":"",getValue:u,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1", +a.lang.common.height)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("height",this.getValue())},setup:function(a){(a=a.getStyle("height"))&&this.setValue(a)},commit:l}]},{type:"html",html:"\x26nbsp;"},{type:"text",id:"txtCellSpace",requiredContent:"table[cellspacing]",controlStyle:"width:3em",label:a.lang.table.cellSpace,"default":a.filter.check("table[cellspacing]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellSpacing), +setup:function(a){this.setValue(a.getAttribute("cellSpacing")||"")},commit:function(a,d){this.getValue()?d.setAttribute("cellSpacing",this.getValue()):d.removeAttribute("cellSpacing")}},{type:"text",id:"txtCellPad",requiredContent:"table[cellpadding]",controlStyle:"width:3em",label:a.lang.table.cellPad,"default":a.filter.check("table[cellpadding]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellPadding),setup:function(a){this.setValue(a.getAttribute("cellPadding")||"")},commit:function(a, +d){this.getValue()?d.setAttribute("cellPadding",this.getValue()):d.removeAttribute("cellPadding")}}]}]},{type:"html",align:"right",html:""},{type:"vbox",padding:0,children:[{type:"text",id:"txtCaption",requiredContent:"caption",label:a.lang.table.caption,setup:function(a){this.enable();a=a.getElementsByTag("caption");if(0OnRw~9=3yE0xyeE4CQ8$(2)Mz>8udZCXX=BRr7DZbW_#-a zYZEHlJM(KAEc4dditDMnJ4(CC+&uK06fIp0D*Z|wX5EYpGb{?;a*WKVoEoWp!Y!`y zeo4*}FFC(bZf@duda#%D-q zaHzPUxA@lRm;@PFNk%w1VPpVC0FeLyva+%O00960{{R30A^8LV00000EC2ui0Av7000092 zgpaAq?GK}zwAu@W-n{z{hT=$;9b%^H%BpA!$8!13_AS@=&Xal%3~GMDB93TG#*l%g z^9hYgr_`$T`us4l+^+W<)gC_JviY3#AeC&_xD98m<8-m1jvsB&<_@0q~XXRsCap^IRqK$(K#c!N9pBf82AawVH$?WN){q&IjedXiz+EX zOS+od%WDgp+d909toAG5`lTy-9D18rOxWx+T}>D*o&1Qa9n5V^96nACtqfi*?*05t zZSMX~zfpQ^<%jRPUfiDEO8=eEuB)DKv}S_cJW8uTxqL`=(AMXYB~Aenu4SM=e_ zrj6M`kqsZ_xrlC}y^5evW>krApudqWP2zFM5Fo{b%sA$2wGU)SI5vkKVQCad(WEn$ zGF`IFr&KONpB8ayRSwduHn4I{;q@zxs8h=VDkqjl*t8(;n#c+zd*_U=jy QeEa(S3plV~2n7HDJNoX*`2YX_ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/uploadimage/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/uploadimage/plugin.js new file mode 100644 index 0000000..4da1ab8 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/uploadimage/plugin.js @@ -0,0 +1,124 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +'use strict'; + +( function() { + CKEDITOR.plugins.add( 'uploadimage', { + requires: 'uploadwidget', + + onLoad: function() { + CKEDITOR.addCss( + '.cke_upload_uploading img{' + + 'opacity: 0.3' + + '}' + ); + }, + + init: function( editor ) { + // Do not execute this paste listener if it will not be possible to upload file. + if ( !CKEDITOR.plugins.clipboard.isFileApiSupported ) { + return; + } + + var fileTools = CKEDITOR.fileTools, + uploadUrl = fileTools.getUploadUrl( editor.config, 'image' ); + + if ( !uploadUrl ) { + CKEDITOR.error( 'uploadimage-config' ); + return; + } + + // Handle images which are available in the dataTransfer. + fileTools.addUploadWidget( editor, 'uploadimage', { + supportedTypes: /image\/(jpeg|png|gif|bmp)/, + + uploadUrl: uploadUrl, + + fileToElement: function() { + var img = new CKEDITOR.dom.element( 'img' ); + img.setAttribute( 'src', loadingImage ); + return img; + }, + + parts: { + img: 'img' + }, + + onUploading: function( upload ) { + // Show the image during the upload. + this.parts.img.setAttribute( 'src', upload.data ); + }, + + onUploaded: function( upload ) { + // Width and height could be returned by server (#13519). + var $img = this.parts.img.$, + width = upload.responseData.width || $img.naturalWidth, + height = upload.responseData.height || $img.naturalHeight; + + // Set width and height to prevent blinking. + this.replaceWith( '' ); + } + } ); + + // Handle images which are not available in the dataTransfer. + // This means that we need to read them from the elements. + editor.on( 'paste', function( evt ) { + // For performance reason do not parse data if it does not contain img tag and data attribute. + if ( !evt.data.dataValue.match( /', objectNode.getDocument() ); + param.setAttributes({ name: attrDef.name, value: value } ); + if ( objectNode.getChildCount() < 1 ) + param.appendTo( objectNode ); + else + param.insertBefore( objectNode.getFirst() ); + } + } + break; + case ATTRTYPE_EMBED: + if ( !embedNode ) + continue; + value = this.getValue(); + if ( isRemove || isCheckbox && value === attrDef[ 'default' ] ) + embedNode.removeAttribute( attrDef.name ); + else + embedNode.setAttribute( attrDef.name, value ); + } + } + } + + CKEDITOR.dialog.add( 'videoplayer', function( editor ) { + var makeObjectTag = !editor.config.videoEmbedTagOnly, + makeEmbedTag = editor.config.videoAddEmbedTag || editor.config.videoEmbedTagOnly; + + var previewPreloader, + previewAreaHtml = '
          ' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) + '
          ' + + '' + + '
          '; + + return { + title: editor.lang.videoplayer.title, + minWidth: 420, + minHeight: 310, + onShow: function() { + // Clear previously saved elements. + this.fakeImage = this.objectNode = this.embedNode = null; + previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document ); + + // Try to detect any embed or object tag that has Flash parameters. + var fakeImage = this.getSelectedElement(); + if (fakeImage && fakeImage.data('cke-real-element-type') && fakeImage.data('cke-real-element-type') == 'videoplayer') { + this.fakeImage = fakeImage; + + var realElement = editor.restoreRealElement(fakeImage), + objectNode = null, + embedNode = null, + paramMap = {}; + + if (realElement.getName() == 'cke:object') { + objectNode = realElement; + var embedList = objectNode.getElementsByTag('embed', 'cke'); + if (embedList.count() > 0) + embedNode = embedList.getItem(0); + var paramList = objectNode.getElementsByTag('param', 'cke'); + for (var i = 0, length = paramList.count() ; i < length; i++) { + var item = paramList.getItem(i), + name = item.getAttribute('name'), + value = item.getAttribute('value'); + paramMap[name] = value; + } + } else if (realElement.getName() == 'cke:embed') + embedNode = realElement; + + this.objectNode = objectNode; + this.embedNode = embedNode; + + this.setupContent(objectNode, embedNode, paramMap, fakeImage); + } + }, + onOk: function() { + // If there's no selected object or embed, create one. Otherwise, reuse the + // selected object and embed nodes. + var objectNode = null, + embedNode = null, + paramMap = null; + if ( !this.fakeImage ) { + if ( makeObjectTag ) { + objectNode = CKEDITOR.dom.element.createFromHtml( '', editor.document ); + var attributes = { + classid: 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6', + type: 'application/x-oleobject', + codebase: 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715' + }; + objectNode.setAttributes( attributes ); + } + if ( makeEmbedTag ) { + embedNode = CKEDITOR.dom.element.createFromHtml( '', editor.document ); + embedNode.setAttributes({ + type: 'application/x-mplayer2', + border:'0', + pluginspage: 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715' + }); + var otherName = null; + for (var i = 0; i < otherAttributesMap.length; i++) { + otherName = otherAttributesMap[i][0]; + embedNode.setAttribute(otherName.name, otherName.value); + } + if (objectNode) + embedNode.appendTo(objectNode); + + } + } else { + objectNode = this.objectNode; + embedNode = this.embedNode; + } + + // Produce the paramMap if there's an object tag. + if (objectNode) { + + for (var i = 0; i < otherAttributesMap.length; i++) { + var param = CKEDITOR.dom.element.createFromHtml('', objectNode.getDocument()); + param.setAttributes({ name: otherAttributesMap[i][0].name, value: otherAttributesMap[i][0].value }); + if (objectNode.getChildCount() < 1) + param.appendTo(objectNode); + else + param.insertBefore(objectNode.getFirst()); + } + + paramMap = {}; + var paramList = objectNode.getElementsByTag('param', 'cke'); + for (var i = 0, length = paramList.count() ; i < length; i++) + paramMap[paramList.getItem(i).getAttribute('name')] = paramList.getItem(i); + } + + // A subset of the specified attributes/styles + // should also be applied on the fake element to + // have better visual effect. (#5240) + var extraStyles = {}, + extraAttributes = {}; + this.commitContent( objectNode, embedNode, paramMap, extraStyles, extraAttributes ); + + // Refresh the fake image. + var newFakeImage = editor.createFakeElement( objectNode || embedNode, 'cke_videoplayer', 'videoplayer', true ); + newFakeImage.setAttributes( extraAttributes ); + newFakeImage.setStyles( extraStyles ); + if ( this.fakeImage ) { + newFakeImage.replace( this.fakeImage ); + editor.getSelection().selectElement( newFakeImage ); + } else + editor.insertElement( newFakeImage ); + }, + + onHide: function() { + if ( this.preview ) + this.preview.setHtml( '' ); + }, + + contents: [ + { + id: 'info', + label: editor.lang.videoplayer.info, + accessKey: 'I', + elements: [ + { + type: 'vbox', + padding: 0, + children: [ + { + type: 'hbox', + widths: [ '280px', '110px' ], + align: 'right', + children: [ + { + id: 'src', + type: 'text', + label: editor.lang.common.url, + required: true, + validate: CKEDITOR.dialog.validate.notEmpty(editor.lang.videoplayer.validateSrc), + setup: loadValue, + commit: commitValue, + onLoad: function() { + var dialog = this.getDialog(), + updatePreview = function( src ) { + // Query the preloader to figure out the url impacted by based href. + previewPreloader.setAttribute( 'src', src ); + dialog.preview.setHtml( ''); + }; + // Preview element + dialog.preview = dialog.getContentElement( 'info', 'preview' ).getElement().getChild( 3 ); + + // Sync on inital value loaded. + this.on( 'change', function( evt ) { + + if ( evt.data && evt.data.value ) + updatePreview( evt.data.value ); + }); + // Sync when input value changed. + this.getInputElement().on( 'change', function( evt ) { + + updatePreview( this.getValue() ); + }, this ); + } + }, + { + type: 'button', + id: 'browse', + filebrowser: 'info:src', + hidden: true, + // v-align with the 'src' field. + // TODO: We need something better than a fixed size here. + style: 'display:inline-block;margin-top:10px;', + label: editor.lang.common.browseServer + } + ] + } + ] + }, + { + type: 'hbox', + widths: ['25%', '25%', '25%', '25%', '25%'], + children: [ + { + type: 'text', + id: 'id', + 'default': 'videoplayer', + label: editor.lang.common.id, + style: 'width:190px', + setup: loadValue, + commit: commitValue + }, + { + type: 'text', + id: 'width', + 'default': '320px', + style: 'width:95px', + label: editor.lang.common.width, + validate: CKEDITOR.dialog.validate.htmlLength(editor.lang.common.invalidHtmlLength.replace('%1', editor.lang.common.width)), + setup: loadValue, + commit: commitValue + }, + { + type: 'text', + id: 'height', + 'default': '240px', + style: 'width:95px', + label: editor.lang.common.height, + validate: CKEDITOR.dialog.validate.htmlLength(editor.lang.common.invalidHtmlLength.replace('%1', editor.lang.common.height)), + setup: loadValue, + commit: commitValue + } + ] + }, + + { + type: 'vbox', + children: [ + { + type: 'html', + id: 'preview', + style: 'width:95%;', + html: previewAreaHtml + } + ] + } + ] + }, + { + id: 'Upload', + hidden: true, + filebrowser: 'uploadButton', + label: editor.lang.common.upload, + elements: [ + { + type: 'file', + id: 'upload', + label: editor.lang.common.upload, + size: 38 + }, + { + type: 'fileButton', + id: 'uploadButton', + label: editor.lang.common.uploadSubmit, + filebrowser: 'info:src', + 'for': [ 'Upload', 'upload' ] + } + ] + }, + { + id: 'properties', + label: editor.lang.videoplayer.propertiesTab, + elements: [ + { + type: 'hbox', + widths: ['50%', '50%'], + children: [ + { + id: 'wmode', + type: 'select', + label: editor.lang.videoplayer.windowMode, + 'default': '', + style: 'width : 100%;', + items: [ + [editor.lang.common.notSet, ''], + [editor.lang.videoplayer.windowModeWindow, 'window'], + [editor.lang.videoplayer.windowModeOpaque, 'opaque'], + [editor.lang.videoplayer.windowModeTransparent, 'transparent'] + ], + setup: loadValue, + commit: commitValue + }, + { + type: 'select', + id: 'uiMode', + label: editor.lang.videoplayer.chkuiMode, + items: [[editor.lang.videoplayer.chkuiModefull, 'full'], + [editor.lang.videoplayer.chkuiModemini, 'mini'], + [editor.lang.videoplayer.chkuiModenone, 'none'], + [editor.lang.videoplayer.chkuiModeinvisible, 'invisible']], + 'default': 'full', + style: 'width : 100%;', + setup: loadValue, + commit: commitValue + } + ] + }, + { + type: 'hbox', + widths: ['50%', '50%'], + children: [ + { + type: 'html', + html: '
          ' + } + ] + }, + { + type: 'fieldset', + label: CKEDITOR.tools.htmlEncode(editor.lang.videoplayer.flashvars), + children: [ + { + type: 'hbox', + widths: ['25%', '25%', '25%', '25%'], + children: [ + { + type: 'select', + id: 'AutoStart', + label: editor.lang.videoplayer.chkAutoStart, + 'default': '1', + style: 'width : 100%;', + items: [[editor.lang.videoplayer.yes, '1'], [editor.lang.videoplayer.no, '0']], + setup: loadValue, + commit: commitValue + }, + { + type: 'select', + id: 'EnableContextMenu', + label: editor.lang.videoplayer.chkEnableContextMenu, + items: [[editor.lang.videoplayer.yes, '1'], [editor.lang.videoplayer.no, '0']], + 'default': '1', + style: 'width : 100%;', + setup: loadValue, + commit: commitValue + }, + { + type: 'select', + id: 'fullScreen', + label: editor.lang.videoplayer.chkfullScreen, + items: [[editor.lang.videoplayer.yes, '1'], [editor.lang.videoplayer.no, '0']], + 'default': '0', + style: 'width : 100%;', + setup: loadValue, + commit: commitValue + }, + { + type: 'select', + id: 'windowlessVideo', + label: editor.lang.videoplayer.chkwindowlessVideo, + items: [[editor.lang.videoplayer.yes, '1'], [editor.lang.videoplayer.no, '0']], + 'default': '1', + style: 'width : 100%;', + setup: loadValue, + commit: commitValue + } + ] + } + ] + }, + { + type: 'hbox', + widths: ['50%', '50%'], + children: [ + { + type: 'html', + html: '
          ' + } + ] + }, + { + type: 'hbox', + widths: ['45%', '55%'], + children: [ + { + type: 'text', + id: 'bgcolor', + label: editor.lang.videoplayer.bgcolor, + setup: loadValue, + commit: commitValue + }, + { + type: 'text', + id: 'class', + label: editor.lang.common.cssClass, + setup: loadValue, + commit: commitValue + } + ] + }, + { + type: 'text', + id: 'style', + validate: CKEDITOR.dialog.validate.inlineStyle(editor.lang.common.invalidInlineStyle), + label: editor.lang.common.cssStyle, + setup: loadValue, + commit: commitValue + } + + ] + } + ] + }; + }); +})(); +/* '; + ;// + ;// + // + // + ;// + ;// + ;// + ;// + ;// + ;// + ;// + ;// + ;// + ;// + ; // + ;// + ;// + ;// + ;// + ;// + ;// + ;// + ;// */ \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/icons/videoplayer.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/icons/videoplayer.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc0ac04593be313b0ea69d680aca1d90c9058c0 GIT binary patch literal 3609 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/images/placeholder.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/images/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..edbb4e4b0f1d1e25c14aea35c982c7f9004078c7 GIT binary patch literal 6596 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/lang/zh-cn.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/lang/zh-cn.js new file mode 100644 index 0000000..276909b --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/lang/zh-cn.js @@ -0,0 +1,28 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'videoplayer', 'zh-cn', { + yes: '是', + no:'否', + bgcolor: '背景颜色', + chkfullScreen: '启用全屏', + chkEnableContextMenu: '启用上下文菜单', + chkAutoStart: '自动播放', + chkwindowlessVideo: '窗口播放', + chkuiMode: '显示模式', + chkuiModefull: '显示全部', + chkuiModemini: '最简化显示', + chkuiModenone: '只显示视频', + chkuiModeinvisible: '全部不显示', + flashvars: '视频变量', + properties: '视频属性', + propertiesTab: '属性', + info: '视频', + title: '插入视频', + toolbar:'插入视频', + windowMode: '窗体模式', + windowModeOpaque: '不透明', + windowModeTransparent: '透明', + windowModeWindow: '窗体' +}); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/plugin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/plugin.js new file mode 100644 index 0000000..af99982 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/videoplayer/plugin.js @@ -0,0 +1,134 @@ +/* +Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +(function() +{ + function isVideoEmbed(element) { + var attributes = element.attributes; + return ((attributes.type == 'application/x-mplayer2') && true); + + } + + function createFakeElement(editor, realElement) { + return editor.createFakeParserElement(realElement, 'cke_videoplayer', 'videoplayer', true); + } + + CKEDITOR.plugins.add('videoplayer', { + lang:'zh-cn', + requires: 'dialog,fakeobjects', + icons: 'videoplayer', + onLoad: function () { + CKEDITOR.addCss('img.cke_videoplayer' + + '{' + + 'background-image: url(' + CKEDITOR.getUrl(this.path + 'images/placeholder.png') + ');' + + 'background-position: center center;' + + 'background-repeat: no-repeat;' + + 'border: 1px solid #a9a9a9;' + + 'width: 80px;' + + 'height: 80px;' + + '}' + ); + }, + init: function (editor) { + var pluginName = 'videoplayer'; + lang = editor.lang.videoplayer; + editor.addCommand(pluginName, new CKEDITOR.dialogCommand(pluginName)); + editor.ui.addButton && editor.ui.addButton('VideoPlayer', { + label: lang.toolbar, + command: pluginName, + toolbar: 'insert' + }); + + CKEDITOR.dialog.add(pluginName, this.path + 'dialogs/videoplayer.js'); + + editor.on('doubleclick', function (evt) { + var element = evt.data.element; + if (element.is('img') && element.data('cke-real-element-type') == pluginName) + evt.data.dialog = pluginName; + }); + + // If the "menu" plugin is loaded, register the menu items. + if (editor.addMenuItems) { + editor.addMenuGroup(pluginName); + editor.addMenuItems({ + videoplayer: { + label: lang.properties, + command: pluginName, + group: pluginName + } + }); + } + + // If the "contextmenu" plugin is loaded, register the listeners. + if (editor.contextMenu) { + editor.contextMenu.addListener(function (element, selection) { + if (element && element.is('img') && !element.isReadOnly() && element.data('cke-real-element-type') == pluginName) + return { videoplayer: CKEDITOR.TRISTATE_OFF }; + }); + } + }, + afterInit: function (editor) { + var dataProcessor = editor.dataProcessor, + dataFilter = dataProcessor && dataProcessor.dataFilter; + + if (dataFilter) { + dataFilter.addRules({ + elements: { + 'cke:object': function (element) { + var attributes = element.attributes, + classId = attributes.classid && String(attributes.classid).toLowerCase(); + if (attributes.classid == 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6') { + if (!classId && !isVideoEmbed(element)) { + // Look for the inner + for (var i = 0; i < element.children.length; i++) { + if (element.children[i].name == 'cke:embed') { + if (!isVideoEmbed(element.children[i])) + return null; + + return createFakeElement(editor, element); + } + } + return null; + } + + return createFakeElement(editor, element); + } + }, + 'cke:embed': function (element) { + if (!isVideoEmbed(element)) + return null; + + return createFakeElement(editor, element); + } + } + }, 5); + } + } + }); +})(); +CKEDITOR.tools.extend(CKEDITOR.config, { + /** + * Save as `` tag only. This tag is unrecommended. + * + * @cfg {Boolean} [videoEmbedTagOnly=false] + * @member CKEDITOR.config + */ + videoEmbedTagOnly: false, + + /** + * Add `` tag as alternative: ``. + * + * @cfg {Boolean} [videoAddEmbedTag=false] + * @member CKEDITOR.config + */ + videoAddEmbedTag: true, + + /** + * Use {@link #videoEmbedTagOnly} and {@link #videoAddEmbedTag} values on edit. + * + * @cfg {Boolean} [videoConvertOnEdit=false] + * @member CKEDITOR.config + */ + videoConvertOnEdit: false +}); diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/LICENSE.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/LICENSE.md new file mode 100644 index 0000000..c7d374a --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/LICENSE.md @@ -0,0 +1,28 @@ +Software License Agreement +========================== + +**CKEditor WSC Plugin** +Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your choice: + +* GNU General Public License Version 2 or later (the "GPL"): + http://www.gnu.org/licenses/gpl.html + +* GNU Lesser General Public License Version 2.1 or later (the "LGPL"): + http://www.gnu.org/licenses/lgpl.html + +* Mozilla Public License Version 1.1 or later (the "MPL"): + http://www.mozilla.org/MPL/MPL-1.1.html + +You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. + +Sources of Intellectual Property Included in this plugin +-------------------------------------------------------- + +Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/README.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/README.md new file mode 100644 index 0000000..46eeafb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/README.md @@ -0,0 +1,25 @@ +CKEditor WebSpellChecker Plugin +=============================== + +This plugin brings Web Spell Checker (WSC) into CKEditor. + +WSC is "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. + +Installation +------------ + +1. Clone/copy this repository contents in a new "plugins/wsc" folder in your CKEditor installation. +2. Enable the "wsc" plugin in the CKEditor configuration file (config.js): + + config.extraPlugins = 'wsc'; + +That's all. WSC will appear on the editor toolbar and will be ready to use. + +License +------- + +Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). + +See LICENSE.md for more information. + +Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/ciframe.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/ciframe.html new file mode 100644 index 0000000..5809fbe --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/ciframe.html @@ -0,0 +1,66 @@ + + + + + + + + +

          + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/tmpFrameset.html b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/tmpFrameset.html new file mode 100644 index 0000000..d5fc6bb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/tmpFrameset.html @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.css b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.css new file mode 100644 index 0000000..1056b45 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.css @@ -0,0 +1,82 @@ +/* +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +html, body +{ + background-color: transparent; + margin: 0px; + padding: 0px; +} + +body +{ + padding: 10px; +} + +body, td, input, select, textarea +{ + font-size: 11px; + font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; +} + +.midtext +{ + padding:0px; + margin:10px; +} + +.midtext p +{ + padding:0px; + margin:10px; +} + +.Button +{ + border: #737357 1px solid; + color: #3b3b1f; + background-color: #c7c78f; +} + +.PopupTabArea +{ + color: #737357; + background-color: #e3e3c7; +} + +.PopupTitleBorder +{ + border-bottom: #d5d59d 1px solid; +} +.PopupTabEmptyArea +{ + padding-left: 10px; + border-bottom: #d5d59d 1px solid; +} + +.PopupTab, .PopupTabSelected +{ + border-right: #d5d59d 1px solid; + border-top: #d5d59d 1px solid; + border-left: #d5d59d 1px solid; + padding: 3px 5px 3px 5px; + color: #737357; +} + +.PopupTab +{ + margin-top: 1px; + border-bottom: #d5d59d 1px solid; + cursor: pointer; +} + +.PopupTabSelected +{ + font-weight: bold; + cursor: default; + padding-top: 4px; + border-bottom: #f1f1e3 1px solid; + background-color: #f1f1e3; +} diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.js new file mode 100644 index 0000000..5ef1d39 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/plugins/wsc/dialogs/wsc.js @@ -0,0 +1,92 @@ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +(function(){function z(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}function I(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],e="",d;for(d in a)for(var f in a[d]){var h=a[d][f];"en_US"==h?e=h:c.push(h)}c.sort();e&&c.unshift(e);return{getCurrentLangGroup:function(c){a:{for(var d in a)for(var e in a[d])if(e.toUpperCase()===c.toUpperCase()){c=d;break a}c=""}return c},setLangList:function(){var c={},d;for(d in a)for(var e in a[d])c[a[d][e]]= +e;return c}()}}var g=function(){var a=function(a,b,d){d=d||{};var f=d.expires;if("number"==typeof f&&f){var h=new Date;h.setTime(h.getTime()+1E3*f);f=d.expires=h}f&&f.toUTCString&&(d.expires=f.toUTCString());b=encodeURIComponent(b);a=a+"\x3d"+b;for(var k in d)b=d[k],a+="; "+k,!0!==b&&(a+="\x3d"+b);document.cookie=a};return{postMessage:{init:function(a){window.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=Object.prototype.toString, +d=a.fn||null,f=a.id||"",h=a.target||window,k=a.message||{id:f};a.message&&"[object Object]"==b.call(a.message)&&(a.message.id?a.message.id:a.message.id=f,k=a.message);a=window.JSON.stringify(k,d);h.postMessage(a,"*")},unbindHandler:function(a){window.removeEventListener?window.removeEventListener("message",a,!1):window.detachEvent("onmessage",a)}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, +"\\$1")+"\x3d([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}},misc:{findFocusable:function(a){var b=null;a&&(b=a.find("a[href], area[href], input, select, textarea, button, *[tabindex], *[contenteditable]"));return b},isVisible:function(a){var b;(b=0===a.offsetWidth||0==a.offsetHeight)||(b="none"===(document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(a,null).display:a.currentStyle?a.currentStyle.display:a.style.display)); +return!b},hasClass:function(a,b){return!(!a.className||!a.className.match(new RegExp("(\\s|^)"+b+"(\\s|$)")))}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=null;a.grammerSuggest=null;a.textNode={};a.iframeMain=null;a.dataTemp="";a.div_overlay=null;a.textNodeInfo={};a.selectNode={};a.selectNodeResponce={};a.langList=null;a.langSelectbox=null;a.banner="";a.show_grammar=null;a.div_overlay_no_check= +null;a.targetFromFrame={};a.onLoadOverlay=null;a.LocalizationComing={};a.OverlayPlace=null;a.sessionid="";a.LocalizationButton={ChangeTo_button:{instance:null,text:"Change to",localizationID:"ChangeTo"},ChangeAll:{instance:null,text:"Change All"},IgnoreWord:{instance:null,text:"Ignore word"},IgnoreAllWords:{instance:null,text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking_button:{instance:null,text:"Finish Checking", +localizationID:"FinishChecking"},FinishChecking_button_block:{instance:null,text:"Finish Checking",localizationID:"FinishChecking"}};a.LocalizationLabel={ChangeTo_label:{instance:null,text:"Change to",localizationID:"ChangeTo"},Suggestions:{instance:null,text:"Suggestions"},Categories:{instance:null,text:"Categories"},Synonyms:{instance:null,text:"Synonyms"}};var J=function(b){var c,e,d;for(d in b)c=(c=a.dialog.getContentElement(a.dialog._.currentTabId,d))?c.getElement():b[d].instance.getElement().getFirst()|| +b[d].instance.getElement(),e=b[d].localizationID||d,c.setText(a.LocalizationComing[e])},K=function(b){var c,e,d;for(d in b)c=a.dialog.getContentElement(a.dialog._.currentTabId,d),c||(c=b[d].instance),c.setLabel&&(e=b[d].localizationID||d,c.setLabel(a.LocalizationComing[e]+":"))},r,A;a.framesetHtml=function(b){return"\x3ciframe id\x3d"+a.iframeNumber+"_"+b+' frameborder\x3d"0" allowtransparency\x3d"1" style\x3d"width:100%;border: 1px solid #AEB3B9;overflow: auto;background:#fff; border-radius: 3px;"\x3e\x3c/iframe\x3e'}; +a.setIframe=function(b,c){var e;e=a.framesetHtml(c);var d=a.iframeNumber+"_"+c;b.getElement().setHtml(e);e=document.getElementById(d);e=e.contentWindow?e.contentWindow:e.contentDocument.document?e.contentDocument.document:e.contentDocument;e.document.open();e.document.write('\x3c!DOCTYPE html\x3e\x3chtml\x3e\x3chead\x3e\x3cmeta charset\x3d"UTF-8"\x3e\x3ctitle\x3eiframe\x3c/title\x3e\x3cstyle\x3ehtml,body{margin: 0;height: 100%;font: 13px/1.555 "Trebuchet MS", sans-serif;}a{color: #888;font-weight: bold;text-decoration: none;border-bottom: 1px solid #888;}.main-box {color:#252525;padding: 3px 5px;text-align: justify;}.main-box p{margin: 0 0 14px;}.main-box .cerr{color: #f00000;border-bottom-color: #f00000;}\x3c/style\x3e\x3c/head\x3e\x3cbody\x3e\x3cdiv id\x3d"content" class\x3d"main-box"\x3e\x3c/div\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"spelltext" name\x3d"spelltext" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadsuggestfirst" name\x3d"loadsuggestfirst" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadspellsuggestall" name\x3d"loadspellsuggestall" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadOptionsForm" name\x3d"loadOptionsForm" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3cscript\x3e(function(window) {var ManagerPostMessage \x3d function() {var _init \x3d function(handler) {if (document.addEventListener) {window.addEventListener("message", handler, false);} else {window.attachEvent("onmessage", handler);};};var _sendCmd \x3d function(o) {var str,type \x3d Object.prototype.toString,fn \x3d o.fn || null,id \x3d o.id || "",target \x3d o.target || window,message \x3d o.message || { "id": id };if (o.message \x26\x26 type.call(o.message) \x3d\x3d "[object Object]") {(o.message["id"]) ? o.message["id"] : o.message["id"] \x3d id;message \x3d o.message;};str \x3d JSON.stringify(message, fn);target.postMessage(str, "*");};return {init: _init,send: _sendCmd};};var manageMessageTmp \x3d new ManagerPostMessage;var appString \x3d (function(){var spell \x3d parent.CKEDITOR.config.wsc.DefaultParams.scriptPath;var serverUrl \x3d parent.CKEDITOR.config.wsc.DefaultParams.serviceHost;return serverUrl + spell;})();function loadScript(src, callback) {var scriptTag \x3d document.createElement("script");scriptTag.type \x3d "text/javascript";callback ? callback : callback \x3d function() {};if(scriptTag.readyState) {scriptTag.onreadystatechange \x3d function() {if (scriptTag.readyState \x3d\x3d "loaded" ||scriptTag.readyState \x3d\x3d "complete") {scriptTag.onreadystatechange \x3d null;setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);callback();}};}else{scriptTag.onload \x3d function() {setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);callback();};};scriptTag.src \x3d src;document.getElementsByTagName("head")[0].appendChild(scriptTag);};window.onload \x3d function(){loadScript(appString, function(){manageMessageTmp.send({"id": "iframeOnload","target": window.parent});});}})(this);\x3c/script\x3e\x3c/body\x3e\x3c/html\x3e'); +e.document.close()};a.setCurrentIframe=function(b){a.setIframe(a.dialog._.contents[b].Content,b)};a.setHeightBannerFrame=function(){var b=a.dialog.getContentElement("SpellTab","banner").getElement(),c=a.dialog.getContentElement("GrammTab","banner").getElement(),e=a.dialog.getContentElement("Thesaurus","banner").getElement();b.setStyle("height","90px");c.setStyle("height","90px");e.setStyle("height","90px")};a.setHeightFrame=function(){document.getElementById(a.iframeNumber+"_"+a.dialog._.currentTabId).style.height= +"240px"};a.sendData=function(b){var c=b._.currentTabId,e=b._.contents[c].Content,d,f;a.previousTab=c;a.setIframe(e,c);var h=function(h){c=b._.currentTabId;h=h||window.event;h.data.getTarget().is("a")&&c!==a.previousTab&&(a.previousTab=c,e=b._.contents[c].Content,d=a.iframeNumber+"_"+c,a.div_overlay.setEnable(),e.getElement().getChildCount()?E(a.targetFromFrame[d],a.cmd[c]):(a.setIframe(e,c),f=document.getElementById(d),a.targetFromFrame[d]=f.contentWindow))};b.parts.tabs.removeListener("click",h); +b.parts.tabs.on("click",h)};a.buildSelectLang=function(a){var c=new CKEDITOR.dom.element("div"),e=new CKEDITOR.dom.element("select");a="wscLang"+a;c.addClass("cke_dialog_ui_input_select");c.setAttribute("role","presentation");c.setStyles({height:"auto",position:"absolute",right:"0",top:"-1px",width:"160px","white-space":"normal"});e.setAttribute("id",a);e.addClass("cke_dialog_ui_input_select");e.setStyles({width:"160px"});c.append(e);return c};a.buildOptionLang=function(b,c){var e=document.getElementById("wscLang"+ +c),d=document.createDocumentFragment(),f,h,k=[];if(0===e.options.length){for(f in b)k.push([f,b[f]]);k.sort();for(var p=0;pm.width-D&&(e=m.width-D);if(gm.height-q&&(g=m.height-q);n.width=e+D;n.height=g+q;a._.fromResizeEvent=!1;a.resize(e,g);setTimeout(function(){a._.fromResizeEvent=!1;CKEDITOR.dialog.fire("resize",{dialog:a,width:e,height:g},b)},300)}a._.moved||(q=isNaN(c)&&isNaN(d)?0:1,isNaN(c)&&(c=(m.width-n.width)/2),0>c&&(c=0),c>m.width-n.width&&(c=m.width-n.width),isNaN(d)&&(d=(m.height-n.height)/2),0>d&&(d=0),d>m.height-n.height&&(d=m.height-n.height),a.move(c, +d,q))}function e(){b.wsc={};(function(a){var b={separator:"\x3c$\x3e",getDataType:function(a){return"undefined"===typeof a?"undefined":null===a?"null":Object.prototype.toString.call(a).slice(8,-1)},convertDataToString:function(a){return this.getDataType(a).toLowerCase()+this.separator+a},restoreDataFromString:function(a){var b=a,c;a=this.backCompatibility(a);if("string"===typeof a)switch(b=a.indexOf(this.separator),c=a.substring(0,b),b=a.substring(b+this.separator.length),c){case "boolean":b="true"=== +b;break;case "number":b=parseFloat(b);break;case "array":b=""===b?[]:b.split(",");break;case "null":b=null;break;case "undefined":b=void 0}return b},backCompatibility:function(a){var b=a,c;"string"===typeof a&&(c=a.indexOf(this.separator),0>c&&(b=parseFloat(a),isNaN(b)&&("["===a[0]&&"]"===a[a.length-1]?(a=a.replace("[",""),a=a.replace("]",""),b=""===a?[]:a.split(",")):b="true"===a||"false"===a?"true"===a:a),b=this.convertDataToString(b)));return b}},c={get:function(a){return b.restoreDataFromString(window.localStorage.getItem(a))}, +set:function(a,c){var d=b.convertDataToString(c);window.localStorage.setItem(a,d)},del:function(a){window.localStorage.removeItem(a)},clear:function(){window.localStorage.clear()}},d={expiration:31622400,get:function(a){return b.restoreDataFromString(this.getCookie(a))},set:function(a,c){var d=b.convertDataToString(c);this.setCookie(a,d,{expires:this.expiration})},del:function(a){this.deleteCookie(a)},getCookie:function(a){return(a=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, +"\\$1")+"\x3d([^;]*)")))?decodeURIComponent(a[1]):void 0},setCookie:function(a,b,c){c=c||{};var d=c.expires;if("number"===typeof d&&d){var e=new Date;e.setTime(e.getTime()+1E3*d);d=c.expires=e}d&&d.toUTCString&&(c.expires=d.toUTCString());b=encodeURIComponent(b);a=a+"\x3d"+b;for(var h in c)b=c[h],a+="; "+h,!0!==b&&(a+="\x3d"+b);document.cookie=a},deleteCookie:function(a){this.setCookie(a,null,{expires:-1})},clear:function(){for(var a=document.cookie.split(";"),b=0;bj-(jzGyqcn�@8xgU6KNWA}R0^Qi6b#gfvo0cStu#H%P;G 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 z zNmat(nVBfCjJW}T9&a^!0#`6Kr5itD4gT5k?M9bLVCvfq1I9zKM$?W9kib@0Qt)}J z+{{Mj)hiid+;0W&Z(T9DTPgP+adG8!X%`79%NXY3x)%M+mST~?GM%OStc_JFO6_c5 z#fGkk-P1nR$#$khaAkvOrZ`g}84)alS}exvvGvOlz4H_=0(CNm7LOAB0!$gRqN5kn zoQ=09=wRnc^}#ET?sIs1-#vXZ`lZx4&Pp(oUV^X#Yt6l?Bbed!YwiP4iY}Ax>x+fy z3NyLzx}23gvxHJDwP)lRT57LrFHbkenk@f#QwZV9hQPqBoDyMvH6~_2U zR8<*igSo?aFr$=?jPi!kgt+zua`EsMuvT$Sg9;B;I+lY`^hE=2O99io_r=Tgf+S0Y z_{Eb8W6#<$$MwNI=v?&^?t-ngtxu=r55@tI{pQ@#XUx6W&zf08%%X5#RikoocKn-Q zxu@fXu0%YVDxr#&T18e(zO|w8CT{;OSa1V!j@QmXm$Iz}J|yn*?_O1Pb=#&}`0B~k z4IAg96m9Sd07vew36>527g~*$sY{3^n69M%(@o*>kGe9A!9_Py?)?N*NK5Qcep4XR zXKN$(WfF7V7^P~A5n(WnRw$HR(fc--@Vbc}%c*Xz#^aBnKR&6i(K1{*C~AEVfjK0ag>mL#7>DgjIfiK+4V>(n9#eCD`H{8kUlb zLlO@7KdxJItkl8p8;>2tjOK!AOB8p&(U^yZ00$c5^*h$ck7D6!nfekEvH}pUlb%goT){N)SFMo(eHnULRGQgdBd16A*jiG*74x>o_kk`4llfhs8B~z%o*jO5P z28bT@kex+7v^lTh;&P?26%b zQ<+*}wD3Et@`J~rRT;z9Xl9SuRbj}Dw{mpetLWU};*A#%FgvxPh$u5Jnym>|pgFlm$Ii6X#iLo3?e>rh|oiDPBb%Xelma$Dh z^6EzPHa;!(;J=w3&(}#ZD3CcVCj=3Z-e;hQS6V>K`YZ0*zeH z+AZcm8EDY0+efVQ9{R=oB3473{rY>s`+?!_X#Mxr%(^l@^5#+S6jrxb&khUwRtfqZ zEH8G~X{w6hB==NWj9g!EgoTBvGmmvU%w8IMEpQgZUUtk=Dq_(M33&`w?d_63bMlU7Kv)71f_n zH&%)9<}clC>D|eBs$)HmzkGn06*zmHsjsthK#mc z6vD?-0Nm<0EH{%Db}|}@X13RRA>%IN_8ytW6dCDZNlJ#XXLdx!xpRkk4_+UPh?*>2 z`LetrFO8If0#Q{2Y+FMISWo|^!yr*L2^B)PJc%SvFCd{YWEViUPJTlf=t1{B?e*O+ zL2ucc#H}QJ5E_LfgLyIRQvu1NIwL~cIfI1Y1xduBCvaLBc-13UK(A0%H;0%^{k0$Y z>E2b8x%Q+U*@+$iApU0!nf;mTe*DKn9EI(BluyRUk=|27oMqoN6*I9q!qb^agZ^BMzG&1g#Ota}bfcFB&WI zXK-M!d%&NrnMgCk>;CAM(U5->hAd8_cxLZ<9F)$<$<(L*=S${LAj;(sQ)nJ0I(^5u zQ5LB_C%IUI$E%;~^S%NO`b_~=5*O~f{gkgdw2a0=P|%h?#IXUxkwsvb8yukY| ztJ@aLdt3ID|E9^}GT&gKTUacY)r($``jMf~bG)i7u&mJIlqkGF2X*5=J=ydAktBjE zfiYg*q))Alk^aGumE&F}G|QWXqL?hCo;Ev7XmbBC+~lg!f9iB8Lg5W%w*N;m$O|~H zuiZiW4v>1X9~n}=?yIgj_&m1=#aiMUI(G9B9SAi1Lu@v6 zF(N11`AI|7h)c=NJ`}dd=TGvG2S-L?y26fJX?MYqp0T8$_V*C73`DWn5r#TLC7pIb zbPKL$a~I<|vhGbsgCb&32$bctp)zPv?FyzRU{G+V7CBa1&KBD7C;<&*iQ15Vrn^Qb z`KrM6!QWF1f!xoAb8r_G7WymN*tDbuUNb!@p2(6i>G+^L8iPk=9QlJiktWl4G@9~! zO*!zs=;iNimnA@N?_5$AtM$2PfBShlnKatY;j4mr9ud4jStdcCPYJ)!FG1$`_Dg}f zjlQdEd&wiy2%9RM#Sa8E&w40C3SM0Do4XrS#;`xMAtHHqAL8y*A{zOC;?!(kE@K`^ z*t~rt8Gm+*Io`zENgG0qDPY6hiT_k7vt;uCj2G`wgmjn(_bpk^{tUQ@g(*(_6i?xb%z|>wx}Lf`AQsc9t5Uwqv#DO- zOpKwKIqwNVokr;*rhmqS3YKpE1ys=R*i6)Mbaeja$o2bu9tZi44EzulkM6M4ELj}$ z!&QIs7@8=_r&Nlf1mAl?alcawO)niZuN<|oV%3;buK^WjN65DH>Bkp|=HK3McxgM_e%%)5l_MsD|2d#YnewL`ELAaXm zbn{zfcJTSmPD9WkpV-GCVpWGXebDid@WwZQ;QLd>)RoFt`;LDJm+U9^|}@7N!V zHEY{QzfAgxgN)7BoTD*|>M%xbdrJ$X14ul`jb^=(kwDz2$|ri^RTn&;@}4apEt{sO}Bkh7+g^m4(>goWenBc zh#K0WQw9v_N=x(R-6Qn9*dBJmAb3lBB1ZMt@0yb~f{=QtQNy~IT`_M~qh;%XmH5LY z()d%o3|m8nO)`1@(zs)`f4|*WzmObZD>MarZT1{uD|ohQ9AWoVOGJ934=8na2v*H4 zXp@`)0&RcDwm(Z=cCMVL?d@VqS&AZ*RiGDJt#y8V`)O9n>lOgL*PAR=e#ERJ+PEm{uyt_N_Mwm3}Mv13ORfMO{mi8}$q7sq`Fee|ynR;bH$f{_8&aZQ|Dl6hbjc zGCZcfofN26+|67Ht$)%*oNey{nBdMIzP>to!niZlaCP6W@jyP5s|HNJf&uI76l7lA zQ#lVd2@9)lb6EG?^#H5S8vPrLPwD^R0+ht{0Uvg-ZUWCofa!>s2PR-~C{d^zylDdO zg2D`97wGu6TnxOum$plrV)~Dd>5cXi9Q{H(-b|B>;V3u14On?oy+kg4(etXYd9&UB zY%U@MSU}XeU7we+{kGt%tQ`K8NR~};`BoVGNyLkB@In6tdkUkW;M1S4iv22r!wWQ&fl z?~dFo+)q5^G=W$?CR6ZW?t@$`W1GEfX(SDN#jW)m1ONUgB_2j}Ny)9l^XJc18iWh8 zQ7{(kI=L6zNIF@#fRTp&2MUQP4Lw7p2u`N?*A(h<2(w z7}49xpiYRY_NbBEmv|Sti_;pRT^Lv9FIjI^chejwa24FISko{+e3f&64Osi_zUVCO z?(h1Io3B8UO{S0S(avvE1p|YX*J0WK6|nq*(C$__!1k};!W#3$NO`Oq75XLO2-{y+ zFXM&bXUDv4^=@|NHztxM$^a&lj!yny_IUMkYoD?Ytvo^-EBYoBaO@j`De7Avk(QP{ zf*VSLwym8}7I3NN^9s{E@CxfrR*5%Gj6GvzMqrfg`$H6Z>fgbB3{nV&iwi;v)6ekc z5-gbM5%vPX3aJ)L4?AQ8lo|z9jTu0r_`rIKoJ31AjCx1_kCG9;I3LU7C%5Rc%4{h< zur1q12V?xH&tpsSj_uKCB^QP6>xcN@oIFZ-R#~L@I1U|yu%mHtwcPBJu*C~c4_R3& zEkoKY;VTAgsis|=FM?!bJi9o!PiN+{M@Pkuuz};Ad3Wztoqr2xI!8BMEt5-og@uBT z(((Mc&eiSJPye7n_Wy3Q98+x>I8|t4T^_zVck^~XDGV<+8?mcy+dg`}fg7yiNAmiA zp;O`E3W{2Yyq9wCboqZ~2kUV=($eZCo_pHNqzT12Y{4&?o5xrZ628eMB)NKW>XPJ( zE~!r`#deW3YX1M>shQjVfu}mxaVj5imE`Mas_OU8xlbB+xm~zG=a`*SO%IqL-0=38 zvj}amih4gyZ-slFd!xBtJMZN#wS=-WOJcQar=Hr872lqeUj5p!<@@nN6H@U!p?Af_zow?|Gf4c>R?*YzbNBFA#vyoyc3l2@9O+vrLM@i5jL$)% zTT9yfqFe5qm91$v$X;*X6&f)!d%%vET$gq*q}50e2w4eG2ezBG zqi#>o_fP){y$@QmTnY;F_NI-DJ3lawpr`lv&d=T#I1^2|3}o@s3wMhlOw3)^I%vNB|y>ua!0I83|YLd{dtJ?dYFI|owVA~W83 zh{KC(rbi@SsedK3`d*BuT$(JJZ2Lf2Nk90T*g`eTSjO91*>yRaAV`DdtX*lLnC;_kV4GIt+HoZ&muSX zO)@2=PPzSW%Xf$I4nYi1qWI0Oqd;D=BH+8rwADDXm!t`Or*YBGc@G`J9z#P-;%?{r zR?L#kcBKs%5LGJGypg| zK|&k@xAT~E=Hz4~)R^3fJY>t!WnW5SphX~^W^k9a3tE#7CkV80Q72{v^lmXapwJx| z9}jaBy)d^L*ckD}SYI=s`k3ll{H4b0PFuUA-sOCMX{R+91=cLRlz=)S7o>$VoAe>` z?n;4})g>AWNKQTKXaIE_3?Y#ntTbAW7D^Lz)U@TYnU`9Z+NM>TG^bS6G=9x_ugI44 zm}Aq92|c2dsKH*mf;wTJP-@Xp`wkp`WQaoFN3fDQ;W1c*BQA{DmzO?(^PLU4Iq|C} zUvHMU{7mj4@Q+R8G!~}h+X@RA=Ox?O>9bL~8@xbEi?r&^LQMVa>^IjxLw8%g+Y>jv z_T}b!9EsiEWuk+e)BaF0#V?3YZo0sfto(w5kl4tLPZgt8#3O8LXO@gxyTsC2^bR{D-p_hz2V>Rxfp_Ze}N?_L+=yK8Us%G z_{yyhD_tLm7^NUd!o?(l?=1c3qLuc^1AAxE*JGK2@n1Bplrt1{uwL!mD4xz|?yvL0 zpB-#4#nuB%wM$@OwRs8vwo1&*p{ED8%*lA5RuREz4H~b}&XYu^@>01a?hH`Kfghee|rLFyMG#Z-YQM-k5>ddZB>8V_uoZz_6}*@-ao(L zqTn~xmLaDPptHs>YkH`9fD!#q+uM`O8!H`83)_dA?HHw64fuQ>%Lx6DC+Kry88z@H zb7GW{Q>SckXQEh-0NpF(3}{Td|CKApR37O{OAB=G5E@MUVdU0U`+^N$gBbMfA=ApQ zH)DBYpd1xysUZvR#s~t>rPuo>v|fOk1uG*O>3Hb+M~0L>`TH6>D=0UUAZ_S(2!W*p zeu)^~6RSA%Wa+8v^gX|>l%&+C&U?ft^)2dW9Isj}Ou+ktlJh3zNmz-88zHVQ844psLnL@e=C%!GVj$QE?A%-* z; z{7VF+WF%M-1ayP9TfGU|FCwGP2mp2VsUX*$?!Thbc(D56|Lg3mqoNGkbwBh_GK4e| zlG5E>64D`El9Gay#Lx)RE!`+3-Q5i$pwbdUNC`;8c|70V`|Q6Di+3?Ii=_j+PhIzQ z|1L0>nd}@MhOZ(*=#|o!zV+jhN!&6NGyH1m9_F?JoeKEuc@FP=hdukP>c285$$*uF zhldA*^qTWzNPVyvI$YLTXn2i>>@9AC%{AP5XQu&ue*$@eaV!c^q)mFviE@cG?n1)cMX%E~CZW6RJmfX)@QM?rz^6*(jkdt^edOra*r&3x z$h|GHYK-XUKrP05>G1H!>9+swGWf*}#7<5IgJ{2v z(A)O`l-)Rk-{&G_`mpx!eBYNDu-Fof7^5VNi__b@QDa>@;q+6CJgvd)^#hdPM{!^IEg?{^^8vv&#HFR2*na;UTEC-c3r& zmN2GW@&1)2AW@wc~=rV%Is1I5kP zSTz0a?*IlP??UAb!Y7ft@%4BpCiCz}(9l8nvNPVvmtHr@4+>9#OKF@KyUO!z5O-sA zWKJ^a;uG&TT#O6(TR2Q>_h#9{8LGg_ujLRlyVc9ub+de5`}He&rH$n22-D3I-^+Dh z=A%sR#&XYJaxH#yA)iv#^V#zV;BXk86H<-k05fjUry)#UQkfi)U$hOVP}99&(vTmP z(f|_fUw>f=zPLOR{iC8e8f%B7WdG4F5xxBo1PT;@+h0PS1ZUX4yC|zWEqR@?!J0v7 zkygu_8cHHXBoA<~?N`_PH!8}?d^g=7So&hwebxV*mLsnhEpi?M)w(SH&&qq|GbNg- zMVSv0G*DzxnHxBfH&-#6CXwtY6l>b5iMoL-W-cHajnWEq#)BlTiNr|rnwMPvaq;ta zO#yuIUGlcgcU_&z#e?wK-OyYFEz920leRm%PzYcnrj^7}cztu^(RHW92!fh?j>JX< zJ!_W0cG5$v^>q5A9h}s$ja&W5CSxBRe~?b3_x9^7G?Ki3Nv>^7`Aq7CWYuJ1fgU z;){PoJJnIM+XgxkLM%!cD!meH``uB3?qfIU4c8}P4Zg(=h)gi9*y%Vg1(^H3S|-O( z1J4qOl0(OR(tfp-X8N&8vk^iAtPFGFs`bRosK=(4aS!)L52m2kff%MWpDsjsIph*R z2)WlT%)&l-wm<~u_C)F~_>#+8A|UAHN=fp~8+34-o&9b7$fSNB$^CcP`!NHX6wx>v z2m2O^0|hXYfF3R7ubPmfi-tEeGaa;6?s?5Y&>ak8XTk09?AI812esnT^xu&ClvQl8 zgCWdd3v{#YDs+4vcsr!>p=QUhoCs6H)I?WT8R=~&os^>fLNTqt;^e(fP8p=miHwYP zkECfR1o)=0r%BmI=$xs!emc4<`5b{RM^5O!slnw(t=iysCKPt~r;^VOt*xh5{u19o zK4ZjDOX+F~%86M|a=vW%ONJEmal~m4;NM|A)w=gIdeqEiY^>#Yx6*RQ*vOQR6uo5Mo)2k`wmwzx zX^CHsXJV7eWPkd!Y?+v7>#eitijv$TNkY{UNgOinUsKZpcjJihZQLJMS4YUrg4{^n z0ac5;p|k7ph5YA#LHr}3%2C&9)w)YbetomI^hUEAbLD5l$Bc6MEaLvM;6P@@_#(YK zq{d~?=a@!~77K>o3gB`Pfe6u&2h6Gf?#W zxpjT5H~-$C&NiCYW*nw6IvT54pd*2QCxONA(EafGXriyMdD3rv_0x)xmWqQ?WvZcQ zB1{HK+s_dM%dBzxKs6*JU|G{Q{`T;kzU7gZ&9AF*p$t*?u6U*Go9z+r7H)5vCquEa z#1TR-87=w0+i)8PGr*$5P-O_%Kc($eexAH5{QPlGmmM~_)N=kVC!n?bI!mNW1o7>Y z`^ts*5e3tMpR)ZL;;7x-+tA6$ZqEPWgx6+rv#xU9=%Uheg43im*-MCWIr(cQK+fu{ zFSBMarP4k}YAA?Tgp$Q31>nNX4u8}kE-$(s?ydwfV-kj9S5{WW5R=(;QfHT)p)k55 z@%MJo7cesap^s9cp4thA9mmP!}_<&ea)#~!LN9Ls6Jl5+{ z--P0iT;WL0i;v`%iygCMNYRnunRf{%Ntm=lNSBDITr=j^bEM%tAo1&Cv3O+241cMP zF;9B)@kdSQfRkaN+e3Rv2^I%YF9=4jlDNOz=m0Sn)g)=DsmSCLg4HH1zc7ydddZuy zU*^xg9nTPNV&B;Le`^10oxS@VsQWIeWv|Ec@1UvcQ@B76T`#J zas$VN`pm`hUjtW*Kpq+B3d9(D_DoG%*(~c@uWp$}zDyX_<7fAM`KSd(!vU(D;%;3Y z2L#qZqbZv22OTBq{6+{=!vCcKLg)8!DH>Pt=~2AEX&9uif);!UA@Avdy5Fjhjv3UI z+n>32KdeHv&dj=EJHU>qh`d?si%rZLGaD)cs-(~PToaPtV+}SrWrx=!r@@fiDH8lR z*V;83gBh4IOhe14?WF`YqsFG|_mCbMZ|V3u{1+S^BFBmG<-_aHBk4z+AhAaF`%B6))rR`B=q{v;%s=iVdK z3-y^=+{Bo)^!6XdM8h=s5@UbVxn{!YqimtldWPh%A*6eg?yQtlbcLU7dG*a7xE&co zyB)b8A|`$G30$(JuenqLq7x|u#s(*XA&LR_>pezIFfGIR6(kR!5eo~i?<-_p42huy z(-S%ywdy3J$^RfxN5$!joa2BN@CWeB9)59q)(3#Ip^4vP)rgdh&QC5#`hE0{Jd7hd zgItRybezV}!amy+&_@y}KQEktCuG@2upemuFazBR?WUYrYE12>N6mLMmaLHezv?O~ zA#)D$hKA&PQU2&BuW6zHDI3g)LjKohCKK2;6CZ(l37rckDGUB45Gmz1@^|`26Iy7j z9ly||VHfFg2b_`Lt)IG_BtEEdaYm+6#fjoUw7y&Q`gTBzN@ZCOFbg9kIme`QqOwiP|;`hqj9KtphuKSjoLNFiV(Eh*C91 zf+L<#YzWw6F!1tL{EgYM4vkM^DZZxmd$@VXokEBnXRh9Rau*cT?2@5N+dsff`OejM z{591Gk8k?gE+mfj-D6f-ty3d*<(zZxS>b_xAiEaj2t>wOf{@&t31)tlT66}BaVuf* zVnE>y0T6_=cfP)(5K6jGKYlVd4dsVtLG!6d?5e`CA*)A2fTkwRGH|wAfG~54LUuCXxZN$yrGw!N3TaG_dQEZRfE_IO z1UrVaub-JnaSFP+r~$n_V8GNv*oe3|)t)32z4LMl+!64IhR$Rn``yf&ap6aGBHQuMQ zpg>9fyuU%O{H30J9(va?TK(3#v+W5+GKmsHB@NUf!p@DLKa0Ex?>I5E&huw|@`_xk zdajKsqjrB=Kgd_`@F42ZfQsRYE=JMELxXAHF&{A*WETdar(ZXi6NQDQnCYC2GmyHt zSmO|ylQNdzLGW7xel(~QybVQ%Fc-5_^5!IuycZl8JyO|0Fu4` zCa09BN(1U%)Kqj!Z&z=qAVLgZeC z(N^rP+>S92u+b*2SA}~py{p#LSpOZ6Y#^Xa8zh*O)<~m#En24-b#jc^ zkSJ(F)vfiY$Vzq&{B<(qBoec|G`V29|MTkSYm)um# z2bp$YqQnzMCVwG!51l=PaxT*?#*uYM^g70c%iwG^i<-`B$3_naWBfgI^ z;;^=|qg(*J9l4SE%GeyC-Ww`vktIRXwWweE=Jv>o@_7S#!Q!!V+)#DUyF5-kI?FgE zW8|8R?q^FmqKyPHSjAo5yMgpVo#<;2+E-6Ecc}_8X(kIFS6T+~c~yKa`+_e6JH8nZ zVrU{8Qyt)pEC>vldHI~h|JSdrF?{#&MSl3DmdcNhra=d%+v7DpgM*V)5^v-(vr|&E z;!_f4W=`2BCYIWT-S;G}kNXZFKl9m=AZ}hikh!1Fa`C`~=@(*eX)#KQ?mm0wd-?bV3CtZbJv2*CrqCd|8;9Hpki5}@6Jsb^ z2p4ncss*xV+Z_)zPH$F5iwPa~0{D`RhpuVf6mfw9GW7mxDktQo*)oK_)UHI5iR72$ zoKj|yx3;!6Q$<$Z&ESjPvavTHa~T=mWY5U(0}pd;YL<$Ub2N+EEY;MhpD}|P+gwTK zsbTpRHWs#zyYDru_$lm8%chn8_5u{Ua1fDmaB@t)&ekCvYuS%}qFNRpi;%R|AvrESY$=TMSRNnN)c7`mrTdT<I(L6(XBxRX>M?7x!HXAfZ8DuiMTJOP1hO1eE32HT$SM0> zE)M6m5r~C<*S+VF>B00GO^Kd<)97xpkr<;cUVKJ|!OojDO)X=}dC6oVl83^v0|gtK z5;pB-FaB=qV8;uR{J=GQ7I%$3Y|_uiPsKFl5C}9Rn7EMK4mFLBO%$ywXMEH>tp#aKe^|NQuBH2dTBIW}c9pk``NkxPsD;6vPHW zx+A?qFlPl`(X)5=7pFx1XGk#$eod#hdpfZj=RuhGkmczaL*;*dn z50d;PqEGH*BEygqhbz>HR_En4G`F{Fz)*>F_5MIKUefs<#m7+<7n_r!`^d{LggY-q z&Y%o)zzY&8(0|9AZf6VZc?guwVlI47x7%hvV2|g06U9|4lKn_HBO^@L+FJcmHh-&B z;+k1(p%Am)X(lRR5mmM106lxsv$E-8={+G+ePerjvfN3CtSln)Kpmw zL==`WS73axu{C>ieaBo`vGgcB13Ns!$k3ogeCGmygheX?p$q8X-e(aP?;DWIsK34&&p@=bwmSNDNC^H6(fgL&hqC6&C1k9v&AW5zU2qOT zv^zI};55pv>17inh_JA5T8Fb&{XMNQO44VH=WjXyF8dRmZb$HE&i^`K=#-`Fw8KT? ztYAT+22@=d21ad_ZriG$WP%#p)32A7C<>_?L3LL^SGWuK{SJ}cMt3YD|6-yMg!PPn zyg5?5xjtvHHSTnHj9Q#R<4BG%z^n*BJopCIW33z1g+Qrc{>W+V2q$$Ou%v{`VK zPIf!iod6NNr26RR+l4Tc?j`H79dKDf=^cXsteI;v0pHQl1>^9`&y?r%qH5nUWho=_ zb~0%U)*oDgSGn^r{fwFDrC8AL1v~nQ4$}o*V9R)J>*@FzNu=q$ymW#*@XqjCOD=pO zl=3SkgjhWcM0dTMUTU{+(AB+s(6_<_w7rSKp4E#gxM#zITGDXpL&$ygeP(;R6`wniw+9M^dNH3-4jZJKal#ogUi z)NgEFrqD8|K(-udAjFEqBNJ4*S6sPD++pXddrGcP>=}0yo210$l6jWA{qxV@rh&%Ks zyy#Vbq9!KRELb*la!7d)Dzb!0m%e*s8F_7&3^PZ0+~E;Yr~_BKpo65T<9y2z34#r+ zr@r!@UY$K%cn7Lb1|(xxVpCQ&CMFH@juOzk=LrLYq%l+t{QUC4H2>UutAP)9Z;!n_ zA#nY~{t{LAhEH>f9=_>O7eE~QSZ0~}9%W4#VUsBE~lx}mr@krwr-v*1mH|IHIQ z=6XdRSwdeNYsu3DrrqjC9v&6VTW^HPV$ij1CfSl6o@GjOn3m73r;hRa+CAJqhDd1G zJZ2Pu$w%C1to0RUXS0W>*;Xs8(e;@i-&&W?mC@0}CGex3t7CVz$P(3=v2x%Z664M4p;F_h;ZMN(dgs%B8oL`Ixr5{JO({^i7f8L_fzxRo$=X2oC z?1{{mIsELpt2-`aKz!``lp~dG=dbvW4f%pY#vk=!Te@-ovj9eo3}){knKmc&T5gAy zKk+9rPm6^L_Sw4d`u-IL_lxCw&g%=NWPp``)1& zg{aQ;pWjrcx%B_b-vX*4^n;El;p6MS?!=FnnAiOF_ClT}M3^rsKg*=_)vSN7vC@O=L*y<=si!{aIa04( zdGjoL44QjaH?;UTDQV&(2T2J{MuJiQR*3RtqsK1!pxqJ%4eNDy;#E`ZB1XX(Y72Q` zjr-Nt;z|IAcJ=A#{Wr`<0&|4lYzA>RWloGu418{EwDC7IWFivXBiO|xAfO3lF7!&> z0b{s4mHqYjIc&6BHOfLLT*{JHmUPC(K@mTIM>=G8^c zBl6WmeI3-}>Md_%^cDygAX)C-`~G&dZ{x~7YyWoryCSvtm>Z=kBcUFLkzOj86woy+ z6AJuGRpBJ4mvT35Bp$6K!pdj{>QZprcs?3UX1*PdsS#gfB=~@XKb6#xw*`hJ=CN3N zZCL$K-NxO;su|+%Rd6s(USml~BsaMz@NVoXMN}iL zfzepwCY8s>Bg<&eM`GF1fDJSkDrC<83Exj*PG^%BNCbCJ0 zA}eca($P_#|J{T;Xn%k@YN*FrNe}{w_dv%)#BG>x9zIVG&XM{=@m$2`MG@2U=WEel z35O%IQv;=ak;!T{J88tFWsuF1bEFi+{DVF-{m-I&*@f*Ta=?zNfsu#Qtr}U9iGXAw zxe|B#Kzc%3j^g1@y3LR-r>^Vkmu}m|Hn%ss9U6LH@$~F^{7Rk0ES-Iyzi#n}(u=a& z9ipa+9<)WXIdn?GR+hzWg)YS+<}3)5E8x52EcQs>XjU$ta~S#Z(p(^e>$k_RyStmP znf!cxBr!a5zLl_{r}1cO42t%we2kBtm zHZ_>t|B)oxMDz{Sl2TEHEpA*Lhs4H)L8_3wiMwfKA{8g4SSrzvao{eoA7V_rFY_a! zKr>H_y}kYP?z#7Awimhr28JzCR#ZfhBU^Wr z89qu5LxIq4BGYafL7q%bj@LgNuIOu#3P{ zZgmO@dt8fgdY5@mDI`D<>XQy5Xp&`#yv6EHTyFE^KRds`yY`a+>b4yz`bD+z5A-$Q zc>{Kky*YVWmT!DOE?jBlzgCyLwZMhD(6b6f^&3DWeJ&FeTVJN)M$}GDOvszMo#Zkx z<}Fmu+Bd8TseK5VI9)@{C+QAk3hhrpVd!a$p!U}}Rz~&C!63o12+-C>>z8Kpd~2+$ zJxhue24Uf`WhRobmk-14E+=H8427j?wXPyAn%+=i#3-OBv#^no#Y6qbwNV~3FnBW4 zwP7V&j(+>3k4gJ!h&-l$NFvuoYQCRYbx;NVopJg#gni1bDa77^k1Jg@ciCbc;+j?Z z4O8hQ0~EPg13JCSV+qwz4(q(XHw~nLLineK>F+&`e=PHsQSs_3fjJb??&~@;>DD!Hsd`SlFd1-X43sERTU$XP-IFG5RRD)M$$3+R@X=Av z_==M!A>yPw?T}mim5^c8pNmuslE=gm#Fp($!zy~yym&x7gsiL?pNj`sZ4LPq4RqV{ z$fYafAV_$4M9b9urJ^WY+YJ-qy{lns`{LnzUmB1V%xNG&8ybSI=RrKK7ROJ=d4i4r zFCV4%sn}uQegVr)P)FXHEW{)xYM{T=nI4pQKZ7u{9Z5o#bRLVKg)s znz<75AJk23#?9#nA#kUBh>Zm*;DZk0{w@Y`uc?;0<8--TW>{D9H$w7uz4Y$xZt44X zQgG@g=HoB6-QJ``Kh8}gGC^JIxE>s=wzhc%w>DU6eTxkeO%PQV7y8JT?6mY1`jLXv z!)O{REH5yQ4?8bbA3W}o)QO2nNEU&t^nsDEmD5yC-Rt53E;OgrTcNIgl)F4_J~BEC zUpyF`o`xX@b%V`y)i;zKdyre*1Aqg%5Fw%_bPs#`p|9+zYBJC9;kNpf#s-pne90@{ zzIo(TSI1d*m;#vrnNeFTPW-x&L51xHF*fLKb6#qmInP|Z-Ts!ss!xo(gK|6#pa&wA zK0Y8*j_pZM#e8aN6lf0*+3~1@(mo)Yvp^O=+W1d^hU5QzdIiHm-whG;}-Fo#xD zRNw(I*x_?|c_!qR0xld1TL9L}XWJ9m*rYLaaMWME;abTl$rbHycE55mke!waWL8c& z3h)B&Is@ep64t7YGJxcP(Fu||0VR`xNkLID#JOn^$Gl0ee9rbI+c5?*oW3`XM&rjc z4d})*8J-+}^`>H;r*1@t@%7BB7ltpZhfldjyGO&(*9W`d@lG{dfSe;w9#ir>mWCsO z&bGs}*?<^^8i*4VU8>Ftb}IMBJNdFP=poYOIFg)rV?dynqah;qK03DWe5-<;xWyDT zJi{Y#bPzUn@T4TTyZ`wyOR2| zHmz(g?fL)HK|;O9GOrsB4ocCayIoeiH>Qwo<*pC_Cve49M@B9Kk>L{K<8!SkMfA;d zc2>fyhm|YXE2{1X&wl>AGR#(cx8568mo}Mo#Q^V0BJ4M!5=0c2_BjY(GiEv|o#kdQ z64u5joSC$LKOX@-dwluv$J3)JaTV8J(?lT53(;{+l6PlQMjtVtkoZP_Xc)s;w2KETG)v+;RGeGkcO-o9eRg{8u)+wsnfcxb#&XgqQBkJ}V&CUvZ?cNZpzG(pE^$~Yd59D3Zk;=~aD9_f5=c^XRN-}h zZpI2P8?YbvK!$fr8L_vwmm}=HodrW(@BH}r^L&s>8j+KfG_)!H6vpQpDLip%U~_6%~@#r06ak=c!-ZHWZ>q?Bpy00x*gG{tBj{ zA%&Xv@3y<<)t!PkqeDs55b58GO?YA2C31gB)2aBw>-{y3YyN7qmzBn(7lr*;b9*~YXTVS9IAAETf@Tlq`O4NB_m5bd zaXEi96=@mR^VDqT&?Cd~QDa#aa zDlQ<;pL1|q8%_Y}gtkyxqx%DruJ4~`9C}9AcjVFYf+0?usrh>oMvZ6HMqQoMeSInT zsK3$BoJ>>YE!u^$9h4BRDqVJcq`k*A zH8p9W!GYJ`KD}6|HnY{MHg#$VJo$wMF|l~l7=^XR%wD{DIq9{MJk?SEdSQW*fuX*! zDmFO21)^bW^5V6_>s`K+K7I9U@>&uiW53<4G#};NNMn@buai^NCL8)yhHpz+OKi#j zGulMQc4$~=fweUn8v#CZL@d=iNIjvsuAcR1AI}RRRq5UM~@1+`9xSb@d@LDCM8(nUoAd1CrreLxlI2bDkK?cUE zkWl2{phElgC@V7D1k%_aosx(Z)b+B(W@6Id6mg_3Rp5G9Ab*4H)abe{D=TYfXV(qZ zoo6KX9tBeD8wZZJ(eo*+fv@Iw(?J6orMt~G3d-HxJIJtafA5b|gctGVmM&Is_vNN& zt~doq2L1^7M=Ve#W?=Ne-8pARiiBiu+%QTwwcOgS_tiMTWP=J4igmk)sTBD z2WKu=6*GEuqi6apH9@-EoDI=Q&ms%49yWlo?M&OpO0P$4kXpp&aRQlL`K; z1U4i9{lrbhet+8=wH~q(uaqU`LjY>4T*{fo;III0praLbh&M%d(kEgGjv#M(wJf2a zCF2>y^6@bj7_5iQ$H~$xb6U!)1<8NFoHGsVlnKD-D*)H^ zFD(847#wuUF7a@Km42GME1kX{5Ih>CzFsCgu3?j6Aq~$MFTQSup-Mw&3((m6xKuy9 zUVDcl1AThj4mkGxCxWh1(((p8g(=vj8^68uLKCyTc^Ljs`+&Ie&LM%&IAWulYt3@w zJS8~x?Eu?Bw6R+56#_nT+;JOT(5DaS-g@&wxfNhq0R~MP9B~yC6lbm?B0m8VtsRsSA#Rl;#%yUUraWtB4CUt{oWpz>o4HAe9Lsj7 zvXMdr;eHZ)0{lUbO>X7sUy-7Nax9V(Ex*C8j0ClZ4R3vqIZU>%Pso2yho?8)R38I! zxzX|+n(vk9tY`HU>$m3#_pNqJ=r1d15g$RST4w53XqrRoCth1E$g~z@Q=N-|ppuv< z>Z;p2{da-}hrSA7Xk^^rtGLiNl*`Z2-Vmt%ea@Wr=`pIb-VD<~QCz4<_IK1CDTuF| zQoP3|&+1`WQli=v7Ze?t#z%mn_?H4b?T^c?47XbV5{)mZ037{|lD-Kr9wAf9|1RPDld|YT(7F#Lb=R?xj6Vu^9h$JVGk#{W zgtW&SX}BJb#88Zt=;$mtT@gn4n4otAT=e>!5>IAvqg1To<^DFl!KOJ5<$k&`geQIs zANZIZBSk}VO_PplGV6`X1_>}W)jjVAIVl4NH;KRFu#i8nj3OTG|1g_%JOL_&5o62J8w-p#VnT1#E@~|T_fzwmw~AbjXaDYNC7Mb(OUPi&>*!! zX*c^_iMR!9#9TQt+%!^JK$O;S_HT?LjbX4x2{*Zy;AB?Im&Ovt-|{R8L@x?wq{?UC z$Ht-}J*g%EpMn?|CqKflWx5aUAIsr!V7_O@6zd_4k?af{z>4MfhIU?s$E-uw;Z(4vQsPB&ETJ0`Ca&T~P z%|nD+L_PT=!j&vNadJG`zx+}iIP*D6_b6u`ztk-$7l?vIoiL^x;GZL z2$zGc{4nSw?gI0`fEg4!XnIJ_2&;?cNbyE`27ZPNk zUz9p4@Txd%TqL`SLr^eHNnJgn$F9G4N)qq>WLEu@Rv4j1Y~zuyLt$Ng@ZD|GrOBxr zxZprw3E8wm126|PFD*v1l5jSv%o)=7lSum+jrP4VQ&Jjn_4M@gS5tfBfsV5BaCej& zY8RAEnXH9fe1`k%*C{BM^8y#(8X)UlrZT8p)`D_YwH3=My7I26{SnsPO&1LNT9{STGlJDihBgp55N2 z2U%y`#w2T9@ESFB3I^5$Q$pHia z+J>0Tus&wz90MuY-vX5e3d+==7GhUcJ!BOpRy&=Z;6~m}Xa+?pG{t+C0K6@`ySv`M zYKGXhbamSjWH36OBF{%*vBR+-W9*Dc%_b^X{Gbls<4*ZAl}&mv>an_1p>Pa66`!sm zvpmcs2<*|3!dXTd4KvQ_`PiJC!oDtuyBaxE&F-#YqkehlMzXjZj5(6_h$N=Hp^lTn zhf|aB@XV`~SK0h=5-2JyrWI$$4YlaSCnE^MPw|?yYcR|@+Uo^#ro`smy(hC+GsDwk z+t&K}g9&WnA`(%`f>*}0gBUQ{#yAXvMz)1;_gAQ0`#Y|f0S|%UJIqh>CwID1^mOm~ z06VA~0``gAXzHlRTHx>rHuT}GB3UACqU|rlkj*l+v`_I~;Nq^y(xN`LKrJ|;lv2J9 z1@~}G4L1%hZub7}?hG>YraYF>oRgV-S)#o232j)8)FYDe+lf;#u;2j~&C6tJlV-}w z_3epF8Ex&^e2^u=j@~UZgI|d0=;C1aB{WzX6dPm`7yQ8xjT`FIROSTq&02v>_Lsa) zz5@dPWTtPK41gh^*|2w z^Zq-Y;R^v=dDLUC8E2Vfe%G$Phn_9T8|KP78i%*0+}>7H#aa`>$)ZRAx7@XvWF|;6dP-) zDQj}7Xq+nfYr#pa@aOWY>u~hWvSy+B&W;Z4#G*J&Wo=(FmYEK()lREqE$ZU4uA+}4 z>6v2`e#{XRnX*?`&7Az$LridV$3l-90rHs;NjvL|K7cFt*>@rC7Q1#m?zfL z547@iI`FGhEA4Py@BN`-J9$e`;KK>O?A_aLKl6AwVbk-fj{W^T?<`p7XCgbJN!lcY zJ$B+5i3pw;w){!Z1)&=lkaD`+jRSSbyVKN?lI<#WN%41oj@LJ4S)c9AOP+s=p0+c6 z{@na}sRi#3<vDBV~3?J!? zM-aY*byiM@>+`M%D~G)HdXJiLi{p7C7fcY8S)cwvfoL0%CS@_n3PlbMf+%E7Vq=Ji zt^&p2UY3irA50w@Le|Q!0+Hy7DnemFFdiEJ<{k1ch*vg0L!}@)=Y0$laxS~ND& z?IVzM83M9E@ETpJvo!VfF(FS23wvAN?x+9U+iS35YYU?yU4ufT9l~E}%y(Ntk%1W! z(Ctpuz{K__bAl1zwq6NSvN|uYp$(nxbb6mq%3)r{{;sHy&Os!+Zm_9AL796a67+Q^ zJ_$$8pn$5SC1IW2>Hk+UP`0pPC;^f|r2P33>6Hgkpfd7d7$0~7$5Go zuxAO7I+#3t+U#*sV0+XPl7=KtZ4PCz0zcmNrU$;v3Oby3dD;CoNJ=V%!+WhccwkQCP^Y5AsW?WIgQrPZd+%`aSZ-Hx*Ahy-dS)+&@n z)6ke*)}W&96@DGbg%qC=D(?ywJ2JSFaI||oeB}2tGNN#DbSy$cLpxK!6Yp0n4p}N? zBxE=xX5VAuU}Gcn&N%_6KT68}@o;pY2Uy|3J!PQfsz7Xt_ z;0Gh`{m~Rjo_!Bh8(-g8VcyfAp!<7qh}fI;I>giw+wfR95jdNVcuBkyFnxExkJPP> zB$iUEp41aITwiso2M`&HAzc#fcY73RB*cApz7EEmWA*OFK7A#O}_+pogn zj8Kv{D5(SgjQB5`m=x^2D5OpO@F5F)U_?bn3;uL!{GfMGl^@37N4&?c+j*K!KKV8-RoR$P!E)-goBhEZTgz@(NX1p;Cq zkyAd}vs5HGJj}(0K%+?3>h$kJ|0fuXjg8sggya5s`H(7iwj!-$Ia~6=16*dt>;JW= dMLkSku7-tu{lR_LYXkuwO7d!QRWjzm{|CP}?@j;! literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/arrow.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..d72b5f3b8808bd89996ef62f845164d459957a1b GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol>!VDz;rWf@BDXjpX5LX~=X=(ZY|9>EfAH1#& z-3wIBTN30K45T@Ev~-ix<}bSOt=nC)A1Gk%>Eal|aXtBhiAd6gyIe=gyBczF}qKQ%F0(mNbo(!7G$6ystm-3eX4!Pgg&ebxsLQ E09R-@$^ZZW literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/close.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/close.png new file mode 100644 index 0000000000000000000000000000000000000000..6a04ab5275b321ce911c4e1416df7e0184d05f51 GIT binary patch literal 468 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/lock.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..1b87bbb7a14ceac0e259d75bdbc03365f01e9acf GIT binary patch literal 1299 zcmcK2YfO_@7zgl|J7XgE`xuonh01Nvjr*nTTY7<(-l(*+SfqVRg|f}S7??s;78ztp zX0k1txJ4X+B9|7(76PTE8=#;ILmd?4R;B^j!~z2x+8z9CvQPWvf6jSwzMPXM&u0ue z$=S)@34$PJ3K?dB6Lqj0ZNLuSs2_nKYbQn)hj_2G^*%^j+k>{Y-&LyV_V$_fcH_;P zvmhNEa~&NIJ3AM;yO-4JC5>iTtzPNveFW0ix8C2sF)(1(YB#mot---<5UuuakfEU+ z5S?yEuiw?_cJ=x_oo)~8!^6)(42FLUhW+7T%gBgjY|L`|wq<0OglbH=L7z`GR!Dcf!945ee zh0SJhIBXy%hXcap<^bFSCwRPEK0j9|AC{QP{8=%iRI0uZF2u&_`pE|f?L5kw3~ zBx0#lf*=y96hROvP*fz9$%ApWdo)va&{wTvRRW0uB zs>XO!=Uk-==9!?5@ZAN6#Syn!*AzSWhcB_^{#}C$haF~V#>Iw??d;fVlersm!!7;Uj>SJmi_hG5 zZ#pk-HW(_ix=qMW}A|^1`E2(SBSAdU|Li>Y8G$tCm(@1~=H6 z6ag5$lC;o&ImGX(B0jJPRk>h;_7e6O1LgJZU)YLj?I~aT3umymFustv(yj67&=Dm^ z?g_V&m3kVp*&AiWs4odWC9^_H_CGgi5Nm8H&$p$wuM4(gUDumDCrs~Z2E6SyLW!%& zP!I0Lm2aTnAU?{vkv)U$mKU^^qb1M{1k-Ofb_PyW@s~9{B7WB6vn4NitEC!2g!?Sd p*{oO(6}kOo)YtW8d<-4USq^e@@n6;8y}(pJ5QRvGJMp6P{{r75P22zg literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/refresh.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/hidpi/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c2b86e6d1cd21bd352a54321ae13100b78e581 GIT binary patch literal 1842 zcmV-22hI42P)Uv6m4vp)}&37zI6HlHEH|eLsJKw zXPbapXPgxfwV)P793GstvOQgEa}Gh|da2&z%em*Az4y1i^^HedShGgFt+Ybg*R2zm zHf#`AHf|J`acy6}UbL=VJK{6My8xi_>sz;qNBj1Pmq(9^=LZjpo?W}drN+h)gLo(F zY57Aa$8Q?sYlx$E_N=(Qd-sSzytQ&3{`aO$;^mPe1Q0PRF;P00On>6Pzjo$~xU+Y! zdVkT5Oa8Y~9(Wo4?!@6YcI*(^i4zLI7b{oF^0{-Rqsep=_eolNyXXVBTXtMxUoke) z*9@?(&6~yTJ$uCSLx+Uc(jv6er-jzlr2u@oVuf73e7US&v`CJdIPnFZeG75Y&Ye?x zY=L;AVp>ZYX~ok62l|zEbWouKWHKZNVs&zLO>1aqkP8wGArqDmY*7YZsMbE%Zd`JDI20zZ;&$jQr70cBWLQeG}U zoH1h$-UTxE`%rc@1}O4fI6FtsS_QJALKc^m$w}eiKVz+l%6V>wy)=HThMz7$GJOG{NA!{^U%XfQ1zl^690Hb4^;0R&H*wi;J=7Aq=e z9U;ipL1GiYfd7$t?@yW1Ra{acXCwLxi;Lw)QBfyYa#Y3`b*|-mKbmU#l6RnJqvR zLskuu@vH>|X^R2hOr&2yVWBL9uCBTQAq64%{GvMl6L# zMz*lRQcwHPN@!#OeeFGA!XH^VIWiAS5CA3}_I4`+)YhnFC|5lMM&Os4n3}5g=R;W3 zJj~`*%(9`e^h!#-U`n~Te3l6SxnzML3JTb#z!Y4+|A0)mN@`I3o^2@q_dk_Bi@bSKqBE| zQhf~(O-i3}Sm`g}?>W1>@6OiuaX;C_dEErYEMUCZ>;){FsmhM%Z$uSNg!lm z7G?oAFRyEOm#L=TOPBgbGAQ;74Ryw|BDc|_dtxyOaeWp*bALigio~8A7AThRc3aJ; zRWB^PY{#H7AS7fp-$~Hb^loojzlRj7vxuP|WvS$Mq?Y z$mnQJtUjD4ZPk%szjg*(A%xi+6x0|UA1{+ZWg5Vw>3}j|ogut8-X$aYW3b*F9L(O} zqo_xv97?_InUJnPgwtP7!GxNQoSaIh&z#vCpOhpMAc+tHN`*3B6ZPj9Ok_k|0>J@waRKV zCf0-zx8paJR-z{xOd;km%Pc=O@NDSkmoT{Z?N_#wR$75Obe_YAED= g=g^ir!ms2106T%iXz%*nVE_OC07*qoM6N<$f=_o+lmGw# literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/lock-open.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/images/lock-open.png new file mode 100644 index 0000000000000000000000000000000000000000..04769877aa6d074e476f9560638d06cb158aaf1b GIT binary patch literal 349 zcmV-j0iyniP)Hc z&n^Q25XbTF&7uB8h{F<*UK$c{6bF(DX-V5yq<8{P)2DIiBX|hAR<{~TY$9o%h5mZ)AKROqT}ICn1K2gcrVZ2a4<}@gIzkdJz{m-92fBpLP=g*)2|NjHELI68EJ2y8s zkS!=EC?q7r%gd{)s|%6hQrC zQ&USzOJ85#+}zyO*4EC>&e74)$;rvp)z#hI-P6<4$H&Ll*VoU_FCZWwFfcGEC@3T( zBrGf}JUl!iA|f&}GAb%c^3n-Mpfw65L4F`_p#mOBpv4~P>Ak%>PCWYb^I+EhUqA)R zJzX3_BqUi68WtTk;Bh_3F0dqH=?3-5S9bp27<4=JnDRuWx-#Aadn}%KH8O@(F~l4f zV%6B5u|000zF>k}?(D_64^}eFG4tcw`tZRF@ly(tt&g5n<9kM zsLu=gzW%*|vFG*AU-=fqr?FkSs@QPm>HfukQ`A@#Ix8h7DKMl)rKBuVXo%cucmMZ^ rIRclgQu1>9uIx;p5dj z%lP`u&v$=J<2z5)lzAD*kbFD5EhFb!&D-m^J6co(0xLU+qr3iEV3kgyVg?12G;; z{1S&}Zs+utOA*o9X7*lg?dXjK7KQHXDU Qp#T5?07*qoM6N<$g14l=!TOwP=T3e-=BBi$4DkQN?thHqk38A4vt5G2&WJ5X+EFD9YT0*sI89FsZ>!72Q&ifkPB@Bi+&U~74=F2=EpXZ$4bKTc<{qMhnlf9`~ zkQ^Wfd;|ajfe;xP85bAFX0snWcpwxChlhv9#>S$eqLP!78yXs3ym*1f!KBV7>b5C(sIPDd$9=)eU}Lyb1T(C|L~Y+d zitR+2qa5i~Maw@~h|4LnKu1*BpT|0%7X#@Us zYG0c%Rw%8s#h!qURb_nB6CDm#w0$Lm!+p6v)M1kPS6XTpYCGb>$ zrTSFsgjs@7;L=ZNHr`*n_AE1e5P&%x;-F-v(5M@!yeHIV8(Mr6q{Znl>TQf94KE)T z7jK=}M@8CeE4Ft!n|nH5@PMzW$tdgUYdov%J=p^p227dAuVV6QXd{etFA&=)=JQj9v_;&SKsh|xZYiyHz`t} zO$T;SEw-s42kOby%|^F=j7GM_Km1qqEqlBw5OJV|i6ea(-8^72y3DWglIPp>Okf(v zPU7=mxfODI5iS2nYy$E81{Tzpng{R3ssh~8E%-KLGq=WZNxhi=qK3lRWk{V+skb`$ z_YH4Mpe6Q-$#UD#5Xp6su8QKBCf}FKvW&5|sa??W>3ww)t)A@tg{= z4o0RHDJ(?yK(NOaa@X8eyH!FJTiQ<)&aDb3%WU`M7CbZUJQ`@^2f5v$)*qu`nO=86 z2yqIGQJez9lZfJlU&Za6{O@(z&?&~7-h`Hp$_ftsz|BZ{J#11GYBDqi zshW{Rt5*`7xQm|tt~XBey@J|SM|X}7wQpgd;&cwOY|_D9hgHO%mMy{7bV~b)UQMM? zFwCH?Vl7QzTg?nUV?0JZk%dU~l8LTFi*Nk-qMK?`Ro(H69NCLUL|R=5JoD(s6R+s~??G-dIB&9( zjE0(rADgtz-YFY$_P5l6Z;HHtk~qz+Iq+yIJJXieBm+B*sPKAR)c1I;p}-|a>KH;T z{k*1vuNaxPZ$$8M&a8M!TYqb(>|{cnMOHZKWvi6%jd*BtRy(j%nE}1-R27v5q^S(n zeB&fb0Md+~9W)Bg^wzQgvGku#O{?6C*#Gp3owR!rT3qT1ITjV{8WUx+rycepJN{jH zom;~1e}pn;IWXEkc-VtF^?uPS!tlMr+@))CvZoeQy6pAyRh-8R)z99iekfQRJaQHm zZ-e&p^dozb($k!`&^wna)Yd8qr7Dr9$7(}iD-CY9mB0YT@zQH0&#TlhoZgC>A{I zAwv8OyXVfJbKzcCm`9QKJe{sg8!wMYFoleOl258#R=>&($9e~ZCnu33m~K(1C?=O} z6CH26C4J{2-zW+3YdiK${&l?^le*q1!^Y>G_MO_=kph+BFBYR%aRo5ay9QagY!jpt6z#}jj1 zdmRs6#V7hQ{S#SNsYjiu2`N<9y{v{6cZG?6u3KQ|`A9m=&`l*3wQ}*CCo*^$qZLqZ5gL)PX88H^eiH-Hy@B{Ysn8b_ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/readme.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/readme.md new file mode 100644 index 0000000..d5bf7be --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/moono/readme.md @@ -0,0 +1,49 @@ +"Moono" Skin +==================== + +This skin has been chosen for the **default skin** of CKEditor 4.x, elected from the CKEditor +[skin contest](http://ckeditor.com/blog/new_ckeditor_4_skin) and further shaped by +the CKEditor team. "Moono" is maintained by the core developers. + +For more information about skins, please check the [CKEditor Skin SDK](http://docs.cksource.com/CKEditor_4.x/Skin_SDK) +documentation. + +Features +------------------- +"Moono" is a monochromatic skin, which offers a modern look coupled with gradients and transparency. +It comes with the following features: + +- Chameleon feature with brightness, +- high-contrast compatibility, +- graphics source provided in SVG. + +Directory Structure +------------------- + +CSS parts: +- **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance, +- **mainui.css**: the file contains styles of entire editor outline structures, +- **toolbar.css**: the file contains styles of the editor toolbar space (top), +- **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar, +- **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded +until the first panel open up, +- **elementspath.css**: the file contains styles of the editor elements path bar (bottom), +- **menu.css**: the file contains styles of all editor menus including context menu and button drop-down, +it's not loaded until the first menu open up, +- **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open, +- **reset.css**: the file defines the basis of style resets among all editor UI spaces, +- **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference, +- **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks. + +Other parts: +- **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature, +- **icons/**: contains all skin defined icons, +- **images/**: contains a fill general used images, +- **dev/**: contains SVG source of the skin icons. + +License +------- + +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + +For licensing, see LICENSE.md or [http://ckeditor.com/license](http://ckeditor.com/license) diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/dialog.css b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/dialog.css new file mode 100644 index 0000000..b357edb --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/dialog.css @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +.cke_dialog{visibility:visible}.cke_dialog_background_cover{background:#c6c6c6!important}.cke_dialog_body{z-index:1;background:#fff;border:1px solid #2b579a;box-shadow:0 0 10px 1px #a3bde3}.cke_browser_gecko19 .cke_dialog_body{position:relative}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-size:13px;position:relative;color:#474747;padding:10px 14px;cursor:default}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:30px;border-top:1px solid #d4d4d4;border-radius:0 0 3px 3px}.cke_dialog_contents_body{overflow:auto;padding:17px 14px 0 14px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border:0}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:40px;border-color:transparent #666 transparent transparent}.cke_dialog .cke_resizer_rtl{margin-left:2px}.cke_dialog .cke_resizer_ltr{margin-right:2px;margin-left:-12px}.cke_dialog_tabs{height:25px;display:inline-block;margin:5px 0 0;position:absolute;z-index:2;left:10px}.cke_rtl .cke_dialog_tabs{right:10px}a.cke_dialog_tab{height:16px;padding:4px 8px;margin-right:3px;display:inline-block;cursor:default;text-transform:uppercase;line-height:16px;outline:0;color:#444;border-bottom-color:#d4d4d4;background:#fafafa}.cke_rtl a.cke_dialog_tab{margin-right:0;margin-left:3px}a.cke_dialog_tab:hover{color:#2b579a}a.cke_dialog_tab_selected{padding:4px 7px 5px;color:#2b579a;border:1px solid #d4d4d4;border-bottom:0;cursor:default}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:0 0;position:absolute;cursor:pointer;text-align:center;height:16px;width:16px;border:1px solid transparent;top:5px;z-index:5;cursor:default}.cke_hidpi .cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}.cke_dialog_close_button:hover{background-color:#d5e1f2;border-color:#a3bde3}.cke_dialog_close_button:active{background-color:#a3bde3;border-color:#3e6db5}.cke_dialog_close_button span{display:none}.cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}.cke_ltr .cke_dialog_close_button{right:10px}.cke_rtl .cke_dialog_close_button{left:6px}.cke_dialog_close_button{top:10px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #c3cbd0;padding:2px 6px;outline:0;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #a3bde3}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:1px solid #3e6db5}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password{height:22px}a.cke_dialog_ui_button{display:inline-block;height:16px;line-height:16px;padding:2px 0;margin:0;text-align:center;color:#444;vertical-align:middle;cursor:default;border:1px solid #ababab;background:#fff}span.cke_dialog_ui_button{padding:0 12px}a.cke_dialog_ui_button:focus{border-color:#a3bde3;background:#e3ecfa;outline:0}a.cke_dialog_ui_button:active{border-color:#3e6db5;background:#a3bde3;outline:0}a.cke_dialog_ui_button:hover{border-color:#a3bde3;background:#d5e1f2}.cke_hc a.cke_dialog_ui_button:hover span,.cke_hc a.cke_dialog_ui_button:focus span,.cke_hc a.cke_dialog_ui_button:active span{padding-left:10px;padding-right:10px}.cke_dialog_footer_buttons a.cke_dialog_ui_button{height:18px}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;line-height:18px}a.cke_dialog_ui_button_ok{border-color:#8dbbfd;background:#f4f8ff}span.cke_dialog_ui_button{cursor:default}.cke_dialog_footer_buttons{display:inline-table;margin:14px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:22px;line-height:22px;background-color:#fff;border:1px solid #c3cbd0;padding:1px 1px 1px 6px;outline:0}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog .cke_dark_background{background-color:#dedede}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer}.cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #c3cbd0}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;margin-bottom:auto;cursor:default}.cke_dialog_body label.cke_required{font-weight:bold}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:1px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_dialog_ui_checkbox_input:focus,.cke_dialog_ui_radio_input:focus,.cke_btn_over{outline:1px dotted #696969}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/editor.css b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/editor.css new file mode 100644 index 0000000..b551358 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/editor.css @@ -0,0 +1,12 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none}.cke_reset_all,.cke_reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;position:static;-webkit-transition:none;-moz-transition:none;-ms-transition:none;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_chrome{display:block;padding:0;border:1px solid #2b579a;box-shadow:0 0 6px 1px rgba(172,181,194,0.56)}.cke_inner{display:block;-webkit-touch-callout:none;background:#fff;padding:0}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #e1e1e1;padding:6px 8px 2px;white-space:normal;background:#fff}.cke_float .cke_top{border:1px solid #b6b6b6;border-bottom-color:#999}.cke_bottom{padding:6px 8px 2px;position:relative;background:#2b579a}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #fff transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #a5a5a5;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;background-color:#fff;border:1px solid #c6c6c6}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_block{outline:0;display:table;width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.cke_panel_list{list-style-type:none;padding:0;margin:0;white-space:nowrap}.cke_panel_listItem{margin:0}.cke_panel_listItem a{padding:4px;margin:1px;display:block;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;cursor:default}.cke_panel_listItem.cke_selected a{background-color:#d3d3d3}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#d5e1f2;outline:0}.cke_hc .cke_panel_listItem a{border-style:none}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:1px 2px}.cke_panel_grouptitle{font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:8px 4px;color:#444;background:#f0f0f0;cursor:default}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;width:12px;height:12px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#b6b6b6 1px solid;background-color:#e5e5e5}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px 4px;display:block;cursor:pointer}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#d5e1f2 1px solid;background-color:#d5e1f2}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{float:left;margin:0 6px 5px 0}.cke_hc .cke_toolgroup{border:0;margin-right:10px;margin-bottom:10px}.cke_rtl .cke_toolgroup{float:right;margin-left:6px;margin-right:0}a.cke_button{display:inline-block;height:16px;padding:2px;outline:0;cursor:default;float:left;border:1px solid transparent;margin:1px}.cke_rtl .cke_button{float:right}.cke_hc .cke_button{border:1px solid transparent;padding:2px}.cke_button_on{background:#c2d5f2}.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border-width:3px;padding:1px 3px}.cke_button_disabled .cke_button_icon{opacity:.3}.cke_hc .cke_button_disabled{opacity:.5}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{background:#d5e1f2}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5)}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px -2px 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#c0c0c0;background-color:rgba(0,0,0,.2);margin:5px 2px 0;height:18px;width:1px;box-shadow:1px 0 1px rgba(255,255,255,.5)}.cke_rtl .cke_toolbar_separator{float:right;box-shadow:-1px 0 1px rgba(255,255,255,.1)}.cke_hc .cke_toolbar_separator{width:0;border-left:1px solid;margin:1px 5px 0 0}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #a6a6a6;background:#e4e4e4}.cke_toolbox_collapser:hover{background:#ccc}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:3px solid #474747;border-top:3px solid transparent}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#474747}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0;margin-right:2px}.cke_menubutton{display:block;margin:1px}.cke_menuitem span{cursor:default}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d3d3d3;display:block;cursor:default}.cke_hc .cke_menubutton{padding:2px}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{padding:4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle;color:#444}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_menubutton_on{background-color:#d5e1f2}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#d5e1f2;outline:0}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d3d3d3;height:1px;filter:alpha(opacity=70);opacity:.70}.cke_menuarrow{background-image:url(images/arrow.png);background-position:0 10px;background-repeat:no-repeat;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:-2px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_button{display:inline-block;float:left;margin:0 6px 5px 0;border:1px solid #e1e1e1;cursor:default;background:#fff}.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus{border-color:#a3bde3;outline:0}.cke_combo_off a.cke_combo_button:hover .cke_combo_open,.cke_combo_off a.cke_combo_button:focus .cke_combo_open{background:#d5e1f2;outline:0}.cke_combo_off a.cke_combo_button:active .cke_combo_open,.cke_combo_on a.cke_combo_button .cke_combo_open{background:#a3bde3}.cke_rtl .cke_combo_button{float:right;margin-left:5px;margin-right:0}.cke_hc a.cke_combo_button{padding:3px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border-width:3px;padding:1px}.cke_combo_text{line-height:22px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#474747;text-shadow:0 1px 0 rgba(255,255,255,.5);width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px;vertical-align:top}.cke_combo_open{cursor:default;display:inline-block;vertical-align:top;font-size:0;height:22px;line-height:17px;padding:0 7px 0;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{margin:9px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #474747;cursor:default}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}.cke_path_item,.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#fff;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#fff;color:#2b579a}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combo__fontsize .cke_combo_text{width:30px}.cke_combopanel__fontsize{width:120px}.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_button__about_icon{background:url(icons.png) no-repeat 0 -0px!important}.cke_rtl .cke_button__anchor_icon,.cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background:url(icons.png) no-repeat 0 -24px!important}.cke_ltr .cke_button__anchor_icon{background:url(icons.png) no-repeat 0 -48px!important}.cke_button__autocorrect_icon{background:url(icons.png) no-repeat 0 -72px!important}.cke_button__bgcolor_icon{background:url(icons.png) no-repeat 0 -96px!important}.cke_button__bidiltr_icon{background:url(icons.png) no-repeat 0 -120px!important}.cke_button__bidirtl_icon{background:url(icons.png) no-repeat 0 -144px!important}.cke_button__blockquote_icon{background:url(icons.png) no-repeat 0 -168px!important}.cke_button__bold_icon{background:url(icons.png) no-repeat 0 -192px!important}.cke_rtl .cke_button__bulletedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background:url(icons.png) no-repeat 0 -216px!important}.cke_ltr .cke_button__bulletedlist_icon{background:url(icons.png) no-repeat 0 -240px!important}.cke_button__button_icon{background:url(icons.png) no-repeat 0 -264px!important}.cke_button__checkbox_icon{background:url(icons.png) no-repeat 0 -288px!important}.cke_rtl .cke_button__copy_icon,.cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background:url(icons.png) no-repeat 0 -312px!important}.cke_ltr .cke_button__copy_icon{background:url(icons.png) no-repeat 0 -336px!important}.cke_rtl .cke_button__cut_icon,.cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background:url(icons.png) no-repeat 0 -360px!important}.cke_ltr .cke_button__cut_icon{background:url(icons.png) no-repeat 0 -384px!important}.cke_rtl .cke_button__docprops_icon,.cke_mixed_dir_content .cke_rtl .cke_button__docprops_icon{background:url(icons.png) no-repeat 0 -408px!important}.cke_ltr .cke_button__docprops_icon{background:url(icons.png) no-repeat 0 -432px!important}.cke_rtl .cke_button__find_icon,.cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background:url(icons.png) no-repeat 0 -456px!important}.cke_ltr .cke_button__find_icon{background:url(icons.png) no-repeat 0 -480px!important}.cke_button__form_icon{background:url(icons.png) no-repeat 0 -504px!important}.cke_button__hiddenfield_icon{background:url(icons.png) no-repeat 0 -528px!important}.cke_button__horizontalrule_icon{background:url(icons.png) no-repeat 0 -552px!important}.cke_button__iframe_icon{background:url(icons.png) no-repeat 0 -576px!important}.cke_button__image_icon{background:url(icons.png) no-repeat 0 -600px!important}.cke_button__imagebutton_icon{background:url(icons.png) no-repeat 0 -624px!important}.cke_rtl .cke_button__indent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background:url(icons.png) no-repeat 0 -648px!important}.cke_ltr .cke_button__indent_icon{background:url(icons.png) no-repeat 0 -672px!important}.cke_button__italic_icon{background:url(icons.png) no-repeat 0 -696px!important}.cke_button__justifyblock_icon{background:url(icons.png) no-repeat 0 -720px!important}.cke_button__justifycenter_icon{background:url(icons.png) no-repeat 0 -744px!important}.cke_button__justifyleft_icon{background:url(icons.png) no-repeat 0 -768px!important}.cke_button__justifyright_icon{background:url(icons.png) no-repeat 0 -792px!important}.cke_button__language_icon{background:url(icons.png) no-repeat 0 -816px!important}.cke_button__link_icon{background:url(icons.png) no-repeat 0 -840px!important}.cke_button__mathjax_icon{background:url(icons.png) no-repeat 0 -864px!important}.cke_button__maximize_icon{background:url(icons.png) no-repeat 0 -888px!important}.cke_rtl .cke_button__newpage_icon,.cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background:url(icons.png) no-repeat 0 -912px!important}.cke_ltr .cke_button__newpage_icon{background:url(icons.png) no-repeat 0 -936px!important}.cke_rtl .cke_button__numberedlist_icon,.cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background:url(icons.png) no-repeat 0 -960px!important}.cke_ltr .cke_button__numberedlist_icon{background:url(icons.png) no-repeat 0 -984px!important}.cke_rtl .cke_button__outdent_icon,.cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background:url(icons.png) no-repeat 0 -1008px!important}.cke_ltr .cke_button__outdent_icon{background:url(icons.png) no-repeat 0 -1032px!important}.cke_rtl .cke_button__pagebreak_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background:url(icons.png) no-repeat 0 -1056px!important}.cke_ltr .cke_button__pagebreak_icon{background:url(icons.png) no-repeat 0 -1080px!important}.cke_rtl .cke_button__paste_icon,.cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background:url(icons.png) no-repeat 0 -1104px!important}.cke_ltr .cke_button__paste_icon{background:url(icons.png) no-repeat 0 -1128px!important}.cke_rtl .cke_button__pastefromword_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background:url(icons.png) no-repeat 0 -1152px!important}.cke_ltr .cke_button__pastefromword_icon{background:url(icons.png) no-repeat 0 -1176px!important}.cke_rtl .cke_button__pastetext_icon,.cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background:url(icons.png) no-repeat 0 -1200px!important}.cke_ltr .cke_button__pastetext_icon{background:url(icons.png) no-repeat 0 -1224px!important}.cke_rtl .cke_button__preview_icon,.cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background:url(icons.png) no-repeat 0 -1248px!important}.cke_ltr .cke_button__preview_icon{background:url(icons.png) no-repeat 0 -1272px!important}.cke_button__print_icon{background:url(icons.png) no-repeat 0 -1296px!important}.cke_button__radio_icon{background:url(icons.png) no-repeat 0 -1320px!important}.cke_rtl .cke_button__redo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background:url(icons.png) no-repeat 0 -1344px!important}.cke_ltr .cke_button__redo_icon{background:url(icons.png) no-repeat 0 -1368px!important}.cke_button__removeformat_icon{background:url(icons.png) no-repeat 0 -1392px!important}.cke_button__replace_icon{background:url(icons.png) no-repeat 0 -1416px!important}.cke_button__save_icon{background:url(icons.png) no-repeat 0 -1440px!important}.cke_button__scayt_icon{background:url(icons.png) no-repeat 0 -1464px!important}.cke_rtl .cke_button__select_icon,.cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background:url(icons.png) no-repeat 0 -1488px!important}.cke_ltr .cke_button__select_icon{background:url(icons.png) no-repeat 0 -1512px!important}.cke_button__selectall_icon{background:url(icons.png) no-repeat 0 -1536px!important}.cke_rtl .cke_button__showblocks_icon,.cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background:url(icons.png) no-repeat 0 -1560px!important}.cke_ltr .cke_button__showblocks_icon{background:url(icons.png) no-repeat 0 -1584px!important}.cke_button__smiley_icon{background:url(icons.png) no-repeat 0 -1608px!important}.cke_rtl .cke_button__source_icon,.cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background:url(icons.png) no-repeat 0 -1632px!important}.cke_ltr .cke_button__source_icon{background:url(icons.png) no-repeat 0 -1656px!important}.cke_rtl .cke_button__sourcedialog_icon,.cke_mixed_dir_content .cke_rtl .cke_button__sourcedialog_icon{background:url(icons.png) no-repeat 0 -1680px!important}.cke_ltr .cke_button__sourcedialog_icon{background:url(icons.png) no-repeat 0 -1704px!important}.cke_button__specialchar_icon{background:url(icons.png) no-repeat 0 -1728px!important}.cke_button__spellchecker_icon{background:url(icons.png) no-repeat 0 -1752px!important}.cke_button__strike_icon{background:url(icons.png) no-repeat 0 -1776px!important}.cke_button__subscript_icon{background:url(icons.png) no-repeat 0 -1800px!important}.cke_button__superscript_icon{background:url(icons.png) no-repeat 0 -1824px!important}.cke_button__table_icon{background:url(icons.png) no-repeat 0 -1848px!important}.cke_button__templates_icon{background:url(icons.png) no-repeat 0 -1872px!important}.cke_rtl .cke_button__textarea_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background:url(icons.png) no-repeat 0 -1896px!important}.cke_ltr .cke_button__textarea_icon{background:url(icons.png) no-repeat 0 -1920px!important}.cke_button__textcolor_icon{background:url(icons.png) no-repeat 0 -1944px!important}.cke_rtl .cke_button__textfield_icon,.cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background:url(icons.png) no-repeat 0 -1968px!important}.cke_ltr .cke_button__textfield_icon{background:url(icons.png) no-repeat 0 -1992px!important}.cke_button__uicolor_icon{background:url(icons.png) no-repeat 0 -2016px!important}.cke_button__underline_icon{background:url(icons.png) no-repeat 0 -2040px!important}.cke_rtl .cke_button__undo_icon,.cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background:url(icons.png) no-repeat 0 -2064px!important}.cke_ltr .cke_button__undo_icon{background:url(icons.png) no-repeat 0 -2088px!important}.cke_button__unlink_icon{background:url(icons.png) no-repeat 0 -2112px!important}.cke_hidpi .cke_button__about_icon{background:url(icons_hidpi.png) no-repeat 0 -0px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__anchor_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon{background:url(icons_hidpi.png) no-repeat 0 -24px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon{background:url(icons_hidpi.png) no-repeat 0 -48px!important;background-size:16px!important}.cke_hidpi .cke_button__autocorrect_icon{background:url(icons_hidpi.png) no-repeat 0 -72px!important;background-size:16px!important}.cke_hidpi .cke_button__bgcolor_icon{background:url(icons_hidpi.png) no-repeat 0 -96px!important;background-size:16px!important}.cke_hidpi .cke_button__bidiltr_icon{background:url(icons_hidpi.png) no-repeat 0 -120px!important;background-size:16px!important}.cke_hidpi .cke_button__bidirtl_icon{background:url(icons_hidpi.png) no-repeat 0 -144px!important;background-size:16px!important}.cke_hidpi .cke_button__blockquote_icon{background:url(icons_hidpi.png) no-repeat 0 -168px!important;background-size:16px!important}.cke_hidpi .cke_button__bold_icon{background:url(icons_hidpi.png) no-repeat 0 -192px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -216px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -240px!important;background-size:16px!important}.cke_hidpi .cke_button__button_icon{background:url(icons_hidpi.png) no-repeat 0 -264px!important;background-size:16px!important}.cke_hidpi .cke_button__checkbox_icon{background:url(icons_hidpi.png) no-repeat 0 -288px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__copy_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon{background:url(icons_hidpi.png) no-repeat 0 -312px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon{background:url(icons_hidpi.png) no-repeat 0 -336px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__cut_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon{background:url(icons_hidpi.png) no-repeat 0 -360px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon{background:url(icons_hidpi.png) no-repeat 0 -384px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__docprops_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__docprops_icon{background:url(icons_hidpi.png) no-repeat 0 -408px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__docprops_icon,.cke_ltr.cke_hidpi .cke_button__docprops_icon{background:url(icons_hidpi.png) no-repeat 0 -432px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__find_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon{background:url(icons_hidpi.png) no-repeat 0 -456px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon{background:url(icons_hidpi.png) no-repeat 0 -480px!important;background-size:16px!important}.cke_hidpi .cke_button__form_icon{background:url(icons_hidpi.png) no-repeat 0 -504px!important;background-size:16px!important}.cke_hidpi .cke_button__hiddenfield_icon{background:url(icons_hidpi.png) no-repeat 0 -528px!important;background-size:16px!important}.cke_hidpi .cke_button__horizontalrule_icon{background:url(icons_hidpi.png) no-repeat 0 -552px!important;background-size:16px!important}.cke_hidpi .cke_button__iframe_icon{background:url(icons_hidpi.png) no-repeat 0 -576px!important;background-size:16px!important}.cke_hidpi .cke_button__image_icon{background:url(icons_hidpi.png) no-repeat 0 -600px!important;background-size:16px!important}.cke_hidpi .cke_button__imagebutton_icon{background:url(icons_hidpi.png) no-repeat 0 -624px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__indent_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon{background:url(icons_hidpi.png) no-repeat 0 -648px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon{background:url(icons_hidpi.png) no-repeat 0 -672px!important;background-size:16px!important}.cke_hidpi .cke_button__italic_icon{background:url(icons_hidpi.png) no-repeat 0 -696px!important;background-size:16px!important}.cke_hidpi .cke_button__justifyblock_icon{background:url(icons_hidpi.png) no-repeat 0 -720px!important;background-size:16px!important}.cke_hidpi .cke_button__justifycenter_icon{background:url(icons_hidpi.png) no-repeat 0 -744px!important;background-size:16px!important}.cke_hidpi .cke_button__justifyleft_icon{background:url(icons_hidpi.png) no-repeat 0 -768px!important;background-size:16px!important}.cke_hidpi .cke_button__justifyright_icon{background:url(icons_hidpi.png) no-repeat 0 -792px!important;background-size:16px!important}.cke_hidpi .cke_button__language_icon{background:url(icons_hidpi.png) no-repeat 0 -816px!important;background-size:16px!important}.cke_hidpi .cke_button__link_icon{background:url(icons_hidpi.png) no-repeat 0 -840px!important;background-size:16px!important}.cke_hidpi .cke_button__mathjax_icon{background:url(icons_hidpi.png) no-repeat 0 -864px!important;background-size:16px!important}.cke_hidpi .cke_button__maximize_icon{background:url(icons_hidpi.png) no-repeat 0 -888px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__newpage_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon{background:url(icons_hidpi.png) no-repeat 0 -912px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon{background:url(icons_hidpi.png) no-repeat 0 -936px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -960px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon{background:url(icons_hidpi.png) no-repeat 0 -984px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__outdent_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon{background:url(icons_hidpi.png) no-repeat 0 -1008px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon{background:url(icons_hidpi.png) no-repeat 0 -1032px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon{background:url(icons_hidpi.png) no-repeat 0 -1056px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon{background:url(icons_hidpi.png) no-repeat 0 -1080px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__paste_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon{background:url(icons_hidpi.png) no-repeat 0 -1104px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon{background:url(icons_hidpi.png) no-repeat 0 -1128px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon{background:url(icons_hidpi.png) no-repeat 0 -1152px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon{background:url(icons_hidpi.png) no-repeat 0 -1176px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__pastetext_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon{background:url(icons_hidpi.png) no-repeat 0 -1200px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon{background:url(icons_hidpi.png) no-repeat 0 -1224px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__preview_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon{background:url(icons_hidpi.png) no-repeat 0 -1248px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon{background:url(icons_hidpi.png) no-repeat 0 -1272px!important;background-size:16px!important}.cke_hidpi .cke_button__print_icon{background:url(icons_hidpi.png) no-repeat 0 -1296px!important;background-size:16px!important}.cke_hidpi .cke_button__radio_icon{background:url(icons_hidpi.png) no-repeat 0 -1320px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__redo_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon{background:url(icons_hidpi.png) no-repeat 0 -1344px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon{background:url(icons_hidpi.png) no-repeat 0 -1368px!important;background-size:16px!important}.cke_hidpi .cke_button__removeformat_icon{background:url(icons_hidpi.png) no-repeat 0 -1392px!important;background-size:16px!important}.cke_hidpi .cke_button__replace_icon{background:url(icons_hidpi.png) no-repeat 0 -1416px!important;background-size:16px!important}.cke_hidpi .cke_button__save_icon{background:url(icons_hidpi.png) no-repeat 0 -1440px!important;background-size:16px!important}.cke_hidpi .cke_button__scayt_icon{background:url(icons_hidpi.png) no-repeat 0 -1464px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__select_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon{background:url(icons_hidpi.png) no-repeat 0 -1488px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon{background:url(icons_hidpi.png) no-repeat 0 -1512px!important;background-size:16px!important}.cke_hidpi .cke_button__selectall_icon{background:url(icons_hidpi.png) no-repeat 0 -1536px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__showblocks_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon{background:url(icons_hidpi.png) no-repeat 0 -1560px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon{background:url(icons_hidpi.png) no-repeat 0 -1584px!important;background-size:16px!important}.cke_hidpi .cke_button__smiley_icon{background:url(icons_hidpi.png) no-repeat 0 -1608px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__source_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon{background:url(icons_hidpi.png) no-repeat 0 -1632px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon{background:url(icons_hidpi.png) no-repeat 0 -1656px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__sourcedialog_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__sourcedialog_icon{background:url(icons_hidpi.png) no-repeat 0 -1680px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__sourcedialog_icon,.cke_ltr.cke_hidpi .cke_button__sourcedialog_icon{background:url(icons_hidpi.png) no-repeat 0 -1704px!important;background-size:16px!important}.cke_hidpi .cke_button__specialchar_icon{background:url(icons_hidpi.png) no-repeat 0 -1728px!important;background-size:16px!important}.cke_hidpi .cke_button__spellchecker_icon{background:url(icons_hidpi.png) no-repeat 0 -1752px!important;background-size:16px!important}.cke_hidpi .cke_button__strike_icon{background:url(icons_hidpi.png) no-repeat 0 -1776px!important;background-size:16px!important}.cke_hidpi .cke_button__subscript_icon{background:url(icons_hidpi.png) no-repeat 0 -1800px!important;background-size:16px!important}.cke_hidpi .cke_button__superscript_icon{background:url(icons_hidpi.png) no-repeat 0 -1824px!important;background-size:16px!important}.cke_hidpi .cke_button__table_icon{background:url(icons_hidpi.png) no-repeat 0 -1848px!important;background-size:16px!important}.cke_hidpi .cke_button__templates_icon{background:url(icons_hidpi.png) no-repeat 0 -1872px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__textarea_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon{background:url(icons_hidpi.png) no-repeat 0 -1896px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon{background:url(icons_hidpi.png) no-repeat 0 -1920px!important;background-size:16px!important}.cke_hidpi .cke_button__textcolor_icon{background:url(icons_hidpi.png) no-repeat 0 -1944px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__textfield_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon{background:url(icons_hidpi.png) no-repeat 0 -1968px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon{background:url(icons_hidpi.png) no-repeat 0 -1992px!important;background-size:16px!important}.cke_hidpi .cke_button__uicolor_icon{background:url(icons_hidpi.png) no-repeat 0 -2016px!important;background-size:16px!important}.cke_hidpi .cke_button__underline_icon{background:url(icons_hidpi.png) no-repeat 0 -2040px!important;background-size:16px!important}.cke_rtl.cke_hidpi .cke_button__undo_icon,.cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon{background:url(icons_hidpi.png) no-repeat 0 -2064px!important;background-size:16px!important}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon{background:url(icons_hidpi.png) no-repeat 0 -2088px!important;background-size:16px!important}.cke_hidpi .cke_button__unlink_icon{background:url(icons_hidpi.png) no-repeat 0 -2112px!important;background-size:16px!important} + + + +.cke_button__flvplayer_icon{background:url(images/insertflv.png);} +.cke_button__flvplayer_icon{background:url(images/insertflv.png);} +.cke_button__importword_icon{background:url(images/ImportWord.png);} +.cke_button__importword_icon{background:url(images/ImportWord.png);} \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/icons.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..0af0885976677e9356ad5a2ab70e94493085c400 GIT binary patch literal 10440 zcmY*fbyO5l+n;3tmsknuTuMs1L11YRC8Y$UyOB_G>5y)f5>Qe~Is{gvyGy#eJHGY( z&iT&!{WEjVoH=vv%slt`#q&g{sVG3PDX;+mfGR1e007a2V4_BYq#}<1fF)K* zR_gWpnLS?|dm@DzK^;B1H61?}sgFdgI#&XuJ*IoL81t-6+R!N{oyft#Tl|oe+CRU8=5fyFs7=`nY{6;1=N|h~LLxOc>Z^Y}&cFXlz>Z zaP8GFBOrcPuwT*7;GUPeUs`lBUZ^>~aeC^OMZ;fER@lDgZ5`Cu@cwtx-_Cn}|625? zH&Dv;g8}`OV{vP?+w=6ECCWK1tAgwlP~_t%Z%>`l-00?$qPHIPK6u$wH*8(Ewq zH~%Kte%4n!P|no!wB9St_QS=#{S6LV{k01=P%Z^l(RG0@^_`%WMfn_(6Vq?xPiwj^v@RurA zX=JL|+U#8z@QySq#;zZ2?M;zZr>{NDgVLHJ#bZFy2(m9zm}&vXJy}ffvlx&rA>a$3 zW_Wng_>$n!;siBVjVrjW6`J=5PCh`wIlzM`A~=cAm!0l10U@n$JtD#DeZ z4tv&umd9vk;g66OI9Xhq`EuI#gPWB?=&g_Ca9hREmm9=7*RE)63fZF^ey}I77!`8N zIQGix*y7+7B5!bJ->|(4oh8U@J@@FM* zkLQ)!K@swA^9)`1p*zPHLF@pJY!>O%VX4pLtcOpFsTc2@r@&KlB2=QG^&S0`)Osa=2P7l zFJ2IvDD{R)icZbGJ=qv6vk2)rvTqQ$8xQ=##hJPT8Y$PGEp|NclJtIRc^w+xaTWt? zHuL^~)&WtDcP=1nt2PqExM(>#KBMB0YC=w>Pi!dhaR>1JN4c0@6Ay5&aq*Ty6&GH@ z-9(0$iOsQb7Qj&ku;|;{eZ~zyzc*`|Sbr7zqg^z) z`3jF(aw1SzA04YwDuMAX%0eGm>$JcrV2XBrkRqP@)m0~J?W8w_W7gwjy&sy_-{Jxu zo19E7dE0!Q(ca!}Cp^&I%_<`<1ZZUlCs9yYSz2D(gW%w@$wnSd&QiOcBv$4xU%oWw z^(WRizyYs>#6)(~E9gkin9ookw?^}o!@1_d%#MrK`DO)S7FS{(yNAnU9aR_zav(8N zvhyfi$vjDa%A}k6&m`RfCoy48nU* zIkT|2+0b&Xd!gD+N0-`qr6YO*n93LbjAjf`!`s%VZez(U`sq$56FwDApla5RqZ9{| zYHpWcbqtdMc1K#lRUU3iA7AX`o&1>G1H<1Be5SY}Prq_HNOWAdXO;xmZ;?f8TgAPT zQ3BQnO{{B8-f&ynt+?2h=JTM^aylT`W+jxXj0~F+&7f|Em8rR2Y_*$N+(eTB4PDw2 zner2$)16hk9C*g4j0jhGDiyfz*VEVM({ZE`%DtrBoY+56Z~Q^`i=VuI6B% zu+0_{bc9}y|NZ!$ZjP*$i-?F!hMOt5;=&%DP@sR>gR~xZ3LY4R5P+Shja}8NIrhB~ zfq`iIEiZ>B@E6Y}jZ#0Q*h~{HMhnfyO;=!oCD9ucsh|N&3Nk}zQzlEe7!h@_<-l+p zdd~1VSiu7;6Vo@%o6?xsJsM=w?@=4p~$Y#6Cp(q zEa*{AQAoE7)|~)gAshmbteYS<;TW^I2lDU`maCZ(hKZS7S*dZony88*PK9iO4l{YY zF|3G%gH(yjMQ}aUjgZqk|0E!uLx*v>WAwmg*zBcciJ+435vBr?@$)FM6|l=a59Z_O z0)7KS3|a@9!?|=o33N!F6tI=X2k@d zwdvG|_OJDQ%?U}3uzWqXX|@!FM)0rloFbls7Q7c>szxa|6=zKsg{R9q<3u5mZ|u;=M(9aYsSb=Et9Pk2#o?xT5b#16$%6PcV>eQ_4xW!xdsD%J-HyS zS1dD3IHn)XXrLO0r5!lz?6FqOClPMtM+pYu95KX{L|;JZC*v99DiqW{CKlDtak@T* zaKtDbgvnc7)9{ODti9mX8qRFhxPm4widuKLbcy0KZpPdzEp-)&_Gq8q>D=T^G|+F| zl-Xr~48$)Ra1ZzLokYNON3X;|9}?{)$q`WwlZ_4Epp7v~e`~#VQ5kb7^se$i=CL@! z&1Zq*Tk=@X)*)w&uhV0A2rC#p`!GP*Qpyc<>X*D3FoiY*u7Coe+!zEOPSCNo!!EfM zxssz-aGdxMlp7byKhApB$iCh7y5=rO5zKF@=?2Y6T zA%C`w)NhM5pw@$3$0QXa>r}2Q2UUiPXOKxw#i5K_ouG|EwO(eqn~XzE$&M!lss3#n zH#iQ^Hnp^{j_=nrImnoMdI;Jj9tGOr^W5&h_SGvR7jsz;mKdr1qYy^LI9OPIb%tiM z6J-C*m7tmUoK6+XERsjR9>JHSAdk(_*HsHLTK(UZ)+b}KZs zKUI+{CM0xGv}D&)wb9hnL;|4;Q8hHoxRt%k&+=o-uWfW)iNMCOhk-i_DwaNDt}Q&%WxpiBh~!n@KgxZ=r%@-LymWrD0~X0rM@DQ(%J zFkPK8BPnXq9|w(Dd_v0((Do$}e!8$={1{FFz}RjM7?7dzRohufPXqUDG$cGe$@{D- zRo*e{POHjfSg6tcI%0Gw5jqTsWl)Ieit4g@B^GLMVQwU3%TA zJlV$rD`E71n7(ZjcQs>I=I)P*_nla3F_JZF&>HCvvL|~-PJ+&vhCCu`W?eNw917lN zd`YL|hKc!>jdA>7{Z}6PcnLbn z3?m+W0#Q{8W>a=gc#nE)?Te&qM?>h)6D?8-H3zTUWO;CuoR}s5NQ_>mpcG{n?e$n6 zT1ly{5hWQoDRICzP36TjPvtP7uS&_d;4Y>dMj;_BW3$6#0d1$Jg@nz>Z`nnBhB-xZ z+6{r371_n-#7|ciLT%OrCdlaLzMszg=6gG0`9xsCo_?&KY=_oz1GF3TwQvKixF+|f zdR%s6*qoz~2D}HgQE~kYXE7}ba`#}l+Bq-|j#ukrW3N}A>VCz5lW$v#bp->m&eXnV!;Q%DQz+XU4(;f;`QfP>?U%_x^xUtSS?!*vJ8G51?TLebh` zPUX@4Q3cFF;E2Pg{JQ1F0nej@{ko?XQ(0uFXR@iyx|1?Cx`|SD^lyuWtE!%6_!t@)*o2pI2PN2u*r^O0;wVe0Snt6>C zhbFvA<^~@i(g2FtU)MO0!F5AIac3)toBA+X9bEVTaF9wZM)sNXKd#($t>}siXuvJS z&>-GpBaacKn$0Hwhr65>0Z7;II$}c$<1f3**8xj|f+sFZ1DzqeySsKM@Q8WF2?Xzc ztZM~Oym)gz3hP_sO8LDdUGvx@-`k^3MNx{%5$C95|M`1$-sUkOFYhScuCcGjLm6P< zx%cWb-mC0e(Y5ml1}E5g(;*<6)43MKmh^Mx2pj+!{eBU6QA0cY*A-0W@aQqX)_cW~ z_QQd})*BDRZC0x1jB9*q_K)ikD|^?JCh3^orZ+jspmvAUe@OcOvStXO%M#5aVRJ9M zh@gb!m6h4Hii!%EJ+!Kq8KMFLC>f3gpzIpQMj%ACJhYqnjoG7YF?`7LfXoO?&eIr! z9CI>;_n@9|XA;0VKa!*JJxD&0hSH7qv!L@|<=~=7gsreBE;1KW@2^{M5uMpnS*bOX zv_Ba9+TTm%8~xNmMVD^T|64h99norB5~VUBrj1OMQ=ZkEV4GqLq1>NWHIq=O_s8qh z;$ElEr(3?`U3x_s@=wjqx*ziHWhJz!;acC7L5fJ;sXUmG_0?hvMfLZs=#0fK8q{T}9okA$^K-l)2 zLr<4t@>XLXTkC~iz6}7&dB@%*{S3Rv@D%c|TjzNjHu{L`L1=rO~bte+Jq7CyY=~ZnKml_wlhhe&vEZ zyo2mV`#aqa!L-`i%M8K!*FL{YWUa+=mDn$~`Z!JKbqj8&0{`om1)_^Y;28h}k}rhH zfz_&KPnqTLeymmmxYD2DPd7=uo*GE>i&EWmJ*C$Tm%ji3cCzR5U-c&5*(y$lqr<=h z!;b;?f=h!v!-k|kX5RwQ&j^^9n4;;J2bMmZtQ$TuqqQ(V;-J2n)a4@|Jqp@TOw^SE zKH^L<&;5h0Gh@=P+(roAF(zi_hY5Uy0n+bi+A6CXt-rs2q{d;^yh8%wjzjWH*!FuH zUe$%L(yj$<%xo=IK-MgnX<-VdEH}b!$p5r6C zfsMrrhP}$?VqjP)iYHJPdbj@agewrA_(VfPhXIz&-_-N5A}Q(EN9Gff*~_(jQL~$v3sV zw%YQy&#c%M1^T{WuSlg8iL%x{-(`>=3iV5#AAS?ja}51zl;>GDl|;9i^2q)y(w=%O zoNPXLE;7F6wdMB;i=6!DGj9)c6*J)+)9Yu3Y`Q3$gacdjZ}wpDlYos%XdqczU871E zE8=!kPbgM5r;PLH&J`De#ow^s%)}_)I;kmewJeiO%)>OrcXU+L!tAIV18TpqHB}%S z_0|ce9+S;$H`%5f&gyEoDgTtMt~6V0|D2F=3Xx0seraVGxF7sf#w;;!4@p6%RUJ=? zRy0L8I4tf|Ph!GpZ~CH0`~#^z)u?Dz?^){~(*t(WNaYE`E`yWo_-o?V?iMY9*hX)D zncRF^h7#6&sIL{o4L*N?n+C6@`#p7YG!>Xtfn-y3>CVK*r!QCJ$?TK8)U|Xy<`y?e z{@7Hkx8jSD%oAen?-nq7*YYwXD4hdGHA}*mu~=er+4Vq>ZwaTj`HOT%Y-V8_Cs7Hx zJkU@Vtf%qAaFyD<(Ak$Bw6#uxY4XzAt)gr8QcJ4)cYm+)cl$i4!c4441!z>am$Ljaj+MtU6ACl zJGHd$kGQ7A^_~iG` zs;{5zl_l@Ztggs96Gue|Nb3~Q!4J4b-$KI?vA=i_zSq|Q&x0qoDKq;^X(?`BIUI_8 z7MDy)l{80eL~bjDkR6S0Uj#1@x{(g=aM`D(JCgxiSilp+oqkKXpP1tYs~I9Zzd{vw z-?{Jr$RqB+<=YrWCbIHGj0J<%s914a+Yiwf(LS(ziTYRVsEEn$OXD%Cb@j|O#B0rm zT(Tf49bnI26c)pbW!mVFENWgkvjkC?(9^V2Dhsz0R^@l#ryqxn*_SldNV*+ozH0k= z>^hRXtfyO}pIzXku3D&{j_fXTUU_?~$+=*BgUpO1I*-NeMAkXn8~FVxD3`yyO*dPr zQ1-=3?D4m5nIuWniSNLsyf>uUE1c@(@B7JAa^JanBvg#n(?WB~MOP|W6f{U5e6Q5T zF?aJj_re8x7D@L|zpBH(eV_GIF^=YJ`rVF~YS=s97qT~XB7-X%p+HQS@i{M5DyEmT zTh{!aVOKIlCWpOUwh%hXW^Bj2sQbrQ2z~^G+v5+{|En1N!N_E?BNDR*ZD!Pih0vA# zjos%duWjc0qj}7 zs#7#*Oc<+_0*`{Jp;a&&8=F|@vYv}PDd|6eZTBT78t&wx1FD4_=fXWtAK$HU`PXY1 z7(AaQX|*eBJ{RCI;5|pd>Yhz}V&YFZ!8A0F)6HSiPR@*HTP{6f3n55y>}`Dt37^ZK z|I$5P0Ls;@G-~}xokv9_>b^ZD#eMEz2Uj6EYwzmqO+j|G&N6t6&fl+DA{k5vICgr-x+cFP3^P)VF^|61X0H@P?lG;tK(amVO@wChv+Kwz535Rp18)KDP1Hr zSoe1bE=Ypr*Zks)R5U1@oZkS#%cbTRhDhh?O1ERZ>Y8cj(j9i5BckkRg z&`?u^8Sw z@0wB|-zGb29RJ3V5nrW>z-_3pIc6-F`t&`(41V*pu3q9(AJ@HfV zA(#B?rmdzhla>{qpXDE1prc4Z!-%$Fk#eC#Uijp(YTVvU!JC1uF7B50&R)qnJMZ&d zy}vDgP>gMY7?T&3n!^qUMsT>AoUzGgSE;&LSryx#ZKTSl2x0@qh{YO~Svwn3Q`5mm zv_AMF3^DmHKjnP)&b>&9_tYC^Ogpz)ZjboAyu8eNe;6j|BjWo;LDskF^m-aPp1M5E?qfQVV(-lwf%5Acw?%$u+*XQs!|0ofgVe*1(HxV+ z9YyWizuDSt^Quh$U>6n@y)e~b)#jS98w}AXk?_!(uX6!AEf?cNmX4tC#Bs#W0Rm_< zl|*TUj~8fV8Gh4kwsv}NX{u$a?1dfI!8+qA75IO4K5Fpa*7yH&`u{#6(yy|6ZEs>R zv6^EWv9|G1q9lT&h*!0}6WcTk!}nJ~krYPHya2yJUAE{8Rox%V(u1Vh)x8eb#Xcqg zTpOeq>qYUohHmqftwmcYK|}s~buF8+6fI7umvfXQKt~Zr_l2yy=NnG;6fpC6L?FR- zs|fSQw-2Ha8;HAiZ;`>+bpvL{`zm5?-2>4AS37U$CtD9_0edWY{&3H(7=Yp!G=x|2 zvVM$>NP5WxtcY8bef>8zZ&kfDFpFQ9qohZ@huG7K41UDgJQ_Uqtpw8z@j!NQnm7jfB{nI-;*0 zAzzSwv@QsK7TBUjBNFvcu|S>oEM`H^q70|YwwhzKB_|s+@KCi?md@O?uXQq9UEqOt zXmZb}QeMlWYH#uBFGcT-;i@*BE^Q;U;dRE;q$NPz3X01I?!Q4MQhQu+q7O;Pn|sVj z0@|_o70*J4jAX*C|7qikI4!idy;iULX*l?O3BS8`wpQKm{rR2Ds+qVq$6)c&k`jK^H>&Kc;UrY`E6)Us zL7sav#2OtmV!Szy>;4W*9T9i^UxbR?tDh?ghzAv4`r&%G=d1sR8*j!YJSbj%X@k)8u-M7^yFG9(E(Ubj=~(R zWsZVyiLl5xvjfGurz#vfl1>WN(9Whw^`24hlyfG0eJ+2s zV$HKp#~SAjPZ*ZeZJ+z$y|^Ad3_U;wCi^p+H+^7o7XMkf<` z2=ckV+Bp8b2L>ZnA*U|aD7B=N%4MVtin~EL*7F0c3lI06#EY!~U|!hYNeno6=1Cfc zaX>t+G%0|lh-;Dux~E4<^tgenSIGG+gF!6h%#3A|c1|SpZy$j@nU(*4rS9+FG2O$l z#gBHG%D<|-keSL(uQsKplkY;Jb#?Dpt@VA}Us&OTg{v$PydsWb0z$TY(>hvaRMy@4onc>t+Z1tTlmSezDeu!cY||!DDsHDtDHGr)ed5>tixb_v(9& zOd%5!-fw5#)|+`u9Vsa%-uT3yenQ);a|JOSA}by7E~Ivv&(Z3p25wu+$~H z6j)((WW&n1*;RRIw$>@N(*CvO6d%P<@pxutreu6&8;kPGmrbF(yOg#$7}?PW>WI3! zI+}@a1E7kBU>_5u=UwL_Tu1ecy&5Cu|4ETQNB?Rd&M$jr>w)jDzIZ5-%TFHoKirrR z;jg6tvTLtT(~^>^Vj*v}y?(unk(3wN{*Y3s+;~m2@~WCB=CT^xoLN7JYIN9thy9ce zr;3fdx54!J+KPRU>_)Pra&RMY+(5(!;=w7*Pe}(^1M4cI{R~fwzvx#8qO5v2UkW)- zXvlfg=X?92r+8rCYCKSU1JiWc&4YWa{iTuOzB%tcqb0xB9GB3d_F zQWI2$G6EVvNl;igmWd$4%+TiQuGd%6?B7eKnxSx0tXljgK2r<<`q0jdJR;<08+$3- zib*jN4Q}mKIuA%0onl;sepb?k|K#Sd$Z|Z+r;qk!UhzN9LNMQ6`UpebRZu7DxV*r6 z+K3d;L_EKL=Q>NZ;9R8%e;mqh+RV*HAe+Q~X4d7_*B&ptoou}#SOjt>0mRm?`#0q$ zowNn(xl2lp;+Tze+#U(|HyMF2Y z^nTv=|JJ|O|0iqZBqx)}%$%8P_O< zo+BS5B$Gh}X-RGGpTCXK{fVZhOQsCoR)ABgxJ@-aDV3eONoo+v&^qWRGvPeLpGm-l z@Unuwo)9<412h;DT2{j=##?AN+s(8gpuS=hlF(XxM%+l;R0wT?d50S_zxi_8d}G?` z^<&`HCwj|1w_0 zW4}>;vc^<_!LK;;bujn{B$vWN*}VTI*0;6>Xc1C4G+94!V(dC}E?CZFmfUB~w&2=C zDsA#CC6F|8U{{SST%e$As{bbQbLd?Sr~%EI70`YT5d?aU*2;!=n`e zGHQ^a*(~c^?N;?|AyRwbDbA~!7-YWqQ0dhY1?Vs2INWN(?eMfe?fuj2Yv2%xdI$6b zC7CDB9{|T>HT~xlE`S~~e2zFrVe+58fq;@E&t|avt5{zTy;5x&=i2=> zm4w(h6d%KqK+E@swpx{<)jxxZPwJ33Qjp8;3^{afxLq6w&BV}jP)@8RnVr6blNY=JY zLwgq$7h>CrtZ1j>?=EhjA~*{31S2h^28K*@)lW&!o_U2q;Ovj;866UFAIU+So0PEW z4j!WL9Ei>Rue?Jk-SV2CqDzw7m=NBUn|`W#=S*MN8Y>UO0MhVuc3O)ECWfGehDtV-PhP&I#zr*cJ7=nglqk;N_oKOxFo3nR% z&3)?IeraQEZM-iGP!D90XL^juJZWod+g|V}C;W)?kr0KD2v)B}4;`$=GVP#cVk)YL zK4JeR!FM5}7hHwQQQ3o`rKRPCv0#Bu51jAun(SbwozzrnrZo%0o|>`6T+n+D0UENs z%v0P(eK2Ai>Jid9XB|BFIyUB*|I=W;p5Zy zwVGTkp{ZW5fZr9YJh&X8TVxWT?uiqL7`Br5Sympt&qIR0q<|YFaCEiC9LonwH zj2r;n&E8Uy-E~Bq&_c5|Yj{EQcP7gg?ITPf;HtaWkpx2nD@l9+T@M+!>Vj3k#XKt8 z71VcfkoS>Uhs#vJdMKGgQXhv8U3V0Fs3B58u#&QBWlEex{%C2f()E40+mCryH@8Pz zd#50-)FCI3jIBk1(WmoDwk`A#A~sp2HjJqmPnnT<`#C)fJX&B4%fAzy7MGmL7e(rF zFd6AVN}LaO>Ym|@CC7U`&3PdQv+?M$2F|le2?%Op{zfx4RpahO$7;e=m%yj*{eYYM zG4u1Sk95x?2rB)ypwlV~6~>0ab>Cd7+}Gd;d?MY}&&FQHy7D?>{z&2w{_q?ybHuK< z+GGeC8+wm~>EIRyLB=!P{6GnVbiD$yF10CD;lFy|IJydImZF`c`I)wA_+U#W(FEe; zQ%cVA>_L-SfLsUot_S}H;oq%sp~Di<&T^bYU?v?CMY3a!?~t%spWs{*n_8V2Sl|GH z1W9RFI|fJkN1nn!rrU*#rcH(OWuL5pI(Tltzk%sL2XZbfINkmj!0bWtTvFa*E*rV4 z4LL1{7t+;0iS&zt_b~7J88_el5Wp-)@^Yh#F~x8UusYR|zx7^$(~J!bI>gs$76#ox zlqFCWd#|F|{D~4`F;-iqB7v_O9{TCedEP3s4Cpg%(qq5~hgo3v3!p2;7g@kB65erK zexT9*Wf=E6HUQ|)e<41DM?}mX=xjhun29`#c&E604F7Yj5V0wL2S^j0n3)+JA7J70 zDN#H|9^(PVj#A*JSK(&WEs-1fDnXN}M^vHNZRlfs?9>~X6b!(;&YI=NA7hgCyKe&; z!cR)KNY;=&+_QSIDPELURkXLz_9veS^W8VsZA2^h5fEioYqD?64(iPln66`TL{6r+uW=L>$9b!k;*sHm7Z zkl$us&t@WlPI+b1s@QKlXJqMedHC5QoCl{jUt6Bu4I&HiD0{spzpl_zoGFvVj3P za^voZWxUux-{2sBwy?)KBR6-P&*po%bQm(4t98O=6HBgDI7DCY@zpTsX`V;0Yty}K zn4Dg!7`<<&OaD}n((GcuIc{3*>~zxa324Y;8ZLSkZl4b+wUTo!C6QicNje6C*`&HxEf*_Y~7+q zpMbGJ$?cOI(A(DQpvlMODN;Q^QJV! z9;&gR48FRbS#Y#;>^xQd^?*igmMBJT!|KE&I@9Q6IV;*qSK#Vt^a zfiNkRwb!!G)}_~?i`?6iv1}oFdEyE;xmHj4z9|k{{u?Rlxmxjn8(wsD^br+-C3n5G zqP>zXavHI#)euUJdXVS$(Z(emSlaXNpc{zHM3wU4a(jk}*=~ctA`}!Jx%oOFtZi_1 z$#s|uKF1_a%5@3$ml7*BZOeucnZ-=h3pP~UZ_rpHytjn4BB|x$o4A+3Mu2LYWYlwZsxOJTec5^Z@F_V zK0gc`tZ%+B_=O!AD^EDQ%7~KkxOTIbp>TaoN~F^1OIt|6dJqTXl9EK3Q#^}_ka>Vr z9L!Wu2q*=ALwDm!$b4o!#GX~H7ma-BvHx{39>|3c3f2f+M7v+^2=GIdMfzT>LQyOe zL%hOeRKM*eE-q>w1ySO4E7Pe+PvtTk`gXihZ&$N*GR*UMv0GL(uy*Nke!Q^~75qIZ zl^dkq?L9+zq$xUal0|8lm%q&@FI06zkl;h>HSvV$A25puz#4Sl8q1$NT#8Q8R8|HN zAJo36#Fxhk)sYni2&+@x_YRDVD9@-y(bD>oV?J_j?he=jSnzVS{GYIgrP2(l%?3ar zwCb$I>dN`)ki0*yQha}_hD~T6n3%Ot@_FG@xThi28@XO;?#*OtZB!#&G+!N{9NO4f z;erXH*$A~*nQ>VWuZUV0LjGreFbc`h#aQ6d04;(LyL=|-;$Uf5HAgg~;?pN{wOsLc zhpjfcRVHtJSK_EdVhzo{B{J<(IJI>@Y|uQKnfmT94c}rB2zu-ien?8{wXwCW8;qxE zY#ZkVbo&PjRUGguLwIw|RLgF$@a7Q9FXVb6tGT&(|K}HbmBWQ*HyBF^__ZR>OQKx$cjR+PqOmMXb}Lo20azbj*3FvGy)HPS_U zqHB?vB?sW_;Zx9~SF-CDGt1jpFqK-m88}#ceK&dkYm~v*W+^3)C|?G_frxwX9(IM< z%Q_1!5bJB1zvDi9F3Tt(A<^v#l(qRno6?ZTtC-i;wrGMci|$;;=$VL1pl*nXOHiE> zicV8~Y16w~kx>EqF;WGZ&6=q3HV=g|97{Qo2om#T)j|*QcNqc3j3e%_9B7e) z<#B-qUUea6axkd}tO7LF$vsimG{?xjP~4KIplVc#S&C^P3r!^Yi?aTo8Pxwys_beq zXQDr0Mk2v6|K^H;nhLR)Z6=4_g>}>;kwtf3@N@P7l4z$S-)l&f;*4Tx$2lPWAD# zW-}sx5Xsv|?>M)WtZWQJ(oUw=zaLAk(dJ-nRANQ8>hZ)5&y|Gd#(;nHT(qyh2jb(? zM2t%;h*3U*iF9L<_cKI&TmP=@(=2i*<=<3rgVd%-DY4xdi zZy!m@PYg>KHp24U+m#Ja@7K9?d-%ik)eRWvc;~s5=4eTwh? z1K={Zc0@o3%&@F(m$iuEluPy#&G~g#O~7&5wFN(FHmpCy@)zF@-O0t{ATixp_49LS z?79d{C@YU^#KiY!a*2XDI~GU~lCJyxzBV$=OLT%8P{t*$2`M&#t*?J^@BKFYrF0Tj z+}q5s9?-8#Iz@HJ)xkGO^U&yCL~ubhazs>tB=gAOwaj=pvPFFy)MWCjjXVLpg|hyG z*UqahUz!}!L!N8DV4geY;2R>Ua zMZt@2TRAc!)PNiL z3B|}w>I9ZsiK9+QOOq!E0YxJ9!_x60cLM%i2t;zj>(^+hV};&?Lhl@icXhQ9-;B}d zFfRp)gtmjKrSe@Rb;|X+50+YW-$PVXRDK9O-fc;|BY-fyG1pd>QoowkHLV#=<4NO+ z?|VYf6qB<+Ea0vn5dNHslo$F?QO(QmXvvi7 zqri1O9ekHr-3 z#zL&;;72@E`d1kl8C*-uxSJ_y$I`XGm0e5O2WKqGYA_+|AbQ6J@ejHNv=?DDmV*s$ z!`DN77)7C!zkxzYy_XGl9odfc9r7Ewr_?3r+Q$`d%T`H>WLvsQPuzu=*5A{~jg8Hu zonTB&TZCvT)9QsUIUPU0OI=APpq+?~w2^+sP(X$^8fhmh{V%+UG{2~7GpQ2je*v_4 z7!gHeiiHgcyh?eswNupiHt4htbac#Sn>6P@&ZKG!1i?8c*@cf@XPn1O9beL1NX&cJ z24jBNHROakj)SRAk`8(P)juJJ_N`G&sOU0sGkv#dBJLq3m-1Nz2V`uW#c?BWumy>? zZgx|BPul6KUHrSQ!-tcf;bQzD6lz)J6_zDvkH#SjO*HYALakg!m(`+R_>UY=oMmG^b4eTON>zPw-HbHl(RZ|VH|2>YgcV6|wDEgFm?PmSY} z=F=x!Pj3vxc?Om@3>f(|s}HDB>eO-(aBeVa2uY?2f@(Dwt80az|yWVFCBf6!{kgpG(1=_9Y#NMMEI+S;>37#K53P&w8na+Oc zV#jaKw*rs$ufm_-IhU<9m`g0(5d3F)&gC%V&7$GL?6R!Y4h(y#mj%lD_eJx{hNs; z4d+@5F+Z#CZu@IN!;Q}~=erG=z-!w2RPRVNi(psWP38Kzj?)~lkmD)9) zXBR(>8@#&hE$HJAT;9L)k@R-EJf0%%_4^4Gh(dF+^s95W7j@1meSFXHTflZ~jZ#uc zP!qU~LMcA)=S3{^S3sL&3MM)w+Hrvt5xa97WdlY^mOL4$_t4p`#&=M1bQPNF(?=^; zMqIn!=_av+=o1u_|1M6DRAJb_+cCF zg3V+W-?T3!_MlO;|6Vjin~-8rK25P5{;a$&80NvT7C#2@zZoHAc004P*(}w_`en>QgRj!P}=Tt1tS)QX?^JuydI0KL=i^Yezc zFipmU#KfL6U|HMUZdp(guCt@iAqk0T+f$SlBy`c6?ZT0JDv@c|W>g*0d8HY}G2W+O4e~R}r*dGng)YbR}}wg1M6F(rE~CeUHR0x3ve%k#Jh; zX@qw17)=Jwr|1TT-p2>T_tuDEiKvS&RLnfC=iDAjyg)+0bZTZcwy4)`zrPqBvC%l< zH8t|22XsLJ%DLhJ>5faSmX8roh)5$?c^fAnKIaiE-G6(~nd@V7u;>NtLaDTS^eEFA zPU=1jxV^Am-`L1lIA}sPC44$tF=IM$u1v8FpUdB}-0v(4@UyvDY(8v$L3CpsLwv{#L#aO8Xz{Ro zxC?q5>`Hl^V|Wwfxv=C#BOf}$0BAc{@m+WezX~*FNfBosIb7Yw;KKP9z@d5Nsih z6}9&&Kvg(+(Q74O@`1d;mkedjg>t+k0wb!Ji4MIHsd&K{rwUDpDrI`>GBrFa|Wu&29 zK~$xbh?C%yfRn(4{y!?g!IPbw_x>UN(3?zu=>IZL=GDZn8P~rUbLduXUId*_>vAHBdgpL)<-U0PQ=raf zRM>CxD_%ooWt{!*Pg*7P;2$$HwWq&EH{xhSJh3WVh{x+3&`Yhx&UU_&+2QF7b=+Sp z?63F7%W;<96v$es`5%`?;4nC&UfEZC`-^KSY!+jsz^>qMwIWD z_Za7Ye?E(+*hMB3p#@Bcqc!`nMGrQ6{Lns2La>^pS_fY%UnG*bd9@z%oTvQ^p9A}aYa%Ht_bZBUyd{8!GxdOH`4v3PR2+J%p8q2XAGmg=YvKc6 z3A$Za(Q~Qh;|P8P>vlUG8#u3a!6er^2t@E2Fm76rWtH2F&9>iwT>`lJu9Xt+)>fN! zc$`=oP-Q#03>zFW5#zc$J;4h@9Y?8)ya`~zZ86@*nLC_#lH?+ukdoq2^OiWWDLN_{ zR-m$u2b-CAgESk~M)ZUL_fm-6aSmrjP%gGJ;VWJOmZ@b0Nh4t-t3ImX*4HfDkau%; zc%Y*x4uQ~ppbqKU@242#!7({t+jJxl8H1$sPnlFY$Ls@nW>-!73W14EJn3^~;dgNX zTsS0NDLTp%PJzdyXei-Xub7y(p9Lvooh8~^H5tUAJKy55H-{sBMQag&+vp+z95(k6#Tgf<5ar>i zqN*>(V6P+~%ocJBAIA9#$8qlTHYOYIJ*}bc9pdwX7BALXD}~Z4uW=f;XnU@aBfu*k zZyM4$<@4l4DHhIx3#Yj zc==D}!5P1`b{%|OV=^kw+CrQqZHt(?FSfL=kWu%8u)0YzIXE~N47^sm0FHxMoSc@+Vy#;@6jc=6-#B>nK^{HcdvQCAIa@DgZ8aMZfNk! zhC#9?XSUf_B@}i#v2UR9L!LTc5DfgF+-8_{sOgWh7#)kfEB})#n;bK@QK7YAo=$%w zQI@_`r)9VLS8Y6PiYtkMtfq=mxaBWXKx2;PS60!s{UvI-)E_o+;H1MGtVvxhSW6^O z6mC@hgDEY^P$|$r2xIOjG}vk{NM=xZl%!sE8|boituV~evoIB&MeFGdMpDr zTi=Z7YlT$KgjJplo6_8AS5@^ib0Af1FbT_*)LwZabjGQxMR{2e^}|aP0{nX>3b=eJ z2lssB)@N+Vzk8RIGN0W<-X=nUS}bas&=vYal#>g);2!dvDLC;Nt_jM6ER4J#9TT;%ZwE3ou(ujsqBVS^G*FLA z!VNjWm&lkF;6P=XWlLYmel3J6AGPxi{a=a&m;d8C((YJ!HCtILtFMaWloaCrO}`#v zYm_q;#Y&MqWU?dCp2{KwR~s8yjQwFKLH;_)`3uzHbs+}p-Ir9Q9GOVfJp@nl6ZEPJ z>g(&zIfvH^rEK1?4L;Q)9`AN5I?s>8t0jhJli>rU_Dq8|-tpv5q4;t^t&b_YG4P&f z(kB!{ptk;R=Bmx_&+)rzz2lrak|CM&fczCJP+WF+bi}s0IB59uk3v-lrv^(rr9K+= z3)%kb0W&h8A`1;hXaI7GKkTVgH+`FyYP2xT1zSqm42P1LH$w6~Arr)XNIoUhZh8|M z`zqNWp;$dt3+!Q@ttYSxF?I#%U_2TE*t!YwB$TRy-DC0m!*%Vl%gbit0`$m z9(AQkj@z`vA9NqJsx`snez(4%Y4=YkgfMB4_K*@@(IT%mK2DTO(f&*P=1A_-ixHx!sp67p z5&d>A4v~Dl;)VQMTi&?b7*Z3`>11%^&@tbtQ2EP4#&xpe7t9~cR)(b@eB@}MNZ}sx zT0WY_Pq>f6%zNVy1<%^HHS8vCmSES*4I$2Kah+NbR;*^&YjiOp#VN%(}W9 zKkC^l;8T|4A+^yQep>>X1;5X@+fmlloH>Phxf(zxZvEh-sU%u4_fW?;P>y8=mQkE9cjY1O&YPmIbeJIRR7!do#*v#=ezsP0nW%D41W^`ClSw z{2xlkJPgXkSdL$<+=C5Fl}~5N zV-64WatwzO3k`Dp;q?&0+dn)Zz4HTJo^ISyC| zD&yv2*=HpTR_?$4zGpomBnIOwKyr{#vs=NrKQPR~V0zY+?6EFU0};|hJTv|4o$BhOV_ug-FrjNhkKB)i9>_ORhD`=@?_;lY0ARX zq3clVR-kvbJr`QobV07?fv1WO!n&hTz8E>%5m4rQX*hGQ;a5tqhhpx_?+ z^fyK;bX^)NbXdPNqIx{;SYMDlrmJCSQ4PL*U1i6*%VfUyg?6&Fyqydml!^1-rhufr zx1$v5M&coih@dfhpcuk66;B2*a{5COI_N*)Z@~x;+QHRCsx&oS4_KqiYa6>D@(}CV zjIdO?@$Hsytmd`>3F1E_g6{m{nE@=OrQhO%hjJY$5kmBzxobxb`fqZS$wctyUo2E1 zEpc1I0Hg6iqS17`)gU<&F45X=----nfTB^tMq6I@>jdXX0f;S98Jve=aRMY-t1)is zph?=3sN7PLgO#b0o(e+p(-9myqPqW9PjDUTpYa^(FM!^6@wllNO_KD7kT?p#@i-Mp6QocgZYhWg07GvHX zz9S6sj;qX;7)(j`XVqrWfObp9`My971Zg!alOchD5Bcf8@St4>>G;l!pZ-cMkpCA^ z1#yaN8XwWYzs}LWnPDCu+L>aBZd1G~Y6Dv-!u;rAmJ(zNw*@$2w7;2V?{&K9b;H#| zn+fySWu|2%0jFnsVj?*67IZMnyaH0u4t_Q8&n1vuby7;LHtdl28rbZ^bL)FNyC3W| zG)MPfowfLMwJK{)5s65d&FCBU1(#*(yTCHZsLVMcOweDl z%53Gi31%^PQeLZpa_Cs$5C$DiCi*zMI9y!icaWg203c|^*`E}nf=D)Gm87SE4(Kam z#CHQ=C%U1yHEsJX2pERRi*m%F!=k5`ukOq4iTD`IP=ikHJm9%EByVHM0BnwJC65lr zR-i2mL9!i@W10ipza0Dj9_l~y=Nd5{|F=2!@09w#BJABJx1a(Y%E{Em;Y=C^E)^;w_bU$eriJYhX~14(2bCU4j+>3fDRz%){Rv zrDT|Rm%uB;yK@O7oA)gxJiC-)2n%n50T-_7fOE~=pU+HoTN@l`!2^5MA#fx*Ij2iB z>d2ePgYe$Y%Iw=IYN(OskY-LFVq$G#cHOP?g3f^X@zd-iD6I8TS#JfNZX*n&m}kko z_F->9(w3%m*1<(sVK)DgAODro{#kPWdtm;m@qdRb(15p?rF%F5&yT%DN3$8LiL6BBMG}6s)o)zB z706QImp4;YP*5nlySt+lbfS`{%I#Z3D!xPu>7G%&Myd?I=$q{ic6b#P*ScC)LI4^t z>z9fl;W9XzZ+N@VAsleyK8j#3;+&RRJicS{v{ma!GtR35O-YD|zI3IrTg*?F=>}D5 z_ei%ersWyI66Y9k+?>lYP0bI;p|Ui_3< zmGUq8xGZp&Bji@BvyCc(uANS+ZchUHV7Y{nWbr%H@Y-C@+={fvmO})2(wlWwhCH&m zlaEvZ8SkR=!0clZgz9Ur`fI;0>YRGtaM43Z3JVaaTlsTsacuTS5r4g7`OxZt)bWd>F{YGejpvLEsLRctqIQe&(_JCKxdVL7gAdWsPHMSDC5RcYCdN!&XL`v z(Ajk+f`{pESV`nEsNcp)&?{CFIx`+e(00Q7HoAM*M-fRoJ3Hu^pxU}Rj*gpM4)}`8 z%yi9%7jG?A5V^hQ!`*e(>YrvNR|nqv63d3)5ct;B)~;8dE2gYE8`fH(i#RQd>UUeN zud$)_^6vLV5vY|8L_uh)&q8p-)g7)sICXp~HNxdAv_g0Pil72HwHcwkjteiYX%q{i zz9eG?TU!Ukws~-1>MR$_uST)t2)f-}xy&bpbmut&^>nZ!aA*dq0~B5MEsb=6!XHc! z=hoy77Qghm05ORU zJ)(KM8dTU0Cedc0mEMyLoYE4mQ)dR*`UJ>DlES3;Q&sG`_ zOX2>^_u)d4iw*fS%_hPlTcVn6VQ%6~Ir3Ot$wA+@Z_yTtSZCK;xe|a19P-SBRYqX= zcm1-V72mxI^6K5j@Ddxrcfn2Vr(q-}r7{GWd?Hta8g|zq{^^Z$r6OQ4B9PyAJdAJA6=gUQlj@7MKT zB!J;%*0WB zkcAVcC?QXJzJz_qP+CESY)tO6=hq8I(Y()LgpKNcHFuQxg3<2&)F3u6zC_1JoG!NcX{2Rh0N z&C7h?8NMko3i}y1i%(hxIugM{m);~sPSQRh%Er8gvvXe3Lh?R&&Mm*@bTJ!sl6!IQ z4}(fX{fd6g4bB}#o_sp3`Yv)&XmM||609^-LUiCR-8|yanf>wWcvr{F1;a=@ z%i#xutDl!0wmb_W9^HWpDP?PZE5RH?CBz5eGr3E9L2K{ZVb_QSKZ9@U<>v}00T?TBq`kuObH!N{o)0}Hc7aUzs}ypSTHJa5yFJQm=yR2l z_;47BaMxu>+lg@l$1FYK_w9a~=EGvJ9@Sg_4pSjvl_Z94yo`ob>)dfK7>AYz8+umY z8q@r=;qzEDXPMi<<=0_6QhPya0#$$0VF{|X$A{bB2-~jC%~}KvabIW`8jU}0M0}DQ zzH}EK6JjIzeR6tQhXNDHX;1_$BV6(gt2pzl-XpcHRkMa54E-o=Sf2tqbjtm~FQlu3 zUI_%zz-0`W`lzr7eC7mT)L>>tivA4oq(@(jAjW;qoBI`)P)Xh;H9-&BPshd`QL%-d ztWOWE7^p-tWrdIO$mMDGOX}DCa^heG;fweHQ7Z9pDRH^-3NZ`7;6P}Hx#v~N$vI8h&y2bz(_|$ zR?I+W0CAL8gcZwaHn1}HVd(^xmwUnq3;mXFfBV7%6Gj!5Z+ECzxL&``fX<{4z@mNO z0qVrLjmboq_(F2fM?<-)Z}~G#+1og36Q`zl6&x&5>dPFqJE{&o@ryX?Af;#8h}co} zIY>vFRc?-jIseQ^2vLZA)6kGeK!Hhc?NPpI@a9-;bmxx}efMzuB=smFf}-6u_=HxD z*6EX{-2idfeS87~t8a2r4u`G(!EKSoeT8CAYk2^|=+S&uCEg>!iSNG_@yO%MNhEK&tW z$%JM%3H>^f-e7|tSWH)yF_;f2tWxanj0hcg7e>akNBqvHTbKz`u2Qc^5#k%nb=aKp zL*Xy=(uE8AZF*4m(SLXgJ_8n{lg@jMUpg14m-gLUNDln0O|X3x(~&~r99zT?eLD&d z@ihVK2&+DWm*(}%%NDSikP?VE&dBrm*iv>h0Q0F%o1B;FzyDqwfxMfaW)vw3ME|`OdBea58B6bu7{l_n!qNao)e; zeqfy;GF`pN4k~TvyGvT+Yu_9lJLfTDH91KA{!Pp=(9g)TI;@%8e6H`d=jE9;6h}90 z=aT$8&f;MLQJdf-MWC9u7KdY5{AJ=hjpEC+kC~be2|V5kz2o;DvF3t0gl}&WrIgkP z1|77Eu2O9jo+WiSSEZtU=*zO!U09#~L+H3xVRzBA z7pgH{^?snjdEv_Zi>qexi&+SfeLFo^F1A;)_@g?!iiSA&9V{=I6wH;PVY2aaL9A(& z(I+L;{*cFslq~6GMVMFCcED)D{i*2T)LxB;tU}W z50B@!vz-qqx9-_p-;!A7JMZ8;Ms#<5Z<&Bo5f-nbm|@>b)anrEE^@o9r$@@Mv&w??Pl{k<4KhNqVp!Z~kL{MN~Ke*AjowWbVm2>s$dxpi(&AA#&i5d;u?+R@H za_$q`x{B{qTP;-~9G9!nC_h|rDm?(dD0wfTLXiW9$XnB_)%OQ;oPeUm5OzQvCXOcX zO$=3>AyS$L?=0{_Tw5|RhtpC`2M3NuCMQ@LK4|`R9G}fGy({eSm7< z3<@Kny4sC@N8B4m${1ulw2oP41Ty@SI8goAbuY(E=vwQIc%?A+6U7yTD;jlgQq|a= z99pQ#ii;bV6wP?_B*6kd?iNZaZ*j3dPgMQrS%a<1Nz2TKkmK9Uq6|^+EAerYpc?`r zFBmi#XcN*!yc~TT9S>CERQ7&=!HhWp7xOe`?nX2Oz__G|mk?!O%ZBhQxb1j=BBH3O z1RDgrrDT9saB^^1+P`_z^cw|}ct87(axZtt1p=1dHE-pJv^lT!h#|6^rFXa3)S}+L zH)lI#V*lLIe01N6hK%E23aq`|o-Fi`UoVUo@0rEh5>Z4-J|vF!NN2F()~~g~!58$q z;AG}%c-hPyhnp_s_UnV@xNOpRI-jMNj10=Gn8e*tuLLUs6;%@sGr=C9TVfB0~U`AMf0q>6?OaI~++?wH}aU^ok zYZ>=JLS4PucKLLiKLVTTMrST!#f662E${$48pCGP;^QsilRdAwfdOfMId%VOZiYa7 z24H9v`*XY9b*0#!3JB7#_v=Pth1?1_p|?lr8^%z@O+vQcja1+Bi@sZP(k>n9k@RJC z)z86w9I+tVKjf?i?+5Ps4g?jx`MwK}XTzHS8 zcw+shqTH@nGOXyCz)$Gkr@r^Hwlt=+(0cuRhALwpLR1 z3_z9f>|8kn0@UeC zqu~9vWvOm;83Q&$fxZ6DZbMAS+kAaJ@?A}06yacf{xzvB^3t4)GiGbGxt5XHw_W)~ zq5S|k|DIMnz+&sH5=Q*52yfJga_-1)>Fi#I!doTj4H|bnS}OB)O9m*?UHy^$oqh_ zlwo%@8M5j|g!(Cl1J$E)(8L7YV(jZDmDLJr!*hakHyQi>BKwa61B-&33|VCbk1)F|bymr&z@ z4(PcBIQvCIZ{|h)r)k9M+nAVf%7t1t)^heQmfhxl$2*vLopFa8dSp4TnA0G- zu0A8)|6!vF2}MR7VbqkP(MfZ*UZWJ8ZCm%C;8uPD z_BeW=$Ichj*6TG9==Fgc(OC)}lQp|_<0ac*i$^^r#*og8T3F;*EhRdNQuPO?=A*3n zexiKFn2))^Kr!pEgC=;79dMfyj|-pu^k~ZTOiW+1X1Uh?K9585Itaf?eCxMV(K%7h zwOY`{_0Ihqj4hx^Z85IADR->af&UD_P{o9R8nfQxQ zMR_a{gk|Lt#~4WQd=gYW1#qx2$cSL? z&N`~e{_o>#3>iIgbax7hqf-$XARy9>AWC<~kTgK)4hd04NrS?un-q{nKqN*>cRm;Q z?{|AY=Q+>LS^RNr=h{EtPrTo+_bo4Ec8e8w>#~|f->0Um>@~+~wL(6wwJD%cGHJts z`%UsO0>#tM<-fR6TVgkuZTdRNR4haP6TK95ux!O-03VC?M2x(UQuMxcNA?1~5q#Rj zE4MT1d!XmTo=4{I5kC!6PjW3?EV6v{pUdgKzrETQQkwZ@Fsm&8blkV}Y3-4$FexwP zUt`%R;-AQFZk54^;<#Q8@O8Rxo1k&mUqaQ2h&)3#ZPA^>8G-M|MJ9zVF4=384#qDg zT~iOJ^JRXd3k3?$@zb%gvx^v9E8{-GV<^viRm`5bngKGfDfHxkgaD)kUUM+X&+Y2A zCyB2_7xyFbmd&IXnQ>E-d~hxuCa^QmhqxDt-7!IPC`kh9bP=V;_y9q`H{o9axqa>e z5}mO+_kWa+3=eYoEq)XYtaE?QNV~4WR7B*Fl}?^ZT`mxiMU<;>-^+L_&}}Dhorn4G zVEL>fzVh^Q-u(=Yu!lT5Xq zJk^}&qz_eL3LwP$z=u6#;*#%(wE;aG(@?G{jwRxL^a(9axX^xnw{^Yxki36=A^Nf6&4(w?l>cA2k*>)Y-5` zT{fO>#Q@5~xZC!nxQ<-wySjRMKkl~@gTjP3e|Z(pT)W;BU)&Jq#cb6*Jf(Tc2O8#N z_FKtCD!BU1HU&1TX=q%yt_~HDi*$8t)j0zy{6-i7<;2j?P((8J0YM5osAu^_hVRwI zk@&YacLC>Xeex0?`Azlr_hXq$n1hbzTrE&n0MuQ@&PZCxqnTk>MBH3vP!W2)wVVKA z7()F^awe3Flt%_DU&hD9N%f~AM0)UDW&u~_)8}D80*V6{>*m8eXa5BMy*w_kXzg`F zhB6!;9~=8?3=9js-kNtt;F#qz2kw85&~kjH#Qt)tu=2(0y% znAp!qqM6?{hB(H&CMnyyf?qxIPIj!gn_hn?D9H2yT(V8L>}@+k&e1q#5j$>z-m8BV z7fzfH_4)uV*R|~-=LVuMy*ckMf=_L1D&~>36X)~25(b|dg0C)T7r0nNE@~v%%(6O? zohnZ7SX3WAG)E=-blykBotUO3ag3FjvshlHK-hO~_fvox!<~HoF^&CicF+h7P)nZw zX0iOe5BF$8{y##|pp`flpb-C$?(uJC%O80J_zjw3K63@r|D!3*Z2$3yCcT3h{1k3s z>Cq&nO6JB>Gx&H-N%+XLupCYlPv}!bCL(xuBa5}P@6u_}KjwyM)|N6--K%yR+D&?C z--mM14zoF*%L(kMcno+TtNVd!#PI;0oTkNmc=w>PIbR{WENu8&R`CQO)z|)TQ_kgl zKlF!bFj}EtE03Plt;?N4c*s*sN^=DE;u2w{i1f5jOpW)ZXJ=(1QE5=T(>0-z!&$mR z`IZ5+>4hTErMPXP&;V-g9VJlLKsF+p1{>s>pCthJR72!C4rj4STLFdN~u=8A< zk9`%a%#@Ixjj(~JR5x2&+g_gR0Jj(U)3FT%76q&}=h2P@5DW9fA_qRFJe{CMA>J}Y z)RuKvAgghhm{G~m_REEGtEvck(7Wm%yFL6a{y@9*yDyD}dLtnynIl9<2}xiY&Z#9? z71YRw4G1SGiP%~V72iL`sY&D6uI5^fC*9&ZcCOY%+5Splrl(9{hg?h101 z91i-<`MnM9K)ofhNkfUPJr0F)pSCfq!MR>O72kuTH>v?4CTTo|Xkre&J$3P7<%VMsE!qDm99$tiG?-4#17?a_d*fP zXG`3E8l=@K@q4b8K@Lm40D@%gU3aIE?Oz82ACU5sAnUVjaYtO-lLt_(YV@;!FCGgqBJuesd%BatnF{8?Zs8q}U;ZeilbkHSJaiPEHpt*Tm-D-% z*6s;4Q4o2w#52RDfQ%{`)puHm0O!c5Az?ed;bm7PJSF&p#Hayy18xb&%orAbke_U} zY*HsangB}kZgo9pki=?t!s=du+Qnv4dsayMqgPKNV$o#3YCLFP-GAd@T)h?Eq&z^w z|CikLSbkpT#G_-zeH_^}^@5!Ok3H~Rp2D3>}7=v@g$}}@j7#9<~ zy4z4?KO$@p<^It3`$-7rYI(eUu6mZDm+oDeV%69ao6@iX{=2;+QG`MWaWI;7mt31B z3u!}he9Xf^rYm*zZ!*{$aLsgL32tZXOUKa($_+I$LQkd;7UJS7^#|ikumsyV{%zs4yAK|+GYHGN59cXM_qF!3|6HNaG$sS4>L0AO^5g$&9+ zhd)F#K#s*;<%^l~OGn6S@IWdc+-V!DLLquVU-cig|Ix`?X(;rdK#CbZsFxE^W1_rm)2?+r`$iaPN|POFM|7n+OTV5;c5dx6di&O47mN{3m+?#+88jcFO>@Gei6=)B0sK7~kykag1F1ns(P3X>r58oA1Ms2W% zj8Pb`oU?}Xa~-2Rs4RksL~$+@);MZlFh-JSRg^VzH^CD|wvfd6V?9FkdFvPtkRE@P zPU%3nHLXB7g98ui=F^X4IXY}=R&@7)kbw?V;e(t98fxD*YCY8oADcPJliQuk!G^W} z>$(Bp-5P7a(##Zx5VAVDOD-LX5a%5l@g3xaRm-2WsyXu+(~88YC^o#Q{zb z`6EWr%RVtf(0QaQBec6R#rS)~5~HJ5y$+zF6Kg!=dM^jV@D?Ge?s{$-*zq z%cJ^Nt4@0J1BKZhWAk^t+{{D*u|?KpDO9n6tI{G|TlK_Ja)$-Vnx{INQ`Vs#8^~E_ z!QVH4kBgZfY>Y^s+pE8&JDUVL!?6_BM-{>qB@Fq_ZleN2-U~m(4mAwe`Zw2uq)CFG z74K(xNSB`3NDc5+W2xJpix`is+*uWf8vadthW?pcj5Hr{SS#5Uvu++?Jz>AK82nxp zz&R?Yu3bkDfuNHAoZEI(E(=G>pPG3-pLL@nvXy^Pp=gARG9n>|TeAaAXPb>1FR2Br zlr4bp6$c>4W+#*DE`|;aq~`oOrKQfHqM>n9!$NiS^(z58yq~h9%(xf`9RL6jCIt^= z52$M2u)l>te~DH=m!lt~0D21?x3*%}u+sJ(Oo2QWQWa8{VZ)+u57@Cf78$I#qZCwB zR7SR`&=%1+haU%((CRnK5<)U4371p3SyLF~zqc$>@sneAlYquzp0GVXA2KKfegHXr zVZ#DDHKz3|Vx;aShaJw{;fMD`N1`pkE2=9dq2Tkl~3*E8<<`BUkzWVW_phLeh-@FMQxG|a#H;vrNvyTS>If*VsO;>&(Z+e)WQ&Pxu{ z2HzBHiyXs}&NA+s@FFdG2m3Rdn2rYz4q|{8YWGHL@yQEjuzcw^bKF4r()r5nl8TK- z&O$2^b0v7PHUt3(L8otHbFLd>bEXI=Z!RU@;Ish);S3%w zrv0Nn0j+U(welBwb7%r*>ZFI~Q%W>VWpTBb^3ujNf{ggB2+x^vPlM?&jTa3riHQSi zUeYG`g}H8`ptrw)d&KIOrneiq%rk@|P)b+B!2;7UY8~J+fduG?D#6`2MIuk8THh{Z zeP~k4L&ep)@of9OePbdwg%*{MIs_;qE^zg8NITd@eo~BcQ?JxKnW_f2vQ+!gr(}h2 zGw_6Xx@@gU$}f=z+s6TLO&|NY@f%QGJBeJ|_2OF6^?*n3<)`sk=0dU!o%@@qjSC}j zjF4HF!P32b@+jmre+_y`wgcgJW#DHn8vqk6cbnr!ba;;F%H4M2OVZd5mwOqIa!Yik5wtKsaQ!OvSEwqU}9Y>8)a;$T^TV$E%fyag=N)opFLZ_#uWk=LE4+5a2} zaRXA~7JFjpq{rw{rLi)tGFfRoz>J^p0Ex5~yC18^HMkpmb#!5=6D3Gfm{6n3to zkGIIc_9Vo6sIMOHR~`Wi$p?)?e&` zB`|?b!i80zZI;~ztZ#M_#Gin~1FM1?+bB?H4c<@V&W@hy1hF&76XpKp3^$=~RCcQa1G9=ORSB)rfYpm(o8xDph& zEodXisdD}O+$o8nU(!j?>6!Xl!;Q}7h4LP_dOi9@Y8c!n_#rNw7{W2A$6CA0&z52m@J!)ekwnJk(?%@uHAmdMsBN zX8bNCrE7n4CVf4kxUBw0C9_-aX5OIXI|mAb5}-cyZIyjJWbOToNafb@oo`15UjmTB zFcWyFZGw8RVN=%cCfwAGK<;}pO9O$bNhOhRisuXoBBN!&?i7gY6TL>Fj$9Zhn3~#eeH- z^0TR$-yc8TvJHrkFRYaj=orsg@UL?Qw65xL^I%!`@8zx_5>#+D4sNG-(>ik1A89>%}C# z`23p!i`{9mGL=`U&d;#_S}Sqyhub+*g+Pxaz?`x}Lncihnay6!nUW_Sw=$VN>Zgo4 z?ykur{h*LzWI}$KHa1FdgSe%HTn+~Hc1aEyA-Kr(-J~eLN$dz>iSoLK$BuZw8)0?+ ztU1Q=84+OUm#hdBZvhG}mu=cI?YHFQu!)Az}?Cxp#CB~Q_i znd4_zqH=j>?Bt6N$1w7^I^`B0dzs9~dvtm!4{(>OD=npR)zLn;dt$()oxK*_r6?%M z$bf!}>CjjmmQ=^%wU42z2jF6v_m>3ByqSC`B+1iES={^T3) zO=ILa@gkZ2wzeUXwVG%xNn69aUvFURXxzynczC>E7y^PNMw2hTb8c^JOq^O6)VvBt z|0`qyZx+&Fk?*+ytZx7OEz|fVg?p0ew~KkT-507m?03c@4?bP0Cm3TBE6T*h9LtTR*hQY_GUys_7qY88j!oyFm(noqy88jRc6xu$0tRjj#=lUG$qX`6K z!80EamBb&`&kr$qlsLe7C38)Xi>E*mOd;hiSx4!Znj8V>u0aqs$e9uPMiDzL?-nqZ zs@B||$PiI%5sk7a5oDGzi&yV za0=IY8Z1XvG#+<;ADG(k?P`+O3P?Qt&SVzzbx|fn5nHLU*jh=h6YcnWNM2nn`yM*^Sx^Oo#9SbLTrv~fAf-! xY{n@KCk;0192)9;C<+&sj{NT`=eT>}3S=t9)6H9wfx-bE5AJE+Emg7z{U6v28b|;D literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/ImportWord.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/ImportWord.png new file mode 100644 index 0000000000000000000000000000000000000000..aea853f1091e246aefccb6314b17e9ceb626a3a8 GIT binary patch literal 952 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{Xiaj ziKnkC`(0)>K^8&b_BC%97#Q_ET^vI+&Zl0m^_F22IQH@WyId!WV#jxjG?Pp`6+Hx8 zf|hI+Sa(9*z&A?w%<>JJg90us;bXiQrM*#*n>+Pm&~amz4=&D&eoVUSyK#5LgWxj< zjQ>|AGMRGE5-MM{=%snSQ0^fcQ~?pGH@MaY;XUykNoeXS>AQ&LcL)H;tp zUk+_JF~em(^W(lx7cB)kVkNJ=-gw1Z-S6$w<J+VdI(x|rj@?B^cb%*M9v1QIu)cI4Ff>(5Tq8l(m4QKz9|8>t%v80WnaMUVc&f-J47OfCfu|3=YXC%}uhha>-9F%}vcK zv9byPDlKL(T>gKzK2VJ~k{YnpR#qOVnduoN48}$pUw(W6DiOm}5}uh-k^xk4A=;u6 zs6rA+g>PnVYDr~5Dg)R}`UQFE_M5^$u0giRHw37P!O+;u$kfch%+y@5I{GM3i2#y0 z!I@R53}!}_PH`(k-U8*~k>o;yJQ>n5b5eo6*U!k$O$CKPQGR}jesN|An4_1PSX`Nz zoS&zcms+BqoRX)TnVXIfOwQ9UE=txnG_bTVgpg*&dO(*(o2!AG!QkoY=d#Wzp$Pz^ Cep{3P literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/arrow.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1eb39c6763770690d4cd6faf81503975a25f08 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol>0V4T5^Y?)SlDyqr82*Fcg1yTp14TFsJR*x3 z7`TN&n2}-D90{Nxdx@v7EBhTTAs$Q7;?s#GK%q&VE{-7@=ig3J6RR&$neB-Qn+l0CXLLr>mdKI;Vst0B#;z A`2YX_ literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/close.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/close.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ba87c9a0dc392bb29488ba33d8ff9b9620e46e GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL03-~#}EtuWC_+83s$UnVb9^bv!KCShWUVq zlJ+sRHgSb)hhqVmj~HBMIW{OUUobsv5F%xNU>W0V3BLw!#fxk`76%S6Fl2QM literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/close.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/close.png new file mode 100644 index 0000000000000000000000000000000000000000..65c2640d3cf42cf2c2702baa72817de72319a014 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V27uRV@QPi+p~dO2MjovFUajRzps(}UX%XI#yqK8>&g6NiSZw;-8UA4J)FjuO z4fmQwZyk)%536B2|2N{Nq|NuFqh%YeHH&UKSf#uEM76e{X2%;3qk}W=3aAF`EYx&7 k)$7fvr7fTQCF(Vs>#_8PGrqiGKsPaXy85}Sb4q9e07YR}yZ`_I literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/lock-open.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/hidpi/lock-open.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5e740ee7754e53736d7b3482ac0e667297cc3e GIT binary patch literal 1503 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 literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/lock-open.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/lock-open.png new file mode 100644 index 0000000000000000000000000000000000000000..3b256c06360de24552404831ad2837e4f7499b88 GIT binary patch literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_D|i<4;c)#}JFtt&{inNf`Pv#92Gn{xdL z;ybi2J@KEc#outLz<)xAxPw!Y_5ueF?j*-<+wA2JrZFg<@|dPm{pY9od|Q*beuZ)_ zENN{)TxV*cwqJ8{Nm$!j{BFy-b^O{(1J;HKvM{bo-W!*^`>vCVpHj`d17|d*pXO*{ zaQV{LQ6~`S+X5h+@3mGPQuXZo;{{43!Kf~HE?$uYhcHe#XqVaj+3_1CJ_iPu>Q&N*iHUd(8@ndA2P=buYQ40sl9WfPoR zWBK3XT9ibxK-<;C{% z&%a-+;WTTRfS?Q?drIUt_Xl_G9!>hFqx8PpFD32D>(V8eT_;nDUY&Sa^mEPDw&Hgl z3Q7^{uV09|Kh;b1kA9D#$0Qb|ru$PJC2J&mAN&HQ4Am0Xh?11Vl2ohYqEsNoU}Ruu ztZQJdYhV&$Xl`X-3`E)nMpgy}zDsrkQw@@a-29Zxv`X9>Y<@By0cwy0*$|wcR#Ki= ml*&+EUaps!mtCBkSdglhUz9%kosASw5re0zpUXO@geCymsw?6E literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/lock.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..c127f9ebe788baaf9c69bea6d1c7653d990cbe3c GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_D|i<3~>y#}JFtwUamcJ$4Xi+b?OIx5#CqXV9F5Wxj{CWzI9}I~1#a zxe)M?q2wX2-yR1Qm6(Yl9w#m)DsJBWEpFlsaiv2;q%iS9F@!!9`;&sdy-?D_h?Q(q*;!@Xr zV*c4mE2&-y9=7-yFU!6waO`^Yu%KeH%1PY`s-8vGGJN?_6BIZECcgK-;k1vV>B05e zw{L%aRyS9L^8l;C?_&!@*Ij?jI3e|BVW3Dk!?h@eu0=aeZ+auK;QH%@t6uNgR=ody zy3tGqgSmdn?`v`p(oynm@B2FvhaW#y*4NkH6rr=P%R;Vy@CgHpZ{!H zwJLSq^XbxxyXWj>$o)R8an-!;6a1mJ`I1|7zP)n_4XvrE3Ak>WC{a{WQnD>V=iDWe zr8?eoifiiXfN&PEETh{4m<&t;ucLK6UWP&V5D literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/refresh.png b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/images/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a061c50de209f0b3749537a6a20fba2b93c8e3 GIT binary patch literal 953 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_D|i(=iY?K- z+T>WE_|9u#iQ?6_3VMH-)0Rt%@4C1)k0tvrvkZ&loF;Dff{VURL7EFQFE4q&cfzy3 zyEe~Io3gXOO#IyOrv>Y-ye^HC6Fg|Zv+1TzaBy%32gBbw`SYJU7IB2K9;mpPF-z@b z$*deR?~M^h40Ve#ULHzQ+dU=I$FK<`iUaz4iRSe5FrS zX0ui2pHGeyQ)*)MIVU^YWeHafbN;PubEBf8ldGzJy9yaFtrFZ>9zj|)JT`TzH=g*%O7yY+w z-(Ff@AAkDkr|k!{%YV;oZf0J4HS0ekf9TZNv!&0SJC|W1b>a2bfKZ;pKdSTd{lmk; z>ViX$F{O!#iPf>ltl`$5UteQoE)C=@^Vp&fY6xhvdmBH3f7!H z?LF(PT3d%eTcX+IlQ#lI7-N`O939qQSLSivdwp`e%afTMHdV$tqPW~jOU|4`{&{%O;vd(ZWIzOti+-G(*I=klM5?CjN2 zER5>v>iwZxU+&T?luK3-Pe-~bU zDYGi;PTuyNd-opon#6Mcvw^R0=-*hEFr%4grhoqY`F)7i)T0)Cd($@m%wK)=ms@B* z!@BkBIhzr!AdYO6I#mR{Use1WE>9gP2NC6cwc)I$z JtaD0e0su#cn~(qi literal 0 HcmV?d00001 diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/skin.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/skin.js new file mode 100644 index 0000000..d895dee --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/skins/office2013/skin.js @@ -0,0 +1,5 @@ +/* + Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.skin.name="office2013";CKEDITOR.skin.ua_editor="";CKEDITOR.skin.ua_dialog="";CKEDITOR.skin.chameleon=function(){return""}; \ No newline at end of file diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/styles.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/styles.js new file mode 100644 index 0000000..6ed5b30 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/b_ckeditor/styles.js @@ -0,0 +1,111 @@ +/** + * Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +// This file contains style definitions that can be used by CKEditor plugins. +// +// The most common use for it is the "stylescombo" plugin, which shows a combo +// in the editor toolbar, containing all styles. Other plugins instead, like +// the div plugin, use a subset of the styles on their feature. +// +// If you don't have plugins that depend on this file, you can simply ignore it. +// Otherwise it is strongly recommended to customize this file to match your +// website requirements and design properly. + +CKEDITOR.stylesSet.add( 'default', [ + /* Block Styles */ + + // These styles are already available in the "Format" combo ("format" plugin), + // so they are not needed here by default. You may enable them to avoid + // placing the "Format" combo in the toolbar, maintaining the same features. + /* + { name: 'Paragraph', element: 'p' }, + { name: 'Heading 1', element: 'h1' }, + { name: 'Heading 2', element: 'h2' }, + { name: 'Heading 3', element: 'h3' }, + { name: 'Heading 4', element: 'h4' }, + { name: 'Heading 5', element: 'h5' }, + { name: 'Heading 6', element: 'h6' }, + { name: 'Preformatted Text',element: 'pre' }, + { name: 'Address', element: 'address' }, + */ + + { name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } }, + { name: 'Subtitle', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } }, + { + name: 'Special Container', + element: 'div', + styles: { + padding: '5px 10px', + background: '#eee', + border: '1px solid #ccc' + } + }, + + /* Inline Styles */ + + // These are core styles available as toolbar buttons. You may opt enabling + // some of them in the Styles combo, removing them from the toolbar. + // (This requires the "stylescombo" plugin) + /* + { name: 'Strong', element: 'strong', overrides: 'b' }, + { name: 'Emphasis', element: 'em' , overrides: 'i' }, + { name: 'Underline', element: 'u' }, + { name: 'Strikethrough', element: 'strike' }, + { name: 'Subscript', element: 'sub' }, + { name: 'Superscript', element: 'sup' }, + */ + + { name: 'Marker', element: 'span', attributes: { 'class': 'marker' } }, + + { name: 'Big', element: 'big' }, + { name: 'Small', element: 'small' }, + { name: 'Typewriter', element: 'tt' }, + + { name: 'Computer Code', element: 'code' }, + { name: 'Keyboard Phrase', element: 'kbd' }, + { name: 'Sample Text', element: 'samp' }, + { name: 'Variable', element: 'var' }, + + { name: 'Deleted Text', element: 'del' }, + { name: 'Inserted Text', element: 'ins' }, + + { name: 'Cited Work', element: 'cite' }, + { name: 'Inline Quotation', element: 'q' }, + + { name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } }, + { name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } }, + + /* Object Styles */ + + { + name: 'Styled image (left)', + element: 'img', + attributes: { 'class': 'left' } + }, + + { + name: 'Styled image (right)', + element: 'img', + attributes: { 'class': 'right' } + }, + + { + name: 'Compact table', + element: 'table', + attributes: { + cellpadding: '5', + cellspacing: '0', + border: '1', + bordercolor: '#000' + }, + styles: { + 'border-collapse': 'collapse' + } + }, + + { name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } }, + { name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } } +] ); + diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/LICENSE.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/LICENSE.md new file mode 100644 index 0000000..b255806 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/LICENSE.md @@ -0,0 +1,21 @@ +Software License Agreement +========================== + +**CKEditor 5 document editor build** – https://github.com/ckeditor/ckeditor5-build-decoupled-document
          +Copyright (c) 2003-2022, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved. + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission. + +The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT): + +* lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/. + +Trademarks +---------- + +**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/README.md b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/README.md new file mode 100644 index 0000000..fe4c716 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/README.md @@ -0,0 +1,9 @@ +CKEditor 5 decoupled document editor build v35.4.0 +================================================== + +In order to start using CKEditor 5 Builds, configure or customize them, please visit http://docs.ckeditor.com/ckeditor5/latest/builds/index.html + +## License + +Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). +For full details about the license, please check the LICENSE.md file. diff --git a/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/ckeditor.js b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/ckeditor.js new file mode 100644 index 0000000..bb49af5 --- /dev/null +++ b/20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/ckeditor5-build-decoupled-document-35.4.0/ckeditor5-build-decoupled-document/ckeditor.js @@ -0,0 +1,7 @@ +!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 of %1","Align center":"Align center","Align left":"Align left","Align right":"Align right",Aquamarine:"Aquamarine",Big:"Big",Black:"Black","Block quote":"Block quote",Blue:"Blue",Bold:"Bold","Break text":"Break text","Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Cancel:"Cancel","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Cannot upload file:":"Cannot upload file:","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Choose heading":"Choose heading",Circle:"Circle",Column:"Column","Could not insert image at the current position.":"Could not insert image at the current position.","Could not obtain resized image URL.":"Could not obtain resized image URL.",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero","Decrease indent":"Decrease indent",Default:"Default","Delete column":"Delete column","Delete row":"Delete row","Dim grey":"Dim grey",Disc:"Disc","Document colors":"Document colors",Downloadable:"Downloadable","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Edit link":"Edit link","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","Editor editing area: %0":"Editor editing area: %0","Editor toolbar":"Editor toolbar","Enter image caption":"Enter image caption","Font Background Color":"Font Background Color","Font Color":"Font Color","Font Family":"Font Family","Font Size":"Font Size","Full size image":"Full size image",Green:"Green",Grey:"Grey","Header column":"Header column","Header row":"Header row",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6",Huge:"Huge","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line","Increase indent":"Increase indent","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert image":"Insert image","Insert image or file":"Insert image or file","Insert media":"Insert media","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table","Inserting image failed":"Inserting image failed",Italic:"Italic",Justify:"Justify","Left aligned image":"Left aligned image","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Link:"Link","Link URL":"Link URL","List properties":"List properties","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Media URL":"Media URL","media widget":"media widget","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",Next:"Next","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Open file manager":"Open file manager","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","Open media in new tab":"Open media in new tab",Orange:"Orange",Original:"Original",Paragraph:"Paragraph","Paste the media URL in the input.":"Paste the media URL in the input.","Press Enter to type after or press Shift + Enter to type before the widget":"Press Enter to type after or press Shift + Enter to type before the widget",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Reversed order":"Reversed order","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"Rich Text Editor. Editing area: %0","Right aligned image":"Right aligned image",Row:"Row",Save:"Save","Select all":"Select all","Select column":"Select column","Select row":"Select row","Selecting resized image failed":"Selecting resized image failed","Show more items":"Show more items","Side image":"Side image",Small:"Small","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Square:"Square","Start at":"Start at","Start index must be greater than 0.":"Start index must be greater than 0.",Strikethrough:"Strikethrough","Table toolbar":"Table toolbar","Text alignment":"Text alignment","Text alignment toolbar":"Text alignment toolbar","Text alternative":"Text alternative","The URL must not be empty.":"The URL must not be empty.","This link has no URL":"This link has no URL","This media URL is not supported.":"This media URL is not supported.",Tiny:"Tiny","Tip: Paste the URL into the content to embed faster.":"Tip: Paste the URL into the content to embed faster.","Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style",Turquoise:"Turquoise",Underline:"Underline",Undo:"Undo",Unlink:"Unlink","Upload failed":"Upload failed","Upload in progress":"Upload in progress","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman",White:"White","Widget toolbar":"Widget toolbar","Wrap text":"Wrap text",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), +/*! + * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md. + */ +function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.DecoupledEditor=e():t.DecoupledEditor=e()}(self,(()=>(()=>{"use strict";var t={3062:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./../ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);const a=s},903:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}',"",{version:3,sources:["webpack://./../ckeditor5-clipboard/theme/clipboard.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CCzBF,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CA2DF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border)\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(var(--ck-clipboard-drop-target-dot-height) * -.5);\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t// Horizontal drop target (between blocks).\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\ttext-align: initial;\n\n\t\t& .ck-clipboard-drop-target__line {\n\t\t\tposition: absolute;\n\t\t\twidth: 100%;\n\t\t\theight: 0;\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-top: -1px;\n\n\t\t\t&::before {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\ttop: 0;\n\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t\t\tborder-width: var(--ck-clipboard-drop-target-dot-size) 0 var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\ttop: 0;\n\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t\t\tborder-width: var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size)) var(--ck-clipboard-drop-target-dot-size) 0;\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\t*/\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4717:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/placeholder.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n\n/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t&::before {\n\t\tcursor: text;\n\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t}\n}\n"],sourceRoot:""}]);const a=s},9315:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./../ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const a=s},1896:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-button.ck-color-table__remove-color{align-items:center;display:flex;width:100%}label.ck.ck-color-grid__label{font-weight:unset}.ck .ck-button.ck-color-table__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck .ck-button.ck-color-table__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-base-border)}[dir=ltr] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-font/theme/fontcolor.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-font/fontcolor.css"],names:[],mappings:"AAKA,4CAEC,kBAAmB,CADnB,YAAa,CAEb,UACD,CAEA,8BACC,iBACD,CCNA,4CAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,wDACC,mDACD,CAEA,kEAEE,uCAMF,CARA,kEAME,sCAEF",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-button.ck-color-table__remove-color {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n}\n\nlabel.ck.ck-color-grid__label {\n\tfont-weight: unset;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck .ck-button.ck-color-table__remove-color {\n\tpadding: calc(var(--ck-spacing-standard) / 2 ) var(--ck-spacing-standard);\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n\n\t&:not(:focus) {\n\t\tborder-bottom: 1px solid var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const a=s},6007:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .text-tiny{font-size:.7em}.ck-content .text-small{font-size:.85em}.ck-content .text-big{font-size:1.4em}.ck-content .text-huge{font-size:1.8em}","",{version:3,sources:["webpack://./../ckeditor5-font/theme/fontsize.css"],names:[],mappings:"AAUC,uBACC,cACD,CAEA,wBACC,eACD,CAEA,sBACC,eACD,CAEA,uBACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* The values should be synchronized with the "FONT_SIZE_PRESET_UNITS" object in the "/src/fontsize/utils.js" file. */\n\n/* Styles should be prefixed with the `.ck-content` class.\nSee https://github.com/ckeditor/ckeditor5/issues/6636 */\n.ck-content {\n\t& .text-tiny {\n\t\tfont-size: .7em;\n\t}\n\n\t& .text-small {\n\t\tfont-size: .85em;\n\t}\n\n\t& .text-big {\n\t\tfont-size: 1.4em;\n\t}\n\n\t& .text-huge {\n\t\tfont-size: 1.8em;\n\t}\n}\n'],sourceRoot:""}]);const a=s},8733:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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}","",{version:3,sources:["webpack://./../ckeditor5-heading/theme/heading.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-heading_heading1 {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3508:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBAuBD,CAbC,uBAEC,aAAc,CAGd,aAAc,CAGd,cAAe,CAGf,cACD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAWA,2GACC,SAUD,CAHC,qEACC,YACD,CAOA,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
          in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
          .\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\n\t/*\n\t * Make sure the selected inline image always stays on top of its siblings.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t */\n\t& .image.ck-widget_selected {\n\t\tz-index: 1;\n\t}\n\n\t& .image-inline.ck-widget_selected {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the native browser selection style is not displayed.\n\t\t * Inline image widgets have their own styles for the selected state and\n\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t */\n\t\t& ::selection {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},2640:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highligted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\tanimation: ck-image-caption-highlight .6s ease-out;\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highligted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const a=s},6270:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAKA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `
          ` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `
          ` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `
          ` element uses `display:block`, so `
          ` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/* The resized inline image nested in the table should respect its parent size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline.image_resized img {\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);const a=s},5083:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.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)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\tconfirming successful application of the style if image width exceeds the editor's size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t& .image-style-block-align-left,\n\t& .image-style-block-align-right {\n\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t}\n\n\t/* Allows displaying multiple floating images in the same line.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t& .image-style-align-left,\n\t& .image-style-align-right {\n\t\tclear: none;\n\t}\n\n\t& .image-style-side {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t\tmax-width: 50%;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-block-align-right {\n\t\tmargin-right: 0;\n\t\tmargin-left: auto;\n\t}\n\n\t& .image-style-block-align-left {\n\t\tmargin-left: 0;\n\t\tmargin-right: auto;\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image-style-align-left,\n\t& p + .image-style-align-right,\n\t& p + .image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},4036:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.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:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@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%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadicon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const a=s},3773:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadloader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const a=s},3689:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/imageuploadprogress.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const a=s},1905:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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%}}","",{version:3,sources:["webpack://./../ckeditor5-image/theme/textalternativeform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},9773:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const a=s},2347:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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 .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{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.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}[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 .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{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkactions.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},7754:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 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{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[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:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./../ckeditor5-link/theme/linkform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4721:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:0 var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/collapsible.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,wDAAyD,CAFzD,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,yDACD,CAGC,mEACC,wBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-collapsible.ck-collapsible_collapsed {\n\t& > .ck-collapsible__children {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-collapsible {\n\t& > .ck.ck-button {\n\t\twidth: 100%;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\t\tborder-radius: 0;\n\t\tcolor: inherit;\n\n\t\t&:focus {\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&:active, &:not(:focus), &:hover:not(:focus) {\n\t\t\tbackground: transparent;\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t& > .ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\twidth: var(--ck-collapsible-arrow-size);\n\t\t}\n\t}\n\n\t& > .ck-collapsible__children {\n\t\tpadding: 0 var(--ck-spacing-large) var(--ck-spacing-large);\n\t}\n\n\t&.ck-collapsible_collapsed {\n\t\t& > .ck.ck-button .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},6082:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-properties {\n\t/* When there are no list styles and there is no collapsible. */\n\t&.ck-list-properties_without-styles {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * {\n\t\t\tmin-width: 14em;\n\n\t\t\t& + * {\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * When the numbered list property fields (start at, reversed) should be displayed,\n\t * more horizontal space is needed. Reconfigure the style grid to create that space.\n\t */\n\t&.ck-list-properties_with-numbered-properties {\n\t\t& > .ck-list-styles-list {\n\t\t\tgrid-template-columns: repeat( 4, auto );\n\t\t}\n\n\t\t/* When list styles are rendered and property fields are in a collapsible. */\n\t\t& > .ck-collapsible {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t& > .ck-collapsible__children {\n\t\t\t\t& > * {\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t& + * {\n\t\t\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-numbered-list-properties__start-index .ck-input {\n\t\tmin-width: auto;\n\t\twidth: 100%;\n\t}\n\n\t& .ck.ck-numbered-list-properties__reversed-order {\n\t\tbackground: transparent;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\n\n\t\t&:active, &:hover {\n\t\t\tbox-shadow: none;\n\t\t\tborder-color: transparent;\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},2417:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-list-styles-list{display:grid}.ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:circle}.ck-content ul ul{list-style-type:disc}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./../ckeditor5-list/theme/liststyles.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CAEA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,sBAaD,CAXC,kBACC,oBASD,CAJE,6CACC,sBACD,CCnCH,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-styles-list {\n\tdisplay: grid;\n}\n\n.ck-content ol {\n\tlist-style-type: decimal;\n\n\t& ol {\n\t\tlist-style-type: lower-latin;\n\n\t\t& ol {\n\t\t\tlist-style-type: lower-roman;\n\n\t\t\t& ol {\n\t\t\t\tlist-style-type: upper-latin;\n\n\t\t\t\t& ol {\n\t\t\t\t\tlist-style-type: upper-roman;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-content ul {\n\tlist-style-type: circle;\n\n\t& ul {\n\t\tlist-style-type: disc;\n\n\t\t& ul {\n\t\t\tlist-style-type: square;\n\n\t\t\t& ul {\n\t\t\t\tlist-style-type: square;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-list {\n\tgrid-template-columns: repeat( 3, auto );\n\trow-gap: var(--ck-spacing-medium);\n\tcolumn-gap: var(--ck-spacing-medium);\n\tpadding: var(--ck-spacing-large);\n\n\t& .ck-button {\n\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\twidth: var(--ck-list-style-button-size);\n\t\theight: var(--ck-list-style-button-size);\n\t\tpadding: 0;\n\n\t\t/*\n\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t * gaps in the grid.\n\t\t */\n\t\tmargin: 0;\n\n\t\t/*\n\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t * (which becomes blurry as it scales down).\n\t\t */\n\t\tbox-sizing: content-box;\n\n\t\t& .ck-icon {\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4652:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .media {\n\t/* Don\'t allow floated content overlap the media.\n\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\n\tclear: both;\n\n\t/* Make sure there is some space between the content and the media. */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em 0;\n\n\t/* Make sure media is not overriden with Bootstrap default `flex` value.\n\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\n\tdisplay: block;\n\n\t/* Give the media some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (#44) */\n\tmin-width: 15em;\n}\n'],sourceRoot:""}]);const a=s},7442:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.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 .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .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*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.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{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.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-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.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+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.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}',"",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-media__wrapper {\n\t& .ck-media__placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\n\t\t& .ck-media__placeholder__url {\n\t\t\t/* Otherwise the URL will overflow when the content is very narrow. */\n\t\t\tmax-width: 100%;\n\n\t\t\tposition: relative;\n\n\t\t\t& .ck-media__placeholder__url__text {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"],\n\t&[data-oembed-url*="google.com/maps"],\n\t&[data-oembed-url*="goo.gl/maps"],\n\t&[data-oembed-url*="maps.google.com"],\n\t&[data-oembed-url*="maps.app.goo.gl"],\n\t&[data-oembed-url*="facebook.com"],\n\t&[data-oembed-url*="instagram.com"] {\n\t\t& .ck-media__placeholder__icon * {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* Disable all mouse interaction as long as the editor is not read–only.\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\n\tpointer-events: none;\n}\n\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\n\tpointer-events: none;\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-media-embed-placeholder-icon-size: 3em;\n\n\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\n\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\n}\n\n.ck-media__wrapper {\n\tmargin: 0 auto;\n\n\t& .ck-media__placeholder {\n\t\tpadding: calc( 3 * var(--ck-spacing-standard) );\n\t\tbackground: var(--ck-color-base-foreground);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tmin-width: var(--ck-media-embed-placeholder-icon-size);\n\t\t\theight: var(--ck-media-embed-placeholder-icon-size);\n\t\t\tmargin-bottom: var(--ck-spacing-large);\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: cover;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text);\n\t\t\twhite-space: nowrap;\n\t\t\ttext-align: center;\n\t\t\tfont-style: italic;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\n\t\t\t\tcursor: pointer;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="open.spotify.com"] {\n\t\tmax-width: 300px;\n\t\tmax-height: 380px;\n\t}\n\n\t&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {\n\t\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\n\t}\n\n\t&[data-oembed-url*="facebook.com"] .ck-media__placeholder {\n\t\tbackground: hsl(220, 46%, 48%);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(220, 100%, 90%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="instagram.com"] .ck-media__placeholder {\n\t\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\n\t\t}\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(302, 100%, 94%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {\n\t\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\n\t\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(201, 100%, 86%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},9292:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-media-form{align-items:flex-start;display:flex;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%}}","",{version:3,sources:["webpack://./../ckeditor5-media-embed/theme/mediaform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-media-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1613:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;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)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/inserttable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label,\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const a=s},6306:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
          . Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const a=s},3881:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-table-focused-cell-background:rgba(158,201,250,.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}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,6DACD,CAKE,8QAGC,wDAAyD,CAKzD,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-table-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-table-focused-cell-background);\n\n\t\t\t/* Fixes the problem where surrounding cells cover the focused cell's border.\n\t\t\tIt does not fix the problem in all places but the UX is improved.\n\t\t\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\n\t\t\tborder-style: none;\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},6945:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top: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,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},4906:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;justify-content:left;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.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,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)}.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{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.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{color:inherit;cursor:inherit;font-size:inherit;font-weight: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,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.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)}.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-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.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)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/button.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAOA,6BAMC,kBAAmB,CADnB,mBAAoB,CAEpB,oBAAqB,CAHrB,iBAAkB,CCFlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDkBD,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEjBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: left;\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\tfont-weight: bold;\n\t\topacity: .7;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},5332:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.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:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t/* Unlike a regular button, the switch button text color and background should never change.\n\t * Changing toggle switch (background, outline) is enough to carry the information about the\n\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\n\t */\n\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\n\t\tcolor: inherit;\n\t\tbackground: transparent;\n\t}\n\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const a=s},6781:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.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{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,4DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\twidth: var(--ck-color-grid-tile-size);\n\theight: var(--ck-color-grid-tile-size);\n\tmin-width: var(--ck-color-grid-tile-size);\n\tmin-height: var(--ck-color-grid-tile-size);\n\tpadding: 0;\n\ttransition: .2s ease box-shadow;\n\tborder: 0;\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t&.ck-color-table__color-tile_bordered {\n\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t&.ck-on,\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\t/* Disable the default .ck-button\'s border ring. */\n\t\tborder: 0;\n\t}\n\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n'],sourceRoot:""}]);const a=s},5485:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-dropdown-max-width:75vw}.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-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right: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{overflow:hidden;text-overflow:ellipsis;width:7em}.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 .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.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{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eH8GD,CA5BA,qFG9EE,qCH0GF,CA5BA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAmBD,CAfC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-modal);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-modal) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\t\t\t\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3949:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7686:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.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)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.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}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* Make sure the divider stretches 100% height of the button\n\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\n\t& > .ck-splitbutton__arrow:not(:focus) {\n\t\tborder-top-width: 0px;\n\t\tborder-bottom-width: 0px;\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t/* Make sure the divider between the buttons looks fine when the button is focused */\n\t\t& > .ck-splitbutton__arrow:focus::after {\n\t\t\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7339:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const a=s},9688:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":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.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.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)}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,mDACD,CAIA,gEACC,gDACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-base-foreground);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-base-foreground);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},8847:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-form__header .ck-form__header__label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BACD,CCNA,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAQD,CAHC,4CACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-form-header-height: 38px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& .ck-form__header__label {\n\t\tfont-weight: bold;\n\t}\n}\n"],sourceRoot:""}]);const a=s},6574:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/icon/icon.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: .8333350694em;\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t/* This will prevent blurry icons on Firefox. See #340. */\n\twill-change: transform;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\t}\n\n\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\n\t&.ck-icon_inherit-color {\n\t\tcolor: inherit;\n\n\t\t& * {\n\t\t\tcolor: inherit;\n\n\t\t\t&:not([fill]) {\n\t\t\t\t/* Needed by FF. */\n\t\t\t\tfill: currentColor;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},4879:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},3662:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/label/label.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const a=s},2577:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.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.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD8GD,CAzGA,2FCDE,qCD0GF,CAtGC,mEACC,UAmCD,CAjCC,gFACC,KA+BD,CAhCA,0FAIE,MA4BF,CAhCA,0FAQE,OAwBF,CAhCA,gFAiBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAP9C,mBAAoB,CAYpB,sBAAuB,CARvB,6DAA+D,CAH/D,oBAAqB,CAgBrB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,oUAGE,+HAYF,CAfA,oUAOE,wIAQF,CAfA,gTAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\t\t\ttransform-origin: 0 0;\n\n\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1046:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.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{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base));text-align:left;width:100%}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):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{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/list/list.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEfD,YCEC,eDGD,CALA,+DCME,qCDDF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BAIC,eAAgB,CAHhB,gBAAiB,CAQjB,iIAEiE,CARjE,eAAgB,CADhB,UAwCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\tmin-width: 12em;\n\n\t& .ck-button {\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\tborder-radius: 0;\n\n\t\t/* List items should have the same height. Use absolute units to make sure it is so\n\t\t because e.g. different heading styles may have different height\n\t\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\tpadding:\n\t\t\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\n\t\t\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& .ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},8793:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,':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-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.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{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.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(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.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(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-modal);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},4650:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;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-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const a=s},7676:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".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{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width: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}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-modal) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},5868:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-modal); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},6764:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./../ckeditor5-ui/theme/mixins/_rwd.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const a=s},9695:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const a=s},5542:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;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__line-break{flex-basis:100%}.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);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){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>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.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.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.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.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{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.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./../ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDoGD,CAvGA,qECOE,qCDgGF,CAvGA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAmGD,CAhGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAjGF,qCAqGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\talign-self: stretch;\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const a=s},3332:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDPnC,mBAAoB,CAEpB,qCACD,CCMC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAbD,gCAgBC,eAMD,CAHC,uCACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t/* Keep tooltips transparent for any interactions. */\n\tpointer-events: none;\n\n\tz-index: calc( var(--ck-z-modal) + 100 );\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const a=s},4793:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--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:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(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:var(--ck-color-base-border);--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:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--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-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--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-background);--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,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--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-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding: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)}","",{version:3,sources:["webpack://./../ckeditor5-ui/theme/globals/_hidden.css","webpack://./../ckeditor5-ui/theme/globals/_reset.css","webpack://./../ckeditor5-ui/theme/globals/_zindex.css","webpack://./../ckeditor5-ui/theme/globals/_transition.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CACD,CCAA,oDAEC,yBACD,CCNA,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAwD,CCvGxD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJuGD,CIjGA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-z-default: 1;\n\t--ck-z-modal: calc( var(--ck-z-default) + 999 );\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n\n\t/* -- Search result highlight ---------------------------------------------------------------- */\n\n\t--ck-color-highlight-background:\t\t\t\t\t\t\thsl(60, 100%, 50%)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const a=s},3488:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.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);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.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{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top: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)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}: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-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);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{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);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)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.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{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.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:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.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{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widget.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./../ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\n\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const a=s},8506:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgetresize.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const a=s},4921:(t,e,n)=>{n.d(e,{Z:()=>a});var o=n(1799),i=n.n(o),r=n(2609),s=n.n(r)()(i());s.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.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;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .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{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;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);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.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{opacity:1;pointer-events:auto}.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{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right: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{opacity:0;pointer-events:none}.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))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./../ckeditor5-widget/theme/widgettypearound.css","webpack://./../ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: 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);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const a=s},2609:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,o){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(o)for(var r=0;r{function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==n)return;var o,i,r=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(o=n.next()).done)&&(r.push(o.value),!e||r.length!==e);s=!0);}catch(t){a=!0,i=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return Array.from(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return n(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n{var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),s=[];function a(t){for(var e=-1,n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0;var o={};return(()=>{n.d(o,{default:()=>my});const t=function(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}(),e={isMac:r(t),isWindows:function(t){return t.indexOf("windows")>-1}(t),isGecko:function(t){return!!t.match(/gecko\/\d+/)}(t),isSafari:function(t){return t.indexOf(" applewebkit/")>-1&&-1===t.indexOf("chrome")}(t),isiOS:function(t){return!!t.match(/iphone|ipad/i)||r(t)&&navigator.maxTouchPoints>0}(t),isAndroid:function(t){return t.indexOf("android")>-1}(t),isBlink:function(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}(t),features:{isRegExpUnicodePropertySupported:function(){let t=!1;try{t=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(t){}return t}()}},i=e;function r(t){return t.indexOf("macintosh")>-1}function s(t,e,n,o){n=n||function(t,e){return t===e};const i=Array.isArray(t)?t:Array.prototype.slice.call(t),r=Array.isArray(e)?e:Array.prototype.slice.call(e),s=function(t,e,n){const o=a(t,e,n);if(-1===o)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const i=c(t,o),r=c(e,o),s=a(i,r,n),l=t.length-s,d=e.length-s;return{firstIndex:o,lastIndexOld:l,lastIndexNew:d}}(i,r,n),l=o?function(t,e){const{firstIndex:n,lastIndexOld:o,lastIndexNew:i}=t;if(-1===n)return Array(e).fill("equal");let r=[];n>0&&(r=r.concat(Array(n).fill("equal")));i-n>0&&(r=r.concat(Array(i-n).fill("insert")));o-n>0&&(r=r.concat(Array(o-n).fill("delete")));i0&&n.push({index:o,type:"insert",values:t.slice(o,r)});i-o>0&&n.push({index:o+(r-o),type:"delete",howMany:i-o});return n}(r,s);return l}function a(t,e,n){for(let o=0;o200||i>200||o+i>300)return l.fastDiff(t,e,n,!0);let r,s;if(il?-1:1;u[o+d]&&(u[o]=u[o+d].slice(0)),u[o]||(u[o]=[]),u[o].push(i>l?r:s);let g=Math.max(i,l),m=g-o;for(;md;m--)h[m]=g(m);h[d]=g(d),p++}while(h[d]!==c);return u[d].slice(1)}function d(t,...e){e.forEach((e=>{const n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertySymbols(e);n.concat(o).forEach((n=>{if(n in t.prototype)return;if("function"==typeof e&&("length"==n||"name"==n||"prototype"==n))return;const o=Object.getOwnPropertyDescriptor(e,n);o.enumerable=!1,Object.defineProperty(t.prototype,n,o)}))}))}l.fastDiff=s;const u=function(){return function t(){t.called=!0}};class h{constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=u(),this.off=u()}}const g=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function m(){const t=4294967296*Math.random()>>>0,e=4294967296*Math.random()>>>0,n=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0;return"e"+g[t>>0&255]+g[t>>8&255]+g[t>>16&255]+g[t>>24&255]+g[e>>0&255]+g[e>>8&255]+g[e>>16&255]+g[e>>24&255]+g[n>>0&255]+g[n>>8&255]+g[n>>16&255]+g[n>>24&255]+g[o>>0&255]+g[o>>8&255]+g[o>>16&255]+g[o>>24&255]}const p={get(t="normal"){return"number"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function f(t,e){const n=p.get(e.priority);for(let o=0;o{if("object"==typeof e&&null!==e){if(n.has(e))return`[object ${e.constructor.name}]`;n.add(e)}return e},i=e?` ${JSON.stringify(e,o)}`:"",r=A(t);return t+i+r}(t,n)),this.name="CKEditorError",this.context=e,this.data=n}is(t){return"CKEditorError"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is("CKEditorError"))throw t;const n=new k(t.message,e);throw n.stack=t.stack,n}}function b(t,e){console.warn(..._(t,e))}function w(t,e){console.error(..._(t,e))}function A(t){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${t}`}function _(t,e){const n=A(t);return e?[t,e,n]:[t,n]}const C="35.4.0",v="object"==typeof window?window:n.g;if(v.CKEDITOR_VERSION)throw new k("ckeditor-duplicated-modules",null);v.CKEDITOR_VERSION=C;const y=Symbol("listeningTo"),x=Symbol("emitterId"),E=Symbol("delegations"),D=I(Object);function I(t){if(!t)return D;return class extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let o=!1;this.listenTo(this,t,((t,...n)=>{o||(o=!0,t.off(),e.call(this,t,...n))}),n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,o={}){let i,r;this[y]||(this[y]={});const s=this[y];S(t)||T(t);const a=S(t);(i=s[a])||(i=s[a]={emitter:t,callbacks:{}}),(r=i.callbacks[e])||(r=i.callbacks[e]=[]),r.push(n),function(t,e,n,o,i){e._addEventListener?e._addEventListener(n,o,i):t._addEventListener.call(e,n,o,i)}(this,t,e,n,o)}stopListening(t,e,n){const o=this[y];let i=t&&S(t);const r=o&&i?o[i]:void 0,s=r&&e?r.callbacks[e]:void 0;if(!(!o||t&&!r||e&&!s))if(n){P(this,t,e,n);-1!==s.indexOf(n)&&(1===s.length?delete r.callbacks[e]:P(this,t,e,n))}else if(s){for(;n=s.pop();)P(this,t,e,n);delete r.callbacks[e]}else if(r){for(e in r.callbacks)this.stopListening(t,e);delete o[i]}else{for(i in o)this.stopListening(o[i].emitter);delete this[y]}}fire(t,...e){try{const n=t instanceof h?t:new h(this,t),o=n.name;let i=B(this,o);if(n.path.push(this),i){const t=[n,...e];i=Array.from(i);for(let e=0;e{this[E]||(this[E]=new Map),t.forEach((t=>{const o=this[E].get(t);o?o.set(e,n):this[E].set(t,new Map([[e,n]]))}))}}}stopDelegating(t,e){if(this[E])if(t)if(e){const n=this[E].get(t);n&&n.delete(e)}else this[E].delete(t);else this[E].clear()}_addEventListener(t,e,n){!function(t,e){const n=M(t);if(n[e])return;let o=e,i=null;const r=[];for(;""!==o&&!n[o];)n[o]={callbacks:[],childEvents:[]},r.push(n[o]),i&&n[o].childEvents.push(i),i=o,o=o.substr(0,o.lastIndexOf(":"));if(""!==o){for(const t of r)t.callbacks=n[o].callbacks.slice();n[o].childEvents.push(i)}}(this,t);const o=N(this,t),i={callback:e,priority:p.get(n.priority)};for(const t of o)f(t,i)}_removeEventListener(t,e){const n=N(this,t);for(const t of n)for(let n=0;n-1?B(t,e.substr(0,e.lastIndexOf(":"))):null}function z(t,e,n){for(let[o,i]of t){i?"function"==typeof i&&(i=i(e.name)):i=e.name;const t=new h(e.source,i);t.path=[...e.path],o.fire(t,...n)}}function P(t,e,n,o){e._removeEventListener?e._removeEventListener(n,o):t._removeEventListener.call(e,n,o)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{I[t]=D.prototype[t]}));const L=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},O=Symbol("observableProperties"),R=Symbol("boundObservables"),j=Symbol("boundProperties"),F=Symbol("decoratedMethods"),V=Symbol("decoratedOriginal"),H=U(I());function U(t){if(!t)return H;return class extends t{set(t,e){if(L(t))return void Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);G(this);const n=this[O];if(t in this&&!n.has(t))throw new k("observable-set-cannot-override",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(e){const o=n.get(t);let i=this.fire(`set:${t}`,t,e,o);void 0===i&&(i=e),o===i&&n.has(t)||(n.set(t,i),this.fire(`change:${t}`,t,i,o))}}),this[t]=e}bind(...t){if(!t.length||!$(t))throw new k("observable-bind-wrong-properties",this);if(new Set(t).size!==t.length)throw new k("observable-bind-duplicate-properties",this);G(this);const e=this[j];t.forEach((t=>{if(e.has(t))throw new k("observable-bind-rebind",this)}));const n=new Map;return t.forEach((t=>{const o={property:t,to:[]};e.set(t,o),n.set(t,o)})),{to:W,toMany:q,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[O])return;const e=this[j],n=this[R];if(t.length){if(!$(t))throw new k("observable-unbind-wrong-properties",this);t.forEach((t=>{const o=e.get(t);o&&(o.to.forEach((([t,e])=>{const i=n.get(t),r=i[e];r.delete(o),r.size||delete i[e],Object.keys(i).length||(n.delete(t),this.stopListening(t,"change"))})),e.delete(t))}))}else n.forEach(((t,e)=>{this.stopListening(e,"change")})),n.clear(),e.clear()}decorate(t){G(this);const e=this[t];if(!e)throw new k("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t});this.on(t,((t,n)=>{t.return=e.apply(this,n)})),this[t]=function(...e){return this.fire(t,e)},this[t][V]=e,this[F]||(this[F]=[]),this[F].push(t)}stopListening(t,e,n){if(!t&&this[F]){for(const t of this[F])this[t]=this[t][V];delete this[F]}super.stopListening(t,e,n)}}}function G(t){t[O]||(Object.defineProperty(t,O,{value:new Map}),Object.defineProperty(t,R,{value:new Map}),Object.defineProperty(t,j,{value:new Map}))}function W(...t){const e=function(...t){if(!t.length)throw new k("observable-bind-to-parse-error",null);const e={to:[]};let n;"function"==typeof t[t.length-1]&&(e.callback=t.pop());return t.forEach((t=>{if("string"==typeof t)n.properties.push(t);else{if("object"!=typeof t)throw new k("observable-bind-to-parse-error",null);n={observable:t,properties:[]},e.to.push(n)}})),e}(...t),n=Array.from(this._bindings.keys()),o=n.length;if(!e.callback&&e.to.length>1)throw new k("observable-bind-to-no-callback",this);if(o>1&&e.callback)throw new k("observable-bind-to-extra-callback",this);var i;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==o)throw new k("observable-bind-to-properties-length",this);t.properties.length||(t.properties=this._bindProperties)})),this._to=e.to,e.callback&&(this._bindings.get(n[0]).callback=e.callback),i=this._observable,this._to.forEach((t=>{const e=i[R];let n;e.get(t.observable)||i.listenTo(t.observable,"change",((o,r)=>{n=e.get(t.observable)[r],n&&n.forEach((t=>{Y(i,t.property)}))}))})),function(t){let e;t._bindings.forEach(((n,o)=>{t._to.forEach((i=>{e=i.properties[n.callback?0:t._bindProperties.indexOf(o)],n.to.push([i.observable,e]),function(t,e,n,o){const i=t[R],r=i.get(n),s=r||{};s[o]||(s[o]=new Set);s[o].add(e),r||i.set(n,s)}(t._observable,n,i.observable,e)}))}))}(this),this._bindProperties.forEach((t=>{Y(this._observable,t)}))}function q(t,e,n){if(this._bindings.size>1)throw new k("observable-bind-to-many-not-one-binding",this);this.to(...function(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}(t,e),n)}function $(t){return t.every((t=>"string"==typeof t))}function Y(t,e){const n=t[j].get(e);let o;n.callback?o=n.callback.apply(t,n.to.map((t=>t[0][t[1]]))):(o=n.to[0],o=o[0][o[1]]),Object.prototype.hasOwnProperty.call(t,e)?t[e]=o:t.set(e,o)}function K(t){let e=0;for(const n of t)e++;return e}function Q(t,e){const n=Math.min(t.length,e.length);for(let o=0;o{U[t]=H.prototype[t]}));const J="object"==typeof global&&global&&global.Object===Object&&global;var X="object"==typeof self&&self&&self.Object===Object&&self;const tt=J||X||Function("return this")();const et=tt.Symbol;var nt=Object.prototype,ot=nt.hasOwnProperty,it=nt.toString,rt=et?et.toStringTag:void 0;const st=function(t){var e=ot.call(t,rt),n=t[rt];try{t[rt]=void 0;var o=!0}catch(t){}var i=it.call(t);return o&&(e?t[rt]=n:delete t[rt]),i};var at=Object.prototype.toString;const ct=function(t){return at.call(t)};var lt=et?et.toStringTag:void 0;const dt=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":lt&< in Object(t)?st(t):ct(t)};const ut=Array.isArray;const ht=function(t){return null!=t&&"object"==typeof t};const gt=function(t){return"string"==typeof t||!ut(t)&&ht(t)&&"[object String]"==dt(t)};function mt(t,e,n={},o=[]){const i=n&&n.xmlns,r=i?t.createElementNS(i,e):t.createElement(e);for(const t in n)r.setAttribute(t,n[t]);!gt(o)&&Z(o)||(o=[o]);for(let e of o)gt(e)&&(e=t.createTextNode(e)),r.appendChild(e);return r}const pt=function(t,e){return function(n){return t(e(n))}};const ft=pt(Object.getPrototypeOf,Object);var kt=Function.prototype,bt=Object.prototype,wt=kt.toString,At=bt.hasOwnProperty,_t=wt.call(Object);const Ct=function(t){if(!ht(t)||"[object Object]"!=dt(t))return!1;var e=ft(t);if(null===e)return!0;var n=At.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&wt.call(n)==_t};const vt=function(){this.__data__=[],this.size=0};const yt=function(t,e){return t===e||t!=t&&e!=e};const xt=function(t,e){for(var n=t.length;n--;)if(yt(t[n][0],e))return n;return-1};var Et=Array.prototype.splice;const Dt=function(t){var e=this.__data__,n=xt(e,t);return!(n<0)&&(n==e.length-1?e.pop():Et.call(e,n,1),--this.size,!0)};const It=function(t){var e=this.__data__,n=xt(e,t);return n<0?void 0:e[n][1]};const Tt=function(t){return xt(this.__data__,t)>-1};const St=function(t,e){var n=this.__data__,o=xt(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this};function Mt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991};var Ve={};Ve["[object Float32Array]"]=Ve["[object Float64Array]"]=Ve["[object Int8Array]"]=Ve["[object Int16Array]"]=Ve["[object Int32Array]"]=Ve["[object Uint8Array]"]=Ve["[object Uint8ClampedArray]"]=Ve["[object Uint16Array]"]=Ve["[object Uint32Array]"]=!0,Ve["[object Arguments]"]=Ve["[object Array]"]=Ve["[object ArrayBuffer]"]=Ve["[object Boolean]"]=Ve["[object DataView]"]=Ve["[object Date]"]=Ve["[object Error]"]=Ve["[object Function]"]=Ve["[object Map]"]=Ve["[object Number]"]=Ve["[object Object]"]=Ve["[object RegExp]"]=Ve["[object Set]"]=Ve["[object String]"]=Ve["[object WeakMap]"]=!1;const He=function(t){return ht(t)&&Fe(t.length)&&!!Ve[dt(t)]};const Ue=function(t){return function(e){return t(e)}};var Ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,We=Ge&&"object"==typeof module&&module&&!module.nodeType&&module,qe=We&&We.exports===Ge&&J.process;const $e=function(){try{var t=We&&We.require&&We.require("util").types;return t||qe&&qe.binding&&qe.binding("util")}catch(t){}}();var Ye=$e&&$e.isTypedArray;const Ke=Ye?Ue(Ye):He;var Qe=Object.prototype.hasOwnProperty;const Ze=function(t,e){var n=ut(t),o=!n&&Ne(t),i=!n&&!o&&Oe(t),r=!n&&!o&&!i&&Ke(t),s=n||o||i||r,a=s?De(t.length,String):[],c=a.length;for(var l in t)!e&&!Qe.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||r&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||je(l,c))||a.push(l);return a};var Je=Object.prototype;const Xe=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Je)};const tn=pt(Object.keys,Object);var en=Object.prototype.hasOwnProperty;const nn=function(t){if(!Xe(t))return tn(t);var e=[];for(var n in Object(t))en.call(t,n)&&"constructor"!=n&&e.push(n);return e};const on=function(t){return null!=t&&Fe(t.length)&&!Ot(t)};const rn=function(t){return on(t)?Ze(t):nn(t)};const sn=function(t,e){return t&&Ee(e,rn(e),t)};const an=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var cn=Object.prototype.hasOwnProperty;const ln=function(t){if(!L(t))return an(t);var e=Xe(t),n=[];for(var o in t)("constructor"!=o||!e&&cn.call(t,o))&&n.push(o);return n};const dn=function(t){return on(t)?Ze(t,!0):ln(t)};const un=function(t,e){return t&&Ee(e,dn(e),t)};var hn="object"==typeof exports&&exports&&!exports.nodeType&&exports,gn=hn&&"object"==typeof module&&module&&!module.nodeType&&module,mn=gn&&gn.exports===hn?tt.Buffer:void 0,pn=mn?mn.allocUnsafe:void 0;const fn=function(t,e){if(e)return t.slice();var n=t.length,o=pn?pn(n):new t.constructor(n);return t.copy(o),o};const kn=function(t,e){var n=-1,o=t.length;for(e||(e=Array(o));++n{this._setToTarget(t,o,e[o],n)}))}}function Co(t){return wo(t,vo)}function vo(t){return Ao(t)?t:void 0}function yo(t){if(t){if(t.defaultView)return t instanceof t.defaultView.Document;if(t.ownerDocument&&t.ownerDocument.defaultView)return t instanceof t.ownerDocument.defaultView.Node}return!1}function xo(t){const e=Object.prototype.toString.apply(t);return"[object Window]"==e||"[object global]"==e}const Eo=Do(I());function Do(t){if(!t)return Eo;return class extends t{listenTo(t,e,n,o={}){if(yo(t)||xo(t)){const i={capture:!!o.useCapture,passive:!!o.usePassive},r=this._getProxyEmitter(t,i)||new Io(t,i);this.listenTo(r,e,n,o)}else super.listenTo(t,e,n,o)}stopListening(t,e,n){if(yo(t)||xo(t)){const o=this._getAllProxyEmitters(t);for(const t of o)this.stopListening(t,e,n)}else super.stopListening(t,e,n)}_getProxyEmitter(t,e){return function(t,e){const n=t[y];return n&&n[e]?n[e].emitter:null}(this,To(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{Do[t]=Eo.prototype[t]}));class Io extends(I()){constructor(t,e){super(),T(this,To(t,e)),this._domNode=t,this._options=e}attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),I().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){I().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function To(t,e){let n=function(t){return t["data-ck-expando"]||(t["data-ck-expando"]=m())}(t);for(const t of Object.keys(e).sort())e[t]&&(n+="-"+t);return n}let So;try{So={window,document}}catch(t){So={window:{},document:{}}}const Mo=So;function No(t){const e=[];let n=t;for(;n&&n.nodeType!=Node.DOCUMENT_NODE;)e.unshift(n),n=n.parentNode;return e}function Bo(t){return"[object Text]"==Object.prototype.toString.call(t)}function zo(t){return"[object Range]"==Object.prototype.toString.apply(t)}function Po(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 Lo=["top","right","bottom","left","width","height"];class Oo{constructor(t){const e=zo(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),Fo(t)||e)if(e){const e=Oo.getDomRangeRects(t);Ro(this,Oo.getBoundingRect(e))}else Ro(this,t.getBoundingClientRect());else if(xo(t)){const{innerWidth:e,innerHeight:n}=t;Ro(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else Ro(this,t)}clone(){return new Oo(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,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),width:0,height:0};return e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0?null:new Oo(e)}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!jo(t)){let n=t.parentNode||t.commonAncestorContainer;for(;n&&!jo(n);){const t=new Oo(n),o=e.getIntersection(t);if(!o)return null;o.getArea(){for(const e of t){const t=Vo._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}function Ho(t,e){t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}function Uo(t){return e=>e+t}function Go(t){let e=0;for(;t.previousSibling;)t=t.previousSibling,e++;return e}function Wo(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function qo(t){return t&&t.nodeType===Node.COMMENT_NODE}function $o(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}function Yo({element:t,target:e,positions:n,limiter:o,fitInViewport:i,viewportOffsetConfig:r}){Ot(e)&&(e=e()),Ot(o)&&(o=o());const s=function(t){return t&&t.parentNode?t.offsetParent===Mo.document.body?null:t.offsetParent:null}(t),a=new Oo(t),c=new Oo(e);let l;const d=i&&function(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new Oo(Mo.window);return e.top+=t.top,e.height-=t.top,e.bottom-=t.bottom,e.height-=t.bottom,e}(r)||null,u={targetRect:c,elementRect:a,positionedElementAncestor:s,viewportRect:d};if(o||i){const t=o&&new Oo(o).getVisible();Object.assign(u,{limiterRect:t,viewportRect:d}),l=function(t,e){const{elementRect:n}=e,o=n.getArea(),i=t.map((t=>new Qo(t,e))).filter((t=>!!t.name));let r=0,s=null;for(const t of i){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===o)return t;const i=n**2+e**2;i>r&&(r=i,s=t)}return s}(n,u)||new Qo(n[0],u)}else l=new Qo(n[0],u);return l}function Ko(t){const{scrollX:e,scrollY:n}=Mo.window;return t.clone().moveBy(e,n)}Vo._observerInstance=null,Vo._elementCallbacks=null;class Qo{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect);if(!n)return;const{left:o,top:i,name:r,config:s}=n;this.name=r,this.config=s,this._positioningFunctionCorrdinates={left:o,top:i},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;if(t){const e=this._options.viewportRect;if(!e)return t.getIntersectionArea(this._rect);{const n=t.getIntersection(e);if(n)return n.getIntersectionArea(this._rect)}}return 0}get viewportIntersectionArea(){const t=this._options.viewportRect;return t?t.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=Ko(this._rect),this._options.positionedElementAncestor&&function(t,e){const n=Ko(new Oo(e)),o=Po(e);let i=0,r=0;i-=n.left,r-=n.top,i+=e.scrollLeft,r+=e.scrollTop,i-=o.left,r-=o.top,t.moveBy(i,r)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}function Zo(t){const e=t.parentNode;e&&e.removeChild(t)}function Jo(t,e,n){const o=e.clone().moveBy(0,n),i=e.clone().moveBy(0,-n),r=new Oo(t).excludeScrollbarsAndBorders();if(![i,o].every((t=>r.contains(t)))){let{scrollX:s,scrollY:a}=t;ei(i,r)?a-=r.top-e.top+n:ti(o,r)&&(a+=e.bottom-r.bottom+n),ni(e,r)?s-=r.left-e.left+n:oi(e,r)&&(s+=e.right-r.right+n),t.scrollTo(s,a)}}function Xo(t,e){const n=ii(t);let o,i;for(;t!=n.document.body;)i=e(),o=new Oo(t).excludeScrollbarsAndBorders(),o.contains(i)||(ei(i,o)?t.scrollTop-=o.top-i.top:ti(i,o)&&(t.scrollTop+=i.bottom-o.bottom),ni(i,o)?t.scrollLeft-=o.left-i.left:oi(i,o)&&(t.scrollLeft+=i.right-o.right)),t=t.parentNode}function ti(t,e){return t.bottom>e.bottom}function ei(t,e){return t.tope.right}function ii(t){return zo(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function ri(t){if(zo(t)){let e=t.commonAncestorContainer;return Bo(e)&&(e=e.parentNode),e}return t.parentNode}function si(t,e){const n=ii(t),o=new Oo(t);if(n===e)return o;{let t=n;for(;t!=e;){const e=t.frameElement,n=new Oo(e).excludeScrollbarsAndBorders();o.moveBy(n.left,n.top),t=t.parent}}return o}const ai={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},ci={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},li=function(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){t[String.fromCharCode(e).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;for(const e of"`-=[];',./\\")t[e]=e.charCodeAt(0);return t}(),di=Object.fromEntries(Object.entries(li).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function ui(t){let e;if("string"==typeof t){if(e=li[t.toLowerCase()],!e)throw new k("keyboard-unknown-key",null,{key:t})}else e=t.keyCode+(t.altKey?li.alt:0)+(t.ctrlKey?li.ctrl:0)+(t.shiftKey?li.shift:0)+(t.metaKey?li.cmd:0);return e}function hi(t){return"string"==typeof t&&(t=function(t){return t.split("+").map((t=>t.trim()))}(t)),t.map((t=>"string"==typeof t?function(t){if(t.endsWith("!"))return ui(t.slice(0,-1));const e=ui(t);return i.isMac&&e==li.ctrl?li.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function gi(t){let e=hi(t);return Object.entries(i.isMac?ai:ci).reduce(((t,[n,o])=>(0!=(e&li[n])&&(e&=~li[n],t+=o),t)),"")+(e?di[e]:"")}function mi(t,e){const n="ltr"===e;switch(t){case li.arrowleft:return n?"left":"right";case li.arrowright:return n?"right":"left";case li.arrowup:return"up";case li.arrowdown:return"down"}}function pi(t){return Array.isArray(t)?t:[t]}function fi(t,e,n=1){if("number"!=typeof n)throw new k("translation-service-quantity-not-a-number",null,{quantity:n});const o=Object.keys(Mo.window.CKEDITOR_TRANSLATIONS).length;1===o&&(t=Object.keys(Mo.window.CKEDITOR_TRANSLATIONS)[0]);const i=e.id||e.string;if(0===o||!function(t,e){return!!Mo.window.CKEDITOR_TRANSLATIONS[t]&&!!Mo.window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}(t,i))return 1!==n?e.plural:e.string;const r=Mo.window.CKEDITOR_TRANSLATIONS[t].dictionary,s=Mo.window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>1===t?0:1),a=r[i];if("string"==typeof a)return a;return a[Number(s(n))]}Mo.window.CKEDITOR_TRANSLATIONS||(Mo.window.CKEDITOR_TRANSLATIONS={});const ki=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function bi(t){return ki.includes(t)?"rtl":"ltr"}class wi{constructor({uiLanguage:t="en",contentLanguage:e}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=bi(this.uiLanguage),this.contentLanguageDirection=bi(this.contentLanguage),this.t=(t,e)=>this._t(t,e)}get language(){return 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."),this.uiLanguage}_t(t,e=[]){e=pi(e),"string"==typeof t&&(t={string:t});const n=!!t.plural?e[0]:1;return function(t,e){return t.replace(/%(\d+)/g,((t,n)=>nthis._items.length||e<0)throw new k("collection-add-item-invalid-index",this);let n=0;for(const o of t){const t=this._getItemIdBeforeAdding(o),i=e+n;this._items.splice(i,0,o),this._itemMap.set(t,o),this.fire("add",o,i),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if("string"==typeof t)e=this._itemMap.get(t);else{if("number"!=typeof t)throw new k("collection-get-invalid-arg",this);e=this._items[t]}return e||null}has(t){if("string"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e="string"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}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(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new k("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{"function"==typeof t?this._setUpBindToBinding(t):this._setUpBindToBinding((e=>e[t]))}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(n,o,i)=>{const r=e._bindToCollection==this,s=e._bindToInternalToExternalMap.get(o);if(r&&s)this._bindToExternalToInternalMap.set(o,s),this._bindToInternalToExternalMap.set(s,o);else{const n=t(o);if(!n)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const t of this._skippedIndexesFromExternal)i>t&&r--;for(const t of e._skippedIndexesFromExternal)r>=t&&r++;this._bindToExternalToInternalMap.set(o,n),this._bindToInternalToExternalMap.set(n,o),this.add(n,r);for(let t=0;t{const o=this._bindToExternalToInternalMap.get(e);o&&this.remove(o),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>(ne&&t.push(e),t)),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],"string"!=typeof n)throw new k("collection-add-invalid-id",this);if(this.get(n))throw new k("collection-add-item-already-exists",this)}else t[e]=n=m();return n}_remove(t){let e,n,o,i=!1;const r=this._idProperty;if("string"==typeof t?(n=t,o=this._itemMap.get(n),i=!o,o&&(e=this._items.indexOf(o))):"number"==typeof t?(e=t,o=this._items[e],i=!o,o&&(n=o[r])):(o=t,n=o[r],e=this._items.indexOf(o),i=-1==e||!this._itemMap.get(n)),i)throw new k("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(o);return this._bindToInternalToExternalMap.delete(o),this._bindToExternalToInternalMap.delete(s),this.fire("remove",o,e),[o,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function _i(t){const e=t.next();return e.done?null:e.value}class Ci extends(Do(U())){constructor(){super(),this._elements=new Set,this._nextEventLoopTimeout=null,this.set("isFocused",!1),this.set("focusedElement",null)}add(t){if(this._elements.has(t))throw new k("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:!0}),this.listenTo(t,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}class vi{constructor(){this._listener=new(Do())}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+ui(e),e)}))}set(t,e,n={}){const o=hi(t),i=n.priority;this._listener.listenTo(this._listener,"_keydown:"+o,((t,n)=>{e(n,(()=>{n.preventDefault(),n.stopPropagation(),t.stop()})),t.return=!0}),{priority:i})}press(t){return!!this._listener.fire("_keydown:"+ui(t),t)}destroy(){this._listener.stopListening()}}function yi(t){return Z(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}function xi(t,e){return!!(n=t.charAt(e-1))&&1==n.length&&/[\ud800-\udbff]/.test(n)&&function(t){return!!t&&1==t.length&&/[\udc00-\udfff]/.test(t)}(t.charAt(e));var n}function Ei(t,e){return!!(n=t.charAt(e))&&1==n.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(n);var n}const Di=function(){const t=/\p{Regional_Indicator}{2}/u.source,e="(?:"+[/\p{Emoji}[\u{E0020}-\u{E007E}]+\u{E007F}/u,/\p{Emoji}\u{FE0F}?\u{20E3}/u,/\p{Emoji}\u{FE0F}/u,/(?=\p{General_Category=Other_Symbol})\p{Emoji}\p{Emoji_Modifier}*/u].map((t=>t.source)).join("|")+")";return new RegExp(`${t}|${e}(?:‍${e})*`,"ug")}();function Ii(t,e){const n=String(t).matchAll(Di);return Array.from(n).some((t=>t.index{this.refresh()})),this.on("execute",(t=>{this.isEnabled||t.stop()}),{priority:"high"}),this.listenTo(t,"change:isReadOnly",((t,e,n)=>{n&&this.affectsData?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}))}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on("set:isEnabled",Ni,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off("set:isEnabled",Ni),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Ni(t){t.return=!1,t.stop()}class Bi extends Mi{constructor(t){super(t),this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){f(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"}),t.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class zi extends(I()){constructor(t,e=[],n=[]){super(),this._context=t,this._plugins=new Map,this._availablePlugins=new Map;for(const t of e)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),t.pluginName&&this._availablePlugins.set(t.pluginName,t)}*[Symbol.iterator](){for(const t of this._plugins)"function"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let e=t;throw"function"==typeof t&&(e=t.pluginName||t.name),new k("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const o=this,i=this._context;!function t(e,n=new Set){e.forEach((e=>{a(e)&&(n.has(e)||(n.add(e),e.pluginName&&!o._availablePlugins.has(e.pluginName)&&o._availablePlugins.set(e.pluginName,e),e.requires&&t(e.requires,n)))}))}(t),u(t);const r=[...function t(e,n=new Set){return e.map((t=>a(t)?t:o._availablePlugins.get(t))).reduce(((e,o)=>n.has(o)?e:(n.add(o),o.requires&&(u(o.requires,o),t(o.requires,n).forEach((t=>e.add(t)))),e.add(o))),new Set)}(t.filter((t=>!l(t,e))))];!function(t,e){for(const n of e){if("function"!=typeof n)throw new k("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n});const e=n.pluginName;if(!e)throw new k("plugincollection-replace-plugin-missing-name",null,{pluginItem:n});if(n.requires&&n.requires.length)throw new k("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e});const i=o._availablePlugins.get(e);if(!i)throw new k("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e});const r=t.indexOf(i);if(-1===r){if(o._contextPlugins.has(i))return;throw new k("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(i.requires&&i.requires.length)throw new k("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e});t.splice(r,1,n),o._availablePlugins.set(e,n)}}(r,n);const s=function(t){return t.map((t=>{let e=o._contextPlugins.get(t);return e=e||new t(i),o._add(t,e),e}))}(r);return h(s,"init").then((()=>h(s,"afterInit"))).then((()=>s));function a(t){return"function"==typeof t}function c(t){return a(t)&&t.isContextPlugin}function l(t,e){return e.some((e=>e===t||(d(t)===e||d(e)===t)))}function d(t){return a(t)?t.pluginName||t.name:t}function u(t,n=null){t.map((t=>a(t)?t:o._availablePlugins.get(t)||t)).forEach((t=>{!function(t,e){if(a(t))return;if(e)throw new k("plugincollection-soft-required",i,{missingPlugin:t,requiredBy:d(e)});throw new k("plugincollection-plugin-not-found",i,{plugin:t})}(t,n),function(t,e){if(!c(e))return;if(c(t))return;throw new k("plugincollection-context-required",i,{plugin:d(t),requiredBy:d(e)})}(t,n),function(t,n){if(!n)return;if(!l(t,e))return;throw new k("plugincollection-required",i,{plugin:d(t),requiredBy:d(n)})}(t,n)}))}function h(t,e){return t.reduce(((t,n)=>n[e]?o._contextPlugins.has(n)?t:t.then(n[e].bind(n)):t),Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)"function"!=typeof e.destroy||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){if(this._plugins.has(n))throw new k("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class Pi{constructor(t){this.config=new _o(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e),this.plugins=new zi(this,e);const n=this.config.get("language")||{};this.locale=new wi({uiLanguage:"string"==typeof n?n:n.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new Ai,this._contextOwner=null}initPlugins(){const t=this.config.get("plugins")||[],e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if("function"!=typeof n)throw new k("context-initplugins-constructor-only",null,{Plugin:n});if(!0!==n.isContextPlugin)throw new k("context-initplugins-invalid-plugin",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner)throw new k("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["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)))}))}}class Li extends(U()){constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}var Oi=n(6062),Ri=n.n(Oi),ji=n(4717),Fi={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(ji.Z,Fi);ji.Z.locals;const Vi=new WeakMap;function Hi(t){const{view:e,element:n,text:o,isDirectHost:i=!0,keepOnFocus:r=!1}=t,s=e.document;Vi.has(s)||(Vi.set(s,new Map),s.registerPostFixer((t=>Gi(s,t))),s.on("change:isComposing",(()=>{e.change((t=>Gi(s,t)))}),{priority:"high"})),Vi.get(s).set(n,{text:o,isDirectHost:i,keepOnFocus:r,hostElement:i?n:null}),e.change((t=>Gi(s,t)))}function Ui(t,e){return!!e.hasClass("ck-placeholder")&&(t.removeClass("ck-placeholder",e),!0)}function Gi(t,e){const n=Vi.get(t),o=[];let i=!1;for(const[t,r]of n)r.isDirectHost&&(o.push(t),Wi(e,t,r)&&(i=!0));for(const[t,r]of n){if(r.isDirectHost)continue;const n=qi(t);n&&(o.includes(n)||(r.hostElement=n,Wi(e,t,r)&&(i=!0)))}return i}function Wi(t,e,n){const{text:o,isDirectHost:i,hostElement:r}=n;let s=!1;r.getAttribute("data-placeholder")!==o&&(t.setAttribute("data-placeholder",o,r),s=!0);return(i||1==e.childCount)&&function(t,e){if(!t.isAttached())return!1;const n=Array.from(t.getChildren()).some((t=>!t.is("uiElement")));if(n)return!1;const o=t.document,i=o.selection.anchor;return!(o.isComposing&&i&&i.parent===t||!e&&o.isFocused&&(!i||i.parent===t))}(r,n.keepOnFocus)?function(t,e){return!e.hasClass("ck-placeholder")&&(t.addClass("ck-placeholder",e),!0)}(t,r)&&(s=!0):Ui(t,r)&&(s=!0),s}function qi(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")&&!e.is("attributeElement"))return e}return null}class $i{is(){throw new Error("is() method is abstract")}}const Yi=function(t){return bo(t,4)};class Ki extends(I($i)){constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if(-1==(t=this.parent.getChildIndex(this)))throw new k("view-node-not-found-in-parent",this);return t}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),o=t.getAncestors(e);let i=0;for(;n[i]==o[i]&&n[i];)i++;return 0===i?null:n[i-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),o=Q(e,n);switch(o){case"prefix":return!0;case"extension":return!1;default:return e[o]t.data.length)throw new k("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new k("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}Zi.prototype.is=function(t){return"$textProxy"===t||"view:$textProxy"===t||"textProxy"===t||"view:textProxy"===t};class Ji{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)("string"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const t of this._patterns){const n=Xi(e,t);if(n)return{element:e,pattern:t,match:n}}return null}matchAll(...t){const e=[];for(const n of t)for(const t of this._patterns){const o=Xi(n,t);o&&e.push({element:n,pattern:t,match:o})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return"function"==typeof t||!e||e instanceof RegExp?null:e}}function Xi(t,e){if("function"==typeof e)return e(t);const n={};return e.name&&(n.name=function(t,e){if(t instanceof RegExp)return!!e.match(t);return t===e}(e.name,t.name),!n.name)||e.attributes&&(n.attributes=function(t,e){const n=new Set(e.getAttributeKeys());Ct(t)?(void 0!==t.style&&b("matcher-pattern-deprecated-attributes-style-key",t),void 0!==t.class&&b("matcher-pattern-deprecated-attributes-class-key",t)):(n.delete("style"),n.delete("class"));return tr(t,n,(t=>e.getAttribute(t)))}(e.attributes,t),!n.attributes)||e.classes&&(n.classes=function(t,e){return tr(t,e.getClassNames(),(()=>{}))}(e.classes,t),!n.classes)||e.styles&&(n.styles=function(t,e){return tr(t,e.getStyleNames(!0),(t=>e.getStyle(t)))}(e.styles,t),!n.styles)?null:n}function tr(t,e,n){const o=function(t){if(Array.isArray(t))return t.map((t=>Ct(t)?(void 0!==t.key&&void 0!==t.value||b("matcher-pattern-missing-key-or-value",t),[t.key,t.value]):[t,!0]));if(Ct(t))return Object.entries(t);return[[t,!0]]}(t),i=Array.from(e),r=[];if(o.forEach((([t,e])=>{i.forEach((o=>{(function(t,e){return!0===t||t===e||t instanceof RegExp&&e.match(t)})(t,o)&&function(t,e,n){if(!0===t)return!0;const o=n(e);return t===o||t instanceof RegExp&&!!String(o).match(t)}(e,o,n)&&r.push(o)}))})),o.length&&!(r.lengthi?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}};const Fr=jr(Or);const Vr=function(t,e){return Fr(Pr(t,e,Nr),t+"")};const Hr=function(t,e,n){if(!L(n))return!1;var o=typeof e;return!!("number"==o?on(n)&&je(e,n.length):"string"==o&&e in n)&&yt(n[e],t)};const Ur=function(t){return Vr((function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(r=t.length>3&&"function"==typeof r?(i--,r):void 0,s&&Hr(n[0],n[1],s)&&(r=i<3?void 0:r,i=1),e=Object(e);++oe===t));return Array.isArray(e)}set(t,e){if(L(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=Kr(t);vr(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!L(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find((([e])=>e===t));return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){if(this.isEmpty)return[];if(t)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[],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(".");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join("."),o=yr(this._styles,n);if(!o)return;!Array.from(Object.keys(o)).length&&this.remove(n)}}class Yr{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(L(e))Qr(n,Kr(t),e);else if(this._normalizers.has(t)){const o=this._normalizers.get(t),{path:i,value:r}=o(e);Qr(n,i,r)}else Qr(n,t,e)}getNormalized(t,e){if(!t)return Gr({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if("string"==typeof n)return yr(e,n);const o=n(t,e);if(o)return o}return yr(e,Kr(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(void 0===n)return[];if(this._reducers.has(t)){return this._reducers.get(t)(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);return n&&"object"==typeof n?Object.keys(n).length:n})),n=new Set([...e,...Object.keys(t)]);return Array.from(n.values())}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){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function Kr(t){return t.replace("-",".")}function Qr(t,e,n){let o=n;L(n)&&(o=Gr({},yr(t,e),n)),qr(t,e,o)}class Zr extends Ki{constructor(t,e,n,o){if(super(t),this.name=e,this._attrs=function(t){const e=yi(t);for(const[t,n]of e)null===n?e.delete(t):"string"!=typeof n&&e.set(t,String(n));return e}(n),this._children=[],o&&this._insertChild(0,o),this._classes=new Set,this._attrs.has("class")){const t=this._attrs.get("class");Jr(this._classes,t),this._attrs.delete("class")}this._styles=new $r(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style")),this._customProperties=new Map,this._unsafeAttributesToRender=[]}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(t){if("class"==t)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==t){const t=this._styles.toString();return""==t?void 0:t}return this._attrs.get(t)}hasAttribute(t){return"class"==t?this._classes.size>0:"style"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Zr))return!1;if(this===t)return!0;if(this.name!=t.name)return!1;if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new Ji(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){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(","),e=this._styles.toString(),n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(""==t?"":` class="${t}"`)+(e?` style="${e}"`:"")+(""==n?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){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);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const o=function(t,e){if("string"==typeof e)return[new Qi(t,e)];Z(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new Qi(t,e):e instanceof Zi?new Qi(t,e.data):e))}(this.document,e);for(const e of o)null!==e.parent&&e._remove(),e.parent=this,e.document=this.document,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0&&(this._classes.clear(),!0):"style"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of pi(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of pi(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),Ct(t)?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of pi(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function Jr(t,e){const n=e.split(/\s+/);t.clear(),n.forEach((e=>t.add(e)))}Zr.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"view:element"===t):"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Xr extends Zr{constructor(...t){super(...t),this.getFillerOffset=ts}}function ts(){const t=[...this.getChildren()],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}Xr.prototype.is=function(t,e){return e?e===this.name&&("containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class es extends(U(Xr)){constructor(...t){super(...t);const e=t[0];this.set("isReadOnly",!1),this.set("isFocused",!1),this.bind("isReadOnly").to(e),this.bind("isFocused").to(e,"isFocused",(t=>t&&e.selection.editableElement==this)),this.listenTo(e.selection,"change",(()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this}))}destroy(){this.stopListening()}}es.prototype.is=function(t,e){return e?e===this.name&&("editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};const ns=Symbol("rootName");class os extends es{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(ns)}set rootName(t){this._setCustomProperty(ns,t)}set _name(t){this.name=t}}os.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t):"rootElement"===t||"view:rootElement"===t||"editableElement"===t||"view:editableElement"===t||"containerElement"===t||"view:containerElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class is{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new k("view-tree-walker-no-start-position",null);if(t.direction&&"forward"!=t.direction&&"backward"!=t.direction)throw new k("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this.position=rs._createAt(t.startPosition):this.position=rs._createAt(t.boundaries["backward"==t.direction?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,o;do{o=this.position,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this.position=o)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let o;if(n instanceof Qi){if(t.isAtEnd)return this.position=rs._createAfter(n),this._next();o=n.data[t.offset]}else o=n.getChild(t.offset);if(o instanceof Zr)return this.shallow?t.offset++:t=new rs(o,0),this.position=t,this._formatReturnValue("elementStart",o,e,t,1);if(o instanceof Qi){if(this.singleCharacters)return t=new rs(o,0),this.position=t,this._next();{let n,i=o.data.length;return o==this._boundaryEndParent?(i=this.boundaries.end.offset,n=new Zi(o,0,i),t=rs._createAfter(n)):(n=new Zi(o,0,o.data.length),t.offset++),this.position=t,this._formatReturnValue("text",n,e,t,i)}}if("string"==typeof o){let o;if(this.singleCharacters)o=1;else{o=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset}const i=new Zi(n,t.offset,o);return t.offset+=o,this.position=t,this._formatReturnValue("text",i,e,t,o)}return t=rs._createAfter(n),this.position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let o;if(n instanceof Qi){if(t.isAtStart)return this.position=rs._createBefore(n),this._previous();o=n.data[t.offset-1]}else o=n.getChild(t.offset-1);if(o instanceof Zr)return this.shallow?(t.offset--,this.position=t,this._formatReturnValue("elementStart",o,e,t,1)):(t=new rs(o,o.childCount),this.position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",o,e,t));if(o instanceof Qi){if(this.singleCharacters)return t=new rs(o,o.data.length),this.position=t,this._previous();{let n,i=o.data.length;if(o==this._boundaryStartParent){const e=this.boundaries.start.offset;n=new Zi(o,e,o.data.length-e),i=n.data.length,t=rs._createBefore(n)}else n=new Zi(o,0,o.data.length),t.offset--;return this.position=t,this._formatReturnValue("text",n,e,t,i)}}if("string"==typeof o){let o;if(this.singleCharacters)o=1;else{const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;o=t.offset-e}t.offset-=o;const i=new Zi(n,t.offset,o);return this.position=t,this._formatReturnValue("text",i,e,t,o)}return t=rs._createBefore(n),this.position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,o,i){return e instanceof Zi&&(e.offsetInText+e.data.length==e.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=rs._createAfter(e.textNode):(o=rs._createAfter(e.textNode),this.position=o)),0===e.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=rs._createBefore(e.textNode):(o=rs._createBefore(e.textNode),this.position=o))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}}class rs extends $i{constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}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;for(;!(t instanceof es);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=rs._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new is(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let o=0;for(;e[o]==n[o]&&e[o];)o++;return 0===o?null:e[o-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return"before"==this.compareWith(t)}isAfter(t){return"after"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const o=Q(e,n);switch(o){case"prefix":return"before";case"extension":return"after";default:return e[o]0?new this(n,o):new this(o,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(rs._createBefore(t),e)}}function as(t){return!(!t.item.is("attributeElement")&&!t.item.is("uiElement"))}ss.prototype.is=function(t){return"range"===t||"view:range"===t};class cs extends(I($i)){constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}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];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)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!1;if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel)return!1;if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const o of t._ranges)if(e.isEqual(o)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=K(this.getRanges());if(e!=K(t.getRanges()))return!1;if(0==e)return!0;for(let e of this.getRanges()){e=e.getTrimmed();let n=!1;for(let o of t.getRanges())if(o=o.getTrimmed(),e.start.isEqual(o.start)&&e.end.isEqual(o.end)){n=!0;break}if(!n)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,o]=t;if("object"==typeof n&&(o=n,n=void 0),null===e)this._setRanges([]),this._setFakeOptions(o);else if(e instanceof cs||e instanceof ls)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof ss)this._setRanges([e],o&&o.backward),this._setFakeOptions(o);else if(e instanceof rs)this._setRanges([new ss(e)]),this._setFakeOptions(o);else if(e instanceof Ki){const t=!!o&&!!o.backward;let i;if(void 0===n)throw new k("view-selection-setto-required-second-parameter",this);i="in"==n?ss._createIn(e):"on"==n?ss._createOn(e):new ss(rs._createAt(e,n)),this._setRanges([i],t),this._setFakeOptions(o)}else{if(!Z(e))throw new k("view-selection-setto-not-selectable",this);this._setRanges(e,o&&o.backward),this._setFakeOptions(o)}this.fire("change")}setFocus(t,e){if(null===this.anchor)throw new k("view-selection-setfocus-no-ranges",this);const n=rs._createAt(t,e);if("same"==n.compareWith(this.focus))return;const o=this.anchor;this._ranges.pop(),"before"==n.compareWith(o)?this._addRange(new ss(n,o),!0):this._addRange(new ss(o,n)),this.fire("change")}_setRanges(t,e=!1){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=!1){if(!(t instanceof ss))throw new k("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new k("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new ss(t.start,t.end))}}cs.prototype.is=function(t){return"selection"===t||"view:selection"===t};class ls extends(I($i)){constructor(...t){super(),this._selection=new cs,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}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)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}ls.prototype.is=function(t){return"selection"===t||"documentSelection"==t||"view:selection"==t||"view:documentSelection"==t};class ds extends h{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const us=Symbol("bubbling contexts");function hs(t){return class extends t{fire(t,...e){try{const n=t instanceof h?t:new h(this,t),o=fs(this);if(!o.size)return;if(gs(n,"capturing",this),ms(o,"$capture",n,...e))return n.return;const i=n.startRange||this.selection.getFirstRange(),r=i?i.getContainedElement():null,s=!!r&&Boolean(ps(o,r));let a=r||function(t){if(!t)return null;const e=t.start.parent,n=t.end.parent,o=e.getPath(),i=n.getPath();return o.length>i.length?e:n}(i);if(gs(n,"atTarget",a),!s){if(ms(o,"$text",n,...e))return n.return;gs(n,"bubbling",a)}for(;a;){if(a.is("rootElement")){if(ms(o,"$root",n,...e))return n.return}else if(a.is("element")&&ms(o,a.name,n,...e))return n.return;if(ms(o,a,n,...e))return n.return;a=a.parent,gs(n,"bubbling",a)}return gs(n,"bubbling",this),ms(o,"$document",n,...e),n.return}catch(t){k.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const o=pi(n.context||"$document"),i=fs(this);for(const r of o){let o=i.get(r);o||(o=new(I()),i.set(r,o)),this.listenTo(o,t,e,n)}}_removeEventListener(t,e){const n=fs(this);for(const o of n.values())this.stopListening(o,t,e)}}}{const t=hs(Object);["fire","_addEventListener","_removeEventListener"].forEach((e=>{hs[e]=t.prototype[e]}))}function gs(t,e,n){t instanceof ds&&(t._eventPhase=e,t._currentTarget=n)}function ms(t,e,n,...o){const i="string"==typeof e?t.get(e):ps(t,e);return!!i&&(i.fire(n,...o),n.stop.called)}function ps(t,e){for(const[n,o]of t)if("function"==typeof n&&n(e))return o;return null}function fs(t){return t[us]||(t[us]=new Map),t[us]}class ks extends(hs(U())){constructor(t){super(),this.selection=new ls,this.roots=new Ai({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("_isFocusChanging",!1),this.set("isSelecting",!1),this.set("isComposing",!1),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=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}class bs extends Zr{constructor(...t){super(...t),this.getFillerOffset=ws,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new k("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function ws(){if(As(this))return null;let t=this.parent;for(;t&&t.is("attributeElement");){if(As(t)>1)return null;t=t.parent}return!t||As(t)>1?null:this.childCount}function As(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}bs.DEFAULT_PRIORITY=10,bs.prototype.is=function(t,e){return e?e===this.name&&("attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t):"attributeElement"===t||"view:attributeElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class _s extends Zr{constructor(t,e,n,o){super(t,e,n,o),this.getFillerOffset=Cs}_insertChild(t,e){if(e&&(e instanceof Ki||Array.from(e).length>0))throw new k("view-emptyelement-cannot-add",[this,e]);return 0}}function Cs(){return null}_s.prototype.is=function(t,e){return e?e===this.name&&("emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t):"emptyElement"===t||"view:emptyElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class vs extends Zr{constructor(...t){super(...t),this.getFillerOffset=xs}_insertChild(t,e){if(e&&(e instanceof Ki||Array.from(e).length>0))throw new k("view-uielement-cannot-add",[this,e]);return 0}render(t,e){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 ys(t){t.document.on("arrowKey",((e,n)=>function(t,e,n){if(e.keyCode==li.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection(),o=1==t.rangeCount&&t.getRangeAt(0).collapsed;if(o||e.shiftKey){const e=t.focusNode,i=t.focusOffset,r=n.domPositionToView(e,i);if(null===r)return;let s=!1;const a=r.getLastMatchingPosition((t=>(t.item.is("uiElement")&&(s=!0),!(!t.item.is("uiElement")&&!t.item.is("attributeElement")))));if(s){const e=n.viewPositionToDom(a);o?t.collapse(e.parent,e.offset):t.extend(e.parent,e.offset)}}}}(0,n,t.domConverter)),{priority:"low"})}function xs(){return null}vs.prototype.is=function(t,e){return e?e===this.name&&("uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t):"uiElement"===t||"view:uiElement"===t||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Es extends Zr{constructor(...t){super(...t),this.getFillerOffset=Ds}_insertChild(t,e){if(e&&(e instanceof Ki||Array.from(e).length>0))throw new k("view-rawelement-cannot-add",[this,e]);return 0}render(){}}function Ds(){return null}Es.prototype.is=function(t,e){return e?e===this.name&&("rawElement"===t||"view:rawElement"===t||"element"===t||"view:element"===t):"rawElement"===t||"view:rawElement"===t||t===this.name||t==="view:"+this.name||"element"===t||"view:element"===t||"node"===t||"view:node"===t};class Is extends(I($i)){constructor(t,e){super(),this.document=t,this._children=[],e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const o=function(t,e){if("string"==typeof e)return[new Qi(t,e)];Z(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new Qi(t,e):e instanceof Zi?new Qi(t,e.data):e))}(this.document,e);for(const e of o)null!==e.parent&&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{const n=t[t.length-1],o=!e.is("uiElement");return n&&n.breakAttributes==o?n.nodes.push(e):t.push({breakAttributes:o,nodes:[e]}),t}),[]);let o=null,i=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(i,t,e);o||(o=n.start),i=n.end}return o?new ss(o,i):new ss(t)}remove(t){const e=t instanceof ss?t:ss._createOn(t);if(Rs(e,this.document),e.isCollapsed)return new Is(this.document);const{start:n,end:o}=this._breakAttributesRange(e,!0),i=n.parent,r=o.offset-n.offset,s=i._removeChildren(n.offset,r);for(const t of s)this._removeFromClonedElementsGroup(t);const a=this.mergeAttributes(n);return e.start=a,e.end=a.clone(),new Is(this.document,s)}clear(t,e){Rs(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const o of n){const n=o.item;let i;if(n.is("element")&&e.isSimilar(n))i=ss._createOn(n);else if(!o.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));t&&(i=ss._createIn(t))}i&&(i.end.isAfter(t.end)&&(i.end=t.end),i.start.isBefore(t.start)&&(i.start=t.start),this.remove(i))}}move(t,e){let n;if(e.isAfter(t.end)){const o=(e=this._breakAttributes(e,!0)).parent,i=o.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=o.childCount-i}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof bs))throw new k("view-writer-wrap-invalid-attribute",this.document);if(Rs(t,this.document),t.isCollapsed){let o=t.start;o.parent.is("element")&&(n=o.parent,!Array.from(n.getChildren()).some((t=>!t.is("uiElement"))))&&(o=o.getLastMatchingPosition((t=>t.item.is("uiElement")))),o=this._wrapPosition(o,e);const i=this.document.selection;return i.isCollapsed&&i.getFirstPosition().isEqual(t.start)&&this.setSelection(o),new ss(o)}return this._wrapRange(t,e);var n}unwrap(t,e){if(!(e instanceof bs))throw new k("view-writer-unwrap-invalid-attribute",this.document);if(Rs(t,this.document),t.isCollapsed)return t;const{start:n,end:o}=this._breakAttributesRange(t,!0),i=n.parent,r=this._unwrapChildren(i,n.offset,o.offset,e),s=this.mergeAttributes(r.start);s.isEqual(r.start)||r.end.offset--;const a=this.mergeAttributes(r.end);return new ss(s,a)}rename(t,e){const n=new Xr(this.document,t,e.getAttributes());return this.insert(rs._createAfter(e),n),this.move(ss._createIn(e),rs._createAt(n,0)),this.remove(ss._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return rs._createAt(t,e)}createPositionAfter(t){return rs._createAfter(t)}createPositionBefore(t){return rs._createBefore(t)}createRange(...t){return new ss(...t)}createRangeOn(t){return ss._createOn(t)}createRangeIn(t){return ss._createIn(t)}createSelection(...t){return new cs(...t)}createSlot(t){if(!this._slotFactory)throw new k("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let o,i;if(o=n?Ss(t):t.parent.is("$text")?t.parent.parent:t.parent,!o)throw new k("view-writer-invalid-position-container",this.document);i=n?this._breakAttributes(t,!0):t.parent.is("$text")?Bs(t):t;const r=o._insertChild(i.offset,e);for(const t of e)this._addToClonedElementsGroup(t);const s=i.getShiftedBy(r),a=this.mergeAttributes(i);a.isEqual(i)||s.offset--;const c=this.mergeAttributes(s);return new ss(a,c)}_wrapChildren(t,e,n,o){let i=e;const r=[];for(;i!1,t.parent._insertChild(t.offset,n);const o=new ss(t,t.getShiftedBy(1));this.wrap(o,e);const i=new rs(n.parent,n.index);n._remove();const r=i.nodeBefore,s=i.nodeAfter;return r instanceof Qi&&s instanceof Qi?zs(r,s):Ns(i)}_wrapAttributeElement(t,e){if(!js(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!js(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if("class"!==n&&"style"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())"class"!==n&&"style"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,o=t.end;if(Rs(t,this.document),t.isCollapsed){const n=this._breakAttributes(t.start,e);return new ss(n,n)}const i=this._breakAttributes(o,e),r=i.parent.childCount,s=this._breakAttributes(n,e);return i.offset+=i.parent.childCount-r,new ss(s,i)}_breakAttributes(t,e=!1){const n=t.offset,o=t.parent;if(t.parent.is("emptyElement"))throw new k("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new k("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new k("view-writer-cannot-break-raw-element",this.document);if(!e&&o.is("$text")&&Os(o.parent))return t.clone();if(Os(o))return t.clone();if(o.is("$text"))return this._breakAttributes(Bs(t),e);if(n==o.childCount){const t=new rs(o.parent,o.index+1);return this._breakAttributes(t,e)}if(0===n){const t=new rs(o.parent,o.index);return this._breakAttributes(t,e)}{const t=o.index+1,i=o._clone();o.parent._insertChild(t,i),this._addToClonedElementsGroup(i);const r=o.childCount-n,s=o._removeChildren(n,r);i._appendChild(s);const a=new rs(o.parent,t);return this._breakAttributes(a,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const e of t.getChildren())this._addToClonedElementsGroup(e);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);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);n&&n.delete(t)}}function Ss(t){let e=t.parent;for(;!Os(e);){if(!e)return;e=e.parent}return e}function Ms(t,e){return t.prioritye.priority)&&t.getIdentity()n instanceof t)))throw new k("view-writer-insert-invalid-node-type",e);n.is("$text")||Ls(n.getChildren(),e)}}function Os(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function Rs(t,e){const n=Ss(t.start),o=Ss(t.end);if(!n||!o||n!==o)throw new k("view-writer-invalid-range-container",e)}function js(t,e){return null===t.id&&null===e.id}const Fs=t=>t.createTextNode(" "),Vs=t=>{const e=t.createElement("span");return e.dataset.ckeFiller="true",e.innerText=" ",e},Hs=t=>{const e=t.createElement("br");return e.dataset.ckeFiller="true",e},Us="⁠".repeat(7);function Gs(t){return Bo(t)&&t.data.substr(0,7)===Us}function Ws(t){return 7==t.data.length&&Gs(t)}function qs(t){return Gs(t)?t.data.slice(7):t.data}function $s(t,e){if(e.keyCode==li.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(1==t.rangeCount&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer,n=t.getRangeAt(0).startOffset;Gs(e)&&n<=7&&t.collapse(e,0)}}}var Ys=n(9315),Ks={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Ys.Z,Ks);Ys.Z.locals;class Qs extends(U()){constructor(t,e){super(),this.domDocuments=new Set,this.domConverter=t,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=e,this.set("isFocused",!1),this.set("_isFocusChanging",!1),this.set("isSelecting",!1),i.isBlink&&!i.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()})),this.set("isComposing",!1),this.on("change:isComposing",(()=>{this.isComposing||this.render()})),this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(t,e){if("text"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if("attributes"===t)this.markedAttributes.add(e);else{if("children"!==t)throw new k("view-renderer-unknown-type",this);this.markedChildren.add(e)}}}render(){if(this.isComposing&&!i.isAndroid)return;let t=null;const e=!(i.isBlink&&!i.isAndroid)||!this.isSelecting;for(const t of this.markedChildren)this._updateChildrenMappings(t);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=rs._createBefore(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)!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)&&this._updateText(e,{inlineFillerPosition:t});if(e)if(t){const e=this.domConverter.viewPositionToDom(t),n=e.parent.ownerDocument;Gs(e.parent)?this._inlineFiller=e.parent:this._inlineFiller=Zs(n,e.parent,e.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){if(!this.domConverter.mapViewToDom(t))return;const e=Array.from(this.domConverter.mapViewToDom(t).childNodes),n=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),o=this._diffNodeLists(e,n),i=this._findReplaceActions(o,e,n);if(-1!==i.indexOf("replace")){const o={equal:0,insert:0,delete:0};for(const r of i)if("replace"===r){const i=o.equal+o.insert,r=o.equal+o.delete,s=t.getChild(i);!s||s.is("uiElement")||s.is("rawElement")||this._updateElementMappings(s,e[r]),Zo(n[i]),o.equal++}else o[r]++}}_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();return t.parent.is("$text")?rs._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&Bo(e.parent)&&Gs(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Gs(t))throw new k("view-renderer-filler-was-lost",this);Ws(t)?t.remove():t.data=t.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root))return!1;if(!e.is("element"))return!1;if(!function(t){if("false"==t.getAttribute("contenteditable"))return!1;const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||"true"==e.getAttribute("contenteditable")}(e))return!1;if(n===e.getFillerOffset())return!1;const o=t.nodeBefore,r=t.nodeAfter;return!(o instanceof Qi||r instanceof Qi)&&(!i.isAndroid||!o&&!r)}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let o=this.domConverter.viewToDom(t).data;const i=e.inlineFillerPosition;i&&i.parent==t.parent&&i.offset==t.index&&(o=Us+o),ea(n,o)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map((t=>t.name)),o=t.getAttributeKeys();for(const n of o)this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t);for(const o of n)t.hasAttribute(o)||this.domConverter.removeDomElementAttribute(e,o)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(i.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&Bo(t)&&Bo(e)){n.normalize();break}t=e}}const o=e.inlineFillerPosition,r=n.childNodes,s=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));o&&o.parent===t&&Zs(n.ownerDocument,s,o.offset);const a=this._diffNodeLists(r,s),c=i.isAndroid?this._findReplaceActions(a,r,s,{replaceText:!0}):a;let l=0;const d=new Set;for(const t of c)"delete"===t?(d.add(r[l]),Zo(r[l])):"equal"!==t&&"replace"!==t||l++;l=0;for(const t of c)"insert"===t?(Wo(n,l,s[l]),l++):"replace"===t?(ea(r[l],s[l].data),l++):"equal"===t&&(this._markDescendantTextToSync(this.domConverter.domToView(s[l])),l++);for(const t of d)t.parentNode||this.domConverter.unbindDomElement(t)}_diffNodeLists(t,e){return t=function(t,e){const n=Array.from(t);if(0==n.length||!e)return n;const o=n[n.length-1];o==e&&n.pop();return n}(t,this._fakeSelectionContainer),l(t,e,ta.bind(null,this.domConverter))}_findReplaceActions(t,e,n,o={}){if(-1===t.indexOf("insert")||-1===t.indexOf("delete"))return t;let i=[],r=[],s=[];const a={equal:0,insert:0,delete:0};for(const c of t)"insert"===c?s.push(n[a.equal+a.insert]):"delete"===c?r.push(e[a.equal+a.delete]):(i=i.concat(l(r,s,o.replaceText?Xs:Js).map((t=>"equal"===t?"replace":t))),i.push("equal"),r=[],s=[]),a[c]++;return i.concat(l(r,s,o.replaceText?Xs:Js).map((t=>"equal"===t?"replace":t)))}_markDescendantTextToSync(t){if(t)if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(i.isBlink&&!i.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(this._isFocusChanging)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&i.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(t){const e=t.createElement("div");return e.className="ck-fake-selection-container",Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),e.textContent=" ",e}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||" ";const o=e.getSelection(),i=e.createRange();o.removeAllRanges(),i.selectNodeContents(n),o.addRange(i)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),o=this.domConverter.viewPositionToDom(this.selection.focus);e.collapse(n.parent,n.offset),e.extend(o.parent,o.offset),i.isGecko&&function(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1)return;const o=n.childNodes[t.offset];o&&"BR"==o.tagName&&e.addRange(e.getRangeAt(0))}(o,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return(!e||!this.selection.isEqual(e))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||(n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,o=this.domConverter.mapDomToView(n);n&&o&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function Zs(t,e,n){const o=e instanceof Array?e:e.childNodes,i=o[n];if(Bo(i))return i.data=Us+i.data,i;{const i=t.createTextNode(Us);return Array.isArray(e)?o.splice(n,0,i):Wo(e,n,i),i}}function Js(t,e){return yo(t)&&yo(e)&&!Bo(t)&&!Bo(e)&&!qo(t)&&!qo(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Xs(t,e){return yo(t)&&yo(e)&&Bo(t)&&Bo(e)}function ta(t,e,n){return e===n||(Bo(e)&&Bo(n)?e.data===n.data:!(!t.isBlockFiller(e)||!t.isBlockFiller(n)))}function ea(t,e){const n=t.data;if(n==e)return;const o=s(n,e);for(const e of o)"insert"===e.type?t.insertData(e.index,e.values.join("")):t.deleteData(e.index,e.howMany)}const na=Hs(Mo.document),oa=Fs(Mo.document),ia=Vs(Mo.document),ra="data-ck-unsafe-attribute-",sa="data-ck-unsafe-element";class aa{constructor(t,e={}){this.document=t,this.renderingMode=e.renderingMode||"editing",this.blockFillerMode=e.blockFillerMode||("editing"===this.renderingMode?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?Mo.document:Mo.document.implementation.createHTMLDocument(""),this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new Ji,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new cs(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 Array.from(t.children))this.unbindDomElement(e)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return"data"===this.renderingMode||!(t=t.toLowerCase()).startsWith("on")&&(("srcdoc"!==t||!e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===n&&("src"===t||"srcset"===t)||("source"===n&&"srcset"===t||!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(t,e){if("data"===this.renderingMode)return void(t.innerHTML=e);const n=(new DOMParser).parseFromString(e,"text/html"),o=n.createDocumentFragment(),i=n.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);const r=n.createTreeWalker(o,NodeFilter.SHOW_ELEMENT),s=[];let a;for(;a=r.nextNode();)s.push(a);for(const t of s){for(const e of t.getAttributeNames())this.setDomElementAttribute(t,e,t.getAttribute(e));const e=t.tagName.toLowerCase();this._shouldRenameElement(e)&&(da(e),t.replaceWith(this._createReplacementDomElement(e,t)))}for(;t.firstChild;)t.firstChild.remove();t.append(o)}viewToDom(t,e={}){if(t.is("$text")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}{if(this.mapViewToDom(t))return this.mapViewToDom(t);let n;if(t.is("documentFragment"))n=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(n,t);else{if(t.is("uiElement"))return n="$comment"===t.name?this._domDocument.createComment(t.getCustomProperty("$rawContent")):t.render(this._domDocument,this),e.bind&&this.bindElements(n,t),n;this._shouldRenameElement(t.name)?(da(t.name),n=this._createReplacementDomElement(t.name)):n=t.hasAttribute("xmlns")?this._domDocument.createElementNS(t.getAttribute("xmlns"),t.name):this._domDocument.createElement(t.name),t.is("rawElement")&&t.render(n,this),e.bind&&this.bindElements(n,t);for(const e of t.getAttributeKeys())this.setDomElementAttribute(n,e,t.getAttribute(e),t)}if(!1!==e.withChildren)for(const o of this.viewChildrenToDom(t,e))n.appendChild(o);return n}}setDomElementAttribute(t,e,n,o){const i=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(e);i||b("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n}),t.hasAttribute(e)&&!i?t.removeAttribute(e):t.hasAttribute(ra+e)&&i&&t.removeAttribute(ra+e),t.setAttribute(i?e:ra+e,n)}removeDomElementAttribute(t,e){e!=sa&&(t.removeAttribute(e),t.removeAttribute(ra+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const i of t.getChildren()){n===o&&(yield this._getBlockFiller());const t=i.is("element")&&i.getCustomProperty("dataPipeline:transparentRendering");t&&"data"==this.renderingMode?yield*this.viewChildrenToDom(i,e):(t&&b("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:i}),yield this.viewToDom(i,e)),o++}n===o&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),o=this._domDocument.createRange();return o.setStart(e.parent,e.offset),o.setEnd(n.parent,n.offset),o}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let o=t.offset;return Gs(n)&&(o+=7),{parent:n,offset:o}}{let n,o,i;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;i=n.childNodes[0]}else{const e=t.nodeBefore;if(o=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(e),!o)return null;n=o.parentNode,i=o.nextSibling}if(Bo(i)&&Gs(i))return{parent:i,offset:7};return{parent:n,offset:o?Go(o)+1:0}}}domToView(t,e={}){if(this.isBlockFiller(t))return null;const n=this.getHostViewElement(t);if(n)return n;if(qo(t)&&e.skipComments)return null;if(Bo(t)){if(Ws(t))return null;{const e=this._processDataFromDomText(t);return""===e?null:new Qi(this.document,e)}}{if(this.mapDomToView(t))return this.mapDomToView(t);let n;if(this.isDocumentFragment(t))n=new Is(this.document),e.bind&&this.bindDocumentFragments(t,n);else{n=this._createViewElement(t,e),e.bind&&this.bindElements(t,n);const o=t.attributes;if(o)for(let t=o.length,e=0;e{const{scrollLeft:e,scrollTop:n}=t;o.push([e,n])})),e.focus(),ca(e,(t=>{const[e,n]=o.shift();t.scrollLeft=e,t.scrollTop=n})),Mo.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return"br"==this.blockFillerMode?t.isEqualNode(na):!("BR"!==t.tagName||!la(t,this.blockElements)||1!==t.parentNode.childNodes.length)||(t.isEqualNode(ia)||function(t,e){const n=t.isEqualNode(oa);return n&&la(t,e)&&1===t.parentNode.childNodes.length}(t,this.blockElements))}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch(t){return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=No(t);for(e.pop();e.length;){const t=e.pop(),n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement")))return n}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return Fs(this._domDocument);case"markedNbsp":return Vs(this._domDocument);case"br":return Hs(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(Bo(t)&&Gs(t)&&e<7)return!1;if(this.isElement(t)&&Gs(t.childNodes[e]))return!1;const n=this.mapDomToView(t);return!n||!n.is("uiElement")&&!n.is("rawElement")}_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._getTouchingInlineViewNode(t,!1);!(n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n))&&n||(e=" "+e.substr(1))}if(" "==e.charAt(e.length-1)){const n=this._getTouchingInlineViewNode(t,!0),o=n&&n.is("$textProxy")&&" "==n.data.charAt(0);" "!=e.charAt(e.length-2)&&n&&!o||(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!1;const e=this._processDataFromViewText(t);return" "==e.charAt(e.length-1)}_processDataFromDomText(t){let e=t.data;if(function(t,e){const n=No(t);return n.some((t=>t.tagName&&e.includes(t.tagName.toLowerCase())))}(t,this.preElements))return qs(t);e=e.replace(/[ \n\t\r]{1,}/g," ");const n=this._getTouchingInlineDomNode(t,!1),o=this._getTouchingInlineDomNode(t,!0),i=this._checkShouldLeftTrimDomText(t,n),r=this._checkShouldRightTrimDomText(t,o);i&&(e=e.replace(/^ /,"")),r&&(e=e.replace(/ $/,"")),e=qs(new Text(e)),e=e.replace(/ \u00A0/g," ");const s=o&&this.isElement(o)&&"BR"!=o.tagName,a=o&&Bo(o)&&" "==o.data.charAt(0);return(/( |\u00A0)\u00A0$/.test(e)||!o||s||a)&&(e=e.replace(/\u00A0$/," ")),(i||n&&this.isElement(n)&&"BR"!=n.tagName)&&(e=e.replace(/^\u00A0/," ")),e}_checkShouldLeftTrimDomText(t,e){return!e||(this.isElement(e)?"BR"===e.tagName:!this._encounteredRawContentDomNodes.has(t.previousSibling)&&/[^\S\u00A0]/.test(e.data.charAt(e.data.length-1)))}_checkShouldRightTrimDomText(t,e){return!e&&!Gs(t)}_getTouchingInlineViewNode(t,e){const n=new is({startPosition:e?rs._createAfter(t):rs._createBefore(t),direction:e?"forward":"backward"});for(const t of n){if(t.item.is("element")&&this.inlineObjectElements.includes(t.item.name))return t.item;if(t.item.is("containerElement"))return null;if(t.item.is("element","br"))return null;if(t.item.is("$textProxy"))return t.item}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode)return null;const n=e?"firstChild":"lastChild",o=e?"nextSibling":"previousSibling";let i=!0,r=t;do{if(!i&&r[n]?r=r[n]:r[o]?(r=r[o],i=!1):(r=r.parentNode,i=!0),!r||this._isBlockElement(r))return null}while(!Bo(r)&&"BR"!=r.tagName&&!this._isInlineObjectElement(r));return r}_isBlockElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isInlineObjectElement(t){return this.isElement(t)&&this.inlineObjectElements.includes(t.tagName.toLowerCase())}_createViewElement(t,e){if(qo(t))return new vs(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Zr(this.document,n)}_isViewElementWithRawContent(t,e){return!1!==e.withChildren&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(sa,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const t of e.getAttributeNames())n.setAttribute(t,e.getAttribute(t))}return n}}function ca(t,e){let n=t;for(;n;)e(n),n=n.parentElement}function la(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function da(t){"script"===t&&b("domconverter-unsafe-script-element-detected"),"style"===t&&b("domconverter-unsafe-style-element-detected")}class ua extends(Do()){constructor(t){super(),this.view=t,this.document=t.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}const ha=Ur((function(t,e){Ee(e,dn(e),t)}));class ga{constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,ha(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class ma extends ua{constructor(t){super(t),this.useCapture=!1}observe(t){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((e=>{this.listenTo(t,e,((t,e)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)&&this.onDomEvent(e)}),{useCapture:this.useCapture})}))}fire(t,e,n){this.isEnabled&&this.document.fire(t,new ga(this.view,e,n))}}class pa extends ma{constructor(t){super(t),this.domEventType=["keydown","keyup"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return ui(this)}};this.fire(t.type,t,e)}}const fa=function(){return tt.Date.now()};var ka=/\s/;const ba=function(t){for(var e=t.length;e--&&ka.test(t.charAt(e)););return e};var wa=/^\s+/;const Aa=function(t){return t?t.slice(0,ba(t)+1).replace(wa,""):t};var _a=/^[-+]0x[0-9a-f]+$/i,Ca=/^0b[01]+$/i,va=/^0o[0-7]+$/i,ya=parseInt;const xa=function(t){if("number"==typeof t)return t;if(er(t))return NaN;if(L(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=L(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Aa(t);var n=Ca.test(t);return n||va.test(t)?ya(t.slice(2),n?2:8):_a.test(t)?NaN:+t};var Ea=Math.max,Da=Math.min;const Ia=function(t,e,n){var o,i,r,s,a,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function g(e){var n=o,r=i;return o=i=void 0,l=e,s=t.apply(r,n)}function m(t){return l=t,a=setTimeout(f,e),d?g(t):s}function p(t){var n=t-c;return void 0===c||n>=e||n<0||u&&t-l>=r}function f(){var t=fa();if(p(t))return k(t);a=setTimeout(f,function(t){var n=e-(t-c);return u?Da(n,r-(t-l)):n}(t))}function k(t){return a=void 0,h&&o?g(t):(o=i=void 0,s)}function b(){var t=fa(),n=p(t);if(o=arguments,i=this,c=t,n){if(void 0===a)return m(c);if(u)return clearTimeout(a),a=setTimeout(f,e),g(c)}return void 0===a&&(a=setTimeout(f,e)),s}return e=xa(e)||0,L(n)&&(d=!!n.leading,r=(u="maxWait"in n)?Ea(xa(n.maxWait)||0,e):r,h="trailing"in n?!!n.trailing:h),b.cancel=function(){void 0!==a&&clearTimeout(a),l=0,o=c=i=a=void 0},b.flush=function(){return void 0===a?s:k(fa())},b};class Ta extends ua{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=Ia((t=>{this.document.fire("selectionChangeDone",t)}),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()}),{context:"$capture"}),t.on("arrowKey",((e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)}),{priority:"lowest"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new cs(e.getRanges(),{backward:e.isBackward,fake:!1});t!=li.arrowleft&&t!=li.arrowup||n.setTo(n.getFirstPosition()),t!=li.arrowright&&t!=li.arrowdown||n.setTo(n.getLastPosition());const o={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",o),this._fireSelectionChangeDoneDebounced(o)}}const Sa=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const Ma=function(t){return this.__data__.has(t)};function Na(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new ke;++ea))return!1;var l=r.get(t),d=r.get(e);if(l&&d)return l==e&&d==t;var u=-1,h=!0,g=2&n?new Ba:void 0;for(r.set(t,e),r.set(e,t);++u{this.document.fire("selectionChangeDone",t)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=Ia((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting&&(this._handleSelectionChange(null,e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(t,"keydown",n,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",n,{priority:"highest",useCapture:!0}),this._documents.has(e)||(this.listenTo(e,"mouseup",n,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",((t,n)=>{this.document.isComposing&&!i.isAndroid||(this._handleSelectionChange(n,e),this._documentIsSelectingInactivityTimeoutDebounced())})),this._documents.add(e))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(n);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(n)||++this._loopbackCounter>60))if(this.selection.isSimilar(o))this.view.forceRender();else{const t={oldSelection:this.selection,newSelection:o,domSelection:n};this.document._isFocusChanging=!1,this.document.fire("selectionChange",t),this._fireSelectionChangeDoneDebounced(t)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class tc extends ma{constructor(t){super(t),this.domEventType=["focus","blur"],this.useCapture=!0;const e=this.document;e.on("focus",(()=>{e.isFocused=!0,e._isFocusChanging=!0,this._renderTimeoutId=setTimeout((()=>{e._isFocusChanging=!1,t.change((()=>{}))}),50)})),e.on("blur",((n,o)=>{const i=e.selection.editableElement;null!==i&&i!==o.target||(e.isFocused=!1,t.change((()=>{})))}))}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class ec extends ma{constructor(t){super(t),this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",(()=>{e.isComposing=!0}),{priority:"low"}),e.on("compositionend",(()=>{e.isComposing=!1}),{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class nc{constructor(t){this.files=function(t){const e=Array.from(t.files||[]),n=Array.from(t.items||[]);if(e.length)return e;return n.filter((t=>"file"===t.kind)).map((t=>t.getAsFile()))}(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)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}class oc extends ma{constructor(t){super(t),this.domEventType=["beforeinput"]}onDomEvent(t){const e=t.getTargetRanges(),n=this.view,o=n.document;let r=null,s=null,a=[];if(t.dataTransfer&&(r=new nc(t.dataTransfer)),null!==t.data?s=t.data:r&&(s=r.getData("text/plain")),o.selection.isFake)a=Array.from(o.selection.getRanges());else if(e.length)a=e.map((t=>n.domConverter.domRangeToView(t)));else if(i.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();a=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(i.isAndroid&&"insertCompositionText"==t.inputType&&s&&s.endsWith("\n"))this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(a[0].end)]});else if("insertText"==t.inputType&&s&&s.includes("\n")){const e=s.split(/\n{1,2}/g);let n=a;for(let i=0;i{if(this.isEnabled&&((n=e.keyCode)==li.arrowright||n==li.arrowleft||n==li.arrowup||n==li.arrowdown)){const n=new ds(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e),n.stop.called&&t.stop()}var n}))}observe(){}}class rc extends ua{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(!this.isEnabled||n.keyCode!=li.tab||n.ctrlKey)return;const o=new ds(e,"tab",e.selection.getFirstRange());e.fire(o,n),o.stop.called&&t.stop()}))}observe(){}}class sc extends(U()){constructor(t){super(),this.document=new ks(t),this.domConverter=new aa(this.document),this.domRoots=new Map,this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new Qs(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing","_isFocusChanging").to(this.document,"isFocused","isSelecting","isComposing","_isFocusChanging"),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new Ts(this.document),this.addObserver(Za),this.addObserver(Xa),this.addObserver(tc),this.addObserver(pa),this.addObserver(Ta),this.addObserver(ec),this.addObserver(ic),this.addObserver(oc),this.addObserver(rc),this.document.on("arrowKey",$s,{priority:"low"}),ys(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0}))}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const o={};for(const{name:e,value:i}of Array.from(t.attributes))o[e]=i,"class"===e?this._writer.addClass(i.split(" "),n):this._writer.setAttribute(e,i,n);this._initialDomRootAttributes.set(t,o);const i=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};i(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",((t,e)=>this._renderer.markToSync("children",e))),n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e))),n.on("change:text",((t,e)=>this._renderer.markToSync("text",e))),n.on("change:isReadOnly",(()=>this.change(i))),n.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));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);return e.enable(),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();t&&function({target:t,viewportOffset:e=0}){const n=ii(t);let o=n,i=null;for(;o;){let r;r=ri(o==n?t:i),Xo(r,(()=>si(t,o)));const s=si(t,o);if(Jo(o,s,e),o.parent!=o){if(i=o.frameElement,o=o.parent,!i)return}else o=null}}({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new k("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(t){k.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.document._isFocusChanging=!1,this.change((()=>{}))}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return rs._createAt(t,e)}createPositionAfter(t){return rs._createAfter(t)}createPositionBefore(t){return rs._createBefore(t)}createRange(...t){return new ss(...t)}createRangeOn(t){return ss._createOn(t)}createRangeIn(t){return ss._createIn(t)}createSelection(...t){return new cs(...t)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class ac{is(){throw new Error("is() method is abstract")}}class cc extends ac{constructor(t){super(),this.parent=null,this._attrs=yi(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new k("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new k("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),o=t.getAncestors(e);let i=0;for(;n[i]==o[i]&&n[i];)i++;return 0===i?null:n[i-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),o=Q(e,n);switch(o){case"prefix":return!0;case"extension":return!1;default:return e[o](t[e[0]]=e[1],t)),{})),t}_clone(t){return new cc(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=yi(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}cc.prototype.is=function(t){return"node"===t||"model:node"===t};class lc{constructor(t){this._nodes=[],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-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return null===e?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 k("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t1e4)return t.slice(0,n).concat(e).concat(t.slice(n+o,t.length));{const i=Array.from(t);return i.splice(n,o,...e),i}}(this._nodes,Array.from(e),t,0)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map((t=>t.toJSON()))}}class dc extends cc{constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new dc(this.data,this.getAttributes())}static fromJSON(t){return new dc(t.data,t.attributes)}}dc.prototype.is=function(t){return"$text"===t||"model:$text"===t||"text"===t||"model:text"===t||"node"===t||"model:node"===t};class uc extends ac{constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new k("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new k("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?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}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;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()}}uc.prototype.is=function(t){return"$textProxy"===t||"model:$textProxy"===t||"textProxy"===t||"model:textProxy"===t};class hc extends cc{constructor(t,e,n){super(e),this.name=t,this._children=new lc,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map((t=>t._clone(!0))):void 0;return new hc(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new dc(t)];Z(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new dc(t):t instanceof uc?new dc(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&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;if(t.children){e=[];for(const n of t.children)n.name?e.push(hc.fromJSON(n)):e.push(dc.fromJSON(n))}return new hc(t.name,t.attributes,e)}}hc.prototype.is=function(t,e){return e?e===this.name&&("element"===t||"model:element"===t):"element"===t||"model:element"===t||"node"===t||"model:node"===t};class gc{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new k("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if("forward"!=e&&"backward"!=e)throw new k("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this.position=t.startPosition.clone():this.position=pc._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,o,i;do{o=this.position,i=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this.position=o,this._visitedParent=i)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const o=fc(e,n),i=o||kc(e,n,o);if(i instanceof hc)return this.shallow?e.offset++:(e.path.push(0),this._visitedParent=i),this.position=e,mc("elementStart",i,t,e,1);if(i instanceof dc){let o;if(this.singleCharacters)o=1;else{let t=i.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsett&&(t=this.boundaries.start.offset),o=e.offset-t}const i=e.offset-r.startOffset,s=new uc(r,i-o,o);return e.offset-=o,this.position=e,mc("text",s,t,e,o)}return e.path.pop(),this.position=e,this._visitedParent=n.parent,mc("elementStart",n,t,e,1)}}function mc(t,e,n,o,i){return{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}class pc extends ac{constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new k("model-position-root-invalid",t);if(!(e instanceof Array)||0===e.length)throw new k("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(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;e1)return!1;if(1===e)return wc(t,this,n);if(-1===e)return wc(this,t,n)}return this.path.length===t.path.length||(this.path.length>t.path.length?Ac(this.path,e):Ac(t.path,e))}hasSameParentAs(t){if(this.root!==t.root)return!1;return"same"==Q(this.getParentPath(),t.getParentPath())}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=pc._createAt(this)}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;return e.containsPosition(this)||e.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?pc._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=pc._createAt(this);if(this.root!=t.root)return n;if("same"==Q(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if("prefix"==Q(t.getParentPath(),this.getParentPath())){const o=t.path.length-1;if(t.offset<=this.path[o]){if(t.offset+e>this.path[o])return null;n.path[o]-=e}}return n}_getTransformedByInsertion(t,e){const n=pc._createAt(this);if(this.root!=t.root)return n;if("same"==Q(t.getParentPath(),this.getParentPath()))(t.offset=e;){if(t.path[o]+i!==n.maxOffset)return!1;i=1,o--,n=n.parent}return!0}(t,n+1))}function Ac(t,e){for(;ee+1;){const e=o.maxOffset-n.offset;0!==e&&t.push(new _c(n,n.getShiftedBy(e))),n.path=n.path.slice(0,-1),n.offset++,o=o.parent}for(;n.path.length<=this.end.path.length;){const e=this.end.path[n.path.length-1],o=e-n.offset;0!==o&&t.push(new _c(n,n.getShiftedBy(o))),n.offset=e,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new gc(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new gc(t);for(const t of e)yield t.item}*getPositions(t={}){t.boundaries=this;const e=new gc(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 _c(this.start,this.end)]}getTransformedByOperations(t){const e=[new _c(this.start,this.end)];for(const n of t)for(let t=0;t0?new this(n,o):new this(o,n)}static _createIn(t){return new this(pc._createAt(t,0),pc._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(pc._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new k("range-create-from-ranges-empty-array",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e),o=new this(e.start,e.end);if(n>0)for(let e=n-1;t[e].end.isEqual(o.start);e++)o.start=pc._createAt(t[e].start);for(let e=n+1;e{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new k("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});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),o=this._viewToModelMapping.get(n),i=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=pc._createAt(o,i)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const e of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(e);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const o=this._elementToMarkerNames.get(t)||new Set;o.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,o)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const o=this._elementToMarkerNames.get(t);o&&(o.delete(e),0==o.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new _c(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new ss(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),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;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t)}if(t.is("$text"))return e;let o=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class xc extends(I()){constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const o=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove())this._convertMarkerRemove(e.name,e.range,o);const i=this._reduceChanges(t.getChanges());for(const t of i)"insert"===t.type?this._convertInsert(_c._createFromPositionAndShift(t.position,t.length),o):"reinsert"===t.type?this._convertReinsert(_c._createFromPositionAndShift(t.position,t.length),o):"remove"===t.type?this._convertRemove(t.position,t.length,t.name,o):this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,o);for(const t of o.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,o),this._convertMarkerAdd(t,n,o)}for(const e of t.getMarkersToAdd())this._convertMarkerAdd(e.name,e.range,o);o.mapper.flushDeferredBindings(),o.consumable.verifyAllConsumed("insert")}convert(t,e,n,o={}){const i=this._createConversionApi(n,void 0,o);this._convertInsert(t,i);for(const[t,n]of e)this._convertMarkerAdd(t,n,i);i.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const o=Array.from(e.getMarkersAtPosition(t.getFirstPosition())),i=this._createConversionApi(n);if(this._addConsumablesForSelection(i.consumable,t,o),this.fire("selection",{selection:t},i),t.isCollapsed){for(const e of o){const n=e.getRange();if(!Ec(t.getFirstPosition(),e,i.mapper))continue;const o={item:t,markerName:e.name,markerRange:n};i.consumable.test(t,"addMarker:"+e.name)&&this.fire(`addMarker:${e.name}`,o,i)}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};i.consumable.test(t,"attribute:"+n.attributeKey)&&this.fire(`attribute:${n.attributeKey}:$text`,n,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,Array.from(t));for(const n of Array.from(t.getWalker({shallow:!0})).map(Dc))this._testAndFire("insert",n,e)}_convertRemove(t,e,n,o){this.fire(`remove:${n}`,{position:t,length:e},o)}_convertAttribute(t,e,n,o,i){this._addConsumablesForRange(i.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:_c._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:o};this._testAndFire(`attribute:${e}`,t,i)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(Dc))this._testAndFire("insert",{...t,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if("$graveyard"==e.root.rootName)return;const o=`addMarker:${t}`;if(n.consumable.add(e,o),this.fire(o,{markerName:t,markerRange:e},n),n.consumable.consume(e,o)){this._addConsumablesForRange(n.consumable,e,o);for(const i of e.getItems()){if(!n.consumable.test(i,o))continue;const r={item:i,range:_c._createOn(i),markerName:t,markerRange:e};this.fire(o,r,n)}}}_convertMarkerRemove(t,e,n){"$graveyard"!=e.root.rootName&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(null===t.test(e,"insert")){t.add(e,"insert");for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n)}}return t}_addConsumablesForRange(t,e,n){for(const o of e.getItems())t.add(o,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const o of n)t.add(e,"addMarker:"+o.name);for(const n of e.getAttributeKeys())t.add(e,"attribute:"+n);return t}_testAndFire(t,e,n){const o=function(t,e){const n=e.item.is("element")?e.item.name:"$text";return`${t}:${n}`}(t,e),i=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,r=this._firedEventsMap.get(n),s=r.get(i);if(s){if(s.has(o))return;s.add(o)}else r.set(i,new Set([o]));this.fire(o,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:_c._createOn(t)};for(const t of n.item.getAttributeKeys())n.attributeKey=t,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(t),this._testAndFire(`attribute:${t}`,n,e)}_createConversionApi(t,e=new Set,n={}){const o={...this._conversionApi,consumable:new vc,writer:t,options:n,convertItem:t=>this._convertInsert(_c._createOn(t),o),convertChildren:t=>this._convertInsert(_c._createIn(t),o,{doNotAddConsumables:!0}),convertAttributes:t=>this._testAndFireAddAttributes(t,o),canReuseView:t=>!e.has(o.mapper.toModelElement(t))};return this._firedEventsMap.set(o,new Map),o}}function Ec(t,e,n){const o=e.getRange(),i=Array.from(t.getAncestors());i.shift(),i.reverse();return!i.some((t=>{if(o.containsItem(t)){return!!n.toViewElement(t).getCustomProperty("addHighlight")}}))}function Dc(t){return{item:t.item,range:_c._createFromPositionAndShift(t.previousPosition,t.length)}}class Ic extends(I(ac)){constructor(...t){super(),this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,t.length&&this.setTo(...t)}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(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const o of t._ranges)if(e.isEqual(o)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new _c(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new _c(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new _c(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){let[e,n,o]=t;if("object"==typeof n&&(o=n,n=void 0),null===e)this._setRanges([]);else if(e instanceof Ic)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof _c)this._setRanges([e],!!o&&!!o.backward);else if(e instanceof pc)this._setRanges([new _c(e)]);else if(e instanceof cc){const t=!!o&&!!o.backward;let i;if("in"==n)i=_c._createIn(e);else if("on"==n)i=_c._createOn(e);else{if(void 0===n)throw new k("model-selection-setto-required-second-parameter",[this,e]);i=new _c(pc._createAt(e,n))}this._setRanges([i],t)}else{if(!Z(e))throw new k("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,o&&!!o.backward)}}_setRanges(t,e=!1){const n=Array.from(t),o=n.some((e=>{if(!(e instanceof _c))throw new k("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every((t=>!t.isEqual(e)))}));(n.length!==this._ranges.length||o)&&(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(null===this.anchor)throw new k("model-selection-setfocus-no-ranges",[this,t]);const n=pc._createAt(t,e);if("same"==n.compareWith(this.focus))return;const o=this.anchor;this._ranges.length&&this._popRange(),"before"==n.compareWith(o)?(this._pushRange(new _c(n,o)),this._lastRangeBackward=!0):(this._pushRange(new _c(o,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}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){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=Mc(e.start,t);n&&Nc(n,e)&&(yield n);for(const n of e.getWalker()){const o=n.item;"elementEnd"==n.type&&Sc(o,t,e)&&(yield o)}const o=Mc(e.end,t);o&&!e.end.isTouching(pc._createAt(o,0))&&Nc(o,e)&&(yield o)}}containsEntireContent(t=this.anchor.root){const e=pc._createAt(t,0),n=pc._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new _c(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function Tc(t,e){return!e.has(t)&&(e.add(t),t.root.document.model.schema.isBlock(t)&&!!t.parent)}function Sc(t,e,n){return Tc(t,e)&&Nc(t,n)}function Mc(t,e){const n=t.parent.root.document.model.schema,o=t.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=o.find((t=>!i&&(i=n.isLimit(t),!i&&Tc(t,e))));return o.forEach((t=>e.add(t))),r}function Nc(t,e){const n=function(t){const e=t.root.document.model.schema;let n=t.parent;for(;n;){if(e.isBlock(n))return n;n=n.parent}}(t);if(!n)return!0;return!e.containsRange(_c._createOn(n),!0)}Ic.prototype.is=function(t){return"selection"===t||"model:selection"===t};class Bc extends(I(_c)){constructor(t,e){super(t,e),zc.call(this)}detach(){this.stopListening()}toRange(){return new _c(this.start,this.end)}static fromRange(t){return new Bc(t.start,t.end)}}function zc(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&Pc.call(this,n)}),{priority:"low"})}function Pc(t){const e=this.getTransformedByOperation(t),n=_c._createFromRanges(e),o=!n.isEqual(this),i=function(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!1}(this,t);let r=null;if(o){"$graveyard"==n.root.rootName&&(r="remove"==t.type?t.sourcePosition:t.deletionPosition);const e=this.toRange();this.start=n.start,this.end=n.end,this.fire("change:range",e,{deletionPosition:r})}else i&&this.fire("change:content",this.toRange(),{deletionPosition:r})}Bc.prototype.is=function(t){return"liveRange"===t||"model:liveRange"===t||"range"==t||"model:range"===t};const Lc="selection:";class Oc extends(I(ac)){constructor(t){super(),this._selection=new Rc(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(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_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 Lc+t}static _isStoreAttributeKey(t){return t.startsWith(Lc)}}Oc.prototype.is=function(t){return"selection"===t||"model:selection"==t||"documentSelection"==t||"model:documentSelection"==t};class Rc extends Ic{constructor(t){super(),this.markers=new Ai({idProperty:"name"}),this._model=t.model,this._document=t,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&"marker"!=n.type&&"rename"!=n.type&&"noop"!=n.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((t,e,n,o)=>{this._updateMarker(e,o)})),this.listenTo(this._document,"change",((t,e)=>{!function(t,e){const n=t.document.differ;for(const o of n.getChanges()){if("insert"!=o.type)continue;const n=o.position.parent;o.length===n.maxOffset&&t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(Lc)));for(const o of e)t.removeAttribute(o,n)}))}}(this._model,e)}))}get isCollapsed(){return 0===this._ranges.length?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{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1),e.detach()}})),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n))continue;const o=e.getRange();for(const n of this.getRanges())o.containsRange(n,!n.isCollapsed)&&t.push(e)}const n=Array.from(this.markers);for(const n of t)this.markers.has(n)||(this.markers.add(n),e=!0);for(const n of Array.from(this.markers))t.includes(n)||(this.markers.remove(n),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let o=!1;const i=Array.from(this.markers),r=this.markers.has(t);if(e){let n=!1;for(const t of this.getRanges())if(e.containsRange(t,!t.isCollapsed)){n=!0;break}n&&!r?(this.markers.add(t),o=!0):!n&&r&&(this.markers.remove(t),o=!0)}else r&&(this.markers.remove(t),o=!0);o&&this.fire("change:marker",{oldMarkers:i,directChange:!1})}_updateAttributes(t){const e=yi(this._getSurroundingAttributes()),n=yi(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[t,e]of this._attributePriority)"low"==e&&(this._attrs.delete(t),this._attributePriority.delete(t));this._setAttributesTo(e);const o=[];for(const[t,e]of this.getAttributes())n.has(t)&&n.get(t)===e||o.push(t);for(const[t]of n)this.hasAttribute(t)||o.push(t);o.length>0&&this.fire("change:attribute",{attributeKeys:o,directChange:!1})}_setAttribute(t,e,n=!0){const o=n?"normal":"low";if("low"==o&&"normal"==this._attributePriority.get(t))return!1;return super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,o),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return("low"!=n||"normal"!=this._attributePriority.get(t))&&(this._attributePriority.set(t,n),!!super.hasAttribute(t)&&(this._attrs.delete(t),!0))}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes())t.get(e)!==n&&this._removeAttribute(e,!1);for(const[n,o]of t){this._setAttribute(n,o,!1)&&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(Lc)){const n=e.substr(Lc.length);yield[n,t.getAttribute(e)]}}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;let n=null;if(this.isCollapsed){const o=t.textNode?t.textNode:t.nodeBefore,i=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=jc(o)),n||(n=jc(i)),!this.isGravityOverridden&&!n){let t=o;for(;t&&!e.isInline(t)&&!n;)t=t.previousSibling,n=jc(t)}if(!n){let t=i;for(;t&&!e.isInline(t)&&!n;)t=t.nextSibling,n=jc(t)}n||(n=this.getStoredAttributes())}else{const t=this.getFirstRange();for(const o of t){if(o.item.is("element")&&e.isObject(o.item))break;if("text"==o.type){n=o.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function jc(t){return t instanceof uc||t instanceof dc?t.getAttributes():null}class Fc{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}const Vc=function(t){return bo(t,5)};class Hc extends Fc{elementToElement(t){return this.add(function(t){const e=Wc(t.model),n=qc(t.view,"container");e.attributes.length&&(e.children=!0);return o=>{o.on(`insert:${e.name}`,function(t,e=tl){return(n,o,i)=>{if(!e(o.item,i.consumable,{preflight:!0}))return;const r=t(o.item,i,o);if(!r)return;e(o.item,i.consumable);const s=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r),i.writer.insert(s,r),i.convertAttributes(o.item),Jc(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}(n,Zc(e)),{priority:t.converterPriority||"normal"}),(e.children||e.attributes.length)&&o.on("reduceChanges",Qc(e),{priority:"low"})}}(t))}elementToStructure(t){return this.add(function(t){const e=Wc(t.model),n=qc(t.view,"container");return e.children=!0,o=>{if(o._conversionApi.schema.checkChild(e.name,"$text"))throw new k("conversion-element-to-structure-disallowed-text",o,{elementName:e.name});var i,r;o.on(`insert:${e.name}`,(i=n,r=Zc(e),(t,e,n)=>{if(!r(e.item,n.consumable,{preflight:!0}))return;const o=new Map;n.writer._registerSlotFactory(function(t,e,n){return(o,i="children")=>{const r=o.createContainerElement("$slot");let s=null;if("children"===i)s=Array.from(t.getChildren());else{if("function"!=typeof i)throw new k("conversion-slot-mode-unknown",n.dispatcher,{modeOrFilter:i});s=Array.from(t.getChildren()).filter((t=>i(t)))}return e.set(r,s),r}}(e.item,o,n));const s=i(e.item,n,e);if(n.writer._clearSlotFactory(),!s)return;!function(t,e,n){const o=Array.from(e.values()).flat(),i=new Set(o);if(i.size!=o.length)throw new k("conversion-slot-filter-overlap",n.dispatcher,{element:t});if(i.size!=t.childCount)throw new k("conversion-slot-filter-incomplete",n.dispatcher,{element:t})}(e.item,o,n),r(e.item,n.consumable);const a=n.mapper.toViewPosition(e.range.start);n.mapper.bindElements(e.item,s),n.writer.insert(a,s),n.convertAttributes(e.item),function(t,e,n,o){n.mapper.on("modelToViewPosition",s,{priority:"highest"});let i=null,r=null;for([i,r]of e)Jc(t,r,n,o),n.writer.move(n.writer.createRangeIn(i),n.writer.createPositionBefore(i)),n.writer.remove(i);function s(t,e){const n=e.modelPosition.nodeAfter,o=r.indexOf(n);o<0||(e.viewPosition=e.mapper.findPositionIn(i,o))}n.mapper.off("modelToViewPosition",s)}(s,o,n,{reconversion:e.reconversion})}),{priority:t.converterPriority||"normal"}),o.on("reduceChanges",Qc(e),{priority:"low"})}}(t))}attributeToElement(t){return this.add(function(t){t=Vc(t);let e=t.model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=qc(t.view[n],"attribute");else t.view=qc(t.view,"attribute");const o=$c(t);return e=>{e.on(n,function(t){return(e,n,o)=>{if(!o.consumable.test(n.item,e.name))return;const i=t(n.attributeOldValue,o,n),r=t(n.attributeNewValue,o,n);if(!i&&!r)return;o.consumable.consume(n.item,e.name);const s=o.writer,a=s.document.selection;if(n.item instanceof Ic||n.item instanceof Oc)s.wrap(a.getFirstRange(),r);else{let t=o.mapper.toViewRange(n.range);null!==n.attributeOldValue&&i&&(t=s.unwrap(t,i)),null!==n.attributeNewValue&&r&&s.wrap(t,r)}}}(o),{priority:t.converterPriority||"normal"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Vc(t);let e=t.model;"string"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=":"+e.name);if(e.values)for(const n of e.values)t.view[n]=Yc(t.view[n]);else t.view=Yc(t.view);const o=$c(t);return e=>{var i;e.on(n,(i=o,(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const o=i(e.attributeOldValue,n,e),r=i(e.attributeNewValue,n,e);if(!o&&!r)return;n.consumable.consume(e.item,t.name);const s=n.mapper.toViewElement(e.item),a=n.writer;if(!s)throw new k("conversion-attribute-to-attribute-on-text",n.dispatcher,e);if(null!==e.attributeOldValue&&o)if("class"==o.key){const t=pi(o.value);for(const e of t)a.removeClass(e,s)}else if("style"==o.key){const t=Object.keys(o.value);for(const e of t)a.removeStyle(e,s)}else a.removeAttribute(o.key,s);if(null!==e.attributeNewValue&&r)if("class"==r.key){const t=pi(r.value);for(const e of t)a.addClass(e,s)}else if("style"==r.key){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)}),{priority:t.converterPriority||"normal"})}}(t))}markerToElement(t){return this.add(function(t){const e=qc(t.view,"ui");return n=>{var o;n.on(`addMarker:${t.model}`,(o=e,(t,e,n)=>{e.isOpening=!0;const i=o(e,n);e.isOpening=!1;const r=o(e,n);if(!i||!r)return;const s=e.markerRange;if(s.isCollapsed&&!n.consumable.consume(s,t.name))return;for(const e of s)if(!n.consumable.consume(e.item,t.name))return;const a=n.mapper,c=n.writer;c.insert(a.toViewPosition(s.start),i),n.mapper.bindElementToMarker(i,e.markerName),s.isCollapsed||(c.insert(a.toViewPosition(s.end),r),n.mapper.bindElementToMarker(r,e.markerName)),t.stop()}),{priority:t.converterPriority||"normal"}),n.on(`removeMarker:${t.model}`,((t,e,n)=>{const o=n.mapper.markerNameToElements(e.markerName);if(o){for(const t of o)n.mapper.unbindElementFromMarkerName(t,e.markerName),n.writer.clear(n.writer.createRangeOn(t),t);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}),{priority:t.converterPriority||"normal"})}}(t))}markerToHighlight(t){return this.add(function(t){return e=>{var n;e.on(`addMarker:${t.model}`,(n=t.view,(t,e,o)=>{if(!e.item)return;if(!(e.item instanceof Ic||e.item instanceof Oc||e.item.is("$textProxy")))return;const i=Kc(n,e,o);if(!i)return;if(!o.consumable.consume(e.item,t.name))return;const r=o.writer,s=Uc(r,i),a=r.document.selection;if(e.item instanceof Ic||e.item instanceof Oc)r.wrap(a.getFirstRange(),s);else{const t=o.mapper.toViewRange(e.range),n=r.wrap(t,s);for(const t of n.getItems())if(t.is("attributeElement")&&t.isSimilar(s)){o.mapper.bindElementToMarker(t,e.markerName);break}}}),{priority:t.converterPriority||"normal"}),e.on(`addMarker:${t.model}`,function(t){return(e,n,o)=>{if(!n.item)return;if(!(n.item instanceof hc))return;const i=Kc(t,n,o);if(!i)return;if(!o.consumable.test(n.item,e.name))return;const r=o.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){o.consumable.consume(n.item,e.name);for(const t of _c._createIn(n.item))o.consumable.consume(t.item,e.name);r.getCustomProperty("addHighlight")(r,i,o.writer),o.mapper.bindElementToMarker(r,n.markerName)}}}(t.view),{priority:t.converterPriority||"normal"}),e.on(`removeMarker:${t.model}`,function(t){return(e,n,o)=>{if(n.markerRange.isCollapsed)return;const i=Kc(t,n,o);if(!i)return;const r=Uc(o.writer,i),s=o.mapper.markerNameToElements(n.markerName);if(s){for(const t of s)if(o.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("attributeElement"))o.writer.unwrap(o.writer.createRangeOn(t),r);else{t.getCustomProperty("removeHighlight")(t,i.id,o.writer)}o.writer.clearClonedElementsGroup(n.markerName),e.stop()}}}(t.view),{priority:t.converterPriority||"normal"})}}(t))}markerToData(t){return this.add(function(t){t=Vc(t);const e=t.model;let n=t.view;n||(n=n=>({group:e,name:n.substr(t.model.length+1)}));return o=>{var i;o.on(`addMarker:${e}`,(i=n,(t,e,n)=>{const o=i(e.markerName,n);if(!o)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(Gc(r,!1,n,e,o),Gc(r,!0,n,e,o),t.stop())}),{priority:t.converterPriority||"normal"}),o.on(`removeMarker:${e}`,function(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i)return;const r=o.mapper.markerNameToElements(n.markerName);if(r){for(const t of r)o.mapper.unbindElementFromMarkerName(t,n.markerName),t.is("containerElement")?(s(`data-${i.group}-start-before`,t),s(`data-${i.group}-start-after`,t),s(`data-${i.group}-end-before`,t),s(`data-${i.group}-end-after`,t)):o.writer.clear(o.writer.createRangeOn(t),t);o.writer.clearClonedElementsGroup(n.markerName),e.stop()}function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(i.name),0==n.size?o.writer.removeAttribute(t,e):o.writer.setAttribute(t,Array.from(n).join(","),e)}}}}(n),{priority:t.converterPriority||"normal"})}}(t))}}function Uc(t,e){const n=t.createAttributeElement("span",e.attributes);return e.classes&&n._addClass(e.classes),"number"==typeof e.priority&&(n._priority=e.priority),n._id=e.id,n}function Gc(t,e,n,o,i){const r=e?t.start:t.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let t,r;e&&s||!e&&!a?(t=s,r=!0):(t=a,r=!1);const c=n.mapper.toViewElement(t);if(c)return void function(t,e,n,o,i,r){const s=`data-${r.group}-${e?"start":"end"}-${n?"before":"after"}`,a=t.hasAttribute(s)?t.getAttribute(s).split(","):[];a.unshift(r.name),o.writer.setAttribute(s,a.join(","),t),o.mapper.bindElementToMarker(t,i.markerName)}(c,e,r,n,o,i)}!function(t,e,n,o,i){const r=`${i.group}-${e?"start":"end"}`,s=i.name?{name:i.name}:null,a=n.writer.createUIElement(r,s);n.writer.insert(t,a),n.mapper.bindElementToMarker(a,o.markerName)}(n.mapper.toViewPosition(r),e,n,o,i)}function Wc(t){return"string"==typeof t&&(t={name:t}),t.attributes?Array.isArray(t.attributes)||(t.attributes=[t.attributes]):t.attributes=[],t.children=!!t.children,t}function qc(t,e){return"function"==typeof t?t:(n,o)=>function(t,e,n){"string"==typeof t&&(t={name:t});let o;const i=e.writer,r=Object.assign({},t.attributes);if("container"==n)o=i.createContainerElement(t.name,r);else if("attribute"==n){const e={priority:t.priority||bs.DEFAULT_PRIORITY};o=i.createAttributeElement(t.name,r,e)}else o=i.createUIElement(t.name,r);if(t.styles){const e=Object.keys(t.styles);for(const n of e)i.setStyle(n,t.styles[n],o)}if(t.classes){const e=t.classes;if("string"==typeof e)i.addClass(e,o);else for(const t of e)i.addClass(t,o)}return o}(t,o,e)}function $c(t){return t.model.values?(e,n,o)=>{const i=t.view[e];return i?i(e,n,o):null}:t.view}function Yc(t){return"string"==typeof t?e=>({key:t,value:e}):"object"==typeof t?t.value?()=>t:e=>({key:t.key,value:e}):t}function Kc(t,e,n){const o="function"==typeof t?t(e,n):t;return o?(o.priority||(o.priority=10),o.id||(o.id=e.markerName),o):null}function Qc(t){const e=function(t){return(e,n)=>{if(!e.is("element",t.name))return!1;if("attribute"==n.type){if(t.attributes.includes(n.attributeKey))return!0}else if(t.children)return!0;return!1}}(t);return(t,n)=>{const o=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const t of n.changes){const i="attribute"==t.type?t.range.start.nodeAfter:t.position.parent;if(i&&e(i,t)){if(!n.reconvertedElements.has(i)){n.reconvertedElements.add(i);const t=pc._createBefore(i);o.push({type:"remove",name:i.name,position:t,length:1},{type:"reinsert",name:i.name,position:t,length:1})}}else o.push(t)}n.changes=o}}function Zc(t){return(e,n,o={})=>{const i=["insert"];for(const n of t.attributes)e.hasAttribute(n)&&i.push(`attribute:${n}`);return!!i.every((t=>n.test(e,t)))&&(o.preflight||i.forEach((t=>n.consume(e,t))),!0)}}function Jc(t,e,n,o){for(const i of e)Xc(t.root,i,n,o)||n.convertItem(i)}function Xc(t,e,n,o){const{writer:i,mapper:r}=n;if(!o.reconversion)return!1;const s=r.toViewElement(e);return!(!s||s.root==t)&&(!!n.canReuseView(s)&&(i.move(i.createRangeOn(s),r.toViewPosition(pc._createBefore(e))),!0))}function tl(t,e,{preflight:n}={}){return n?e.test(t,"insert"):e.consume(t,"insert")}function el(t){const{schema:e,document:n}=t.model;for(const o of n.getRootNames()){const i=n.getRoot(o);if(i.isEmpty&&!e.checkChild(i,"$text")&&e.checkChild(i,"paragraph"))return t.insertElement("paragraph",i),!0}return!1}function nl(t,e,n){const o=n.createContext(t);return!!n.checkChild(o,"paragraph")&&!!n.checkChild(o.push("paragraph"),e)}function ol(t,e){const n=e.createElement("paragraph");return e.insert(n,t),e.createPositionAt(n,0)}class il extends Fc{elementToElement(t){return this.add(rl(t))}elementToAttribute(t){return this.add(function(t){t=Vc(t),cl(t);const e=ll(t,!1),n=sl(t.view),o=n?`element:${n}`:"element";return n=>{n.on(o,e,{priority:t.converterPriority||"low"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Vc(t);let e=null;("string"==typeof t.view||t.view.key)&&(e=function(t){"string"==typeof t.view&&(t.view={key:t.view});const e=t.view.key;let n;if("class"==e||"style"==e){n={["class"==e?"classes":"styles"]:t.view.value}}else{n={attributes:{[e]:void 0===t.view.value?/[\s\S]*/:t.view.value}}}t.view.name&&(n.name=t.view.name);return t.view=n,e}(t));cl(t,e);const n=ll(t,!0);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}(t))}elementToMarker(t){return this.add(function(t){const e=function(t){return(e,n)=>{const o="string"==typeof t?t:t(e,n);return n.writer.createElement("$marker",{"data-name":o})}}(t.model);return rl({...t,model:e})}(t))}dataToMarker(t){return this.add(function(t){t=Vc(t),t.model||(t.model=e=>e?t.view+":"+e:t.view);const e={view:t.view,model:t.model},n=al(dl(e,"start")),o=al(dl(e,"end"));return i=>{i.on(`element:${t.view}-start`,n,{priority:t.converterPriority||"normal"}),i.on(`element:${t.view}-end`,o,{priority:t.converterPriority||"normal"});const r=p.get("low"),s=p.get("highest"),a=p.get(t.converterPriority)/s;i.on("element",function(t){return(e,n,o)=>{const i=`data-${t.view}`;function r(e,i){for(const r of i){const i=t.model(r,o),s=o.writer.createElement("$marker",{"data-name":i});o.writer.insert(s,e),n.modelCursor.isEqual(e)?n.modelCursor=n.modelCursor.getShiftedBy(1):n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1),n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}(o.consumable.test(n.viewItem,{attributes:i+"-end-after"})||o.consumable.test(n.viewItem,{attributes:i+"-start-after"})||o.consumable.test(n.viewItem,{attributes:i+"-end-before"})||o.consumable.test(n.viewItem,{attributes:i+"-start-before"}))&&(n.modelRange||Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor)),o.consumable.consume(n.viewItem,{attributes:i+"-end-after"})&&r(n.modelRange.end,n.viewItem.getAttribute(i+"-end-after").split(",")),o.consumable.consume(n.viewItem,{attributes:i+"-start-after"})&&r(n.modelRange.end,n.viewItem.getAttribute(i+"-start-after").split(",")),o.consumable.consume(n.viewItem,{attributes:i+"-end-before"})&&r(n.modelRange.start,n.viewItem.getAttribute(i+"-end-before").split(",")),o.consumable.consume(n.viewItem,{attributes:i+"-start-before"})&&r(n.modelRange.start,n.viewItem.getAttribute(i+"-start-before").split(",")))}}(e),{priority:r+a})}}(t))}}function rl(t){const e=al(t=Vc(t)),n=sl(t.view),o=n?`element:${n}`:"element";return n=>{n.on(o,e,{priority:t.converterPriority||"normal"})}}function sl(t){return"string"==typeof t?t:"object"==typeof t&&"string"==typeof t.name?t.name:null}function al(t){const e=new Ji(t.view);return(n,o,i)=>{const r=e.match(o.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(o.viewItem,s))return;const a=function(t,e,n){return t instanceof Function?t(e,n):n.writer.createElement(t)}(t.model,o.viewItem,i);a&&i.safeInsert(a,o.modelCursor)&&(i.consumable.consume(o.viewItem,s),i.convertChildren(o.viewItem,a),i.updateConversionResult(a,o))}}function cl(t,e=null){const n=null===e||(t=>t.getAttribute(e)),o="object"!=typeof t.model?t.model:t.model.key,i="object"!=typeof t.model||void 0===t.model.value?n:t.model.value;t.model={key:o,value:i}}function ll(t,e){const n=new Ji(t.view);return(o,i,r)=>{if(!i.modelRange&&e)return;const s=n.match(i.viewItem);if(!s)return;if(!function(t,e){const n="function"==typeof t?t(e):t;if("object"==typeof n&&!sl(n))return!1;return!n.classes&&!n.attributes&&!n.styles}(t.view,i.viewItem)?delete s.match.name:s.match.name=!0,!r.consumable.test(i.viewItem,s.match))return;const a=t.model.key,c="function"==typeof t.model.value?t.model.value(i.viewItem,r):t.model.value;if(null===c)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const l=function(t,e,n,o){let i=!1;for(const r of Array.from(t.getItems({shallow:n})))o.schema.checkAttribute(r,e.key)&&(i=!0,r.hasAttribute(e.key)||o.writer.setAttribute(e.key,e.value,r));return i}(i.modelRange,{key:a,value:c},e,r);l&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match))}}function dl(t,e){return{view:`${t.view}-${e}`,model:(e,n)=>{const o=e.getAttribute("name"),i=t.model(o,n);return n.writer.createElement("$marker",{"data-name":i})}}}class ul extends(U()){constructor(t,e){super(),this.model=t,this.view=new sc(e),this.mapper=new Cc,this.downcastDispatcher=new xc({mapper:this.mapper,schema:t.schema});const n=this.model.document,o=n.selection,i=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,i,t),this.downcastDispatcher.convertSelection(o,i,t)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",function(t,e){return(n,o)=>{const i=o.newSelection,r=[];for(const t of i.getRanges())r.push(e.toModelRange(t));const s=t.createSelection(r,{backward:i.isBackward});s.isEqual(t.document.selection)||t.change((t=>{t.setSelection(s)}))}}(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewPosition(e.range.start),r=o.createText(e.item.data);o.insert(i,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.downcastDispatcher.on("remove",((t,e,n)=>{const o=n.mapper.toViewPosition(e.position),i=e.position.getShiftedBy(e.length),r=n.mapper.toViewPosition(i,{isPhantom:!0}),s=n.writer.createRange(o,r),a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems())n.mapper.unbindViewElement(t,{defer:!0})}),{priority:"low"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const o=n.writer,i=o.document.selection;for(const t of i.getRanges())t.isCollapsed&&t.end.parent.isAttached()&&n.writer.mergeAttributes(t.start);o.setSelection(null)}),{priority:"high"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const o=e.selection;if(o.isCollapsed)return;if(!n.consumable.consume(o,"selection"))return;const i=[];for(const t of o.getRanges())i.push(n.mapper.toViewRange(t));n.writer.setSelection(i,{backward:o.isBackward})}),{priority:"low"}),this.downcastDispatcher.on("selection",((t,e,n)=>{const o=e.selection;if(!o.isCollapsed)return;if(!n.consumable.consume(o,"selection"))return;const i=n.writer,r=o.getFirstPosition(),s=n.mapper.toViewPosition(r),a=i.breakAttributes(s);i.setSelection(a)}),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if("$graveyard"==t.rootName)return null;const e=new os(this.view.document,t.name);return e.rootName=t.rootName,this.mapper.bindElements(t,e),e}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e="string"==typeof t?t:t.name,n=this.model.markers.get(e);if(!n)throw new k("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}class hl{constructor(){this._consumables=new Map}add(t,e){let n;t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new ml(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is("$text")||t.is("documentFragment")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is("$text")||t.is("documentFragment")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const t of n)"style"!=t&&"class"!=t&&e.attributes.push(t);const o=t.getClassNames();for(const t of o)e.classes.push(t);const i=t.getStyleNames();for(const t of i)e.styles.push(t);return e}static createFrom(t,e){if(e||(e=new hl),t.is("$text"))return e.add(t),e;t.is("element")&&e.add(t,hl.consumablesFromElement(t)),t.is("documentFragment")&&e.add(t);for(const n of t.getChildren())e=hl.createFrom(n,e);return e}}const gl=["attributes","classes","styles"];class ml{constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e of gl)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e of gl)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e of gl)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e of gl)e in t&&this._revert(e,t[e])}_add(t,e){const n=ut(e)?e:[e],o=this._consumables[t];for(const e of n){if("attributes"===t&&("class"===e||"style"===e))throw new k("viewconsumable-invalid-attribute",this);if(o.set(e,!0),"styles"===t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))o.set(t,!0)}}_test(t,e){const n=ut(e)?e:[e],o=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){const t=o.get(e);if(void 0===t)return null;if(!t)return!1}else{const t="class"==e?"classes":"styles",n=this._test(t,[...this._consumables[t].keys()]);if(!0!==n)return n}return!0}_consume(t,e){const n=ut(e)?e:[e],o=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){if(o.set(e,!1),"styles"==t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))o.set(t,!1)}else{const t="class"==e?"classes":"styles";this._consume(t,[...this._consumables[t].keys()])}}_revert(t,e){const n=ut(e)?e:[e],o=this._consumables[t];for(const e of n)if("attributes"!==t||"class"!==e&&"style"!==e){!1===o.get(e)&&o.set(e,!0)}else{const t="class"==e?"classes":"styles";this._revert(t,[...this._consumables[t].keys()])}}}class pl extends(U()){constructor(){super(),this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((t,e)=>{e[0]=new fl(e[0])}),{priority:"highest"}),this.on("checkChild",((t,e)=>{e[0]=new fl(e[0]),e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new k("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new k("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e="string"==typeof t?t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?"$text":t.name,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);return!!e&&!(!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!!e&&!(!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!!e&&!(!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);return!!n&&n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof pc){const e=t.nodeBefore,n=t.nodeAfter;if(!(e instanceof hc))throw new k("schema-check-merge-no-element-before",this);if(!(n instanceof hc))throw new k("schema-check-merge-no-element-after",this);return this.checkMerge(e,n)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on("checkChild",((e,[n,o])=>{if(!o)return;const i=t(n,o);"boolean"==typeof i&&(e.stop(),e.return=i)}),{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",((e,[n,o])=>{const i=t(n,o);"boolean"==typeof i&&(e.stop(),e.return=i)}),{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof pc)e=t.parent;else{e=(t instanceof _c?[t]:Array.from(t.getRanges())).reduce(((t,e)=>{const n=e.getCommonAncestor();return t?t.getCommonAncestor(n,{includeSelf:!0}):n}),null)}for(;!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new dc("",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const t of n)for(const n of t)if(this.checkAttribute(n.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(t){for(const e of t)yield*e.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if(this.checkChild(t,"$text"))return new _c(t);let n,o;const i=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;"both"!=e&&"backward"!=e||(n=new gc({boundaries:_c._createIn(i),startPosition:t,direction:"backward"})),"both"!=e&&"forward"!=e||(o=new gc({boundaries:_c._createIn(i),startPosition:t}));for(const t of function*(t,e){let n=!1;for(;!n;){if(n=!0,t){const e=t.next();e.done||(n=!1,yield{walker:t,value:e.value})}if(e){const t=e.next();t.done||(n=!1,yield{walker:e,value:t.value})}}}(n,o)){const e=t.walker==n?"elementEnd":"elementStart",o=t.value;if(o.type==e&&this.isObject(o.item))return _c._createOn(o.item);if(this.checkChild(o.nextPosition,"$text"))return new _c(o.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const o=n.model;for(const[i,r]of Object.entries(e))o.schema.checkAttribute(t,i)&&n.setAttribute(i,r,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))Tl(this,n,e);else{const t=_c._createIn(n).getPositions();for(const n of t){Tl(this,n.nodeBefore||n.parent,e)}}}getAttributesWithProperty(t,e,n){const o={};for(const[i,r]of t.getAttributes()){const t=this.getAttributeProperties(i);void 0!==t[e]&&(void 0!==n&&n!==t[e]||(o[i]=r))}return o}createContext(t){return new fl(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const o of n)t[o]=kl(e[o],o);for(const e of n)bl(t,e);for(const e of n)wl(t,e);for(const e of n)Al(t,e);for(const e of n)_l(t,e),Cl(t,e);for(const e of n)vl(t,e),yl(t,e),xl(t,e);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const o=e.getItem(n);if(t.allowIn.includes(o.name)){if(0==n)return!0;{const t=this.getDefinition(o);return this._checkContextMatch(t,e,n-1)}}return!1}*_getValidRangesForRange(t,e){let n=t.start,o=t.start;for(const i of t.getItems({shallow:!0}))i.is("element")&&(yield*this._getValidRangesForRange(_c._createIn(i),e)),this.checkAttribute(i,e)||(n.isEqual(o)||(yield new _c(n,o)),n=pc._createAfter(i)),o=pc._createAfter(i);n.isEqual(o)||(yield new _c(n,o))}}class fl{constructor(t){if(t instanceof fl)return t;let e;e="string"==typeof t?[t]:Array.isArray(t)?t:t.getAncestors({includeSelf:!0}),this._items=e.map(Il)}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 fl([t]);return e._items=[...this._items,...e._items],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 kl(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const o of t)e[o]=!!n[o]}}(t,n),El(t,n,"allowIn"),El(t,n,"allowContentOf"),El(t,n,"allowWhere"),El(t,n,"allowAttributes"),El(t,n,"allowAttributesOf"),El(t,n,"allowChildren"),El(t,n,"inheritTypesFrom"),function(t,e){for(const n of t){const t=n.inheritAllFrom;t&&(e.allowContentOf.push(t),e.allowWhere.push(t),e.allowAttributesOf.push(t),e.inheritTypesFrom.push(t))}}(t,n),n}function bl(t,e){const n=t[e];for(const o of n.allowChildren){const n=t[o];n&&n.allowIn.push(e)}n.allowChildren.length=0}function wl(t,e){for(const n of t[e].allowContentOf)if(t[n]){Dl(t,n).forEach((t=>{t.allowIn.push(e)}))}delete t[e].allowContentOf}function Al(t,e){for(const n of t[e].allowWhere){const o=t[n];if(o){const n=o.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function _l(t,e){for(const n of t[e].allowAttributesOf){const o=t[n];if(o){const n=o.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function Cl(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const o=t[e];if(o){const t=Object.keys(o).filter((t=>t.startsWith("is")));for(const e of t)e in n||(n[e]=o[e])}}delete n.inheritTypesFrom}function vl(t,e){const n=t[e],o=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(o))}function yl(t,e){const n=t[e];for(const o of n.allowIn){t[o].allowChildren.push(e)}}function xl(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function El(t,e,n){for(const o of t){const t=o[n];"string"==typeof t?e[n].push(t):Array.isArray(t)&&e[n].push(...t)}}function Dl(t,e){const n=t[e];return(o=t,Object.keys(o).map((t=>o[t]))).filter((t=>t.allowIn.includes(n.name)));var o}function Il(t){return"string"==typeof t||t.is("documentFragment")?{name:"string"==typeof t?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute:e=>t.getAttribute(e)}}function Tl(t,e,n){for(const o of e.getAttributeKeys())t.checkAttribute(e,o)||n.removeAttribute(o,e)}class Sl extends(I()){constructor(t){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=function(t,e){let n;for(const o of new fl(t)){const t={};for(const e of o.getAttributeKeys())t[e]=o.getAttribute(e);const i=e.createElement(o.name,t);n&&e.insert(i,n),n=pc._createAt(i,0)}return n}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=hl.createFrom(t),this.conversionApi.store={};const{modelRange:o}=this._convertItem(t,this._modelCursor),i=e.createDocumentFragment();if(o){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren()))e.append(t,i);i.markers=function(t,e){const n=new Set,o=new Map,i=_c._createIn(t).getItems();for(const t of i)t.is("element","$marker")&&n.add(t);for(const t of n){const n=t.getAttribute("data-name"),i=e.createPositionBefore(t);o.has(n)?o.get(n).end=i.clone():o.set(n,new _c(i.clone())),e.remove(t)}return o}(i,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof _c))throw new k("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:pc._createAt(e,0);const o=new _c(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);t.modelRange instanceof _c&&(o.end=t.modelRange.end,n=t.modelCursor)}return{modelRange:o,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),o=this.conversionApi.writer;e.modelRange||(e.modelRange=o.createRange(o.createPositionBefore(t),o.createPositionAfter(n[n.length-1])));const i=this._cursorParents.get(t);e.modelCursor=i?o.createPositionAt(i,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:o}=this.conversionApi;let i=n.findAllowedParent(e,t);if(i){if(i===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return nl(e,t,n)?{position:ol(e,o)}:null;const r=this.conversionApi.writer.split(e,i),s=[];for(const t of r.range.getWalker())if("elementEnd"==t.type)s.push(t.item);else{const e=s.pop(),n=t.item;this._registerSplitPair(e,n)}const a=r.range.end.parent;return this._cursorParents.set(t,a),{position:r.position,cursorParent:a}}_registerSplitPair(t,e){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;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}class Ml{getHtml(t){const e=document.implementation.createHTMLDocument("").createElement("div");return e.appendChild(t),e.innerHTML}}class Nl{constructor(t){this.skipComments=!0,this.domParser=new DOMParser,this.domConverter=new aa(t,{renderingMode:"data"}),this.htmlWriter=new Ml}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode="marked"==t?"markedNbsp":"nbsp"}_toDom(t){t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),o=e.body.childNodes;for(;o.length>0;)n.appendChild(o[0]);return n}}class Bl extends(I()){constructor(t,e){super(),this.model=t,this.mapper=new Cc,this.downcastDispatcher=new xc({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewPosition(e.range.start),r=o.createText(e.item.data);o.insert(i,r)}),{priority:"lowest"}),this.downcastDispatcher.on("insert",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is("element")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:"lowest"}),this.upcastDispatcher=new Sl({schema:t.schema}),this.viewDocument=new ks(e),this.stylesProcessor=e,this.htmlProcessor=new Nl(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new Ts(this.viewDocument),this.upcastDispatcher.on("text",((t,e,{schema:n,consumable:o,writer:i})=>{let r=e.modelCursor;if(!o.test(e.viewItem))return;if(!n.checkChild(r,"$text")){if(!nl(r,"$text",n))return;if(0==e.viewItem.data.trim().length)return;r=ol(r,i)}o.consume(e.viewItem);const s=i.createText(e.viewItem.data);i.insert(s,r),e.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize)),e.modelCursor=e.modelRange.end}),{priority:"lowest"}),this.upcastDispatcher.on("element",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=o}}),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=o}}),{priority:"lowest"}),U().prototype.decorate.call(this,"init"),U().prototype.decorate.call(this,"set"),U().prototype.decorate.call(this,"get"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},el)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new k("datacontroller-get-non-existent-root",this);const o=this.model.document.getRoot(e);return"empty"!==n||this.model.hasContent(o,{ignoreWhitespaces:!0})?this.stringify(o,t):""}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,o=this._viewWriter;this.mapper.clearBindings();const i=_c._createIn(t),r=new Is(n);this.mapper.bindElements(t,r);const s=t.is("documentFragment")?t.markers:function(t){const e=[],n=t.root.document;if(!n)return new Map;const o=_c._createIn(t);for(const t of n.model.markers){const n=t.getRange(),i=n.isCollapsed,r=n.start.isEqual(o.start)||n.end.isEqual(o.end);if(i&&r)e.push([t.name,n]);else{const i=o.getIntersection(n);i&&e.push([t.name,i])}}return e.sort((([t,e],[n,o])=>{if("after"!==e.end.compareWith(o.start))return 1;if("before"!==e.start.compareWith(o.end))return-1;switch(e.start.compareWith(o.start)){case"before":return 1;case"after":return-1;default:switch(e.end.compareWith(o.end)){case"before":return 1;case"after":return-1;default:return n.localeCompare(t)}}})),new Map(e)}(t);return this.downcastDispatcher.convert(i,s,o,e),r}init(t){if(this.model.document.version)throw new k("datacontroller-init-document-not-empty",this);let e={};if("string"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new k("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(t=>{for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.insert(this.parse(e[n],o),o,0)}})),Promise.resolve()}set(t,e={}){let n={};if("string"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new k("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null),t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const o=this.model.document.getRoot(e);t.remove(t.createRangeIn(o)),t.insert(this.parse(n[e],o),o,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRootNames().includes(e))return!1;return!0}}class zl{constructor(t,e){this._helpers=new Map,this._downcast=pi(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=pi(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new k("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new k("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of Pl(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 Pl(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 Pl(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new k("conversion-group-exists",this);const o=n?new Hc(e):new il(e);this._helpers.set(t,o)}}function*Pl(t){if(t.model.values)for(const e of t.model.values){const n={key:t.model.key,value:e},o=t.view[e],i=t.upcastAlso?t.upcastAlso[e]:void 0;yield*Ll(n,o,i)}else yield*Ll(t.model,t.view,t.upcastAlso)}function*Ll(t,e,n){if(yield{model:t,view:e},n)for(const e of pi(n))yield{model:t,view:e}}class Ol{constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function Rl(t,e){const n=Vl(e),o=n.reduce(((t,e)=>t+e.offsetSize),0),i=t.parent;Ul(t);const r=t.index;return i._insertChild(r,n),Hl(i,r+n.length),Hl(i,r),new _c(t,t.getShiftedBy(o))}function jl(t){if(!t.isFlat)throw new k("operation-utils-remove-range-not-flat",this);const e=t.start.parent;Ul(t.start),Ul(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);return Hl(e,t.start.index),n}function Fl(t,e){if(!t.isFlat)throw new k("operation-utils-move-range-not-flat",this);const n=jl(t);return Rl(e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset),n)}function Vl(t){const e=[];!function t(n){if("string"==typeof n)e.push(new dc(n));else if(n instanceof uc)e.push(new dc(n.data,n.getAttributes()));else if(n instanceof cc)e.push(n);else if(Z(n))for(const e of n)t(e)}(t);for(let t=1;tt.maxOffset)throw new k("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[t]t._clone(!0)))),e=new ql(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new pc(t,[0]);return new Wl(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(!0)))),Rl(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes)e.name?n.push(hc.fromJSON(e)):n.push(dc.fromJSON(e));const o=new ql(pc.fromJSON(t.position,e),n,t.baseVersion);return o.shouldReceiveAttributes=t.shouldReceiveAttributes,o}}class $l extends Ol{constructor(t,e,n,o,i,r){super(r),this.name=t,this.oldRange=e?e.clone():null,this.newRange=n?n.clone():null,this.affectsData=i,this._markers=o}get type(){return"marker"}clone(){return new $l(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new $l(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){this.newRange?this._markers._set(this.name,this.newRange,!0,this.affectsData):this._markers._remove(this.name)}toJSON(){const t=super.toJSON();return this.oldRange&&(t.oldRange=this.oldRange.toJSON()),this.newRange&&(t.newRange=this.newRange.toJSON()),delete t._markers,t}static get className(){return"MarkerOperation"}static fromJSON(t,e){return new $l(t.name,t.oldRange?_c.fromJSON(t.oldRange,e):null,t.newRange?_c.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}const Yl=function(t,e){return Ka(t,e)};class Kl extends Ol{constructor(t,e,n,o,i){super(i),this.range=t.clone(),this.key=e,this.oldValue=void 0===n?null:n,this.newValue=void 0===o?null:o}get type(){return null===this.oldValue?"addAttribute":null===this.newValue?"removeAttribute":"changeAttribute"}clone(){return new Kl(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new Kl(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const t=super.toJSON();return t.range=this.range.toJSON(),t}_validate(){if(!this.range.isFlat)throw new k("attribute-operation-range-not-flat",this);for(const t of this.range.getItems({shallow:!0})){if(null!==this.oldValue&&!Yl(t.getAttribute(this.key),this.oldValue))throw new k("attribute-operation-wrong-old-value",this,{item:t,key:this.key,value:this.oldValue});if(null===this.oldValue&&null!==this.newValue&&t.hasAttribute(this.key))throw new k("attribute-operation-attribute-exists",this,{node:t,key:this.key})}}_execute(){Yl(this.oldValue,this.newValue)||function(t,e,n){Ul(t.start),Ul(t.end);for(const o of t.getItems({shallow:!0})){const t=o.is("$textProxy")?o.textNode:o;null!==n?t._setAttribute(e,n):t._removeAttribute(e),Hl(t.parent,t.index)}Hl(t.end.parent,t.end.index)}(this.range,this.key,this.newValue)}static get className(){return"AttributeOperation"}static fromJSON(t,e){return new Kl(_c.fromJSON(t.range,e),t.key,t.oldValue,t.newValue,t.baseVersion)}}class Ql extends Ol{get type(){return"noop"}clone(){return new Ql(this.baseVersion)}getReversed(){return new Ql(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}class Zl extends Ol{constructor(t,e,n,o){super(o),this.position=t,this.position.stickiness="toNext",this.oldName=e,this.newName=n}get type(){return"rename"}clone(){return new Zl(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new Zl(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof hc))throw new k("rename-operation-wrong-position",this);if(t.name!==this.oldName)throw new k("rename-operation-wrong-name",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t}static get className(){return"RenameOperation"}static fromJSON(t,e){return new Zl(pc.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class Jl extends Ol{constructor(t,e,n,o,i){super(i),this.root=t,this.key=e,this.oldValue=n,this.newValue=o}get type(){return null===this.oldValue?"addRootAttribute":null===this.newValue?"removeRootAttribute":"changeRootAttribute"}clone(){return new Jl(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new Jl(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment"))throw new k("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new k("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new k("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const t=super.toJSON();return t.root=this.root.toJSON(),t}static get className(){return"RootAttributeOperation"}static fromJSON(t,e){if(!e.getRoot(t.root))throw new k("rootattribute-operation-fromjson-no-root",this,{rootName:t.root});return new Jl(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class Xl extends Ol{constructor(t,e,n,o,i){super(i),this.sourcePosition=t.clone(),this.sourcePosition.stickiness="toPrevious",this.howMany=e,this.targetPosition=n.clone(),this.targetPosition.stickiness="toNext",this.graveyardPosition=o.clone()}get type(){return"merge"}get deletionPosition(){return new pc(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new _c(this.sourcePosition,t)}clone(){return new Xl(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this),e=this.sourcePosition.path.slice(0,-1),n=new pc(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);return new td(t,this.howMany,n,this.graveyardPosition,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent,e=this.targetPosition.parent;if(!t.parent)throw new k("merge-operation-source-position-invalid",this);if(!e.parent)throw new k("merge-operation-target-position-invalid",this);if(this.howMany!=t.maxOffset)throw new k("merge-operation-how-many-invalid",this)}_execute(){const t=this.sourcePosition.parent;Fl(_c._createIn(t),this.targetPosition),Fl(_c._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();return t.sourcePosition=t.sourcePosition.toJSON(),t.targetPosition=t.targetPosition.toJSON(),t.graveyardPosition=t.graveyardPosition.toJSON(),t}static get className(){return"MergeOperation"}static fromJSON(t,e){const n=pc.fromJSON(t.sourcePosition,e),o=pc.fromJSON(t.targetPosition,e),i=pc.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,o,i,t.baseVersion)}}class td extends Ol{constructor(t,e,n,o,i){super(i),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=o?o.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new pc(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new _c(this.splitPosition,t)}clone(){return new td(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new pc(t,[0]);return new Xl(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const o=t.range.getDifference(e.range).map((e=>new Kl(e,t.key,t.oldValue,t.newValue,0))),i=t.range.getIntersection(e.range);return i&&n.aIsStrong&&o.push(new Kl(i,e.key,e.newValue,t.newValue,0)),0==o.length?[new Ql(0)]:o}return[t]})),id(Kl,ql,((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).map((e=>new Kl(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const o=ud(e,t.key,t.oldValue);o&&n.unshift(o)}return n}return t.range=t.range._getTransformedByInsertion(e.position,e.howMany,!1)[0],[t]})),id(Kl,Xl,((t,e)=>{const n=[];t.range.start.hasSameParentAs(e.deletionPosition)&&(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition))&&n.push(_c._createFromPositionAndShift(e.graveyardPosition,1));const o=t.range._getTransformedByMergeOperation(e);return o.isCollapsed||n.push(o),n.map((e=>new Kl(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),id(Kl,Wl,((t,e)=>{const n=function(t,e){const n=_c._createFromPositionAndShift(e.sourcePosition,e.howMany);let o=null,i=[];n.containsRange(t,!0)?o=t:t.start.hasSameParentAs(n.start)?(i=t.getDifference(n),o=t.getIntersection(n)):i=[t];const r=[];for(let t of i){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart(),o=t.start.hasSameParentAs(n),i=t._getTransformedByInsertion(n,e.howMany,o);r.push(...i)}o&&r.push(o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,!1)[0]);return r}(t.range,e);return n.map((e=>new Kl(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),id(Kl,td,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.range.end.offset++,[t];if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();return n.range=new _c(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition)),t.range.end=e.splitPosition.clone(),t.range.end.stickiness="toPrevious",[t,n]}return t.range=t.range._getTransformedBySplitOperation(e),[t]})),id(ql,Kl,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const o=ud(t,e.key,e.newValue);o&&n.push(o)}return n})),id(ql,ql,((t,e,n)=>(t.position.isEqual(e.position)&&n.aIsStrong||(t.position=t.position._getTransformedByInsertOperation(e)),[t]))),id(ql,Wl,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),id(ql,td,((t,e)=>(t.position=t.position._getTransformedBySplitOperation(e),[t]))),id(ql,Xl,((t,e)=>(t.position=t.position._getTransformedByMergeOperation(e),[t]))),id($l,ql,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]),t.newRange&&(t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]),[t]))),id($l,$l,((t,e,n)=>{if(t.name==e.name){if(!n.aIsStrong)return[new Ql(0)];t.oldRange=e.newRange?e.newRange.clone():null}return[t]})),id($l,Xl,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByMergeOperation(e)),t.newRange&&(t.newRange=t.newRange._getTransformedByMergeOperation(e)),[t]))),id($l,Wl,((t,e,n)=>{if(t.oldRange&&(t.oldRange=_c._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))),t.newRange){if(n.abRelation){const o=_c._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if("left"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.start))return t.newRange.end=o.end,t.newRange.start.path=n.abRelation.path,[t];if("right"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.end))return t.newRange.start=o.start,t.newRange.end.path=n.abRelation.path,[t]}t.newRange=_c._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]})),id($l,td,((t,e,n)=>{if(t.oldRange&&(t.oldRange=t.oldRange._getTransformedBySplitOperation(e)),t.newRange){if(n.abRelation){const o=t.newRange._getTransformedBySplitOperation(e);return t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement?t.newRange.start=pc._createAt(e.insertionPosition):t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement&&(t.newRange.start=pc._createAt(e.moveTargetPosition)),t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement?t.newRange.end=pc._createAt(e.moveTargetPosition):t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement?t.newRange.end=pc._createAt(e.insertionPosition):t.newRange.end=o.end,[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]})),id(Xl,ql,((t,e)=>(t.sourcePosition.hasSameParentAs(e.position)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e),t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e),[t]))),id(Xl,Xl,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(n.bWasUndone){const n=e.graveyardPosition.path.slice();return n.push(0),t.sourcePosition=new pc(e.graveyardPosition.root,n),t.howMany=0,[t]}return[new Ql(0)]}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&"splitAtSource"!=n.abRelation){const o="$graveyard"==t.targetPosition.root.rootName,i="$graveyard"==e.targetPosition.root.rootName;if(i&&!o||!(o&&!i)&&n.aIsStrong){const n=e.targetPosition._getTransformedByMergeOperation(e),o=t.targetPosition._getTransformedByMergeOperation(e);return[new Wl(n,t.howMany,o,0)]}return[new Ql(0)]}return t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),t.graveyardPosition.isEqual(e.graveyardPosition)&&n.aIsStrong||(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),id(Xl,Wl,((t,e,n)=>{const o=_c._createFromPositionAndShift(e.sourcePosition,e.howMany);return"remove"==e.type&&!n.bWasUndone&&!n.forceWeakRemove&&t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition)?[new Ql(0)]:(t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition.hasSameParentAs(e.sourcePosition)&&(t.howMany-=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e),t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e),t.graveyardPosition.isEqual(e.targetPosition)||(t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)),[t])})),id(Xl,td,((t,e,n)=>{if(e.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1),t.deletionPosition.isEqual(e.graveyardPosition)&&(t.howMany=e.howMany)),t.targetPosition.isEqual(e.splitPosition)){const o=0!=e.howMany,i=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(o||i||"mergeTargetNotMoved"==n.abRelation)return t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),[t]}if(t.sourcePosition.isEqual(e.splitPosition)){if("mergeSourceNotMoved"==n.abRelation)return t.howMany=0,t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t];if("mergeSameElement"==n.abRelation||t.sourcePosition.offset>0)return t.sourcePosition=e.moveTargetPosition.clone(),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]}return t.sourcePosition.hasSameParentAs(e.splitPosition)&&(t.howMany=e.splitPosition.offset),t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]})),id(Wl,ql,((t,e)=>{const n=_c._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByInsertOperation(e,!1)[0];return t.sourcePosition=n.start,t.howMany=n.end.offset-n.start.offset,t.targetPosition.isEqual(e.position)||(t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)),[t]})),id(Wl,Wl,((t,e,n)=>{const o=_c._createFromPositionAndShift(t.sourcePosition,t.howMany),i=_c._createFromPositionAndShift(e.sourcePosition,e.howMany);let r,s=n.aIsStrong,a=!n.aIsStrong;if("insertBefore"==n.abRelation||"insertAfter"==n.baRelation?a=!0:"insertAfter"!=n.abRelation&&"insertBefore"!=n.baRelation||(a=!1),r=t.targetPosition.isEqual(e.targetPosition)&&a?t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany):t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),hd(t,e)&&hd(e,t))return[e.getReversed()];if(o.containsPosition(e.targetPosition)&&o.containsRange(i,!0))return o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),gd([o],r);if(i.containsPosition(t.targetPosition)&&i.containsRange(o,!0))return o.start=o.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),o.end=o.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),gd([o],r);const c=Q(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),gd([o],r);"remove"!=t.type||"remove"==e.type||n.aWasUndone||n.forceWeakRemove?"remove"==t.type||"remove"!=e.type||n.bWasUndone||n.forceWeakRemove||(s=!1):s=!0;const l=[],d=o.getDifference(i);for(const t of d){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany),t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n="same"==Q(t.start.getParentPath(),e.getMovedRangeStart().getParentPath()),o=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);l.push(...o)}const u=o.getIntersection(i);return null!==u&&s&&(u.start=u.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),u.end=u.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),0===l.length?l.push(u):1==l.length?i.start.isBefore(o.start)||i.start.isEqual(o.start)?l.unshift(u):l.push(u):l.splice(1,0,u)),0===l.length?[new Ql(t.baseVersion)]:gd(l,r)})),id(Wl,td,((t,e,n)=>{let o=t.targetPosition.clone();t.targetPosition.isEqual(e.insertionPosition)&&e.graveyardPosition&&"moveTargetAfter"!=n.abRelation||(o=t.targetPosition._getTransformedBySplitOperation(e));const i=_c._createFromPositionAndShift(t.sourcePosition,t.howMany);if(i.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.howMany++,t.targetPosition=o,[t];if(i.start.hasSameParentAs(e.splitPosition)&&i.containsPosition(e.splitPosition)){let t=new _c(e.splitPosition,i.end);t=t._getTransformedBySplitOperation(e);return gd([new _c(i.start,e.splitPosition),t],o)}t.targetPosition.isEqual(e.splitPosition)&&"insertAtSource"==n.abRelation&&(o=e.moveTargetPosition),t.targetPosition.isEqual(e.insertionPosition)&&"insertBetween"==n.abRelation&&(o=t.targetPosition);const r=[i._getTransformedBySplitOperation(e)];if(e.graveyardPosition){const o=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);t.howMany>1&&o&&!n.aWasUndone&&r.push(_c._createFromPositionAndShift(e.insertionPosition,1))}return gd(r,o)})),id(Wl,Xl,((t,e,n)=>{const o=_c._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition))if("remove"!=t.type||n.forceWeakRemove){if(1==t.howMany)return n.bWasUndone?(t.sourcePosition=e.graveyardPosition.clone(),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]):[new Ql(0)]}else if(!n.aWasUndone){const n=[];let o=e.graveyardPosition.clone(),i=e.targetPosition._getTransformedByMergeOperation(e);t.howMany>1&&(n.push(new Wl(t.sourcePosition,t.howMany-1,t.targetPosition,0)),o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1),i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1));const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition),s=new Wl(o,1,r,0),a=s.getMovedRangeStart().path.slice();a.push(0);const c=new pc(s.targetPosition.root,a);i=i._getTransformedByMove(o,r,1);const l=new Wl(i,e.howMany,c,0);return n.push(s),n.push(l),n}const i=_c._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByMergeOperation(e);return t.sourcePosition=i.start,t.howMany=i.end.offset-i.start.offset,t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]})),id(Zl,ql,((t,e)=>(t.position=t.position._getTransformedByInsertOperation(e),[t]))),id(Zl,Xl,((t,e)=>t.position.isEqual(e.deletionPosition)?(t.position=e.graveyardPosition.clone(),t.position.stickiness="toNext",[t]):(t.position=t.position._getTransformedByMergeOperation(e),[t]))),id(Zl,Wl,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),id(Zl,Zl,((t,e,n)=>{if(t.position.isEqual(e.position)){if(!n.aIsStrong)return[new Ql(0)];t.oldName=e.newName}return[t]})),id(Zl,td,((t,e)=>{if("same"==Q(t.position.path,e.splitPosition.getParentPath())&&!e.graveyardPosition){const e=new Zl(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}return t.position=t.position._getTransformedBySplitOperation(e),[t]})),id(Jl,Jl,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue)return[new Ql(0)];t.oldValue=e.newValue}return[t]})),id(td,ql,((t,e)=>(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const o=new pc(e.graveyardPosition.root,n),i=td.getInsertionPosition(new pc(e.graveyardPosition.root,n)),r=new td(o,0,i,null,0);return t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=td.getInsertionPosition(t.splitPosition),t.graveyardPosition=r.insertionPosition.clone(),t.graveyardPosition.stickiness="toNext",[r,t]}return t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)&&t.howMany--,t.splitPosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=td.getInsertionPosition(t.splitPosition),t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),id(td,Wl,((t,e,n)=>{const o=_c._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const i=o.start.isEqual(t.graveyardPosition)||o.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&i){const n=t.splitPosition._getTransformedByMoveOperation(e),o=t.graveyardPosition._getTransformedByMoveOperation(e),i=o.path.slice();i.push(0);const r=new pc(o.root,i);return[new Wl(n,t.howMany,r,0)]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const i=t.splitPosition.isEqual(e.targetPosition);if(i&&("insertAtSource"==n.baRelation||"splitBefore"==n.abRelation))return t.howMany+=e.howMany,t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany),t.insertionPosition=td.getInsertionPosition(t.splitPosition),[t];if(i&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:o}=n.abRelation;return t.howMany+=e,t.splitPosition=t.splitPosition.getShiftedBy(o),[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);return t.howMany-=n,t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition)return[new Ql(0)];if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition))return[new Ql(0)];if("splitBefore"==n.abRelation)return t.howMany=0,t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e),[t]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const o="$graveyard"==t.splitPosition.root.rootName,i="$graveyard"==e.splitPosition.root.rootName;if(i&&!o||!(o&&!i)&&n.aIsStrong){const n=[];return e.howMany&&n.push(new Wl(e.moveTargetPosition,e.howMany,e.splitPosition,0)),t.howMany&&n.push(new Wl(t.splitPosition,t.howMany,t.moveTargetPosition,0)),n}return[new Ql(0)]}if(t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)),t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==n.abRelation)return t.howMany++,[t];if(e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==n.baRelation){const n=e.insertionPosition.path.slice();n.push(0);const o=new pc(e.insertionPosition.root,n);return[t,new Wl(t.insertionPosition,1,o,0)]}return t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];n.isDocumentOperation&&fd.call(this,n)}),{priority:"low"})}function fd(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)}}md.prototype.is=function(t){return"livePosition"===t||"model:livePosition"===t||"position"==t||"model:position"===t};class kd{constructor(t={}){"string"==typeof t&&(t="transparent"===t?{isUndoable:!1}:{},b("batch-constructor-deprecated-string-type"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:o=!1,isTyping:i=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=o,this.isTyping=i}get type(){return b("batch-type-deprecated"),"default"}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class bd{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,this._refreshedItems=new Set}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}bufferOperation(t){const e=t;switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),n=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),n||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=_c._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case"split":{const t=e.splitPosition.parent;this._isInInsertedElement(t)||this._markRemove(t,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1);const o=e.targetPosition.parent;this._isInInsertedElement(o)||this._markInsert(o,e.targetPosition.offset,t.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){const o=this._changedMarkers.get(t);o?(o.newMarkerData=n,null==o.oldMarkerData.range&&null==n.range&&this._changedMarkers.delete(t)):this._changedMarkers.set(t,{newMarkerData:n,oldMarkerData:e})}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldMarkerData.range&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newMarkerData.range&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,o=!t.range&&e.range,i=t.range&&e.range&&!t.range.isEqual(e.range);if(n||o||i)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>t.offset===e.offset?t.type!=e.type?"remove"==t.type?-1:1:0:t.offsett.position.root!=e.position.root?t.position.root.rootNamet));for(const t of e)delete t.changeCount,"attribute"==t.type&&(delete t.position,delete t.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(_d),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t);const e=_c._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_markInsert(t,e,n){const o={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o)}_markRemove(t,e,n){const o={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o),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;tn.offset){if(o>i){const t={type:"attribute",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(t,e),e.push(t)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offseti?(t.nodesToHandle=o-i,t.offset=i):t.nodesToHandle=0);if("remove"==n.type&&t.offsetn.offset){const i={type:"attribute",offset:n.offset,howMany:o-n.offset,count:this._changeCount++};this._handleChange(i,e),e.push(i),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}"attribute"==n.type&&(t.offset>=n.offset&&o<=i?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&o>=i&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:pc._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:pc._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const o=[];n=new Map(n);for(const[i,r]of e){const e=n.has(i)?n.get(i):null;e!==r&&o.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++}),n.delete(i)}for(const[e,i]of n)o.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return o}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),o=t.startOffset;if(n)for(const t of n)if("insert"==t.type&&o>=t.offset&&oo){for(let e=0;ethis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new k("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];void 0===t&&(t=n.baseVersion);let o=e-1;for(const[e,n]of this._gaps)t>e&&te&&othis.lastOperation.baseVersion)return[];let i=this._baseVersionToOperationIndex.get(t);void 0===i&&(i=0);let r=this._baseVersionToOperationIndex.get(o);return void 0===r&&(r=this._operations.length-1),this._operations.slice(i,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(void 0!==e)return this._operations[e]}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)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class vd extends hc{constructor(t,e,n="main"){super(e),this._document=t,this.rootName=n}get document(){return this._document}toJSON(){return this.rootName}}vd.prototype.is=function(t,e){return e?e===this.name&&("rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t):"rootElement"===t||"model:rootElement"===t||"element"===t||"model:element"===t||"node"===t||"model:node"===t};const yd="$graveyard";class xd extends(I()){constructor(t){super(),this.model=t,this.history=new Cd,this.selection=new Oc(this),this.roots=new Ai({idProperty:"rootName"}),this.differ=new bd(t.markers),this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",yd),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.differ.bufferOperation(n)}),{priority:"high"}),this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.history.addOperation(n)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(t.markers,"update",((t,e,n,o,i)=>{const r={...e.getData(),range:o};this.differ.bufferMarkerChange(e.name,i,r),null===n&&e.on("change",((t,n)=>{const o=e.getData();this.differ.bufferMarkerChange(e.name,{...o,range:n},o)}))}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(yd)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new k("model-document-createroot-name-exists",this,{name:e});const n=new vd(this,t,e);return this.roots.add(n),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!=yd))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Yi(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_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(),e=this.model,n=e.schema,o=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(o)||e.createRange(o)}_validateSelectionRange(t){return Ed(t.start)&&Ed(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function Ed(t){const e=t.textNode;if(e){const n=e.data,o=t.offset-e.startOffset;return!xi(n,o)&&!Ei(n,o)}return!0}class Dd extends(I()){constructor(){super(),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof Id?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,o=!1){const i=t instanceof Id?t.name:t;if(i.includes(","))throw new k("markercollection-incorrect-marker-name",this);const r=this._markers.get(i);if(r){const t=r.getData(),s=r.getRange();let a=!1;return s.isEqual(e)||(r._attachLiveRange(Bc.fromRange(e)),a=!0),n!=r.managedUsingOperations&&(r._managedUsingOperations=n,a=!0),"boolean"==typeof o&&o!=r.affectsData&&(r._affectsData=o,a=!0),a&&this.fire(`update:${i}`,r,s,e,t),r}const s=Bc.fromRange(e),a=new Id(i,s,n,o);return this._markers.set(i,a),this.fire(`update:${i}`,a,null,e,{...a.getData(),range:null}),a}_remove(t){const e=t instanceof Id?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof Id?t.name:t,n=this._markers.get(e);if(!n)throw new k("markercollection-refresh-marker-not-exists",this);const o=n.getRange();this.fire(`update:${e}`,n,o,o,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(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())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class Id extends(I(ac)){constructor(t,e,n,o){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=o}get managedUsingOperations(){if(!this._liveRange)throw new k("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new k("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new k("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new k("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new k("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Id.prototype.is=function(t){return"marker"===t||"model:marker"===t};class Td extends Ol{constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return"detach"}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new k("detach-operation-on-document-node",this)}_execute(){jl(_c._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class Sd extends ac{constructor(t){super(),this.markers=new Map,this._children=new lc,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 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}getAncestors(){return[]}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)n.name?e.push(hc.fromJSON(n)):e.push(dc.fromJSON(n));return new Sd(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if("string"==typeof t)return[new dc(t)];Z(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new dc(t):t instanceof uc?new dc(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&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}}Sd.prototype.is=function(t){return"documentFragment"===t||"model:documentFragment"===t};class Md{constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new dc(t,e)}createElement(t,e){return new hc(t,e)}createDocumentFragment(){return new Sd}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof dc&&""==t.data)return;const o=pc._createAt(e,n);if(t.parent){if(Ld(t.root,o.root))return void this.move(_c._createOn(t),o);if(t.root.document)throw new k("model-writer-insert-forbidden-move",this);this.remove(t)}const i=o.root.document?o.root.document.version:null,r=new ql(o,t,i);if(t instanceof dc&&(r.shouldReceiveAttributes=!0),this.batch.addOperation(r),this.model.applyOperation(r),t instanceof Sd)for(const[e,n]of t.markers){const t=pc._createAt(n.root,0),i={range:new _c(n.start._getCombined(t,o),n.end._getCombined(t,o)),usingOperation:!0,affectsData:!0};this.model.markers.has(e)?this.updateMarker(e,i):this.addMarker(e,i)}}insertText(t,e,n,o){e instanceof Sd||e instanceof hc||e instanceof pc?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,o)}insertElement(t,e,n,o){e instanceof Sd||e instanceof hc||e instanceof pc?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,o)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof Sd||e instanceof hc?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof Sd||e instanceof hc?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof _c){const o=n.getMinimalFlatRanges();for(const n of o)Nd(this,t,e,n)}else Bd(this,t,e,n)}setAttributes(t,e){for(const[n,o]of yi(t))this.setAttribute(n,o,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof _c){const n=e.getMinimalFlatRanges();for(const e of n)Nd(this,t,null,e)}else Bd(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys())this.removeAttribute(e,t)};if(t instanceof _c)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof _c))throw new k("writer-move-invalid-range",this);if(!t.isFlat)throw new k("writer-move-range-not-flat",this);const o=pc._createAt(e,n);if(o.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!Ld(t.root,o.root))throw new k("writer-move-different-document",this);const i=t.root.document?t.root.document.version:null,r=new Wl(t.start,t.end.offset-t.start.offset,o,i);this.batch.addOperation(r),this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof _c?t:_c._createOn(t)).getMinimalFlatRanges().reverse();for(const t of e)this._addOperationForAffectedMarkers("move",t),Pd(t.start,t.end.offset-t.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof hc))throw new k("writer-merge-no-element-before",this);if(!(n instanceof hc))throw new k("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(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){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(_c._createIn(n),pc._createAt(e,"end")),this.remove(n)}_merge(t){const e=pc._createAt(t.nodeBefore,"end"),n=pc._createAt(t.nodeAfter,0),o=t.root.document.graveyard,i=new pc(o,[0]),r=t.root.document.version,s=new Xl(n,t.nodeAfter.maxOffset,e,i,r);this.batch.addOperation(s),this.model.applyOperation(s)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof hc))throw new k("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,o=new Zl(pc._createBefore(t),t.name,e,n);this.batch.addOperation(o),this.model.applyOperation(o)}split(t,e){this._assertWriterUsedCorrectly();let n,o,i=t.parent;if(!i.parent)throw new k("writer-split-element-no-parent",this);if(e||(e=i.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new k("writer-split-invalid-limit-element",this);do{const e=i.root.document?i.root.document.version:null,r=i.maxOffset-t.offset,s=td.getInsertionPosition(t),a=new td(t,r,s,null,e);this.batch.addOperation(a),this.model.applyOperation(a),n||o||(n=i,o=t.parent.nextSibling),i=(t=this.createPositionAfter(t.parent)).parent}while(i!==e);return{position:t,range:new _c(pc._createAt(n,"end"),pc._createAt(o,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new k("writer-wrap-range-not-flat",this);const n=e instanceof hc?e:new hc(e);if(n.childCount>0)throw new k("writer-wrap-element-not-empty",this);if(null!==n.parent)throw new k("writer-wrap-element-attached",this);this.insert(n,t.start);const o=new _c(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(o,pc._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new k("writer-unwrap-element-no-parent",this);this.move(_c._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||"boolean"!=typeof e.usingOperation)throw new k("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,o=e.range,i=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new k("writer-addmarker-marker-exists",this);if(!o)throw new k("writer-addmarker-no-range",this);return n?(zd(this,t,null,o,i),this.model.markers.get(t)):this.model.markers._set(t,o,n,i)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n="string"==typeof t?t:t.name,o=this.model.markers.get(n);if(!o)throw new k("writer-updatemarker-marker-not-exists",this);if(!e)return b("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n}),void this.model.markers._refresh(o);const i="boolean"==typeof e.usingOperation,r="boolean"==typeof e.affectsData,s=r?e.affectsData:o.affectsData;if(!i&&!e.range&&!r)throw new k("writer-updatemarker-wrong-options",this);const a=o.getRange(),c=e.range?e.range:a;i&&e.usingOperation!==o.managedUsingOperations?e.usingOperation?zd(this,n,null,c,s):(zd(this,n,a,null,s),this.model.markers._set(n,c,void 0,s)):o.managedUsingOperations?zd(this,n,a,c,s):this.model.markers._set(n,c,void 0,s)}removeMarker(t){this._assertWriterUsedCorrectly();const e="string"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new k("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations)return void this.model.markers._remove(e);zd(this,e,n.getRange(),null,n.affectsData)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._setSelectionAttribute(t,e);else for(const[e,n]of yi(t))this._setSelectionAttribute(e,n)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),"string"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const o=Oc._getStoreAttributeKey(t);this.setAttribute(o,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=Oc._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new k("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const o=n.getRange();let i=!1;if("move"===t){const t=e;i=t.containsPosition(o.start)||t.start.isEqual(o.start)||t.containsPosition(o.end)||t.end.isEqual(o.end)}else{const t=e,n=t.nodeBefore,r=t.nodeAfter,s=o.start.parent==n&&o.start.isAtEnd,a=o.end.parent==r&&0==o.end.offset,c=o.end.nodeAfter==r,l=o.start.nodeAfter==r;i=s||a||c||l}i&&this.updateMarker(n.name,{range:o})}}}function Nd(t,e,n,o){const i=t.model,r=i.document;let s,a,c,l=o.start;for(const t of o.getWalker({shallow:!0}))c=t.item.getAttribute(e),s&&a!=c&&(a!=n&&d(),l=s),s=t.nextPosition,a=c;function d(){const o=new _c(l,s),c=o.root.document?r.version:null,d=new Kl(o,e,a,n,c);t.batch.addOperation(d),i.applyOperation(d)}s instanceof pc&&s!=l&&a!=n&&d()}function Bd(t,e,n,o){const i=t.model,r=i.document,s=o.getAttribute(e);let a,c;if(s!=n){if(o.root===o){const t=o.document?r.version:null;c=new Jl(o,e,s,n,t)}else{a=new _c(pc._createBefore(o),t.createPositionAfter(o));const i=a.root.document?r.version:null;c=new Kl(a,e,s,n,i)}t.batch.addOperation(c),i.applyOperation(c)}}function zd(t,e,n,o,i){const r=t.model,s=r.document,a=new $l(e,n,o,r.markers,!!i,s.version);t.batch.addOperation(a),r.applyOperation(a)}function Pd(t,e,n,o){let i;if(t.root.document){const n=o.document,r=new pc(n.graveyard,[0]);i=new Wl(t,e,r,n.version)}else i=new Td(t,e);n.addOperation(i),o.applyOperation(i)}function Ld(t,e){return t===e||t instanceof vd&&e instanceof vd}function Od(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.selection,o=e.schema,i=[];let r=!1;for(const t of n.getRanges()){const e=Rd(t,o);e&&!e.isEqual(t)?(i.push(e),r=!0):i.push(t)}r&&t.setSelection(function(t){const e=[...t],n=new Set;let o=1;for(;o!n.has(e)))}(i),{backward:n.isBackward});return!1}(e,t)))}function Rd(t,e){return t.isCollapsed?function(t,e){const n=t.start,o=e.getNearestSelectionRange(n);if(!o){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));return t?_c._createOn(t):null}if(!o.isCollapsed)return o;const i=o.start;if(n.isEqual(i))return null;return new _c(i)}(t,e):function(t,e){const{start:n,end:o}=t,i=e.checkChild(n,"$text"),r=e.checkChild(o,"$text"),s=e.getLimitElement(n),a=e.getLimitElement(o);if(s===a){if(i&&r)return null;if(function(t,e,n){const o=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text"),i=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return o||i}(n,o,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter)?null:e.getNearestSelectionRange(n,"forward"),i=o.nodeBefore&&e.isSelectable(o.nodeBefore)?null:e.getNearestSelectionRange(o,"backward"),r=t?t.start:n,s=i?i.end:o;return new _c(r,s)}}const c=s&&!s.is("rootElement"),l=a&&!a.is("rootElement");if(c||l){const t=n.nodeAfter&&o.nodeBefore&&n.nodeAfter.parent===o.nodeBefore.parent,i=c&&(!t||!Fd(n.nodeAfter,e)),r=l&&(!t||!Fd(o.nodeBefore,e));let d=n,u=o;return i&&(d=pc._createBefore(jd(s,e))),r&&(u=pc._createAfter(jd(a,e))),new _c(d,u)}return null}(t,e)}function jd(t,e){let n=t,o=n;for(;e.isLimit(o)&&o.parent;)n=o,o=o.parent;return n}function Fd(t,e){return t&&e.isSelectable(t)}function Vd(t,e,n={}){if(e.isCollapsed)return;const o=e.getFirstRange();if("$graveyard"==o.root.rootName)return;const i=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&function(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n))return!1;const o=e.getFirstRange();if(o.start.parent==o.end.parent)return!1;return t.checkChild(n,"paragraph")}(i,e))return void function(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n)),Wd(t,t.createPositionAt(n,0),e)}(t,e);const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();t&&Object.assign(r,i.getAttributesWithProperty(t,"copyOnReplace",!0))}const[s,a]=function(t){const e=t.root.document.model,n=t.start;let o=t.end;if(e.hasContent(t,{ignoreMarkers:!0})){const n=function(t){const e=t.parent,n=e.root.document.model.schema,o=e.getAncestors({parentFirst:!0,includeSelf:!0});for(const t of o){if(n.isLimit(t))return null;if(n.isBlock(t))return t}}(o);if(n&&o.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});const i=n.getLastPosition(),r=e.createRange(i,o);e.hasContent(r,{ignoreMarkers:!0})||(o=i)}}return[md.fromPosition(n,"toPrevious"),md.fromPosition(o,"toNext")]}(o);s.isTouching(a)||t.remove(t.createRange(s,a)),n.leaveUnmerged||(!function(t,e,n){const o=t.model;if(!Gd(t.model.schema,e,n))return;const[i,r]=function(t,e){const n=t.getAncestors(),o=e.getAncestors();let i=0;for(;n[i]&&n[i]==o[i];)i++;return[n[i],o[i]]}(e,n);if(!i||!r)return;!o.hasContent(i,{ignoreMarkers:!0})&&o.hasContent(r,{ignoreMarkers:!0})?Ud(t,e,n,i.parent):Hd(t,e,n,i.parent)}(t,s,a),i.removeDisallowedAttributes(s.parent.getChildren(),t)),qd(t,e,s),!n.doNotAutoparagraph&&function(t,e){const n=t.checkChild(e,"$text"),o=t.checkChild(e,"paragraph");return!n&&o}(i,s)&&Wd(t,s,e,r),s.detach(),a.detach()}))}function Hd(t,e,n,o){const i=e.parent,r=n.parent;if(i!=o&&r!=o){for(e=t.createPositionAfter(i),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(r,e),t.merge(e);n.parent.isEmpty;){const e=n.parent;n=t.createPositionBefore(e),t.remove(e)}Gd(t.model.schema,e,n)&&Hd(t,e,n,o)}}function Ud(t,e,n,o){const i=e.parent,r=n.parent;if(i!=o&&r!=o){for(e=t.createPositionAfter(i),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(i,n);e.parent.isEmpty;){const n=e.parent;e=t.createPositionBefore(n),t.remove(n)}n=t.createPositionBefore(r),function(t,e){const n=e.nodeBefore,o=e.nodeAfter;n.name!=o.name&&t.rename(n,o.name);t.clearAttributes(n),t.setAttributes(Object.fromEntries(o.getAttributes()),n),t.merge(e)}(t,n),Gd(t.model.schema,e,n)&&Ud(t,e,n,o)}}function Gd(t,e,n){const o=e.parent,i=n.parent;return o!=i&&(!t.isLimit(o)&&!t.isLimit(i)&&function(t,e,n){const o=new _c(t,e);for(const t of o.getWalker())if(n.isLimit(t.item))return!1;return!0}(e,n,t))}function Wd(t,e,n,o={}){const i=t.createElement("paragraph");t.model.schema.setAllowedAttributes(i,o,t),t.insert(i,e),qd(t,n,t.createPositionAt(i,0))}function qd(t,e,n){e instanceof Oc?t.setSelection(n):e.setTo(n)}function $d(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end)))).forEach((t=>{n.push(t.start.parent),e.remove(t)})),n.forEach((t=>{let n=t;for(;n.parent&&n.isEmpty;){const t=e.createRangeOn(n);n=n.parent,e.remove(t)}}))}class Yd{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._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0),this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new k("insertcontent-invalid-insertion-position",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?_c._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new _c(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){if(this.schema.isObject(t))return void this._handleObject(t);let e=this._checkAndAutoParagraphToAllowedPosition(t);e||(e=this._checkAndSplitToAllowedPosition(t),e)?(this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t):this._handleDisallowedNode(t)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=md.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleObject(t){this._checkAndSplitToAllowedPosition(t)?this._appendToFragment(t):this._tryAutoparagraphing(t)}_handleDisallowedNode(t){t.is("element")?this.handleNodes(t.getChildren()):this._tryAutoparagraphing(t)}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new k("insertcontent-wrong-position",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=t:this._nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=md.fromPosition(t,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(t)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=md.fromPosition(t,"toNext"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof hc))return;if(!this._canMergeLeft(t))return;const e=md._createBefore(t);e.stickiness="toNext";const n=md.fromPosition(this.position,"toNext");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=md._createAt(e.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=md._createAt(e.nodeBefore,"end","toNext")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof hc))return;if(!this._canMergeRight(t))return;const e=md._createAfter(t);if(e.stickiness="toNext",!this.position.isEqual(e))throw new k("insertcontent-invalid-insertion-position",this);this.position=pc._createAt(e.nodeBefore,"end");const n=md.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=md._createAt(e.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=md._createAt(e.nodeBefore,0,"toPrevious")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof hc&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof hc&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)&&(e._appendChild(t),this._handleNode(e))}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t))return!1;this._insertPartialFragment();const e=this.writer.createElement("paragraph");return this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0),!0}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t),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!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function Kd(t,e,n="auto"){const o=t.getSelectedElement();if(o&&e.schema.isObject(o)&&!e.schema.isInline(o))return"before"==n||"after"==n?e.createRange(e.createPositionAt(o,n)):e.createRangeOn(o);const i=_i(t.getSelectedBlocks());if(!i)return e.createRange(t.focus);if(i.isEmpty)return e.createRange(e.createPositionAt(i,0));const r=e.createPositionAfter(i);return t.focus.isTouching(r)?e.createRange(r):e.createRange(e.createPositionBefore(i))}function Qd(t,e,n,o,i={}){if(!t.schema.isObject(e))throw new k("insertobject-element-not-an-object",t,{object:e});let r;r=n?n instanceof Ic||n instanceof Oc?n:t.createSelection(n,o):t.document.selection;let s=r;i.findOptimalPosition&&t.schema.isBlock(e)&&(s=t.createSelection(Kd(r,t,i.findOptimalPosition)));const a=_i(r.getSelectedBlocks()),c={};return a&&Object.assign(c,t.schema.getAttributesWithProperty(a,"copyOnReplace",!0)),t.change((n=>{s.isCollapsed||t.deleteContent(s,{doNotAutoparagraph:!0});let o=e;const r=s.anchor.parent;!t.schema.checkChild(r,e)&&t.schema.checkChild(r,"paragraph")&&t.schema.checkChild("paragraph",e)&&(o=n.createElement("paragraph"),n.insert(e,o)),t.schema.setAllowedAttributes(o,c,n);const a=t.insertContent(o,s);return a.isCollapsed||i.setSelection&&function(t,e,n,o){const i=t.model;if("on"==n)return void t.setSelection(e,"on");if("after"!=n)throw new k("insertobject-invalid-place-parameter-value",i);let r=e.nextSibling;if(i.schema.isInline(e))return void t.setSelection(e,"after");const s=r&&i.schema.checkChild(r,"$text");!s&&i.schema.checkChild(e.parent,"paragraph")&&(r=t.createElement("paragraph"),i.schema.setAllowedAttributes(r,o,t),i.insertContent(r,t.createPositionAfter(e)));r&&t.setSelection(r,0)}(n,e,i.setSelection,c),a}))}function Zd(t,e){const{isForward:n,walker:o,unit:i,schema:r,treatEmojiAsSingleUnit:s}=t,{type:a,item:c,nextPosition:l}=e;if("text"==a)return"word"===t.unit?function(t,e){let n=t.position.textNode;n||(n=e?t.position.nodeAfter:t.position.nodeBefore);for(;n&&n.is("$text");){const o=t.position.offset-n.startOffset;if(tu(n,o,e))n=e?t.position.nodeAfter:t.position.nodeBefore;else{if(Xd(n.data,o,e))break;t.next()}}return t.position}(o,n):function(t,e,n){const o=t.position.textNode;if(o){const i=o.data;let r=t.position.offset-o.startOffset;for(;xi(i,r)||"character"==e&&Ei(i,r)||n&&Ii(i,r);)t.next(),r=t.position.offset-o.startOffset}return t.position}(o,i,s);if(a==(n?"elementStart":"elementEnd")){if(r.isSelectable(c))return pc._createAt(c,n?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c))return void o.skip((()=>!0));if(r.checkChild(l,"$text"))return l}}function Jd(t,e){const n=t.root,o=pc._createAt(n,e?"end":0);return e?new _c(t,o):new _c(o,t)}function Xd(t,e,n){const o=e+(n?0:-1);return' ,.?!:;"-()'.includes(t.charAt(o))}function tu(t,e,n){return e===(n?t.offsetSize:0)}class eu extends(U()){constructor(){super(),this.markers=new Dd,this.document=new xd(this),this.schema=new pl,this._pendingChanges=[],this._currentWriter=null,["insertContent","insertObject","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t))),this.on("applyOperation",((t,e)=>{e[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck(((t,e)=>{if("$marker"===e.name)return!0})),Od(this),this.document.registerPostFixer(el)}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new kd,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(t){k.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{t?"function"==typeof t?(e=t,t=new kd):t instanceof kd||(t=new kd(t)):t=new kd,this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(t){k.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return function(t,e,n,o){return t.change((i=>{let r;r=n?n instanceof Ic||n instanceof Oc?n:i.createSelection(n,o):t.document.selection,r.isCollapsed||t.deleteContent(r,{doNotAutoparagraph:!0});const s=new Yd(t,i,r.anchor),a=[];let c;if(e.is("documentFragment")){if(e.markers.size){const t=[];for(const[n,o]of e.markers){const{start:e,end:i}=o,r=e.isEqual(i);t.push({position:e,name:n,isCollapsed:r},{position:i,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:o,isCollapsed:r}of t){let t=null,s=null;const c=n.parent===e&&n.isAtStart,l=n.parent===e&&n.isAtEnd;c||l?r&&(s=c?"start":"end"):(t=i.createElement("$marker"),i.insert(t,n)),a.push({name:o,element:t,collapsed:s})}}c=e.getChildren()}else c=[e];s.handleNodes(c);let l=s.getSelectionRange();if(e.is("documentFragment")&&a.length){const t=l?Bc.fromRange(l):null,e={};for(let t=a.length-1;t>=0;t--){const{name:n,element:o,collapsed:r}=a[t],c=!e[n];if(c&&(e[n]=[]),o){const t=i.createPositionAt(o,"before");e[n].push(t),i.remove(o)}else{const t=s.getAffectedRange();if(!t){r&&e[n].push(s.position);continue}r?e[n].push(t[r]):e[n].push(c?t.start:t.end)}}for(const[t,[n,o]]of Object.entries(e))n&&o&&n.root===o.root&&i.addMarker(t,{usingOperation:!0,affectsData:!0,range:new _c(n,o)});t&&(l=t.toRange(),t.detach())}l&&(r instanceof Oc?i.setSelection(l):r.setTo(l));const d=s.getAffectedRange()||t.createRange(r.anchor);return s.destroy(),d}))}(this,t,e,n)}insertObject(t,e,n,o){return Qd(this,t,e,n,o)}deleteContent(t,e){Vd(this,t,e)}modifySelection(t,e){!function(t,e,n={}){const o=t.schema,i="backward"!=n.direction,r=n.unit?n.unit:"character",s=!!n.treatEmojiAsSingleUnit,a=e.focus,c=new gc({boundaries:Jd(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=c.next();){if(d.done)return;const n=Zd(l,d.value);if(n)return void(e instanceof Oc?t.change((t=>{t.setSelectionFocus(n)})):e.setFocus(n))}}(this,t,e)}getSelectedContent(t){return function(t,e){return t.change((t=>{const n=t.createDocumentFragment(),o=e.getFirstRange();if(!o||o.isCollapsed)return n;const i=o.start.root,r=o.start.getCommonPath(o.end),s=i.getNodeByPath(r);let a;a=o.start.parent==o.end.parent?o:t.createRange(t.createPositionAt(s,o.start.path[r.length]),t.createPositionAt(s,o.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:!0}))e.is("$textProxy")?t.appendText(e.data,e.getAttributes(),n):t.append(t.cloneElement(e,!0),n);if(a!=o){const e=o._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0],i=t.createRange(t.createPositionAt(n,0),e.start);$d(t.createRange(e.end,t.createPositionAt(n,"end")),t),$d(i,t)}return n}))}(this,t)}hasContent(t,e={}){const n=t instanceof _c?t:_c._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=e;if(!i)for(const t of this.markers.getMarkersIntersectingRange(n))if(t.affectsData)return!0;for(const t of n.getItems())if(this.schema.isContent(t)){if(!t.is("$textProxy"))return!0;if(!o)return!0;if(-1!==t.data.search(/\S/))return!0}return!1}createPositionFromPath(t,e,n){return new pc(t,e,n)}createPositionAt(t,e){return pc._createAt(t,e)}createPositionAfter(t){return pc._createAfter(t)}createPositionBefore(t){return pc._createBefore(t)}createRange(t,e){return new _c(t,e)}createRangeIn(t){return _c._createIn(t)}createRangeOn(t){return _c._createOn(t)}createSelection(...t){return new Ic(...t)}createBatch(t){return new kd(t)}createOperationFromJSON(t){return nd.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new Md(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}class nu extends ma{constructor(t){super(t),this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}class ou extends ma{constructor(t){super(t),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(t){this.fire(t.type,t)}}class iu{constructor(t){this.document=t}createDocumentFragment(t){return new Is(this.document,t)}createElement(t,e,n){return new Zr(this.document,t,e,n)}createText(t){return new Qi(this.document,t)}clone(t,e=!1){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;return e?this.removeChildren(e.getChildIndex(t),1,e):[]}replace(t,e){const n=t.parent;if(n){const o=n.getChildIndex(t);return this.removeChildren(o,1,n),this.insertChild(o,e,n),!0}return!1}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 Zr(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){Ct(t)&&void 0===n?e._setStyle(t):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 rs._createAt(t,e)}createPositionAfter(t){return rs._createAfter(t)}createPositionBefore(t){return rs._createBefore(t)}createRange(t,e){return new ss(t,e)}createRangeOn(t){return ss._createOn(t)}createRangeIn(t){return ss._createIn(t)}createSelection(...t){return new cs(...t)}}const ru=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,su=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,au=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,cu=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,lu=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,du=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","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function uu(t){return t.startsWith("#")?ru.test(t):t.startsWith("rgb")?su.test(t)||au.test(t):t.startsWith("hsl")?cu.test(t)||lu.test(t):du.has(t.toLowerCase())}const hu=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;const gu=/^[+-]?[0-9]*([.][0-9]+)?%$/;const mu=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function pu(t){return mu.includes(t)}const fu=["center","top","bottom","left","right"];function ku(t){return fu.includes(t)}const bu=["fixed","scroll","local"];function wu(t){return bu.includes(t)}const Au=/^url\(/;function _u(t){return Au.test(t)}function Cu(t=""){if(""===t)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const e=yu(t),n=e[0],o=e[2]||n,i=e[1]||n;return{top:n,bottom:o,right:i,left:e[3]||i}}function vu({top:t,right:e,bottom:n,left:o}){const i=[];return o!==e?i.push(t,e,n,o):n!==t?i.push(t,e,n):e!==t?i.push(t,e):i.push(t),i.join(" ")}function yu(t){return t.replace(/, /g,",").split(" ").map((t=>t.replace(/,/g,", ")))}function xu(t){t.setNormalizer("background",(t=>{const e={},n=yu(t);for(const t of n)pu(t)?(e.repeat=e.repeat||[],e.repeat.push(t)):ku(t)?(e.position=e.position||[],e.position.push(t)):wu(t)?e.attachment=t:uu(t)?e.color=t:_u(t)&&(e.image=t);return{path:"background",value:e}})),t.setNormalizer("background-color",(t=>({path:"background.color",value:t}))),t.setReducer("background",(t=>{const e=[];return e.push(["background-color",t.color]),e})),t.setStyleRelation("background",["background-color"])}function Eu(t){var e,n;t.setNormalizer("margin",(e="margin",t=>({path:e,value:Cu(t)}))),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",(n="margin",t=>{const{top:e,right:o,bottom:i,left:r}=t,s=[];return[e,o,r,i].every((t=>!!t))?s.push([n,vu(t)]):(e&&s.push([n+"-top",e]),o&&s.push([n+"-right",o]),i&&s.push([n+"-bottom",i]),r&&s.push([n+"-left",r])),s})),t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}class Du{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 k("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class Iu extends vi{constructor(t){super(),this.editor=t}set(t,e,n={}){if("string"==typeof e){const t=e;e=(e,n)=>{this.editor.execute(t),n()}}super.set(t,e,n)}}class Tu extends(U()){constructor(t={}){super();const e=this.constructor,n=t.language||e.defaultConfig&&e.defaultConfig.language;this._context=t.context||new Pi({language:n}),this._context._addEditor(this,!t.context);const o=Array.from(e.builtinPlugins||[]);this.config=new _o(t,e.defaultConfig),this.config.define("plugins",o),this.config.define(this._context._getEditorConfig()),this.plugins=new zi(this,o,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new Du,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new eu;const i=new Yr;this.data=new Bl(this.model,i),this.editing=new ul(this.model,i),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new zl([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 Iu(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new k("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new k("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if("string"!=typeof t&&"symbol"!=typeof t)throw new k("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],o=t.get("extraPlugins")||[],i=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(o),n,i)}destroy(){let t=Promise.resolve();return"initializing"==this.state&&(t=new Promise((t=>this.once("ready",t)))),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,...e){try{return this.commands.execute(t,...e)}catch(t){k.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}}class Su{constructor(t){this.editor=t,this._components=new Map}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(Mu(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new k("componentfactory-item-missing",this,{name:t});return this._components.get(Mu(t)).callback(this.editor.locale)}has(t){return this._components.has(Mu(t))}}function Mu(t){return String(t).toLowerCase()}class Nu extends Ai{constructor(t=[]){super(t,{idProperty:"viewUid"}),this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)})),this.on("remove",((t,e)=>{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||!t.every((t=>"string"==typeof t)))throw new k("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const o of t)n.delegate(o).to(e);this.on("add",((n,o)=>{for(const n of t)o.delegate(n).to(e)})),this.on("remove",((n,o)=>{for(const n of t)o.stopDelegating(n,e)}))}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}class Bu extends(I()){constructor(t){super(),Object.assign(this,Uu(Hu(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new k("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)Ku(n)?yield n:Qu(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,o)=>new Pu({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:o}),if:(n,o,i)=>new Lu({observable:t,emitter:e,attribute:n,valueIfTrue:o,callback:i})}}static extend(t,e){if(t._isRendered)throw new k("template-extend-render",[this,t]);$u(t,Uu(Hu(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new k("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),Ou(this.text)?this._bindToObservable({schema:this.text,updater:ju(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const o in this.attributes){const i=e.getAttribute(o),r=this.attributes[o];n&&(n.attributes[o]=i);const s=Ju(r)?r[0].ns:null;if(Ou(r)){const a=Ju(r)?r[0].value:r;n&&Xu(o)&&a.unshift(i),this._bindToObservable({schema:a,updater:Fu(e,o,s),data:t})}else if("style"==o&&"string"!=typeof r[0])this._renderStyleAttribute(r[0],t);else{n&&i&&Xu(o)&&r.unshift(i);const t=r.map((t=>t&&t.value||t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Wu,"");Yu(t)||e.setAttributeNS(s,o,t)}}}_renderStyleAttribute(t,e){const n=e.node;for(const o in t){const i=t[o];Ou(i)?this._bindToObservable({schema:[i],updater:Vu(n,o),data:e}):n.style[o]=i}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,o=t.isApplying;let i=0;for(const r of this.children)if(Zu(r)){if(!o){r.setParent(e);for(const t of r)n.appendChild(t.element)}}else if(Ku(r))o||(r.isRendered||r.render(),n.appendChild(r.element));else if(yo(r))n.appendChild(r);else if(o){const e={children:[],bindings:[],attributes:{}};t.revertData.children.push(e),r._renderNode({intoFragment:!1,node:n.childNodes[i++],isApplying:!0,revertData:e})}else n.appendChild(r.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[o,i]=e.split("@");return n.activateDomEventListener(o,i,t)}));t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const o=n.revertData;Ru(t,e,n);const i=t.filter((t=>!Yu(t))).filter((t=>t.observable)).map((o=>o.activateAttributeListener(t,e,n)));o&&o.bindings.push(i)}_revertTemplateFromNode(t,e){for(const t of e.bindings)for(const e of t)e();if(e.text)return void(t.textContent=e.text);const n=t;for(const t in e.attributes){const o=e.attributes[t];null===o?n.removeAttribute(t):n.setAttribute(t,o)}for(let t=0;tRu(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,o),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,o)}}}class Pu extends zu{constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const o=(t,n)=>{e&&!n.target.matches(e)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(n):this.observable.fire(this.eventNameOrFunction,n))};return this.emitter.listenTo(n.node,t,o),()=>{this.emitter.stopListening(n.node,t,o)}}}class Lu extends zu{constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){return!Yu(super.getValue(t))&&(this.valueIfTrue||!0)}}function Ou(t){return!!t&&(t.value&&(t=t.value),Array.isArray(t)?t.some(Ou):t instanceof zu)}function Ru(t,e,{node:n}){const o=function(t,e){return t.map((t=>t instanceof zu?t.getValue(e):t))}(t,n);let i;i=1==t.length&&t[0]instanceof Lu?o[0]:o.reduce(Wu,""),Yu(i)?e.remove():e.set(i)}function ju(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function Fu(t,e,n){return{set(o){t.setAttributeNS(n,e,o)},remove(){t.removeAttributeNS(n,e)}}}function Vu(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Hu(t){return wo(t,(t=>{if(t&&(t instanceof zu||Qu(t)||Ku(t)||Zu(t)))return t}))}function Uu(t){if("string"==typeof t?t=function(t){return{text:[t]}}(t):t.text&&function(t){t.text=pi(t.text)}(t),t.on&&(t.eventListeners=function(t){for(const e in t)Gu(t,e);return t}(t.on),delete t.on),!t.text){t.attributes&&function(t){for(const e in t)t[e].value&&(t[e].value=pi(t[e].value)),Gu(t,e)}(t.attributes);const e=[];if(t.children)if(Zu(t.children))e.push(t.children);else for(const n of t.children)Qu(n)||Ku(n)||yo(n)?e.push(n):e.push(new Bu(n));t.children=e}return t}function Gu(t,e){t[e]=pi(t[e])}function Wu(t,e){return Yu(e)?t:Yu(t)?e:`${t} ${e}`}function qu(t,e){for(const n in e)t[n]?t[n].push(...e[n]):t[n]=e[n]}function $u(t,e){if(e.attributes&&(t.attributes||(t.attributes={}),qu(t.attributes,e.attributes)),e.eventListeners&&(t.eventListeners||(t.eventListeners={}),qu(t.eventListeners,e.eventListeners)),e.text&&t.text.push(...e.text),e.children&&e.children.length){if(t.children.length!=e.children.length)throw new k("ui-template-extend-children-mismatch",t);let n=0;for(const o of e.children)$u(t.children[n++],o)}}function Yu(t){return!t&&0!==t}function Ku(t){return t instanceof nh}function Qu(t){return t instanceof Bu}function Zu(t){return t instanceof Nu}function Ju(t){return L(t[0])&&t[0].ns}function Xu(t){return"class"==t||"style"==t}var th=n(4793),eh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(th.Z,eh);th.Z.locals;class nh extends(Do(U())){constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new Ai,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((e,n)=>{n.locale=t,n.t=t&&t.t})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=Bu.bind(this,this)}createCollection(t){const e=new Nu(t);return this._viewCollections.add(e),e}registerChild(t){Z(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){Z(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new Bu(t)}extendTemplate(t){Bu.extend(this.template,t)}render(){if(this.isRendered)throw new k("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((t=>t.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}var oh=n(8793),ih={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(oh.Z,ih);oh.Z.locals;const rh=Uo("px"),sh=Mo.document.body;class ah extends nh{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class",void 0),this._pinWhenIsVisibleCallback=null,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",rh),left:e.to("left",rh)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){this.show();const e=ah.defaultPositions,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,e.viewportStickyNorth],limiter:sh,fitInViewport:!0},t),o=ah._getOptimalPosition(n),i=parseInt(o.left),r=parseInt(o.top),s=o.name,a=o.config||{},{withArrow:c=!0}=a;this.top=r,this.left=i,this.position=s,this.withArrow=c}pin(t){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this._startPinning(t),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){this.attachTo(t);const e=ch(t.target),n=t.limiter?ch(t.limiter):sh;this.listenTo(Mo.document,"scroll",((o,i)=>{const r=i.target,s=e&&r.contains(e),a=n&&r.contains(n);!s&&!a&&e&&n||this.attachTo(t)}),{useCapture:!0}),this.listenTo(Mo.window,"resize",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(Mo.document,"scroll"),this.stopListening(Mo.window,"resize")}}function ch(t){return Ao(t)?t:zo(t)?t.commonAncestorContainer:"function"==typeof t?ch(t()):null}function lh(t={}){const{sideOffset:e=ah.arrowSideOffset,heightOffset:n=ah.arrowHeightOffset,stickyVerticalOffset:o=ah.stickyVerticalOffset,config:i}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:"arrow_sw",...i&&{config:i}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-.25*n.width-e,name:"arrow_smw",...i&&{config:i}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:"arrow_s",...i&&{config:i}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-.75*n.width+e,name:"arrow_sme",...i&&{config:i}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:"arrow_se",...i&&{config:i}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:"arrow_sw",...i&&{config:i}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-.25*n.width-e,name:"arrow_smw",...i&&{config:i}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s",...i&&{config:i}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-.75*n.width+e,name:"arrow_sme",...i&&{config:i}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:"arrow_se",...i&&{config:i}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:"arrow_sw",...i&&{config:i}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-.25*n.width-e,name:"arrow_smw",...i&&{config:i}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:"arrow_s",...i&&{config:i}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-.75*n.width+e,name:"arrow_sme",...i&&{config:i}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:"arrow_se",...i&&{config:i}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:"arrow_nw",...i&&{config:i}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-.25*n.width-e,name:"arrow_nmw",...i&&{config:i}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:"arrow_n",...i&&{config:i}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-.75*n.width+e,name:"arrow_nme",...i&&{config:i}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:"arrow_ne",...i&&{config:i}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:"arrow_nw",...i&&{config:i}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-.25*n.width-e,name:"arrow_nmw",...i&&{config:i}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:"arrow_n",...i&&{config:i}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-.75*n.width+e,name:"arrow_nme",...i&&{config:i}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:"arrow_ne",...i&&{config:i}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:"arrow_nw",...i&&{config:i}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-.25*n.width-e,name:"arrow_nmw",...i&&{config:i}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:"arrow_n",...i&&{config:i}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-.75*n.width+e,name:"arrow_nme",...i&&{config:i}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:"arrow_ne",...i&&{config:i}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:"arrow_e",...i&&{config:i}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:"arrow_w",...i&&{config:i}}),viewportStickyNorth:(t,e,n)=>t.getIntersection(n)?{top:n.top+o,left:t.left+t.width/2-e.width/2,name:"arrowless",config:{withArrow:!1,...i}}:null};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}ah.arrowSideOffset=25,ah.arrowHeightOffset=10,ah.stickyVerticalOffset=20,ah._getOptimalPosition=Yo,ah.defaultPositions=lh();var dh=n(3332),uh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(dh.Z,uh);dh.Z.locals;const hh="ck-tooltip";class gh extends(Do()){constructor(t){if(super(),gh._editors.add(t),gh._instance)return gh._instance;gh._instance=this,this.tooltipTextView=new nh(t.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new ah(t.locale),this.balloonPanelView.class=hh,this.balloonPanelView.content.add(this.tooltipTextView),this._resizeObserver=null,this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._pinTooltipDebounced=Ia(this._pinTooltip,600),this.listenTo(Mo.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Mo.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Mo.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Mo.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Mo.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){const e=t.ui.view&&t.ui.view.body;gh._editors.delete(t),this.stopListening(t.ui),e&&e.has(this.balloonPanelView)&&e.remove(this.balloonPanelView),gh._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),gh._instance=null)}static getPositioningFunctions(t){const e=gh.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onEnterOrFocus(t,{target:e}){const n=mh(e);var o;n&&(n!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(n,{text:(o=n).dataset.ckeTooltipText,position:o.dataset.ckeTooltipPosition||"s",cssClass:o.dataset.ckeTooltipClass||""})))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if("mouseleave"===t.name){if(!Ao(e))return;if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const t=mh(e),o=mh(n);t&&t!==o&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:o}){const i=_i(gh._editors.values()).ui.view.body;i.has(this.balloonPanelView)||i.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.pin({target:t,positions:gh.getPositioningFunctions(n)}),this._resizeObserver=new Vo(t,(()=>{$o(t)||this._unpinTooltip()})),this.balloonPanelView.class=[hh,o].filter((t=>t)).join(" ");for(const t of gh._editors)this.listenTo(t.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of gh._editors)this.stopListening(t.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver&&this._resizeObserver.destroy()}_updateTooltipPosition(){$o(this._currentElementWithTooltip)?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:gh.getPositioningFunctions(this._currentTooltipPosition)}):this._unpinTooltip()}}function mh(t){return Ao(t)?t.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}gh.defaultBalloonPositions=lh({heightOffset:5,sideOffset:13}),gh._editors=new Set,gh._instance=null;class ph extends(U()){constructor(t){super(),this.editor=t,this.componentFactory=new Su(t),this.focusTracker=new Ci,this.tooltipManager=new gh(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.isReady=!1,this.once("ready",(()=>{this.isReady=!0})),this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[],this.listenTo(t.editing.view.document,"layoutChanged",(()=>this.update())),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor);for(const t of this._editableElementsMap.values())t.ckeditorInstance=null;this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",(()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)})),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor,e=t.editing.view;let n,o;t.keystrokes.set("Alt+F10",((t,i)=>{const r=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)&&(n=r);const s=this._getCurrentFocusedToolbarDefinition();s&&o||(o=this._getFocusableCandidateToolbarDefinitions());for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();i&&(n?(n.focus(),n=null):t.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),o())}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:o}=e;($o(n.element)||o.beforeFocus)&&t.push(e)}return t.sort(((t,e)=>fh(t)-fh(e))),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),!!$o(e.element)&&(e.focus(),!0)}}function fh(t){const{toolbarView:e,options:n}=t;let o=10;return $o(e.element)&&o--,n.isContextual&&o--,o}function kh(t){return class extends t{setData(t){this.data.set(t)}getData(t){return this.data.get(t)}}}{const t=kh(Object);kh.setData=t.prototype.setData,kh.getData=t.prototype.getData}function bh(t){return class extends t{updateSourceElement(t=this.data.get()){if(!this.sourceElement)throw new k("editor-missing-sourceelement",this);const e=this.config.get("updateSourceElementOnDestroy"),n=this.sourceElement instanceof HTMLTextAreaElement;Ho(this.sourceElement,e||n?t:"")}}}bh.updateSourceElement=bh(Object).prototype.updateSourceElement;class wh extends Li{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new Ai({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if("string"!=typeof t)throw new k("pendingactions-add-invalid-message",this);const e=new(U());return e.set("message",t),this._actions.add(e),this.hasAny=!0,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]()}}const Ah={bold:'',cancel:'',caption:'',check:'',cog:'',eraser:'',image:'',lowVision:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:''};class _h extends ph{constructor(t,e){super(t),this.view=e}init(){const t=this.editor,e=this.view,n=t.editing.view,o=e.editable,i=n.document.getRoot();o.name=i.rootName,e.render();const r=o.element;this.setEditableElement(o.name,r),e.editable.bind("isFocused").to(this.focusTracker),n.attachDomRoot(r),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){super.destroy();const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy()}_initToolbar(){const t=this.editor,e=this.view;e.toolbar.fillFromConfig(t.config.get("toolbar"),this.componentFactory),this.addToolbar(e.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),o=t.sourceElement,i=t.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder");i&&Hi({view:e,element:n,text:i,isDirectHost:!1,keepOnFocus:!0})}}function Ch({emitter:t,activator:e,callback:n,contextElements:o}){t.listenTo(document,"mousedown",((t,i)=>{if(!e())return;const r="function"==typeof i.composedPath?i.composedPath():[];for(const t of o)if(t.contains(i.target)||r.includes(t))return;n()}))}function vh(t){const e=t;e.set("_isCssTransitionsDisabled",!1),e.disableCssTransitions=()=>{e._isCssTransitionsDisabled=!0},e.enableCssTransitions=()=>{e._isCssTransitionsDisabled=!1},e.extendTemplate({attributes:{class:[e.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function yh({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault(),t.fire("submit")}),{useCapture:!0})}function xh({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:o,uiLanguageDirection:i}){const r="number"==typeof o?()=>o:o;function s(t){return o=>{const i=n.find((t=>t.element===e.focusedElement)),r=n.getIndex(i),s=t(r,n);n.get(s).focus(),o.stopPropagation(),o.preventDefault()}}function a(t,e){return t===e-1?0:t+1}function c(t,e){return 0===t?e-1:t-1}t.set("arrowright",s(((t,e)=>"rtl"===i?c(t,e.length):a(t,e.length)))),t.set("arrowleft",s(((t,e)=>"rtl"===i?a(t,e.length):c(t,e.length)))),t.set("arrowup",s(((t,e)=>{let n=t-r();return n<0&&(n=t+r()*Math.floor(e.length/r()),n>e.length-1&&(n-=r())),n}))),t.set("arrowdown",s(((t,e)=>{let n=t+r();return n>e.length-1&&(n=t%r()),n})))}class Eh extends Nu{constructor(t,e=[]){super(e),this.locale=t}attachToDom(){this._bodyCollectionContainer=new Bu({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");t||(t=mt(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&0==t.childElementCount&&t.remove()}}var Dh=n(6574),Ih={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Dh.Z,Ih);Dh.Z.locals;class Th extends nh{constructor(){super();const t=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon","ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],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").querySelector("svg"),e=t.getAttribute("viewBox");e&&(this.viewBox=e);for(const{name:e,value:n}of Array.from(t.attributes))Th.presentationalAttributeNames.includes(e)&&this.element.setAttribute(e,n);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;t.childNodes.length>0;)this.element.appendChild(t.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}Th.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];var Sh=n(4906),Mh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Sh.Z,Mh);Sh.Z.locals;class Nh extends nh{constructor(t){super(t);const e=this.bindTemplate,n=m();this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._createLabelView(n),this.iconView=new Th,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));const o={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||"button")),tabindex:e.to("tabindex"),"aria-labelledby":`ck-editor__aria-label_${n}`,"aria-disabled":e.if("isEnabled",!0,(t=>!t)),"aria-pressed":e.to("isOn",(t=>!!this.isToggleable&&String(!!t))),"data-cke-tooltip-text":e.to("_tooltipString"),"data-cke-tooltip-position":e.to("tooltipPosition")},children:this.children,on:{click:e.to((t=>{this.isEnabled?this.fire("execute"):t.preventDefault()}))}};i.isSafari&&(o.on.mousedown=e.to((t=>{this.focus(),t.preventDefault()}))),this.setTemplate(o)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createLabelView(t){const e=new nh,n=this.bindTemplate;return 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")}]}),e}_createKeystrokeView(){const t=new nh;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>gi(t)))}]}),t}_getTooltipString(t,e,n){return t?"string"==typeof t?t:(n&&(n=gi(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}var Bh=n(5332),zh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Bh.Z,zh);Bh.Z.locals;class Ph extends Nh{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new nh;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}function Lh(t){return"string"==typeof t?{model:t,label:t,hasBorder:!1,view:{name:"span",styles:{color:t}}}:{model:t.color,label:t.label||t.color,hasBorder:void 0!==t.hasBorder&&t.hasBorder,view:{name:"span",styles:{color:`${t.color}`}}}}class Oh extends Nh{constructor(t){super(t);const e=this.bindTemplate;this.set("color",void 0),this.set("hasBorder",!1),this.icon='',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 Rh=n(6781),jh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Rh.Z,jh);Rh.Z.locals;class Fh extends nh{constructor(t,e){super(t);const n=e&&e.colorDefinitions||[];this.columns=e&&e.columns?e.columns:5;const o={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",void 0),this.items=this.createCollection(),this.focusTracker=new Ci,this.keystrokes=new vi,this.items.on("add",((t,e)=>{e.isOn=e.color===this.selectedColor})),n.forEach((t=>{const e=new Oh;e.set({color:t.color,label:t.label,tooltip:!0,hasBorder:t.options.hasBorder}),e.on("execute",(()=>{this.fire("execute",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})})),this.items.add(e)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:o}}),this.on("change:selectedColor",((t,e,n)=>{for(const t of this.items)t.isOn=t.color===n}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){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),xh({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}const Vh='';class Hh extends Nh{constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new Th;return t.content=Vh,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}var Uh=n(7686),Gh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Uh.Z,Gh);Uh.Z.locals;class Wh extends nh{constructor(t){super(t);const e=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new vi,this.focusTracker=new Ci,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",e.to("class"),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)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())})),this.keystrokes.set("arrowleft",((t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const t=new Nh;return 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),t}_createArrowView(){const t=new Nh,e=t.bindTemplate;return t.icon=Vh,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}class qh extends nh{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!1),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){const t=this.children.first;"function"==typeof t.focus?t.focus():b("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const t=this.children.last;"function"==typeof t.focusLast?t.focusLast():t.focus()}}}var $h=n(5485),Yh={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()($h.Z,Yh);$h.Z.locals;class Kh extends nh{constructor(t,e,n){super(t);const o=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.keystrokes=new vi,this.focusTracker=new Ci,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",o.to("class"),o.if("isEnabled","ck-disabled",(t=>!t))],id:o.to("id"),"aria-describedby":o.to("ariaDescribedById")},children:[e,n]}),e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":o.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.panelView.bind("isVisible").to(this,"isOpen"),this.on("change:isOpen",((t,e,n)=>{n&&("auto"===this.panelPosition?this.panelView.position=Kh._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition)})),this.keystrokes.listenTo(this.element);const t=(t,e)=>{this.isOpen&&(this.isOpen=!1,e())};this.keystrokes.set("arrowdown",((t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())})),this.keystrokes.set("arrowright",((t,e)=>{this.isOpen&&e()})),this.keystrokes.set("arrowleft",t),this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:o,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=Kh.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[n,o,s,a,t,i,r,c,l,e]:[o,n,a,s,t,r,i,l,c,e]}}Kh.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),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"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-3*(e.width-t.width)/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-3*(e.width-t.width)/4,name:"nmw"})},Kh._getOptimalPosition=Yo;class Qh{constructor(t){if(this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];"string"==typeof n&&(n=[n]);for(const o of n)t.keystrokeHandler.set(o,((t,n)=>{this[e](),n()}))}}get first(){return this.focusables.find(Zh)||null}get last(){return this.focusables.filter(Zh).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((e,n)=>{const o=e.element===this.focusTracker.focusedElement;return o&&(t=n),o})),t)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){t&&t.focus()}_getFocusableItem(t){const e=this.current,n=this.focusables.length;if(!n)return null;if(null===e)return this[1===t?"first":"last"];let o=(e+n+t)%n;do{const e=this.focusables.get(o);if(Zh(e))return e;o=(o+n+t)%n}while(o!==e);return null}}function Zh(t){return!(!t.focus||!$o(t.element))}class Jh extends nh{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class Xh extends nh{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}var tg=n(5542),eg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(tg.Z,eg);tg.Z.locals;const{threeVerticalDots:ng}=Ah,og={alignLeft:Ah.alignLeft,bold:Ah.bold,importExport:Ah.importExport,paragraph:Ah.paragraph,plus:Ah.plus,text:Ah.text,threeVerticalDots:Ah.threeVerticalDots};class ig extends nh{constructor(t,e){super(t);const n=this.bindTemplate,o=this.t;this.options=e||{},this.set("ariaLabel",o("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new Ci,this.keystrokes=new vi,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new rg(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const i="rtl"===t.uiLanguageDirection;this._focusCycler=new Qh({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[i?"arrowright":"arrowleft","arrowup"],focusNext:[i?"arrowleft":"arrowright","arrowdown"]}});const r=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];var s;this.options.shouldGroupWhenFull&&this.options.isFloating&&r.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:r,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")}},children:this.children,on:{mousedown:(s=this,s.bindTemplate.to((t=>{t.target===s.element&&t.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new ag(this):new sg(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(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){const o=function(t){return Array.isArray(t)?{items:t,removeItems:[]}:t?Object.assign({items:[],removeItems:[]},t):{items:[],removeItems:[]}}(t),i=n||o.removeItems,r=this._cleanItemsConfiguration(o.items,e,i).map((t=>L(t)?this._createNestedToolbarDropdown(t,e,i):"|"===t?new Jh:"-"===t?new Xh:e.create(t))).filter((t=>!!t));this.items.addMany(r)}_cleanItemsConfiguration(t,e,n){const o=t.filter(((t,o,i)=>"|"===t||-1===n.indexOf(t)&&("-"===t?!this.options.shouldGroupWhenFull||(b("toolbarview-line-break-ignored-when-grouping-items",i),!1):!(!L(t)&&!e.has(t))||(b("toolbarview-item-unavailable",{item:t}),!1))));return this._cleanSeparatorsAndLineBreaks(o)}_cleanSeparatorsAndLineBreaks(t){const e=t=>"-"!==t&&"|"!==t,n=t.length,o=t.findIndex(e);if(-1===o)return[];const i=n-t.slice().reverse().findIndex(e);return t.slice(o,i).filter(((t,n,o)=>{if(e(t))return!0;return!(n>0&&o[n-1]===t)}))}_createNestedToolbarDropdown(t,e,n){let{label:o,icon:i,items:r,tooltip:s=!0,withText:a=!1}=t;if(r=this._cleanItemsConfiguration(r,e,n),!r.length)return null;const c=kg(this.locale);return o||b("toolbarview-nested-toolbar-dropdown-missing-label",t),c.class="ck-toolbar__nested-toolbar-dropdown",c.buttonView.set({label:o,tooltip:s,withText:!!a}),!1!==i?c.buttonView.icon=og[i]||i||ng:c.buttonView.withText=!0,bg(c,[]),c.toolbarView.fillFromConfig(r,e,n),c}}class rg extends nh{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class sg{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),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 ag{constructor(t){this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t)),this.ungroupedItems.on("change",this._updateFocusCycleableItems.bind(this)),t.children.on("change",this._updateFocusCycleableItems.bind(this)),t.items.on("change",((t,e)=>{const n=e.index,o=Array.from(e.added);for(const t of e.removed)n>=this.ungroupedItems.length?this.groupedItems.remove(t):this.ungroupedItems.remove(t);for(let t=n;tthis.ungroupedItems.length?this.groupedItems.add(e,t-this.ungroupedItems.length):this.ungroupedItems.add(e,t)}this._updateGrouping()})),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!$o(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new Oo(t.lastChild),o=new Oo(t);if(!this.cachedPadding){const n=Mo.window.getComputedStyle(t),o="ltr"===e?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[o])}return"ltr"===e?n.right>o.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new Jh),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)),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,e=t.t,n=kg(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition="ltr"===t.uiLanguageDirection?"sw":"se",bg(n,[]),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:"rtl"===t.uiLanguageDirection?"se":"sw",icon:ng}),n.toolbarView.items.bindTo(this.groupedItems).using((t=>t)),n}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((t=>{this.viewFocusables.add(t)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var cg=n(1046),lg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(cg.Z,lg);cg.Z.locals;class dg extends nh{constructor(t){super(t),this.items=this.createCollection(),this.focusTracker=new Ci,this.keystrokes=new vi,this._focusCycler=new Qh({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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class ug extends nh{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",(t=>!t))]},children:this.children})}focus(){this.children.first.focus()}}class hg extends nh{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var gg=n(7339),mg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(gg.Z,mg);gg.Z.locals;var pg=n(3949),fg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(pg.Z,fg);pg.Z.locals;function kg(t,e=Hh){const n=new e(t),o=new qh(t),i=new Kh(t,n,o);return n.bind("isEnabled").to(i),n instanceof Wh?n.arrowView.bind("isOn").to(i,"isOpen"):n.bind("isOn").to(i,"isOpen"),function(t){(function(t){t.on("render",(()=>{Ch({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=!1},contextElements:[t.element]})}))})(t),function(t){t.on("execute",(e=>{e.source instanceof Ph||(t.isOpen=!1)}))}(t),function(t){t.focusTracker.on("change:isFocused",((e,n,o)=>{t.isOpen&&!o&&(t.isOpen=!1)}))}(t),function(t){t.keystrokes.set("arrowdown",((e,n)=>{t.isOpen&&(t.panelView.focus(),n())})),t.keystrokes.set("arrowup",((e,n)=>{t.isOpen&&(t.panelView.focusLast(),n())}))}(t),function(t){t.on("change:isOpen",((e,n,o)=>{o||t.panelView.element.contains(Mo.document.activeElement)&&t.buttonView.focus()}))}(t),function(t){t.on("change:isOpen",((e,n,o)=>{o&&t.panelView.focus()}),{priority:"low"})}(t)}(i),i}function bg(t,e,n={}){const o=t.locale,i=o.t,r=t.toolbarView=new ig(o);r.set("ariaLabel",i("Dropdown toolbar")),t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),e.map((t=>r.items.add(t))),n.enableActiveItemFocusOnDropdownOpen&&Ag(t,(()=>r.items.find((t=>t.isOn)))),t.panelView.children.add(r),r.items.delegate("execute").to(t)}function wg(t,e){const n=t.locale,o=t.listView=new dg(n);o.items.bindTo(e).using((t=>{if("separator"===t.type)return new hg(n);if("button"===t.type||"switchbutton"===t.type){const e=new ug(n);let o;return o="button"===t.type?new Nh(n):new Ph(n),o.bind(...Object.keys(t.model)).to(t.model),o.delegate("execute").to(e),e.children.add(o),e}return null})),t.panelView.children.add(o),o.items.delegate("execute").to(t),Ag(t,(()=>o.items.find((t=>t instanceof ug&&t.children.first.isOn))))}function Ag(t,e){t.on("change:isOpen",(()=>{if(!t.isOpen)return;const n=e();n&&("function"==typeof n.focus?n.focus():b("ui-dropdown-focus-child-on-open-child-missing-focus",{view:n}))}),{priority:p.low-10})}var _g=n(9688),Cg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(_g.Z,Cg);_g.Z.locals;class vg extends nh{constructor(t){super(t),this.body=new Eh(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var yg=n(3662),xg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(yg.Z,xg);yg.Z.locals;class Eg extends nh{constructor(t){super(t),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${m()}`;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 Dg extends nh{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",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",o),n.removeClass(e.isFocused?"ck-blurred":"ck-focused",o)}))}t.isRenderingInProgress?function n(o){t.once("change:isRenderingInProgress",((t,i,r)=>{r?n(o):e(o)}))}(this):e(this)}}class Ig extends Dg{constructor(t,e,n,o={}){super(t,e,n);const i=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}}),this._generateLabel=o.label||(()=>i("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)}))}}var Tg=n(8847),Sg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Tg.Z,Sg);Tg.Z.locals;var Mg=n(4879),Ng={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Mg.Z,Ng);Mg.Z.locals;class Bg extends nh{constructor(t){super(t),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.focusTracker=new Ci,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0),this.set("inputMode","text");const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),inputmode:e.to("inputMode"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to(((...t)=>{this.fire("input",...t),this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:""}}class zg extends Bg{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class Pg extends Bg{constructor(t,{min:e,max:n,step:o}={}){super(t);const i=this.bindTemplate;this.set("min",e),this.set("max",n),this.set("step",o),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:i.to("min"),max:i.to("max"),step:i.to("step")}})}}var Lg=n(2577),Og={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Lg.Z,Og);Lg.Z.locals;class Rg extends nh{constructor(t,e){super(t);const n=`ck-labeled-field-view-${m()}`,o=`ck-labeled-field-view-status-${m()}`;this.fieldView=e(this,n,o),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(o),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t)),i.if("isEmpty","ck-labeled-field-view_empty"),i.if("isFocused","ck-labeled-field-view_focused"),i.if("placeholder","ck-labeled-field-view_placeholder"),i.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new Eg(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new nh(this.locale),n=this.bindTemplate;return 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")}]}),e}focus(){this.fieldView.focus()}}function jg(t,e,n){const o=new zg(t.locale);return o.set({id:e,ariaDescribedById:n}),o.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),o.bind("hasError").to(t,"errorText",(t=>!!t)),o.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(o),o}function Fg(t,e,n){const o=new Pg(t.locale);return o.set({id:e,ariaDescribedById:n,inputMode:"numeric"}),o.bind("isReadOnly").to(t,"isEnabled",(t=>!t)),o.bind("hasError").to(t,"errorText",(t=>!!t)),o.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused","placeholder").to(o),o}class Vg extends Li{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=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class Hg extends(U()){constructor(t,e){super(),e&&ha(this,e),t&&this.set(t)}}var Ug=n(4650),Gg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Ug.Z,Gg);Ug.Z.locals;var Wg=n(7676),qg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Wg.Z,qg);Wg.Z.locals;const $g=Uo("px");class Yg extends Ti{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t),this.positionLimiter=()=>{const t=this.editor.editing.view,e=t.document.selection.editableElement;return e?t.domConverter.mapViewToDom(e.root):null},this.set("visibleView",null),this.view=new ah(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",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}destroy(){super.destroy(),this.view.destroy(),this._rotatorView.destroy(),this._fakePanelsView.destroy()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view))throw new k("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e))return this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!t.singleViewMode||this.showStack(e));const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new k("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(1===e.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),1===e.size?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){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 k("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find((e=>e[1]===t))[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;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;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new Kg(this.editor.locale),e=this.editor.locale.t;return 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 o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[o,n])})),t.buttonNextView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),t.buttonPrevView.on("execute",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),t}_createFakePanelsView(){const t=new Qg(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>=2?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),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:o=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),o&&(this._singleViewMode=!0)}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}}class Kg extends nh{constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new Ci,this.buttonPrevView=this._createButtonView(e("Previous"),''),this.buttonNextView=this._createButtonView(e("Next"),''),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)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new Nh(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class Qg extends nh{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",$g),left:n.to("left",$g),width:n.to("width",$g),height:n.to("height",$g)}},children:this.content}),this.on("change:numberOfPanels",((t,e,n,o)=>{n>o?this._addPanels(n-o):this._removePanels(o-n),this.updatePosition()}))}_addPanels(t){for(;t--;){const t=new nh;t.setTemplate({tag:"div"}),this.content.add(t),this.registerChild(t)}}_removePanels(t){for(;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,{width:n,height:o}=new Oo(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:o})}}}var Zg=n(5868),Jg={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Zg.Z,Jg);Zg.Z.locals,Uo("px");Uo("px");var Xg=n(9695),tm={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Xg.Z,tm);Xg.Z.locals,Uo("px");Uo("px");const{pilcrow:em}=Ah;class nm extends vg{constructor(t,e,n={}){super(t);const o=t.t;this.toolbar=new ig(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull}),this.editable=new Ig(t,e,n.editableElement,{label:t=>o("Rich Text Editor. Editing area: %0",t.name)}),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.toolbar,this.editable])}}class om extends(kh(bh(Tu))){constructor(t,e={}){if(!im(t)&&void 0!==e.initialData)throw new k("editor-create-initial-data",null);super(e),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return im(t)?(e=t,e instanceof HTMLTextAreaElement?e.value:e.innerHTML):t;var e}(t)),im(t)&&(this.sourceElement=t,function(t){const e=t.sourceElement;if(e){if(e.ckeditorInstance)throw new k("editor-source-element-already-used",t);e.ckeditorInstance=t,t.once("destroy",(()=>{delete e.ckeditorInstance}))}}(this)),this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull"),o=new nm(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:n});this.ui=new _h(this,o)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,e={}){return new Promise((n=>{if(im(t)&&"TEXTAREA"===t.tagName)throw new k("editor-wrong-element",null);const o=new this(t,e);n(o.initPlugins().then((()=>o.ui.init())).then((()=>o.data.init(o.config.get("initialData")))).then((()=>o.fire("ready"))).then((()=>o)))}))}}function im(t){return Ao(t)}class rm extends ma{constructor(t){super(t);const e=this.document;function n(t){return(n,o)=>{o.preventDefault();const i=o.dropRange?[o.dropRange]:null,r=new h(e,t);e.fire(r,{dataTransfer:o.dataTransfer,method:n.name,targetRanges:i,target:o.target}),r.stop.called&&o.stopPropagation()}}this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"],this.listenTo(e,"paste",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"drop",n("clipboardInput"),{priority:"low"}),this.listenTo(e,"dragover",n("dragging"),{priority:"low"})}onDomEvent(t){const e={dataTransfer:new nc("clipboardData"in t?t.clipboardData:t.dataTransfer)};"drop"!=t.type&&"dragover"!=t.type||(e.dropRange=function(t,e){const n=e.target.ownerDocument,o=e.clientX,i=e.clientY;let r;n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)?r=n.caretRangeFromPoint(o,i):e.rangeParent&&(r=n.createRange(),r.setStart(e.rangeParent,e.rangeOffset),r.collapse(!0));if(r)return t.domConverter.domRangeToView(r);return null}(this.view,t)),this.fire(t.type,t,e)}}const sm=["figcaption","li"];function am(t){let e="";if(t.is("$text")||t.is("$textProxy"))e=t.data;else if(t.is("element","img")&&t.hasAttribute("alt"))e=t.getAttribute("alt");else if(t.is("element","br"))e="\n";else{let n=null;for(const o of t.getChildren()){const t=am(o);n&&(n.is("containerElement")||o.is("containerElement"))&&(sm.includes(n.name)||sm.includes(o.name)?e+="\n":e+="\n\n"),e+=t,n=o}}return e}class cm extends Ti{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(rm),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,o=n.document;this.listenTo(o,"clipboardInput",(e=>{t.isReadOnly&&e.stop()}),{priority:"highest"}),this.listenTo(o,"clipboardInput",((t,e)=>{const o=e.dataTransfer;let i;if(e.content)i=e.content;else{let t="";o.getData("text/html")?t=function(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1==e.length?" ":e)).replace(//g,"")}(o.getData("text/html")):o.getData("text/plain")&&(((r=(r=o.getData("text/plain")).replace(//g,">").replace(/\r?\n\r?\n/g,"

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

          ")||r.includes("
          "))&&(r=`

          ${r}

          `),t=r),i=this.editor.data.htmlProcessor.toView(t)}var r;const s=new h(this,"inputTransformation");this.fire(s,{content:i,dataTransfer:o,targetRanges:e.targetRanges,method:e.method}),s.stop.called&&t.stop(),n.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty)return;const o=this.editor.data.toModel(n.content,"$clipboardHolder");0!=o.childCount&&(t.stop(),e.change((()=>{this.fire("contentInsertion",{content:o,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,o=(o,i)=>{const r=i.dataTransfer;i.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));n.fire("clipboardOutput",{dataTransfer:r,content:s,method:o.name})};this.listenTo(n,"copy",o,{priority:"low"}),this.listenTo(n,"cut",((e,n)=>{t.isReadOnly?n.preventDefault():o(e,n)}),{priority:"low"}),this.listenTo(n,"clipboardOutput",((n,o)=>{o.content.isEmpty||(o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData("text/plain",am(o.content))),"cut"==o.method&&t.model.deleteContent(e.selection)}),{priority:"low"})}}class lm{constructor(t,e=20){this._batch=null,this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(t,e)=>{e.isLocal&&e.isUndoable&&e!==this._batch&&this._reset(!0)},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(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}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=!1){this.isLocked&&!t||(this._batch=null,this._size=0)}}class dm extends Mi{constructor(t,e){super(t),this._buffer=new lm(t.model,e)}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,o=t.text||"",i=o.length;let r=n.selection;t.selection?r=t.selection:t.range&&(r=e.createSelection(t.range));const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock(),e.deleteContent(r),o&&e.insertContent(t.createText(o,n.selection.getAttributes()),r),s?t.setSelection(s):r.is("documentSelection")||t.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}const um=["insertText","insertReplacementText"];class hm extends ua{constructor(t){super(t),i.isAndroid&&um.push("insertCompositionText");const e=t.document;e.on("beforeinput",((n,o)=>{if(!this.isEnabled)return;const{data:i,targetRanges:r,inputType:s,domEvent:a}=o;if(!um.includes(s))return;const c=new h(e,"insertText");e.fire(c,new ga(t,a,{text:i,selection:t.createSelection(r)})),c.stop.called&&n.stop()})),e.on("compositionend",((n,{data:o,domEvent:r})=>{this.isEnabled&&!i.isAndroid&&o&&e.fire("insertText",new ga(t,r,{text:o,selection:e.selection}))}),{priority:"lowest"})}observe(){}}class gm extends Ti{static get pluginName(){return"Input"}init(){const t=this.editor,e=t.model,n=t.editing.view,o=e.document.selection;n.addObserver(hm);const r=new dm(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",r),t.commands.add("input",r),this.listenTo(n.document,"insertText",((o,r)=>{n.document.isComposing||r.preventDefault();const{text:s,selection:a,resultRange:c}=r,l=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));let d=s;if(i.isAndroid){const t=Array.from(l[0].getItems()).reduce(((t,e)=>t+(e.is("$textProxy")?e.data:"")),"");t&&(t.length<=d.length?d.startsWith(t)&&(d=d.substring(t.length),l[0].start=l[0].start.getShiftedBy(t.length)):t.startsWith(d)&&(l[0].start=l[0].start.getShiftedBy(d.length),d=""))}const u={text:d,selection:e.createSelection(l)};c&&(u.resultRange=t.editing.mapper.toModelRange(c)),t.execute("insertText",u)})),i.isAndroid?this.listenTo(n.document,"keydown",((t,i)=>{!o.isCollapsed&&229==i.keyCode&&n.document.isComposing&&mm(e,r)})):this.listenTo(n.document,"compositionstart",(()=>{o.isCollapsed||mm(e,r)}))}}function mm(t,e){if(!e.isEnabled)return;const n=e.buffer;n.lock(),t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)})),n.unlock()}class pm extends Mi{constructor(t,e){super(t),this.direction=e,this._buffer=new lm(t.model,t.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(t.selection||n.selection),r=t.sequence||1,s=i.isCollapsed;if(i.isCollapsed&&e.modifySelection(i,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(r))return void this._replaceEntireContentWithParagraph(o);if(this._shouldReplaceFirstBlockWithParagraph(i,r))return void this.editor.execute("paragraph",{selection:i});if(i.isCollapsed)return;let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=K(t.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),e.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction}),this._buffer.input(a),o.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,o=e.schema.getLimitElement(n);if(!(n.isCollapsed&&n.containsEntireContent(o)))return!1;if(!e.schema.checkChild(o,"paragraph"))return!1;const i=o.getChild(0);return!i||!i.is("element","paragraph")}_replaceEntireContentWithParagraph(t){const e=this.editor.model,n=e.document.selection,o=e.schema.getLimitElement(n),i=t.createElement("paragraph");t.remove(t.createRangeIn(o)),t.insert(i,o),t.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||"backward"!=this.direction)return!1;if(!t.isCollapsed)return!1;const o=t.getFirstPosition(),i=n.schema.getLimitElement(o),r=i.getChild(0);return o.parent==r&&(!!t.containsEntireContent(r)&&(!!n.schema.checkChild(i,"paragraph")&&"paragraph"!=r.name))}}const fm="word",km="selection",bm="backward",wm="forward",Am={deleteContent:{unit:km,direction:bm},deleteContentBackward:{unit:"codePoint",direction:bm},deleteWordBackward:{unit:fm,direction:bm},deleteHardLineBackward:{unit:km,direction:bm},deleteSoftLineBackward:{unit:km,direction:bm},deleteContentForward:{unit:"character",direction:wm},deleteWordForward:{unit:fm,direction:wm},deleteHardLineForward:{unit:km,direction:wm},deleteSoftLineForward:{unit:km,direction:wm}};class _m extends ua{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",(()=>{n++})),e.on("keyup",(()=>{n=0})),e.on("beforeinput",((o,r)=>{if(!this.isEnabled)return;const{targetRanges:s,domEvent:a,inputType:c}=r,l=Am[c];if(!l)return;const d={direction:l.direction,unit:l.unit,sequence:n};d.unit==km&&(d.selectionToRemove=t.createSelection(s[0])),i.isAndroid&&"deleteContentBackward"===c&&(d.sequence=1,1!=s.length||s[0].start.parent==s[0].end.parent&&s[0].start.offset+1==s[0].end.offset||(d.unit=km,d.selectionToRemove=t.createSelection(s)));const u=new ds(e,"delete",s[0]);e.fire(u,new ga(t,a,d)),u.stop.called&&o.stop()})),i.isBlink&&function(t){const e=t.view,n=e.document;let o=null,i=!1;function r(t){return t==li.backspace||t==li.delete}function s(t){return t==li.backspace?bm:wm}n.on("keydown",((t,{keyCode:e})=>{o=e,i=!1})),n.on("keyup",((a,{keyCode:c,domEvent:l})=>{const d=n.selection,u=t.isEnabled&&c==o&&r(c)&&!d.isCollapsed&&!i;if(o=null,u){const t=d.getFirstRange(),o=new ds(n,"delete",t),i={unit:km,direction:s(c),selectionToRemove:d};n.fire(o,new ga(e,l,i))}})),n.on("beforeinput",((t,{inputType:e})=>{const n=Am[e];r(o)&&n&&n.direction==s(o)&&(i=!0)}),{priority:"high"}),n.on("beforeinput",((t,{inputType:e,data:n})=>{o==li.delete&&"insertText"==e&&""==n&&t.stop()}),{priority:"high"})}(this)}observe(){}}class Cm extends Ti{static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,o=t.model.document;e.addObserver(_m),this._undoOnBackspace=!1;const i=new pm(t,"forward");t.commands.add("deleteForward",i),t.commands.add("forwardDelete",i),t.commands.add("delete",new pm(t,"backward")),this.listenTo(n,"delete",((o,i)=>{n.isComposing||i.preventDefault();const{direction:r,sequence:s,selectionToRemove:a,unit:c}=i,l="forward"===r?"deleteForward":"delete",d={sequence:s};if("selection"==c){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else d.unit=c;t.execute(l,d),e.scrollToTheSelection()}),{priority:"low"}),this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",((e,n)=>{this._undoOnBackspace&&"backward"==n.direction&&1==n.sequence&&"codePoint"==n.unit&&(this._undoOnBackspace=!1,t.execute("undo"),n.preventDefault(),e.stop())}),{context:"$capture"}),this.listenTo(o,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class vm extends Ti{static get requires(){return[gm,Cm]}static get pluginName(){return"Typing"}}function ym(t,e){let n=t.start;return{text:Array.from(t.getItems()).reduce(((t,o)=>o.is("$text")||o.is("$textProxy")?t+o.data:(n=e.createPositionAfter(o),"")),""),range:e.createRange(n,t.end)}}class xm extends(U()){constructor(t,e){super(),this.model=t,this.testCallback=e,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))})),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model.document;this.listenTo(t.selection,"change:range",((e,{directChange:n})=>{n&&(t.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1))})),this.listenTo(t,"change:data",((t,e)=>{!e.isUndo&&e.isLocal&&this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model,o=n.document.selection,i=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus),{text:r,range:s}=ym(i,n),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!a,a){const n=Object.assign(e,{text:r,range:s});"object"==typeof a&&Object.assign(n,a),this.fire(`matched:${t}`,n)}}}class Em extends Ti{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t),this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,o=t.locale,i=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!i.isCollapsed)return;if(e.shiftKey||e.altKey||e.ctrlKey)return;const n=e.keyCode==li.arrowright,r=e.keyCode==li.arrowleft;if(!n&&!r)return;const s=o.contentLanguageDirection;let a=!1;a="ltr"===s&&n||"rtl"===s&&r?this._handleForwardMovement(e):this._handleBackwardMovement(e),!0===a&&t.stop()}),{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(i,"change:range",((t,e)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!e.directChange&&Sm(i.getFirstPosition(),this.attributes)||this._restoreGravity())}))}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model.document.selection,o=n.getFirstPosition();return!this._isGravityOverridden&&((!o.isAtStart||!Dm(n,e))&&(!!Sm(o,e)&&(Tm(t),this._overrideGravity(),!0)))}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,o=n.document.selection,i=o.getFirstPosition();return this._isGravityOverridden?(Tm(t),this._restoreGravity(),Im(n,e,i),!0):i.isAtStart?!!Dm(o,e)&&(Tm(t),Im(n,e,i),!0):!!function(t,e){const n=t.getShiftedBy(-1);return Sm(n,e)}(i,e)&&(i.isAtEnd&&!Dm(o,e)&&Sm(i,e)?(Tm(t),Im(n,e,i),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1))}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function Dm(t,e){for(const n of e)if(t.hasAttribute(n))return!0;return!1}function Im(t,e,n){const o=n.nodeBefore;t.change((t=>{o?t.setSelectionAttribute(o.getAttributes()):t.removeSelectionAttribute(e)}))}function Tm(t){t.preventDefault()}function Sm(t,e){const{nodeBefore:n,nodeAfter:o}=t;for(const t of e){const e=n?n.getAttribute(t):void 0;if((o?o.getAttribute(t):void 0)!==e)return!0}return!1}var Mm=/[\\^$.*+?()[\]{}|]/g,Nm=RegExp(Mm.source);const Bm=function(t){return(t=pr(t))&&Nm.test(t)?t.replace(Mm,"\\$&"):t},zm={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},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:Fm('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:Fm("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:Fm("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:Fm('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:Fm('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:Fm("'"),to:[null,"‚",null,"’"]}},Pm={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},Lm=["symbols","mathematical","typography","quotes"];function Om(t){return"string"==typeof t?new RegExp(`(${Bm(t)})$`):t}function Rm(t){return"string"==typeof t?()=>[t]:t instanceof Array?()=>t:t}function jm(t){return(t.textNode?t.textNode:t.nodeAfter).getAttributes()}function Fm(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function Vm(t,e,n,o){return o.createRange(Hm(t,e,n,!0,o),Hm(t,e,n,!1,o))}function Hm(t,e,n,o,i){let r=t.textNode||(o?t.nodeBefore:t.nodeAfter),s=null;for(;r&&r.getAttribute(e)==n;)s=r,r=o?r.previousSibling:r.nextSibling;return s?i.createPositionAt(s,o?"before":"after"):t}function*Um(t,e){for(const n of e)n&&t.getAttributeProperties(n[0]).copyOnEnter&&(yield n)}class Gm extends Mi{execute(){this.editor.model.change((t=>{this.enterBlock(t),this.fire("afterExecute",{writer:t})}))}enterBlock(t){const e=this.editor.model,n=e.document.selection,o=e.schema,i=n.isCollapsed,r=n.getFirstRange(),s=r.start.parent,a=r.end.parent;if(o.isLimit(s)||o.isLimit(a))return i||s!=a||e.deleteContent(n),!1;if(i){const e=Um(t.model.schema,n.getAttributes());return Wm(t,r.start),t.setSelectionAttribute(e),!0}{const o=!(r.start.isAtStart&&r.end.isAtEnd),i=s==a;if(e.deleteContent(n,{leaveUnmerged:o}),o){if(i)return Wm(t,n.focus),!0;t.setSelection(a,0)}}return!1}}function Wm(t,e){t.split(e),t.setSelection(e.parent.nextSibling,0)}const qm={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class $m extends ua{constructor(t){super(t);const e=this.document;e.on("beforeinput",((n,o)=>{if(!this.isEnabled)return;const i=o.domEvent,r=qm[o.inputType];if(!r)return;const s=new ds(e,"enter",o.targetRanges[0]);e.fire(s,new ga(t,i,{isSoft:r.isSoft})),s.stop.called&&n.stop()}))}observe(){}}class Ym extends Ti{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver($m),t.commands.add("enter",new Gm(t)),this.listenTo(n,"enter",((o,i)=>{n.isComposing||i.preventDefault(),i.isSoft||(t.execute("enter"),e.scrollToTheSelection())}),{priority:"low"})}}class Km extends Mi{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n){const o=n.isCollapsed,i=n.getFirstRange(),r=i.start.parent,s=i.end.parent,a=r==s;if(o){const o=Um(t.schema,n.getAttributes());Qm(t,e,i.end),e.removeSelectionAttribute(n.getAttributeKeys()),e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o}),a?Qm(t,e,n.focus):o&&e.setSelection(s,0)}}(t,n,e.selection),this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=function(t,e){if(e.rangeCount>1)return!1;const n=e.anchor;if(!n||!t.checkChild(n,"softBreak"))return!1;const o=e.getFirstRange(),i=o.start.parent,r=o.end.parent;if((Zm(i,t)||Zm(r,t))&&i!==r)return!1;return!0}(t.schema,e.selection)}}function Qm(t,e,n){const o=e.createElement("softBreak");t.insertContent(o,n),e.setSelection(o,"after")}function Zm(t,e){return!t.is("rootElement")&&(e.isLimit(t)||Zm(t.parent,e))}class Jm extends Ti{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,o=t.editing.view,i=o.document;e.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")}),o.addObserver($m),t.commands.add("shiftEnter",new Km(t)),this.listenTo(i,"enter",((e,n)=>{i.isComposing||n.preventDefault(),n.isSoft&&(t.execute("shiftEnter"),o.scrollToTheSelection())}),{priority:"low"})}}class Xm extends(I()){constructor(){super(),this._stack=[]}add(t,e){const n=this._stack,o=n[0];this._insertDescriptor(t);const i=n[0];o===i||tp(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}remove(t,e){const n=this._stack,o=n[0];this._removeDescriptor(t);const i=n[0];o===i||tp(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(tp(t,e[n]))return;n>-1&&e.splice(n,1);let o=0;for(;e[o]&&ep(e[o],t);)o++;e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function tp(t,e){return t&&e&&t.priority==e.priority&&np(t.classes)==np(e.classes)}function ep(t,e){return t.priority>e.priority||!(t.prioritynp(e.classes)}function np(t){return Array.isArray(t)?t.sort().join(","):t}const op='',ip="ck-widget_selected";function rp(t){return!!t.is("element")&&!!t.getCustomProperty("widget")}function sp(t,e,n={}){if(!t.is("containerElement"))throw new k("widget-to-widget-wrong-element-type",null,{element:t});return e.setAttribute("contenteditable","false",t),e.addClass("ck-widget",t),e.setCustomProperty("widget",!0,t),t.getFillerOffset=hp,e.setCustomProperty("widgetLabel",[],t),n.label&&function(t,e){const n=t.getCustomProperty("widgetLabel");n.push(e)}(t,n.label),n.hasSelectionHandle&&function(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t),n=new Th;return n.set("content",op),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass(["ck-widget_with-selection-handle"],t)}(t,e),lp(t,e),t}function ap(t,e,n){if(e.classes&&n.addClass(pi(e.classes),t),e.attributes)for(const o in e.attributes)n.setAttribute(o,e.attributes[o],t)}function cp(t,e,n){if(e.classes&&n.removeClass(pi(e.classes),t),e.attributes)for(const o in e.attributes)n.removeAttribute(o,t)}function lp(t,e,n=ap,o=cp){const i=new Xm;i.on("change:top",((e,i)=>{i.oldDescriptor&&o(t,i.oldDescriptor,i.writer),i.newDescriptor&&n(t,i.newDescriptor,i.writer)}));e.setCustomProperty("addHighlight",((t,e,n)=>i.add(e,n)),t),e.setCustomProperty("removeHighlight",((t,e,n)=>i.remove(e,n)),t)}function dp(t,e,n={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t),e.setAttribute("role","textbox",t),n.label&&e.setAttribute("aria-label",n.label,t),e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t),t.on("change:isReadOnly",((n,o,i)=>{e.setAttribute("contenteditable",i?"false":"true",t)})),t.on("change:isFocused",((n,o,i)=>{i?e.addClass("ck-editor__nested-editable_focused",t):e.removeClass("ck-editor__nested-editable_focused",t)})),lp(t,e),t}function up(t,e){const n=t.getSelectedElement();if(n){const o=pp(t);if(o)return e.createRange(e.createPositionAt(n,o))}return Kd(t,e)}function hp(){return null}const gp="widget-type-around";function mp(t,e,n){return!!t&&rp(t)&&!n.isInline(e)}function pp(t){return t.getAttribute(gp)}var fp=n(4921),kp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(fp.Z,kp);fp.Z.locals;const bp=["before","after"],wp=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,Ap="ck-widget__type-around_disabled";class _p extends Ti{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Ym,Cm]}constructor(t){super(t),this._currentFakeCaretModelElement=null}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",((n,o,i)=>{e.change((t=>{for(const n of e.document.roots)i?t.removeClass(Ap,n):t.addClass(Ap,n)})),i||t.model.change((t=>{t.removeSelectionAttribute(gp)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,o=n.editing.view,i=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:i}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(t,e,n,o){this.listenTo(t,e,((...t)=>{this.isEnabled&&n(...t)}),o)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=pp(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,o={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,i,r)=>{const s=r.mapper.toViewElement(i.item);if(s&&mp(s,i.item,e)){!function(t,e,n){const o=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);return function(t,e){for(const n of bp){const o=new Bu({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n],"aria-hidden":"true"},children:[t.ownerDocument.importNode(wp,!0)]});t.appendChild(o.render())}}(n,e),function(t){const e=new Bu({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}(n),n}));t.insert(t.createPositionAt(n,"end"),o)}(r.writer,o,s);s.getCustomProperty("widgetLabel").push((()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,o=e.schema,i=t.editing.view;function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}this._listenToIfEnabled(i.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[rp,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(gp)}))})),this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){if(mp(t.editing.mapper.toViewElement(e),e,o))return}t.model.change((t=>{t.removeSelectionAttribute(gp)}))})),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const i=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);t&&(i.removeClass(bp.map(r),t),this._currentFakeCaretModelElement=null)}const s=e.selection.getSelectedElement();if(!s)return;const a=n.mapper.toViewElement(s);if(!mp(a,s,o))return;const c=pp(e.selection);c&&(i.addClass(r(c),a),this._currentFakeCaretModelElement=s)})),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,o)=>{o||t.model.change((t=>{t.removeSelectionAttribute(gp)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,o=n.model,i=o.document.selection,r=o.schema,s=n.editing.view,a=function(t,e){const n=mi(t,e);return"down"===n||"right"===n}(e.keyCode,n.locale.contentLanguageDirection),c=s.document.selection.getSelectedElement();let l;mp(c,n.editing.mapper.toModelElement(c),r)?l=this._handleArrowKeyPressOnSelectedWidget(a):i.isCollapsed?l=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):e.shiftKey||(l=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),l&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=pp(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(gp,t?"after":"before"),!0;if(!(n===(t?"after":"before")))return e.removeSelectionAttribute(gp),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,o=n.schema,i=e.plugins.get("Widget"),r=i._getObjectElementNextToSelection(t);return!!mp(e.editing.mapper.toViewElement(r),r,o)&&(n.change((e=>{i._setSelectionOverElement(r),e.setSelectionAttribute(gp,t?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,o=n.schema,i=e.editing.mapper,r=n.document.selection,s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;return!!mp(i.toViewElement(s),s,o)&&(n.change((e=>{e.setSelection(s,"on"),e.setSelectionAttribute(gp,t?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,o)=>{const i=o.domTarget.closest(".ck-widget__type-around__button");if(!i)return;const r=function(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}(i),s=function(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}(i,e.domConverter),a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r),o.preventDefault(),n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,o)=>{if("atTarget"!=n.eventPhase)return;const i=e.getSelectedElement(),r=t.editing.mapper.toViewElement(i),s=t.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:mp(r,i,s)&&(this._insertParagraph(i,o.isSoft?"before":"after"),a=!0),a&&(o.preventDefault(),n.stop())}),{context:rp})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",((e,n)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(n.selection=t.selection)}),{priority:"high"}),i.isAndroid?this._listenToIfEnabled(t,"keydown",((t,e)=>{229==e.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(t,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,o=n.schema;this._listenToIfEnabled(e.document,"delete",((e,i)=>{if("atTarget"!=e.eventPhase)return;const r=pp(n.document.selection);if(!r)return;const s=i.direction,a=n.document.selection.getSelectedElement(),c="forward"==s;if("before"===r===c)t.execute("delete",{selection:n.createSelection(a,"on")});else{const e=o.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e)if(e.isCollapsed){const i=n.createSelection(e.start);if(n.modifySelection(i,{direction:s}),i.focus.isEqual(e.start)){const t=function(t,e){let n=e;for(const o of e.getAncestors({parentFirst:!0})){if(o.childCount>1||t.isLimit(o))break;n=o}return n}(o,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:!0})}else n.change((n=>{n.setSelection(e),t.execute(c?"deleteForward":"delete")}))}else n.change((n=>{n.setSelection(e),t.execute(c?"deleteForward":"delete")}))}i.preventDefault(),e.stop()}),{context:rp})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[o,i])=>{if(i&&!i.is("documentSelection"))return;const r=pp(n);return r?(t.stop(),e.change((t=>{const i=n.getSelectedElement(),s=e.createPositionAt(i,r),a=t.createSelection(s),c=e.insertContent(o,a);return t.setSelection(a),c}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,n)=>{const[,o,,i={}]=n;if(o&&!o.is("documentSelection"))return;const r=pp(e);r&&(i.findOptimalPosition=r,n[3]=i)}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[n])=>{if(n&&!n.is("documentSelection"))return;pp(e)&&t.stop()}),{priority:"high"})}}function Cp(t){const e=t.model;return(n,o)=>{const i=o.keyCode==li.arrowup,r=o.keyCode==li.arrowdown,s=o.shiftKey,a=e.document.selection;if(!i&&!r)return;const c=r;if(s&&function(t,e){return!t.isCollapsed&&t.isBackward==e}(a,c))return;const l=function(t,e,n){const o=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition(),n=vp(o,t,"forward");if(!n)return null;const i=o.createRange(t,n),r=yp(o.schema,i,"backward");return r?o.createRange(t,r):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=vp(o,t,"backward");if(!n)return null;const i=o.createRange(n,t),r=yp(o.schema,i,"forward");return r?o.createRange(r,t):null}}(t,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||function(t,e,n){const o=t.model,i=t.view.domConverter;if(n){const t=o.createSelection(e.start);o.modifySelection(t),t.focus.isAtEnd||e.start.isEqual(t.focus)||(e=o.createRange(t.focus,e.end))}const r=t.mapper.toViewRange(e),s=i.viewRangeToDom(r),a=Oo.getDomRangeRects(s);let c;for(const t of a)if(void 0!==c){if(Math.round(t.top)>=c)return!1;c=Math.max(c,Math.round(t.bottom))}else c=Math.round(t.bottom);return!0}(t,l,c))&&(e.change((t=>{const n=c?l.end:l.start;if(s){const o=e.createSelection(a.anchor);o.setFocus(n),t.setSelection(o)}else t.setSelection(n)})),n.stop(),o.preventDefault(),o.stopPropagation())}}}function vp(t,e,n){const o=t.schema,i=t.createRangeIn(e.root),r="forward"==n?"elementStart":"elementEnd";for(const{previousPosition:t,item:s,type:a}of i.getWalker({startPosition:e,direction:n})){if(o.isLimit(s)&&!o.isInline(s))return t;if(a==r&&o.isBlock(s))return null}return null}function yp(t,e,n){const o="backward"==n?e.end:e.start;if(t.checkChild(o,"$text"))return o;for(const{nextPosition:o}of e.getWalker({direction:n}))if(t.checkChild(o,"$text"))return o;return null}var xp=n(3488),Ep={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(xp.Z,Ep);xp.Z.locals;class Dp extends Ti{static get pluginName(){return"Widget"}static get requires(){return[_p,Cm]}init(){const t=this.editor,e=t.editing.view,n=e.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on("selection",((e,n,o)=>{const i=o.writer,r=n.selection;if(r.isCollapsed)return;const s=r.getSelectedElement();if(!s)return;const a=t.editing.mapper.toViewElement(s);var c;rp(a)&&(o.consumable.consume(r,"selection")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:(c=a,c.getCustomProperty("widgetLabel").reduce(((t,e)=>"function"==typeof e?t?t+". "+e():e():t?t+". "+e:e),""))}))})),this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const o=n.writer,i=o.document.selection;let r=null;for(const t of i.getRanges())for(const e of t){const t=e.item;rp(t)&&!Ip(t,r)&&(o.addClass(ip,t),this._previouslySelected.add(t),r=t)}}),{priority:"low"}),e.addObserver(ou),this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t))),this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[rp,"$text"]}),this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"}),this.listenTo(n,"arrowKey",Cp(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",((t,e)=>{this._handleDelete("forward"==e.direction)&&(e.preventDefault(),t.stop())}),{context:"$root"})}_onMousedown(t,e){const n=this.editor,o=n.editing.view,r=o.document;let s=e.target;if(function(t){let e=t;for(;e;){if(e.is("editableElement")&&!e.is("rootElement"))return!0;if(rp(e))return!1;e=e.parent}return!1}(s)){if((i.isSafari||i.isGecko)&&e.domEvent.detail>=3){const t=n.editing.mapper,o=s.is("attributeElement")?s.findAncestor((t=>!t.is("attributeElement"))):s,i=t.toModelElement(o);e.preventDefault(),this.editor.model.change((t=>{t.setSelection(i,"in")}))}return}if(!rp(s)&&(s=s.findAncestor(rp),!s))return;i.isAndroid&&e.preventDefault(),r.isFocused||o.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,o=this.editor.model,i=o.schema,r=o.document.selection,s=r.getSelectedElement(),a=mi(n,this.editor.locale.contentLanguageDirection),c="down"==a||"right"==a,l="up"==a||"down"==a;if(s&&i.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition(),s=i.getNearestSelectionRange(n,c?"forward":"backward");return void(s&&(o.change((t=>{t.setSelection(s)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition(),s=r.getLastPosition(),a=n.nodeAfter,l=s.nodeBefore;return void((a&&i.isObject(a)||l&&i.isObject(l))&&(o.change((t=>{t.setSelection(c?s:n)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed)return;const d=this._getObjectElementNextToSelection(c);if(d&&i.isObject(d)){if(i.isInline(d)&&l)return;this._setSelectionOverElement(d),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,o=n.schema,i=n.document.selection.getSelectedElement();i&&o.isObject(i)&&(e.preventDefault(),t.stop())}_handleDelete(t){if(this.editor.isReadOnly)return;const e=this.editor.model.document.selection;if(!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change((t=>{let o=e.anchor.parent;for(;o.isEmpty;){const e=o;o=e.parent,t.remove(e)}this._setSelectionOverElement(n)})),!0):void 0}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,o=e.document.selection,i=e.createSelection(o);if(e.modifySelection(i,{direction:t?"forward":"backward"}),i.isEqual(o))return null;const r=t?i.focus.nodeBefore:i.focus.nodeAfter;return r&&n.isObject(r)?r:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(ip,e);this._previouslySelected.clear()}}function Ip(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}class Tp extends Ti{static get requires(){return[Yg]}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=>{(function(t){const e=t.getSelectedElement();return!(!e||!rp(e))})(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:o,balloonClassName:i="ck-toolbar-container"}){if(!n.length)return void b("widget-toolbar-no-items",{toolbarId:t});const r=this.editor,s=r.t,a=new ig(r.locale);if(a.ariaLabel=e||s("Widget toolbar"),this._toolbarDefinitions.has(t))throw new k("widget-toolbar-duplicated",this,{toolbarId:t});a.fillFromConfig(n,r.ui.componentFactory);const c={view:a,getRelatedElement:o,balloonClassName:i};r.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const t=o(r.editing.view.document.selection);t&&this._showToolbar(c,t)},afterBlur:()=>{this._hideToolbar(c)}}),this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&i)if(this.editor.ui.focusTracker.isFocused){const r=i.getAncestors().length;r>t&&(t=r,e=i,n=o)}else this._isToolbarVisible(o)&&this._hideToolbar(o);else this._isToolbarInBalloon(o)&&this._hideToolbar(o)}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Sp(this.editor,e):this._isToolbarInBalloon(t)||(this._balloon.add({view:t.view,position:Mp(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);Sp(this.editor,e)}})))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Sp(t,e){const n=t.plugins.get("ContextualBalloon"),o=Mp(t,e);n.updatePosition(o)}function Mp(t,e){const n=t.editing.view,o=ah.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}class Np extends(U()){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const o=new Oo(e);this.activeHandlePosition=function(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)if(t.classList.contains(Bp(n)))return n}(t),this._referenceCoordinates=function(t,e){const n=new Oo(t),o=e.split("-"),i={x:"right"==o[1]?n.right:n.left,y:"bottom"==o[0]?n.bottom:n.top};return i.x+=t.ownerDocument.defaultView.scrollX,i.y+=t.ownerDocument.defaultView.scrollY,i}(e,function(t){const e=t.split("-"),n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}(this.activeHandlePosition)),this._originalWidth=o.width,this._originalHeight=o.height,this._aspectRatio=o.width/o.height;const i=n.style.width;i&&i.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(i):this._originalWidthPercents=function(t,e){const n=t.parentElement,o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/o*100}(n,o)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function Bp(t){return`ck-widget__resizer__handle-${t}`}class zp extends nh{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("_isVisible","none",(t=>!t))}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>null!==t&&null!==e)),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,o)=>"px"===t.unit?`${e}×${n}`:`${o}%`)),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",((t,e,n)=>e<50||n<50?"above-center":t))}_dismiss(){this.unbind(),this._isVisible=!1}}class Pp extends(U()){constructor(t){super(),this._options=t,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e)),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(t=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),t.stop())}),{priority:"high"})}get state(){return this._state}show(){this._options.editor.editing.view.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change((n=>{const o=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);return t._appendHandles(n),t._appendSizeUI(n),n}));n.insert(n.createPositionAt(e,"end"),o),n.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=o,this.isVisible||this.hide()})),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}begin(t){this._state=new Np(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change((t=>{const n=this._options.unit||"%",o=("%"===n?e.widthPercents:e.width)+n;t.setStyle("width",o,this._options.viewElement)}));const n=this._getHandleHost(),o=new Oo(n),i=Math.round(o.width),r=Math.round(o.height),s=new Oo(n);e.width=Math.round(s.width),e.height=Math.round(s.height),this.redraw(o),this.state.update({...e,handleHostWidth:i,handleHostHeight:r})}commit(){const t=this._options.unit||"%",e=("%"===t?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!((n=e)&&n.ownerDocument&&n.ownerDocument.contains(n)))return;var n;const o=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(o.isSameNode(i)){const e=t||new Oo(i);a=[e.width+"px",e.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];"same"!==Q(s,a)&&this._options.editor.editing.view.change((t=>{t.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state,n={x:(o=t).pageX,y:o.pageY};var o;const i=!this._options.isCentered||this._options.isCentered(this),r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return"width"==(s/e.aspectRatio>a?"width":"height")?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const o of e)t.appendChild(new Bu({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(n=o,`ck-widget__resizer__handle-${n}`)}}).render());var n}_appendSizeUI(t){this._sizeView=new zp,this._sizeView.render(),t.appendChild(this._sizeView.element)}}const Lp=function(t,e,n){var o=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return L(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),Ia(t,e,{leading:o,maxWait:e,trailing:i})};var Op=n(8506),Rp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Op.Z,Rp);Op.Z.locals;class jp extends Ti{static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=Mo.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),this._resizers=new Map,t.view.addObserver(ou),this._observer=new(Do()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=Lp((()=>this.redrawSelectedResizer()),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers)t.isAttached()||(this._resizers.delete(t),e.destroy())}),{priority:"lowest"}),this._observer.listenTo(Mo.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement(),e=this.getResizerByViewElement(t)||null;e?this.select(e):this.deselect()}))}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new Pp(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"}),e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"}),e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const o=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(o)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;Pp.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}var Fp=n(903),Vp={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Fp.Z,Vp);Fp.Z.locals;class Hp extends Ti{static get pluginName(){return"DragDrop"}static get requires(){return[cm,Dp]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=Lp((t=>this._updateDropMarker(t)),40),this._removeDropMarkerDelayed=Wp((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=Wp((()=>this._clearDraggableAttributes()),40),e.addObserver(rm),e.addObserver(ou),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",((t,e,n)=>{n?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((t,e,n)=>{n||this._finalizeDragging(!1)})),i.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=e.document,o=t.editing.view,r=o.document;this.listenTo(r,"dragstart",((o,i)=>{const s=n.selection;if(i.target&&i.target.is("editableElement"))return void i.preventDefault();const a=i.target?qp(i.target):null;if(a){const n=t.editing.mapper.toModelElement(a);this._draggedRange=Bc.fromRange(e.createRangeOn(n)),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!r.selection.isCollapsed){const t=r.selection.getSelectedElement();t&&rp(t)||(this._draggedRange=Bc.fromRange(s.getFirstRange()))}if(!this._draggedRange)return void i.preventDefault();this._draggingUid=m(),i.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",i.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange()),l=t.data.toView(e.getSelectedContent(c));r.fire("clipboardOutput",{dataTransfer:i.dataTransfer,content:l,method:"dragstart"}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(r,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&"move"==e.dataTransfer.dropEffect)}),{priority:"low"}),this.listenTo(r,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(r,"dragleave",(()=>{this._removeDropMarkerDelayed()})),this.listenTo(r,"dragging",((e,n)=>{if(!this.isEnabled)return void(n.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const o=Up(t,n.targetRanges,n.target);this._draggedRange||(n.dataTransfer.dropEffect="copy"),i.isGecko||("copy"==n.dataTransfer.effectAllowed?n.dataTransfer.dropEffect="copy":["all","copyMove"].includes(n.dataTransfer.effectAllowed)&&(n.dataTransfer.dropEffect="move")),o&&this._updateDropMarkerThrottled(o)}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"clipboardInput",((e,n)=>{if("drop"!=n.method)return;const o=Up(t,n.targetRanges,n.target);if(this._removeDropMarker(),!o)return this._finalizeDragging(!1),void e.stop();this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==Gp(n.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(o,!0))return this._finalizeDragging(!1),void e.stop();n.targetRanges=[t.editing.mapper.toViewRange(o)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(cm);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"}),t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||"drop"!==e.method)return;const n="move"==Gp(e.dataTransfer),o=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(o&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",((o,r)=>{if(i.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=qp(r.target);if(i.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&rp(t)||(s=n.selection.editableElement)}s&&(e.change((t=>{t.setAttribute("draggable","true",s)})),this._draggableElement=t.editing.mapper.toModelElement(s))})),this.listenTo(n,"mouseup",(()=>{i.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_setupDropMarker(){const t=this.editor;t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return n.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);return e.append("⁠",t.createElement("span"),"⁠"),e}))}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change((e=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||e.updateMarker("drop-target",{range:t}):e.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})}))}_removeDropMarker(){const t=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),t.markers.has("drop-target")&&t.change((t=>{t.removeMarker("drop-target")}))}_finalizeDragging(t){const e=this.editor,n=e.model;this._removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(t&&this.isEnabled&&n.deleteContent(n.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function Up(t,e,n){const o=t.model,r=t.editing.mapper;let s=null;const a=e?e[0].start:null;if(n.is("uiElement")&&(n=n.parent),s=function(t,e){const n=t.model,o=t.editing.mapper;if(rp(e))return n.createRangeOn(o.toModelElement(e));if(!e.is("editableElement")){const t=e.findAncestor((t=>rp(t)||t.is("editableElement")));if(rp(t))return n.createRangeOn(o.toModelElement(t))}return null}(t,n),s)return s;const c=function(t,e){const n=t.editing.mapper,o=t.editing.view,i=n.toModelElement(e);if(i)return i;const r=o.createPositionBefore(e),s=n.findMappedViewAncestor(r);return n.toModelElement(s)}(t,n),l=a?r.toModelPosition(a):null;return l?(s=function(t,e,n){const o=t.model;if(!o.schema.checkChild(n,"$block"))return null;const i=o.createPositionAt(n,0),r=e.path.slice(0,i.path.length),s=o.createPositionFromPath(e.root,r),a=s.nodeAfter;if(a&&o.schema.isObject(a))return o.createRangeOn(a);return null}(t,l,c),s||(s=o.schema.getNearestSelectionRange(l,i.isGecko?"forward":"backward"),s||function(t,e){const n=t.model;let o=e;for(;o;){if(n.schema.isObject(o))return n.createRangeOn(o);o=o.parent}return null}(t,l.parent))):function(t,e){const n=t.model,o=n.schema,i=n.createPositionAt(e,0);return o.getNearestSelectionRange(i,"forward")}(t,c)}function Gp(t){return i.isGecko?t.dropEffect:["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function Wp(t,e){let n;function o(...i){o.cancel(),n=setTimeout((()=>t(...i)),e)}return o.cancel=()=>{clearTimeout(n)},o}function qp(t){if(t.is("editableElement"))return null;if(t.hasClass("ck-widget__selection-handle"))return t.findAncestor(rp);if(rp(t))return t;const e=t.findAncestor((t=>rp(t)||t.is("editableElement")));return rp(e)?e:null}class $p extends Ti{static get pluginName(){return"PastePlainText"}static get requires(){return[cm]}init(){const t=this.editor,e=t.model,n=t.editing.view,o=n.document,i=e.document.selection;let r=!1;n.addObserver(rm),this.listenTo(o,"keydown",((t,e)=>{r=e.shiftKey})),t.plugins.get(cm).on("contentInsertion",((t,n)=>{(r||function(t,e){if(t.childCount>1)return!1;const n=t.getChild(0);if(e.isObject(n))return!1;return 0==Array.from(n.getAttributeKeys()).length}(n.content,e.schema))&&e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));i.isCollapsed||e.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems())e.is("$textProxy")&&t.setAttributes(o,e)}))}))}}class Yp extends Ti{static get pluginName(){return"Clipboard"}static get requires(){return[cm,Hp,$p]}}class Kp extends Mi{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Qp(t.schema,n))do{if(n=n.parent,!n)return}while(!Qp(t.schema,n));t.change((t=>{t.setSelection(n,"in")}))}}function Qp(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const Zp=hi("Ctrl+A");class Jp extends Ti{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,e=t.editing.view.document;t.commands.add("selectAll",new Kp(t)),this.listenTo(e,"keydown",((e,n)=>{ui(n)===Zp&&(t.execute("selectAll"),n.preventDefault())}))}}class Xp extends Ti{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll"),o=new Nh(e),i=e.t;return o.set({label:i("Select all"),icon:'',keystroke:"Ctrl+A",tooltip:!0}),o.bind("isEnabled").to(n,"isEnabled"),this.listenTo(o,"execute",(()=>{t.execute("selectAll"),t.editing.view.focus()})),o}))}}class tf extends Ti{static get requires(){return[Jp,Xp]}static get pluginName(){return"SelectAll"}}class ef extends Mi{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];n.batchType||(n.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(t.data,"set",((t,e)=>{e[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model,i=o.document,r=[],s=t.map((t=>t.getTransformedByOperations(n))),a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=i.graveyard)).filter((t=>!of(t,a)));e.length&&(nf(e),r.push(e[0]))}r.length&&o.change((t=>{t.setSelection(r,{backward:e})}))}_undo(t,e){const n=this.editor.model,o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1,r=Array.from(o.history.getOperations(i)),s=ad([t.getReversed()],r,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const i of s)e.addOperation(i),n.applyOperation(i),o.history.setOperationAsUndone(t,i)}}}function nf(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class rf extends ef{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1,n=this._stack.splice(e,1)[0],o=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t),this.fire("revert",n.batch,o)})),this.refresh()}}class sf extends ef{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1].baseVersion+1,o=this.editor.model.document.history.getOperations(n);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o),this._undo(t.batch,e)})),this.refresh()}}class af extends Ti{static get pluginName(){return"UndoEditing"}constructor(t){super(t),this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new rf(t),this._redoCommand=new sf(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation)return;const o=n.batch,i=this._redoCommand._createdBatches.has(o),r=this._undoCommand._createdBatches.has(o);this._batchRegistry.has(o)||(this._batchRegistry.add(o),o.isUndoable&&(i?this._undoCommand.addBatch(o):r||(this._undoCommand.addBatch(o),this._redoCommand.clearStack())))}),{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")}}const cf='',lf='';class df extends Ti{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,o="ltr"==e.uiLanguageDirection?cf:lf,i="ltr"==e.uiLanguageDirection?lf:cf;this._addButton("undo",n("Undo"),"CTRL+Z",o),this._addButton("redo",n("Redo"),"CTRL+Y",i)}_addButton(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(r=>{const s=i.commands.get(t),a=new Nh(r);return a.set({label:e,icon:o,keystroke:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",(()=>{i.execute(t),i.editing.view.focus()})),a}))}}class uf extends Ti{static get requires(){return[af,df]}static get pluginName(){return"Undo"}}const hf=["left","right","center","justify"];function gf(t){return hf.includes(t)}function mf(t,e){return"rtl"==e.contentLanguageDirection?"right"===t:"left"===t}function pf(t){const e=t.map((t=>{let e;return e="string"==typeof t?{name:t}:t,e})).filter((t=>{const e=!!hf.includes(t.name);return e||b("alignment-config-name-not-recognized",{option:t}),e})),n=e.filter((t=>!!t.className)).length;if(n&&n{const i=o.slice(n+1);if(i.some((t=>t.name==e.name)))throw new k("alignment-config-name-already-defined",{option:e,configuredOptions:t});if(e.className){if(i.some((t=>t.className==e.className)))throw new k("alignment-config-classname-already-defined",{option:e,configuredOptions:t})}})),e}const ff="alignment";class kf extends Mi{refresh(){const t=this.editor.locale,e=_i(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!e&&this._canBeAligned(e),this.isEnabled&&e.hasAttribute("alignment")?this.value=e.getAttribute("alignment"):this.value="rtl"===t.contentLanguageDirection?"right":"left"}execute(t={}){const e=this.editor,n=e.locale,o=e.model,i=o.document,r=t.value;o.change((t=>{const e=Array.from(i.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t))),o=e[0].getAttribute("alignment");mf(r,n)||o===r||!r?function(t,e){for(const n of t)e.removeAttribute(ff,n)}(e,t):function(t,e,n){for(const o of t)e.setAttribute(ff,n,o)}(e,t,r)}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,ff)}}class bf extends Ti{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t),t.config.define("alignment",{options:[...hf.map((t=>({name:t})))]})}init(){const t=this.editor,e=t.locale,n=t.model.schema,o=pf(t.config.get("alignment.options")).filter((t=>gf(t.name)&&!mf(t.name,e))),i=o.some((t=>!!t.className));n.extend("$block",{allowAttributes:"alignment"}),t.model.schema.setAttributeProperties("alignment",{isFormatting:!0}),i?t.conversion.attributeToAttribute(function(t){const e={model:{key:"alignment",values:t.map((t=>t.name))},view:{}};for(const n of t)e.view[n.name]={key:"class",value:n.className};return e}(o)):t.conversion.for("downcast").attributeToAttribute(function(t){const e={model:{key:"alignment",values:t.map((t=>t.name))},view:{}};for(const{name:n}of t)e.view[n]={key:"style",value:{"text-align":n}};return e}(o));const r=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"style",value:{"text-align":n}},model:{key:"alignment",value:n}});return e}(o);for(const e of r)t.conversion.for("upcast").attributeToAttribute(e);const s=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"align",value:n},model:{key:"alignment",value:n}});return e}(o);for(const e of s)t.conversion.for("upcast").attributeToAttribute(e);t.commands.add("alignment",new kf(t))}}const wf=new Map([["left",Ah.alignLeft],["right",Ah.alignRight],["center",Ah.alignCenter],["justify",Ah.alignJustify]]);class Af extends Ti{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,e=t.ui.componentFactory,n=t.t,o=pf(t.config.get("alignment.options"));o.map((t=>t.name)).filter(gf).forEach((t=>this._addButton(t))),e.add("alignment",(i=>{const r=kg(i),s=o.map((t=>e.create(`alignment:${t.name}`)));bg(r,s,{enableActiveItemFocusOnDropdownOpen:!0}),r.buttonView.set({label:n("Text alignment"),tooltip:!0}),r.toolbarView.isVertical=!0,r.toolbarView.ariaLabel=n("Text alignment toolbar"),r.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const a="rtl"===i.contentLanguageDirection?wf.get("right"):wf.get("left");return r.buttonView.bind("icon").toMany(s,"isOn",((...t)=>{const e=t.findIndex((t=>t));return e<0?a:s[e].icon})),r.bind("isEnabled").toMany(s,"isEnabled",((...t)=>t.some((t=>t)))),this.listenTo(r,"execute",(()=>{t.editing.view.focus()})),r}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const o=e.commands.get("alignment"),i=new Nh(n);return i.set({label:this.localizedOptionTitles[t],icon:wf.get(t),tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(o),i.bind("isOn").to(o,"value",(e=>e===t)),this.listenTo(i,"execute",(()=>{e.execute("alignment",{value:t}),e.editing.view.focus()})),i}))}}class _f extends Mi{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,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,n=e.document.selection,o=t.value;e.change((t=>{if(n.isCollapsed)o?t.setSelectionAttribute(this.attributeKey,o):t.removeSelectionAttribute(this.attributeKey);else{const i=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of i)o?t.setAttribute(this.attributeKey,o,e):t.removeAttribute(this.attributeKey,e)}}))}}class Cf extends Ai{constructor(t){super(t),this.set("isEmpty",!0),this.on("change",(()=>{this.set("isEmpty",0===this.length)}))}add(t,e){this.find((e=>e.color===t.color))||super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}d(Cf,U);var vf=n(1896),yf={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(vf.Z,yf);vf.Z.locals;class xf extends nh{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r}){super(t),this.items=this.createCollection(),this.colorDefinitions=e,this.focusTracker=new Ci,this.keystrokes=new vi,this.set("selectedColor"),this.removeButtonLabel=o,this.columns=n,this.documentColors=new Cf,this.documentColorsCount=r,this._focusables=new Nu,this._focusCycler=new Qh({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._documentColorsLabel=i,this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-table"]},children:this.items}),this.items.add(this._createRemoveColorButton())}updateDocumentColors(t,e){const n=t.document,o=this.documentColorsCount;this.documentColors.clear();for(const i of n.getRootNames()){const r=n.getRoot(i),s=t.createRangeIn(r);for(const t of s.getItems())if(t.is("$textProxy")&&t.hasAttribute(e)&&(this._addColorToDocumentColors(t.getAttribute(e)),this.documentColors.length>=o))return}}updateSelectedColors(){const t=this.documentColorsGrid,e=this.staticColorsGrid,n=this.selectedColor;e.selectedColor=n,t&&(t.selectedColor=n)}render(){super.render(),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}appendGrids(){if(!this.staticColorsGrid&&(this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.focusTracker.add(this.staticColorsGrid.element),this._focusables.add(this.staticColorsGrid),this.documentColorsCount)){const t=Bu.bind(this.documentColors,this.documentColors),e=new Eg(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),this.focusTracker.add(this.documentColorsGrid.element),this._focusables.add(this.documentColorsGrid)}}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_createRemoveColorButton(){const t=new Nh;return t.set({withText:!0,icon:Ah.eraser,label:this.removeButtonLabel}),t.class="ck-color-table__remove-color",t.on("execute",(()=>{this.fire("execute",{value:null})})),t.render(),this.focusTracker.add(t.element),this._focusables.add(t),t}_createStaticColorsGrid(){const t=new Fh(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return t.delegate("execute").to(this),t}_createDocumentColorsGrid(){const t=Bu.bind(this.documentColors,this.documentColors),e=new Fh(this.locale,{columns:this.columns});return e.delegate("execute").to(this),e.extendTemplate({attributes:{class:t.if("isEmpty","ck-hidden")}}),e.items.bindTo(this.documentColors).using((t=>{const e=new Oh;return e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder}),t.label&&e.set({label:t.label,tooltip:!0}),e.on("execute",(()=>{this.fire("execute",{value:t.color})})),e})),this.documentColors.on("change:isEmpty",((t,n,o)=>{o&&(e.selectedColor=null)})),e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));e?this.documentColors.add(Object.assign({},e)):this.documentColors.add({color:t,label:t,options:{hasBorder:!1}})}}const Ef="fontSize",Df="fontFamily",If="fontColor",Tf="fontBackgroundColor";function Sf(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,t.upcastAlso&&(n.upcastAlso[t.model]=t.upcastAlso);return n}function Mf(t){return e=>e.getStyle(t).replace(/\s/g,"")}function Nf(t){return(e,{writer:n})=>n.createAttributeElement("span",{style:`${t}:${e}`},{priority:7})}class Bf extends _f{constructor(t){super(t,Ef)}}function zf(t){return t.map((t=>function(t){if(e=t,"object"==typeof e&&e.title&&e.model&&e.view)return Lf(t);var e;const n=function(t){return Pf[t]||Pf[t.model]}(t);if(n)return Lf(n);if("default"===t)return{model:void 0,title:"Default"};if(function(t){let e;if("object"==typeof t){if(!t.model)throw new k("font-size-invalid-definition",null,t);e=parseFloat(t.model)}else e=parseFloat(t);return isNaN(e)}(t))return;return function(t){"number"!=typeof t&&"string"!=typeof t||(t={title:String(t),model:`${parseFloat(t)}px`});return t.view={name:"span",styles:{"font-size":t.model}},Lf(t)}(t)}(t))).filter((t=>!!t))}const Pf={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 Lf(t){return t.view.priority||(t.view.priority=7),t}const Of=["x-small","x-small","small","medium","large","x-large","xx-large","xxx-large"];class Rf extends Ti{static get pluginName(){return"FontSizeEditing"}constructor(t){super(t),t.config.define(Ef,{options:["tiny","small","default","big","huge"],supportAllValues:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Ef}),t.model.schema.setAttributeProperties(Ef,{isFormatting:!0,copyOnEnter:!0});const e=t.config.get("fontSize.supportAllValues"),n=zf(this.editor.config.get("fontSize.options")).filter((t=>t.model)),o=Sf(Ef,n);e?(this._prepareAnyValueConverters(o),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(o),t.commands.add(Ef,new Bf(t))}_prepareAnyValueConverters(t){const e=this.editor,n=t.model.values.filter((t=>{return!(e=String(t),hu.test(e)||function(t){return gu.test(t)}(String(t)));var e}));if(n.length)throw new k("font-size-invalid-use-of-named-presets",null,{presets:n});e.conversion.for("downcast").attributeToElement({model:Ef,view:(t,{writer:e})=>{if(t)return e.createAttributeElement("span",{style:"font-size:"+t},{priority:7})}}),e.conversion.for("upcast").elementToAttribute({model:{key:Ef,value:t=>t.getStyle("font-size")},view:{name:"span",styles:{"font-size":/.*/}}})}_prepareCompatibilityConverter(){this.editor.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{size:/^[+-]?\d{1,3}$/}},model:{key:Ef,value:t=>{const e=t.getAttribute("size"),n="-"===e[0]||"+"===e[0];let o=parseInt(e,10);n&&(o=3+o);const i=Of.length-1,r=Math.min(Math.max(o,0),i);return Of[r]}}})}}var jf=n(6007),Ff={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(jf.Z,Ff);jf.Z.locals;class Vf extends Ti{static get pluginName(){return"FontSizeUI"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),o=t.commands.get(Ef);t.ui.componentFactory.add(Ef,(i=>{const r=kg(i);return wg(r,function(t,e){const n=new Ai;for(const o of t){const t={type:"button",model:new Hg({commandName:Ef,commandParam:o.model,label:o.title,class:"ck-fontsize-option",withText:!0})};o.view&&o.view.styles&&t.model.set("labelStyle",`font-size:${o.view.styles["font-size"]}`),o.view&&o.view.classes&&t.model.set("class",`${t.model.class} ${o.view.classes}`),t.model.bind("isOn").to(e,"value",(t=>t===o.model)),n.add(t)}return n}(n,o)),r.buttonView.set({label:e("Font Size"),icon:'',tooltip:!0}),r.extendTemplate({attributes:{class:["ck-font-size-dropdown"]}}),r.bind("isEnabled").to(o),this.listenTo(r,"execute",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam}),t.editing.view.focus()})),r}))}_getLocalizedOptions(){const t=this.editor,e=t.t,n={Default:e("Default"),Tiny:e("Tiny"),Small:e("Small"),Big:e("Big"),Huge:e("Huge")};return zf(t.config.get(Ef).options).map((t=>{const e=n[t.title];return e&&e!=t.title&&(t=Object.assign({},t,{title:e})),t}))}}class Hf extends _f{constructor(t){super(t,Df)}}function Uf(t){return t.map(Gf).filter((t=>!!t))}function Gf(t){return"object"==typeof t?t:"default"===t?{title:"Default",model:void 0}:"string"==typeof t?function(t){const e=t.replace(/"|'/g,"").split(","),n=e[0],o=e.map(Wf).join(", ");return{title:n,model:o,view:{name:"span",styles:{"font-family":o},priority:7}}}(t):void 0}function Wf(t){return(t=t.trim()).indexOf(" ")>0&&(t=`'${t}'`),t}class qf extends Ti{static get pluginName(){return"FontFamilyEditing"}constructor(t){super(t),t.config.define(Df,{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:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Df}),t.model.schema.setAttributeProperties(Df,{isFormatting:!0,copyOnEnter:!0});const e=Uf(t.config.get("fontFamily.options")).filter((t=>t.model)),n=Sf(Df,e);t.config.get("fontFamily.supportAllValues")?(this._prepareAnyValueConverters(),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(n),t.commands.add(Df,new Hf(t))}_prepareAnyValueConverters(){const t=this.editor;t.conversion.for("downcast").attributeToElement({model:Df,view:(t,{writer:e})=>e.createAttributeElement("span",{style:"font-family:"+t},{priority:7})}),t.conversion.for("upcast").elementToAttribute({model:{key:Df,value:t=>t.getStyle("font-family")},view:{name:"span",styles:{"font-family":/.*/}}})}_prepareCompatibilityConverter(){this.editor.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{face:/.*/}},model:{key:Df,value:t=>t.getAttribute("face")}})}}class $f extends Ti{static get pluginName(){return"FontFamilyUI"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),o=t.commands.get(Df);t.ui.componentFactory.add(Df,(i=>{const r=kg(i);return wg(r,function(t,e){const n=new Ai;for(const o of t){const t={type:"button",model:new Hg({commandName:Df,commandParam:o.model,label:o.title,withText:!0})};t.model.bind("isOn").to(e,"value",(t=>t===o.model||!(!t||!o.model)&&t.split(",")[0].replace(/'/g,"").toLowerCase()===o.model.toLowerCase())),o.view&&o.view.styles&&t.model.set("labelStyle",`font-family: ${o.view.styles["font-family"]}`),n.add(t)}return n}(n,o)),r.buttonView.set({label:e("Font Family"),icon:'',tooltip:!0}),r.extendTemplate({attributes:{class:"ck-font-family-dropdown"}}),r.bind("isEnabled").to(o),this.listenTo(r,"execute",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam}),t.editing.view.focus()})),r}))}_getLocalizedOptions(){const t=this.editor,e=t.t;return Uf(t.config.get(Df).options).map((t=>("Default"===t.title&&(t.title=e("Default")),t)))}}class Yf extends _f{constructor(t){super(t,If)}}class Kf extends Ti{static get pluginName(){return"FontColorEditing"}constructor(t){super(t),t.config.define(If,{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:!0},{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:If,value:Mf("color")}}),t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:If,value:t=>t.getAttribute("color")}}),t.conversion.for("downcast").attributeToElement({model:If,view:Nf("color")}),t.commands.add(If,new Yf(t)),t.model.schema.extend("$text",{allowAttributes:If}),t.model.schema.setAttributeProperties(If,{isFormatting:!0,copyOnEnter:!0})}}class Qf extends Ti{constructor(t,{commandName:e,icon:n,componentName:o,dropdownLabel:i}){super(t),this.commandName=e,this.componentName=o,this.icon=n,this.dropdownLabel=i,this.columns=t.config.get(`${this.componentName}.columns`),this.colorTableView=void 0}init(){const t=this.editor,e=t.locale,n=e.t,o=t.commands.get(this.commandName),i=function(t){return t.map(Lh).filter((t=>!!t))}(t.config.get(this.componentName).colors),r=function(t,e){const n=t.t,o={Black:n("Black"),"Dim grey":n("Dim grey"),Grey:n("Grey"),"Light grey":n("Light grey"),White:n("White"),Red:n("Red"),Orange:n("Orange"),Yellow:n("Yellow"),"Light green":n("Light green"),Green:n("Green"),Aquamarine:n("Aquamarine"),Turquoise:n("Turquoise"),"Light blue":n("Light blue"),Blue:n("Blue"),Purple:n("Purple")};return e.map((t=>{const e=o[t.label];return e&&e!=t.label&&(t.label=e),t}))}(e,i),s=t.config.get(`${this.componentName}.documentColors`);t.ui.componentFactory.add(this.componentName,(e=>{const i=kg(e);return this.colorTableView=function({dropdownView:t,colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r}){const s=t.locale,a=new xf(s,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r});return t.colorTableView=a,t.panelView.children.add(a),a.delegate("execute").to(t,"execute"),a}({dropdownView:i,colors:r.map((t=>({label:t.label,color:t.model,options:{hasBorder:t.hasBorder}}))),columns:this.columns,removeButtonLabel:n("Remove color"),documentColorsLabel:0!==s?n("Document colors"):void 0,documentColorsCount:void 0===s?this.columns:s}),this.colorTableView.bind("selectedColor").to(o,"value"),i.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:!0}),i.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}}),i.bind("isEnabled").to(o),i.on("execute",((e,n)=>{t.execute(this.commandName,n),t.editing.view.focus()})),i.on("change:isOpen",((e,n,o)=>{i.colorTableView.appendGrids(),o&&(0!==s&&this.colorTableView.updateDocumentColors(t.model,this.componentName),this.colorTableView.updateSelectedColors())})),Ag(i,(()=>i.colorTableView.staticColorsGrid.items.find((t=>t.isOn)))),i}))}}class Zf extends Qf{constructor(t){const e=t.locale.t;super(t,{commandName:If,componentName:If,icon:'',dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class Jf extends _f{constructor(t){super(t,Tf)}}class Xf extends Ti{static get pluginName(){return"FontBackgroundColorEditing"}constructor(t){super(t),t.config.define(Tf,{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:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5}),t.data.addStyleProcessorRules(xu),t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{"background-color":/[\s\S]+/}},model:{key:Tf,value:Mf("background-color")}}),t.conversion.for("downcast").attributeToElement({model:Tf,view:Nf("background-color")}),t.commands.add(Tf,new Jf(t)),t.model.schema.extend("$text",{allowAttributes:Tf}),t.model.schema.setAttributeProperties(Tf,{isFormatting:!0,copyOnEnter:!0})}}class tk extends Qf{constructor(t){const e=t.locale.t;super(t,{commandName:Tf,componentName:Tf,icon:'',dropdownLabel:e("Font Background Color")})}static get pluginName(){return"FontBackgroundColorUI"}}class ek extends(U()){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,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;return this.total=t.size,new Promise(((n,o)=>{e.onload=()=>{const t=e.result;this._data=t,n(t)},e.onerror=()=>{o("error")},e.onabort=()=>{o("aborted")},this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}class nk extends Ti{static get pluginName(){return"FileRepository"}static get requires(){return[wh]}init(){this.loaders=new Ai,this.loaders.on("change",(()=>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)return b("filerepository-no-upload-adapter"),null;const e=new ok(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),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)e.uploadTotal&&(t+=e.uploadTotal);this.uploadTotal=t})),e}destroyLoader(t){const e=t instanceof ok?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach(((t,n)=>{t===e&&this._loadersMap.delete(n)}))}_updatePendingAction(){const t=this.editor.plugins.get(wh);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,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}}class ok extends(U()){constructor(t,e){super(),this.id=m(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new ek,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(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new k("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((t=>this._reader.read(t))).then((t=>{if("reading"!==this.status)throw this.status;return this.status="idle",t})).catch((t=>{if("aborted"===t)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:t}))}upload(){if("idle"!=this.status)throw new k("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((t=>(this.uploadResponse=t,this.status="idle",t))).catch((t=>{if("aborted"===this.status)throw"aborted";throw this.status="error",t}))}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==t?this._reader.abort():"uploading"==t&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise(((n,o)=>{e.rejecter=o,e.isFulfilled=!1,t.then((t=>{e.isFulfilled=!0,n(t)})).catch((t=>{e.isFulfilled=!0,o(t)}))})),e}}class ik extends nh{constructor(t){super(t),this.buttonView=new Nh(t),this._fileInputView=new rk(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 rk extends nh{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);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((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}const sk="ckCsrfToken",ak="abcdefghijklmnopqrstuvwxyz0123456789";function ck(){let t=function(t){t=t.toLowerCase();const e=document.cookie.split(";");for(const n of e){const e=n.split("=");if(decodeURIComponent(e[0].trim().toLowerCase())===t)return decodeURIComponent(e[1])}return null}(sk);var e,n;return t&&40==t.length||(t=function(t){let e="";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t.5?o.toUpperCase():o}return e}(40),e=sk,n=t,document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(n)+";path=/"),t}class lk{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(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.url,!0),t.responseType="json"}_initListeners(t,e,n){const o=this.xhr,i=this.loader,r=(0,this.t)("Cannot upload file:")+` ${n.name}.`;o.addEventListener("error",(()=>e(r))),o.addEventListener("abort",(()=>e())),o.addEventListener("load",(()=>{const n=o.response;if(!n||!n.uploaded)return e(n&&n.error&&n.error.message?n.error.message:r);t({default:n.url})})),o.upload&&o.upload.addEventListener("progress",(t=>{t.lengthComputable&&(i.uploadTotal=t.total,i.uploaded=t.loaded)}))}_sendRequest(t){const e=new FormData;e.append("upload",t),e.append("ckCsrfToken",ck()),this.xhr.send(e)}}function dk(t,e,n,o){let i,r=null;"function"==typeof o?i=o:(r=t.commands.get(o),i=()=>{t.execute(o)}),t.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled)return;const c=_i(t.model.document.selection.getRanges());if(!c.isCollapsed)return;if(a.isUndo||!a.isLocal)return;const l=Array.from(t.model.document.differ.getChanges()),d=l[0];if(1!=l.length||"insert"!==d.type||"$text"!=d.name||1!=d.length)return;const u=d.position.parent;if(u.is("element","codeBlock"))return;if(u.is("element","listItem")&&"function"!=typeof o&&!["numberedList","bulletedList","todoList"].includes(o))return;if(r&&!0===r.value)return;const h=u.getChild(0),g=t.model.createRangeOn(h);if(!g.containsRange(c)&&!c.end.isEqual(g.end))return;const m=n.exec(h.data.substr(0,c.end.offset));m&&t.model.enqueueChange((e=>{const n=e.createPositionAt(u,0),o=e.createPositionAt(u,m[0].length),r=new Bc(n,o);if(!1!==i({match:m})){e.remove(r);const n=t.model.document.selection.getFirstRange(),o=e.createRangeIn(u);!u.isEmpty||o.isEqual(n)||o.containsRange(n,!0)||e.remove(u)}r.detach(),t.model.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}))}))}function uk(t,e,n,o){let i,r;n instanceof RegExp?i=n:r=n,r=r||(t=>{let e;const n=[],o=[];for(;null!==(e=i.exec(t))&&!(e&&e.length<4);){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],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}}),t.model.document.on("change:data",((n,i)=>{if(i.isUndo||!i.isLocal||!e.isEnabled)return;const s=t.model,a=s.document.selection;if(!a.isCollapsed)return;const c=Array.from(s.document.differ.getChanges()),l=c[0];if(1!=c.length||"insert"!==l.type||"$text"!=l.name||1!=l.length)return;const d=a.focus,u=d.parent,{text:h,range:g}=function(t,e){let n=t.start;const o=Array.from(t.getItems()).reduce(((t,o)=>!o.is("$text")&&!o.is("$textProxy")||o.getAttribute("code")?(n=e.createPositionAfter(o),""):t+o.data),"");return{text:o,range:e.createRange(n,t.end)}}(s.createRange(s.createPositionAt(u,0),d),s),m=r(h),p=hk(g.start,m.format,s),f=hk(g.start,m.remove,s);p.length&&f.length&&s.enqueueChange((e=>{if(!1!==o(e,p)){for(const t of f.reverse())e.remove(t);s.enqueueChange((()=>{t.plugins.get("Delete").requestUndoOnBackspace()}))}}))}))}function hk(t,e,n){return e.filter((t=>void 0!==t[0]&&void 0!==t[1])).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function gk(t,e){return(n,o)=>{if(!t.commands.get(e).isEnabled)return!1;const i=t.model.schema.getValidRanges(o,e);for(const t of i)n.setAttribute(e,!0,t);n.removeSelectionAttribute(e)}}class mk extends Mi{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,o=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(n.isCollapsed)o?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const i=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of i)o?t.setAttribute(this.attributeKey,o,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,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!1}}const pk="bold";class fk extends Ti{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:pk}),t.model.schema.setAttributeProperties(pk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:pk,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");return e?"bold"==e||Number(e)>=600?{name:!0,styles:["font-weight"]}:void 0:null}]}),t.commands.add(pk,new mk(t,pk)),t.keystrokes.set("CTRL+B",pk)}}const kk="bold";class bk extends Ti{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(kk,(n=>{const o=t.commands.get(kk),i=new Nh(n);return i.set({label:e("Bold"),icon:Ah.bold,keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute(kk),t.editing.view.focus()})),i}))}}const wk="italic";class Ak extends Ti{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:wk}),t.model.schema.setAttributeProperties(wk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:wk,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(wk,new mk(t,wk)),t.keystrokes.set("CTRL+I",wk)}}const _k="italic";class Ck extends Ti{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(_k,(n=>{const o=t.commands.get(_k),i=new Nh(n);return i.set({label:e("Italic"),icon:'',keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute(_k),t.editing.view.focus()})),i}))}}const vk="strikethrough";class yk extends Ti{static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:vk}),t.model.schema.setAttributeProperties(vk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:vk,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),t.commands.add(vk,new mk(t,vk)),t.keystrokes.set("CTRL+SHIFT+X","strikethrough")}}const xk="strikethrough";class Ek extends Ti{static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(xk,(n=>{const o=t.commands.get(xk),i=new Nh(n);return i.set({label:e("Strikethrough"),icon:'',keystroke:"CTRL+SHIFT+X",tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute(xk),t.editing.view.focus()})),i}))}}const Dk="underline";class Ik extends Ti{static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Dk}),t.model.schema.setAttributeProperties(Dk,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Dk,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}}),t.commands.add(Dk,new mk(t,Dk)),t.keystrokes.set("CTRL+U","underline")}}const Tk="underline";class Sk extends Ti{static get pluginName(){return"UnderlineUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Tk,(n=>{const o=t.commands.get(Tk),i=new Nh(n);return i.set({label:e("Underline"),icon:'',keystroke:"CTRL+U",tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute(Tk),t.editing.view.focus()})),i}))}}class Mk extends Mi{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,o=e.document.selection,i=Array.from(o.getSelectedBlocks()),r=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(r){const e=i.filter((t=>Nk(t)||zk(n,t)));this._applyQuote(t,e)}else this._removeQuote(t,i.filter(Nk))}))}_getValue(){const t=_i(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!Nk(t))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=_i(t.getSelectedBlocks());return!!n&&zk(e,n)}_removeQuote(t,e){Bk(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd)return void t.unwrap(e.start.parent);if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);return void t.move(e,n)}e.end.isAtEnd||t.split(e.end);const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];Bk(t,e).reverse().forEach((e=>{let o=Nk(e.start);o||(o=t.createElement("blockQuote"),t.wrap(e,o)),n.push(o)})),n.reverse().reduce(((e,n)=>e.nextSibling==n?(t.merge(t.createPositionAfter(e)),e):n))}}function Nk(t){return"blockQuote"==t.parent.name?t.parent:null}function Bk(t,e){let n,o=0;const i=[];for(;o{const o=t.model.document.differ.getChanges();for(const t of o)if("insert"==t.type){const o=t.position.nodeAfter;if(!o)continue;if(o.is("element","blockQuote")&&o.isEmpty)return n.remove(o),!0;if(o.is("element","blockQuote")&&!e.checkChild(t.position,o))return n.unwrap(o),!0;if(o.is("element")){const t=n.createRangeIn(o);for(const o of t.getItems())if(o.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(o),o))return n.unwrap(o),!0}}else if("remove"==t.type){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty)return n.remove(e),!0}return!1}));const n=this.editor.editing.view.document,o=t.model.document.selection,i=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!o.isCollapsed||!i.value)return;o.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"}),this.listenTo(n,"delete",((e,n)=>{if("backward"!=n.direction||!o.isCollapsed||!i.value)return;const r=o.getLastPosition().parent;r.isEmpty&&!r.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:"blockquote"})}}var Lk=n(3062),Ok={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Lk.Z,Ok);Lk.Z.locals;class Rk extends Ti{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("blockQuote",(n=>{const o=t.commands.get("blockQuote"),i=new Nh(n);return i.set({label:e("Block quote"),icon:Ah.quote,tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute("blockQuote"),t.editing.view.focus()})),i}))}}class jk extends Ti{static get pluginName(){return"CKBoxUI"}afterInit(){const t=this.editor;if(!t.commands.get("ckbox"))return;const e=t.t;t.ui.componentFactory.add("ckbox",(n=>{const o=t.commands.get("ckbox"),i=new Nh(n);return i.set({label:e("Open file manager"),icon:'',tooltip:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),i.on("execute",(()=>{t.execute("ckbox")})),i}))}}function Fk({token:t,id:e,origin:n,width:o,extension:i}){const r=Vk(t),s=function(t){const e=[10*t/100,80],n=Math.floor(Math.max(...e)),o=[Math.min(t,4e3)];let i=o[0];for(;i-n>=n;)i-=n,o.unshift(i);return o}(o),a=function(t){if("bmp"===t||"tiff"===t||"jpg"===t)return"jpeg";return t}(i);return{imageFallbackUrl:Hk({environmentId:r,id:e,origin:n,width:o,extension:a}),imageSources:[{srcset:s.map((t=>`${Hk({environmentId:r,id:e,origin:n,width:t,extension:"webp"})} ${t}w`)).join(","),sizes:`(max-width: ${o}px) 100vw, ${o}px`,type:"image/webp"}]}}function Vk(t){const[,e]=t.value.split(".");return JSON.parse(atob(e)).aud}function Hk({environmentId:t,id:e,origin:n,width:o,extension:i}){return new URL(`${t}/assets/${e}/images/${o}.${i}`,n).toString()}class Uk extends Mi{constructor(t){super(t),this._chosenAssets=new Set,this._wrapper=null,this._initListeners()}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(){this.fire("ckbox:open")}_getValue(){return null!==this._wrapper}_checkEnabled(){const t=this.editor.commands.get("insertImage"),e=this.editor.commands.get("link");return!(!t.isEnabled&&!e.isEnabled)}_prepareOptions(){const t=this.editor.config.get("ckbox");return{theme:t.theme,language:t.language,tokenUrl:t.tokenUrl,serviceOrigin:t.serviceOrigin,assetsOrigin:t.assetsOrigin,dialog:{onClose:()=>this.fire("ckbox:close")},assets:{onChoose:t=>this.fire("ckbox:choose",t)}}}_initListeners(){const t=this.editor,e=t.model,n=!t.config.get("ckbox.ignoreDataId");this.on("ckbox",(()=>{this.refresh()}),{priority:"low"}),this.on("ckbox:open",(()=>{this.isEnabled&&!this.value&&(this._wrapper=mt(document,"div",{class:"ck ckbox-wrapper"}),document.body.appendChild(this._wrapper),window.CKBox.mount(this._wrapper,this._prepareOptions()))})),this.on("ckbox:close",(()=>{this.value&&(this._wrapper.remove(),this._wrapper=null)})),this.on("ckbox:choose",((o,i)=>{if(!this.isEnabled)return;const r=t.commands.get("insertImage"),s=t.commands.get("link"),a=t.plugins.get("CKBoxEditing"),c=function({assets:t,origin:e,token:n,isImageAllowed:o,isLinkAllowed:i}){return t.map((t=>({id:t.data.id,type:Wk(t)?"image":"link",attributes:Gk(t,n,e)}))).filter((t=>"image"===t.type?o:i))}({assets:i,origin:t.config.get("ckbox.assetsOrigin"),token:a.getToken(),isImageAllowed:r.isEnabled,isLinkAllowed:s.isEnabled});0!==c.length&&e.change((t=>{for(const e of c){const o=e===c[c.length-1];this._insertAsset(e,o,t),n&&(setTimeout((()=>this._chosenAssets.delete(e)),1e3),this._chosenAssets.add(e))}}))})),this.listenTo(t,"destroy",(()=>{this.fire("ckbox:close"),this._chosenAssets.clear()}))}_insertAsset(t,e,n){const o=this.editor.model.document.selection;n.removeSelectionAttribute("linkHref"),"image"===t.type?this._insertImage(t):this._insertLink(t,n),e||n.setSelection(o.getLastPosition())}_insertImage(t){const e=this.editor,{imageFallbackUrl:n,imageSources:o,imageTextAlternative:i}=t.attributes;e.execute("insertImage",{source:{src:n,sources:o,alt:i}})}_insertLink(t,e){const n=this.editor,o=n.model,i=o.document.selection,{linkName:r,linkHref:s}=t.attributes;if(i.isCollapsed){const t=yi(i.getAttributes()),n=e.createText(r,t),s=o.insertContent(n);e.setSelection(s)}n.execute("link",s)}}function Gk(t,e,n){if(Wk(t)){const{imageFallbackUrl:o,imageSources:i}=Fk({token:e,origin:n,id:t.data.id,width:t.data.metadata.width,extension:t.data.extension});return{imageFallbackUrl:o,imageSources:i,imageTextAlternative:t.data.metadata.description||""}}return{linkName:t.data.name,linkHref:qk(t,e,n)}}function Wk(t){const e=t.data.metadata;return!!e&&(e.width&&e.height)}function qk(t,e,n){const o=Vk(e),i=new URL(`${o}/assets/${t.data.id}/file`,n);return i.searchParams.set("download","true"),i.toString()}class $k extends Ti{static get requires(){return["ImageUploadEditing","ImageUploadProgress",nk,Qk]}static get pluginName(){return"CKBoxUploadAdapter"}async afterInit(){const t=this.editor,e=!!t.config.get("ckbox"),n=!!window.CKBox;if(!e&&!n)return;const o=t.plugins.get(nk),i=t.plugins.get(Qk);o.createUploadAdapter=e=>new Yk(e,i.getToken(),t);const r=!t.config.get("ckbox.ignoreDataId"),s=t.plugins.get("ImageUploadEditing");r&&s.on("uploadComplete",((e,{imageElement:n,data:o})=>{t.model.change((t=>{t.setAttribute("ckboxImageId",o.ckboxImageId,n)}))}))}}class Yk{constructor(t,e,n){this.loader=t,this.token=e,this.editor=n,this.controller=new AbortController,this.serviceOrigin=n.config.get("ckbox.serviceOrigin"),this.assetsOrigin=n.config.get("ckbox.assetsOrigin")}async getAvailableCategories(t=0){const e=new URL("categories",this.serviceOrigin);return e.searchParams.set("limit",50..toString()),e.searchParams.set("offset",t.toString()),this._sendHttpRequest({url:e}).then((async e=>{if(e.totalCount-(t+50)>0){const n=await this.getAvailableCategories(t+50);return[...e.items,...n]}return e.items})).catch((()=>{this.controller.signal.throwIfAborted(),w("ckbox-fetch-category-http-error")}))}async getCategoryIdForFile(t){const e=Kk(t.name),n=await this.getAvailableCategories();if(!n)return null;const o=this.editor.config.get("ckbox.defaultUploadCategories");if(o){const t=Object.keys(o).find((t=>o[t].includes(e)));if(t){const e=n.find((e=>e.id===t||e.name===t));return e?e.id:null}}const i=n.find((t=>t.extensions.includes(e)));return i?i.id:null}async upload(){const t=this.editor.t,e=t("Cannot determine a category for the uploaded file."),n=await this.loader.file,o=await this.getCategoryIdForFile(n);if(!o)return Promise.reject(e);const i=new URL("assets",this.serviceOrigin),r=new FormData;r.append("categoryId",o),r.append("file",n);const s={method:"POST",url:i,data:r,onUploadProgress:t=>{t.lengthComputable&&(this.loader.uploadTotal=t.total,this.loader.uploaded=t.loaded)}};return this._sendHttpRequest(s).then((async t=>{const e=await this._getImageWidth(),o=Kk(n.name),i=Fk({token:this.token,id:t.id,origin:this.assetsOrigin,width:e,extension:o});return{ckboxImageId:t.id,default:i.imageFallbackUrl,sources:i.imageSources}})).catch((()=>{const e=t("Cannot upload file:")+` ${n.name}.`;return Promise.reject(e)}))}abort(){this.controller.abort()}_sendHttpRequest(t){const{url:e,data:n,onUploadProgress:o}=t,i=t.method||"GET",r=this.controller.signal,s=new XMLHttpRequest;s.open(i,e.toString(),!0),s.setRequestHeader("Authorization",this.token.value),s.setRequestHeader("CKBox-Version","CKEditor 5"),s.responseType="json";const a=()=>{s.abort()};return new Promise(((t,e)=>{r.addEventListener("abort",a),s.addEventListener("loadstart",(()=>{r.addEventListener("abort",a)})),s.addEventListener("loadend",(()=>{r.removeEventListener("abort",a)})),s.addEventListener("error",(()=>{e()})),s.addEventListener("abort",(()=>{e()})),s.addEventListener("load",(async()=>{const n=s.response;return!n||n.statusCode>=400?e(n&&n.message):t(n)})),o&&s.upload.addEventListener("progress",(t=>{o(t)})),s.send(n)}))}_getImageWidth(){return new Promise((t=>{const e=new Image;e.onload=()=>{URL.revokeObjectURL(e.src),t(e.width)},e.src=this.loader.data}))}}function Kk(t){return t.match(/\.(?[^.]+)$/).groups.ext}class Qk extends Ti{static get pluginName(){return"CKBoxEditing"}static get requires(){return["CloudServices","LinkEditing","PictureEditing",$k]}async init(){const t=this.editor,e=!!t.config.get("ckbox"),n=!!window.CKBox;if(!e&&!n)return;this._initConfig();const o=t.plugins.get("CloudServicesCore"),i=t.config.get("ckbox.tokenUrl"),r=t.config.get("cloudServices.tokenUrl");this._token=i===r?t.plugins.get("CloudServices").token:await o.createToken(i).init(),t.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()),n&&t.commands.add("ckbox",new Uk(t))}getToken(){return this._token}_initConfig(){const t=this.editor;t.config.define("ckbox",{serviceOrigin:"https://api.ckbox.io",assetsOrigin:"https://ckbox.cloud",defaultUploadCategories:null,ignoreDataId:!1,language:t.locale.uiLanguage,theme:"default",tokenUrl:t.config.get("cloudServices.tokenUrl")});if(!t.config.get("ckbox.tokenUrl"))throw new k("ckbox-plugin-missing-token-url",this);t.plugins.has("ImageBlockEditing")||t.plugins.has("ImageInlineEditing")||w("ckbox-plugin-image-feature-missing",t)}_initSchema(){const t=this.editor.model.schema;t.extend("$text",{allowAttributes:"ckboxLinkId"}),t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),t.addAttributeCheck(((t,e)=>{if(!!!t.last.getAttribute("linkHref")&&"ckboxLinkId"===e)return!1}))}_initConversion(){const t=this.editor;t.conversion.for("downcast").add((t=>{t.on("attribute:ckboxLinkId:imageBlock",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(!r.consume(e.item,t.name))return;const s=[...i.toViewElement(e.item).getChildren()].find((t=>"a"===t.name));s&&(e.item.hasAttribute("ckboxLinkId")?o.setAttribute("data-ckbox-resource-id",e.item.getAttribute("ckboxLinkId"),s):o.removeAttribute("data-ckbox-resource-id",s))}),{priority:"low"}),t.on("attribute:ckboxLinkId",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(r.consume(e.item,t.name)){if(e.attributeOldValue){const t=Jk(o,e.attributeOldValue);o.unwrap(i.toViewRange(e.range),t)}if(e.attributeNewValue){const t=Jk(o,e.attributeNewValue);if(e.item.is("selection")){const e=o.document.selection;o.wrap(e.getFirstRange(),t)}else o.wrap(i.toViewRange(e.range),t)}}}),{priority:"low"})})),t.conversion.for("upcast").add((t=>{t.on("element:a",((t,e,n)=>{const{writer:o,consumable:i}=n;if(!e.viewItem.getAttribute("href"))return;if(!i.consume(e.viewItem,{attributes:["data-ckbox-resource-id"]}))return;const r=e.viewItem.getAttribute("data-ckbox-resource-id");if(r)if(e.modelRange)for(let t of e.modelRange.getItems())t.is("$textProxy")&&(t=t.textNode),Xk(t)&&o.setAttribute("ckboxLinkId",r,t);else{const t=e.modelCursor.nodeBefore||e.modelCursor.parent;o.setAttribute("ckboxLinkId",r,t)}}),{priority:"low"})})),t.conversion.for("downcast").attributeToAttribute({model:"ckboxImageId",view:"data-ckbox-resource-id"}),t.conversion.for("upcast").elementToAttribute({model:{key:"ckboxImageId",value:t=>t.getAttribute("data-ckbox-resource-id")},view:{attributes:{"data-ckbox-resource-id":/[\s\S]+/}}})}_initFixers(){const t=this.editor,e=t.model,n=e.document.selection;e.document.registerPostFixer(function(t){return e=>{let n=!1;const o=t.model,i=t.commands.get("ckbox");if(!i)return n;for(const t of o.document.differ.getChanges()){if("insert"!==t.type&&"attribute"!==t.type)continue;const o="insert"===t.type?new _c(t.position,t.position.getShiftedBy(t.length)):t.range,r="attribute"===t.type&&"linkHref"===t.attributeKey&&null===t.attributeNewValue;for(const t of o.getItems()){if(r&&t.hasAttribute("ckboxLinkId")){e.removeAttribute("ckboxLinkId",t),n=!0;continue}const o=Zk(t,i._chosenAssets);for(const i of o){const o="image"===i.type?"ckboxImageId":"ckboxLinkId";i.id!==t.getAttribute(o)&&(e.setAttribute(o,i.id,t),n=!0)}}}return n}}(t)),e.document.registerPostFixer(function(t){return e=>{!t.hasAttribute("linkHref")&&t.hasAttribute("ckboxLinkId")&&e.removeSelectionAttribute("ckboxLinkId")}}(n))}}function Zk(t,e){const n=t.is("element","imageInline")||t.is("element","imageBlock"),o=t.hasAttribute("linkHref");return[...e].filter((e=>"image"===e.type&&n?e.attributes.imageFallbackUrl===t.getAttribute("src"):"link"===e.type&&o?e.attributes.linkHref===t.getAttribute("linkHref"):void 0))}function Jk(t,e){const n=t.createAttributeElement("a",{"data-ckbox-resource-id":e},{priority:5});return t.setCustomProperty("link",!0,n),n}function Xk(t){return!!t.is("$text")||!(!t.is("element","imageInline")&&!t.is("element","imageBlock"))}class tb extends Ti{static get pluginName(){return"CKFinderUI"}init(){const t=this.editor,e=t.ui.componentFactory,n=t.t;e.add("ckfinder",(e=>{const o=t.commands.get("ckfinder"),i=new Nh(e);return i.set({label:n("Insert image or file"),icon:'',tooltip:!0}),i.bind("isEnabled").to(o),i.on("execute",(()=>{t.execute("ckfinder"),t.editing.view.focus()})),i}))}}class eb extends Mi{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("insertImage"),e=this.editor.commands.get("link");this.isEnabled=t.isEnabled||e.isEnabled}execute(){const t=this.editor,e=this.editor.config.get("ckfinder.openerMethod")||"modal";if("popup"!=e&&"modal"!=e)throw new k("ckfinder-unknown-openermethod",t);const n=this.editor.config.get("ckfinder.options")||{};n.chooseFiles=!0;const o=n.onInit;n.language||(n.language=t.locale.uiLanguage),n.onInit=e=>{o&&o(e),e.on("files:choose",(n=>{const o=n.data.files.toArray(),i=o.filter((t=>!t.isImage())),r=o.filter((t=>t.isImage()));for(const e of i)t.execute("link",e.getUrl());const s=[];for(const t of r){const n=t.getUrl();s.push(n||e.request("file:getProxyUrl",{file:t}))}s.length&&nb(t,s)})),e.on("file:choose:resizedImage",(e=>{const n=e.data.resizedUrl;if(n)nb(t,[n]);else{const e=t.plugins.get("Notification"),n=t.locale.t;e.showWarning(n("Could not obtain resized image URL."),{title:n("Selecting resized image failed"),namespace:"ckfinder"})}}))},window.CKFinder[e](n)}}function nb(t,e){if(t.commands.get("insertImage").isEnabled)t.execute("insertImage",{source:e});else{const e=t.plugins.get("Notification"),n=t.locale.t;e.showWarning(n("Could not insert image at the current position."),{title:n("Inserting image failed"),namespace:"ckfinder"})}}class ob extends Ti{static get pluginName(){return"CKFinderEditing"}static get requires(){return[Vg,"LinkEditing"]}init(){const t=this.editor;if(!t.plugins.has("ImageBlockEditing")&&!t.plugins.has("ImageInlineEditing"))throw new k("ckfinder-missing-image-plugin",t);t.commands.add("ckfinder",new eb(t))}}class ib extends Ti{static get pluginName(){return"CloudServicesUploadAdapter"}static get requires(){return["CloudServices",nk]}init(){const t=this.editor,e=t.plugins.get("CloudServices"),n=e.token,o=e.uploadUrl;n&&(this._uploadGateway=t.plugins.get("CloudServicesCore").createUploadGateway(n,o),t.plugins.get(nk).createUploadAdapter=t=>new rb(this._uploadGateway,t))}}class rb{constructor(t,e){this.uploadGateway=t,this.loader=e}upload(){return this.loader.file.then((t=>(this.fileUploader=this.uploadGateway.upload(t),this.fileUploader.on("progress",((t,e)=>{this.loader.uploadTotal=e.total,this.loader.uploaded=e.uploaded})),this.fileUploader.send())))}abort(){this.fileUploader.abort()}}class sb extends Mi{refresh(){const t=this.editor.model,e=_i(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is("element","paragraph"),this.isEnabled=!!e&&ab(e,t.schema)}execute(t={}){const e=this.editor.model,n=e.document;e.change((o=>{const i=(t.selection||n.selection).getSelectedBlocks();for(const t of i)!t.is("element","paragraph")&&ab(t,e.schema)&&o.rename(t,"paragraph")}))}}function ab(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class cb extends Mi{execute(t){const e=this.editor.model,n=t.attributes;let o=t.position;e.change((t=>{const i=t.createElement("paragraph");if(n&&e.schema.setAllowedAttributes(i,n,t),!e.schema.checkChild(o.parent,i)){const n=e.schema.findAllowedParent(o,i);if(!n)return;o=t.split(o,n).position}e.insertContent(i,o),t.setSelection(i,"in")}))}}class lb extends Ti{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new sb(t)),t.commands.add("insertParagraph",new cb(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>lb.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}lb.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class db extends Mi{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=_i(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some((e=>ub(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model,n=e.document,o=t.value;e.change((t=>{const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>ub(t,o,e.schema)));for(const e of i)e.is("element",o)||t.rename(e,o)}))}}function ub(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const hb="paragraph";class gb extends Ti{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[lb]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const o of e)o.model!==hb&&(t.model.schema.register(o.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(o),n.push(o.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new db(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",((e,o)=>{const i=t.model.document.selection.getFirstPosition().parent;n.some((t=>i.is("element",t.model)))&&!i.is("element",hb)&&0===i.childCount&&o.writer.rename(i,hb)}))}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:p.get("low")+1})}}var mb=n(8733),pb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(mb.Z,pb);mb.Z.locals;class fb extends Ti{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=function(t){const e=t.t,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];return e&&e!=t.title&&(t.title=e),t}))}(t),o=e("Choose heading"),i=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={},s=new Ai,a=t.commands.get("heading"),c=t.commands.get("paragraph"),l=[a];for(const t of n){const e={type:"button",model:new Hg({label:t.title,class:t.class,withText:!0})};"paragraph"===t.model?(e.model.bind("isOn").to(c,"value"),e.model.set("commandName","paragraph"),l.push(c)):(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=kg(e);return wg(d,s),d.buttonView.set({isOn:!1,withText:!0,tooltip:i}),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]:o})),this.listenTo(d,"execute",(e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:void 0),t.editing.view.focus()})),d}))}}class kb extends Mi{refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute("alt")?this.value=t.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),o=e.model,i=n.getClosestSelectedImageElement(o.document.selection);o.change((e=>{e.setAttribute("alt",t.newValue,i)}))}}function bb(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot()])}function wb(t,e){const n=t.plugins.get("ImageUtils"),o=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t))return null;if(!o)return i(t);return("block"==t.getStyle("display")||t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline")!==e?null:i(t)};function i(t){const e={name:!0};return t.hasAttribute("src")&&(e.attributes=["src"]),e}}function Ab(t,e){const n=_i(e.getSelectedBlocks());return!n||t.isObject(n)||n.isEmpty&&"listItem"!=n.name?"imageBlock":"imageInline"}class _b extends Ti{static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null){const o=this.editor,i=o.model,r=i.document.selection;n=Cb(o,e||r,n),t={...Object.fromEntries(r.getAttributes()),...t};for(const e in t)i.schema.checkAttribute(n,e)||delete t[e];return i.change((o=>{const r=o.createElement(n,t);return i.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:!e&&"imageInline"!=n}),r.parent?r:null}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let o=e.parent;for(;o;){if(o.is("element")&&this.isImageWidget(o))return o;o=o.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const t=this.editor.model.document.selection;return function(t,e){const n=Cb(t,e);if("imageBlock"==n){const n=function(t,e){const n=up(t,e),o=n.start.parent;if(o.isEmpty&&!o.is("element","$root"))return o.parent;return o}(e,t.model);if(t.model.schema.checkChild(n,"imageBlock"))return!0}else if(t.model.schema.checkChild(e.focus,"imageInline"))return!0;return!1}(this.editor,t)&&function(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}(t)}toImageWidget(t,e,n){e.setCustomProperty("image",!0,t);return sp(t,e,{label:()=>{const e=this.findViewImgElement(t).getAttribute("alt");return e?`${e} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&rp(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}}function Cb(t,e,n){const o=t.model.schema,i=t.config.get("image.insert.type");return t.plugins.has("ImageBlockEditing")?t.plugins.has("ImageInlineEditing")?n||("inline"===i?"imageInline":"block"===i?"imageBlock":e.is("selection")?Ab(o,e):o.checkChild(e,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class vb extends Ti{static get requires(){return[_b]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new kb(this.editor))}}var yb=n(1905),xb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(yb.Z,xb);yb.Z.locals;var Eb=n(6764),Db={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Eb.Z,Db);Eb.Z.locals;class Ib extends nh{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Ci,this.keystrokes=new vi,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),Ah.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),Ah.cancel,"ck-button-cancel","cancel"),this._focusables=new Nu,this._focusCycler=new Qh({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","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]}),vh(this)}render(){super.render(),this.keystrokes.listenTo(this.element),yh({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,o){const i=new Nh(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.extendTemplate({attributes:{class:n}}),o&&i.delegate("execute").to(this,o),i}_createLabeledInputView(){const t=this.locale.t,e=new Rg(this.locale,jg);return e.label=t("Text alternative"),e}}function Tb(t){const e=t.editing.view,n=ah.defaultPositions,o=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(o.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class Sb extends Ti{static get requires(){return[Yg]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const o=t.commands.get("imageTextAlternative"),i=new Nh(n);return i.set({label:e("Change image text alternative"),icon:Ah.lowVision,tooltip:!0}),i.bind("isEnabled").to(o,"isEnabled"),i.bind("isOn").to(o,"value",(t=>!!t)),this.listenTo(i,"execute",(()=>{this._showForm()})),i}))}_createForm(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new Ib(t.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),this.listenTo(t.ui,"update",(()=>{n.getClosestSelectedImageWidget(e.selection)?this._isVisible&&function(t){const e=t.plugins.get("ContextualBalloon");if(t.plugins.get("ImageUtils").getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=Tb(t);e.updatePosition(n)}}(t):this._hideForm(!0)})),Ch({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Tb(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class Mb extends Ti{static get requires(){return[vb,Sb]}static get pluginName(){return"ImageTextAlternative"}}function Nb(t,e){return t=>{t.on(`attribute:srcset:${e}`,n)};function n(e,n,o){if(!o.consumable.consume(n.item,e.name))return;const i=o.writer,r=o.mapper.toViewElement(n.item),s=t.findViewImgElement(r);if(null===n.attributeNewValue){const t=n.attributeOldValue;t.data&&(i.removeAttribute("srcset",s),i.removeAttribute("sizes",s),t.width&&i.removeAttribute("width",s))}else{const t=n.attributeNewValue;t.data&&(i.setAttribute("srcset",t.data,s),i.setAttribute("sizes","100vw",s),t.width&&i.setAttribute("width",t.width,s))}}}function Bb(t,e,n){return t=>{t.on(`attribute:${n}:${e}`,o)};function o(e,n,o){if(!o.consumable.consume(n.item,e.name))return;const i=o.writer,r=o.mapper.toViewElement(n.item),s=t.findViewImgElement(r);i.setAttribute(n.attributeKey,n.attributeNewValue||"",s)}}class zb extends ua{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;this.checkShouldIgnoreEventFromTarget(n)||"IMG"==n.tagName&&this._fireEvents(e)}),{useCapture:!0})}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class Pb extends Mi{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||"block"===e&&b("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||"inline"===e&&b("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(t){const e=pi(t.source),n=this.editor.model.document.selection,o=this.editor.plugins.get("ImageUtils"),i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if("string"==typeof t&&(t={src:t}),e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);o.insertImage({...t,...i},e)}else o.insertImage({...t,...i})}))}}class Lb extends Ti{static get requires(){return[_b]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(zb),e.for("upcast").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")};return t.hasAttribute("width")&&(e.width=t.getAttribute("width")),e}}});const n=new Pb(t);t.commands.add("insertImage",n),t.commands.add("imageInsert",n)}}class Ob extends Mi{constructor(t,e){super(t),this._modelElementName=e}refresh(){const t=this.editor.plugins.get("ImageUtils"),e=t.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=t.isInlineImage(e):this.isEnabled=t.isBlockImage(e)}execute(){const t=this.editor,e=this.editor.model,n=t.plugins.get("ImageUtils"),o=n.getClosestSelectedImageElement(e.document.selection),i=Object.fromEntries(o.getAttributes());return i.src||i.uploadId?e.change((t=>{const r=Array.from(e.markers).filter((t=>t.getRange().containsItem(o))),s=n.insertImage(i,e.createSelection(o,"on"),this._modelElementName);if(!s)return null;const a=t.createRangeOn(s);for(const e of r){const n=e.getRange(),o="$graveyard"!=n.root.rootName?n.getJoined(a,!0):a;t.updateMarker(e,{range:o})}return{oldElement:o,newElement:s}})):null}}class Rb extends Ti{static get requires(){return[Lb,_b,cm]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new Ob(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,o=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>bb(e)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>o.toImageWidget(bb(n),n,e("image widget"))}),n.for("downcast").add(Bb(o,"imageBlock","src")).add(Bb(o,"imageBlock","alt")).add(Nb(o,"imageBlock")),n.for("upcast").elementToElement({view:wb(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:null)}).add(function(t){return t=>{t.on("element:figure",e)};function e(e,n,o){if(!o.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const i=t.findViewImgElement(n.viewItem);if(!i||!o.consumable.test(i,{name:!0}))return;o.consumable.consume(n.viewItem,{name:!0,classes:"image"});const r=_i(o.convertItem(i,n.modelCursor).modelRange.getItems());r?(o.convertChildren(n.viewItem,r),o.updateConversionResult(r,n)):o.consumable.revert(n.viewItem,{name:!0,classes:"image"})}}(o))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,o=t.plugins.get("ImageUtils");this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isInlineImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(a);if("imageBlock"===Ab(e.schema,c)){const t=new iu(n.document),e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}}))}}var jb=n(3508),Fb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(jb.Z,Fb);jb.Z.locals;class Vb extends Ti{static get requires(){return[Rb,Dp,Mb]}static get pluginName(){return"ImageBlock"}}class Hb extends Ti{static get requires(){return[Lb,_b,cm]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck(((t,e)=>{if(t.endsWith("caption")&&"imageInline"===e.name)return!1})),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new Ob(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,o=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(t,{writer:e})=>e.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(t,{writer:n})=>o.toImageWidget(function(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}(n),n,e("image widget"))}),n.for("downcast").add(Bb(o,"imageInline","src")).add(Bb(o,"imageInline","alt")).add(Nb(o,"imageInline")),n.for("upcast").elementToElement({view:wb(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:null)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,o=t.plugins.get("ImageUtils");this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isBlockImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(a);if("imageInline"===Ab(e.schema,c)){const t=new iu(n.document),e=s.map((e=>1===e.childCount?(Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,o.findViewImgElement(e)))),e.getChild(0)):e));r.content=t.createDocumentFragment(e)}}))}}class Ub extends Ti{static get requires(){return[Hb,Dp,Mb]}static get pluginName(){return"ImageInline"}}class Gb extends Mi{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils");if(!t.plugins.has(Rb))return this.isEnabled=!1,void(this.value=!1);const n=t.model.document.selection,o=n.getSelectedElement();if(!o){const t=e.getCaptionFromModelSelection(n);return this.isEnabled=!!t,void(this.value=!!t)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(o),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(o):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{this.value?this._hideImageCaption(t):this._showImageCaption(t,e)}))}_showImageCaption(t,e){const n=this.editor.model.document.selection,o=this.editor.plugins.get("ImageCaptionEditing");let i=n.getSelectedElement();const r=o._getSavedCaption(i);this.editor.plugins.get("ImageUtils").isInlineImage(i)&&(this.editor.execute("imageTypeBlock"),i=n.getSelectedElement());const s=r||t.createElement("caption");t.append(s,i),e&&t.setSelection(s,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,o=e.plugins.get("ImageCaptionEditing"),i=e.plugins.get("ImageCaptionUtils");let r,s=n.getSelectedElement();s?r=i.getCaptionFromImageModelElement(s):(r=i.getCaptionFromModelSelection(n),s=r.parent),o._saveCaption(s,r),t.setSelection(s,"on"),t.remove(r)}}class Wb extends Ti{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[_b]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}}class qb extends Ti{static get requires(){return[_b,Wb]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new Gb(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),o=t.plugins.get("ImageCaptionUtils"),i=t.t;t.conversion.for("upcast").elementToElement({view:t=>o.matchImageCaptionViewElement(t),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:e})=>n.isBlockImage(t.parent)?e.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(t,{writer:o})=>{if(!n.isBlockImage(t.parent))return null;const r=o.createEditableElement("figcaption");o.setCustomProperty("imageCaption",!0,r),Hi({view:e,element:r,text:i("Enter image caption"),keepOnFocus:!0});const s=t.parent.getAttribute("alt");return dp(r,o,{label:s?i("Caption for image: %0",[s]):i("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),o=t.commands.get("imageTypeInline"),i=t.commands.get("imageTypeBlock"),r=t=>{if(!t.return)return;const{oldElement:o,newElement:i}=t.return;if(!o)return;if(e.isBlockImage(o)){const t=n.getCaptionFromImageModelElement(o);if(t)return void this._saveCaption(i,t)}const r=this._getSavedCaption(o);r&&this._saveCaption(i,r)};o&&this.listenTo(o,"execute",r,{priority:"low"}),i&&this.listenTo(i,"execute",r,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?hc.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),o=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const i=e.document.differ.getChanges();for(const e of i){if("alt"!==e.attributeKey)continue;const i=e.range.start.nodeAfter;if(n.isBlockImage(i)){const e=o.getCaptionFromImageModelElement(i);if(!e)return;t.editing.reconvertItem(e)}}}))}}class $b extends Ti{static get requires(){return[Wb]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),o=t.t;t.ui.componentFactory.add("toggleImageCaption",(i=>{const r=t.commands.get("toggleImageCaption"),s=new Nh(i);return s.set({icon:Ah.caption,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.bind("label").to(r,"value",(t=>o(t?"Toggle caption off":"Toggle caption on"))),this.listenTo(s,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const o=n.getCaptionFromModelSelection(t.model.document.selection);if(o){const n=t.editing.mapper.toViewElement(o);e.scrollToTheSelection(),e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()})),s}))}}var Yb=n(2640),Kb={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Yb.Z,Kb);Yb.Z.locals;class Qb extends Mi{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!e,e&&e.hasAttribute("width")?this.value={width:e.getAttribute("width"),height:null}:this.value=null}execute(t){const e=this.editor,n=e.model,o=e.plugins.get("ImageUtils").getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},o&&n.change((e=>{e.setAttribute("width",t.width,o)}))}}class Zb extends Ti{static get requires(){return[_b]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new Qb(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:"width"}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:"width"})}_registerConverters(t){const e=this.editor;e.conversion.for("downcast").add((e=>e.on(`attribute:width:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewElement(e.item);null!==e.attributeNewValue?(o.setStyle("width",e.attributeNewValue,i),o.addClass("image_resized",i)):(o.removeStyle("width",i),o.removeClass("image_resized",i))})))),e.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===t?"figure":"img",styles:{width:/.+/}},model:{key:"width",value:t=>t.getStyle("width")}})}}const Jb={small:Ah.objectSizeSmall,medium:Ah.objectSizeMedium,large:Ah.objectSizeLarge,original:Ah.objectSizeFull};class Xb extends Ti{static get requires(){return[Zb]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const t of e)this._registerImageResizeButton(t);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:o,icon:i}=t,r=o?o+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const o=new Nh(n),s=e.commands.get("resizeImage"),a=this._getOptionLabelValue(t,!0);if(!Jb[i])throw new k("imageresizebuttons-missing-icon",e,t);return o.set({label:a,icon:Jb[i],tooltip:a,isToggleable:!0}),o.bind("isEnabled").to(this),o.bind("isOn").to(s,"value",tw(r)),this.listenTo(o,"execute",(()=>{e.execute("resizeImage",{width:r})})),o}))}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,o=t.find((t=>!t.value)),i=i=>{const r=e.commands.get("resizeImage"),s=kg(i,Hh),a=s.buttonView;return a.set({tooltip:n("Resize image"),commandValue:o.value,icon:Jb.medium,isToggleable:!0,label:this._getOptionLabelValue(o),withText:!0,class:"ck-resize-image-button"}),a.bind("label").to(r,"value",(t=>t&&t.width?t.width:this._getOptionLabelValue(o))),s.bind("isOn").to(r),s.bind("isEnabled").to(this),wg(s,this._getResizeDropdownListItemDefinitions(t,r)),s.listView.ariaLabel=n("Image resize list"),this.listenTo(s,"execute",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue}),e.editing.view.focus()})),s};e.ui.componentFactory.add("resizeImage",i),e.ui.componentFactory.add("imageResize",i)}_getOptionLabelValue(t,e){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new Ai;return t.map((t=>{const o=t.value?t.value+this._resizeUnit:null,i={type:"button",model:new Hg({commandName:"resizeImage",commandValue:o,label:this._getOptionLabelValue(t),withText:!0,icon:null})};i.model.bind("isOn").to(e,"value",tw(o)),n.add(i)})),n}}function tw(t){return e=>null===t&&e===t||e&&e.width===t}const ew=/(image|image-inline)/,nw="image_resized";class ow extends Ti{static get requires(){return[jp]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view;e.addObserver(zb),this.listenTo(e.document,"imageLoaded",((n,o)=>{if(!o.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const i=t.editing.view.domConverter,r=i.domToView(o.target).findAncestor({classes:ew});let s=this.editor.plugins.get(jp).getResizerByViewElement(r);if(s)return void s.redraw();const a=t.editing.mapper,c=a.toModelElement(r);s=t.plugins.get(jp).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:c,viewElement:r,editor:t,getHandleHost:t=>t.querySelector("img"),getResizeHost:()=>i.mapViewToDom(a.toViewElement(c.parent)),isCentered(){const t=c.getAttribute("imageStyle");return!t||"block"==t||"alignCenter"==t},onCommit(n){e.change((t=>{t.removeClass(nw,r)})),t.execute("resizeImage",{width:n})}}),s.on("updateSize",(()=>{r.hasClass(nw)||e.change((t=>{t.addClass(nw,r)}))})),s.bind("isEnabled").to(this)}))}}var iw=n(6270),rw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(iw.Z,rw);iw.Z.locals;class sw extends Mi{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map((t=>{if(t.isDefault)for(const e of t.modelElements)this._defaultStyles[e]=t.name;return[t.name,t]})))}refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled?t.hasAttribute("imageStyle")?this.value=t.getAttribute("imageStyle"):this.value=this._defaultStyles[t.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,o=e.plugins.get("ImageUtils");n.change((e=>{const i=t.value;let r=o.getClosestSelectedImageElement(n.document.selection);i&&this.shouldConvertImageType(i,r)&&(this.editor.execute(o.isBlockImage(r)?"imageTypeInline":"imageTypeBlock"),r=o.getClosestSelectedImageElement(n.document.selection)),!i||this._styles.get(i).isDefault?e.removeAttribute("imageStyle",r):e.setAttribute("imageStyle",i,r)}))}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:aw,objectInline:cw,objectLeft:lw,objectRight:dw,objectCenter:uw,objectBlockLeft:hw,objectBlockRight:gw}=Ah,mw={get inline(){return{name:"inline",title:"In line",icon:cw,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:lw,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:hw,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:uw,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:dw,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:gw,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:uw,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:dw,modelElements:["imageBlock"],className:"image-style-side"}}},pw={full:aw,left:hw,right:gw,center:uw,inlineLeft:lw,inlineRight:dw,inline:cw},fw=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function kw(t){b("image-style-configuration-definition-invalid",t)}const bw={normalizeStyles:function(t){return(t.configuredStyles.options||[]).map((t=>function(t){t="string"==typeof t?mw[t]?{...mw[t]}:{name:t}:function(t,e){const n={...e};for(const o in t)Object.prototype.hasOwnProperty.call(e,o)||(n[o]=t[o]);return n}(mw[t.name],t);"string"==typeof t.icon&&(t.icon=pw[t.icon]||t.icon);return t}(t))).filter((e=>function(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:o,name:i}=t;if(!(o&&o.length&&i))return kw({style:t}),!1;{const i=[e?"imageBlock":null,n?"imageInline":null];if(!o.some((t=>i.includes(t))))return b("image-style-missing-dependency",{style:t,missingPlugins:o.map((t=>"imageBlock"===t?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(e,t)))},getDefaultStylesConfiguration:function(t,e){return t&&e?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:t?{options:["block","side"]}:e?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(t){return t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")?[...fw]:[]},warnInvalidStyle:kw,DEFAULT_OPTIONS:mw,DEFAULT_ICONS:pw,DEFAULT_DROPDOWN_DEFINITIONS:fw};function ww(t,e){for(const n of e)if(n.name===t)return n}class Aw extends Ti{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[_b]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=bw,n=this.editor,o=n.plugins.has("ImageBlockEditing"),i=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(o,i)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:o,isInlinePluginLoaded:i}),this._setupConversion(o,i),this._setupPostFixer(),n.commands.add("imageStyle",new sw(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,o=n.model.schema,i=(r=this.normalizedStyles,(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=ww(e.attributeNewValue,r),i=ww(e.attributeOldValue,r),s=n.mapper.toViewElement(e.item),a=n.writer;i&&a.removeClass(i.className,s),o&&a.addClass(o.className,s)});var r;const s=function(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageInline"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageBlock")))};return(t,n,o)=>{if(!n.modelRange)return;const i=n.viewItem,r=_i(n.modelRange.getItems());if(r&&o.schema.checkAttribute(r,"imageStyle"))for(const t of e[r.name])o.consumable.consume(i,{classes:t.className})&&o.writer.setAttribute("imageStyle",t.name,r)}}(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",i),n.data.downcastDispatcher.on("attribute:imageStyle",i),t&&(o.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(o.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(_b),o=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let i=!1;for(const r of e.differ.getChanges())if("insert"==r.type||"attribute"==r.type&&"imageStyle"==r.attributeKey){let e="insert"==r.type?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0&&(e=e.getChild(0)),!n.isImage(e))continue;const s=e.getAttribute("imageStyle");if(!s)continue;const a=o.get(s);a&&a.modelElements.includes(e.name)||(t.removeAttribute("imageStyle",e),i=!0)}return i}))}}var _w=n(5083),Cw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(_w.Z,Cw);_w.Z.locals;class vw extends Ti{static get requires(){return[Aw]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"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.plugins,e=this.editor.config.get("image.toolbar")||[],n=yw(t.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const t of n)this._createButton(t);const o=yw([...e.filter(L),...bw.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of o)this._createDropdown(t,n)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(o=>{let i;const{defaultItem:r,items:s,title:a}=t,c=s.filter((t=>e.find((({name:e})=>xw(e)===t)))).map((t=>{const e=n.create(t);return t===r&&(i=e),e}));s.length!==c.length&&bw.warnInvalidStyle({dropdown:t});const l=kg(o,Wh),d=l.buttonView,u=d.arrowView;return bg(l,c,{enableActiveItemFocusOnDropdownOpen:!0}),d.set({label:Ew(a,i.label),class:null,tooltip:!0}),u.unbind("label"),u.set({label:a}),d.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(Nr);return e<0?i.icon:c[e].icon})),d.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(Nr);return Ew(a,e<0?i.label:c[e].label)})),d.bind("isOn").toMany(c,"isOn",((...t)=>t.some(Nr))),d.bind("class").toMany(c,"isOn",((...t)=>t.some(Nr)?"ck-splitbutton_flatten":null)),d.on("execute",(()=>{c.some((({isOn:t})=>t))?l.isOpen=!l.isOpen:i.fire("execute")})),l.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some(Nr))),this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()})),l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(xw(e),(n=>{const o=this.editor.commands.get("imageStyle"),i=new Nh(n);return i.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(o,"isEnabled"),i.bind("isOn").to(o,"value",(t=>t===e)),i.on("execute",this._executeCommand.bind(this,e)),i}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function yw(t,e){for(const n of t)e[n.title]&&(n.title=e[n.title]);return t}function xw(t){return`imageStyle:${t}`}function Ew(t,e){return(t?t+": ":"")+e}function Dw(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function Iw(t){return new Promise(((e,n)=>{const o=t.getAttribute("src");fetch(o).then((t=>t.blob())).then((t=>{const n=Tw(t,o),i=n.replace("image/",""),r=new File([t],`image.${i}`,{type:n});e(r)})).catch((t=>t&&"TypeError"===t.name?function(t){return function(t){return new Promise(((e,n)=>{const o=Mo.document.createElement("img");o.addEventListener("load",(()=>{const t=Mo.document.createElement("canvas");t.width=o.width,t.height=o.height;t.getContext("2d").drawImage(o,0,0),t.toBlob((t=>t?e(t):n()))})),o.addEventListener("error",(()=>n())),o.src=t}))}(t).then((e=>{const n=Tw(e,t),o=n.replace("image/","");return new File([e],`image.${o}`,{type:n})}))}(o).then(e).catch(n):n(t)))}))}function Tw(t,e){return t.type?t.type:e.match(/data:(image\/\w+);base64/)?e.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class Sw extends Ti{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=n=>{const o=new ik(n),i=t.commands.get("uploadImage"),r=t.config.get("image.upload.types"),s=Dw(r);return o.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:!0}),o.buttonView.set({label:e("Insert image"),icon:Ah.image,tooltip:!0}),o.buttonView.bind("isEnabled").to(i),o.on("done",((e,n)=>{const o=Array.from(n).filter((t=>s.test(t.type)));o.length&&(t.execute("uploadImage",{file:o}),t.editing.view.focus())})),o};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var Mw=n(3689),Nw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Mw.Z,Nw);Mw.Z.locals;var Bw=n(4036),zw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Bw.Z,zw);Bw.Z.locals;var Pw=n(3773),Lw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Pw.Z,Lw);Pw.Z.locals;class Ow extends Ti{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",((...t)=>this.uploadStatusChange(...t))),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",((...t)=>this.uploadStatusChange(...t)))}uploadStatusChange(t,e,n){const o=this.editor,i=e.item,r=i.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name))return;const s=o.plugins.get("ImageUtils"),a=o.plugins.get(nk),c=r?e.attributeNewValue:null,l=this.placeholder,d=o.editing.mapper.toViewElement(i),u=n.writer;if("reading"==c)return Rw(d,u),void jw(s,l,d,u);if("uploading"==c){const t=a.loaders.get(r);return Rw(d,u),void(t?(Fw(d,u),function(t,e,n,o){const i=function(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});return t.setCustomProperty("progressBar",!0,e),e}(e);e.insert(e.createPositionAt(t,"end"),i),n.on("change:uploadedPercent",((t,e,n)=>{o.change((t=>{t.setStyle("width",n+"%",i)}))}))}(d,u,t,o.editing.view),function(t,e,n,o){if(o.data){const i=t.findViewImgElement(e);n.setAttribute("src",o.data,i)}}(s,d,u,t)):jw(s,l,d,u))}"complete"==c&&a.loaders.get(r)&&function(t,e,n){const o=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),o),setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(o))))}),3e3)}(d,u,o.editing.view),function(t,e){Hw(t,e,"progressBar")}(d,u),Fw(d,u),function(t,e){e.removeClass("ck-appear",t)}(d,u)}}function Rw(t,e){t.hasClass("ck-appear")||e.addClass("ck-appear",t)}function jw(t,e,n,o){n.hasClass("ck-image-upload-placeholder")||o.addClass("ck-image-upload-placeholder",n);const i=t.findViewImgElement(n);i.getAttribute("src")!==e&&o.setAttribute("src",e,i),Vw(n,"placeholder")||o.insert(o.createPositionAfter(i),function(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});return t.setCustomProperty("placeholder",!0,e),e}(o))}function Fw(t,e){t.hasClass("ck-image-upload-placeholder")&&e.removeClass("ck-image-upload-placeholder",t),Hw(t,e,"placeholder")}function Vw(t,e){for(const n of t.getChildren())if(n.getCustomProperty(e))return n}function Hw(t,e,n){const o=Vw(t,n);o&&e.remove(e.createRangeOn(o))}class Uw extends Mi{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=pi(t.file),n=this.editor.model.document.selection,o=this.editor.plugins.get("ImageUtils"),i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,i,e)}else this._uploadImage(t,i)}))}_uploadImage(t,e,n){const o=this.editor,i=o.plugins.get(nk).createLoader(t),r=o.plugins.get("ImageUtils");i&&r.insertImage({...e,uploadId:i.id},n)}}class Gw extends Ti{static get requires(){return[nk,Vg,cm,_b]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,o=t.plugins.get(nk),i=t.plugins.get("ImageUtils"),r=Dw(t.config.get("image.upload.types")),s=new Uw(t);t.commands.add("uploadImage",s),t.commands.add("imageUpload",s),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(o=n.dataTransfer,Array.from(o.types).includes("text/html")&&""!==o.getData("text/html"))return;var o;const i=Array.from(n.dataTransfer.files).filter((t=>!!t&&r.test(t.type)));i.length&&(e.stop(),t.model.change((e=>{n.targetRanges&&e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e)))),t.model.enqueueChange((()=>{t.execute("uploadImage",{file:i})}))})))})),this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).filter((t=>function(t,e){return!(!t.isInlineImageView(e)||!e.getAttribute("src"))&&(e.getAttribute("src").match(/^data:image\/\w+;base64,/g)||e.getAttribute("src").match(/^blob:/g))}(i,t.item)&&!t.item.getAttribute("uploadProcessed"))).map((t=>({promise:Iw(t.item),imageElement:t.item})));if(!r.length)return;const s=new iu(t.editing.view.document);for(const t of r){s.setAttribute("uploadProcessed",!0,t.imageElement);const e=o.createLoader(t.promise);e&&(s.setAttribute("src","",t.imageElement),s.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:!0}).reverse(),i=new Set;for(const e of n)if("insert"==e.type&&"$text"!=e.name){const n=e.position.nodeAfter,r="$graveyard"==e.position.root.rootName;for(const e of Ww(t,n)){const t=e.getAttribute("uploadId");if(!t)continue;const n=o.loaders.get(t);n&&(r?i.has(t)||n.abort():(i.add(t),this._uploadImageElements.set(t,e),"idle"==n.status&&this._readAndUpload(n)))}}})),this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const o=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",o.default,e),this._parseAndSetSrcsetAttributeOnImage(o,e,t)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,o=e.locale.t,r=e.plugins.get(nk),s=e.plugins.get(Vg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","reading",c.get(t.id))})),t.read().then((()=>{const o=t.upload(),r=c.get(t.id);if(i.isSafari){const t=e.editing.mapper.toViewElement(r),n=a.findViewImgElement(t);e.editing.view.once("render",(()=>{if(!n.parent)return;const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t)return;const o=t.style.display;t.style.display="none",t._ckHack=t.offsetHeight,t.style.display=o}))}return n.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","uploading",r)})),o})).then((e=>{n.enqueueChange({isUndoable:!1},(n=>{const o=c.get(t.id);n.setAttribute("uploadStatus","complete",o),this.fire("uploadComplete",{data:e,imageElement:o})})),l()})).catch((e=>{if("error"!==t.status&&"aborted"!==t.status)throw e;"error"==t.status&&e&&s.showWarning(e,{title:o("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},(e=>{e.remove(c.get(t.id))})),l()}));function l(){n.enqueueChange({isUndoable:!1},(e=>{const n=c.get(t.id);e.removeAttribute("uploadId",n),e.removeAttribute("uploadStatus",n),c.delete(t.id)})),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let o=0;const i=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e))return o=Math.max(o,e),!0})).map((e=>`${t[e]} ${e}w`)).join(", ");""!=i&&n.setAttribute("srcset",{data:i,width:o},e)}}function Ww(t,e){const n=t.plugins.get("ImageUtils");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class qw extends Ti{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Bi(t)),t.commands.add("outdent",new Bi(t))}}const $w='',Yw='';class Kw extends Ti{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,o="ltr"==e.uiLanguageDirection?$w:Yw,i="ltr"==e.uiLanguageDirection?Yw:$w;this._defineButton("indent",n("Increase indent"),o),this._defineButton("outdent",n("Decrease indent"),i)}_defineButton(t,e,n){const o=this.editor;o.ui.componentFactory.add(t,(i=>{const r=o.commands.get(t),s=new Nh(i);return s.set({label:e,icon:n,tooltip:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(s,"execute",(()=>{o.execute(t),o.editing.view.focus()})),s}))}}class Qw extends Mi{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=_i(t.document.selection.getSelectedBlocks());e&&t.schema.checkAttribute(e,"blockIndent")?this.isEnabled=this._indentBehavior.checkEnabled(e.getAttribute("blockIndent")):this.isEnabled=!1}execute(){const t=this.editor.model,e=function(t){const e=t.document.selection,n=t.schema;return Array.from(e.getSelectedBlocks()).filter((t=>n.checkAttribute(t,"blockIndent")))}(t);t.change((t=>{for(const n of e){const e=n.getAttribute("blockIndent"),o=this._indentBehavior.getNextIndent(e);o?t.setAttribute("blockIndent",o,n):t.removeAttribute("blockIndent",n)}}))}}class Zw{constructor(t){this.isForward="forward"===t.direction,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);if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class Jw{constructor(t){this.isForward="forward"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const Xw=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class tA{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach((t=>this._definitions.add(t))):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",((t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref"))return;if(!e.item.is("selection")&&!n.schema.isInline(e.item))return;const o=n.writer,i=o.document.selection;for(const t of this._definitions){const r=o.createAttributeElement("a",t.attributes,{priority:5});t.classes&&o.addClass(t.classes,r);for(const e in t.styles)o.setStyle(e,t.styles[e],r);o.setCustomProperty("link",!0,r),t.callback(e.attributeNewValue)?e.item.is("selection")?o.wrap(i.getFirstRange(),r):o.wrap(n.mapper.toViewRange(e.range),r):o.unwrap(n.mapper.toViewRange(e.range),r)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",((t,e,{writer:n,mapper:o})=>{const i=o.toViewElement(e.item),r=Array.from(i.getChildren()).find((t=>"a"===t.name));for(const t of this._definitions){const o=yi(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of o)"class"===t?n.addClass(e,r):n.setAttribute(t,e,r);t.classes&&n.addClass(t.classes,r);for(const e in t.styles)n.setStyle(e,t.styles[e],r)}else{for(const[t,e]of o)"class"===t?n.removeClass(e,r):n.removeAttribute(t,r);t.classes&&n.removeClass(t.classes,r);for(const e in t.styles)n.removeStyle(e,r)}}}))}}}const eA=function(t,e,n){var o=t.length;return n=void 0===n?o:n,!e&&n>=o?t:Ar(t,e,n)};var nA=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const oA=function(t){return nA.test(t)};const iA=function(t){return t.split("")};var rA="\\ud800-\\udfff",sA="["+rA+"]",aA="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",cA="\\ud83c[\\udffb-\\udfff]",lA="[^"+rA+"]",dA="(?:\\ud83c[\\udde6-\\uddff]){2}",uA="[\\ud800-\\udbff][\\udc00-\\udfff]",hA="(?:"+aA+"|"+cA+")"+"?",gA="[\\ufe0e\\ufe0f]?",mA=gA+hA+("(?:\\u200d(?:"+[lA,dA,uA].join("|")+")"+gA+hA+")*"),pA="(?:"+[lA+aA+"?",aA,dA,uA,sA].join("|")+")",fA=RegExp(cA+"(?="+cA+")|"+pA+mA,"g");const kA=function(t){return t.match(fA)||[]};const bA=function(t){return oA(t)?kA(t):iA(t)};const wA=function(t){return function(e){e=pr(e);var n=oA(e)?bA(e):void 0,o=n?n[0]:e.charAt(0),i=n?eA(n,1).join(""):e.slice(1);return o[t]()+i}}("toUpperCase"),AA=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,_A=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,CA=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,vA=/^((\w+:(\/{2,})?)|(\W))/i,yA="Ctrl+K";function xA(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});return e.setCustomProperty("link",!0,n),n}function EA(t){return function(t){const e=t.replace(AA,"");return e.match(_A)}(t=String(t))?t:"#"}function DA(t,e){return!!t&&e.checkAttribute(t.name,"linkHref")}function IA(t,e){const n=(o=t,CA.test(o)?"mailto:":e);var o;const i=!!n&&!TA(t);return t&&i?n+t:t}function TA(t){return vA.test(t)}function SA(t){window.open(t,"_blank","noopener")}class MA extends Mi{constructor(t){super(t),this.manualDecorators=new Ai,this.automaticDecorators=new tA}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||_i(e.getSelectedBlocks());DA(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}execute(t,e={}){const n=this.editor.model,o=n.document.selection,i=[],r=[];for(const t in e)e[t]?i.push(t):r.push(t);n.change((e=>{if(o.isCollapsed){const s=o.getFirstPosition();if(o.hasAttribute("linkHref")){const a=Vm(s,"linkHref",o.getAttribute("linkHref"),n);e.setAttribute("linkHref",t,a),i.forEach((t=>{e.setAttribute(t,!0,a)})),r.forEach((t=>{e.removeAttribute(t,a)})),e.setSelection(e.createPositionAfter(a.end.nodeBefore))}else if(""!==t){const r=yi(o.getAttributes());r.set("linkHref",t),i.forEach((t=>{r.set(t,!0)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}["linkHref",...i,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(o.getRanges(),"linkHref"),a=[];for(const t of o.getSelectedBlocks())n.schema.checkAttribute(t,"linkHref")&&a.push(e.createRangeOn(t));const c=a.slice();for(const t of s)this._isRangeToUpdate(t,a)&&c.push(t);for(const n of c)e.setAttribute("linkHref",t,n),i.forEach((t=>{e.setAttribute(t,!0,n)})),r.forEach((t=>{e.removeAttribute(t,n)}))}}))}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,o=n.getSelectedElement();return DA(o,e.schema)?o.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}}class NA extends Mi{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();DA(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,o=t.commands.get("link");e.change((t=>{const i=n.isCollapsed?[Vm(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of i)if(t.removeAttribute("linkHref",e),o)for(const n of o.manualDecorators)t.removeAttribute(n.id,e)}))}}class BA{constructor({id:t,label:e,attributes:n,classes:o,styles:i,defaultValue:r}){this.id=t,this.set("value"),this.defaultValue=r,this.label=e,this.attributes=n,this.classes=o,this.styles=i}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}d(BA,U);var zA=n(9773),PA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(zA.Z,PA);zA.Z.locals;const LA="automatic",OA=/^(https?:)?\/\//;class RA extends Ti{static get pluginName(){return"LinkEditing"}static get requires(){return[Em,gm,cm]}constructor(t){super(t),t.config.define("link",{addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:xA}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>xA(EA(t),e)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:t=>t.getAttribute("href")}}),t.commands.add("link",new MA(t)),t.commands.add("unlink",new NA(t));const e=function(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};return e.forEach((t=>(t.label&&n[t.label]&&(t.label=n[t.label]),t))),e}(t.t,function(t){const e=[];if(t)for(const[n,o]of Object.entries(t)){const t=Object.assign({},o,{id:`link${wA(n)}`});e.push(t)}return e}(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===LA))),this._enableManualDecorators(e.filter((t=>"manual"===t.mode)));t.plugins.get(Em).registerAttribute("linkHref"),function(t,e,n,o){const i=t.editing.view,r=new Set;i.document.registerPostFixer((i=>{const s=t.model.document.selection;let a=!1;if(s.hasAttribute(e)){const c=Vm(s.getFirstPosition(),e,s.getAttribute(e),t.model),l=t.editing.mapper.toViewRange(c);for(const t of l.getItems())t.is("element",n)&&!t.hasClass(o)&&(i.addClass(o,t),r.add(t),a=!0)}return a})),t.conversion.for("editingDowncast").add((t=>{function e(){i.change((t=>{for(const e of r.values())t.removeClass(o,e),r.delete(e)}))}t.on("insert",e,{priority:"highest"}),t.on("remove",e,{priority:"highest"}),t.on("attribute",e,{priority:"highest"}),t.on("selection",e,{priority:"highest"})}))}(t,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(t){const e=this.editor,n=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&n.add({id:"linkIsExternal",mode:LA,callback:t=>OA.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}}),n.add(t),n.length&&e.conversion.for("downcast").add(n.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,n=e.commands.get("link").manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id}),t=new BA(t),n.add(t),e.conversion.for("downcast").attributeToElement({model:t.id,view:(e,{writer:n,schema:o},{item:i})=>{if((i.is("selection")||o.isInline(i))&&e){const e=n.createAttributeElement("a",t.attributes,{priority:5});t.classes&&n.addClass(t.classes,e);for(const o in t.styles)n.setStyle(o,t.styles[o],e);return n.setCustomProperty("link",!0,e),e}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...t._createPattern()},model:{key:t.id}})}))}_enableLinkOpen(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",((t,e)=>{if(!(i.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey))return;let n=e.domTarget;if("a"!=n.tagName.toLowerCase()&&(n=n.closest("a")),!n)return;const o=n.getAttribute("href");o&&(t.stop(),e.preventDefault(),SA(o))}),{context:"$capture"}),this.listenTo(e,"keydown",((e,n)=>{const o=t.commands.get("link").value;o&&n.keyCode===li.enter&&n.altKey&&(e.stop(),SA(o))}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection;this.listenTo(t,"insertContent",(()=>{const n=e.anchor.nodeBefore,o=e.anchor.nodeAfter;e.hasAttribute("linkHref")&&n&&n.hasAttribute("linkHref")&&(o&&o.hasAttribute("linkHref")||t.change((e=>{jA(e,VA(t.schema))})))}),{priority:"low"})}_enableClickingAfterLink(){const t=this.editor,e=t.model;t.editing.view.addObserver(ou);let n=!1;this.listenTo(t.editing.view.document,"mousedown",(()=>{n=!0})),this.listenTo(t.editing.view.document,"selectionChange",(()=>{if(!n)return;n=!1;const t=e.document.selection;if(!t.isCollapsed)return;if(!t.hasAttribute("linkHref"))return;const o=t.getFirstPosition(),i=Vm(o,"linkHref",t.getAttribute("linkHref"),e);(o.isTouching(i.start)||o.isTouching(i.end))&&e.change((t=>{jA(t,VA(e.schema))}))}))}_enableTypingOverLink(){const t=this.editor,e=t.editing.view;let n,o;this.listenTo(e.document,"delete",(()=>{o=!0}),{priority:"high"}),this.listenTo(t.model,"deleteContent",(()=>{const e=t.model.document.selection;e.isCollapsed||(o?o=!1:FA(t)&&function(t){const e=t.document.selection,n=e.getFirstPosition(),o=e.getLastPosition(),i=n.nodeAfter;if(!i)return!1;if(!i.is("$text"))return!1;if(!i.hasAttribute("linkHref"))return!1;const r=o.textNode||o.nodeBefore;if(i===r)return!0;return Vm(n,"linkHref",i.getAttribute("linkHref"),t).containsRange(t.createRange(n,o),!0)}(t.model)&&(n=e.getAttributes()))}),{priority:"high"}),this.listenTo(t.model,"insertContent",((e,[i])=>{o=!1,FA(t)&&n&&(t.model.change((t=>{for(const[e,o]of n)t.setAttribute(e,o,i)})),n=null)}),{priority:"high"})}_handleDeleteContentAfterLink(){const t=this.editor,e=t.model,n=e.document.selection,o=t.editing.view;let i=!1,r=!1;this.listenTo(o.document,"delete",((t,e)=>{r="backward"===e.direction}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{i=!1;const t=n.getFirstPosition(),o=n.getAttribute("linkHref");if(!o)return;const r=Vm(t,"linkHref",o,e);i=r.containsPosition(t)||r.end.isEqual(t)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{r&&(r=!1,i||t.model.enqueueChange((t=>{jA(t,VA(e.schema))})))}),{priority:"low"})}}function jA(t,e){t.removeSelectionAttribute("linkHref");for(const n of e)t.removeSelectionAttribute(n)}function FA(t){return t.model.change((t=>t.batch)).isTyping}function VA(t){return t.getDefinition("$text").allowAttributes.filter((t=>t.startsWith("link")))}var HA=n(7754),UA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(HA.Z,UA);HA.Z.locals;class GA extends nh{constructor(t,e){super(t);const n=t.t;this.focusTracker=new Ci,this.keystrokes=new vi,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Ah.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),Ah.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusables=new Nu,this._focusCycler=new Qh({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children}),vh(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>(t[e.name]=e.isOn,t)),{})}render(){super.render(),yh({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t,e=new Rg(this.locale,jg);return e.label=t("Link URL"),e}_createButton(t,e,n,o){const i=new Nh(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.extendTemplate({attributes:{class:n}}),o&&i.delegate("execute").to(this,o),i}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const o=new Ph(this.locale);o.set({name:n.id,label:n.label,withText:!0}),o.bind("isOn").toMany([n,t],"value",((t,e)=>void 0===e&&void 0===t?n.defaultValue:t)),o.on("execute",(()=>{n.set("value",!o.isOn)})),e.add(o)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const t=new nh;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)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var WA=n(2347),qA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(WA.Z,qA);WA.Z.locals;class $A extends nh{constructor(t){super(t);const e=t.t;this.focusTracker=new Ci,this.keystrokes=new vi,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),'',"unlink"),this.editButtonView=this._createButton(e("Edit link"),Ah.pencil,"edit"),this.set("href"),this._focusables=new Nu,this._focusCycler=new Qh({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","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const o=new Nh(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.delegate("execute").to(this,n),o}_createPreviewButton(){const t=new Nh(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&EA(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={},t}}const YA="link-ui";class KA extends Ti{static get requires(){return[Yg]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(nu),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=t.plugins.get(Yg),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),t.conversion.for("editingDowncast").markerToHighlight({model:YA,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:YA,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const t=this.editor,e=new $A(t.locale),n=t.commands.get("link"),o=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(o),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(yA,((t,e)=>{this._addFormView(),e()})),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),o=new GA(t.locale,e);return o.urlInputView.fieldView.bind("value").to(e,"value"),o.urlInputView.bind("isReadOnly").to(e,"isEnabled",(t=>!t)),o.saveButtonView.bind("isEnabled").to(e),this.listenTo(o,"submit",(()=>{const{value:e}=o.urlInputView.fieldView.element,i=IA(e,n);t.execute("link",i,o.getDecoratorSwitchesState()),this._closeFormView()})),this.listenTo(o,"cancel",(()=>{this._closeFormView()})),o.keystrokes.set("Esc",((t,e)=>{this._closeFormView(),e()})),o}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.keystrokes.set(yA,((t,n)=>{n(),e.isEnabled&&this._showUI(!0)})),t.ui.componentFactory.add("link",(t=>{const o=new Nh(t);return o.isEnabled=!0,o.label=n("Link"),o.icon='',o.keystroke=yA,o.tooltip=!0,o.isToggleable=!0,o.bind("isEnabled").to(e,"isEnabled"),o.bind("isOn").to(e,"value",(t=>!!t)),this.listenTo(o,"execute",(()=>this._showUI(!0))),o}))}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),this.editor.keystrokes.set("Tab",((t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((t,e)=>{this._isUIVisible&&(this._hideUI(),e())})),Ch({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const t=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=t.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),void 0!==t.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),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),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),o=r();const i=()=>{const t=this._getSelectedLinkElement(),e=r();n&&!t||!n&&e!==o?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=t,o=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",i),this.listenTo(this._balloon,"change:visibleView",i)}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(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let o=null;if(e.markers.has(YA)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(YA)),n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));o=t.domConverter.viewRangeToDom(n)}else o=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:o}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&rp(n))return QA(e.getFirstPosition());{const n=e.getFirstRange().getTrimmed(),o=QA(n.start),i=QA(n.end);return o&&o==i&&t.createRangeIn(o).getTrimmed().isEqual(n)?o:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(YA))e.updateMarker(YA,{range:n});else if(n.start.isAtEnd){const o=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(YA,{usingOperation:!1,affectsData:!1,range:e.createRange(o,n.end)})}else e.addMarker(YA,{usingOperation:!1,affectsData:!1,range:n})}))}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(YA)&&t.change((t=>{t.removeMarker(YA)}))}}function QA(t){return t.getAncestors().find((t=>{return(e=t).is("attributeElement")&&!!e.getCustomProperty("link");var e}))}const ZA=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class JA extends Ti{static get requires(){return[Cm]}static get pluginName(){return"AutoLink"}init(){const t=this.editor.model.document.selection;t.on("change:range",(()=>{this.isEnabled=!t.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const t=this.editor,e=new xm(t.model,(t=>{if(!function(t){return t.length>4&&" "===t[t.length-1]&&" "!==t[t.length-2]}(t))return;const e=XA(t.substr(0,t.length-1));return e?{url:e}:void 0}));e.on("matched:data",((e,n)=>{const{batch:o,range:i,url:r}=n;if(!o.isTyping)return;const s=i.end.getShiftedBy(-1),a=s.getShiftedBy(-r.length),c=t.model.createRange(a,s);this._applyAutoLink(r,c)})),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling)return;const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",(()=>{const t=e.document.selection.getFirstPosition(),n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:o}=ym(t,e),i=XA(n);if(i){const t=e.createRange(o.end.getShiftedBy(-i.length),o.end);this._applyAutoLink(i,t)}}_applyAutoLink(t,e){const n=this.editor.model,o=IA(t,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}(e,n)&&TA(o)&&!function(t){const e=t.start.nodeAfter;return e&&e.hasAttribute("linkHref")}(e)&&this._persistAutoLink(o,e)}_persistAutoLink(t,e){const n=this.editor.model,o=this.editor.plugins.get("Delete");n.enqueueChange((i=>{i.setAttribute("linkHref",t,e),n.enqueueChange((()=>{o.requestUndoOnBackspace()}))}))}}function XA(t){const e=ZA.exec(t);return e?e[2]:null}class t_ extends Mi{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,o=Array.from(n.selection.getSelectedBlocks()).filter((t=>n_(t,e.schema))),i=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(i){let e=o[o.length-1].nextSibling,n=Number.POSITIVE_INFINITY,i=[];for(;e&&"listItem"==e.name&&0!==e.getAttribute("listIndent");){const t=e.getAttribute("listIndent");t=n;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&t[e?"unshift":"push"](i),i=i[e?"previousSibling":"nextSibling"]}}function n_(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class o_ extends Mi{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;for(;o&&"listItem"==o.name&&o.getAttribute("listIndent")>e.getAttribute("listIndent");)n.push(o),o=o.nextSibling;this._indentBy<0&&(n=n.reverse());for(const e of n){const n=e.getAttribute("listIndent")+this._indentBy;n<0?t.rename(e,"paragraph"):t.setAttribute("listIndent",n,e)}this.fire("_executeCleanup",n)}))}_checkEnabled(){const t=_i(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),n=t.getAttribute("listType");let o=t.previousSibling;for(;o&&o.is("element","listItem")&&o.getAttribute("listIndent")>=e;){if(o.getAttribute("listIndent")==e)return o.getAttribute("listType")==n;o=o.previousSibling}return!1}return!0}}function i_(t,e){const n=e.mapper,o=e.writer,i="numbered"==t.getAttribute("listType")?"ol":"ul",r=function(t){const e=t.createContainerElement("li");return e.getFillerOffset=p_,e}(o),s=o.createContainerElement(i,null);return o.insert(o.createPositionAt(s,0),r),n.bindElements(t,r),r}function r_(t,e,n,o){const i=e.parent,r=n.mapper,s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=c_(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute("listIndent")}),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&&"listItem"==l.name){a=r.toViewPosition(o.createPositionAt(l,"end"));const t=r.findMappedViewAncestor(a),e=function(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}(t);a=e?s.createPositionBefore(e):s.createPositionAt(t,"end")}else a=r.toViewPosition(o.createPositionBefore(t));if(a=a_(a),s.insert(a,i),l&&"listItem"==l.name){const t=r.toViewElement(l),n=s.createRange(s.createPositionAt(t,0),a).getWalker({ignoreElementEnd:!0});for(const t of n)if(t.item.is("element","li")){const o=s.breakContainer(s.createPositionBefore(t.item)),i=t.item.parent,r=s.createPositionAt(e,"end");s_(s,r.nodeBefore,r.nodeAfter),s.move(s.createRangeOn(i),r),n.position=o}}else{const n=i.nextSibling;if(n&&(n.is("element","ul")||n.is("element","ol"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(!(n&&n.getAttribute("listIndent")>t.getAttribute("listIndent")))break;o=e}o&&(s.breakContainer(s.createPositionAfter(o)),s.move(s.createRangeOn(o.parent),s.createPositionAt(e,"end")))}}s_(s,i,i.nextSibling),s_(s,i.previousSibling,i)}function s_(t,e,n){return!e||!n||"ul"!=e.name&&"ol"!=e.name||e.name!=n.name||e.getAttribute("class")!==n.getAttribute("class")?null:t.mergeContainers(t.createPositionAfter(e))}function a_(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function c_(t,e){const n=!!e.sameIndent,o=!!e.smallerIndent,i=e.listIndent;let r=t;for(;r&&"listItem"==r.name;){const t=r.getAttribute("listIndent");if(n&&i==t||o&&i>t)return r;r="forward"===e.direction?r.nextSibling:r.previousSibling}return null}function l_(t,e,n,o){t.ui.componentFactory.add(e,(i=>{const r=t.commands.get(e),s=new Nh(i);return s.set({label:n,icon:o,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),s}))}function d_(t,e){const n=[],o=t.parent,i={ignoreElementEnd:!1,startPosition:t,shallow:!0,direction:e},r=o.getAttribute("listIndent"),s=[...new gc(i)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of s){if(!t.is("element","listItem"))break;if(t.getAttribute("listIndent")r)){if(t.getAttribute("listType")!==o.getAttribute("listType"))break;if(t.getAttribute("listStyle")!==o.getAttribute("listStyle"))break;if(t.getAttribute("listReversed")!==o.getAttribute("listReversed"))break;if(t.getAttribute("listStart")!==o.getAttribute("listStart"))break;"backward"===e?n.unshift(t):n.push(t)}}return n}function u_(t){let e=[...t.document.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...d_(n,"backward"),...d_(n,"forward")]})).flat();return e=[...new Set(e)],e}const h_=["disc","circle","square"],g_=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function m_(t){return h_.includes(t)?"bulleted":g_.includes(t)?"numbered":null}function p_(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:ts.call(this)}class f_ extends Ti{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return m_(t)}getSelectedListItems(t){return u_(t)}getSiblingNodes(t,e){return d_(t,e)}}function k_(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,"insert")||!i.test(n.item,"attribute:listType")||!i.test(n.item,"attribute:listIndent"))return;i.consume(n.item,"insert"),i.consume(n.item,"attribute:listType"),i.consume(n.item,"attribute:listIndent");const r=n.item;r_(r,i_(r,o),o,t)}}function b_(t,e,n){if(!n.consumable.test(e.item,t.name))return;const o=n.mapper.toViewElement(e.item),i=n.writer;i.breakContainer(i.createPositionBefore(o)),i.breakContainer(i.createPositionAfter(o));const r=o.parent,s="numbered"==e.attributeNewValue?"ol":"ul";i.rename(s,r)}function w_(t,e,n){n.consumable.consume(e.item,t.name);const o=n.mapper.toViewElement(e.item).parent,i=n.writer;s_(i,o,o.nextSibling),s_(i,o.previousSibling,o)}function A_(t,e,n){if(n.consumable.test(e.item,t.name)&&"listItem"!=e.item.name){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer,i=[];for(;("ul"==t.parent.name||"ol"==t.parent.name)&&(t=o.breakContainer(t),"li"==t.parent.name);){const e=t,n=o.createPositionAt(t.parent,"end");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=s_(o,n,n.nextSibling);e&&e.parent==n&&t.offset--}}s_(o,t.nodeBefore,t.nodeAfter)}}}function __(t,e,n){const o=n.mapper.toViewPosition(e.position),i=o.nodeBefore,r=o.nodeAfter;s_(n.writer,i,r)}function C_(t,e,n){if(n.consumable.consume(e.viewItem,{name:!0})){const t=n.writer,o=t.createElement("listItem"),i=function(t){let e=0,n=t.parent;for(;n;){if(n.is("element","li"))e++;else{const t=n.previousSibling;t&&t.is("element","li")&&e++}n=n.parent}return e}(e.viewItem);t.setAttribute("listIndent",i,o);const r=e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted";if(t.setAttribute("listType",r,o),!n.safeInsert(o,e.modelCursor))return;const s=function(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e)if("ul"==s.name||"ol"==s.name)r=n.convertItem(s,r).modelCursor;else{const e=n.convertItem(s,o.createPositionAt(t,"end")),a=e.modelRange.start.nodeAfter;a&&a.is("element")&&!i.checkChild(t,a.name)&&(t=e.modelCursor.parent.is("element","listItem")?e.modelCursor.parent:D_(e.modelCursor),r=o.createPositionAfter(t))}return r}(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s),n.updateConversionResult(o,e)}}function v_(t,e,n){if(n.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is("element","li")||T_(e))&&e._remove()}}}function y_(t,e,n){if(n.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let n=!1;for(const e of t)n&&!T_(e)&&e._remove(),T_(e)&&(n=!0)}}function x_(t){return(e,n)=>{if(n.isPhantom)return;const o=n.modelPosition.nodeBefore;if(o&&o.is("element","listItem")){const e=n.mapper.toViewElement(o),i=e.getAncestors().find(T_),r=t.createPositionAt(e,0).getWalker();for(const t of r){if("elementStart"==t.type&&t.item.is("element","li")){n.viewPosition=t.previousPosition;break}if("elementEnd"==t.type&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}function E_(t,[e,n,o]){let i,r=e.is("documentFragment")?e.getChild(0):e;if(i=n?this.createSelection(n,o):this.document.selection,r&&r.is("element","listItem")){const t=i.getFirstPosition();let e=null;if(t.parent.is("element","listItem")?e=t.parent:t.nodeBefore&&t.nodeBefore.is("element","listItem")&&(e=t.nodeBefore),e){const t=e.getAttribute("listIndent");if(t>0)for(;r&&r.is("element","listItem");)r._setAttribute("listIndent",r.getAttribute("listIndent")+t),r=r.nextSibling}}}function D_(t){const e=new gc({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function I_(t,e,n,o,i,r){const s=c_(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:"b"}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(s)if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}else d=n;d=a_(d);for(const t of[...o.getChildren()])T_(t)&&(d=c.move(c.createRangeOn(t),d).end,s_(c,t,t.nextSibling),s_(c,t.previousSibling,t))}function T_(t){return t.is("element","ol")||t.is("element","ul")}class S_ extends Ti{static get pluginName(){return"ListEditing"}static get requires(){return[Ym,Cm,f_]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;var o;t.model.document.registerPostFixer((e=>function(t,e){const n=t.document.differ.getChanges(),o=new Map;let i=!1;for(const o of n)if("insert"==o.type&&"listItem"==o.name)r(o.position);else if("insert"==o.type&&"listItem"!=o.name){if("$text"!=o.name){const n=o.position.nodeAfter;n.hasAttribute("listIndent")&&(e.removeAttribute("listIndent",n),i=!0),n.hasAttribute("listType")&&(e.removeAttribute("listType",n),i=!0),n.hasAttribute("listStyle")&&(e.removeAttribute("listStyle",n),i=!0),n.hasAttribute("listReversed")&&(e.removeAttribute("listReversed",n),i=!0),n.hasAttribute("listStart")&&(e.removeAttribute("listStart",n),i=!0);for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is("element","listItem"))))r(e.previousPosition)}r(o.position.getShiftedBy(o.length))}else"remove"==o.type&&"listItem"==o.name?r(o.position):("attribute"==o.type&&"listIndent"==o.attributeKey||"attribute"==o.type&&"listType"==o.attributeKey)&&r(o.range.start);for(const t of o.values())s(t),a(t);return i;function r(t){const e=t.nodeBefore;if(e&&e.is("element","listItem")){let t=e;if(o.has(t))return;for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling)if(t=e,o.has(t))return;o.set(e,t)}else{const e=t.nodeAfter;e&&e.is("element","listItem")&&o.set(e,e)}}function s(t){let n=0,o=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(r>n){let s;null===o?(o=r-n,s=n):(o>r&&(o=r),s=r-o),e.setAttribute("listIndent",s,t),i=!0}else o=null,n=t.getAttribute("listIndent")+1;t=t.nextSibling}}function a(t){let n=[],o=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(o&&o.getAttribute("listIndent")>r&&(n=n.slice(0,r+1)),0!=r)if(n[r]){const o=n[r];t.getAttribute("listType")!=o&&(e.setAttribute("listType",o,t),i=!0)}else n[r]=t.getAttribute("listType");o=t,t=t.nextSibling}}}(t.model,e))),n.mapper.registerViewToModelLength("li",M_),e.mapper.registerViewToModelLength("li",M_),n.mapper.on("modelToViewPosition",x_(n.view)),n.mapper.on("viewToModelPosition",(o=t.model,(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if("ul"==i.name||"ol"==i.name){if(n.isAtEnd){const t=r.toModelElement(n.nodeBefore),i=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(t).getShiftedBy(i)}else{const t=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(t)}t.stop()}else if("li"==i.name&&n.nodeBefore&&("ul"==n.nodeBefore.name||"ol"==n.nodeBefore.name)){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&T_(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}})),e.mapper.on("modelToViewPosition",x_(n.view)),t.conversion.for("editingDowncast").add((e=>{e.on("insert",A_,{priority:"high"}),e.on("insert:listItem",k_(t.model)),e.on("attribute:listType:listItem",b_,{priority:"high"}),e.on("attribute:listType:listItem",w_,{priority:"low"}),e.on("attribute:listIndent:listItem",function(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,"attribute:listIndent"))return;const i=o.mapper.toViewElement(n.item),r=o.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&s_(r,a,a.nextSibling),I_(n.attributeOldValue+1,n.range.start,c.start,i,o,t),r_(n.item,i,o,t);for(const t of n.item.getChildren())o.consumable.consume(t,"insert")}}(t.model)),e.on("remove:listItem",function(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position).getLastMatchingPosition((t=>!t.item.is("element","li"))).nodeAfter,r=o.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s),l=r.remove(c);a&&a.nextSibling&&s_(r,a,a.nextSibling),I_(o.mapper.toModelElement(i).getAttribute("listIndent")+1,n.position,c.start,i,o,t);for(const t of r.createRangeIn(l).getItems())o.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on("remove",__,{priority:"low"})})),t.conversion.for("dataDowncast").add((e=>{e.on("insert",A_,{priority:"high"}),e.on("insert:listItem",k_(t.model))})),t.conversion.for("upcast").add((t=>{t.on("element:ul",v_,{priority:"high"}),t.on("element:ol",v_,{priority:"high"}),t.on("element:li",y_,{priority:"high"}),t.on("element:li",C_)})),t.model.on("insertContent",E_,{priority:"high"}),t.commands.add("numberedList",new t_(t,"numbered")),t.commands.add("bulletedList",new t_(t,"bulleted")),t.commands.add("indentList",new o_(t,"forward")),t.commands.add("outdentList",new o_(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",((t,e)=>{const n=this.editor.model.document,o=n.selection.getLastPosition().parent;n.selection.isCollapsed&&"listItem"==o.name&&o.isEmpty&&(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(i,"delete",((t,e)=>{if("backward"!==e.direction)return;const n=this.editor.model.document.selection;if(!n.isCollapsed)return;const o=n.getFirstPosition();if(!o.isAtStart)return;const i=o.parent;if("listItem"!==i.name)return;i.previousSibling&&"listItem"===i.previousSibling.name||(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(t.editing.view.document,"tab",((e,n)=>{const o=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(o).isEnabled&&(t.execute(o),n.stopPropagation(),n.preventDefault(),e.stop())}),{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),n&&n.registerChildCommand(t.get("outdentList"))}}function M_(t){let e=1;for(const n of t.getChildren())if("ul"==n.name||"ol"==n.name)for(const t of n.getChildren())e+=M_(t);return e}const N_='',B_='';class z_ extends Ti{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;l_(this.editor,"numberedList",t("Numbered List"),N_),l_(this.editor,"bulletedList",t("Bulleted List"),B_)}}class P_ extends Mi{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model,n=u_(e);n.length&&e.change((e=>{for(const o of n)e.setAttribute("listStyle",t.type||this._defaultType,o)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=m_(t.type);if(!e)return;const n=this.editor,o=e+"List";n.commands.get(o).value||n.execute(o)}}class L_ extends Mi{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,n=u_(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const o of n)e.setAttribute("listReversed",!!t.reversed,o)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listReversed"):null}}class O_ extends Mi{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,n=u_(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const o of n)e.setAttribute("listStart",t.startIndex>=0?t.startIndex:1,o)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listStart"):null}}const R_="default";class j_ extends Ti{static get requires(){return[S_]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,n=function(t){const e=[];t.styles&&e.push({attributeName:"listStyle",defaultValue:R_,addCommand(t){t.commands.add("listStyle",new P_(t,R_))},appliesToListItem:()=>!0,setAttributeOnDowncast(t,e,n){e&&e!==R_?t.setStyle("list-style-type",e,n):t.removeStyle("list-style-type",n)},getAttributeOnUpcast:t=>t.getStyle("list-style-type")||R_});t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,addCommand(t){t.commands.add("listReversed",new L_(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,n){e?t.setAttribute("reversed","reversed",n):t.removeAttribute("reversed",n)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new O_(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,n){0==e||e>1?t.setAttribute("start",e,n):t.removeAttribute("start",n)},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}});return e}(t.config.get("list.properties"));e.schema.extend("listItem",{allowAttributes:n.map((t=>t.attributeName))});for(const e of n)e.addCommand(t);var o;this.listenTo(t.commands.get("indentList"),"_executeCleanup",function(t,e){return(n,o)=>{const i=o[0],r=i.getAttribute("listIndent"),s=o.filter((t=>t.getAttribute("listIndent")===r));let a=null;i.previousSibling.getAttribute("listIndent")+1!==r&&(a=c_(i.previousSibling,{sameIndent:!0,direction:"backward",listIndent:r})),t.model.change((t=>{for(const n of s)for(const o of e)if(o.appliesToListItem(n)){const e=null==a?o.defaultValue:a.getAttribute(o.attributeName);t.setAttribute(o.attributeName,e,n)}}))}}(t,n)),this.listenTo(t.commands.get("outdentList"),"_executeCleanup",function(t,e){return(n,o)=>{if(!(o=o.reverse().filter((t=>t.is("element","listItem")))).length)return;const i=o[0].getAttribute("listIndent"),r=o[0].getAttribute("listType");let s=o[0].previousSibling;if(s.is("element","listItem"))for(;s.getAttribute("listIndent")!==i;)s=s.previousSibling;else s=null;s||(s=o[o.length-1].nextSibling),s&&s.is("element","listItem")&&s.getAttribute("listType")===r&&t.model.change((t=>{const n=o.filter((t=>t.getAttribute("listIndent")===i));for(const o of n)for(const n of e)if(n.appliesToListItem(o)){const e=n.attributeName,i=s.getAttribute(e);t.setAttribute(e,i,o)}}))}}(t,n)),this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",H_(t)),this.listenTo(t.commands.get("numberedList"),"_executeCleanup",H_(t)),e.document.registerPostFixer(function(t,e){return n=>{let o=!1;const i=U_(t.model.document.differ.getChanges()).filter((t=>"todo"!==t.getAttribute("listType")));if(!i.length)return o;let r=i[i.length-1].nextSibling;if((!r||!r.is("element","listItem"))&&(r=i[0].previousSibling,r)){const t=i[0].getAttribute("listIndent");for(;r.is("element","listItem")&&r.getAttribute("listIndent")!==t&&(r=r.previousSibling,r););}for(const t of e){const e=t.attributeName;for(const s of i)if(t.appliesToListItem(s))if(s.hasAttribute(e)){const i=s.previousSibling;V_(i,s,t.attributeName)&&(n.setAttribute(e,i.getAttribute(e),s),o=!0)}else F_(r,s,t)?n.setAttribute(e,r.getAttribute(e),s):n.setAttribute(e,t.defaultValue,s),o=!0;else n.removeAttribute(e,s)}return o}}(t,n)),t.conversion.for("upcast").add((o=n,t=>{t.on("element:li",((t,e,n)=>{const i=e.viewItem.parent,r=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;for(const t of o)if(t.appliesToListItem(r)){const e=t.getAttributeOnUpcast(i);n.writer.setAttribute(t.attributeName,e,r)}}),{priority:"low"})})),t.conversion.for("downcast").add(function(t){return n=>{for(const o of t)n.on(`attribute:${o.attributeName}:listItem`,((t,n,i)=>{const r=i.writer,s=n.item,a=c_(s.previousSibling,{sameIndent:!0,listIndent:s.getAttribute("listIndent"),direction:"backward"}),c=i.mapper.toViewElement(s);e(s,a)||r.breakContainer(r.createPositionBefore(c)),o.setAttributeOnDowncast(r,n.attributeNewValue,c.parent)}),{priority:"low"})};function e(t,e){return e&&t.getAttribute("listType")===e.getAttribute("listType")&&t.getAttribute("listIndent")===e.getAttribute("listIndent")&&t.getAttribute("listStyle")===e.getAttribute("listStyle")&&t.getAttribute("listReversed")===e.getAttribute("listReversed")&&t.getAttribute("listStart")===e.getAttribute("listStart")}}(n)),this._mergeListAttributesWhileMergingLists(n)}afterInit(){const t=this.editor;t.commands.get("todoList")&&t.model.document.registerPostFixer(function(t){return e=>{const n=U_(t.model.document.differ.getChanges()).filter((t=>"todo"===t.getAttribute("listType")&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!n.length)return!1;for(const t of n)e.removeAttribute("listStyle",t),e.removeAttribute("listReversed",t),e.removeAttribute("listStart",t);return!0}}(t))}_mergeListAttributesWhileMergingLists(t){const e=this.editor.model;let n;this.listenTo(e,"deleteContent",((t,[e])=>{const o=e.getFirstPosition(),i=e.getLastPosition();if(o.parent===i.parent)return;if(!o.parent.is("element","listItem"))return;const r=i.parent.nextSibling;if(!r||!r.is("element","listItem"))return;const s=c_(o.parent,{sameIndent:!0,listIndent:r.getAttribute("listIndent")});s&&s.getAttribute("listType")===r.getAttribute("listType")&&(n=s)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{n&&(e.change((e=>{const o=c_(n.nextSibling,{sameIndent:!0,listIndent:n.getAttribute("listIndent"),direction:"forward"});if(!o)return void(n=null);const i=[o,...d_(e.createPositionAt(o,0),"forward")];for(const o of i)for(const i of t)if(i.appliesToListItem(o)){const t=i.attributeName,r=n.getAttribute(t);e.setAttribute(t,r,o)}})),n=null)}),{priority:"low"})}}function F_(t,e,n){if(!t)return!1;const o=t.getAttribute(n.attributeName);return!!o&&(o!=n.defaultValue&&t.getAttribute("listType")===e.getAttribute("listType"))}function V_(t,e,n){if(!t||!t.is("element","listItem"))return!1;if(e.getAttribute("listType")!==t.getAttribute("listType"))return!1;const o=t.getAttribute("listIndent");if(o<1||o!==e.getAttribute("listIndent"))return!1;const i=t.getAttribute(n);return!(!i||i===e.getAttribute(n))}function H_(t){return(e,n)=>{n=n.filter((t=>t.is("element","listItem"))),t.model.change((t=>{for(const e of n)t.removeAttribute("listStyle",e)}))}}function U_(t){const e=[];for(const n of t){const t=G_(n);t&&t.is("element","listItem")&&e.push(t)}return e}function G_(t){return"attribute"===t.type?t.range.start.nodeAfter:"insert"===t.type?t.position.nodeAfter:null}var W_=n(4721),q_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(W_.Z,q_);W_.Z.locals;class $_ extends nh{constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid"),e&&this.children.addMany(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",n.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:n.if("isCollapsed","hidden"),"aria-labelledby":n.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}_createButtonView(){const t=new Nh(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:Vh}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}var Y_=n(6082),K_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Y_.Z,K_);Y_.Z.locals;class Q_ extends nh{constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:o}){super(t);const i=["ck","ck-list-properties"];this.children=this.createCollection(),this.stylesView=null,this.additionalPropertiesCollapsibleView=null,this.startIndexFieldView=null,this.reversedSwitchButtonView=null,this.focusTracker=new Ci,this.keystrokes=new vi,this.focusables=new Nu,this.focusCycler=new Qh({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),e.styles?(this.stylesView=this._createStylesView(n,o),this.children.add(this.stylesView)):i.push("ck-list-properties_without-styles"),(e.startIndex||e.reversed)&&(this._addNumberedListPropertyViews(e,n),i.push("ck-list-properties_with-numbered-properties")),this.setTemplate({tag:"div",attributes:{class:i},children:this.children})}render(){if(super.render(),this.stylesView){this.focusables.add(this.stylesView),this.focusTracker.add(this.stylesView.element),(this.startIndexFieldView||this.reversedSwitchButtonView)&&(this.focusables.add(this.children.last.buttonView),this.focusTracker.add(this.children.last.buttonView.element));for(const t of this.stylesView.children)this.stylesView.focusTracker.add(t.element);xh({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>Mo.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView),this.focusTracker.add(this.startIndexFieldView.element),this.listenTo(this.startIndexFieldView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"});const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}this.reversedSwitchButtonView&&(this.focusables.add(this.reversedSwitchButtonView),this.focusTracker.add(this.reversedSwitchButtonView.element)),this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createStylesView(t,e){const n=new nh(this.locale);return n.children=n.createCollection(this.locale),n.children.addMany(t),n.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:n.children}),n.children.delegate("execute").to(this),n.focus=function(){this.children.first.focus()},n.focusTracker=new Ci,n.keystrokes=new vi,n.render(),n.keystrokes.listenTo(n.element),n}_addNumberedListPropertyViews(t){const e=this.locale.t,n=[];t.startIndex&&(this.startIndexFieldView=this._createStartIndexField(),n.push(this.startIndexFieldView)),t.reversed&&(this.reversedSwitchButtonView=this._createReversedSwitchButton(),n.push(this.reversedSwitchButtonView)),t.styles?(this.additionalPropertiesCollapsibleView=new $_(this.locale,n),this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:!0}),this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(n,"isEnabled",((...t)=>t.some((t=>t)))),this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,n)=>{n||(this.additionalPropertiesCollapsibleView.isCollapsed=!0)})),this.children.add(this.additionalPropertiesCollapsibleView)):this.children.addMany(n)}_createStartIndexField(){const t=this.locale.t,e=new Rg(this.locale,Fg);return e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"}),e.fieldView.set({min:0,step:1,value:1,inputMode:"numeric"}),e.fieldView.on("input",(()=>{const n=e.fieldView.element,o=n.valueAsNumber;Number.isNaN(o)||(n.checkValidity()?this.fire("listStart",{startIndex:o}):e.errorText=t("Start index must be greater than 0."))})),e}_createReversedSwitchButton(){const t=this.locale.t,e=new Ph(this.locale);return e.set({withText:!0,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"}),e.delegate("execute").to(this,"listReversed"),e}}var Z_=n(2417),J_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(Z_.Z,J_);Z_.Z.locals;class X_ extends Ti{static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor,e=t.locale.t,n=t.config.get("list.properties");n.styles&&t.ui.componentFactory.add("bulletedList",tC({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:B_,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:''},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:''},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:''}]})),(n.styles||n.startIndex||n.reversed)&&t.ui.componentFactory.add("numberedList",tC({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:N_,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:''},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:''},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:''},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:''},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:''},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:''}]}))}}function tC({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:o,styleGridAriaLabel:i,styleDefinitions:r}){const s=t.commands.get(e);return a=>{const c=kg(a,Wh),l=c.buttonView;c.bind("isEnabled").to(s),c.class="ck-list-styles-dropdown",l.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),l.set({label:n,icon:o,tooltip:!0,isToggleable:!0}),l.bind("isOn").to(s,"value",(t=>!!t));const d=function({editor:t,dropdownView:e,parentCommandName:n,styleDefinitions:o,styleGridAriaLabel:i}){const r=t.locale,s=t.config.get("list.properties");let a;"numberedList"!=n&&(s.startIndex=!1,s.reversed=!1);if(s.styles){const e=t.commands.get("listStyle"),i=function({editor:t,listStyleCommand:e,parentCommandName:n}){const o=t.locale,i=t.commands.get(n);return({label:n,type:r,icon:s,tooltip:a})=>{const c=new Nh(o);return c.set({label:n,icon:s,tooltip:a}),e.on("change:value",(()=>{c.isOn=e.value===r})),c.on("execute",(()=>{i.value?e.value!==r?t.execute("listStyle",{type:r}):t.execute("listStyle",{type:e._defaultType}):t.model.change((()=>{t.execute("listStyle",{type:r})}))})),c}}({editor:t,parentCommandName:n,listStyleCommand:e}),r="function"==typeof e.isStyleTypeSupported?t=>e.isStyleTypeSupported(t.type):()=>!0;a=o.filter(r).map(i)}const c=new Q_(r,{styleGridAriaLabel:i,enabledProperties:s,styleButtonViews:a});s.styles&&Ag(e,(()=>c.stylesView.children.find((t=>t.isOn))));if(s.startIndex){const e=t.commands.get("listStart");c.startIndexFieldView.bind("isEnabled").to(e),c.startIndexFieldView.fieldView.bind("value").to(e),c.on("listStart",((e,n)=>t.execute("listStart",n)))}if(s.reversed){const e=t.commands.get("listReversed");c.reversedSwitchButtonView.bind("isEnabled").to(e),c.reversedSwitchButtonView.bind("isOn").to(e,"value"),c.on("listReversed",(()=>{const n=e.value;t.execute("listReversed",{reversed:!n})}))}return c.delegate("execute").to(e),c}({editor:t,dropdownView:c,parentCommandName:e,styleGridAriaLabel:i,styleDefinitions:r});return c.panelView.children.add(d),c.on("execute",(()=>{t.editing.view.focus()})),c}}function eC(t,e){return t=>{t.on("attribute:url:media",n)};function n(n,o,i){if(!i.consumable.consume(o.item,n.name))return;const r=o.attributeNewValue,s=i.writer,a=i.mapper.toViewElement(o.item),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 nC(t,e,n,o){return t.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(t,n,o),t.createSlot()])}function oC(t){const e=t.getSelectedElement();return e&&e.is("element","media")?e:null}function iC(t,e,n,o){t.change((i=>{const r=i.createElement("media",{url:e});t.insertObject(r,n,null,{setSelection:"on",findOptimalPosition:o})}))}class rC extends Mi{refresh(){const t=this.editor.model,e=t.document.selection,n=oC(e);this.value=n?n.getAttribute("url"):null,this.isEnabled=function(t){const e=t.getSelectedElement();return!!e&&"media"===e.name}(e)||function(t,e){const n=up(t,e);let o=n.start.parent;o.isEmpty&&!e.schema.isLimit(o)&&(o=o.parent);return e.schema.checkChild(o,"media")}(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,o=oC(n);o?e.change((e=>{e.setAttribute("url",t,o)})):iC(e,t,n,!0)}}class sC{constructor(t,e){const n=e.providers,o=e.extraProviders||[],i=new Set(e.removeProviders),r=n.concat(o).filter((t=>{const e=t.name;return e?!i.has(e):(b("media-embed-no-provider-name",{provider:t}),!1)}));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 aC(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,o=pi(e.url);for(const e of o){const o=this._getUrlMatches(t,e);if(o)return new aC(this.locale,t,o,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let o=t.replace(/^https?:\/\//,"");return n=o.match(e),n||(o=o.replace(/^www\./,""),n=o.match(e),n||null)}}class aC{constructor(t,e,n,o){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=o}getViewElement(t,e){const n={};let o;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const i=this._getPreviewHtml(e);o=t.createRawElement("div",n,((t,e)=>{e.setContentOf(t,i)}))}else this.url&&(n.url=this.url),o=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,o),o}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new Th,e=this._locale.t;t.content='',t.viewBox="0 0 64 42";return new Bu({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var cC=n(7442),lC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(cC.Z,lC);cC.Z.locals;class dC extends Ti{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:/^dailymotion\.com\/video\/(\w+)/,html:t=>`
          `},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>`
          `},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const e=t[1],n=t[2];return`
          `}},{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=>`
          `},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new sC(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,o=t.conversion,i=t.config.get("mediaEmbed.previewsInData"),r=t.config.get("mediaEmbed.elementName"),s=this.registry;t.commands.add("mediaEmbed",new rC(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),o.for("dataDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return nC(e,s,n,{elementName:r,renderMediaPreview:n&&i})}}),o.for("dataDowncast").add(eC(s,{elementName:r,renderMediaPreview:i})),o.for("editingDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const o=t.getAttribute("url");return function(t,e,n){return e.setCustomProperty("media",!0,t),sp(t,e,{label:n})}(nC(e,s,o,{elementName:r,renderForEditingView:!0}),e,n("media widget"))}}),o.for("editingDowncast").add(eC(s,{elementName:r,renderForEditingView:!0})),o.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:!0}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n))return e.createElement("media",{url:n})}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n))return e.createElement("media",{url:n})}}).add((t=>{t.on("element:figure",(function(t,e,n){if(!n.consumable.consume(e.viewItem,{name:!0,classes:"media"}))return;const{modelRange:o,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=o,e.modelCursor=i;_i(o.getItems())||n.consumable.revert(e.viewItem,{name:!0,classes:"media"})}))}))}}const uC=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class hC extends Ti{static get requires(){return[Yp,Cm,uf]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document;this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const t=e.selection.getFirstRange(),n=md.fromPosition(t.start);n.stickiness="toPrevious";const o=md.fromPosition(t.end);o.stickiness="toNext",e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,o),n.detach(),o.detach()}),{priority:"high"})})),t.commands.get("undo").on("execute",(()=>{this._timeoutId&&(Mo.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,o=n.plugins.get(dC).registry,i=new Bc(t,e),r=i.getWalker({ignoreElementEnd:!0});let s="";for(const t of r)t.item.is("$textProxy")&&(s+=t.item.data);if(s=s.trim(),!s.match(uC))return void i.detach();if(!o.hasMedia(s))return void i.detach();n.commands.get("mediaEmbed").isEnabled?(this._positionToInsert=md.fromPosition(t),this._timeoutId=Mo.window.setTimeout((()=>{n.model.change((t=>{let e;this._timeoutId=null,t.remove(i),i.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(e=this._positionToInsert),iC(n.model,s,e,!1),this._positionToInsert.detach(),this._positionToInsert=null})),n.plugins.get("Delete").requestUndoOnBackspace()}),100)):i.detach()}}var gC=n(9292),mC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(gC.Z,mC);gC.Z.locals;class pC extends nh{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Ci,this.keystrokes=new vi,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Ah.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t)),this.cancelButtonView=this._createButton(n("Cancel"),Ah.cancel,"ck-button-cancel","cancel"),this._focusables=new Nu,this._focusCycler=new Qh({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","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]}),vh(this)}render(){super.render(),yh({view:this});[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(this.urlInputView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}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)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new Rg(this.locale,jg),n=e.fieldView;return 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.on("input",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()})),e}_createButton(t,e,n,o){const i=new Nh(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.extendTemplate({attributes:{class:n}}),o&&i.delegate("execute").to(this,o),i}}class fC extends Ti{static get requires(){return[dC]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed"),n=t.plugins.get(dC).registry;t.ui.componentFactory.add("mediaEmbed",(o=>{const i=kg(o),r=new pC(function(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.")}]}(t.t,n),t.locale);return this._setUpDropdown(i,r,e,t),this._setUpForm(i,r,e),i}))}_setUpDropdown(t,e,n){const o=this.editor,i=o.t,r=t.buttonView;t.bind("isEnabled").to(n),t.panelView.children.add(e),r.set({label:i("Insert media"),icon:'',tooltip:!0}),r.on("open",(()=>{e.disableCssTransitions(),e.url=n.value||"",e.urlInputView.fieldView.select(),e.enableCssTransitions()}),{priority:"low"}),t.on("submit",(()=>{e.isValid()&&(o.execute("mediaEmbed",e.url),o.editing.view.focus())})),t.on("change:isOpen",(()=>e.resetFormStatus())),t.on("cancel",(()=>{o.editing.view.focus()}))}_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))}}var kC=n(4652),bC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ri()(kC.Z,bC);kC.Z.locals;function wC(t,e,n,{blockElements:o,inlineObjectElements:i}){let r=n.createPositionAt(t,"forward"==e?"after":"before");return r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!o.includes(t.name)&&!i.includes(t.name)),{direction:e}),"forward"==e?r.nodeAfter:r.nodeBefore}function AC(t,e){return!!t&&t.is("element")&&e.includes(t.name)}function _C(t,e){if(!t.childCount)return;const n=new iu(t.document),o=function(t,e){const n=e.createRangeIn(t),o=new Ji({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),i=[];for(const t of n)if("elementStart"===t.type&&o.match(t.item)){const e=yC(t.item);i.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}return i}(t,n);if(!o.length)return;let i=null,r=1;o.forEach(((t,s)=>{const a=function(t,e){if(!t)return!0;if(t.id!==e.id)return e.indent-t.indent!=1;const n=e.element.previousSibling;if(!n)return!0;return o=n,!(o.is("element","ol")||o.is("element","ul"));var o}(o[s-1],t),c=a?null:o[s-1],l=(u=t,(d=c)?u.indent-d.indent:u.indent-1);var d,u;if(a&&(i=null,r=1),!i||0!==l){const o=function(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi"),o=/mso-level-number-format:([^;]{0,100});/gi,i=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,r=n.exec(e);let s="decimal",a="ol",c=null;if(r&&r[1]){const e=o.exec(r[1]);if(e&&e[1]&&(s=e[1].trim(),a="bullet"!==s&&"image"!==s?"ol":"ul"),"bullet"===s){const e=function(t){const e=function(t){if(t.getChild(0).is("$text"))return null;for(const e of t.getChildren()){if(!e.is("element","span"))continue;const t=e.getChild(0);return t.is("$text")?t:t.getChild(0)}}(t);if(!e)return null;const n=e._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(t.element);e&&(s=e)}else{const t=i.exec(r[1]);t&&t[1]&&(c=parseInt(t[1]))}}return{type:a,startIndex:c,style:CC(s)}}(t,e);if(i){if(t.indent>r){const t=i.getChild(i.childCount-1),e=t.getChild(t.childCount-1);i=vC(o,e,n),r+=1}else if(t.indent1&&n.setAttribute("start",t.startIndex,i),i}function yC(t){const e={},n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s{1,100})l(\d+)/i),o=n.match(/\s{0,100}lfo(\d+)/i),i=n.match(/\s{0,100}level(\d+)/i);t&&o&&i&&(e.id=t[2],e.order=o[1],e.indent=i[1])}return e}const xC=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class EC{constructor(t){this.document=t}isActive(t){return xC.test(t)}execute(t){const e=new iu(this.document),{body:n}=t._parsedData;!function(t,e){for(const n of t.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const o=t.getChildIndex(n);e.remove(n),e.insertChild(o,n.getChildren(),t)}}(n,e),function(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","li")){const n=t.getChild(0);n&&n.is("element","p")&&e.unwrapElement(n)}}}(n,e),function(t,e){const n=new ks(e.document.stylesProcessor),o=new aa(n,{renderingMode:"data"}),i=o.blockElements,r=o.inlineObjectElements,s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=wC(t,"forward",e,{blockElements:i,inlineObjectElements:r}),o=wC(t,"backward",e,{blockElements:i,inlineObjectElements:r}),a=AC(n,i);(AC(o,i)||a)&&s.push(t)}}for(const t of s)t.hasClass("Apple-interchange-newline")?e.remove(t):e.replace(t,e.createElement("p"))}(n,e),t.content=n}}function DC(t,e){if(!t.childCount)return;const n=new iu,o=function(t,e){const n=e.createRangeIn(t),o=new Ji({name:/v:(.+)/}),i=[];for(const t of n){if("elementStart"!=t.type)continue;const e=t.item,n=e.previousSibling&&e.previousSibling.name||null;o.match(e)&&e.getAttribute("o:gfxdata")&&"v:shapetype"!==n&&i.push(t.item.getAttribute("id"))}return i}(t,n);!function(t,e,n){const o=n.createRangeIn(e),i=new Ji({name:"img"}),r=[];for(const e of o)if(i.match(e.item)){const n=e.item,o=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];o.length&&o.every((e=>t.indexOf(e)>-1))?r.push(n):n.getAttribute("src")||r.push(n)}for(const t of r)n.remove(t)}(o,t,n),function(t,e){const n=e.createRangeIn(t),o=new Ji({name:/v:(.+)/}),i=[];for(const t of n)"elementStart"==t.type&&o.match(t.item)&&i.push(t.item);for(const t of i)e.remove(t)}(t,n);const i=function(t,e){const n=e.createRangeIn(t),o=new Ji({name:"img"}),i=[];for(const t of n)o.match(t.item)&&t.item.getAttribute("src").startsWith("file://")&&i.push(t.item);return i}(t,n);i.length&&function(t,e,n){if(t.length===e.length)for(let o=0;oString.fromCharCode(parseInt(t,16)))).join(""))}const TC=//i,SC=/xmlns:o="urn:schemas-microsoft-com/i;class MC{constructor(t){this.document=t}isActive(t){return TC.test(t)||SC.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;_C(e,n),DC(e,t.dataTransfer.getData("text/rtf")),t.content=e}}function NC(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1===e.length?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function BC(t,e){const n=new DOMParser,o=function(t){return NC(NC(t)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(t){const e="",n="",o=t.indexOf(e);if(o<0)return t;const i=t.indexOf(n,o+e.length);return t.substring(0,o+e.length)+(i>=0?t.substring(i):"")}(t=t.replace(/

          abc

          \n\t\t\t//\n\t\t\tif ( isAttribute && this._wrapAttributeElement( wrapElement, child ) ) {\n\t\t\t\twrapPositions.push( new Position( parent, i ) );\n\t\t\t}\n\t\t\t//\n\t\t\t// Wrap the child if it is not an attribute element or if it is an attribute element that should be inside\n\t\t\t// `wrapElement` (due to priority).\n\t\t\t//\n\t\t\t//

          abc

          -->

          abc

          \n\t\t\t//

          abc

          -->

          abc

          \n\t\t\telse if ( isText || !isAttribute || shouldABeOutsideB( wrapElement, child ) ) {\n\t\t\t\t// Clone attribute.\n\t\t\t\tconst newAttribute = wrapElement._clone();\n\n\t\t\t\t// Wrap current node with new attribute.\n\t\t\t\tchild._remove();\n\t\t\t\tnewAttribute._appendChild( child );\n\n\t\t\t\tparent._insertChild( i, newAttribute );\n\t\t\t\tthis._addToClonedElementsGroup( newAttribute );\n\n\t\t\t\twrapPositions.push( new Position( parent, i ) );\n\t\t\t}\n\t\t\t//\n\t\t\t// If other nested attribute is found and it wasn't wrapped (see above), continue wrapping inside it.\n\t\t\t//\n\t\t\t//

          abc

          -->

          abc

          \n\t\t\t//\n\t\t\telse /* if ( isAttribute ) */ {\n\t\t\t\tthis._wrapChildren( child, 0, child.childCount, wrapElement );\n\t\t\t}\n\n\t\t\ti++;\n\t\t}\n\n\t\t// Merge at each wrap.\n\t\tlet offsetChange = 0;\n\n\t\tfor ( const position of wrapPositions ) {\n\t\t\tposition.offset -= offsetChange;\n\n\t\t\t// Do not merge with elements outside selected children.\n\t\t\tif ( position.offset == startOffset ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst newPosition = this.mergeAttributes( position );\n\n\t\t\t// If nodes were merged - other merge offsets will change.\n\t\t\tif ( !newPosition.isEqual( position ) ) {\n\t\t\t\toffsetChange++;\n\t\t\t\tendOffset--;\n\t\t\t}\n\t\t}\n\n\t\treturn Range._createFromParentsAndOffsets( parent, startOffset, parent, endOffset );\n\t}\n\n\t/**\n\t * Unwraps children from provided `unwrapElement`. Only children contained in `parent` element between\n\t * `startOffset` and `endOffset` will be unwrapped.\n\t *\n\t * @private\n\t * @param {module:engine/view/element~Element} parent\n\t * @param {Number} startOffset\n\t * @param {Number} endOffset\n\t * @param {module:engine/view/element~Element} unwrapElement\n\t */\n\tprivate _unwrapChildren( parent: Element, startOffset: number, endOffset: number, unwrapElement: AttributeElement ) {\n\t\tlet i = startOffset;\n\t\tconst unwrapPositions: Array = [];\n\n\t\t// Iterate over each element between provided offsets inside parent.\n\t\t// We don't use tree walker or range iterator because we will be removing and merging potentially multiple nodes,\n\t\t// so it could get messy. It is safer to it manually in this case.\n\t\twhile ( i < endOffset ) {\n\t\t\tconst child = parent.getChild( i )!;\n\n\t\t\t// Skip all text nodes. There should be no container element's here either.\n\t\t\tif ( !child.is( 'attributeElement' ) ) {\n\t\t\t\ti++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t//\n\t\t\t// (In all examples, assume that `unwrapElement` is `` element.)\n\t\t\t//\n\t\t\t// If the child is similar to the given attribute element, unwrap it - it will be completely removed.\n\t\t\t//\n\t\t\t//

          abcxyz

          -->

          abcxyz

          \n\t\t\t//\n\t\t\tif ( child.isSimilar( unwrapElement ) ) {\n\t\t\t\tconst unwrapped = child.getChildren();\n\t\t\t\tconst count = child.childCount;\n\n\t\t\t\t// Replace wrapper element with its children\n\t\t\t\tchild._remove();\n\t\t\t\tparent._insertChild( i, unwrapped );\n\n\t\t\t\tthis._removeFromClonedElementsGroup( child );\n\n\t\t\t\t// Save start and end position of moved items.\n\t\t\t\tunwrapPositions.push(\n\t\t\t\t\tnew Position( parent, i ),\n\t\t\t\t\tnew Position( parent, i + count )\n\t\t\t\t);\n\n\t\t\t\t// Skip elements that were unwrapped. Assuming there won't be another element to unwrap in child elements.\n\t\t\t\ti += count;\n\t\t\t\tendOffset += count - 1;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t//\n\t\t\t// If the child is not similar but is an attribute element, try partial unwrapping - remove the same attributes/styles/classes.\n\t\t\t// Partial unwrapping will happen only if the elements have the same name.\n\t\t\t//\n\t\t\t//

          abcxyz

          -->

          abcxyz

          \n\t\t\t//

          abcxyz

          -->

          abcxyz

          \n\t\t\t//\n\t\t\tif ( this._unwrapAttributeElement( unwrapElement, child ) ) {\n\t\t\t\tunwrapPositions.push(\n\t\t\t\t\tnew Position( parent, i ),\n\t\t\t\t\tnew Position( parent, i + 1 )\n\t\t\t\t);\n\n\t\t\t\ti++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t//\n\t\t\t// If other nested attribute is found, look through it's children for elements to unwrap.\n\t\t\t//\n\t\t\t//

          abc

          -->

          abc

          \n\t\t\t//\n\t\t\tthis._unwrapChildren( child, 0, child.childCount, unwrapElement );\n\n\t\t\ti++;\n\t\t}\n\n\t\t// Merge at each unwrap.\n\t\tlet offsetChange = 0;\n\n\t\tfor ( const position of unwrapPositions ) {\n\t\t\tposition.offset -= offsetChange;\n\n\t\t\t// Do not merge with elements outside selected children.\n\t\t\tif ( position.offset == startOffset || position.offset == endOffset ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst newPosition = this.mergeAttributes( position );\n\n\t\t\t// If nodes were merged - other merge offsets will change.\n\t\t\tif ( !newPosition.isEqual( position ) ) {\n\t\t\t\toffsetChange++;\n\t\t\t\tendOffset--;\n\t\t\t}\n\t\t}\n\n\t\treturn Range._createFromParentsAndOffsets( parent, startOffset, parent, endOffset );\n\t}\n\n\t/**\n\t * Helper function for `view.writer.wrap`. Wraps range with provided attribute element.\n\t * This method will also merge newly added attribute element with its siblings whenever possible.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError} `view-writer-wrap-invalid-attribute` when passed attribute element is not\n\t * an instance of {@link module:engine/view/attributeelement~AttributeElement AttributeElement}.\n\t *\n\t * @private\n\t * @param {module:engine/view/range~Range} range\n\t * @param {module:engine/view/attributeelement~AttributeElement} attribute\n\t * @returns {module:engine/view/range~Range} New range after wrapping, spanning over wrapping attribute element.\n\t */\n\tprivate _wrapRange( range: Range, attribute: AttributeElement ): Range {\n\t\t// Break attributes at range start and end.\n\t\tconst { start: breakStart, end: breakEnd } = this._breakAttributesRange( range, true );\n\t\tconst parentContainer = breakStart.parent as Element;\n\n\t\t// Wrap all children with attribute.\n\t\tconst newRange = this._wrapChildren( parentContainer, breakStart.offset, breakEnd.offset, attribute );\n\n\t\t// Merge attributes at the both ends and return a new range.\n\t\tconst start = this.mergeAttributes( newRange.start );\n\n\t\t// If start position was merged - move end position back.\n\t\tif ( !start.isEqual( newRange.start ) ) {\n\t\t\tnewRange.end.offset--;\n\t\t}\n\t\tconst end = this.mergeAttributes( newRange.end );\n\n\t\treturn new Range( start, end );\n\t}\n\n\t/**\n\t * Helper function for {@link #wrap}. Wraps position with provided attribute element.\n\t * This method will also merge newly added attribute element with its siblings whenever possible.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError} `view-writer-wrap-invalid-attribute` when passed attribute element is not\n\t * an instance of {@link module:engine/view/attributeelement~AttributeElement AttributeElement}.\n\t *\n\t * @private\n\t * @param {module:engine/view/position~Position} position\n\t * @param {module:engine/view/attributeelement~AttributeElement} attribute\n\t * @returns {module:engine/view/position~Position} New position after wrapping.\n\t */\n\tprivate _wrapPosition( position: Position, attribute: AttributeElement ): Position {\n\t\t// Return same position when trying to wrap with attribute similar to position parent.\n\t\tif ( attribute.isSimilar( position.parent as any ) ) {\n\t\t\treturn movePositionToTextNode( position.clone() );\n\t\t}\n\n\t\t// When position is inside text node - break it and place new position between two text nodes.\n\t\tif ( position.parent.is( '$text' ) ) {\n\t\t\tposition = breakTextNode( position );\n\t\t}\n\n\t\t// Create fake element that will represent position, and will not be merged with other attributes.\n\t\tconst fakeElement = this.createAttributeElement( '_wrapPosition-fake-element' );\n\t\t( fakeElement as any )._priority = Number.POSITIVE_INFINITY;\n\t\tfakeElement.isSimilar = () => false;\n\n\t\t// Insert fake element in position location.\n\t\t( position.parent as Element )._insertChild( position.offset, fakeElement );\n\n\t\t// Range around inserted fake attribute element.\n\t\tconst wrapRange = new Range( position, position.getShiftedBy( 1 ) );\n\n\t\t// Wrap fake element with attribute (it will also merge if possible).\n\t\tthis.wrap( wrapRange, attribute );\n\n\t\t// Remove fake element and place new position there.\n\t\tconst newPosition = new Position( fakeElement.parent!, fakeElement.index! );\n\t\tfakeElement._remove();\n\n\t\t// If position is placed between text nodes - merge them and return position inside.\n\t\tconst nodeBefore = newPosition.nodeBefore;\n\t\tconst nodeAfter = newPosition.nodeAfter;\n\n\t\tif ( nodeBefore instanceof Text && nodeAfter instanceof Text ) {\n\t\t\treturn mergeTextNodes( nodeBefore, nodeAfter );\n\t\t}\n\n\t\t// If position is next to text node - move position inside.\n\t\treturn movePositionToTextNode( newPosition );\n\t}\n\n\t/**\n\t * \tWraps one {@link module:engine/view/attributeelement~AttributeElement AttributeElement} into another by\n\t * \tmerging them if possible. When merging is possible - all attributes, styles and classes are moved from wrapper\n\t * \telement to element being wrapped.\n\t *\n\t * \t@private\n\t * \t@param {module:engine/view/attributeelement~AttributeElement} wrapper Wrapper AttributeElement.\n\t * \t@param {module:engine/view/attributeelement~AttributeElement} toWrap AttributeElement to wrap using wrapper element.\n\t * \t@returns {Boolean} Returns `true` if elements are merged.\n\t */\n\tprivate _wrapAttributeElement( wrapper: AttributeElement, toWrap: AttributeElement ): boolean {\n\t\tif ( !canBeJoined( wrapper, toWrap ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Can't merge if name or priority differs.\n\t\tif ( wrapper.name !== toWrap.name || wrapper.priority !== toWrap.priority ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if attributes can be merged.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If some attributes are different we cannot wrap.\n\t\t\tif ( toWrap.hasAttribute( key ) && toWrap.getAttribute( key ) !== wrapper.getAttribute( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Check if styles can be merged.\n\t\tfor ( const key of wrapper.getStyleNames() ) {\n\t\t\tif ( toWrap.hasStyle( key ) && toWrap.getStyle( key ) !== wrapper.getStyle( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Move all attributes/classes/styles from wrapper to wrapped AttributeElement.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Move only these attributes that are not present - other are similar.\n\t\t\tif ( !toWrap.hasAttribute( key ) ) {\n\t\t\t\tthis.setAttribute( key, wrapper.getAttribute( key )!, toWrap );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const key of wrapper.getStyleNames() ) {\n\t\t\tif ( !toWrap.hasStyle( key ) ) {\n\t\t\t\tthis.setStyle( key, wrapper.getStyle( key )!, toWrap );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const key of wrapper.getClassNames() ) {\n\t\t\tif ( !toWrap.hasClass( key ) ) {\n\t\t\t\tthis.addClass( key, toWrap );\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Unwraps {@link module:engine/view/attributeelement~AttributeElement AttributeElement} from another by removing\n\t * corresponding attributes, classes and styles. All attributes, classes and styles from wrapper should be present\n\t * inside element being unwrapped.\n\t *\n\t * @private\n\t * @param {module:engine/view/attributeelement~AttributeElement} wrapper Wrapper AttributeElement.\n\t * @param {module:engine/view/attributeelement~AttributeElement} toUnwrap AttributeElement to unwrap using wrapper element.\n\t * @returns {Boolean} Returns `true` if elements are unwrapped.\n\t **/\n\tprivate _unwrapAttributeElement( wrapper: AttributeElement, toUnwrap: AttributeElement ): boolean {\n\t\tif ( !canBeJoined( wrapper, toUnwrap ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Can't unwrap if name or priority differs.\n\t\tif ( wrapper.name !== toUnwrap.name || wrapper.priority !== toUnwrap.priority ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if AttributeElement has all wrapper attributes.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If some attributes are missing or different we cannot unwrap.\n\t\t\tif ( !toUnwrap.hasAttribute( key ) || toUnwrap.getAttribute( key ) !== wrapper.getAttribute( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Check if AttributeElement has all wrapper classes.\n\t\tif ( !toUnwrap.hasClass( ...wrapper.getClassNames() ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if AttributeElement has all wrapper styles.\n\t\tfor ( const key of wrapper.getStyleNames() ) {\n\t\t\t// If some styles are missing or different we cannot unwrap.\n\t\t\tif ( !toUnwrap.hasStyle( key ) || toUnwrap.getStyle( key ) !== wrapper.getStyle( key ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Remove all wrapper's attributes from unwrapped element.\n\t\tfor ( const key of wrapper.getAttributeKeys() ) {\n\t\t\t// Classes and styles should be checked separately.\n\t\t\tif ( key === 'class' || key === 'style' ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.removeAttribute( key, toUnwrap );\n\t\t}\n\n\t\t// Remove all wrapper's classes from unwrapped element.\n\t\tthis.removeClass( Array.from( wrapper.getClassNames() ), toUnwrap );\n\n\t\t// Remove all wrapper's styles from unwrapped element.\n\t\tthis.removeStyle( Array.from( wrapper.getStyleNames() ), toUnwrap );\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Helper function used by other `DowncastWriter` methods. Breaks attribute elements at the boundaries of given range.\n\t *\n\t * @private\n\t * @param {module:engine/view/range~Range} range Range which `start` and `end` positions will be used to break attributes.\n\t * @param {Boolean} [forceSplitText=false] If set to `true`, will break text nodes even if they are directly in container element.\n\t * This behavior will result in incorrect view state, but is needed by other view writing methods which then fixes view state.\n\t * @returns {module:engine/view/range~Range} New range with located at break positions.\n\t */\n\tprivate _breakAttributesRange( range: Range, forceSplitText: boolean = false ) {\n\t\tconst rangeStart = range.start;\n\t\tconst rangeEnd = range.end;\n\n\t\tvalidateRangeContainer( range, this.document );\n\n\t\t// Break at the collapsed position. Return new collapsed range.\n\t\tif ( range.isCollapsed ) {\n\t\t\tconst position = this._breakAttributes( range.start, forceSplitText );\n\n\t\t\treturn new Range( position, position );\n\t\t}\n\n\t\tconst breakEnd = this._breakAttributes( rangeEnd, forceSplitText );\n\t\tconst count = ( breakEnd.parent as Element ).childCount;\n\t\tconst breakStart = this._breakAttributes( rangeStart, forceSplitText );\n\n\t\t// Calculate new break end offset.\n\t\tbreakEnd.offset += ( breakEnd.parent as Element ).childCount - count;\n\n\t\treturn new Range( breakStart, breakEnd );\n\t}\n\n\t/**\n\t * Helper function used by other `DowncastWriter` methods. Breaks attribute elements at given position.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-empty-element` when break position\n\t * is placed inside {@link module:engine/view/emptyelement~EmptyElement EmptyElement}.\n\t *\n\t * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-ui-element` when break position\n\t * is placed inside {@link module:engine/view/uielement~UIElement UIElement}.\n\t *\n\t * @private\n\t * @param {module:engine/view/position~Position} position Position where to break attributes.\n\t * @param {Boolean} [forceSplitText=false] If set to `true`, will break text nodes even if they are directly in container element.\n\t * This behavior will result in incorrect view state, but is needed by other view writing methods which then fixes view state.\n\t * @returns {module:engine/view/position~Position} New position after breaking the attributes.\n\t */\n\tprivate _breakAttributes( position: Position, forceSplitText: boolean = false ): Position {\n\t\tconst positionOffset = position.offset;\n\t\tconst positionParent = position.parent;\n\n\t\t// If position is placed inside EmptyElement - throw an exception as we cannot break inside.\n\t\tif ( position.parent.is( 'emptyElement' ) ) {\n\t\t\t/**\n\t\t\t * Cannot break an `EmptyElement` instance.\n\t\t\t *\n\t\t\t * This error is thrown if\n\t\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n\t\t\t * was executed in an incorrect position.\n\t\t\t *\n\t\t\t * @error view-writer-cannot-break-empty-element\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-cannot-break-empty-element', this.document );\n\t\t}\n\n\t\t// If position is placed inside UIElement - throw an exception as we cannot break inside.\n\t\tif ( position.parent.is( 'uiElement' ) ) {\n\t\t\t/**\n\t\t\t * Cannot break a `UIElement` instance.\n\t\t\t *\n\t\t\t * This error is thrown if\n\t\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n\t\t\t * was executed in an incorrect position.\n\t\t\t *\n\t\t\t * @error view-writer-cannot-break-ui-element\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-cannot-break-ui-element', this.document );\n\t\t}\n\n\t\t// If position is placed inside RawElement - throw an exception as we cannot break inside.\n\t\tif ( position.parent.is( 'rawElement' ) ) {\n\t\t\t/**\n\t\t\t * Cannot break a `RawElement` instance.\n\t\t\t *\n\t\t\t * This error is thrown if\n\t\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n\t\t\t * was executed in an incorrect position.\n\t\t\t *\n\t\t\t * @error view-writer-cannot-break-raw-element\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-cannot-break-raw-element', this.document );\n\t\t}\n\n\t\t// There are no attributes to break and text nodes breaking is not forced.\n\t\tif ( !forceSplitText && positionParent.is( '$text' ) && isContainerOrFragment( positionParent.parent! ) ) {\n\t\t\treturn position.clone();\n\t\t}\n\n\t\t// Position's parent is container, so no attributes to break.\n\t\tif ( isContainerOrFragment( positionParent ) ) {\n\t\t\treturn position.clone();\n\t\t}\n\n\t\t// Break text and start again in new position.\n\t\tif ( positionParent.is( '$text' ) ) {\n\t\t\treturn this._breakAttributes( breakTextNode( position ), forceSplitText );\n\t\t}\n\n\t\tconst length = ( positionParent as any ).childCount;\n\n\t\t//

          foobar{}

          \n\t\t//

          foobar[]

          \n\t\t//

          foobar[]

          \n\t\tif ( positionOffset == length ) {\n\t\t\tconst newPosition = new Position( positionParent.parent as any, ( positionParent as any ).index + 1 );\n\n\t\t\treturn this._breakAttributes( newPosition, forceSplitText );\n\t\t} else {\n\t\t\t//

          foo{}bar

          \n\t\t\t//

          foo[]bar

          \n\t\t\t//

          foo{}bar

          \n\t\t\tif ( positionOffset === 0 ) {\n\t\t\t\tconst newPosition = new Position( positionParent.parent as Element, ( positionParent as any ).index );\n\n\t\t\t\treturn this._breakAttributes( newPosition, forceSplitText );\n\t\t\t}\n\t\t\t//

          foob{}ar

          \n\t\t\t//

          foob[]ar

          \n\t\t\t//

          foob[]ar

          \n\t\t\t//

          foob[]ar

          \n\t\t\telse {\n\t\t\t\tconst offsetAfter = ( positionParent as any ).index + 1;\n\n\t\t\t\t// Break element.\n\t\t\t\tconst clonedNode = ( positionParent as any )._clone();\n\n\t\t\t\t// Insert cloned node to position's parent node.\n\t\t\t\t( positionParent.parent as any )._insertChild( offsetAfter, clonedNode );\n\t\t\t\tthis._addToClonedElementsGroup( clonedNode );\n\n\t\t\t\t// Get nodes to move.\n\t\t\t\tconst count = ( positionParent as any ).childCount - positionOffset;\n\t\t\t\tconst nodesToMove = ( positionParent as any )._removeChildren( positionOffset, count );\n\n\t\t\t\t// Move nodes to cloned node.\n\t\t\t\tclonedNode._appendChild( nodesToMove );\n\n\t\t\t\t// Create new position to work on.\n\t\t\t\tconst newPosition = new Position( ( positionParent as any ).parent, offsetAfter );\n\n\t\t\t\treturn this._breakAttributes( newPosition, forceSplitText );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Stores the information that an {@link module:engine/view/attributeelement~AttributeElement attribute element} was\n\t * added to the tree. Saves the reference to the group in the given element and updates the group, so other elements\n\t * from the group now keep a reference to the given attribute element.\n\t *\n\t * The clones group can be obtained using {@link module:engine/view/attributeelement~AttributeElement#getElementsWithSameId}.\n\t *\n\t * Does nothing if added element has no {@link module:engine/view/attributeelement~AttributeElement#id id}.\n\t *\n\t * @private\n\t * @param {module:engine/view/attributeelement~AttributeElement} element Attribute element to save.\n\t */\n\tprivate _addToClonedElementsGroup( element: Node ): void {\n\t\t// Add only if the element is in document tree.\n\t\tif ( !element.root.is( 'rootElement' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Traverse the element's children recursively to find other attribute elements that also might got inserted.\n\t\t// The loop is at the beginning so we can make fast returns later in the code.\n\t\tif ( element.is( 'element' ) ) {\n\t\t\tfor ( const child of element.getChildren() ) {\n\t\t\t\tthis._addToClonedElementsGroup( child );\n\t\t\t}\n\t\t}\n\n\t\tconst id = ( element as any ).id;\n\n\t\tif ( !id ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet group = this._cloneGroups.get( id );\n\n\t\tif ( !group ) {\n\t\t\tgroup = new Set();\n\t\t\tthis._cloneGroups.set( id, group );\n\t\t}\n\n\t\tgroup.add( element as AttributeElement );\n\t\t( element as any )._clonesGroup = group;\n\t}\n\n\t/**\n\t * Removes all the information about the given {@link module:engine/view/attributeelement~AttributeElement attribute element}\n\t * from its clones group.\n\t *\n\t * Keep in mind, that the element will still keep a reference to the group (but the group will not keep a reference to it).\n\t * This allows to reference the whole group even if the element was already removed from the tree.\n\t *\n\t * Does nothing if the element has no {@link module:engine/view/attributeelement~AttributeElement#id id}.\n\t *\n\t * @private\n\t * @param {module:engine/view/attributeelement~AttributeElement} element Attribute element to remove.\n\t */\n\tprivate _removeFromClonedElementsGroup( element: Node ) {\n\t\t// Traverse the element's children recursively to find other attribute elements that also got removed.\n\t\t// The loop is at the beginning so we can make fast returns later in the code.\n\t\tif ( element.is( 'element' ) ) {\n\t\t\tfor ( const child of element.getChildren() ) {\n\t\t\t\tthis._removeFromClonedElementsGroup( child );\n\t\t\t}\n\t\t}\n\n\t\tconst id = ( element as any ).id;\n\n\t\tif ( !id ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst group = this._cloneGroups.get( id );\n\n\t\tif ( !group ) {\n\t\t\treturn;\n\t\t}\n\n\t\tgroup.delete( element as AttributeElement );\n\t\t// Not removing group from element on purpose!\n\t\t// If other parts of code have reference to this element, they will be able to get references to other elements from the group.\n\t}\n}\n\n// Helper function for `view.writer.wrap`. Checks if given element has any children that are not ui elements.\nfunction _hasNonUiChildren( parent: Element ): boolean {\n\treturn Array.from( parent.getChildren() ).some( child => !child.is( 'uiElement' ) );\n}\n\n/**\n * The `attribute` passed to {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#wrap()`}\n * must be an instance of {@link module:engine/view/attributeelement~AttributeElement `AttributeElement`}.\n *\n * @error view-writer-wrap-invalid-attribute\n */\n\n// Returns first parent container of specified {@link module:engine/view/position~Position Position}.\n// Position's parent node is checked as first, then next parents are checked.\n// Note that {@link module:engine/view/documentfragment~DocumentFragment DocumentFragment} is treated like a container.\n//\n// @param {module:engine/view/position~Position} position Position used as a start point to locate parent container.\n// @returns {module:engine/view/containerelement~ContainerElement|module:engine/view/documentfragment~DocumentFragment|undefined}\n// Parent container element or `undefined` if container is not found.\nfunction getParentContainer( position: Position ): ContainerElement | DocumentFragment | undefined {\n\tlet parent = position.parent;\n\n\twhile ( !isContainerOrFragment( parent ) ) {\n\t\tif ( !parent ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tparent = parent.parent as any;\n\t}\n\n\treturn ( parent as ContainerElement | DocumentFragment );\n}\n\n// Checks if first {@link module:engine/view/attributeelement~AttributeElement AttributeElement} provided to the function\n// can be wrapped outside second element. It is done by comparing elements'\n// {@link module:engine/view/attributeelement~AttributeElement#priority priorities}, if both have same priority\n// {@link module:engine/view/element~Element#getIdentity identities} are compared.\n//\n// @param {module:engine/view/attributeelement~AttributeElement} a\n// @param {module:engine/view/attributeelement~AttributeElement} b\n// @returns {Boolean}\nfunction shouldABeOutsideB( a: AttributeElement, b: AttributeElement ): boolean {\n\tif ( a.priority < b.priority ) {\n\t\treturn true;\n\t} else if ( a.priority > b.priority ) {\n\t\treturn false;\n\t}\n\n\t// When priorities are equal and names are different - use identities.\n\treturn a.getIdentity() < b.getIdentity();\n}\n\n// Returns new position that is moved to near text node. Returns same position if there is no text node before of after\n// specified position.\n//\n//\t\t

          foo[]

          ->

          foo{}

          \n//\t\t

          []foo

          ->

          {}foo

          \n//\n// @param {module:engine/view/position~Position} position\n// @returns {module:engine/view/position~Position} Position located inside text node or same position if there is no text nodes\n// before or after position location.\nfunction movePositionToTextNode( position: Position ): Position {\n\tconst nodeBefore = position.nodeBefore;\n\n\tif ( nodeBefore && nodeBefore.is( '$text' ) ) {\n\t\treturn new Position( nodeBefore, nodeBefore.data.length );\n\t}\n\n\tconst nodeAfter = position.nodeAfter;\n\n\tif ( nodeAfter && nodeAfter.is( '$text' ) ) {\n\t\treturn new Position( nodeAfter, 0 );\n\t}\n\n\treturn position;\n}\n\n// Breaks text node into two text nodes when possible.\n//\n//\t\t

          foo{}bar

          ->

          foo[]bar

          \n//\t\t

          {}foobar

          ->

          []foobar

          \n//\t\t

          foobar{}

          ->

          foobar[]

          \n//\n// @param {module:engine/view/position~Position} position Position that need to be placed inside text node.\n// @returns {module:engine/view/position~Position} New position after breaking text node.\nfunction breakTextNode( position: Position ): Position {\n\tif ( position.offset == ( position.parent as Text ).data.length ) {\n\t\treturn new Position( position.parent.parent as any, ( position.parent as Text ).index! + 1 );\n\t}\n\n\tif ( position.offset === 0 ) {\n\t\treturn new Position( position.parent.parent as any, ( position.parent as Text ).index! );\n\t}\n\n\t// Get part of the text that need to be moved.\n\tconst textToMove = ( position.parent as Text ).data.slice( position.offset );\n\n\t// Leave rest of the text in position's parent.\n\t( position.parent as Text )._data = ( position.parent as Text ).data.slice( 0, position.offset );\n\n\t// Insert new text node after position's parent text node.\n\t( position.parent.parent as any )._insertChild(\n\t\t( position.parent as Text ).index! + 1,\n\t\tnew Text( position.root.document, textToMove )\n\t);\n\n\t// Return new position between two newly created text nodes.\n\treturn new Position( position.parent.parent as any, ( position.parent as Text ).index! + 1 );\n}\n\n// Merges two text nodes into first node. Removes second node and returns merge position.\n//\n// @param {module:engine/view/text~Text} t1 First text node to merge. Data from second text node will be moved at the end of\n// this text node.\n// @param {module:engine/view/text~Text} t2 Second text node to merge. This node will be removed after merging.\n// @returns {module:engine/view/position~Position} Position after merging text nodes.\nfunction mergeTextNodes( t1: Text, t2: Text ): Position {\n\t// Merge text data into first text node and remove second one.\n\tconst nodeBeforeLength = t1.data.length;\n\tt1._data += t2.data;\n\tt2._remove();\n\n\treturn new Position( t1, nodeBeforeLength );\n}\n\nconst validNodesToInsert = [ Text, AttributeElement, ContainerElement, EmptyElement, RawElement, UIElement ];\n\n// Checks if provided nodes are valid to insert.\n//\n// Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-insert-invalid-node` when nodes to insert\n// contains instances that are not supported ones (see error description for valid ones.\n//\n// @param Iterable. nodes\n// @param {Object} errorContext\nfunction validateNodesToInsert( nodes: Iterable, errorContext: Document ): void {\n\tfor ( const node of nodes ) {\n\t\tif ( !validNodesToInsert.some( ( validNode => node instanceof validNode ) ) ) { // eslint-disable-line no-use-before-define\n\t\t\t/**\n\t\t\t * One of the nodes to be inserted is of an invalid type.\n\t\t\t *\n\t\t\t * Nodes to be inserted with {@link module:engine/view/downcastwriter~DowncastWriter#insert `DowncastWriter#insert()`} should be\n\t\t\t * of the following types:\n\t\t\t *\n\t\t\t * * {@link module:engine/view/attributeelement~AttributeElement AttributeElement},\n\t\t\t * * {@link module:engine/view/containerelement~ContainerElement ContainerElement},\n\t\t\t * * {@link module:engine/view/emptyelement~EmptyElement EmptyElement},\n\t\t\t * * {@link module:engine/view/uielement~UIElement UIElement},\n\t\t\t * * {@link module:engine/view/rawelement~RawElement RawElement},\n\t\t\t * * {@link module:engine/view/text~Text Text}.\n\t\t\t *\n\t\t\t * @error view-writer-insert-invalid-node-type\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-writer-insert-invalid-node-type', errorContext );\n\t\t}\n\n\t\tif ( !node.is( '$text' ) ) {\n\t\t\tvalidateNodesToInsert( ( node as Element ).getChildren(), errorContext );\n\t\t}\n\t}\n}\n\n// Checks if node is ContainerElement or DocumentFragment, because in most cases they should be treated the same way.\n//\n// @param {module:engine/view/node~Node} node\n// @returns {Boolean} Returns `true` if node is instance of ContainerElement or DocumentFragment.\nfunction isContainerOrFragment( node: Node | DocumentFragment ): boolean {\n\treturn node && ( node.is( 'containerElement' ) || node.is( 'documentFragment' ) );\n}\n\n// Checks if {@link module:engine/view/range~Range#start range start} and {@link module:engine/view/range~Range#end range end} are placed\n// inside same {@link module:engine/view/containerelement~ContainerElement container element}.\n// Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-invalid-range-container` when validation fails.\n//\n// @param {module:engine/view/range~Range} range\n// @param {Object} errorContext\nfunction validateRangeContainer( range: Range, errorContext: Document ) {\n\tconst startContainer = getParentContainer( range.start );\n\tconst endContainer = getParentContainer( range.end );\n\n\tif ( !startContainer || !endContainer || startContainer !== endContainer ) {\n\t\t/**\n\t\t * The container of the given range is invalid.\n\t\t *\n\t\t * This may happen if {@link module:engine/view/range~Range#start range start} and\n\t\t * {@link module:engine/view/range~Range#end range end} positions are not placed inside the same container element or\n\t\t * a parent container for these positions cannot be found.\n\t\t *\n\t\t * Methods like {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#remove()`},\n\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#clean()`},\n\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#wrap()`},\n\t\t * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#unwrap()`} need to be called\n\t\t * on a range that has its start and end positions located in the same container element. Both positions can be\n\t\t * nested within other elements (e.g. an attribute element) but the closest container ancestor must be the same.\n\t\t *\n\t\t * @error view-writer-invalid-range-container\n\t\t */\n\t\tthrow new CKEditorError( 'view-writer-invalid-range-container', errorContext );\n\t}\n}\n\n// Checks if two attribute elements can be joined together. Elements can be joined together if, and only if\n// they do not have ids specified.\n//\n// @private\n// @param {module:engine/view/element~Element} a\n// @param {module:engine/view/element~Element} b\n// @returns {Boolean}\nfunction canBeJoined( a: AttributeElement, b: AttributeElement ) {\n\treturn a.id === null && b.id === null;\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\nimport { keyCodes, isText, type KeystrokeInfo } from '@ckeditor/ckeditor5-utils';\nimport type View from './view';\nimport type DomEventData from './observer/domeventdata';\n\n/**\n * Set of utilities related to handling block and inline fillers.\n *\n * Browsers do not allow to put caret in elements which does not have height. Because of it, we need to fill all\n * empty elements which should be selectable with elements or characters called \"fillers\". Unfortunately there is no one\n * universal filler, this is why two types are uses:\n *\n * * Block filler is an element which fill block elements, like `

          `. CKEditor uses `
          ` as a block filler during the editing,\n * as browsers do natively. So instead of an empty `

          ` there will be `


          `. The advantage of block filler is that\n * it is transparent for the selection, so when the caret is before the `
          ` and user presses right arrow he will be\n * moved to the next paragraph, not after the `
          `. The disadvantage is that it breaks a block, so it can not be used\n * in the middle of a line of text. The {@link module:engine/view/filler~BR_FILLER `
          ` filler} can be replaced with any other\n * character in the data output, for instance {@link module:engine/view/filler~NBSP_FILLER non-breaking space} or\n * {@link module:engine/view/filler~MARKED_NBSP_FILLER marked non-breaking space}.\n *\n * * Inline filler is a filler which does not break a line of text, so it can be used inside the text, for instance in the empty\n * `` surrendered by text: `foobar`, if we want to put the caret there. CKEditor uses a sequence of the zero-width\n * spaces as an {@link module:engine/view/filler~INLINE_FILLER inline filler} having the predetermined\n * {@link module:engine/view/filler~INLINE_FILLER_LENGTH length}. A sequence is used, instead of a single character to\n * avoid treating random zero-width spaces as the inline filler. Disadvantage of the inline filler is that it is not\n * transparent for the selection. The arrow key moves the caret between zero-width spaces characters, so the additional\n * code is needed to handle the caret.\n *\n * Both inline and block fillers are handled by the {@link module:engine/view/renderer~Renderer renderer} and are not present in the\n * view.\n *\n * @module engine/view/filler\n */\n\n/**\n * Non-breaking space filler creator. This function creates the ` ` text node.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~MARKED_NBSP_FILLER\n * @see module:engine/view/filler~BR_FILLER\n * @function\n */\nexport const NBSP_FILLER = ( domDocument: Document ): Text => domDocument.createTextNode( '\\u00A0' );\n\n/**\n * Marked non-breaking space filler creator. This function creates the ` ` element.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~NBSP_FILLER\n * @see module:engine/view/filler~BR_FILLER\n * @function\n */\nexport const MARKED_NBSP_FILLER = ( domDocument: Document ): HTMLSpanElement => {\n\tconst span = domDocument.createElement( 'span' );\n\tspan.dataset.ckeFiller = 'true';\n\tspan.innerText = '\\u00A0';\n\n\treturn span;\n};\n\n/**\n * `
          ` filler creator. This function creates the `
          ` element.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~NBSP_FILLER\n * @see module:engine/view/filler~MARKED_NBSP_FILLER\n * @function\n */\nexport const BR_FILLER = ( domDocument: Document ): HTMLBRElement => {\n\tconst fillerBr = domDocument.createElement( 'br' );\n\tfillerBr.dataset.ckeFiller = 'true';\n\n\treturn fillerBr;\n};\n\n/**\n * Length of the {@link module:engine/view/filler~INLINE_FILLER INLINE_FILLER}.\n */\nexport const INLINE_FILLER_LENGTH = 7;\n\n/**\n * Inline filler which is a sequence of the word joiners.\n *\n * @type {String}\n */\nexport const INLINE_FILLER = '\\u2060'.repeat( INLINE_FILLER_LENGTH );\n\n/**\n * Checks if the node is a text node which starts with the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n *\n *\t\tstartsWithFiller( document.createTextNode( INLINE_FILLER ) ); // true\n *\t\tstartsWithFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ); // true\n *\t\tstartsWithFiller( document.createTextNode( 'foo' ) ); // false\n *\t\tstartsWithFiller( document.createElement( 'p' ) ); // false\n *\n * @param {Node} domNode DOM node.\n * @returns {Boolean} True if the text node starts with the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n */\nexport function startsWithFiller( domNode: Node ): boolean {\n\treturn isText( domNode ) && ( domNode.data.substr( 0, INLINE_FILLER_LENGTH ) === INLINE_FILLER );\n}\n\n/**\n * Checks if the text node contains only the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n *\n *\t\tisInlineFiller( document.createTextNode( INLINE_FILLER ) ); // true\n *\t\tisInlineFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ); // false\n *\n * @param {Text} domText DOM text node.\n * @returns {Boolean} True if the text node contains only the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n */\nexport function isInlineFiller( domText: Text ): boolean {\n\treturn domText.data.length == INLINE_FILLER_LENGTH && startsWithFiller( domText );\n}\n\n/**\n * Get string data from the text node, removing an {@link module:engine/view/filler~INLINE_FILLER inline filler} from it,\n * if text node contains it.\n *\n *\t\tgetDataWithoutFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ) == 'foo' // true\n *\t\tgetDataWithoutFiller( document.createTextNode( 'foo' ) ) == 'foo' // true\n *\n * @param {Text} domText DOM text node, possible with inline filler.\n * @returns {String} Data without filler.\n */\nexport function getDataWithoutFiller( domText: Text ): string {\n\tif ( startsWithFiller( domText ) ) {\n\t\treturn domText.data.slice( INLINE_FILLER_LENGTH );\n\t} else {\n\t\treturn domText.data;\n\t}\n}\n\n/**\n * Assign key observer which move cursor from the end of the inline filler to the beginning of it when\n * the left arrow is pressed, so the filler does not break navigation.\n *\n * @param {module:engine/view/view~View} view View controller instance we should inject quirks handling on.\n */\nexport function injectQuirksHandling( view: View ): void {\n\tview.document.on( 'arrowKey', jumpOverInlineFiller, { priority: 'low' } );\n}\n\n// Move cursor from the end of the inline filler to the beginning of it when, so the filler does not break navigation.\nfunction jumpOverInlineFiller( evt: unknown, data: DomEventData & KeystrokeInfo ) {\n\tif ( data.keyCode == keyCodes.arrowleft ) {\n\t\tconst domSelection = data.domTarget.ownerDocument.defaultView!.getSelection()!;\n\n\t\tif ( domSelection.rangeCount == 1 && domSelection.getRangeAt( 0 ).collapsed ) {\n\t\t\tconst domParent = domSelection.getRangeAt( 0 ).startContainer;\n\t\t\tconst domOffset = domSelection.getRangeAt( 0 ).startOffset;\n\n\t\t\tif ( startsWithFiller( domParent ) && domOffset <= INLINE_FILLER_LENGTH ) {\n\t\t\t\tdomSelection.collapse( domParent, 0 );\n\t\t\t}\n\t\t}\n\t}\n}\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./renderer.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module engine/view/renderer\n */\n\nimport ViewText from './text';\nimport ViewPosition from './position';\nimport { INLINE_FILLER, INLINE_FILLER_LENGTH, startsWithFiller, isInlineFiller } from './filler';\n\nimport {\n\tCKEditorError,\n\tObservableMixin,\n\tdiff,\n\tenv,\n\tfastDiff,\n\tinsertAt,\n\tisComment,\n\tisNode,\n\tisText,\n\tremove,\n\ttype DiffResult,\n\ttype ObservableChangeEvent\n} from '@ckeditor/ckeditor5-utils';\n\nimport type { ChangeType } from './document';\nimport type DocumentSelection from './documentselection';\nimport type DomConverter from './domconverter';\nimport type ViewElement from './element';\nimport type ViewNode from './node';\n\nimport '../../theme/renderer.css';\n\ntype DomText = globalThis.Text;\ntype DomNode = globalThis.Node;\ntype DomDocument = globalThis.Document;\ntype DomElement = globalThis.HTMLElement;\ntype DomSelection = globalThis.Selection;\n\n/**\n * Renderer is responsible for updating the DOM structure and the DOM selection based on\n * the {@link module:engine/view/renderer~Renderer#markToSync information about updated view nodes}.\n * In other words, it renders the view to the DOM.\n *\n * Its main responsibility is to make only the necessary, minimal changes to the DOM. However, unlike in many\n * virtual DOM implementations, the primary reason for doing minimal changes is not the performance but ensuring\n * that native editing features such as text composition, autocompletion, spell checking, selection's x-index are\n * affected as little as possible.\n *\n * Renderer uses {@link module:engine/view/domconverter~DomConverter} to transform view nodes and positions\n * to and from the DOM.\n */\nexport default class Renderer extends ObservableMixin() {\n\tpublic readonly domDocuments: Set;\n\tpublic readonly domConverter: DomConverter;\n\tpublic readonly markedAttributes: Set;\n\tpublic readonly markedChildren: Set;\n\tpublic readonly markedTexts: Set;\n\tpublic readonly selection: DocumentSelection;\n\n\tdeclare public readonly isFocused: boolean;\n\tdeclare public readonly _isFocusChanging: boolean;\n\tdeclare public readonly isSelecting: boolean;\n\tdeclare public readonly isComposing: boolean;\n\n\tprivate _inlineFiller: DomText | null;\n\tprivate _fakeSelectionContainer: DomElement | null;\n\n\t/**\n\t * Creates a renderer instance.\n\t *\n\t * @param {module:engine/view/domconverter~DomConverter} domConverter Converter instance.\n\t * @param {module:engine/view/documentselection~DocumentSelection} selection View selection.\n\t */\n\tconstructor( domConverter: DomConverter, selection: DocumentSelection ) {\n\t\tsuper();\n\n\t\t/**\n\t\t * Set of DOM Documents instances.\n\t\t *\n\t\t * @readonly\n\t\t * @member {Set.}\n\t\t */\n\t\tthis.domDocuments = new Set();\n\n\t\t/**\n\t\t * Converter instance.\n\t\t *\n\t\t * @readonly\n\t\t * @member {module:engine/view/domconverter~DomConverter}\n\t\t */\n\t\tthis.domConverter = domConverter;\n\n\t\t/**\n\t\t * Set of nodes which attributes changed and may need to be rendered.\n\t\t *\n\t\t * @readonly\n\t\t * @member {Set.}\n\t\t */\n\t\tthis.markedAttributes = new Set();\n\n\t\t/**\n\t\t * Set of elements which child lists changed and may need to be rendered.\n\t\t *\n\t\t * @readonly\n\t\t * @member {Set.}\n\t\t */\n\t\tthis.markedChildren = new Set();\n\n\t\t/**\n\t\t * Set of text nodes which text data changed and may need to be rendered.\n\t\t *\n\t\t * @readonly\n\t\t * @member {Set.}\n\t\t */\n\t\tthis.markedTexts = new Set();\n\n\t\t/**\n\t\t * View selection. Renderer updates DOM selection based on the view selection.\n\t\t *\n\t\t * @readonly\n\t\t * @member {module:engine/view/documentselection~DocumentSelection}\n\t\t */\n\t\tthis.selection = selection;\n\n\t\t/**\n\t\t * Indicates if the view document is focused and selection can be rendered. Selection will not be rendered if\n\t\t * this is set to `false`.\n\t\t *\n\t\t * @member {Boolean}\n\t\t * @observable\n\t\t */\n\t\tthis.set( 'isFocused', false );\n\n\t\t/**\n * Indicates if the view document is changing the focus (`true`) and selection rendering should be prevented.\n\t\t *\n\t\t * @internal\n\t\t * @observable\n\t\t * @member {Boolean}\n\t\t */\n\t\tthis.set( '_isFocusChanging', false );\n\n\t\t/**\n\t\t * Indicates whether the user is making a selection in the document (e.g. holding the mouse button and moving the cursor).\n\t\t * When they stop selecting, the property goes back to `false`.\n\t\t *\n\t\t * Note: In some browsers, the renderer will stop rendering the selection and inline fillers while the user is making\n\t\t * a selection to avoid glitches in DOM selection\n\t\t * (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\t *\n\t\t * @member {Boolean}\n\t\t * @observable\n\t\t */\n\t\tthis.set( 'isSelecting', false );\n\n\t\t// Rendering the selection and inline filler manipulation should be postponed in (non-Android) Blink until the user finishes\n\t\t// creating the selection in DOM to avoid accidental selection collapsing\n\t\t// (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\t// When the user stops selecting, all pending changes should be rendered ASAP, though.\n\t\tif ( env.isBlink && !env.isAndroid ) {\n\t\t\tthis.on( 'change:isSelecting', () => {\n\t\t\t\tif ( !this.isSelecting ) {\n\t\t\t\t\tthis.render();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t/**\n\t\t * True if composition is in progress inside the document.\n\t\t *\n\t\t * This property is bound to the {@link module:engine/view/document~Document#isComposing `Document#isComposing`} property.\n\t\t *\n\t\t * @member {Boolean}\n\t\t * @observable\n\t\t */\n\t\tthis.set( 'isComposing', false );\n\n\t\tthis.on( 'change:isComposing', () => {\n\t\t\tif ( !this.isComposing ) {\n\t\t\t\tthis.render();\n\t\t\t}\n\t\t} );\n\n\t\t/**\n\t\t * The text node in which the inline filler was rendered.\n\t\t *\n\t\t * @private\n\t\t * @member {Text}\n\t\t */\n\t\tthis._inlineFiller = null;\n\n\t\t/**\n\t\t * DOM element containing fake selection.\n\t\t *\n\t\t * @private\n\t\t * @type {null|HTMLElement}\n\t\t */\n\t\tthis._fakeSelectionContainer = null;\n\t}\n\n\t/**\n\t * Marks a view node to be updated in the DOM by {@link #render `render()`}.\n\t *\n\t * Note that only view nodes whose parents have corresponding DOM elements need to be marked to be synchronized.\n\t *\n\t * @see #markedAttributes\n\t * @see #markedChildren\n\t * @see #markedTexts\n\t *\n\t * @param {module:engine/view/document~ChangeType} type Type of the change.\n\t * @param {module:engine/view/node~ViewNode} node ViewNode to be marked.\n\t */\n\tpublic markToSync( type: ChangeType, node: ViewNode ): void {\n\t\tif ( type === 'text' ) {\n\t\t\tif ( this.domConverter.mapViewToDom( node.parent! ) ) {\n\t\t\t\tthis.markedTexts.add( node );\n\t\t\t}\n\t\t} else {\n\t\t\t// If the node has no DOM element it is not rendered yet,\n\t\t\t// its children/attributes do not need to be marked to be sync.\n\t\t\tif ( !this.domConverter.mapViewToDom( node as ViewElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( type === 'attributes' ) {\n\t\t\t\tthis.markedAttributes.add( node as ViewElement );\n\t\t\t} else if ( type === 'children' ) {\n\t\t\t\tthis.markedChildren.add( node as ViewElement );\n\t\t\t} else {\n\t\t\t\t/**\n\t\t\t\t * Unknown type passed to Renderer.markToSync.\n\t\t\t\t *\n\t\t\t\t * @error view-renderer-unknown-type\n\t\t\t\t */\n\t\t\t\tthrow new CKEditorError( 'view-renderer-unknown-type', this );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Renders all buffered changes ({@link #markedAttributes}, {@link #markedChildren} and {@link #markedTexts}) and\n\t * the current view selection (if needed) to the DOM by applying a minimal set of changes to it.\n\t *\n\t * Renderer tries not to break the text composition (e.g. IME) and x-index of the selection,\n\t * so it does as little as it is needed to update the DOM.\n\t *\n\t * Renderer also handles {@link module:engine/view/filler fillers}. Especially, it checks if the inline filler is needed\n\t * at the selection position and adds or removes it. To prevent breaking text composition inline filler will not be\n\t * removed as long as the selection is in the text node which needed it at first.\n\t */\n\tpublic render(): void {\n\t\t// Ignore rendering while in the composition mode. Composition events are not cancellable and browser will modify the DOM tree.\n\t\t// All marked elements, attributes, etc. will wait until next render after the composition ends.\n\t\t// On Android composition events are immediately applied to the model, so we don't need to skip rendering,\n\t\t// and we should not do it because the difference between view and DOM could lead to position mapping problems.\n\t\tif ( this.isComposing && !env.isAndroid ) {\n\t\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Rendering aborted while isComposing',\n\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\treturn;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Rendering',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tlet inlineFillerPosition: ViewPosition | null = null;\n\t\tconst isInlineFillerRenderingPossible = env.isBlink && !env.isAndroid ? !this.isSelecting : true;\n\n\t\t// Refresh mappings.\n\t\tfor ( const element of this.markedChildren ) {\n\t\t\tthis._updateChildrenMappings( element );\n\t\t}\n\n\t\t// Don't manipulate inline fillers while the selection is being made in (non-Android) Blink to prevent accidental\n\t\t// DOM selection collapsing\n\t\t// (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\tif ( isInlineFillerRenderingPossible ) {\n\t\t\t// There was inline filler rendered in the DOM but it's not\n\t\t\t// at the selection position any more, so we can remove it\n\t\t\t// (cause even if it's needed, it must be placed in another location).\n\t\t\tif ( this._inlineFiller && !this._isSelectionInInlineFiller() ) {\n\t\t\t\tthis._removeInlineFiller();\n\t\t\t}\n\n\t\t\t// If we've got the filler, let's try to guess its position in the view.\n\t\t\tif ( this._inlineFiller ) {\n\t\t\t\tinlineFillerPosition = this._getInlineFillerPosition();\n\t\t\t}\n\t\t\t// Otherwise, if it's needed, create it at the selection position.\n\t\t\telse if ( this._needsInlineFillerAtSelection() ) {\n\t\t\t\tinlineFillerPosition = this.selection.getFirstPosition()!;\n\n\t\t\t\t// Do not use `markToSync` so it will be added even if the parent is already added.\n\t\t\t\tthis.markedChildren.add( inlineFillerPosition.parent as ViewElement );\n\t\t\t}\n\t\t}\n\t\t// Make sure the inline filler has any parent, so it can be mapped to view position by DomConverter.\n\t\telse if ( this._inlineFiller && this._inlineFiller.parentNode ) {\n\t\t\t// While the user is making selection, preserve the inline filler at its original position.\n\t\t\tinlineFillerPosition = this.domConverter.domPositionToView( this._inlineFiller )!;\n\n\t\t\t// While down-casting the document selection attributes, all existing empty\n\t\t\t// attribute elements (for selection position) are removed from the view and DOM,\n\t\t\t// so make sure that we were able to map filler position.\n\t\t\t// https://github.com/ckeditor/ckeditor5/issues/12026\n\t\t\tif ( inlineFillerPosition && inlineFillerPosition.parent.is( '$text' ) ) {\n\t\t\t\t// The inline filler position is expected to be before the text node.\n\t\t\t\tinlineFillerPosition = ViewPosition._createBefore( inlineFillerPosition.parent );\n\t\t\t}\n\t\t}\n\n\t\tfor ( const element of this.markedAttributes ) {\n\t\t\tthis._updateAttrs( element );\n\t\t}\n\n\t\tfor ( const element of this.markedChildren ) {\n\t\t\tthis._updateChildren( element, { inlineFillerPosition } );\n\t\t}\n\n\t\tfor ( const node of this.markedTexts ) {\n\t\t\tif ( !this.markedChildren.has( node.parent as ViewElement ) && this.domConverter.mapViewToDom( node.parent as ViewElement ) ) {\n\t\t\t\tthis._updateText( node as ViewText, { inlineFillerPosition } );\n\t\t\t}\n\t\t}\n\n\t\t// * Check whether the inline filler is required and where it really is in the DOM.\n\t\t// At this point in most cases it will be in the DOM, but there are exceptions.\n\t\t// For example, if the inline filler was deep in the created DOM structure, it will not be created.\n\t\t// Similarly, if it was removed at the beginning of this function and then neither text nor children were updated,\n\t\t// it will not be present. Fix those and similar scenarios.\n\t\t// * Don't manipulate inline fillers while the selection is being made in (non-Android) Blink to prevent accidental\n\t\t// DOM selection collapsing\n\t\t// (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n\t\tif ( isInlineFillerRenderingPossible ) {\n\t\t\tif ( inlineFillerPosition ) {\n\t\t\t\tconst fillerDomPosition = this.domConverter.viewPositionToDom( inlineFillerPosition )!;\n\t\t\t\tconst domDocument = fillerDomPosition.parent.ownerDocument!;\n\n\t\t\t\tif ( !startsWithFiller( fillerDomPosition.parent ) ) {\n\t\t\t\t\t// Filler has not been created at filler position. Create it now.\n\t\t\t\t\tthis._inlineFiller = addInlineFiller( domDocument, fillerDomPosition.parent, fillerDomPosition.offset );\n\t\t\t\t} else {\n\t\t\t\t\t// Filler has been found, save it.\n\t\t\t\t\tthis._inlineFiller = fillerDomPosition.parent as DomText;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// There is no filler needed.\n\t\t\t\tthis._inlineFiller = null;\n\t\t\t}\n\t\t}\n\n\t\t// First focus the new editing host, then update the selection.\n\t\t// Otherwise, FF may throw an error (https://github.com/ckeditor/ckeditor5/issues/721).\n\t\tthis._updateFocus();\n\t\tthis._updateSelection();\n\n\t\tthis.markedTexts.clear();\n\t\tthis.markedAttributes.clear();\n\t\tthis.markedChildren.clear();\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t// @if CK_DEBUG_TYPING // }\n\t}\n\n\t/**\n\t * Updates mappings of view element's children.\n\t *\n\t * Children that were replaced in the view structure by similar elements (same tag name) are treated as 'replaced'.\n\t * This means that their mappings can be updated so the new view elements are mapped to the existing DOM elements.\n\t * Thanks to that these elements do not need to be re-rendered completely.\n\t *\n\t * @private\n\t * @param {module:engine/view/node~ViewNode} viewElement The view element whose children mappings will be updated.\n\t */\n\tprivate _updateChildrenMappings( viewElement: ViewElement ): void {\n\t\tconst domElement = this.domConverter.mapViewToDom( viewElement );\n\n\t\tif ( !domElement ) {\n\t\t\t// If there is no `domElement` it means that it was already removed from DOM and there is no need to process it.\n\t\t\treturn;\n\t\t}\n\n\t\t// Removing nodes from the DOM as we iterate can cause `actualDomChildren`\n\t\t// (which is a live-updating `NodeList`) to get out of sync with the\n\t\t// indices that we compute as we iterate over `actions`.\n\t\t// This would produce incorrect element mappings.\n\t\t//\n\t\t// Converting live list to an array to make the list static.\n\t\tconst actualDomChildren = Array.from(\n\t\t\tthis.domConverter.mapViewToDom( viewElement )!.childNodes\n\t\t);\n\t\tconst expectedDomChildren = Array.from(\n\t\t\tthis.domConverter.viewChildrenToDom( viewElement, { withChildren: false } )\n\t\t);\n\t\tconst diff = this._diffNodeLists( actualDomChildren, expectedDomChildren );\n\t\tconst actions = this._findReplaceActions( diff, actualDomChildren, expectedDomChildren );\n\n\t\tif ( actions.indexOf( 'replace' ) !== -1 ) {\n\t\t\tconst counter = { equal: 0, insert: 0, delete: 0 };\n\n\t\t\tfor ( const action of actions ) {\n\t\t\t\tif ( action === 'replace' ) {\n\t\t\t\t\tconst insertIndex = counter.equal + counter.insert;\n\t\t\t\t\tconst deleteIndex = counter.equal + counter.delete;\n\t\t\t\t\tconst viewChild = viewElement.getChild( insertIndex );\n\n\t\t\t\t\t// UIElement and RawElement are special cases. Their children are not stored in a view (#799)\n\t\t\t\t\t// so we cannot use them with replacing flow (since they use view children during rendering\n\t\t\t\t\t// which will always result in rendering empty elements).\n\t\t\t\t\tif ( viewChild && !( viewChild.is( 'uiElement' ) || viewChild.is( 'rawElement' ) ) ) {\n\t\t\t\t\t\tthis._updateElementMappings( viewChild as ViewElement, actualDomChildren[ deleteIndex ] as DomElement );\n\t\t\t\t\t}\n\n\t\t\t\t\tremove( expectedDomChildren[ insertIndex ] );\n\t\t\t\t\tcounter.equal++;\n\t\t\t\t} else {\n\t\t\t\t\tcounter[ action ]++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Updates mappings of a given view element.\n\t *\n\t * @private\n\t * @param {module:engine/view/node~ViewNode} viewElement The view element whose mappings will be updated.\n\t * @param {ViewNode} domElement The DOM element representing the given view element.\n\t */\n\tprivate _updateElementMappings( viewElement: ViewElement, domElement: DomElement ): void {\n\t\t// Remap 'DomConverter' bindings.\n\t\tthis.domConverter.unbindDomElement( domElement );\n\t\tthis.domConverter.bindElements( domElement, viewElement );\n\n\t\t// View element may have children which needs to be updated, but are not marked, mark them to update.\n\t\tthis.markedChildren.add( viewElement );\n\n\t\t// Because we replace new view element mapping with the existing one, the corresponding DOM element\n\t\t// will not be rerendered. The new view element may have different attributes than the previous one.\n\t\t// Since its corresponding DOM element will not be rerendered, new attributes will not be added\n\t\t// to the DOM, so we need to mark it here to make sure its attributes gets updated. See #1427 for more\n\t\t// detailed case study.\n\t\t// Also there are cases where replaced element is removed from the view structure and then has\n\t\t// its attributes changed or removed. In such cases the element will not be present in `markedAttributes`\n\t\t// and also may be the same (`element.isSimilar()`) as the reused element not having its attributes updated.\n\t\t// To prevent such situations we always mark reused element to have its attributes rerenderd (#1560).\n\t\tthis.markedAttributes.add( viewElement );\n\t}\n\n\t/**\n\t * Gets the position of the inline filler based on the current selection.\n\t * Here, we assume that we know that the filler is needed and\n\t * {@link #_isSelectionInInlineFiller is at the selection position}, and, since it is needed,\n\t * it is somewhere at the selection position.\n\t *\n\t * Note: The filler position cannot be restored based on the filler's DOM text node, because\n\t * when this method is called (before rendering), the bindings will often be broken. View-to-DOM\n\t * bindings are only dependable after rendering.\n\t *\n\t * @private\n\t * @returns {module:engine/view/position~Position}\n\t */\n\tprivate _getInlineFillerPosition(): ViewPosition {\n\t\tconst firstPos = this.selection.getFirstPosition()!;\n\n\t\tif ( firstPos.parent.is( '$text' ) ) {\n\t\t\treturn ViewPosition._createBefore( firstPos.parent );\n\t\t} else {\n\t\t\treturn firstPos;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the selection has not left the inline filler's text node.\n\t * If it is `true`, it means that the filler had been added for a reason and the selection did not\n\t * leave the filler's text node. For example, the user can be in the middle of a composition so it should not be touched.\n\t *\n\t * @private\n\t * @returns {Boolean} `true` if the inline filler and selection are in the same place.\n\t */\n\tprivate _isSelectionInInlineFiller(): boolean {\n\t\tif ( this.selection.rangeCount != 1 || !this.selection.isCollapsed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Note, we can't check if selection's position equals position of the\n\t\t// this._inlineFiller node, because of #663. We may not be able to calculate\n\t\t// the filler's position in the view at this stage.\n\t\t// Instead, we check it the other way – whether selection is anchored in\n\t\t// that text node or next to it.\n\n\t\t// Possible options are:\n\t\t// \"FILLER{}\"\n\t\t// \"FILLERadded-text{}\"\n\t\tconst selectionPosition = this.selection.getFirstPosition()!;\n\t\tconst position = this.domConverter.viewPositionToDom( selectionPosition );\n\n\t\tif ( position && isText( position.parent ) && startsWithFiller( position.parent ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Removes the inline filler.\n\t *\n\t * @private\n\t */\n\tprivate _removeInlineFiller(): void {\n\t\tconst domFillerNode = this._inlineFiller!;\n\n\t\t// Something weird happened and the stored node doesn't contain the filler's text.\n\t\tif ( !startsWithFiller( domFillerNode ) ) {\n\t\t\t/**\n\t\t\t * The inline filler node was lost. Most likely, something overwrote the filler text node\n\t\t\t * in the DOM.\n\t\t\t *\n\t\t\t * @error view-renderer-filler-was-lost\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'view-renderer-filler-was-lost', this );\n\t\t}\n\n\t\tif ( isInlineFiller( domFillerNode ) ) {\n\t\t\tdomFillerNode.remove();\n\t\t} else {\n\t\t\tdomFillerNode.data = domFillerNode.data.substr( INLINE_FILLER_LENGTH );\n\t\t}\n\n\t\tthis._inlineFiller = null;\n\t}\n\n\t/**\n\t * Checks if the inline {@link module:engine/view/filler filler} should be added.\n\t *\n\t * @private\n\t * @returns {Boolean} `true` if the inline filler should be added.\n\t */\n\tprivate _needsInlineFillerAtSelection(): boolean {\n\t\tif ( this.selection.rangeCount != 1 || !this.selection.isCollapsed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectionPosition = this.selection.getFirstPosition()!;\n\t\tconst selectionParent = selectionPosition.parent;\n\t\tconst selectionOffset = selectionPosition.offset;\n\n\t\t// If there is no DOM root we do not care about fillers.\n\t\tif ( !this.domConverter.mapViewToDom( selectionParent.root ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( !( selectionParent.is( 'element' ) ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Prevent adding inline filler inside elements with contenteditable=false.\n\t\t// https://github.com/ckeditor/ckeditor5-engine/issues/1170\n\t\tif ( !isEditable( selectionParent ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// We have block filler, we do not need inline one.\n\t\tif ( selectionOffset === selectionParent.getFillerOffset!() ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst nodeBefore = selectionPosition.nodeBefore;\n\t\tconst nodeAfter = selectionPosition.nodeAfter;\n\n\t\tif ( nodeBefore instanceof ViewText || nodeAfter instanceof ViewText ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Do not use inline filler while typing outside inline elements on Android.\n\t\t// The deleteContentBackward would remove part of the inline filler instead of removing last letter in a link.\n\t\tif ( env.isAndroid && ( nodeBefore || nodeAfter ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Checks if text needs to be updated and possibly updates it.\n\t *\n\t * @private\n\t * @param {module:engine/view/text~Text} viewText View text to update.\n\t * @param {Object} options\n\t * @param {module:engine/view/position~Position} options.inlineFillerPosition The position where the inline\n\t * filler should be rendered.\n\t */\n\tprivate _updateText( viewText: ViewText, options: { inlineFillerPosition?: ViewPosition | null } ) {\n\t\tconst domText = this.domConverter.findCorrespondingDomText( viewText )!;\n\t\tconst newDomText = this.domConverter.viewToDom( viewText ) as DomText;\n\n\t\tlet expectedText = newDomText.data;\n\t\tconst filler = options.inlineFillerPosition;\n\n\t\tif ( filler && filler.parent == viewText.parent && filler.offset == viewText.index ) {\n\t\t\texpectedText = INLINE_FILLER + expectedText;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update text',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tupdateTextNode( domText, expectedText );\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t// @if CK_DEBUG_TYPING // }\n\t}\n\n\t/**\n\t * Checks if attribute list needs to be updated and possibly updates it.\n\t *\n\t * @private\n\t * @param {module:engine/view/element~Element} viewElement The view element to update.\n\t */\n\tprivate _updateAttrs( viewElement: ViewElement ): void {\n\t\tconst domElement = this.domConverter.mapViewToDom( viewElement );\n\n\t\tif ( !domElement ) {\n\t\t\t// If there is no `domElement` it means that 'viewElement' is outdated as its mapping was updated\n\t\t\t// in 'this._updateChildrenMappings()'. There is no need to process it as new view element which\n\t\t\t// replaced old 'viewElement' mapping was also added to 'this.markedAttributes'\n\t\t\t// in 'this._updateChildrenMappings()' so it will be processed separately.\n\t\t\treturn;\n\t\t}\n\n\t\tconst domAttrKeys = Array.from( ( domElement as DomElement ).attributes ).map( attr => attr.name );\n\t\tconst viewAttrKeys = viewElement.getAttributeKeys();\n\n\t\t// Add or overwrite attributes.\n\t\tfor ( const key of viewAttrKeys ) {\n\t\t\tthis.domConverter.setDomElementAttribute( domElement as DomElement, key, viewElement.getAttribute( key )!, viewElement );\n\t\t}\n\n\t\t// Remove from DOM attributes which do not exists in the view.\n\t\tfor ( const key of domAttrKeys ) {\n\t\t\t// All other attributes not present in the DOM should be removed.\n\t\t\tif ( !viewElement.hasAttribute( key ) ) {\n\t\t\t\tthis.domConverter.removeDomElementAttribute( domElement as DomElement, key );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if elements child list needs to be updated and possibly updates it.\n\t *\n\t * Note that on Android, to reduce the risk of composition breaks, it tries to update data of an existing\n\t * child text nodes instead of replacing them completely.\n\t *\n\t * @private\n\t * @param {module:engine/view/element~Element} viewElement View element to update.\n\t * @param {Object} options\n\t * @param {module:engine/view/position~Position} options.inlineFillerPosition The position where the inline\n\t * filler should be rendered.\n\t */\n\tprivate _updateChildren( viewElement: ViewElement, options: { inlineFillerPosition: ViewPosition | null } ) {\n\t\tconst domElement = this.domConverter.mapViewToDom( viewElement );\n\n\t\tif ( !domElement ) {\n\t\t\t// If there is no `domElement` it means that it was already removed from DOM.\n\t\t\t// There is no need to process it. It will be processed when re-inserted.\n\t\t\treturn;\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update children',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t// IME on Android inserts a new text node while typing after a link\n\t\t// instead of updating an existing text node that follows the link.\n\t\t// We must normalize those text nodes so the diff won't get confused.\n\t\t// https://github.com/ckeditor/ckeditor5/issues/12574.\n\t\tif ( env.isAndroid ) {\n\t\t\tlet previousDomNode = null;\n\n\t\t\tfor ( const domNode of Array.from( domElement.childNodes ) ) {\n\t\t\t\tif ( previousDomNode && isText( previousDomNode ) && isText( domNode ) ) {\n\t\t\t\t\tdomElement.normalize();\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tpreviousDomNode = domNode;\n\t\t\t}\n\t\t}\n\n\t\tconst inlineFillerPosition = options.inlineFillerPosition;\n\t\tconst actualDomChildren = domElement.childNodes;\n\t\tconst expectedDomChildren = Array.from(\n\t\t\tthis.domConverter.viewChildrenToDom( viewElement, { bind: true } )\n\t\t);\n\n\t\t// Inline filler element has to be created as it is present in the DOM, but not in the view. It is required\n\t\t// during diffing so text nodes could be compared correctly and also during rendering to maintain\n\t\t// proper order and indexes while updating the DOM.\n\t\tif ( inlineFillerPosition && inlineFillerPosition.parent === viewElement ) {\n\t\t\taddInlineFiller( ( domElement as DomElement ).ownerDocument, expectedDomChildren, inlineFillerPosition.offset );\n\t\t}\n\n\t\tconst diff = this._diffNodeLists( actualDomChildren, expectedDomChildren );\n\n\t\t// The rendering is not disabled on Android in the composition mode.\n\t\t// Composition events are not cancellable and browser will modify the DOM tree.\n\t\t// On Android composition events are immediately applied to the model, so we don't need to skip rendering,\n\t\t// and we should not do it because the difference between view and DOM could lead to position mapping problems.\n\t\t// Since the composition is fragile and often breaks if the composed text node is replaced while composing\n\t\t// we need to make sure that we update the existing text node and not replace it with another one.\n\t\t// We don't want to change the behavior on other browsers for safety, but maybe one day cause it seems to make sense.\n\t\t// https://github.com/ckeditor/ckeditor5/issues/12455.\n\t\tconst actions = env.isAndroid ?\n\t\t\tthis._findReplaceActions( diff, actualDomChildren, expectedDomChildren, { replaceText: true } ) :\n\t\t\tdiff;\n\n\t\tlet i = 0;\n\t\tconst nodesToUnbind: Set = new Set();\n\n\t\t// Handle deletions first.\n\t\t// This is to prevent a situation where an element that already exists in `actualDomChildren` is inserted at a different\n\t\t// index in `actualDomChildren`. Since `actualDomChildren` is a `NodeList`, this works like move, not like an insert,\n\t\t// and it disrupts the whole algorithm. See https://github.com/ckeditor/ckeditor5/issues/6367.\n\t\t//\n\t\t// It doesn't matter in what order we remove or add nodes, as long as we remove and add correct nodes at correct indexes.\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action === 'delete' ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Remove node',\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '', actualDomChildren[ i ]\n\t\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t\t// @if CK_DEBUG_TYPING // }\n\t\t\t\tnodesToUnbind.add( actualDomChildren[ i ] as DomElement );\n\t\t\t\tremove( actualDomChildren[ i ] );\n\t\t\t} else if ( action === 'equal' || action === 'replace' ) {\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\n\t\ti = 0;\n\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action === 'insert' ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Insert node',\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '', expectedDomChildren[ i ]\n\t\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\t\tinsertAt( domElement as DomElement, i, expectedDomChildren[ i ] );\n\t\t\t\ti++;\n\t\t\t}\n\t\t\t// Update the existing text node data. Note that replace action is generated only for Android for now.\n\t\t\telse if ( action === 'replace' ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update text node',\n\t\t\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n\t\t\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t\t\t// @if CK_DEBUG_TYPING // }\n\n\t\t\t\tupdateTextNode( actualDomChildren[ i ] as DomText, ( expectedDomChildren[ i ] as DomText ).data );\n\t\t\t\ti++;\n\n\t\t\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t\t\t// @if CK_DEBUG_TYPING // }\n\t\t\t} else if ( action === 'equal' ) {\n\t\t\t\t// Force updating text nodes inside elements which did not change and do not need to be re-rendered (#1125).\n\t\t\t\t// Do it here (not in the loop above) because only after insertions the `i` index is correct.\n\t\t\t\tthis._markDescendantTextToSync( this.domConverter.domToView( expectedDomChildren[ i ] ) as any );\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\n\t\t// Unbind removed nodes. When node does not have a parent it means that it was removed from DOM tree during\n\t\t// comparison with the expected DOM. We don't need to check child nodes, because if child node was reinserted,\n\t\t// it was moved to DOM tree out of the removed node.\n\t\tfor ( const node of nodesToUnbind ) {\n\t\t\tif ( !node.parentNode ) {\n\t\t\t\tthis.domConverter.unbindDomElement( node as DomElement );\n\t\t\t}\n\t\t}\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n\t\t// @if CK_DEBUG_TYPING // }\n\t}\n\n\t/**\n\t * Shorthand for diffing two arrays or node lists of DOM nodes.\n\t *\n\t * @private\n\t * @param {Array.|NodeList} actualDomChildren Actual DOM children\n\t * @param {Array.|NodeList} expectedDomChildren Expected DOM children.\n\t * @returns {Array.} The list of actions based on the {@link module:utils/diff~diff} function.\n\t */\n\tprivate _diffNodeLists( actualDomChildren: Array | NodeList, expectedDomChildren: Array | NodeList ) {\n\t\tactualDomChildren = filterOutFakeSelectionContainer( actualDomChildren, this._fakeSelectionContainer );\n\n\t\treturn diff( actualDomChildren, expectedDomChildren, sameNodes.bind( null, this.domConverter ) );\n\t}\n\n\t/**\n\t * Finds DOM nodes that were replaced with the similar nodes (same tag name) in the view. All nodes are compared\n\t * within one `insert`/`delete` action group, for example:\n\t *\n\t * \t\tActual DOM:\t\t

          FooBarBazBax

          \n\t * \t\tExpected DOM:\t

          Bar123Baz456

          \n\t * \t\tInput actions:\t[ insert, insert, delete, delete, equal, insert, delete ]\n\t * \t\tOutput actions:\t[ insert, replace, delete, equal, replace ]\n\t *\n\t * @private\n\t * @param {Array.} actions Actions array which is a result of the {@link module:utils/diff~diff} function.\n\t * @param {Array.|NodeList} actualDom Actual DOM children\n\t * @param {Array.} expectedDom Expected DOM children.\n\t * @param {Object} [options] Options\n\t * @param {Boolean} [options.replaceText] Mark text nodes replacement.\n\t * @returns {Array.} Actions array modified with the `replace` actions.\n\t */\n\tprivate _findReplaceActions(\n\t\tactions: Array,\n\t\tactualDom: Array | NodeList,\n\t\texpectedDom: Array,\n\t\toptions: { replaceText?: boolean } = {}\n\t): Array {\n\t\t// If there is no both 'insert' and 'delete' actions, no need to check for replaced elements.\n\t\tif ( actions.indexOf( 'insert' ) === -1 || actions.indexOf( 'delete' ) === -1 ) {\n\t\t\treturn actions;\n\t\t}\n\n\t\tlet newActions: Array = [];\n\t\tlet actualSlice = [];\n\t\tlet expectedSlice = [];\n\n\t\tconst counter = { equal: 0, insert: 0, delete: 0 };\n\n\t\tfor ( const action of actions ) {\n\t\t\tif ( action === 'insert' ) {\n\t\t\t\texpectedSlice.push( expectedDom[ counter.equal + counter.insert ] );\n\t\t\t} else if ( action === 'delete' ) {\n\t\t\t\tactualSlice.push( actualDom[ counter.equal + counter.delete ] );\n\t\t\t} else { // equal\n\t\t\t\tnewActions = newActions.concat(\n\t\t\t\t\tdiff( actualSlice, expectedSlice, options.replaceText ? areTextNodes : areSimilar )\n\t\t\t\t\t\t.map( x => x === 'equal' ? 'replace' : x )\n\t\t\t\t);\n\t\t\t\tnewActions.push( 'equal' );\n\t\t\t\t// Reset stored elements on 'equal'.\n\t\t\t\tactualSlice = [];\n\t\t\t\texpectedSlice = [];\n\t\t\t}\n\t\t\tcounter[ action ]++;\n\t\t}\n\n\t\treturn newActions.concat(\n\t\t\tdiff( actualSlice, expectedSlice, options.replaceText ? areTextNodes : areSimilar )\n\t\t\t\t.map( x => x === 'equal' ? 'replace' : x )\n\t\t);\n\t}\n\n\t/**\n\t * Marks text nodes to be synchronized.\n\t *\n\t * If a text node is passed, it will be marked. If an element is passed, all descendant text nodes inside it will be marked.\n\t *\n\t * @private\n\t * @param {module:engine/view/node~ViewNode} viewNode View node to sync.\n\t */\n\tprivate _markDescendantTextToSync( viewNode: ViewNode | undefined ): void {\n\t\tif ( !viewNode ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( viewNode.is( '$text' ) ) {\n\t\t\tthis.markedTexts.add( viewNode );\n\t\t} else if ( viewNode.is( 'element' ) ) {\n\t\t\tfor ( const child of viewNode.getChildren() ) {\n\t\t\t\tthis._markDescendantTextToSync( child );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the selection needs to be updated and possibly updates it.\n\t *\n\t * @private\n\t */\n\tprivate _updateSelection(): void {\n\t\t// Block updating DOM selection in (non-Android) Blink while the user is selecting to prevent accidental selection collapsing.\n\t\t// Note: Structural changes in DOM must trigger selection rendering, though. Nodes the selection was anchored\n\t\t// to, may disappear in DOM which would break the selection (e.g. in real-time collaboration scenarios).\n\t\t// https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723\n\t\tif ( env.isBlink && !env.isAndroid && this.isSelecting && !this.markedChildren.size ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The focus is still in progress and we are waiting for new values from `selectionchange` event.\n\t\t// In that case, we need to prevent update selection since it would be updated using old values.\n\t\tif ( this._isFocusChanging ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there is no selection - remove DOM and fake selections.\n\t\tif ( this.selection.rangeCount === 0 ) {\n\t\t\tthis._removeDomSelection();\n\t\t\tthis._removeFakeSelection();\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRoot = this.domConverter.mapViewToDom( this.selection.editableElement! ) as DomElement;\n\n\t\t// Do nothing if there is no focus, or there is no DOM element corresponding to selection's editable element.\n\t\tif ( !this.isFocused || !domRoot ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Render fake selection - create the fake selection container (if needed) and move DOM selection to it.\n\t\tif ( this.selection.isFake ) {\n\t\t\tthis._updateFakeSelection( domRoot );\n\t\t}\n\t\t// There was a fake selection so remove it and update the DOM selection.\n\t\t// This is especially important on Android because otherwise IME will try to compose over the fake selection container.\n\t\telse if ( this._fakeSelectionContainer && this._fakeSelectionContainer.isConnected ) {\n\t\t\tthis._removeFakeSelection();\n\t\t\tthis._updateDomSelection( domRoot );\n\t\t}\n\t\t// Update the DOM selection in case of a plain selection change (no fake selection is involved).\n\t\t// On non-Android the whole rendering is disabled in composition mode (including DOM selection update),\n\t\t// but updating DOM selection should be also disabled on Android if in the middle of the composition\n\t\t// (to not interrupt it).\n\t\telse if ( !( this.isComposing && env.isAndroid ) ) {\n\t\t\tthis._updateDomSelection( domRoot );\n\t\t}\n\t}\n\n\t/**\n\t * Updates the fake selection.\n\t *\n\t * @private\n\t * @param {HTMLElement} domRoot A valid DOM root where the fake selection container should be added.\n\t */\n\tprivate _updateFakeSelection( domRoot: DomElement ): void {\n\t\tconst domDocument = domRoot.ownerDocument;\n\n\t\tif ( !this._fakeSelectionContainer ) {\n\t\t\tthis._fakeSelectionContainer = createFakeSelectionContainer( domDocument );\n\t\t}\n\n\t\tconst container = this._fakeSelectionContainer;\n\n\t\t// Bind fake selection container with the current selection *position*.\n\t\tthis.domConverter.bindFakeSelection( container, this.selection );\n\n\t\tif ( !this._fakeSelectionNeedsUpdate( domRoot ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !container.parentElement || container.parentElement != domRoot ) {\n\t\t\tdomRoot.appendChild( container );\n\t\t}\n\n\t\tcontainer.textContent = this.selection.fakeSelectionLabel || '\\u00A0';\n\n\t\tconst domSelection = domDocument.getSelection()!;\n\t\tconst domRange = domDocument.createRange();\n\n\t\tdomSelection.removeAllRanges();\n\t\tdomRange.selectNodeContents( container );\n\t\tdomSelection.addRange( domRange );\n\t}\n\n\t/**\n\t * Updates the DOM selection.\n\t *\n\t * @private\n\t * @param {HTMLElement} domRoot A valid DOM root where the DOM selection should be rendered.\n\t */\n\tprivate _updateDomSelection( domRoot: DomElement ) {\n\t\tconst domSelection = domRoot.ownerDocument.defaultView!.getSelection()!;\n\n\t\t// Let's check whether DOM selection needs updating at all.\n\t\tif ( !this._domSelectionNeedsUpdate( domSelection ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Multi-range selection is not available in most browsers, and, at least in Chrome, trying to\n\t\t// set such selection, that is not continuous, throws an error. Because of that, we will just use anchor\n\t\t// and focus of view selection.\n\t\t// Since we are not supporting multi-range selection, we also do not need to check if proper editable is\n\t\t// selected. If there is any editable selected, it is okay (editable is taken from selection anchor).\n\t\tconst anchor = this.domConverter.viewPositionToDom( this.selection.anchor! )!;\n\t\tconst focus = this.domConverter.viewPositionToDom( this.selection.focus! )!;\n\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Update DOM selection:',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '', anchor, focus\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\tdomSelection.collapse( anchor.parent, anchor.offset );\n\t\tdomSelection.extend( focus.parent, focus.offset );\n\n\t\t// Firefox–specific hack (https://github.com/ckeditor/ckeditor5-engine/issues/1439).\n\t\tif ( env.isGecko ) {\n\t\t\tfixGeckoSelectionAfterBr( focus, domSelection );\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether a given DOM selection needs to be updated.\n\t *\n\t * @private\n\t * @param {Selection} domSelection The DOM selection to check.\n\t * @returns {Boolean}\n\t */\n\tprivate _domSelectionNeedsUpdate( domSelection: Selection ): boolean {\n\t\tif ( !this.domConverter.isDomSelectionCorrect( domSelection ) ) {\n\t\t\t// Current DOM selection is in incorrect position. We need to update it.\n\t\t\treturn true;\n\t\t}\n\n\t\tconst oldViewSelection = domSelection && this.domConverter.domSelectionToView( domSelection );\n\n\t\tif ( oldViewSelection && this.selection.isEqual( oldViewSelection ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If selection is not collapsed, it does not need to be updated if it is similar.\n\t\tif ( !this.selection.isCollapsed && this.selection.isSimilar( oldViewSelection ) ) {\n\t\t\t// Selection did not changed and is correct, do not update.\n\t\t\treturn false;\n\t\t}\n\n\t\t// Selections are not similar.\n\t\treturn true;\n\t}\n\n\t/**\n\t * Checks whether the fake selection needs to be updated.\n\t *\n\t * @private\n\t * @param {HTMLElement} domRoot A valid DOM root where a new fake selection container should be added.\n\t * @returns {Boolean}\n\t */\n\tprivate _fakeSelectionNeedsUpdate( domRoot: DomElement ): boolean {\n\t\tconst container = this._fakeSelectionContainer;\n\t\tconst domSelection = domRoot.ownerDocument.getSelection()!;\n\n\t\t// Fake selection needs to be updated if there's no fake selection container, or the container currently sits\n\t\t// in a different root.\n\t\tif ( !container || container.parentElement !== domRoot ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Make sure that the selection actually is within the fake selection.\n\t\tif ( domSelection.anchorNode !== container && !container.contains( domSelection.anchorNode ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn container.textContent !== this.selection.fakeSelectionLabel;\n\t}\n\n\t/**\n\t * Removes the DOM selection.\n\t *\n\t * @private\n\t */\n\tprivate _removeDomSelection(): void {\n\t\tfor ( const doc of this.domDocuments ) {\n\t\t\tconst domSelection = doc.getSelection()!;\n\n\t\t\tif ( domSelection.rangeCount ) {\n\t\t\t\tconst activeDomElement = doc.activeElement!;\n\t\t\t\tconst viewElement = this.domConverter.mapDomToView( activeDomElement as DomElement );\n\n\t\t\t\tif ( activeDomElement && viewElement ) {\n\t\t\t\t\tdomSelection.removeAllRanges();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes the fake selection.\n\t *\n\t * @private\n\t */\n\tprivate _removeFakeSelection(): void {\n\t\tconst container = this._fakeSelectionContainer;\n\n\t\tif ( container ) {\n\t\t\tcontainer.remove();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if focus needs to be updated and possibly updates it.\n\t *\n\t * @private\n\t */\n\tprivate _updateFocus(): void {\n\t\tif ( this.isFocused ) {\n\t\t\tconst editable = this.selection.editableElement;\n\n\t\t\tif ( editable ) {\n\t\t\t\tthis.domConverter.focus( editable );\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Checks if provided element is editable.\n//\n// @private\n// @param {module:engine/view/element~Element} element\n// @returns {Boolean}\nfunction isEditable( element: ViewElement ): boolean {\n\tif ( element.getAttribute( 'contenteditable' ) == 'false' ) {\n\t\treturn false;\n\t}\n\n\tconst parent = element.findAncestor( element => element.hasAttribute( 'contenteditable' ) );\n\n\treturn !parent || parent.getAttribute( 'contenteditable' ) == 'true';\n}\n\n// Adds inline filler at a given position.\n//\n// The position can be given as an array of DOM nodes and an offset in that array,\n// or a DOM parent element and an offset in that element.\n//\n// @private\n// @param {Document} domDocument\n// @param {Element|Array.} domParentOrArray\n// @param {Number} offset\n// @returns {Text} The DOM text node that contains an inline filler.\nfunction addInlineFiller( domDocument: DomDocument, domParentOrArray: DomNode | Array, offset: number ): DomText {\n\tconst childNodes = domParentOrArray instanceof Array ? domParentOrArray : domParentOrArray.childNodes;\n\tconst nodeAfterFiller = childNodes[ offset ];\n\n\tif ( isText( nodeAfterFiller ) ) {\n\t\tnodeAfterFiller.data = INLINE_FILLER + nodeAfterFiller.data;\n\n\t\treturn nodeAfterFiller;\n\t} else {\n\t\tconst fillerNode = domDocument.createTextNode( INLINE_FILLER );\n\n\t\tif ( Array.isArray( domParentOrArray ) ) {\n\t\t\t( childNodes as Array ).splice( offset, 0, fillerNode );\n\t\t} else {\n\t\t\tinsertAt( domParentOrArray as DomElement, offset, fillerNode );\n\t\t}\n\n\t\treturn fillerNode;\n\t}\n}\n\n// Whether two DOM nodes should be considered as similar.\n// Nodes are considered similar if they have the same tag name.\n//\n// @private\n// @param {ViewNode} node1\n// @param {ViewNode} node2\n// @returns {Boolean}\nfunction areSimilar( node1: DomNode, node2: DomNode ): boolean {\n\treturn isNode( node1 ) && isNode( node2 ) &&\n\t\t!isText( node1 ) && !isText( node2 ) &&\n\t\t!isComment( node1 ) && !isComment( node2 ) &&\n\t\t( node1 as DomElement ).tagName.toLowerCase() === ( node2 as DomElement ).tagName.toLowerCase();\n}\n\n// Whether two DOM nodes are text nodes.\nfunction areTextNodes( node1: DomNode, node2: DomNode ): boolean {\n\treturn isNode( node1 ) && isNode( node2 ) &&\n\t\tisText( node1 ) && isText( node2 );\n}\n\n// Whether two dom nodes should be considered as the same.\n// Two nodes which are considered the same are:\n//\n//\t\t* Text nodes with the same text.\n//\t\t* Element nodes represented by the same object.\n//\t\t* Two block filler elements.\n//\n// @private\n// @param {String} blockFillerMode Block filler mode, see {@link module:engine/view/domconverter~DomConverter#blockFillerMode}.\n// @param {ViewNode} node1\n// @param {ViewNode} node2\n// @returns {Boolean}\nfunction sameNodes( domConverter: DomConverter, actualDomChild: DomNode, expectedDomChild: DomNode ): boolean {\n\t// Elements.\n\tif ( actualDomChild === expectedDomChild ) {\n\t\treturn true;\n\t}\n\t// Texts.\n\telse if ( isText( actualDomChild ) && isText( expectedDomChild ) ) {\n\t\treturn actualDomChild.data === expectedDomChild.data;\n\t}\n\t// Block fillers.\n\telse if ( domConverter.isBlockFiller( actualDomChild ) &&\n\t\tdomConverter.isBlockFiller( expectedDomChild ) ) {\n\t\treturn true;\n\t}\n\n\t// Not matching types.\n\treturn false;\n}\n\n// The following is a Firefox–specific hack (https://github.com/ckeditor/ckeditor5-engine/issues/1439).\n// When the native DOM selection is at the end of the block and preceded by
          e.g.\n//\n//\t\t

          foo
          []

          \n//\n// which happens a lot when using the soft line break, the browser fails to (visually) move the\n// caret to the new line. A quick fix is as simple as force–refreshing the selection with the same range.\nfunction fixGeckoSelectionAfterBr( focus: ReturnType, domSelection: DomSelection ) {\n\tconst parent = focus!.parent;\n\n\t// This fix works only when the focus point is at the very end of an element.\n\t// There is no point in running it in cases unrelated to the browser bug.\n\tif ( parent.nodeType != Node.ELEMENT_NODE || focus!.offset != parent.childNodes.length - 1 ) {\n\t\treturn;\n\t}\n\n\tconst childAtOffset = parent.childNodes[ focus!.offset ];\n\n\t// To stay on the safe side, the fix being as specific as possible, it targets only the\n\t// selection which is at the very end of the element and preceded by
          .\n\tif ( childAtOffset && ( childAtOffset as DomElement ).tagName == 'BR' ) {\n\t\tdomSelection.addRange( domSelection.getRangeAt( 0 ) );\n\t}\n}\n\nfunction filterOutFakeSelectionContainer( domChildList: Array | NodeList, fakeSelectionContainer: DomElement | null ) {\n\tconst childList = Array.from( domChildList );\n\n\tif ( childList.length == 0 || !fakeSelectionContainer ) {\n\t\treturn childList;\n\t}\n\n\tconst last = childList[ childList.length - 1 ];\n\n\tif ( last == fakeSelectionContainer ) {\n\t\tchildList.pop();\n\t}\n\n\treturn childList;\n}\n\n// Creates a fake selection container for a given document.\n//\n// @private\n// @param {Document} domDocument\n// @returns {HTMLElement}\nfunction createFakeSelectionContainer( domDocument: DomDocument ): DomElement {\n\tconst container = domDocument.createElement( 'div' );\n\n\tcontainer.className = 'ck-fake-selection-container';\n\n\tObject.assign( container.style, {\n\t\tposition: 'fixed',\n\t\ttop: 0,\n\t\tleft: '-9999px',\n\t\t// See https://github.com/ckeditor/ckeditor5/issues/752.\n\t\twidth: '42px'\n\t} );\n\n\t// Fill it with a text node so we can update it later.\n\tcontainer.textContent = '\\u00A0';\n\n\treturn container;\n}\n\n// Checks if text needs to be updated and possibly updates it by removing and inserting only parts\n// of the data from the existing text node to reduce impact on the IME composition.\n//\n// @param {Text} domText DOM text node to update.\n// @param {String} expectedText The expected data of a text node.\nfunction updateTextNode( domText: DomText, expectedText: string ) {\n\tconst actualText = domText.data;\n\n\tif ( actualText == expectedText ) {\n\t\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Text node does not need update:',\n\t\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '',\n\t\t// @if CK_DEBUG_TYPING // \t\t`\"${ domText.data }\" (${ domText.data.length })`\n\t\t// @if CK_DEBUG_TYPING // \t);\n\t\t// @if CK_DEBUG_TYPING // }\n\n\t\treturn;\n\t}\n\n\t// @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n\t// @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Update text node:',\n\t// @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '',\n\t// @if CK_DEBUG_TYPING // \t\t`\"${ domText.data }\" (${ domText.data.length }) -> \"${ expectedText }\" (${ expectedText.length })`\n\t// @if CK_DEBUG_TYPING // \t);\n\t// @if CK_DEBUG_TYPING // }\n\n\tconst actions = fastDiff( actualText, expectedText );\n\n\tfor ( const action of actions ) {\n\t\tif ( action.type === 'insert' ) {\n\t\t\tdomText.insertData( action.index, action.values.join( '' ) );\n\t\t} else { // 'delete'\n\t\t\tdomText.deleteData( action.index, action.howMany );\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module engine/view/domconverter\n */\n\n/* globals Node, NodeFilter, DOMParser, Text */\n\nimport ViewText from './text';\nimport ViewElement from './element';\nimport ViewUIElement from './uielement';\nimport ViewPosition from './position';\nimport ViewRange from './range';\nimport ViewSelection from './selection';\nimport ViewDocumentFragment from './documentfragment';\nimport ViewTreeWalker from './treewalker';\nimport { default as Matcher, type MatcherPattern } from './matcher';\nimport {\n\tBR_FILLER, INLINE_FILLER_LENGTH, NBSP_FILLER, MARKED_NBSP_FILLER,\n\tgetDataWithoutFiller, isInlineFiller, startsWithFiller\n} from './filler';\n\nimport {\n\tglobal,\n\tlogWarning,\n\tindexOf,\n\tgetAncestors,\n\tisText,\n\tisComment\n} from '@ckeditor/ckeditor5-utils';\n\nimport type ViewNode from './node';\nimport type Document from './document';\nimport type DocumentSelection from './documentselection';\nimport type EditableElement from './editableelement';\nimport type ViewTextProxy from './textproxy';\nimport type ViewRawElement from './rawelement';\n\ntype DomNode = globalThis.Node;\ntype DomElement = globalThis.HTMLElement;\ntype DomDocument = globalThis.Document;\ntype DomDocumentFragment = globalThis.DocumentFragment;\ntype DomComment = globalThis.Comment;\ntype DomRange = globalThis.Range;\ntype DomText = globalThis.Text;\ntype DomSelection = globalThis.Selection;\n\nconst BR_FILLER_REF = BR_FILLER( global.document ); // eslint-disable-line new-cap\nconst NBSP_FILLER_REF = NBSP_FILLER( global.document ); // eslint-disable-line new-cap\nconst MARKED_NBSP_FILLER_REF = MARKED_NBSP_FILLER( global.document ); // eslint-disable-line new-cap\nconst UNSAFE_ATTRIBUTE_NAME_PREFIX = 'data-ck-unsafe-attribute-';\nconst UNSAFE_ELEMENT_REPLACEMENT_ATTRIBUTE = 'data-ck-unsafe-element';\n\n/**\n * `DomConverter` is a set of tools to do transformations between DOM nodes and view nodes. It also handles\n * {@link module:engine/view/domconverter~DomConverter#bindElements bindings} between these nodes.\n *\n * An instance of the DOM converter is available under\n * {@link module:engine/view/view~View#domConverter `editor.editing.view.domConverter`}.\n *\n * The DOM converter does not check which nodes should be rendered (use {@link module:engine/view/renderer~Renderer}), does not keep the\n * state of a tree nor keeps the synchronization between the tree view and the DOM tree (use {@link module:engine/view/document~Document}).\n *\n * The DOM converter keeps DOM elements to view element bindings, so when the converter gets destroyed, the bindings are lost.\n * Two converters will keep separate binding maps, so one tree view can be bound with two DOM trees.\n */\nexport default class DomConverter {\n\tpublic readonly document: Document;\n\tpublic readonly renderingMode: 'data' | 'editing';\n\tpublic blockFillerMode: BlockFillerMode;\n\tpublic readonly preElements: Array;\n\tpublic readonly blockElements: Array;\n\tpublic readonly inlineObjectElements: Array;\n\tpublic readonly unsafeElements: Array;\n\n\tprivate readonly _domDocument: DomDocument;\n\tprivate readonly _domToViewMapping: WeakMap;\n\tprivate readonly _viewToDomMapping: WeakMap;\n\tprivate readonly _fakeSelectionMapping: WeakMap;\n\tprivate readonly _rawContentElementMatcher: Matcher;\n\tprivate readonly _encounteredRawContentDomNodes: WeakSet;\n\n\t/**\n\t * Creates a DOM converter.\n\t *\n\t * @param {module:engine/view/document~Document} document The view document instance.\n\t * @param {Object} options An object with configuration options.\n\t * @param {module:engine/view/filler~BlockFillerMode} [options.blockFillerMode] The type of the block filler to use.\n\t * Default value depends on the options.renderingMode:\n\t * 'nbsp' when options.renderingMode == 'data',\n\t * 'br' when options.renderingMode == 'editing'.\n\t * @param {'data'|'editing'} [options.renderingMode='editing'] Whether to leave the View-to-DOM conversion result unchanged\n\t * or improve editing experience by filtering out interactive data.\n\t */\n\tconstructor( document: Document, options: {\n\t\tblockFillerMode?: BlockFillerMode;\n\t\trenderingMode?: 'data' | 'editing';\n\t} = {} ) {\n\t\t/**\n\t\t * @readonly\n\t\t * @type {module:engine/view/document~Document}\n\t\t */\n\t\tthis.document = document;\n\n\t\t/**\n\t\t * Whether to leave the View-to-DOM conversion result unchanged or improve editing experience by filtering out interactive data.\n\t\t *\n\t\t * @member {'data'|'editing'} module:engine/view/domconverter~DomConverter#renderingMode\n\t\t */\n\t\tthis.renderingMode = options.renderingMode || 'editing';\n\n\t\t/**\n\t\t * The mode of a block filler used by the DOM converter.\n\t\t *\n\t\t * @member {'br'|'nbsp'|'markedNbsp'} module:engine/view/domconverter~DomConverter#blockFillerMode\n\t\t */\n\t\tthis.blockFillerMode = options.blockFillerMode || ( this.renderingMode === 'editing' ? 'br' : 'nbsp' );\n\n\t\t/**\n\t\t * Elements which are considered pre-formatted elements.\n\t\t *\n\t\t * @readonly\n\t\t * @member {Array.} module:engine/view/domconverter~DomConverter#preElements\n\t\t */\n\t\tthis.preElements = [ 'pre' ];\n\n\t\t/**\n\t\t * Elements which are considered block elements (and hence should be filled with a\n\t\t * {@link #isBlockFiller block filler}).\n\t\t *\n\t\t * Whether an element is considered a block element also affects handling of trailing whitespaces.\n\t\t *\n\t\t * You can extend this array if you introduce support for block elements which are not yet recognized here.\n\t\t *\n\t\t * @readonly\n\t\t * @member {Array.} module:engine/view/domconverter~DomConverter#blockElements\n\t\t */\n\t\tthis.blockElements = [\n\t\t\t'address', 'article', 'aside', 'blockquote', 'caption', 'center', 'dd', 'details', 'dir', 'div',\n\t\t\t'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header',\n\t\t\t'hgroup', 'legend', 'li', 'main', 'menu', 'nav', 'ol', 'p', 'pre', 'section', 'summary', 'table', 'tbody',\n\t\t\t'td', 'tfoot', 'th', 'thead', 'tr', 'ul'\n\t\t];\n\n\t\t/**\n\t\t * A list of elements that exist inline (in text) but their inner structure cannot be edited because\n\t\t * of the way they are rendered by the browser. They are mostly HTML form elements but there are other\n\t\t * elements such as `` or `' +\n\t\t\t\t\t\t\t'
  • '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tname: 'spotify',\n\t\t\t\t\turl: [\n\t\t\t\t\t\t/^open\\.spotify\\.com\\/(artist\\/\\w+)/,\n\t\t\t\t\t\t/^open\\.spotify\\.com\\/(album\\/\\w+)/,\n\t\t\t\t\t\t/^open\\.spotify\\.com\\/(track\\/\\w+)/\n\t\t\t\t\t],\n\t\t\t\t\thtml: match => {\n\t\t\t\t\t\tconst id = match[ 1 ];\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t'
    ' +\n\t\t\t\t\t\t\t\t`' +\n\t\t\t\t\t\t\t'
    '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tname: 'youtube',\n\t\t\t\t\turl: [\n\t\t\t\t\t\t/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)(?:&t=(\\d+))?/,\n\t\t\t\t\t\t/^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)(?:\\?t=(\\d+))?/,\n\t\t\t\t\t\t/^youtube\\.com\\/embed\\/([\\w-]+)(?:\\?start=(\\d+))?/,\n\t\t\t\t\t\t/^youtu\\.be\\/([\\w-]+)(?:\\?t=(\\d+))?/\n\t\t\t\t\t],\n\t\t\t\t\thtml: match => {\n\t\t\t\t\t\tconst id = match[ 1 ];\n\t\t\t\t\t\tconst time = match[ 2 ];\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t'
    ' +\n\t\t\t\t\t\t\t\t`' +\n\t\t\t\t\t\t\t'
    '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tname: 'vimeo',\n\t\t\t\t\turl: [\n\t\t\t\t\t\t/^vimeo\\.com\\/(\\d+)/,\n\t\t\t\t\t\t/^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/,\n\t\t\t\t\t\t/^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/,\n\t\t\t\t\t\t/^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/,\n\t\t\t\t\t\t/^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/,\n\t\t\t\t\t\t/^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/,\n\t\t\t\t\t\t/^player\\.vimeo\\.com\\/video\\/(\\d+)/\n\t\t\t\t\t],\n\t\t\t\t\thtml: match => {\n\t\t\t\t\t\tconst id = match[ 1 ];\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t'
    ' +\n\t\t\t\t\t\t\t\t`' +\n\t\t\t\t\t\t\t'
    '\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t{\n\t\t\t\t\tname: 'instagram',\n\t\t\t\t\turl: /^instagram\\.com\\/p\\/(\\w+)/\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'twitter',\n\t\t\t\t\turl: /^twitter\\.com/\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'googleMaps',\n\t\t\t\t\turl: [\n\t\t\t\t\t\t/^google\\.com\\/maps/,\n\t\t\t\t\t\t/^goo\\.gl\\/maps/,\n\t\t\t\t\t\t/^maps\\.google\\.com/,\n\t\t\t\t\t\t/^maps\\.app\\.goo\\.gl/\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'flickr',\n\t\t\t\t\turl: /^flickr\\.com/\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'facebook',\n\t\t\t\t\turl: /^facebook\\.com/\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\n\t\t/**\n\t\t * The media registry managing the media providers in the editor.\n\t\t *\n\t\t * @member {module:media-embed/mediaregistry~MediaRegistry} #registry\n\t\t */\n\t\tthis.registry = new MediaRegistry( editor.locale, editor.config.get( 'mediaEmbed' ) );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit() {\n\t\tconst editor = this.editor;\n\t\tconst schema = editor.model.schema;\n\t\tconst t = editor.t;\n\t\tconst conversion = editor.conversion;\n\t\tconst renderMediaPreview = editor.config.get( 'mediaEmbed.previewsInData' );\n\t\tconst elementName = editor.config.get( 'mediaEmbed.elementName' );\n\n\t\tconst registry = this.registry;\n\n\t\teditor.commands.add( 'mediaEmbed', new MediaEmbedCommand( editor ) );\n\n\t\t// Configure the schema.\n\t\tschema.register( 'media', {\n\t\t\tinheritAllFrom: '$blockObject',\n\t\t\tallowAttributes: [ 'url' ]\n\t\t} );\n\n\t\t// Model -> Data\n\t\tconversion.for( 'dataDowncast' ).elementToStructure( {\n\t\t\tmodel: 'media',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst url = modelElement.getAttribute( 'url' );\n\n\t\t\t\treturn createMediaFigureElement( writer, registry, url, {\n\t\t\t\t\telementName,\n\t\t\t\t\trenderMediaPreview: url && renderMediaPreview\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\t// Model -> Data (url -> data-oembed-url)\n\t\tconversion.for( 'dataDowncast' ).add(\n\t\t\tmodelToViewUrlAttributeConverter( registry, {\n\t\t\t\telementName,\n\t\t\t\trenderMediaPreview\n\t\t\t} ) );\n\n\t\t// Model -> View (element)\n\t\tconversion.for( 'editingDowncast' ).elementToStructure( {\n\t\t\tmodel: 'media',\n\t\t\tview: ( modelElement, { writer } ) => {\n\t\t\t\tconst url = modelElement.getAttribute( 'url' );\n\t\t\t\tconst figure = createMediaFigureElement( writer, registry, url, {\n\t\t\t\t\telementName,\n\t\t\t\t\trenderForEditingView: true\n\t\t\t\t} );\n\n\t\t\t\treturn toMediaWidget( figure, writer, t( 'media widget' ) );\n\t\t\t}\n\t\t} );\n\n\t\t// Model -> View (url -> data-oembed-url)\n\t\tconversion.for( 'editingDowncast' ).add(\n\t\t\tmodelToViewUrlAttributeConverter( registry, {\n\t\t\t\telementName,\n\t\t\t\trenderForEditingView: true\n\t\t\t} ) );\n\n\t\t// View -> Model (data-oembed-url -> url)\n\t\tconversion.for( 'upcast' )\n\t\t\t// Upcast semantic media.\n\t\t\t.elementToElement( {\n\t\t\t\tview: element => [ 'oembed', elementName ].includes( element.name ) && element.getAttribute( 'url' ) ?\n\t\t\t\t\t{ name: true } :\n\t\t\t\t\tnull,\n\t\t\t\tmodel: ( viewMedia, { writer } ) => {\n\t\t\t\t\tconst url = viewMedia.getAttribute( 'url' );\n\n\t\t\t\t\tif ( registry.hasMedia( url ) ) {\n\t\t\t\t\t\treturn writer.createElement( 'media', { url } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )\n\t\t\t// Upcast non-semantic media.\n\t\t\t.elementToElement( {\n\t\t\t\tview: {\n\t\t\t\t\tname: 'div',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\t'data-oembed-url': true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmodel: ( viewMedia, { writer } ) => {\n\t\t\t\t\tconst url = viewMedia.getAttribute( 'data-oembed-url' );\n\n\t\t\t\t\tif ( registry.hasMedia( url ) ) {\n\t\t\t\t\t\treturn writer.createElement( 'media', { url } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )\n\t\t\t// Consume `
    ` elements, that were left after upcast.\n\t\t\t.add( dispatcher => {\n\t\t\t\tdispatcher.on( 'element:figure', converter );\n\n\t\t\t\tfunction converter( evt, data, conversionApi ) {\n\t\t\t\t\tif ( !conversionApi.consumable.consume( data.viewItem, { name: true, classes: 'media' } ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst { modelRange, modelCursor } = conversionApi.convertChildren( data.viewItem, data.modelCursor );\n\n\t\t\t\t\tdata.modelRange = modelRange;\n\t\t\t\t\tdata.modelCursor = modelCursor;\n\n\t\t\t\t\tconst modelElement = first( modelRange.getItems() );\n\n\t\t\t\t\tif ( !modelElement ) {\n\t\t\t\t\t\t// Revert consumed figure so other features can convert it.\n\t\t\t\t\t\tconversionApi.consumable.revert( data.viewItem, { name: true, classes: 'media' } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module media-embed/automediaembed\n */\n\nimport { Plugin } from 'ckeditor5/src/core';\nimport { LiveRange, LivePosition } from 'ckeditor5/src/engine';\nimport { Clipboard } from 'ckeditor5/src/clipboard';\nimport { Delete } from 'ckeditor5/src/typing';\nimport { Undo } from 'ckeditor5/src/undo';\nimport { global } from 'ckeditor5/src/utils';\n\nimport MediaEmbedEditing from './mediaembedediting';\nimport { insertMedia } from './utils';\n\nconst URL_REGEXP = /^(?:http(s)?:\\/\\/)?[\\w-]+\\.[\\w-.~:/?#[\\]@!$&'()*+,;=%]+$/;\n\n/**\n * The auto-media embed plugin. It recognizes media links in the pasted content and embeds\n * them shortly after they are injected into the document.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class AutoMediaEmbed extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get requires() {\n\t\treturn [ Clipboard, Delete, Undo ];\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get pluginName() {\n\t\treturn 'AutoMediaEmbed';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor ) {\n\t\tsuper( editor );\n\n\t\t/**\n\t\t * The paste–to–embed `setTimeout` ID. Stored as a property to allow\n\t\t * cleaning of the timeout.\n\t\t *\n\t\t * @private\n\t\t * @member {Number} #_timeoutId\n\t\t */\n\t\tthis._timeoutId = null;\n\n\t\t/**\n\t\t * The position where the `` element will be inserted after the timeout,\n\t\t * determined each time the new content is pasted into the document.\n\t\t *\n\t\t * @private\n\t\t * @member {module:engine/model/liveposition~LivePosition} #_positionToInsert\n\t\t */\n\t\tthis._positionToInsert = null;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit() {\n\t\tconst editor = this.editor;\n\t\tconst modelDocument = editor.model.document;\n\n\t\t// We need to listen on `Clipboard#inputTransformation` because we need to save positions of selection.\n\t\t// After pasting, the content between those positions will be checked for a URL that could be transformed\n\t\t// into media.\n\t\tthis.listenTo( editor.plugins.get( 'ClipboardPipeline' ), 'inputTransformation', () => {\n\t\t\tconst firstRange = modelDocument.selection.getFirstRange();\n\n\t\t\tconst leftLivePosition = LivePosition.fromPosition( firstRange.start );\n\t\t\tleftLivePosition.stickiness = 'toPrevious';\n\n\t\t\tconst rightLivePosition = LivePosition.fromPosition( firstRange.end );\n\t\t\trightLivePosition.stickiness = 'toNext';\n\n\t\t\tmodelDocument.once( 'change:data', () => {\n\t\t\t\tthis._embedMediaBetweenPositions( leftLivePosition, rightLivePosition );\n\n\t\t\t\tleftLivePosition.detach();\n\t\t\t\trightLivePosition.detach();\n\t\t\t}, { priority: 'high' } );\n\t\t} );\n\n\t\teditor.commands.get( 'undo' ).on( 'execute', () => {\n\t\t\tif ( this._timeoutId ) {\n\t\t\t\tglobal.window.clearTimeout( this._timeoutId );\n\t\t\t\tthis._positionToInsert.detach();\n\n\t\t\t\tthis._timeoutId = null;\n\t\t\t\tthis._positionToInsert = null;\n\t\t\t}\n\t\t}, { priority: 'high' } );\n\t}\n\n\t/**\n\t * Analyzes the part of the document between provided positions in search for a URL representing media.\n\t * When the URL is found, it is automatically converted into media.\n\t *\n\t * @protected\n\t * @param {module:engine/model/liveposition~LivePosition} leftPosition Left position of the selection.\n\t * @param {module:engine/model/liveposition~LivePosition} rightPosition Right position of the selection.\n\t */\n\t_embedMediaBetweenPositions( leftPosition, rightPosition ) {\n\t\tconst editor = this.editor;\n\t\tconst mediaRegistry = editor.plugins.get( MediaEmbedEditing ).registry;\n\t\t// TODO: Use marker instead of LiveRange & LivePositions.\n\t\tconst urlRange = new LiveRange( leftPosition, rightPosition );\n\t\tconst walker = urlRange.getWalker( { ignoreElementEnd: true } );\n\n\t\tlet url = '';\n\n\t\tfor ( const node of walker ) {\n\t\t\tif ( node.item.is( '$textProxy' ) ) {\n\t\t\t\turl += node.item.data;\n\t\t\t}\n\t\t}\n\n\t\turl = url.trim();\n\n\t\t// If the URL does not match to universal URL regexp, let's skip that.\n\t\tif ( !url.match( URL_REGEXP ) ) {\n\t\t\turlRange.detach();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// If the URL represents a media, let's use it.\n\t\tif ( !mediaRegistry.hasMedia( url ) ) {\n\t\t\turlRange.detach();\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaEmbedCommand = editor.commands.get( 'mediaEmbed' );\n\n\t\t// Do not anything if media element cannot be inserted at the current position (#47).\n\t\tif ( !mediaEmbedCommand.isEnabled ) {\n\t\t\turlRange.detach();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// Position won't be available in the `setTimeout` function so let's clone it.\n\t\tthis._positionToInsert = LivePosition.fromPosition( leftPosition );\n\n\t\t// This action mustn't be executed if undo was called between pasting and auto-embedding.\n\t\tthis._timeoutId = global.window.setTimeout( () => {\n\t\t\teditor.model.change( writer => {\n\t\t\t\tthis._timeoutId = null;\n\n\t\t\t\twriter.remove( urlRange );\n\t\t\t\turlRange.detach();\n\n\t\t\t\tlet insertionPosition;\n\n\t\t\t\t// Check if position where the media element should be inserted is still valid.\n\t\t\t\t// Otherwise leave it as undefined to use document.selection - default behavior of model.insertContent().\n\t\t\t\tif ( this._positionToInsert.root.rootName !== '$graveyard' ) {\n\t\t\t\t\tinsertionPosition = this._positionToInsert;\n\t\t\t\t}\n\n\t\t\t\tinsertMedia( editor.model, url, insertionPosition, false );\n\n\t\t\t\tthis._positionToInsert.detach();\n\t\t\t\tthis._positionToInsert = null;\n\t\t\t} );\n\n\t\t\teditor.plugins.get( 'Delete' ).requestUndoOnBackspace();\n\t\t}, 100 );\n\t}\n}\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./mediaform.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module media-embed/ui/mediaformview\n */\n\nimport {\n\tButtonView,\n\tFocusCycler,\n\tLabeledFieldView,\n\tView,\n\tViewCollection,\n\tcreateLabeledInputText,\n\tinjectCssTransitionDisabler,\n\tsubmitHandler\n} from 'ckeditor5/src/ui';\nimport { FocusTracker, KeystrokeHandler } from 'ckeditor5/src/utils';\nimport { icons } from 'ckeditor5/src/core';\n\n// See: #8833.\n// eslint-disable-next-line ckeditor5-rules/ckeditor-imports\nimport '@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css';\nimport '../../theme/mediaform.css';\n\n/**\n * The media form view controller class.\n *\n * See {@link module:media-embed/ui/mediaformview~MediaFormView}.\n *\n * @extends module:ui/view~View\n */\nexport default class MediaFormView extends View {\n\t/**\n\t * @param {Array.} validators Form validators used by {@link #isValid}.\n\t * @param {module:utils/locale~Locale} [locale] The localization services instance.\n\t */\n\tconstructor( validators, locale ) {\n\t\tsuper( locale );\n\n\t\tconst t = locale.t;\n\n\t\t/**\n\t\t * Tracks information about the DOM focus in the form.\n\t\t *\n\t\t * @readonly\n\t\t * @member {module:utils/focustracker~FocusTracker}\n\t\t */\n\t\tthis.focusTracker = new FocusTracker();\n\n\t\t/**\n\t\t * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.\n\t\t *\n\t\t * @readonly\n\t\t * @member {module:utils/keystrokehandler~KeystrokeHandler}\n\t\t */\n\t\tthis.keystrokes = new KeystrokeHandler();\n\n\t\t/**\n\t\t * The value of the URL input.\n\t\t *\n\t\t * @member {String} #mediaURLInputValue\n\t\t * @observable\n\t\t */\n\t\tthis.set( 'mediaURLInputValue', '' );\n\n\t\t/**\n\t\t * The URL input view.\n\t\t *\n\t\t * @member {module:ui/labeledfield/labeledfieldview~LabeledFieldView}\n\t\t */\n\t\tthis.urlInputView = this._createUrlInput();\n\n\t\t/**\n\t\t * The Save button view.\n\t\t *\n\t\t * @member {module:ui/button/buttonview~ButtonView}\n\t\t */\n\t\tthis.saveButtonView = this._createButton( t( 'Save' ), icons.check, 'ck-button-save' );\n\t\tthis.saveButtonView.type = 'submit';\n\t\tthis.saveButtonView.bind( 'isEnabled' ).to( this, 'mediaURLInputValue', value => !!value );\n\n\t\t/**\n\t\t * The Cancel button view.\n\t\t *\n\t\t * @member {module:ui/button/buttonview~ButtonView}\n\t\t */\n\t\tthis.cancelButtonView = this._createButton( t( 'Cancel' ), icons.cancel, 'ck-button-cancel', 'cancel' );\n\n\t\t/**\n\t\t * A collection of views that can be focused in the form.\n\t\t *\n\t\t * @readonly\n\t\t * @protected\n\t\t * @member {module:ui/viewcollection~ViewCollection}\n\t\t */\n\t\tthis._focusables = new ViewCollection();\n\n\t\t/**\n\t\t * Helps cycling over {@link #_focusables} in the form.\n\t\t *\n\t\t * @readonly\n\t\t * @protected\n\t\t * @member {module:ui/focuscycler~FocusCycler}\n\t\t */\n\t\tthis._focusCycler = new FocusCycler( {\n\t\t\tfocusables: this._focusables,\n\t\t\tfocusTracker: this.focusTracker,\n\t\t\tkeystrokeHandler: this.keystrokes,\n\t\t\tactions: {\n\t\t\t\t// Navigate form fields backwards using the Shift + Tab keystroke.\n\t\t\t\tfocusPrevious: 'shift + tab',\n\n\t\t\t\t// Navigate form fields forwards using the Tab key.\n\t\t\t\tfocusNext: 'tab'\n\t\t\t}\n\t\t} );\n\n\t\t/**\n\t\t * An array of form validators used by {@link #isValid}.\n\t\t *\n\t\t * @readonly\n\t\t * @protected\n\t\t * @member {Array.}\n\t\t */\n\t\tthis._validators = validators;\n\n\t\tthis.setTemplate( {\n\t\t\ttag: 'form',\n\n\t\t\tattributes: {\n\t\t\t\tclass: [\n\t\t\t\t\t'ck',\n\t\t\t\t\t'ck-media-form',\n\t\t\t\t\t'ck-responsive-form'\n\t\t\t\t],\n\n\t\t\t\ttabindex: '-1'\n\t\t\t},\n\n\t\t\tchildren: [\n\t\t\t\tthis.urlInputView,\n\t\t\t\tthis.saveButtonView,\n\t\t\t\tthis.cancelButtonView\n\t\t\t]\n\t\t} );\n\n\t\tinjectCssTransitionDisabler( this );\n\n\t\t/**\n\t\t * The default info text for the {@link #urlInputView}.\n\t\t *\n\t\t * @private\n\t\t * @member {String} #_urlInputViewInfoDefault\n\t\t */\n\n\t\t/**\n\t\t * The info text with an additional tip for the {@link #urlInputView},\n\t\t * displayed when the input has some value.\n\t\t *\n\t\t * @private\n\t\t * @member {String} #_urlInputViewInfoTip\n\t\t */\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\trender() {\n\t\tsuper.render();\n\n\t\tsubmitHandler( {\n\t\t\tview: this\n\t\t} );\n\n\t\tconst childViews = [\n\t\t\tthis.urlInputView,\n\t\t\tthis.saveButtonView,\n\t\t\tthis.cancelButtonView\n\t\t];\n\n\t\tchildViews.forEach( v => {\n\t\t\t// Register the view as focusable.\n\t\t\tthis._focusables.add( v );\n\n\t\t\t// Register the view in the focus tracker.\n\t\t\tthis.focusTracker.add( v.element );\n\t\t} );\n\n\t\t// Start listening for the keystrokes coming from #element.\n\t\tthis.keystrokes.listenTo( this.element );\n\n\t\tconst stopPropagation = data => data.stopPropagation();\n\n\t\t// Since the form is in the dropdown panel which is a child of the toolbar, the toolbar's\n\t\t// keystroke handler would take over the key management in the URL input. We need to prevent\n\t\t// this ASAP. Otherwise, the basic caret movement using the arrow keys will be impossible.\n\t\tthis.keystrokes.set( 'arrowright', stopPropagation );\n\t\tthis.keystrokes.set( 'arrowleft', stopPropagation );\n\t\tthis.keystrokes.set( 'arrowup', stopPropagation );\n\t\tthis.keystrokes.set( 'arrowdown', stopPropagation );\n\n\t\t// Intercept the `selectstart` event, which is blocked by default because of the default behavior\n\t\t// of the DropdownView#panelView.\n\t\t// TODO: blocking `selectstart` in the #panelView should be configurable per–drop–down instance.\n\t\tthis.listenTo( this.urlInputView.element, 'selectstart', ( evt, domEvt ) => {\n\t\t\tdomEvt.stopPropagation();\n\t\t}, { priority: 'high' } );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdestroy() {\n\t\tsuper.destroy();\n\n\t\tthis.focusTracker.destroy();\n\t\tthis.keystrokes.destroy();\n\t}\n\n\t/**\n\t * Focuses the fist {@link #_focusables} in the form.\n\t */\n\tfocus() {\n\t\tthis._focusCycler.focusFirst();\n\t}\n\n\t/**\n\t * The native DOM `value` of the {@link #urlInputView} element.\n\t *\n\t * **Note**: Do not confuse it with the {@link module:ui/inputtext/inputtextview~InputTextView#value}\n\t * which works one way only and may not represent the actual state of the component in the DOM.\n\t *\n\t * @type {String}\n\t */\n\tget url() {\n\t\treturn this.urlInputView.fieldView.element.value.trim();\n\t}\n\n\tset url( url ) {\n\t\tthis.urlInputView.fieldView.element.value = url.trim();\n\t}\n\n\t/**\n\t * Validates the form and returns `false` when some fields are invalid.\n\t *\n\t * @returns {Boolean}\n\t */\n\tisValid() {\n\t\tthis.resetFormStatus();\n\n\t\tfor ( const validator of this._validators ) {\n\t\t\tconst errorText = validator( this );\n\n\t\t\t// One error per field is enough.\n\t\t\tif ( errorText ) {\n\t\t\t\t// Apply updated error.\n\t\t\t\tthis.urlInputView.errorText = errorText;\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Cleans up the supplementary error and information text of the {@link #urlInputView}\n\t * bringing them back to the state when the form has been displayed for the first time.\n\t *\n\t * See {@link #isValid}.\n\t */\n\tresetFormStatus() {\n\t\tthis.urlInputView.errorText = null;\n\t\tthis.urlInputView.infoText = this._urlInputViewInfoDefault;\n\t}\n\n\t/**\n\t * Creates a labeled input view.\n\t *\n\t * @private\n\t * @returns {module:ui/labeledfield/labeledfieldview~LabeledFieldView} Labeled input view instance.\n\t */\n\t_createUrlInput() {\n\t\tconst t = this.locale.t;\n\n\t\tconst labeledInput = new LabeledFieldView( this.locale, createLabeledInputText );\n\t\tconst inputField = labeledInput.fieldView;\n\n\t\tthis._urlInputViewInfoDefault = t( 'Paste the media URL in the input.' );\n\t\tthis._urlInputViewInfoTip = t( 'Tip: Paste the URL into the content to embed faster.' );\n\n\t\tlabeledInput.label = t( 'Media URL' );\n\t\tlabeledInput.infoText = this._urlInputViewInfoDefault;\n\n\t\tinputField.on( 'input', () => {\n\t\t\t// Display the tip text only when there is some value. Otherwise fall back to the default info text.\n\t\t\tlabeledInput.infoText = inputField.element.value ? this._urlInputViewInfoTip : this._urlInputViewInfoDefault;\n\t\t\tthis.mediaURLInputValue = inputField.element.value.trim();\n\t\t} );\n\n\t\treturn labeledInput;\n\t}\n\n\t/**\n\t * Creates a button view.\n\t *\n\t * @private\n\t * @param {String} label The button label.\n\t * @param {String} icon The button icon.\n\t * @param {String} className The additional button CSS class name.\n\t * @param {String} [eventName] An event name that the `ButtonView#execute` event will be delegated to.\n\t * @returns {module:ui/button/buttonview~ButtonView} The button view instance.\n\t */\n\t_createButton( label, icon, className, eventName ) {\n\t\tconst button = new ButtonView( this.locale );\n\n\t\tbutton.set( {\n\t\t\tlabel,\n\t\t\ticon,\n\t\t\ttooltip: true\n\t\t} );\n\n\t\tbutton.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: className\n\t\t\t}\n\t\t} );\n\n\t\tif ( eventName ) {\n\t\t\tbutton.delegate( 'execute' ).to( this, eventName );\n\t\t}\n\n\t\treturn button;\n\t}\n}\n\n/**\n * Fired when the form view is submitted (when one of the children triggered the submit event),\n * e.g. click on {@link #saveButtonView}.\n *\n * @event submit\n */\n\n/**\n * Fired when the form view is canceled, e.g. by a click on {@link #cancelButtonView}.\n *\n * @event cancel\n */\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module media-embed/mediaembedui\n */\n\nimport { Plugin } from 'ckeditor5/src/core';\nimport { createDropdown } from 'ckeditor5/src/ui';\n\nimport MediaFormView from './ui/mediaformview';\nimport MediaEmbedEditing from './mediaembedediting';\nimport mediaIcon from '../theme/icons/media.svg';\n\n/**\n * The media embed UI plugin.\n *\n * @extends module:core/plugin~Plugin\n */\nexport default class MediaEmbedUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get requires() {\n\t\treturn [ MediaEmbedEditing ];\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic get pluginName() {\n\t\treturn 'MediaEmbedUI';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tinit() {\n\t\tconst editor = this.editor;\n\t\tconst command = editor.commands.get( 'mediaEmbed' );\n\t\tconst registry = editor.plugins.get( MediaEmbedEditing ).registry;\n\n\t\teditor.ui.componentFactory.add( 'mediaEmbed', locale => {\n\t\t\tconst dropdown = createDropdown( locale );\n\n\t\t\tconst mediaForm = new MediaFormView( getFormValidators( editor.t, registry ), editor.locale );\n\n\t\t\tthis._setUpDropdown( dropdown, mediaForm, command, editor );\n\t\t\tthis._setUpForm( dropdown, mediaForm, command );\n\n\t\t\treturn dropdown;\n\t\t} );\n\t}\n\n\t/**\n\t * @private\n\t * @param {module:ui/dropdown/dropdownview~DropdownView} dropdown\n\t * @param {module:ui/view~View} form\n\t * @param {module:media-embed/mediaembedcommand~MediaEmbedCommand} command\n\t */\n\t_setUpDropdown( dropdown, form, command ) {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst button = dropdown.buttonView;\n\n\t\tdropdown.bind( 'isEnabled' ).to( command );\n\t\tdropdown.panelView.children.add( form );\n\n\t\tbutton.set( {\n\t\t\tlabel: t( 'Insert media' ),\n\t\t\ticon: mediaIcon,\n\t\t\ttooltip: true\n\t\t} );\n\n\t\t// Note: Use the low priority to make sure the following listener starts working after the\n\t\t// default action of the drop-down is executed (i.e. the panel showed up). Otherwise, the\n\t\t// invisible form/input cannot be focused/selected.\n\t\tbutton.on( 'open', () => {\n\t\t\tform.disableCssTransitions();\n\n\t\t\t// Make sure that each time the panel shows up, the URL field remains in sync with the value of\n\t\t\t// the command. If the user typed in the input, then canceled (`urlInputView#fieldView#value` stays\n\t\t\t// unaltered) and re-opened it without changing the value of the media command (e.g. because they\n\t\t\t// didn't change the selection), they would see the old value instead of the actual value of the\n\t\t\t// command.\n\t\t\tform.url = command.value || '';\n\t\t\tform.urlInputView.fieldView.select();\n\t\t\tform.enableCssTransitions();\n\t\t}, { priority: 'low' } );\n\n\t\tdropdown.on( 'submit', () => {\n\t\t\tif ( form.isValid() ) {\n\t\t\t\teditor.execute( 'mediaEmbed', form.url );\n\t\t\t\teditor.editing.view.focus();\n\t\t\t}\n\t\t} );\n\n\t\tdropdown.on( 'change:isOpen', () => form.resetFormStatus() );\n\t\tdropdown.on( 'cancel', () => {\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\t}\n\n\t/**\n\t * @private\n\t * @param {module:ui/dropdown/dropdownview~DropdownView} dropdown\n\t * @param {module:ui/view~View} form\n\t * @param {module:media-embed/mediaembedcommand~MediaEmbedCommand} command\n\t */\n\t_setUpForm( dropdown, form, command ) {\n\t\tform.delegate( 'submit', 'cancel' ).to( dropdown );\n\t\tform.urlInputView.bind( 'value' ).to( command, 'value' );\n\n\t\t// Form elements should be read-only when corresponding commands are disabled.\n\t\tform.urlInputView.bind( 'isReadOnly' ).to( command, 'isEnabled', value => !value );\n\t}\n}\n\nfunction getFormValidators( t, registry ) {\n\treturn [\n\t\tform => {\n\t\t\tif ( !form.url.length ) {\n\t\t\t\treturn t( 'The URL must not be empty.' );\n\t\t\t}\n\t\t},\n\t\tform => {\n\t\t\tif ( !registry.hasMedia( form.url ) ) {\n\t\t\t\treturn t( 'This media URL is not supported.' );\n\t\t\t}\n\t\t}\n\t];\n}\n","export default \"\";","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./mediaembed.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/filters/br\n */\n\nimport { DomConverter, ViewDocument } from 'ckeditor5/src/engine';\n\n/**\n * Transforms `
    ` elements that are siblings to some block element into a paragraphs.\n *\n * @param {module:engine/view/documentfragment~DocumentFragment} documentFragment The view structure to be transformed.\n * @param {module:engine/view/upcastwriter~UpcastWriter} writer\n */\nexport default function transformBlockBrsToParagraphs( documentFragment, writer ) {\n\tconst viewDocument = new ViewDocument( writer.document.stylesProcessor );\n\tconst domConverter = new DomConverter( viewDocument, { renderingMode: 'data' } );\n\n\tconst blockElements = domConverter.blockElements;\n\tconst inlineObjectElements = domConverter.inlineObjectElements;\n\n\tconst elementsToReplace = [];\n\n\tfor ( const value of writer.createRangeIn( documentFragment ) ) {\n\t\tconst element = value.item;\n\n\t\tif ( element.is( 'element', 'br' ) ) {\n\t\t\tconst nextSibling = findSibling( element, 'forward', writer, { blockElements, inlineObjectElements } );\n\t\t\tconst previousSibling = findSibling( element, 'backward', writer, { blockElements, inlineObjectElements } );\n\n\t\t\tconst nextSiblingIsBlock = isBlockViewElement( nextSibling, blockElements );\n\t\t\tconst previousSiblingIsBlock = isBlockViewElement( previousSibling, blockElements );\n\n\t\t\t// If the
    is surrounded by blocks then convert it to a paragraph:\n\t\t\t// *

    foo

    [
    ]

    bar

    ->

    foo

    [

    ]

    bar

    \n\t\t\t// *

    foo

    [
    ] ->

    foo

    [

    ]\n\t\t\t// * [
    ]

    foo

    -> [

    ]

    foo

    \n\t\t\tif ( previousSiblingIsBlock || nextSiblingIsBlock ) {\n\t\t\t\telementsToReplace.push( element );\n\t\t\t}\n\t\t}\n\t}\n\n\tfor ( const element of elementsToReplace ) {\n\t\tif ( element.hasClass( 'Apple-interchange-newline' ) ) {\n\t\t\twriter.remove( element );\n\t\t} else {\n\t\t\twriter.replace( element, writer.createElement( 'p' ) );\n\t\t}\n\t}\n}\n\n// Returns sibling node, threats inline elements as transparent (but should stop on an inline objects).\nfunction findSibling( viewElement, direction, writer, { blockElements, inlineObjectElements } ) {\n\tlet position = writer.createPositionAt( viewElement, direction == 'forward' ? 'after' : 'before' );\n\n\t// Find first position that is just before a first:\n\t// * text node,\n\t// * block element,\n\t// * inline object element.\n\t// It's ignoring any inline (non-object) elements like span, strong, etc.\n\tposition = position.getLastMatchingPosition( ( { item } ) => (\n\t\titem.is( 'element' ) &&\n\t\t!blockElements.includes( item.name ) &&\n\t\t!inlineObjectElements.includes( item.name )\n\t), { direction } );\n\n\treturn direction == 'forward' ? position.nodeAfter : position.nodeBefore;\n}\n\n// Returns true for view elements that are listed as block view elements.\nfunction isBlockViewElement( node, blockElements ) {\n\treturn !!node && node.is( 'element' ) && blockElements.includes( node.name );\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/filters/list\n */\n\nimport { Matcher, UpcastWriter } from 'ckeditor5/src/engine';\n\n/**\n * Transforms Word specific list-like elements to the semantic HTML lists.\n *\n * Lists in Word are represented by block elements with special attributes like:\n *\n *\t\t

    ...

    // Paragraph based list.\n *\t\t

    ...

    // Heading 1 based list.\n *\n * @param {module:engine/view/documentfragment~DocumentFragment} documentFragment The view structure to be transformed.\n * @param {String} stylesString Styles from which list-like elements styling will be extracted.\n */\nexport function transformListItemLikeElementsIntoLists( documentFragment, stylesString ) {\n\tif ( !documentFragment.childCount ) {\n\t\treturn;\n\t}\n\n\tconst writer = new UpcastWriter( documentFragment.document );\n\tconst itemLikeElements = findAllItemLikeElements( documentFragment, writer );\n\n\tif ( !itemLikeElements.length ) {\n\t\treturn;\n\t}\n\n\tlet currentList = null;\n\tlet currentIndentation = 1;\n\n\titemLikeElements.forEach( ( itemLikeElement, i ) => {\n\t\tconst isDifferentList = isNewListNeeded( itemLikeElements[ i - 1 ], itemLikeElement );\n\t\tconst previousItemLikeElement = isDifferentList ? null : itemLikeElements[ i - 1 ];\n\t\tconst indentationDifference = getIndentationDifference( previousItemLikeElement, itemLikeElement );\n\n\t\tif ( isDifferentList ) {\n\t\t\tcurrentList = null;\n\t\t\tcurrentIndentation = 1;\n\t\t}\n\n\t\tif ( !currentList || indentationDifference !== 0 ) {\n\t\t\tconst listStyle = detectListStyle( itemLikeElement, stylesString );\n\n\t\t\tif ( !currentList ) {\n\t\t\t\tcurrentList = insertNewEmptyList( listStyle, itemLikeElement.element, writer );\n\t\t\t} else if ( itemLikeElement.indent > currentIndentation ) {\n\t\t\t\tconst lastListItem = currentList.getChild( currentList.childCount - 1 );\n\t\t\t\tconst lastListItemChild = lastListItem.getChild( lastListItem.childCount - 1 );\n\n\t\t\t\tcurrentList = insertNewEmptyList( listStyle, lastListItemChild, writer );\n\t\t\t\tcurrentIndentation += 1;\n\t\t\t} else if ( itemLikeElement.indent < currentIndentation ) {\n\t\t\t\tconst differentIndentation = currentIndentation - itemLikeElement.indent;\n\n\t\t\t\tcurrentList = findParentListAtLevel( currentList, differentIndentation );\n\t\t\t\tcurrentIndentation = parseInt( itemLikeElement.indent );\n\t\t\t}\n\n\t\t\tif ( itemLikeElement.indent <= currentIndentation ) {\n\t\t\t\tif ( !currentList.is( 'element', listStyle.type ) ) {\n\t\t\t\t\tcurrentList = writer.rename( listStyle.type, currentList );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst listItem = transformElementIntoListItem( itemLikeElement.element, writer );\n\n\t\twriter.appendChild( listItem, currentList );\n\t} );\n}\n\n/**\n * Removes paragraph wrapping content inside a list item.\n *\n * @param {module:engine/view/documentfragment~DocumentFragment} documentFragment\n * @param {module:engine/view/upcastwriter~UpcastWriter} writer\n */\nexport function unwrapParagraphInListItem( documentFragment, writer ) {\n\tfor ( const value of writer.createRangeIn( documentFragment ) ) {\n\t\tconst element = value.item;\n\n\t\tif ( element.is( 'element', 'li' ) ) {\n\t\t\t// Google Docs allows for single paragraph inside LI.\n\t\t\tconst firstChild = element.getChild( 0 );\n\n\t\t\tif ( firstChild && firstChild.is( 'element', 'p' ) ) {\n\t\t\t\twriter.unwrapElement( firstChild );\n\t\t\t}\n\t\t}\n\t}\n}\n\n// Finds all list-like elements in a given document fragment.\n//\n// @param {module:engine/view/documentfragment~DocumentFragment} documentFragment Document fragment\n// in which to look for list-like nodes.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\n// @returns {Array.} Array of found list-like items. Each item is an object containing:\n//\n//\t\t* {module:engine/src/view/element~Element} element List-like element.\n//\t\t* {Number} id List item id parsed from `mso-list` style (see `getListItemData()` function).\n//\t\t* {Number} order List item creation order parsed from `mso-list` style (see `getListItemData()` function).\n//\t\t* {Number} indent List item indentation level parsed from `mso-list` style (see `getListItemData()` function).\nfunction findAllItemLikeElements( documentFragment, writer ) {\n\tconst range = writer.createRangeIn( documentFragment );\n\n\t// Matcher for finding list-like elements.\n\tconst itemLikeElementsMatcher = new Matcher( {\n\t\tname: /^p|h\\d+$/,\n\t\tstyles: {\n\t\t\t'mso-list': /.*/\n\t\t}\n\t} );\n\n\tconst itemLikeElements = [];\n\n\tfor ( const value of range ) {\n\t\tif ( value.type === 'elementStart' && itemLikeElementsMatcher.match( value.item ) ) {\n\t\t\tconst itemData = getListItemData( value.item );\n\n\t\t\titemLikeElements.push( {\n\t\t\t\telement: value.item,\n\t\t\t\tid: itemData.id,\n\t\t\t\torder: itemData.order,\n\t\t\t\tindent: itemData.indent\n\t\t\t} );\n\t\t}\n\t}\n\n\treturn itemLikeElements;\n}\n\n// Extracts list item style from the provided CSS.\n//\n// List item style is extracted from the CSS stylesheet. Each list with its specific style attribute\n// value (`mso-list:l1 level1 lfo1`) has its dedicated properties in a CSS stylesheet defined with a selector like:\n//\n// \t\t@list l1:level1 { ... }\n//\n// It contains `mso-level-number-format` property which defines list numbering/bullet style. If this property\n// is not defined it means default `decimal` numbering.\n//\n// Here CSS string representation is used as `mso-level-number-format` property is an invalid CSS property\n// and will be removed during CSS parsing.\n//\n// @param {Object} listLikeItem List-like item for which list style will be searched for. Usually\n// a result of `findAllItemLikeElements()` function.\n// @param {String} stylesString CSS stylesheet.\n// @returns {Object} result\n// @returns {String} result.type List type, could be `ul` or `ol`.\n// @returns {Number} result.startIndex List start index, valid only for ordered lists.\n// @returns {String|null} result.style List style, for example: `decimal`, `lower-roman`, etc. It is extracted\n// directly from Word stylesheet and adjusted to represent proper values for the CSS `list-style-type` property.\n// If it cannot be adjusted, the `null` value is returned.\nfunction detectListStyle( listLikeItem, stylesString ) {\n\tconst listStyleRegexp = new RegExp( `@list l${ listLikeItem.id }:level${ listLikeItem.indent }\\\\s*({[^}]*)`, 'gi' );\n\tconst listStyleTypeRegex = /mso-level-number-format:([^;]{0,100});/gi;\n\tconst listStartIndexRegex = /mso-level-start-at:\\s{0,100}([0-9]{0,10})\\s{0,100};/gi;\n\n\tconst listStyleMatch = listStyleRegexp.exec( stylesString );\n\n\tlet listStyleType = 'decimal'; // Decimal is default one.\n\tlet type = 'ol'; //
      is default list.\n\tlet startIndex = null;\n\n\tif ( listStyleMatch && listStyleMatch[ 1 ] ) {\n\t\tconst listStyleTypeMatch = listStyleTypeRegex.exec( listStyleMatch[ 1 ] );\n\n\t\tif ( listStyleTypeMatch && listStyleTypeMatch[ 1 ] ) {\n\t\t\tlistStyleType = listStyleTypeMatch[ 1 ].trim();\n\t\t\ttype = listStyleType !== 'bullet' && listStyleType !== 'image' ? 'ol' : 'ul';\n\t\t}\n\n\t\t// Styles for the numbered lists are always defined in the Word CSS stylesheet.\n\t\t// Unordered lists MAY contain a value for the Word CSS definition `mso-level-text` but sometimes\n\t\t// this tag is missing. And because of that, we cannot depend on that. We need to predict the list style value\n\t\t// based on the list style marker element.\n\t\tif ( listStyleType === 'bullet' ) {\n\t\t\tconst bulletedStyle = findBulletedListStyle( listLikeItem.element );\n\n\t\t\tif ( bulletedStyle ) {\n\t\t\t\tlistStyleType = bulletedStyle;\n\t\t\t}\n\t\t} else {\n\t\t\tconst listStartIndexMatch = listStartIndexRegex.exec( listStyleMatch[ 1 ] );\n\n\t\t\tif ( listStartIndexMatch && listStartIndexMatch[ 1 ] ) {\n\t\t\t\tstartIndex = parseInt( listStartIndexMatch[ 1 ] );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\ttype,\n\t\tstartIndex,\n\t\tstyle: mapListStyleDefinition( listStyleType )\n\t};\n}\n\n// Tries to extract the `list-style-type` value based on the marker element for bulleted list.\n//\n// @param {module:engine/view/element~Element} element\n// @returns {String|null}\nfunction findBulletedListStyle( element ) {\n\tconst listMarkerElement = findListMarkerNode( element );\n\n\tif ( !listMarkerElement ) {\n\t\treturn null;\n\t}\n\n\tconst listMarker = listMarkerElement._data;\n\n\tif ( listMarker === 'o' ) {\n\t\treturn 'circle';\n\t} else if ( listMarker === '·' ) {\n\t\treturn 'disc';\n\t}\n\t// Word returns '§' instead of '■' for the square list style.\n\telse if ( listMarker === '§' ) {\n\t\treturn 'square';\n\t}\n\n\treturn null;\n}\n\n// Tries to find a text node that represents the marker element (list-style-type).\n//\n// @param {module:engine/view/element~Element} element\n// @returns {module:engine/view/text~Text|null}\nfunction findListMarkerNode( element ) {\n\t// If the first child is a text node, it is the data for the element.\n\t// The list-style marker is not present here.\n\tif ( element.getChild( 0 ).is( '$text' ) ) {\n\t\treturn null;\n\t}\n\n\tfor ( const childNode of element.getChildren() ) {\n\t\t// The list-style marker will be inside the `` element. Let's ignore all non-span elements.\n\t\t// It may happen that the `` element is added as the first child. Most probably, it's an anchor element.\n\t\tif ( !childNode.is( 'element', 'span' ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst textNodeOrElement = childNode.getChild( 0 );\n\n\t\t// If already found the marker element, use it.\n\t\tif ( textNodeOrElement.is( '$text' ) ) {\n\t\t\treturn textNodeOrElement;\n\t\t}\n\n\t\treturn textNodeOrElement.getChild( 0 );\n\t}\n}\n\n// Parses the `list-style-type` value extracted directly from the Word CSS stylesheet and returns proper CSS definition.\n//\n// @param {String|null} value\n// @returns {String|null}\nfunction mapListStyleDefinition( value ) {\n\tif ( value.startsWith( 'arabic-leading-zero' ) ) {\n\t\treturn 'decimal-leading-zero';\n\t}\n\n\tswitch ( value ) {\n\t\tcase 'alpha-upper':\n\t\t\treturn 'upper-alpha';\n\t\tcase 'alpha-lower':\n\t\t\treturn 'lower-alpha';\n\t\tcase 'roman-upper':\n\t\t\treturn 'upper-roman';\n\t\tcase 'roman-lower':\n\t\t\treturn 'lower-roman';\n\t\tcase 'circle':\n\t\tcase 'disc':\n\t\tcase 'square':\n\t\t\treturn value;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n}\n\n// Creates an empty list of a given type and inserts it after a specified element.\n//\n// @param {Object} listStyle List style object which determines the type of newly created list.\n// Usually a result of `detectListStyle()` function.\n// @param {module:engine/view/element~Element} element Element after which list is inserted.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\n// @returns {module:engine/view/element~Element} Newly created list element.\n\nfunction insertNewEmptyList( listStyle, element, writer ) {\n\tconst parent = element.parent;\n\tconst list = writer.createElement( listStyle.type );\n\tconst position = parent.getChildIndex( element ) + 1;\n\n\twriter.insertChild( position, list, parent );\n\n\t// We do not support modifying the marker for a particular list item.\n\t// Set the value for the `list-style-type` property directly to the list container.\n\tif ( listStyle.style ) {\n\t\twriter.setStyle( 'list-style-type', listStyle.style, list );\n\t}\n\n\tif ( listStyle.startIndex && listStyle.startIndex > 1 ) {\n\t\twriter.setAttribute( 'start', listStyle.startIndex, list );\n\t}\n\n\treturn list;\n}\n\n// Transforms a given element into a semantic list item. As the function operates on a provided\n// {module:engine/src/view/element~Element element} it will modify the view structure to which this element belongs.\n//\n// @param {module:engine/view/element~Element} element Element which will be transformed into a list item.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\n// @returns {module:engine/view/element~Element} New element to which the given one was transformed. It is\n// inserted in place of the old element (the reference to the old element is lost due to renaming).\nfunction transformElementIntoListItem( element, writer ) {\n\tremoveBulletElement( element, writer );\n\n\treturn writer.rename( 'li', element );\n}\n\n// Extracts list item information from Word specific list-like element style:\n//\n//\t\t`style=\"mso-list:l1 level1 lfo1\"`\n//\n// where:\n//\n//\t\t* `l1` is a list id (however it does not mean this is a continuous list - see #43),\n//\t\t* `level1` is a list item indentation level,\n//\t\t* `lfo1` is a list insertion order in a document.\n//\n// @param {module:engine/view/element~Element} element Element from which style data is extracted.\n// @returns {Object} result\n// @returns {Number} result.id Parent list id.\n// @returns {Number} result.order List item creation order.\n// @returns {Number} result.indent List item indentation level.\nfunction getListItemData( element ) {\n\tconst data = {};\n\tconst listStyle = element.getStyle( 'mso-list' );\n\n\tif ( listStyle ) {\n\t\tconst idMatch = listStyle.match( /(^|\\s{1,100})l(\\d+)/i );\n\t\tconst orderMatch = listStyle.match( /\\s{0,100}lfo(\\d+)/i );\n\t\tconst indentMatch = listStyle.match( /\\s{0,100}level(\\d+)/i );\n\n\t\tif ( idMatch && orderMatch && indentMatch ) {\n\t\t\tdata.id = idMatch[ 2 ];\n\t\t\tdata.order = orderMatch[ 1 ];\n\t\t\tdata.indent = indentMatch[ 1 ];\n\t\t}\n\t}\n\n\treturn data;\n}\n\n// Removes span with a numbering/bullet from a given element.\n//\n// @param {module:engine/view/element~Element} element\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\nfunction removeBulletElement( element, writer ) {\n\t// Matcher for finding `span` elements holding lists numbering/bullets.\n\tconst bulletMatcher = new Matcher( {\n\t\tname: 'span',\n\t\tstyles: {\n\t\t\t'mso-list': 'Ignore'\n\t\t}\n\t} );\n\n\tconst range = writer.createRangeIn( element );\n\n\tfor ( const value of range ) {\n\t\tif ( value.type === 'elementStart' && bulletMatcher.match( value.item ) ) {\n\t\t\twriter.remove( value.item );\n\t\t}\n\t}\n}\n\n// Whether the previous and current items belong to the same list. It is determined based on `item.id`\n// (extracted from `mso-list` style, see #getListItemData) and a previous sibling of the current item.\n//\n// However, it's quite easy to change the `id` attribute for nested lists in Word. It will break the list feature while pasting.\n// Let's check also the `indent` attribute. If the difference between those two elements is equal to 1, we can assume that\n// the `currentItem` is a beginning of the nested list because lists in CKEditor 5 always start with the `indent=0` attribute.\n// See: https://github.com/ckeditor/ckeditor5/issues/7805.\n//\n// @param {Object} previousItem\n// @param {Object} currentItem\n// @returns {Boolean}\nfunction isNewListNeeded( previousItem, currentItem ) {\n\tif ( !previousItem ) {\n\t\treturn true;\n\t}\n\n\tif ( previousItem.id !== currentItem.id ) {\n\t\t// See: https://github.com/ckeditor/ckeditor5/issues/7805.\n\t\t//\n\t\t// * List item 1.\n\t\t// - Nested list item 1.\n\t\tif ( currentItem.indent - previousItem.indent === 1 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tconst previousSibling = currentItem.element.previousSibling;\n\n\tif ( !previousSibling ) {\n\t\treturn true;\n\t}\n\n\t// Even with the same id the list does not have to be continuous (#43).\n\treturn !isList( previousSibling );\n}\n\nfunction isList( element ) {\n\treturn element.is( 'element', 'ol' ) || element.is( 'element', 'ul' );\n}\n\n// Calculates the indentation difference between two given list items (based on the indent attribute\n// extracted from the `mso-list` style, see #getListItemData).\n//\n// @param {Object} previousItem\n// @param {Object} currentItem\n// @returns {Number}\nfunction getIndentationDifference( previousItem, currentItem ) {\n\treturn previousItem ? currentItem.indent - previousItem.indent : currentItem.indent - 1;\n}\n\n// Finds the parent list element (ul/ol) of a given list element with indentation level lower by a given value.\n//\n// @param {module:engine/view/element~Element} listElement List element from which to start looking for a parent list.\n// @param {Number} indentationDifference Indentation difference between lists.\n// @returns {module:engine/view/element~Element} Found list element with indentation level lower by a given value.\nfunction findParentListAtLevel( listElement, indentationDifference ) {\n\tconst ancestors = listElement.getAncestors( { parentFirst: true } );\n\n\tlet parentList = null;\n\tlet levelChange = 0;\n\n\tfor ( const ancestor of ancestors ) {\n\t\tif ( ancestor.name === 'ul' || ancestor.name === 'ol' ) {\n\t\t\tlevelChange++;\n\t\t}\n\n\t\tif ( levelChange === indentationDifference ) {\n\t\t\tparentList = ancestor;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parentList;\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/normalizers/googledocsnormalizer\n */\n\nimport { UpcastWriter } from 'ckeditor5/src/engine';\n\nimport removeBoldWrapper from '../filters/removeboldwrapper';\nimport transformBlockBrsToParagraphs from '../filters/br';\nimport { unwrapParagraphInListItem } from '../filters/list';\n\nconst googleDocsMatch = /id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;\n\n/**\n * Normalizer for the content pasted from Google Docs.\n *\n * @implements module:paste-from-office/normalizer~Normalizer\n */\nexport default class GoogleDocsNormalizer {\n\t/**\n\t * Creates a new `GoogleDocsNormalizer` instance.\n\t *\n\t * @param {module:engine/view/document~Document} document View document.\n\t */\n\tconstructor( document ) {\n\t\t/**\n\t\t * @readonly\n\t\t * @type {module:engine/view/document~Document}\n\t\t */\n\t\tthis.document = document;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tisActive( htmlString ) {\n\t\treturn googleDocsMatch.test( htmlString );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\texecute( data ) {\n\t\tconst writer = new UpcastWriter( this.document );\n\t\tconst { body: documentFragment } = data._parsedData;\n\n\t\tremoveBoldWrapper( documentFragment, writer );\n\t\tunwrapParagraphInListItem( documentFragment, writer );\n\t\ttransformBlockBrsToParagraphs( documentFragment, writer );\n\n\t\tdata.content = documentFragment;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/filters/removeboldwrapper\n */\n\n/**\n * Removes `` tag wrapper added by Google Docs to a copied content.\n *\n * @param {module:engine/view/documentfragment~DocumentFragment} documentFragment element `data.content` obtained from clipboard\n * @param {module:engine/view/upcastwriter~UpcastWriter} writer\n */\nexport default function removeBoldWrapper( documentFragment, writer ) {\n\tfor ( const child of documentFragment.getChildren() ) {\n\t\tif ( child.is( 'element', 'b' ) && child.getStyle( 'font-weight' ) === 'normal' ) {\n\t\t\tconst childIndex = documentFragment.getChildIndex( child );\n\n\t\t\twriter.remove( child );\n\t\t\twriter.insertChild( childIndex, child.getChildren(), documentFragment );\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/filters/image\n */\n\n/* globals btoa */\n\nimport { Matcher, UpcastWriter } from 'ckeditor5/src/engine';\n\n/**\n * Replaces source attribute of all `` elements representing regular\n * images (not the Word shapes) with inlined base64 image representation extracted from RTF or Blob data.\n *\n * @param {module:engine/view/documentfragment~DocumentFragment} documentFragment Document fragment on which transform images.\n * @param {String} rtfData The RTF data from which images representation will be used.\n */\nexport function replaceImagesSourceWithBase64( documentFragment, rtfData ) {\n\tif ( !documentFragment.childCount ) {\n\t\treturn;\n\t}\n\n\tconst upcastWriter = new UpcastWriter();\n\tconst shapesIds = findAllShapesIds( documentFragment, upcastWriter );\n\n\tremoveAllImgElementsRepresentingShapes( shapesIds, documentFragment, upcastWriter );\n\tremoveAllShapeElements( documentFragment, upcastWriter );\n\n\tconst images = findAllImageElementsWithLocalSource( documentFragment, upcastWriter );\n\n\tif ( images.length ) {\n\t\treplaceImagesFileSourceWithInlineRepresentation( images, extractImageDataFromRtf( rtfData ), upcastWriter );\n\t}\n}\n\n/**\n * Converts given HEX string to base64 representation.\n *\n * @protected\n * @param {String} hexString The HEX string to be converted.\n * @returns {String} Base64 representation of a given HEX string.\n */\nexport function _convertHexToBase64( hexString ) {\n\treturn btoa( hexString.match( /\\w{2}/g ).map( char => {\n\t\treturn String.fromCharCode( parseInt( char, 16 ) );\n\t} ).join( '' ) );\n}\n\n// Finds all shapes (`...`) ids. Shapes can represent images (canvas)\n// or Word shapes (which does not have RTF or Blob representation).\n//\n// @param {module:engine/view/documentfragment~DocumentFragment} documentFragment Document fragment\n// from which to extract shape ids.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\n// @returns {Array.} Array of shape ids.\nfunction findAllShapesIds( documentFragment, writer ) {\n\tconst range = writer.createRangeIn( documentFragment );\n\n\tconst shapeElementsMatcher = new Matcher( {\n\t\tname: /v:(.+)/\n\t} );\n\n\tconst shapesIds = [];\n\n\tfor ( const value of range ) {\n\t\tif ( value.type != 'elementStart' ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst el = value.item;\n\t\tconst prevSiblingName = el.previousSibling && el.previousSibling.name || null;\n\n\t\t// If shape element have 'o:gfxdata' attribute and is not directly before `` element it means it represent Word shape.\n\t\tif ( shapeElementsMatcher.match( el ) && el.getAttribute( 'o:gfxdata' ) && prevSiblingName !== 'v:shapetype' ) {\n\t\t\tshapesIds.push( value.item.getAttribute( 'id' ) );\n\t\t}\n\t}\n\n\treturn shapesIds;\n}\n\n// Removes all `` elements which represents Word shapes and not regular images.\n//\n// @param {Array.} shapesIds Shape ids which will be checked against `` elements.\n// @param {module:engine/view/documentfragment~DocumentFragment} documentFragment Document fragment from which to remove `` elements.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\nfunction removeAllImgElementsRepresentingShapes( shapesIds, documentFragment, writer ) {\n\tconst range = writer.createRangeIn( documentFragment );\n\n\tconst imageElementsMatcher = new Matcher( {\n\t\tname: 'img'\n\t} );\n\n\tconst imgs = [];\n\n\tfor ( const value of range ) {\n\t\tif ( imageElementsMatcher.match( value.item ) ) {\n\t\t\tconst el = value.item;\n\t\t\tconst shapes = el.getAttribute( 'v:shapes' ) ? el.getAttribute( 'v:shapes' ).split( ' ' ) : [];\n\n\t\t\tif ( shapes.length && shapes.every( shape => shapesIds.indexOf( shape ) > -1 ) ) {\n\t\t\t\timgs.push( el );\n\t\t\t// Shapes may also have empty source while content is paste in some browsers (Safari).\n\t\t\t} else if ( !el.getAttribute( 'src' ) ) {\n\t\t\t\timgs.push( el );\n\t\t\t}\n\t\t}\n\t}\n\n\tfor ( const img of imgs ) {\n\t\twriter.remove( img );\n\t}\n}\n\n// Removes all shape elements (`...`) so they do not pollute the output structure.\n//\n// @param {module:engine/view/documentfragment~DocumentFragment} documentFragment Document fragment from which to remove shape elements.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\nfunction removeAllShapeElements( documentFragment, writer ) {\n\tconst range = writer.createRangeIn( documentFragment );\n\n\tconst shapeElementsMatcher = new Matcher( {\n\t\tname: /v:(.+)/\n\t} );\n\n\tconst shapes = [];\n\n\tfor ( const value of range ) {\n\t\tif ( value.type == 'elementStart' && shapeElementsMatcher.match( value.item ) ) {\n\t\t\tshapes.push( value.item );\n\t\t}\n\t}\n\n\tfor ( const shape of shapes ) {\n\t\twriter.remove( shape );\n\t}\n}\n\n// Finds all `` elements in a given document fragment which have source pointing to local `file://` resource.\n//\n// @param {module:engine/view/documentfragment~DocumentFragment} documentFragment Document fragment in which to look for `` elements.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\n// @returns {Object} result All found images grouped by source type.\n// @returns {Array.} result.file Array of found `` elements with `file://` source.\n// @returns {Array.} result.blob Array of found `` elements with `blob:` source.\nfunction findAllImageElementsWithLocalSource( documentFragment, writer ) {\n\tconst range = writer.createRangeIn( documentFragment );\n\n\tconst imageElementsMatcher = new Matcher( {\n\t\tname: 'img'\n\t} );\n\n\tconst imgs = [];\n\n\tfor ( const value of range ) {\n\t\tif ( imageElementsMatcher.match( value.item ) ) {\n\t\t\tif ( value.item.getAttribute( 'src' ).startsWith( 'file://' ) ) {\n\t\t\t\timgs.push( value.item );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn imgs;\n}\n\n// Extracts all images HEX representations from a given RTF data.\n//\n// @param {String} rtfData The RTF data from which to extract images HEX representation.\n// @returns {Array.} Array of found HEX representations. Each array item is an object containing:\n//\n// \t\t* {String} hex Image representation in HEX format.\n// \t\t* {string} type Type of image, `image/png` or `image/jpeg`.\nfunction extractImageDataFromRtf( rtfData ) {\n\tif ( !rtfData ) {\n\t\treturn [];\n\t}\n\n\tconst regexPictureHeader = /{\\\\pict[\\s\\S]+?\\\\bliptag-?\\d+(\\\\blipupi-?\\d+)?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)?[\\s}]*?/;\n\tconst regexPicture = new RegExp( '(?:(' + regexPictureHeader.source + '))([\\\\da-fA-F\\\\s]+)\\\\}', 'g' );\n\tconst images = rtfData.match( regexPicture );\n\tconst result = [];\n\n\tif ( images ) {\n\t\tfor ( const image of images ) {\n\t\t\tlet imageType = false;\n\n\t\t\tif ( image.includes( '\\\\pngblip' ) ) {\n\t\t\t\timageType = 'image/png';\n\t\t\t} else if ( image.includes( '\\\\jpegblip' ) ) {\n\t\t\t\timageType = 'image/jpeg';\n\t\t\t}\n\n\t\t\tif ( imageType ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\thex: image.replace( regexPictureHeader, '' ).replace( /[^\\da-fA-F]/g, '' ),\n\t\t\t\t\ttype: imageType\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\n// Replaces `src` attribute value of all given images with the corresponding base64 image representation.\n//\n// @param {Array.} imageElements Array of image elements which will have its source replaced.\n// @param {Array.} imagesHexSources Array of images hex sources (usually the result of `extractImageDataFromRtf()` function).\n// The array should be the same length as `imageElements` parameter.\n// @param {module:engine/view/upcastwriter~UpcastWriter} writer\nfunction replaceImagesFileSourceWithInlineRepresentation( imageElements, imagesHexSources, writer ) {\n\t// Assume there is an equal amount of image elements and images HEX sources so they can be matched accordingly based on existing order.\n\tif ( imageElements.length === imagesHexSources.length ) {\n\t\tfor ( let i = 0; i < imageElements.length; i++ ) {\n\t\t\tconst newSrc = `data:${ imagesHexSources[ i ].type };base64,${ _convertHexToBase64( imagesHexSources[ i ].hex ) }`;\n\t\t\twriter.setAttribute( 'src', newSrc, imageElements[ i ] );\n\t\t}\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/normalizers/mswordnormalizer\n */\n\nimport { transformListItemLikeElementsIntoLists } from '../filters/list';\nimport { replaceImagesSourceWithBase64 } from '../filters/image';\n\nconst msWordMatch1 = //i;\nconst msWordMatch2 = /xmlns:o=\"urn:schemas-microsoft-com/i;\n\n/**\n * Normalizer for the content pasted from Microsoft Word.\n *\n * @implements module:paste-from-office/normalizer~Normalizer\n */\nexport default class MSWordNormalizer {\n\t/**\n\t * Creates a new `MSWordNormalizer` instance.\n\t *\n\t * @param {module:engine/view/document~Document} document View document.\n\t */\n\tconstructor( document ) {\n\t\t/**\n\t\t * @readonly\n\t\t * @type {module:engine/view/document~Document}\n\t\t */\n\t\tthis.document = document;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tisActive( htmlString ) {\n\t\treturn msWordMatch1.test( htmlString ) || msWordMatch2.test( htmlString );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\texecute( data ) {\n\t\tconst { body: documentFragment, stylesString } = data._parsedData;\n\n\t\ttransformListItemLikeElementsIntoLists( documentFragment, stylesString );\n\t\treplaceImagesSourceWithBase64( documentFragment, data.dataTransfer.getData( 'text/rtf' ) );\n\n\t\tdata.content = documentFragment;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/filters/space\n */\n\n/**\n * Replaces last space preceding elements closing tag with ` `. Such operation prevents spaces from being removed\n * during further DOM/View processing (see especially {@link module:engine/view/domconverter~DomConverter#_processDataFromDomText}).\n * This method also takes into account Word specific `` empty tags.\n * Additionally multiline sequences of spaces and new lines between tags are removed (see #39 and #40).\n *\n * @param {String} htmlString HTML string in which spacing should be normalized.\n * @returns {String} Input HTML with spaces normalized.\n */\nexport function normalizeSpacing( htmlString ) {\n\t// Run normalizeSafariSpaceSpans() two times to cover nested spans.\n\treturn normalizeSafariSpaceSpans( normalizeSafariSpaceSpans( htmlString ) )\n\t\t// Remove all \\r\\n from \"spacerun spans\" so the last replace line doesn't strip all whitespaces.\n\t\t.replace( /([^\\S\\r\\n]*?)[\\r\\n]+([^\\S\\r\\n]*<\\/span>)/g, '$1$2' )\n\t\t.replace( /<\\/span>/g, '' )\n\t\t.replace( / <\\//g, '\\u00A0<\\/o:p>/g, '\\u00A0' )\n\t\t// Remove block filler from empty paragraph. Safari uses \\u00A0 instead of  .\n\t\t.replace( /( |\\u00A0)<\\/o:p>/g, '' )\n\t\t// Remove all whitespaces when they contain any \\r or \\n.\n\t\t.replace( />([^\\S\\r\\n]*[\\r\\n]\\s*)<' );\n}\n\n/**\n * Normalizes spacing in special Word `spacerun spans` (`\\s+`) by replacing\n * all spaces with `  ` pairs. This prevents spaces from being removed during further DOM/View processing\n * (see especially {@link module:engine/view/domconverter~DomConverter#_processDataFromDomText}).\n *\n * @param {Document} htmlDocument Native `Document` object in which spacing should be normalized.\n */\nexport function normalizeSpacerunSpans( htmlDocument ) {\n\thtmlDocument.querySelectorAll( 'span[style*=spacerun]' ).forEach( el => {\n\t\tconst innerTextLength = el.innerText.length || 0;\n\n\t\tel.innerText = Array( innerTextLength + 1 ).join( '\\u00A0 ' ).substr( 0, innerTextLength );\n\t} );\n}\n\n// Normalizes specific spacing generated by Safari when content pasted from Word (` `)\n// by replacing all spaces sequences longer than 1 space with `  ` pairs. This prevents spaces from being removed during\n// further DOM/View processing (see especially {@link module:engine/view/domconverter~DomConverter#_processDataFromDomText}).\n//\n// This function is similar to {@link module:clipboard/utils/normalizeclipboarddata normalizeClipboardData util} but uses\n// regular spaces /   sequence for replacement.\n//\n// @param {String} htmlString HTML string in which spacing should be normalized\n// @returns {String} Input HTML with spaces normalized.\nfunction normalizeSafariSpaceSpans( htmlString ) {\n\treturn htmlString.replace( /(\\s+)<\\/span>/g, ( fullMatch, spaces ) => {\n\t\treturn spaces.length === 1 ? ' ' : Array( spaces.length + 1 ).join( '\\u00A0 ' ).substr( 0, spaces.length );\n\t} );\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module paste-from-office/filters/parse\n */\n\n/* globals DOMParser */\n\nimport { DomConverter, ViewDocument } from 'ckeditor5/src/engine';\n\nimport { normalizeSpacing, normalizeSpacerunSpans } from './space';\n\n/**\n * Parses provided HTML extracting contents of `` and `